Index: head/Mk/Scripts/qa.sh =================================================================== --- head/Mk/Scripts/qa.sh (revision 433891) +++ head/Mk/Scripts/qa.sh (revision 433892) @@ -1,813 +1,796 @@ #!/bin/sh # MAINTAINER: portmgr@FreeBSD.org # $FreeBSD$ if [ -z "${STAGEDIR}" -o -z "${PREFIX}" -o -z "${LOCALBASE}" ]; then echo "STAGEDIR, PREFIX, LOCALBASE required in environment." >&2 exit 1 fi [ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_QA}" ] && set -x LF=$(printf '\nX') LF=${LF%X} notice() { echo "Notice: $@" >&2 } warn() { echo "Warning: $@" >&2 } err() { echo "Error: $@" >&2 } list_stagedir_elfs() { cd ${STAGEDIR} && find -s . -type f \( -perm +111 -o -name '*.so*' \) "$@" } shebangonefile() { local f interp rc f="$@" rc=0 # whitelist some files case "${f}" in *.pm|*.pod|*.txt|${STAGEDIR}${LINUXBASE}/*) return 0 ;; esac interp=$(sed -n -e '1s/^#![[:space:]]*\([^[:space:]]*\).*/\1/p;2q' "${f}") case "${interp}" in "") ;; ${LINUXBASE}/*) ;; ${LOCALBASE}/bin/perl5.* | ${PREFIX}/bin/perl5.*) err "'${interp}' is an invalid shebang for '${f#${STAGEDIR}${PREFIX}/}' you must use ${LOCALBASE}/bin/perl." err "Either pass \${PERL} to the build or use USES=shebangfix" rc=1 ;; ${LOCALBASE}/*) ;; ${PREFIX}/*) ;; /bin/csh) ;; /bin/sh) ;; /bin/tcsh) ;; /usr/bin/awk) ;; /usr/bin/env) ;; /usr/bin/nawk) ;; /usr/bin/sed) ;; /usr/sbin/dtrace) ;; *) err "'${interp}' is an invalid shebang you need USES=shebangfix for '${f#${STAGEDIR}${PREFIX}/}'" rc=1 ;; esac return ${rc} } shebang() { local f l link rc rc=0 while read f; do # No results presents a blank line from heredoc. [ -z "${f}" ] && continue shebangonefile "${f}" || rc=1 # Use heredoc to avoid losing rc from find|while subshell done <<-EOF $(find ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin \ ${STAGEDIR}${PREFIX}/libexec ${STAGEDIR}${PREFIX}/www \ -type f -perm +111 2>/dev/null) EOF # Split stat(1) result into 2 lines and read each line separately to # retain spaces in filenames. while read l; do # No results presents a blank line [ -z "${l}" ] && continue read link case "${link}" in /*) f="${STAGEDIR}${link}" ;; *) f="${l%/*}/${link}" ;; esac if [ -f "${f}" ]; then shebangonefile "${f}" || rc=1 fi # Use heredoc to avoid losing rc from find|while subshell done <<-EOF $(find ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin \ ${STAGEDIR}${PREFIX}/libexec ${STAGEDIR}${PREFIX}/www \ -type l -exec stat -f "%N${LF}%Y" {} + 2>/dev/null) EOF return ${rc} } baselibs() { local rc local found_openssl local file [ "${PKGBASE}" = "pkg" -o "${PKGBASE}" = "pkg-devel" ] && return while read f; do case ${f} in File:\ .*) file=${f#File: .} ;; *NEEDED*\[libarchive.so.[56]]) err "Bad linking on ${f##* } for ${file} please add USES=libarchive" rc=1 ;; *NEEDED*\[libedit.so.7]) err "Bad linking on ${f##* } for ${file} please add USES=libedit" rc=1 ;; *NEEDED*\[libcrypto.so.*]|*NEEDED*\[libssl.so.*]) found_openssl=1 ;; esac done <<-EOF $(list_stagedir_elfs -exec readelf -d {} + 2>/dev/null) EOF if [ -z "${USESSSL}" -a -n "${found_openssl}" ]; then warn "you need USES=ssl" elif [ -n "${USESSSL}" -a -z "${found_openssl}" ]; then warn "you may not need USES=ssl" fi return ${rc} } symlinks() { local rc rc=0 # Split stat(1) result into 2 lines and read each line separately to # retain spaces in filenames. while read l; do # No results presents a blank line from heredoc. [ -z "${l}" ] && continue read link case "${link}" in ${STAGEDIR}*) err "Bad symlink '${l#${STAGEDIR}${PREFIX}/}' pointing inside the stage directory" rc=1 ;; /*) # Only warn for symlinks within the package. if [ -e "${STAGEDIR}${link}" ]; then warn "Bad symlink '${l#${STAGEDIR}}' pointing to an absolute pathname '${link}'" fi # Also warn if the symlink exists nowhere. if [ ! -e "${STAGEDIR}${link}" -a ! -e "${link}" ]; then warn "Symlink '${l#${STAGEDIR}}' pointing to '${link}' which does not exist in the stage directory or in localbase" fi ;; esac # Use heredoc to avoid losing rc from find|while subshell. done <<-EOF $(find ${STAGEDIR} -type l -exec stat -f "%N${LF}%Y" {} +) EOF return ${rc} } paths() { local rc rc=0 while read f; do # No results presents a blank line from heredoc. [ -z "${f}" ] && continue # Ignore false-positive/harmless files case "${f}" in */lib/ruby/gems/*) continue ;; */share/texmf-var/web2c/*/*.fmt) continue ;; */share/texmf-var/web2c/*/*.log) continue ;; esac err "'${f#${STAGEDIR}${PREFIX}/}' is referring to ${STAGEDIR}" rc=1 # Use heredoc to avoid losing rc from find|while subshell done <<-EOF $(find ${TMPPLIST} ${STAGEDIR} -type f -exec grep -l "${STAGEDIR}" {} +) EOF return ${rc} } # For now do not raise an error, just warnings stripped() { [ -x /usr/bin/file ] || return # this is fatal [ -n "${STRIP}" ] || return 0 # Split file and result into 2 lines and read separately to ensure # files with spaces are kept intact. # Using readelf -h ... /ELF Header:/ will match on all ELF files. find ${STAGEDIR} -type f ! -name '*.a' ! -name '*.o' \ -exec readelf -S {} + 2>/dev/null | awk '\ /File:/ {sub(/File: /, "", $0); file=$0} \ /SYMTAB/ {print file}' | while read f; do warn "'${f#${STAGEDIR}${PREFIX}/}' is not stripped consider trying INSTALL_TARGET=install-strip or using \${STRIP_CMD}" done } desktopfileutils() { if [ -z "${USESDESKTOPFILEUTILS}" ]; then grep -q MimeType= ${STAGEDIR}${PREFIX}/share/applications/*.desktop 2>/dev/null && warn "you need USES=desktop-file-utils" else grep -q MimeType= ${STAGEDIR}${PREFIX}/share/applications/*.desktop 2>/dev/null || warn "you may not need USES=desktop-file-utils" fi return 0 } sharedmimeinfo() { local f found found=0 for f in ${STAGEDIR}${PREFIX}/share/mime/packages/*.xml; do [ "${f}" = "${STAGEDIR}${PREFIX}/share/mime/packages/*.xml" ] && break #no matches [ "${f}" = "${STAGEDIR}${PREFIX}/share/mime/packages/freedesktop.org.xml" ] && continue found=1 break done if [ -z "${USESSHAREDMIMEINFO}" -a ${found} -eq 1 ]; then warn "you need USES=shared-mime-info" elif [ -n "${USESSHAREDMIMEINFO}" -a ${found} -eq 0 ]; then warn "you may not need USES=shared-mime-info" fi return 0 } suidfiles() { local filelist filelist=`find ${STAGEDIR} -type f \ \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ \( -perm -u+s -or -perm -g+s \)` if [ -n "${filelist}" ]; then warn "setuid files in the stage directory (are these necessary?):" ls -liTd ${filelist} fi return 0 } libtool() { if [ -z "${USESLIBTOOL}" ]; then find ${STAGEDIR} -name '*.la' | while read f; do grep -q 'libtool library' "${f}" && err ".la libraries found, port needs USES=libtool" && return 1 || true done # The return above continues here. fi } libperl() { local has_some_libperl_so files found if [ -n "${SITE_ARCH_REL}" -a -d "${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}" ]; then has_some_libperl_so=0 files=0 while read f; do # No results presents a blank line from heredoc. [ -z "${f}" ] && continue files=$((files+1)) found=`readelf -d ${f} | awk "BEGIN {libperl=1; rpath=10; runpath=100} /NEEDED.*${LIBPERL}/ { libperl = 0 } /RPATH.*perl.*CORE/ { rpath = 0 } /RUNPATH.*perl.*CORE/ { runpath = 0 } END {print libperl+rpath+runpath} "` case "${found}" in *1) warn "${f} is not linked with ${LIBPERL}, not respecting lddlflags?" ;; *0) has_some_libperl_so=1 # Older Perl did not USE_LDCONFIG. if [ ! -f ${LOCALBASE}/${LDCONFIG_DIR}/perl5 ]; then case "${found}" in *1?) warn "${f} does not have a rpath to ${LIBPERL}, not respecting lddlflags?" ;; esac case "${found}" in 1??) warn "${f} does not have a runpath to ${LIBPERL}, not respecting lddlflags?" ;; esac fi ;; esac # Use heredoc to avoid losing rc from find|while subshell done <<-EOT $(find ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} -name '*.so') EOT if [ ${files} -gt 0 -a ${has_some_libperl_so} -eq 0 ]; then err "None of the .so in ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} are linked with ${LIBPERL}, see above for the full list." return 1 else return 0 fi fi } prefixvar() { if [ ${PREFIX} != ${LINUXBASE} -a -d ${STAGEDIR}${PREFIX}/var ]; then warn "port uses ${PREFIX}/var instead of /var" fi } terminfo() { local f found for f in ${STAGEDIR}${PREFIX}/share/misc/*.terminfo; do [ "${f}" = "${STAGEDIR}${PREFIX}/share/misc/*.terminfo" ] && break #no matches found=1 break done for f in ${STAGEDIR}${PREFIX}/share/misc/terminfo.db*; do [ "${f}" = "${STAGEDIR}${PREFIX}/share/misc/terminfo.db*" ] && break #no matches found=1 break done if [ -z "${USESTERMINFO}" -a -n "${found}" ]; then warn "you need USES=terminfo" elif [ -n "${USESTERMINFO}" -a -z "${found}" ]; then warn "you may not need USES=terminfo" fi return 0 } listcontains() { local str lst elt str=$1 lst=$2 for elt in ${lst} ; do if [ ${elt} = ${str} ]; then return 0 fi done return 1 } proxydeps_suggest_uses() { local pkg=$1 local lib_file=$2 # miscellaneous USE clauses if [ ${pkg} = 'devel/gettext-runtime' ]; then warn "you need USES+=gettext-runtime" elif [ ${pkg} = 'databases/sqlite3' ]; then warn "you need USES+=sqlite" elif [ ${pkg} = 'databases/sqlite2' ]; then warn "you need USES+=sqlite:2" # Gnome -> same as port # grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \&\& echo "\\${pkg} = \\\"\2/\3\\\" -o \\\\"|'|sort|sh elif [ ${pkg} = "accessibility/atk" -o \ ${pkg} = "accessibility/atkmm" -o \ ${pkg} = "graphics/cairo" -o \ ${pkg} = "graphics/cairomm" -o \ ${pkg} = "devel/dconf" -o \ ${pkg} = "audio/esound" -o \ ${pkg} = "x11-toolkits/gal2" -o \ ${pkg} = "devel/gconf2" -o \ ${pkg} = "devel/gconfmm26" -o \ ${pkg} = "devel/glib12" -o \ ${pkg} = "devel/glib20" -o \ ${pkg} = "devel/glibmm" -o \ ${pkg} = "audio/gsound" -o \ ${pkg} = "x11-toolkits/gtk12" -o \ ${pkg} = "x11-toolkits/gtk20" -o \ ${pkg} = "x11-toolkits/gtk30" -o \ ${pkg} = "www/gtkhtml3" -o \ ${pkg} = "www/gtkhtml4" -o \ ${pkg} = "x11-toolkits/gtkmm20" -o \ ${pkg} = "x11-toolkits/gtkmm24" -o \ ${pkg} = "x11-toolkits/gtkmm30" -o \ ${pkg} = "x11-toolkits/gtksourceview" -o \ ${pkg} = "x11-toolkits/gtksourceview2" -o \ ${pkg} = "x11-toolkits/gtksourceview3" -o \ ${pkg} = "x11-toolkits/gtksourceviewmm3" -o \ ${pkg} = "devel/libbonobo" -o \ ${pkg} = "x11-toolkits/libbonoboui" -o \ ${pkg} = "databases/libgda4" -o \ ${pkg} = "databases/libgda5" -o \ ${pkg} = "databases/libgda5-ui" -o \ ${pkg} = "databases/libgdamm" -o \ ${pkg} = "databases/libgdamm5" -o \ ${pkg} = "devel/libglade2" -o \ ${pkg} = "x11/libgnome" -o \ ${pkg} = "graphics/libgnomecanvas" -o \ ${pkg} = "x11/libgnomekbd" -o \ ${pkg} = "print/libgnomeprint" -o \ ${pkg} = "x11-toolkits/libgnomeprintui" -o \ ${pkg} = "x11-toolkits/libgnomeui" -o \ ${pkg} = "devel/libgsf" -o \ ${pkg} = "www/libgtkhtml" -o \ ${pkg} = "x11-toolkits/libgtksourceviewmm" -o \ ${pkg} = "graphics/librsvg2" -o \ ${pkg} = "devel/libsigc++12" -o \ ${pkg} = "devel/libsigc++20" -o \ ${pkg} = "x11-toolkits/libwnck" -o \ ${pkg} = "x11-toolkits/libwnck3" -o \ ${pkg} = "textproc/libxml++26" -o \ ${pkg} = "textproc/libxml2" -o \ ${pkg} = "textproc/libxslt" -o \ ${pkg} = "x11-wm/metacity" -o \ ${pkg} = "x11-toolkits/pango" -o \ ${pkg} = "x11-toolkits/pangomm" -o \ ${pkg} = "x11-toolkits/pangox-compat" -o \ ${pkg} = "x11-toolkits/vte" -o \ ${pkg} = "x11-toolkits/vte3" ]; then warn "you need USE_GNOME+=${pkg#*/}" # Gnome different as port # grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \|\| echo "elif [ \\${pkg} = \\\"\2/\3\\\" ]; then; warn \\\"you need USE_GNOME+=\1\\\""|'|sort|sh elif [ ${pkg} = "accessibility/at-spi" ]; then warn "you need USE_GNOME+=atspi" elif [ ${pkg} = "databases/evolution-data-server" ]; then warn "you need USE_GNOME+=evolutiondataserver3" elif [ ${pkg} = "graphics/gdk-pixbuf" ]; then warn "you need USE_GNOME+=gdkpixbuf" elif [ ${pkg} = "graphics/gdk-pixbuf2" ]; then warn "you need USE_GNOME+=gdkpixbuf2" elif [ ${pkg} = "x11/gnome-desktop" ]; then warn "you need USE_GNOME+=gnomedesktop3" elif [ ${pkg} = "accessibility/gnome-speech" ]; then warn "you need USE_GNOME+=gnomespeech" elif [ ${pkg} = "devel/gnome-vfs" ]; then warn "you need USE_GNOME+=gnomevfs2" elif [ ${pkg} = "devel/gobject-introspection" ]; then warn "you need USE_GNOME+=introspection" elif [ ${pkg} = "graphics/libart_lgpl" ]; then warn "you need USE_GNOME+=libartlgpl2" elif [ ${pkg} = "devel/libIDL" ]; then warn "you need USE_GNOME+=libidl" elif [ ${pkg} = "x11-fm/nautilus" ]; then warn "you need USE_GNOME+=nautilus3" elif [ ${pkg} = "devel/ORBit2" ]; then warn "you need USE_GNOME+=orbit2" # mate # grep LIB_DEPENDS= Mk/Uses/mate.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ ${pkg} = "\2/\3" ]; then warn "you need USE_MATE+=\1"|' elif [ ${pkg} = "x11-fm/caja" ]; then warn "you need USE_MATE+=caja" elif [ ${pkg} = "sysutils/mate-control-center" ]; then warn "you need USE_MATE+=controlcenter" elif [ ${pkg} = "x11/mate-desktop" ]; then warn "you need USE_MATE+=desktop" elif [ ${pkg} = "x11/libmatekbd" ]; then warn "you need USE_MATE+=libmatekbd" elif [ ${pkg} = "net/libmateweather" ]; then warn "you need USE_MATE+=libmateweather" elif [ ${pkg} = "x11-wm/marco" ]; then warn "you need USE_MATE+=marco" elif [ ${pkg} = "x11/mate-menus" ]; then warn "you need USE_MATE+=menus" elif [ ${pkg} = "x11/mate-panel" ]; then warn "you need USE_MATE+=panel" elif [ ${pkg} = "sysutils/mate-polkit" ]; then warn "you need USE_MATE+=polkit" # KDE # grep -B1 _LIB= Mk/Uses/kde.mk | grep _PORT=|sed -e 's/^\(.*\)_PORT=[[:space:]]*\([^[:space:]]*\).*/elif [ ${pkg} = "\2" ]; then warn "you need to use USE_KDE+=\1"/' elif [ ${pkg} = "sysutils/baloo" ]; then warn "you need to use USE_KDE+=baloo" elif [ ${pkg} = "sysutils/baloo-widgets" ]; then warn "you need to use USE_KDE+=baloo-widgets" elif [ ${pkg} = "x11/kactivities" ]; then warn "you need to use USE_KDE+=kactivities" elif [ ${pkg} = "editors/kate" ]; then warn "you need to use USE_KDE+=kate" elif [ ${pkg} = "x11/kdelibs4" ]; then warn "you need to use USE_KDE+=kdelibs" elif [ ${pkg} = "sysutils/kfilemetadata" ]; then warn "you need to use USE_KDE+=kfilemetadata" elif [ ${pkg} = "audio/libkcddb" ]; then warn "you need to use USE_KDE+=libkcddb" elif [ ${pkg} = "audio/libkcompactdisc" ]; then warn "you need to use USE_KDE+=libkcompactdisc" elif [ ${pkg} = "graphics/libkdcraw-kde4" ]; then warn "you need to use USE_KDE+=libkdcraw" elif [ ${pkg} = "misc/libkdeedu" ]; then warn "you need to use USE_KDE+=libkdeedu" elif [ ${pkg} = "games/libkdegames" ]; then warn "you need to use USE_KDE+=libkdegames" elif [ ${pkg} = "graphics/libkexiv2-kde4" ]; then warn "you need to use USE_KDE+=libkexiv2" elif [ ${pkg} = "graphics/libkipi-kde4" ]; then warn "you need to use USE_KDE+=libkipi" elif [ ${pkg} = "x11/libkonq" ]; then warn "you need to use USE_KDE+=libkonq" elif [ ${pkg} = "graphics/libksane" ]; then warn "you need to use USE_KDE+=libksane" elif [ ${pkg} = "astro/marble" ]; then warn "you need to use USE_KDE+=marble" elif [ ${pkg} = "sysutils/nepomuk-core" ]; then warn "you need to use USE_KDE+=nepomuk-core" elif [ ${pkg} = "sysutils/nepomuk-widgets" ]; then warn "you need to use USE_KDE+=nepomuk-widgets" elif [ ${pkg} = "graphics/okular" ]; then warn "you need to use USE_KDE+=okular" elif [ ${pkg} = "deskutils/kdepimlibs4" ]; then warn "you need to use USE_KDE+=pimlibs" elif [ ${pkg} = "devel/ruby-qtruby" ]; then warn "you need to use USE_KDE+=qtruby" elif [ ${pkg} = "devel/smokegen" ]; then warn "you need to use USE_KDE+=smokegen" elif [ ${pkg} = "devel/smokekde" ]; then warn "you need to use USE_KDE+=smokekde" elif [ ${pkg} = "devel/smokeqt" ]; then warn "you need to use USE_KDE+=smokeqt" elif [ ${pkg} = "x11/kde4-workspace" ]; then warn "you need to use USE_KDE+=workspace" elif [ ${pkg} = "databases/akonadi" ]; then warn "you need to use USE_KDE+=akonadi" elif [ ${pkg} = "x11-toolkits/attica" ]; then warn "you need to use USE_KDE+=attica" elif [ ${pkg} = "x11/qimageblitz" ]; then warn "you need to use USE_KDE+=qimageblitz" elif [ ${pkg} = "textproc/soprano" ]; then warn "you need to use USE_KDE+=soprano" elif [ ${pkg} = "deskutils/libstreamanalyzer" ]; then warn "you need to use USE_KDE+=strigi" # KDE Frameworks elif [ ${pkg} = "devel/kf5-extra-cmake-modules" ]; then warn "you need to use USE_KDE+=ecm" elif [ ${pkg} = "devel/kf5-kcmutils" ]; then warn "you need to use USE_KDE+=kcmutils" elif [ ${pkg} = "devel/kf5-kdeclarative" ]; then warn "you need to use USE_KDE+=kdeclarative" elif [ ${pkg} = "devel/kf5-kfilemetadata" ]; then warn "you need to use USE_KDE+=filemetadata5" elif [ ${pkg} = "devel/kf5-kio" ]; then warn "you need to use USE_KDE+=kio" elif [ ${pkg} = "devel/kf5-solid" ]; then warn "you need to use USE_KDE+=solid" elif [ ${pkg} = "devel/kf5-threadweaver" ]; then warn "you need to use USE_KDE+=threadweaver" elif [ ${pkg} = "devel/kio-extras-kf5" ]; then warn "you need to use USE_KDE+=kio-extras" elif [ ${pkg} = "graphics/kf5-kimageformats" ]; then warn "you need to use USE_KDE+=kimageformats" elif [ ${pkg} = "lang/kf5-kross" ]; then warn "you need to use USE_KDE+=kross" elif [ ${pkg} = "security/kf5-kdesu" ]; then warn "you need to use USE_KDE+=kdesu" elif [ ${pkg} = "sysutils/kf5-baloo" ]; then warn "you need to use USE_KDE+=baloo5" elif [ ${pkg} = "sysutils/kf5-bluez-qt" ]; then warn "you need to use USE_KDE+=bluez-qt" elif [ ${pkg} = "textproc/kf5-sonnet" ]; then warn "you need to use USE_KDE+=sonnet" elif [ ${pkg} = "www/kf5-kdewebkit" ]; then warn "you need to use USE_KDE+=kdewebkit" elif [ ${pkg} = "www/kf5-khtml" ]; then warn "you need to use USE_KDE+=khtml" elif [ ${pkg} = "x11-themes/kf5-breeze-icons" ]; then warn "you need to use USE_KDE+=breeze-icons" elif [ ${pkg} = "x11-themes/kf5-oxygen-icons5" ]; then warn "you need to use USE_KDE+=oxygen-icons5" elif [ ${pkg} = "x11-toolkits/kf5-attica" ]; then warn "you need to use USE_KDE+=attica5" elif [ ${pkg} = "x11/kf5-frameworkintegration" ]; then warn "you need to use USE_KDE+=frameworkintegration" elif [ ${pkg} = "x11/kf5-kded" ]; then warn "you need to use USE_KDE+=kded" elif [ ${pkg} = "x11/kf5-kdelibs4support" ]; then warn "you need to use USE_KDE+=kdelibs4support" elif [ ${pkg} = "x11/kf5-plasma-framework" ]; then warn "you need to use USE_KDE+=plasma-framework" elif expr ${pkg} : '.*/kf5-.*' > /dev/null; then warn "you need USE_KDE+=$(echo ${pkg} | sed -E 's|.*/kf5-k||')" # sdl-related elif [ ${pkg} = 'devel/sdl12' ]; then warn "you need USE_SDL+=sdl" elif echo ${pkg} | grep -E '/sdl_(console|gfx|image|mixer|mm|net|pango|sound|ttf)$' > /dev/null; then warn "you need USE_SDL+=$(echo ${pkg} | sed -E 's|.*/sdl_||')" elif [ ${pkg} = 'devel/sdl20' ]; then warn "you need USE_SDL+=sdl2" elif echo ${pkg} | grep -E '/sdl2_(gfx|image|mixer|net|ttf)$' > /dev/null; then warn "you need USE_SDL+=$(echo ${pkg} | sed -E 's|.*/sdl2_||')2" # gl-related elif [ ${pkg} = 'graphics/libGL' ]; then warn "you need USE_GL+=gl" elif [ ${pkg} = 'graphics/gbm' ]; then warn "you need USE_GL+=gbm" elif [ ${pkg} = 'graphics/libglesv2' ]; then warn "you need USE_GL+=glesv2" elif [ ${pkg} = 'graphics/libEGL' ]; then warn "you need USE_GL+=egl" elif [ ${pkg} = 'graphics/glew' ]; then warn "you need USE_GL+=glew" elif [ ${pkg} = 'graphics/libGLU' ]; then warn "you need USE_GL+=glu" elif [ ${pkg} = 'graphics/libGLw' ]; then warn "you need USE_GL+=glw" elif [ ${pkg} = 'graphics/freeglut' ]; then warn "you need USE_GL+=glut" # Xorg-libraries: this should be by XORG_MODULES @ bsd.xorg.mk elif echo ${pkg} | grep -E '/lib(X11|Xau|Xdmcp|Xext|SM|ICE|Xfixes|Xft|Xdamage|Xcomposite|Xcursor|Xinerama|Xmu|Xmuu|Xpm|Xt|Xtst|Xi|Xrandr|Xrender|Xres|XScrnSaver|Xv|Xxf86vm|Xxf86dga|Xxf86misc|xcb)$' > /dev/null; then warn "you need USE_XORG+=$(echo ${pkg} | sed -E 's|.*/lib||' | tr '[:upper:]' '[:lower:]')" elif [ ${pkg} = 'x11/pixman' ]; then warn "you need USE_XORG+=pixman" # Qt4 elif expr ${pkg} : '.*/qt4-.*' > /dev/null; then warn "you need USE_QT4+=$(echo ${pkg} | sed -E 's|.*/qt4-||')" elif expr ${pkg} : '.*/.*-qt4' > /dev/null; then warn "you need USE_QT4+=$(echo ${pkg} | sed -E 's|.*/(.*)-qt4|\1|')" # Qt5 elif expr ${pkg} : '.*/qt5-.*' > /dev/null; then warn "you need USE_QT5+=$(echo ${pkg} | sed -E 's|.*/qt5-||')" elif expr ${pkg} : '.*/.*-qt5' > /dev/null; then warn "you need USE_QT5+=$(echo ${pkg} | sed -E 's|.*/(.*)-qt5|\1|')" # MySQL elif expr ${lib_file} : "${LOCALBASE}/lib/mysql/[^/]*$" > /dev/null; then warn "you need USES+=mysql" # postgresql elif expr ${pkg} : "^databases/postgresql.*-client" > /dev/null; then warn "you need USES+=pgsql" # bdb elif expr ${pkg} : "^databases/db[456]" > /dev/null; then warn "you need USES+=bdb" # execinfo elif [ ${pkg} = "devel/libexecinfo" ]; then warn "you need USES+=execinfo" # fam/gamin elif [ ${pkg} = "devel/fam" -o ${pkg} = "devel/gamin" ]; then warn "you need USES+=fam" # firebird elif [ ${pkg} = "databases/firebird25-client" ]; then warn "you need USES+=firebird" # fuse elif [ ${pkg} = "sysutils/fusefs-libs" ]; then warn "you need USES+=fuse" # gnustep elif [ ${pkg} = "lang/gnustep-base" ]; then warn "you need USES+=gnustep and USE_GNUSTEP+=base" elif [ ${pkg} = "x11-toolkits/gnustep-gui" ]; then warn "you need USES+=gnustep and USE_GNUSTEP+=gui" # iconv elif [ ${pkg} = "converters/libiconv" ]; then warn "you need USES+=iconv" # jpeg elif [ ${pkg} = "graphics/jpeg" -o ${pkg} = "graphics/jpeg-turbo" ]; then warn "you need USES+=jpeg" # libarchive elif [ ${pkg} = "archivers/libarchive" ]; then warn "you need USES+=libarchive" elif [ ${pkg} = "devel/libedit" ]; then warn "you need USES+=libedit" # lua elif expr ${pkg} : "^lang/lua" > /dev/null; then warn "you need USES+=lua" # motif elif [ ${pkg} = "x11-toolkits/lesstif" -o ${pkg} = "x11-toolkits/open-motif" ]; then warn "you need USES+=motif" # ncurses elif [ ${pkg} = "devel/ncurses" ]; then warn "you need USES+=ncurses" # objc elif [ ${pkg} = "lang/libobjc2" ]; then warn "you need USES+=objc" # openal elif [ ${pkg} = "audio/openal" -o ${pkg} = "audio/openal-soft" -o ${pkg} = "audio/freealut" ]; then warn "you need USES+=openal" # pure elif [ ${pkg} = "lang/pure" ]; then warn "you need USES+=pure" # readline elif [ ${pkg} = "devel/readline" ]; then warn "you need USES+=readline" # ssl elif [ ${pkg} = "security/openssl" -o ${pkg} = "security/openssl-devel" \ -o ${pkg} = "security/libressl" -o ${pkg} = "security/libressl-devel" \ ]; then warn "you need USES=ssl" # Tcl elif expr ${pkg} : "^lang/tcl" > /dev/null; then warn "you need USES+=tcl" # Tk elif expr ${pkg} : "^x11-toolkits/tk" > /dev/null; then warn "you need USES+=tk" # Xfce # grep LIB_DEPENDS= Mk/Uses/xfce.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ ${pkg} = "\2/\3" ]; then warn "you need USE_XFCE+=\1"|' elif [ ${pkg} = "sysutils/garcon" ]; then warn "you need USE_XFCE+=garcon" elif [ ${pkg} = "x11/libexo" ]; then warn "you need USE_XFCE+=libexo" elif [ ${pkg} = "x11-toolkits/libxfce4gui" ]; then warn "you need USE_XFCE+=libgui" elif [ ${pkg} = "x11/libxfce4menu" ]; then warn "you need USE_XFCE+=libmenu" elif [ ${pkg} = "x11/libxfce4util" ]; then warn "you need USE_XFCE+=libutil" elif [ ${pkg} = "x11-wm/xfce4-panel" ]; then warn "you need USE_XFCE+=panel" elif [ ${pkg} = "x11-fm/thunar" ]; then warn "you need USE_XFCE+=thunar" elif [ ${pkg} = "x11/xfce4-conf" ]; then warn "you need USE_XFCE+=xfconf" # default elif expr ${lib_file} : "${LOCALBASE}/lib/[^/]*$" > /dev/null; then lib_file=${lib_file#${LOCALBASE}/lib/} lib_file=${lib_file%.so*}.so warn "you need LIB_DEPENDS+=${lib_file}:${pkg}" fi } -subst_dep_file() { - local dep_file=$1 - if expr ${dep_file} : "${LOCALBASE}/lib/libGL.so.[0-9]$" > /dev/null; then - if [ -f ${LOCALBASE}/lib/.mesa/libGL.so ]; then - echo ${LOCALBASE}/lib/.mesa/libGL.so - return - fi - elif expr ${dep_file} : "${LOCALBASE}/lib/libEGL.so.[0-9]$" > /dev/null; then - if [ -f ${LOCALBASE}/lib/.mesa/libEGL.so ]; then - echo ${LOCALBASE}/lib/.mesa/libEGL.so - return - fi - fi - echo ${dep_file} -} - proxydeps() { local file dep_file dep_file_pkg already rc rc=0 # Check all dynamicaly linked ELF files # Some .so are not executable, but we want to check them too. while read file; do # No results presents a blank line from heredoc. [ -z "${file}" ] && continue while read dep_file; do # No results presents a blank line from heredoc. [ -z "${dep_file}" ] && continue - dep_file=$(subst_dep_file ${dep_file}) # Skip files we already checked. if listcontains ${dep_file} "${already}"; then continue fi if $(pkg which -q ${dep_file} > /dev/null 2>&1); then dep_file_pkg=$(pkg which -qo ${dep_file}) # Check that the .so we need has a SONAME if [ "${dep_file_pkg}" != "${PKGORIGIN}" ]; then if ! readelf -d "${dep_file}" | grep -q SONAME; then err "${file} is linked to ${dep_file} which does not have a SONAME. ${dep_file_pkg} needs to be fixed." fi fi # If we don't already depend on it, and we don't provide it if ! listcontains ${dep_file_pkg} "${LIB_RUN_DEPENDS} ${PKGORIGIN}"; then err "${file} is linked to ${dep_file} from ${dep_file_pkg} but it is not declared as a dependency" proxydeps_suggest_uses ${dep_file_pkg} ${dep_file} rc=1 fi else err "${file} is linked to ${dep_file} that does not belong to any package" rc=1 fi already="${already} ${dep_file}" done <<-EOT $(ldd -a "${STAGEDIR}${file}" | \ awk '\ BEGIN {section=0}\ /^\// {section++}\ !/^\// && section<=1 && ($3 ~ "^'${PREFIX}'" || $3 ~ "^'${LOCALBASE}'") {print $3}') EOT done <<-EOT $(list_stagedir_elfs | \ file -F $'\1' -f - | \ grep -a 'ELF.*FreeBSD.*dynamically linked' | \ cut -f 1 -d $'\1'| \ sed -e 's/^\.//') EOT [ -z "${PROXYDEPS_FATAL}" ] && return 0 return ${rc} } sonames() { [ ! -d ${STAGEDIR}${PREFIX}/lib -o -n "${BUNDLE_LIBS}" ] && return 0 while read f; do # No results presents a blank line from heredoc. [ -z "${f}" ] && continue # Ignore symlinks [ -f "${f}" -a ! -L "${f}" ] || continue if ! readelf -d ${f} | grep -q SONAME; then warn "${f} doesn't have a SONAME." warn "pkg(8) will not register it as being provided by the port." warn "If another port depend on it, pkg will not be able to know where it comes from." case "${f}" in ${STAGEDIR}${PREFIX}/lib/*/*) warn "It is in a subdirectory, it may not be used in another port." ;; *) warn "It is directly in ${PREFIX}/lib, it is probably used by other ports." ;; esac fi # Use heredoc to avoid losing rc from find|while subshell done <<-EOT $(find ${STAGEDIR}${PREFIX}/lib -name '*.so.*') EOT } perlcore_port_module_mapping() { case "$1" in Net) echo "Net::Config" ;; libwww) echo "LWP" ;; *) echo "$1" | sed -e 's/-/::/g' ;; esac } perlcore() { local portname version module gotsome [ -x "${LOCALBASE}/bin/corelist" ] || return 0 for dep in ${UNIFIED_DEPENDS}; do portname=$(expr "${dep}" : ".*/p5-\(.*\)") if [ -n "${portname}" ]; then gotsome=1 module=$(perlcore_port_module_mapping "${portname}") version=$(expr "${dep}" : ".*>=*\([^:<]*\)") while read l; do case "${l}" in *was\ not\ in\ CORE*) # This never was with Perl # CORE, so nothing to do here ;; *and\ removed*) # This was in Perl CORE but has # been removed since. warn "${dep##*:} was in Perl CORE. Check with \`corelist ${module} ${version}\` and \`corelist -a ${module}\` if it should be conditionally added depending on PERL_LEVEL" ;; *deprecated*in*) # This is in Perl CORE but is # deprecated. warn "${dep##*:} is in Perl CORE but deprecated. Check with \`corelist ${module} ${version}\` and \`corelist -a ${module}\` if the dependency is really needed or if it should be conditionally added depending on PERL_LEVEL" ;; *was\ first\ released*) # This is in Perl CORE and is # maybe not needed. warn "${dep##*:} is present in Perl CORE. Check with \`corelist ${module} ${version}\` and \`corelist -a ${module}\` if the dependency is really needed or if it should be conditionally added depending on PERL_LEVEL" ;; *) err "This line is not handled: \"${l}\"" esac done <<-EOT $(${LOCALBASE}/bin/corelist "${module}"|tail -1) EOT fi done if [ -n "${gotsome}" ] && ! pkg info -e devel/p5-Module-CoreList; then notice "You have some Perl modules as dependencies but you do not have devel/p5-Module-CoreList installed, the perlcore QA check gets better results when using it, especially with older Perl versions." fi } checks="shebang symlinks paths stripped desktopfileutils sharedmimeinfo" checks="$checks suidfiles libtool libperl prefixvar baselibs terminfo" checks="$checks proxydeps sonames perlcore" ret=0 cd ${STAGEDIR} for check in ${checks}; do ${check} || ret=1 done exit ${ret} Index: head/graphics/libEGL/pkg-deinstall =================================================================== --- head/graphics/libEGL/pkg-deinstall (revision 433891) +++ head/graphics/libEGL/pkg-deinstall (nonexistent) @@ -1,12 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PREFIX="${PKG_PREFIX-/usr/local}" - -case $2 in -DEINSTALL) - /bin/rm -f ${PREFIX}/lib/libEGL.so* - ;; -esac Property changes on: head/graphics/libEGL/pkg-deinstall ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -1 \ No newline at end of property Index: head/graphics/libEGL/pkg-install =================================================================== --- head/graphics/libEGL/pkg-install (revision 433891) +++ head/graphics/libEGL/pkg-install (nonexistent) @@ -1,19 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PREFIX="${PKG_PREFIX-/usr/local}" - -case $2 in -POST-INSTALL) - if [ -f ${PREFIX}/lib/.nvidia/libEGL.so.1 ]; then - /bin/ln -f ${PREFIX}/lib/.nvidia/libEGL.so.1 ${PREFIX}/lib/libEGL.so - /bin/ln -f ${PREFIX}/lib/.nvidia/libEGL.so.1 ${PREFIX}/lib/libEGL.so.1 - else - /bin/ln -f ${PREFIX}/lib/.mesa/libEGL.so.1.0.0 ${PREFIX}/lib/libEGL.so - /bin/ln -f ${PREFIX}/lib/.mesa/libEGL.so.1.0.0 ${PREFIX}/lib/libEGL.so.1 - /bin/ln -f ${PREFIX}/lib/.mesa/libEGL.so.1.0.0 ${PREFIX}/lib/libEGL.so.1.0.0 - fi - ;; -esac Property changes on: head/graphics/libEGL/pkg-install ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -1 \ No newline at end of property Index: head/graphics/libEGL/Makefile =================================================================== --- head/graphics/libEGL/Makefile (revision 433891) +++ head/graphics/libEGL/Makefile (revision 433892) @@ -1,35 +1,30 @@ # Created by: kwm@FreeBSD.org # $FreeBSD$ PORTNAME= libEGL PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= graphics COMMENT= OpenEGL library LIB_DEPENDS+= libpthread-stubs.so:devel/libpthread-stubs \ libexpat.so:textproc/expat2 \ libdrm.so:graphics/libdrm USE_GL= gbm USE_XORG= x11 xau xcb xdmcp # stuff not needed by libEGL but configure wants it USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \ xshmfence .include .include "${.CURDIR}/../../graphics/libGL/Makefile.common" MESA_BUILD_WRKSRC= src/mapi src/gbm src/egl/ MESA_INSTALL_WRKSRC= src/egl .include "${.CURDIR}/../../graphics/libGL/Makefile.targets" - -post-install: - @${MKDIR} ${STAGEDIR}${PREFIX}/lib/.mesa - @${MV} ${STAGEDIR}${PREFIX}/lib/libEGL* \ - ${STAGEDIR}${PREFIX}/lib/.mesa/ .include Index: head/graphics/libEGL/pkg-plist =================================================================== --- head/graphics/libEGL/pkg-plist (revision 433891) +++ head/graphics/libEGL/pkg-plist (revision 433892) @@ -1,10 +1,10 @@ include/EGL/egl.h include/EGL/eglext.h include/EGL/eglextchromium.h include/EGL/eglmesaext.h include/EGL/eglplatform.h include/KHR/khrplatform.h -lib/.mesa/libEGL.so -lib/.mesa/libEGL.so.1 -lib/.mesa/libEGL.so.1.0.0 +lib/libEGL.so +lib/libEGL.so.1 +lib/libEGL.so.1.0.0 libdata/pkgconfig/egl.pc Index: head/graphics/libGL/pkg-deinstall =================================================================== --- head/graphics/libGL/pkg-deinstall (revision 433891) +++ head/graphics/libGL/pkg-deinstall (nonexistent) @@ -1,12 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PREFIX="${PKG_PREFIX-/usr/local}" - -case $2 in -DEINSTALL) - /bin/rm -f ${PREFIX}/lib/libGL.so* - ;; -esac Property changes on: head/graphics/libGL/pkg-deinstall ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/graphics/libGL/pkg-install =================================================================== --- head/graphics/libGL/pkg-install (revision 433891) +++ head/graphics/libGL/pkg-install (nonexistent) @@ -1,19 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PREFIX="${PKG_PREFIX-/usr/local}" - -case $2 in -POST-INSTALL) - if [ -f ${PREFIX}/lib/.nvidia/libGL.so.1 ]; then - /bin/ln -f ${PREFIX}/lib/.nvidia/libGL.so.1 ${PREFIX}/lib/libGL.so - /bin/ln -f ${PREFIX}/lib/.nvidia/libGL.so.1 ${PREFIX}/lib/libGL.so.1 - else - /bin/ln -f ${PREFIX}/lib/.mesa/libGL.so.1.2.0 ${PREFIX}/lib/libGL.so - /bin/ln -f ${PREFIX}/lib/.mesa/libGL.so.1.2.0 ${PREFIX}/lib/libGL.so.1 - /bin/ln -f ${PREFIX}/lib/.mesa/libGL.so.1.2.0 ${PREFIX}/lib/libGL.so.1.2.0 - fi - ;; -esac Property changes on: head/graphics/libGL/pkg-install ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/graphics/libGL/Makefile =================================================================== --- head/graphics/libGL/Makefile (revision 433891) +++ head/graphics/libGL/Makefile (revision 433892) @@ -1,33 +1,30 @@ # Created by: Eric Anholt # $FreeBSD$ PORTNAME= libGL PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= graphics COMMENT= OpenGL library that renders using GLX or DRI LIB_DEPENDS+= libdrm.so:graphics/libdrm \ libglapi.so:graphics/libglapi \ libexpat.so:textproc/expat2 USE_XORG= dri2proto dri3proto glproto presentproto x11 xcb xdamage xext \ xfixes xshmfence xxf86vm .include .include "${.CURDIR}/Makefile.common" MESA_BUILD_WRKSRC= src/mapi src/glx MESA_INSTALL_WRKSRC= src/glx .include "${.CURDIR}/Makefile.targets" post-install: - @${MKDIR} ${STAGEDIR}${PREFIX}/lib/.mesa - @${MV} ${STAGEDIR}${PREFIX}/lib/libGL* \ - ${STAGEDIR}${PREFIX}/lib/.mesa/ @cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \ ${MAKE_CMD} install-pkgconfigDATA install-glHEADERS install-glxHEADERS .include Index: head/graphics/libGL/pkg-plist =================================================================== --- head/graphics/libGL/pkg-plist (revision 433891) +++ head/graphics/libGL/pkg-plist (revision 433892) @@ -1,11 +1,11 @@ include/GL/gl.h include/GL/gl_mangle.h include/GL/glcorearb.h include/GL/glext.h include/GL/glx.h include/GL/glx_mangle.h include/GL/glxext.h -lib/.mesa/libGL.so -lib/.mesa/libGL.so.1 -lib/.mesa/libGL.so.1.2.0 +lib/libGL.so +lib/libGL.so.1 +lib/libGL.so.1.2.0 libdata/pkgconfig/gl.pc Index: head/graphics/libglesv2/pkg-deinstall =================================================================== --- head/graphics/libglesv2/pkg-deinstall (revision 433891) +++ head/graphics/libglesv2/pkg-deinstall (nonexistent) @@ -1,12 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PREFIX="${PKG_PREFIX-/usr/local}" - -case $2 in -DEINSTALL) - /bin/rm -f ${PREFIX}/lib/libGLESv2.so* - ;; -esac Property changes on: head/graphics/libglesv2/pkg-deinstall ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -1 \ No newline at end of property Index: head/graphics/libglesv2/pkg-install =================================================================== --- head/graphics/libglesv2/pkg-install (revision 433891) +++ head/graphics/libglesv2/pkg-install (nonexistent) @@ -1,19 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PREFIX="${PKG_PREFIX-/usr/local}" - -case $2 in -POST-INSTALL) - if [ -f ${PREFIX}/lib/.nvidia/libGLESv2.so.2 ]; then - /bin/ln -f ${PREFIX}/lib/.nvidia/libGLESv2.so.2 ${PREFIX}/lib/libGLESv2.so - /bin/ln -f ${PREFIX}/lib/.nvidia/libGLESv2.so.2 ${PREFIX}/lib/libGLESv2.so.2 - else - /bin/ln -f ${PREFIX}/lib/.mesa/libGLESv2.so.2.0.0 ${PREFIX}/lib/libGLESv2.so - /bin/ln -f ${PREFIX}/lib/.mesa/libGLESv2.so.2.0.0 ${PREFIX}/lib/libGLESv2.so.2 - /bin/ln -f ${PREFIX}/lib/.mesa/libGLESv2.so.2.0.0 ${PREFIX}/lib/libGLESv2.so.2.0.0 - fi - ;; -esac Property changes on: head/graphics/libglesv2/pkg-install ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -1 \ No newline at end of property Index: head/graphics/libglesv2/Makefile =================================================================== --- head/graphics/libglesv2/Makefile (revision 433891) +++ head/graphics/libglesv2/Makefile (revision 433892) @@ -1,34 +1,29 @@ # Created by: kwm@FreeBSD.org # $FreeBSD$ PORTNAME= libglesv2 PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= graphics COMMENT= OpenGL ES v2 library LICENSE= MIT LIB_DEPENDS+= libdrm.so:graphics/libdrm \ libglapi.so:graphics/libglapi \ libexpat.so:textproc/expat2 # stuff not needed by libglesv2 but configure wants it USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \ xshmfence .include .include "${.CURDIR}/../../graphics/libGL/Makefile.common" BUILD_WRKSRC= ${WRKSRC}/src/mapi INSTALL_WRKSRC= ${WRKSRC}/src/mapi .include "${.CURDIR}/../../graphics/libGL/Makefile.targets" - -post-install: - @${MKDIR} ${STAGEDIR}${PREFIX}/lib/.mesa - @${MV} ${STAGEDIR}${PREFIX}/lib/libGLESv2.so* \ - ${STAGEDIR}${PREFIX}/lib/.mesa/ .include Index: head/graphics/libglesv2/pkg-plist =================================================================== --- head/graphics/libglesv2/pkg-plist (revision 433891) +++ head/graphics/libglesv2/pkg-plist (revision 433892) @@ -1,15 +1,15 @@ include/GLES2/gl2.h include/GLES2/gl2ext.h include/GLES2/gl2platform.h include/GLES3/gl3.h include/GLES3/gl31.h include/GLES3/gl32.h include/GLES3/gl3ext.h include/GLES3/gl3platform.h -lib/.mesa/libGLESv2.so -lib/.mesa/libGLESv2.so.2 -lib/.mesa/libGLESv2.so.2.0.0 +lib/libGLESv2.so +lib/libGLESv2.so.2 +lib/libGLESv2.so.2.0.0 @comment lib/libglapi.so @comment lib/libglapi.so.0 @comment lib/libglapi.so.0.0.0 libdata/pkgconfig/glesv2.pc Index: head/x11/nvidia-driver/Makefile =================================================================== --- head/x11/nvidia-driver/Makefile (revision 433891) +++ head/x11/nvidia-driver/Makefile (revision 433892) @@ -1,281 +1,298 @@ # Created by: Stijn Hoop # $FreeBSD$ # # For those wondering why this port is not under `x11-drivers' category, # have a look at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=121930. # # Starting with version 1.0-7667, NVidia has dropped support for numerous # "legacy" GPUs. Consult NVidia README (the Appendix) to find out whether # you need to use legacy driver version and install one of corresponding # slave ports instead (`x11/nvidia-driver-340' or `x11/nvidia-driver-304'). PORTNAME= nvidia-driver DISTVERSION?= 375.26 # Always try to set PORTREVISION as it can be overridden by the slave ports -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES= x11 MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION} DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION} MAINTAINER= danfe@FreeBSD.org COMMENT= NVidia graphics card binary drivers for hardware OpenGL rendering LICENSE= NVIDIA LICENSE_NAME= License For Customer Use of NVIDIA Software LICENSE_FILE= ${WRKSRC}/doc/license.txt LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept ONLY_FOR_ARCHS= i386 amd64 ARCH_SUFX= x86${ARCH:S/i386//:S/amd/_/} USES= kmod uidfix USE_XORG= x11 xorg-server xext USE_GL= gl USE_LDCONFIG= yes # NVIDIA_ROOT is not set in src/Makefile, which results in bogus -I/src # passed to compiler and broken build on HEAD since r221320 when option # -Wmissing-include-dirs was added for kernel sources. Until properly # fixed upstream (across all versions, including legacy ones), use this # hack below to universally set NVIDIA_ROOT. Also provide X11BASE value # since it is still used by legacy drivers. MAKE_ENV= NVIDIA_ROOT=${WRKSRC} X11BASE=${LOCALBASE} -SUB_FILES= pkg-deinstall pkg-install pkg-message +SUB_FILES= pkg-deinstall pkg-install pkg-message nvidia.conf DOCSDIR= ${PREFIX}/share/doc/NVIDIA_GLX-1.0 MODULESDIR= lib/xorg/modules PORTDOCS= * # NVVERSION is float since r372065 (integer values become less readable # after minor version could occupy three digits) .if ${DISTVERSION:C/[0-9]+//g} == ".." # major.minor.update NVVERSION= ${DISTVERSION:S/./.0/:R}${DISTVERSION:E} .else # major.minor . if ${DISTVERSION:E} < 100 NVVERSION= ${DISTVERSION:S/./.0/} # allow minor > 99 . else NVVERSION= ${DISTVERSION} . endif .endif +.if ${NVVERSION} >= 331.013 +SUB_LIST= NVGL="" +.else +SUB_LIST= NVGL="# " +.endif + .if ${NVVERSION} < 355.006 EXTRA_PATCHES= ${FILESDIR}/extra-patch-src-Makefile \ ${FILESDIR}/extra-patch-src-nv-freebsd.h \ ${FILESDIR}/extra-patch-src-nv-misc.h NVSRC= . .else EXTRA_PATCHES= ${FILESDIR}/extra-patch-src_nvidia_Makefile \ ${FILESDIR}/extra-patch-src_nvidia_nv-freebsd.h \ ${FILESDIR}/extra-patch-src_nvidia_nv-misc.h NVSRC= nvidia .endif .if ${NVVERSION} >= 358.009 # Initialize memory allocations to avoid spurious "lock re-initialization" # errors. A little more detail can be found in bug 201340 starting around # comment #50. EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_nvidia-modeset_nvidia-modeset-freebsd.c .endif OPTIONS_DEFINE= ACPI_PM LINUX WBINVD DOCS OPTIONS_DEFINE_i386= PAE OPTIONS_DEFAULT= LINUX ACPI_PM_DESC= ACPI Power Management support LINUX_DESC= Linux compatibility support PAE_DESC= Physical Address Extensions support WBINVD_DESC= Flush CPU caches directly with WBINVD .if ${NVVERSION} < 310.014 OPTIONS_DEFINE+= FREEBSD_AGP FREEBSD_AGP_DESC= Use FreeBSD AGP GART driver .endif PLIST_SUB+= LINUXBASE=${LINUXBASE} SHLIB_VERSION=${PORTVERSION} \ MODULESDIR=${MODULESDIR} .include .if ${PORT_OPTIONS:MLINUX} CONFLICTS_INSTALL= linux[-_]dri-[0-9]* linux-f10-dri-[0-9]* USES+= linux USE_LINUX= base:build,run xorglibs PLIST_SUB+= LINUX="" .else PLIST_SUB+= LINUX="@comment " # Propagate WITHOUT_LINUX variable down to inner Makefiles MAKE_ENV+= WITHOUT_LINUX=yes .endif post-patch: .SILENT # We should support -CURRENT: kill the check ${REINPLACE_CMD} -e '24,26d' ${WRKSRC}/src/${NVSRC}/nv-freebsd.h # Adjust Linux headers #include's after FreeBSD src r246085 .if ${OSVERSION} > 1000027 ${REINPLACE_CMD} -E '/#include "machine\/\.\.\/linux(32)?\/linux.h"/ \ { x ; s/.*/#include "machine\/..\/..\/compat\/linux\/linux_ioctl.h"/ ; H ; x ; }' \ ${WRKSRC}/src/${NVSRC}/nvidia_linux.c .endif # Adjust `vm_object' locking after FreeBSD src r248084 .if ${OSVERSION} > 1000029 ${REINPLACE_CMD} -e '/#include / \ { x ; s/.*/#include / ; G ; }' \ ${WRKSRC}/src/${NVSRC}/nv-freebsd.h ${REINPLACE_CMD} -E 's/(VM_OBJECT_)(UN)?(LOCK)/\1W\2\3/' \ ${WRKSRC}/src/${NVSRC}/nvidia_subr.c .endif # Adjust kmem(9) calls after FreeBSD src r254025 .if ${OSVERSION} > 1000040 && ${NVVERSION} < 331.067 ${REINPLACE_CMD} -e '/kmem_/s/kernel_map/kernel_arena/' \ ${WRKSRC}/src/${NVSRC}/nvidia_subr.c .endif # Chase `sys/capability.h' rename to `sys/capsicum.h' in FreeBSD src r263232 .if ${OSVERSION} > 1100013 || ${OSVERSION} > 1001510 && ${OSVERSION} < 1100000 ${REINPLACE_CMD} -e 's:sys/capability\.h:sys/capsicum.h:' \ ${WRKSRC}/src/${NVSRC}/nv-freebsd.h . if ${NVVERSION} >= 358.009 ${REINPLACE_CMD} -e 's:sys/capability\.h:sys/capsicum.h:' \ ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c . endif .endif # Fix CTLFLAG_* values for SYSCTL_ADD_PROC() after FreeBSD src r273377 .if ${OSVERSION} > 1100039 || ${OSVERSION} > 1001501 && ${OSVERSION} < 1100000 ${REINPLACE_CMD} -e '/SYSCTL_ADD_PROC/,/;/ \ s/^[[:blank:]]*CTLFLAG_RD/CTLTYPE_STRING |&/' \ ${WRKSRC}/src/${NVSRC}/nvidia_sysctl.c .endif # Replace `d_thread_t' (FreeBSD 4 support compat shim) with `struct thread' ${REINPLACE_CMD} -e 's/d_thread_t/struct thread/' \ ${WRKSRC}/src/${NVSRC}/nvidia_ctl.c \ ${WRKSRC}/src/${NVSRC}/nvidia_dev.c \ ${WRKSRC}/src/${NVSRC}/nvidia_linux.c .if ${NVVERSION} >= 358.009 ${REINPLACE_CMD} -e 's/d_thread_t/struct thread/' \ ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c .endif # Respect WITHOUT_LINUX setting ${REINPLACE_CMD} -e 's/exists(\/.*/& \&\& !defined(WITHOUT_LINUX)/' \ ${WRKSRC}/lib/Makefile # Do not install VDPAU libraries which are provided by `multimedia/libvdpau' # port for a while now ${REINPLACE_CMD} -e '/libvdpau[[:blank:]_][^n]/d ; \ s/name libvdpau/&_nvidia/' ${WRKSRC}/lib/Makefile # Do not build any binaries (native nvidia-settings and nvidia-xconfig are # provided by corresponding ports) and manual pages ${REINPLACE_CMD} -E 's/(extension).*/\1/' ${WRKSRC}/x11/Makefile ${REINPLACE_CMD} -e '/bin/d ; /man/d' ${WRKSRC}/x11/Makefile # Also do not install libnvidia-gtk* libraries which are for nvidia-settings .if ${NVVERSION} >= 346.016 ${REINPLACE_CMD} -e '/libnvidia-gtk/d' ${WRKSRC}/lib/Makefile .endif -# Adjust installation paths of some conflicting files (shared also between -# libGL, libEGL, libGLESv2, and xorg-server) to ease package manager work +# Adjust installation path of a conflicting file (shared between +# nvidia-driver and xorg-server) to ease package manager work ${REINPLACE_CMD} -e '/LIBDIR/s:xorg/modules/extensions:&/.nvidia:' \ ${WRKSRC}/x11/extension/Makefile - ${REINPLACE_CMD} -e '/LIBDIR/s:lib:&/.nvidia:' \ - ${WRKSRC}/lib/libGL/Makefile -.if ${NVVERSION} >= 331.013 - ${REINPLACE_CMD} -e '/LIBDIR/s:lib:&/.nvidia:' \ - ${WRKSRC}/lib/libEGL/Makefile \ - ${WRKSRC}/lib/libGLESv2/Makefile -.endif # Do not execute afterinstall target (prevent automatic module registration # and "smart" installation of conflicting files heuristics) ${REINPLACE_CMD} -e 's/afterinstall/&_dontexecute/' ${WRKSRC}/Makefile ${REINPLACE_CMD} -e 's/beforeinstall/&_dontexecute/' \ ${WRKSRC}/lib/Makefile ${WRKSRC}/src/${NVSRC}/Makefile # /usr/share/nvidia path is hardcoded in libGL and nvidia-settings, but we # won't adhere to this stupidity and install nvidia-application-profiles-* # files as part of documentation .if ${NVVERSION} >= 334.016 ${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \ ${WRKSRC}/lib/libGL/Makefile ${WRKSRC}/doc/Makefile .endif # New `cap_rights_t' structure was introduced in FreeBSD src r255219 .if ${OSVERSION} < 1000053 && ${NVVERSION} >= 358.009 ${REINPLACE_CMD} '//d ; /cap_rights_t rights/d ; s/cap_rights_init(&rights, CAP_IOCTL)/CAP_IOCTL/' \ ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c .endif # Finally, process OPTIONS .if ${PORT_OPTIONS:MFREEBSD_AGP} ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \ ${WRKSRC}/src/${NVSRC}/nv-freebsd.h .endif .if ${PORT_OPTIONS:MACPI_PM} ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_ACPI_PM)/define \1/' \ ${WRKSRC}/src/${NVSRC}/nv-freebsd.h .endif .if ! ${PORT_OPTIONS:MLINUX} ${REINPLACE_CMD} -E 's/define (NV_SUPPORT_LINUX_COMPAT)/undef \1/' \ ${WRKSRC}/src/${NVSRC}/nv-freebsd.h . if ${NVVERSION} >= 358.009 ${REINPLACE_CMD} -E 's/define (NVKMS_SUPPORT_LINUX_COMPAT)/undef \1/' \ ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c . endif .endif .if ${PORT_OPTIONS:MPAE} ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_PAE)/define \1/' \ ${WRKSRC}/src/${NVSRC}/nv-freebsd.h .endif .if ${PORT_OPTIONS:MWBINVD} ${REINPLACE_CMD} -E 's/undef (NV_USE_WBINVD)/define \1/' \ ${WRKSRC}/src/${NVSRC}/nv-freebsd.h .endif # Conditionally install documentation (but you generally want it) .if ! ${PORT_OPTIONS:MDOCS} ${REINPLACE_CMD} -E 's/(x11).*/\1/ ; /doc/d' ${WRKSRC}/Makefile .endif pre-install: @${MKDIR} ${STAGEDIR}${PREFIX}/${MODULESDIR}/drivers \ ${STAGEDIR}${PREFIX}/${MODULESDIR}/extensions post-install: .SILENT ${INSTALL_SCRIPT} ${WRKSRC}/obj/nvidia-bug-report.sh \ ${STAGEDIR}${PREFIX}/bin # pkg-plist is already overbloated, so use these hacks instead of PLIST_SUB's .if ${NVVERSION} >= 304.128 && ${NVVERSION} < 310.019 || ${NVVERSION} >= 361.016 ${REINPLACE_CMD} -E '/libvdpau(_trace)?\.so/d' ${TMPPLIST} .endif .if ${NVVERSION} >= 310.019 ${REINPLACE_CMD} -e '/libXvMCNVIDIA/d' ${TMPPLIST} .else # some applications need this symlink (see PR ports/72877) ${LN} -sf libXvMCNVIDIA.so.1 \ ${STAGEDIR}${PREFIX}/lib/libXvMCNVIDIA_dynamic.so.1 .endif .if ${NVVERSION} < 331.013 || ${ARCH} == amd64 && ${NVVERSION} < 334.016 ${REINPLACE_CMD} -E '/lib(nvidia-)?(EGL|eglcore|GLESv|glsi)/d' \ ${TMPPLIST} .endif .if ${NVVERSION} < 352.009 ${REINPLACE_CMD} -E '/(lib)?nvidia-(debugdump|smi|ml)/d' ${TMPPLIST} .endif .if ${NVVERSION} < 355.006 ${REINPLACE_CMD} -E '/(libEGL_nvidia|GLdispatch|OpenGL)/d' ${TMPPLIST} .else ${REINPLACE_CMD} 's/libEGL\.so\.${PORTVERSION}/libEGL.so/' \ ${TMPPLIST} .endif .if ${NVVERSION} < 358.009 ${REINPLACE_CMD} '/nvidia-modeset.ko/d' ${TMPPLIST} .endif .if ${NVVERSION} >= 361.028 ${REINPLACE_CMD} -E '/(EGL_nvidia\.so|GLESv[12](_CM)?(\.so\.[0-9]+\.[0-9]+))$$/d' \ ${TMPPLIST} .else ${REINPLACE_CMD} -E '/\/lib\/libGLESv[12](_CM)?(\.so)?(_nvidia.so(\.[0-9]|\.[0-9]+\.[0-9]+)?)?$$/d ; \ /libEGL_nvidia\.so\.${PORTVERSION}/d' ${TMPPLIST} .endif +# rename libGL.so, libEGL.so and libGLESv2.so + ${MV} -f ${STAGEDIR}${PREFIX}/lib/libGL.so \ + ${STAGEDIR}${PREFIX}/lib/libGL-NVIDIA.so + ${MV} -f ${STAGEDIR}${PREFIX}/lib/libGL.so.1 \ + ${STAGEDIR}${PREFIX}/lib/libGL-NVIDIA.so.1 +.if ${NVVERSION} >= 331.013 + ${MV} -f ${STAGEDIR}${PREFIX}/lib/libEGL.so \ + ${STAGEDIR}${PREFIX}/lib/libEGL-NVIDIA.so + ${MV} -f ${STAGEDIR}${PREFIX}/lib/libEGL.so.1 \ + ${STAGEDIR}${PREFIX}/lib/libEGL-NVIDIA.so.1 + ${MV} -f ${STAGEDIR}${PREFIX}/lib/libGLESv2.so \ + ${STAGEDIR}${PREFIX}/lib/libGLESv2-NVIDIA.so + ${MV} -f ${STAGEDIR}${PREFIX}/lib/libGLESv2.so.2 \ + ${STAGEDIR}${PREFIX}/lib/libGLESv2-NVIDIA.so.2 +.endif + @${MKDIR} ${STAGEDIR}${PREFIX}/etc/libmap.d/ + ${INSTALL_DATA} ${WRKDIR}/nvidia.conf \ + ${STAGEDIR}${PREFIX}/etc/libmap.d/ # Target below can be used instead of standard `makesum' to correctly # update distinfo (i.e., keeping other driver version entries intact) .if ${.TARGETS:Mupdate-distinfo} DISTINFO_FILE= ${MASTERDIR}/distinfo.new .endif update-distinfo: makesum .SILENT ${REINPLACE_CMD} -e '/${ARCH_SUFX}-${NVVERSION:R}/s/^/~/' \ ${MASTERDIR}/distinfo ${REINPLACE_CMD} -e '/^~SHA256/r ${DISTINFO_FILE}' -e '/^~/d' \ ${MASTERDIR}/distinfo ${RM} ${DISTINFO_FILE} ${MASTERDIR}/distinfo.bak .include Index: head/x11/nvidia-driver/files/nvidia.conf.in =================================================================== --- head/x11/nvidia-driver/files/nvidia.conf.in (nonexistent) +++ head/x11/nvidia-driver/files/nvidia.conf.in (revision 433892) @@ -0,0 +1,11 @@ +# libmap.conf file for nvidia provide libraries + +libGL.so libGL-NVIDIA.so +libGL.so.1 libGL-NVIDIA.so.1 + +%%NVGL%%libEGL.so libEGL-NVIDIA.so +%%NVGL%%libEGL.so.1 libEGL-NVIDIA.so.1 + +%%NVGL%%libGLESv2.so libGLESv2-NVIDIA.so +%%NVGL%%libGLESv2.so.2 libGLESv2-NVIDIA.so.2 + Property changes on: head/x11/nvidia-driver/files/nvidia.conf.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +1 \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/x11/nvidia-driver/files/pkg-deinstall.in =================================================================== --- head/x11/nvidia-driver/files/pkg-deinstall.in (revision 433891) +++ head/x11/nvidia-driver/files/pkg-deinstall.in (revision 433892) @@ -1,33 +1,15 @@ #!/bin/sh # # $FreeBSD$ # PREFIX=${PKG_PREFIX-/usr/local} case $2 in DEINSTALL) - /bin/rm -f ${PREFIX}/lib/libGL.so* /bin/rm -f ${PREFIX}/lib/xorg/modules/extensions/libglx.so* - /bin/ln -f ${PREFIX}/lib/.mesa/libGL.so.1.2.0 ${PREFIX}/lib/libGL.so - /bin/ln -f ${PREFIX}/lib/.mesa/libGL.so.1.2.0 ${PREFIX}/lib/libGL.so.1 - /bin/ln -f ${PREFIX}/lib/.mesa/libGL.so.1.2.0 ${PREFIX}/lib/libGL.so.1.2.0 /bin/ln -f ${PREFIX}/lib/xorg/modules/extensions/.xorg/libglx.so \ ${PREFIX}/lib/xorg/modules/extensions/libglx.so - - - if [ -f ${PREFIX}/lib/.mesa/libEGL.so.1 ]; then - /bin/rm -f ${PREFIX}/lib/libEGL.so* - /bin/ln -f ${PREFIX}/lib/.mesa/libEGL.so.1.0.0 ${PREFIX}/lib/libEGL.so - /bin/ln -f ${PREFIX}/lib/.mesa/libEGL.so.1.0.0 ${PREFIX}/lib/libEGL.so.1 - /bin/ln -f ${PREFIX}/lib/.mesa/libEGL.so.1.0.0 ${PREFIX}/lib/libEGL.so.1.0.0 - fi - if [ -f ${PREFIX}/lib/.mesa/libGLESv2.so.2 ]; then - /bin/rm -f ${PREFIX}/lib/libGLESv2.so* - /bin/ln -f ${PREFIX}/lib/.mesa/libGLESv2.so.2.0.0 ${PREFIX}/lib/libGLESv2.so - /bin/ln -f ${PREFIX}/lib/.mesa/libGLESv2.so.2.0.0 ${PREFIX}/lib/libGLESv2.so.2 - /bin/ln -f ${PREFIX}/lib/.mesa/libGLESv2.so.2.0.0 ${PREFIX}/lib/libGLESv2.so.2.0.0 - fi ;; esac Index: head/x11/nvidia-driver/files/pkg-install.in =================================================================== --- head/x11/nvidia-driver/files/pkg-install.in (revision 433891) +++ head/x11/nvidia-driver/files/pkg-install.in (revision 433892) @@ -1,26 +1,13 @@ #!/bin/sh # # $FreeBSD$ # PREFIX=${PKG_PREFIX-/usr/local} case $2 in POST-INSTALL) - /bin/rm -f ${PREFIX}/lib/libGL.so* - /bin/ln -f ${PREFIX}/lib/.nvidia/libGL.so.1 ${PREFIX}/lib/libGL.so - /bin/ln -f ${PREFIX}/lib/.nvidia/libGL.so.1 ${PREFIX}/lib/libGL.so.1 - if [ -f ${PREFIX}/lib/.nvidia/libEGL.so.1 ]; then - /bin/rm -f ${PREFIX}/lib/libEGL.so* - /bin/ln -f ${PREFIX}/lib/.nvidia/libEGL.so.1 ${PREFIX}/lib/libEGL.so - /bin/ln -f ${PREFIX}/lib/.nvidia/libEGL.so.1 ${PREFIX}/lib/libEGL.so.1 - fi - if [ -f ${PREFIX}/lib/.nvidia/libGLESv2.so.2 ]; then - /bin/rm -f ${PREFIX}/lib/libGLESv2.so* - /bin/ln -f ${PREFIX}/lib/.nvidia/libGLESv2.so.2 ${PREFIX}/lib/libGLESv2.so - /bin/ln -f ${PREFIX}/lib/.nvidia/libGLESv2.so.2 ${PREFIX}/lib/libGLESv2.so.2 - fi /bin/ln -f ${PREFIX}/lib/xorg/modules/extensions/.nvidia/libglx.so.1 \ ${PREFIX}/lib/xorg/modules/extensions/libglx.so ;; esac Index: head/x11/nvidia-driver/pkg-plist =================================================================== --- head/x11/nvidia-driver/pkg-plist (revision 433891) +++ head/x11/nvidia-driver/pkg-plist (revision 433892) @@ -1,79 +1,80 @@ bin/nvidia-bug-report.sh bin/nvidia-debugdump bin/nvidia-smi -lib/.nvidia/libEGL.so -lib/.nvidia/libEGL.so.1 -lib/.nvidia/libGL.so -lib/.nvidia/libGL.so.1 -lib/.nvidia/libGLESv2.so -lib/.nvidia/libGLESv2.so.2 +etc/libmap.d/nvidia.conf +lib/libGL-NVIDIA.so +lib/libGL-NVIDIA.so.1 +lib/libEGL-NVIDIA.so +lib/libEGL-NVIDIA.so.1 lib/libGLESv1_CM.so lib/libGLESv1_CM.so.1 +lib/libGLESv2-NVIDIA.so +lib/libGLESv2-NVIDIA.so.2 lib/libXvMCNVIDIA.a lib/libXvMCNVIDIA.so lib/libXvMCNVIDIA.so.1 lib/libXvMCNVIDIA_dynamic.so.1 lib/libnvidia-cfg.so lib/libnvidia-cfg.so.1 lib/libnvidia-eglcore.so lib/libnvidia-eglcore.so.1 lib/libnvidia-glcore.so lib/libnvidia-glcore.so.1 lib/libnvidia-glsi.so lib/libnvidia-glsi.so.1 lib/libnvidia-ml.so lib/libnvidia-ml.so.1 lib/libnvidia-tls.so lib/libnvidia-tls.so.1 lib/libvdpau_nvidia.so lib/vdpau/libvdpau_nvidia.so.1 man/man1/nvidia-smi.1.gz %%MODULESDIR%%/drivers/nvidia_drv.so %%MODULESDIR%%/extensions/.nvidia/libglx.so %%MODULESDIR%%/extensions/.nvidia/libglx.so.1 /%%KMODDIR%%/nvidia.ko /%%KMODDIR%%/nvidia-modeset.ko %%LINUX%%%%LINUXBASE%%/usr/lib/libEGL.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libEGL.so.1 %%LINUX%%@postunexec [ ! -e %%LINUXBASE%%/usr/lib/libEGL.so.1.0.0 ] || ln -sf libEGL.so.1.0.0 %%LINUXBASE%%/usr/lib/libEGL.so.1 %%LINUX%%%%LINUXBASE%%/usr/lib/libEGL_nvidia.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libEGL_nvidia.so.0 %%LINUX%%%%LINUXBASE%%/usr/lib/libEGL_nvidia.so %%LINUX%%%%LINUXBASE%%/usr/lib/libGL.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libGL.so.1 %%LINUX%%@postunexec [ ! -e %%LINUXBASE%%/usr/lib/libGL.so.1.2.0 ] || ln -sf libGL.so.1.2.0 %%LINUXBASE%%/usr/lib/libGL.so.1 %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv1_CM.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv1_CM.so.1 %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv1_CM.so %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv1_CM_nvidia.so.1 %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv1_CM_nvidia.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv2.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv2.so.2 %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv2.so %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv2_nvidia.so.2 %%LINUX%%%%LINUXBASE%%/usr/lib/libGLESv2_nvidia.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libGLdispatch.so %%LINUX%%%%LINUXBASE%%/usr/lib/libGLdispatch.so.0 %%LINUX%%%%LINUXBASE%%/usr/lib/libOpenGL.so %%LINUX%%%%LINUXBASE%%/usr/lib/libOpenGL.so.0 %%LINUX%%%%LINUXBASE%%/usr/lib/libcuda.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libcuda.so.1 %%LINUX%%%%LINUXBASE%%/usr/lib/libnvidia-eglcore.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libnvidia-glcore.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libnvidia-glsi.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libnvidia-tls.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libvdpau.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/libvdpau.so.1 %%LINUX%%%%LINUXBASE%%/usr/lib/libvdpau_nvidia.so %%LINUX%%%%LINUXBASE%%/usr/lib/libvdpau_trace.so %%LINUX%%%%LINUXBASE%%/usr/lib/vdpau/libvdpau_nvidia.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/vdpau/libvdpau_nvidia.so.1 %%LINUX%%%%LINUXBASE%%/usr/lib/vdpau/libvdpau_trace.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%/usr/lib/vdpau/libvdpau_trace.so.1 %%LINUX%%@exec %%LINUXBASE%%/sbin/ldconfig -r %%LINUXBASE%% %%LINUX%%@unexec %%LINUXBASE%%/sbin/ldconfig -r %%LINUXBASE%% %%LINUX%%@dir %%LINUXBASE%%/usr/lib/vdpau %%LINUX%%@dir %%LINUXBASE%%/usr/lib %%LINUX%%@dir %%LINUXBASE%%/usr %%LINUX%%@dir %%LINUXBASE%% %%LINUX%%@dir /compat Index: head/x11/nvidia-driver-304/Makefile =================================================================== --- head/x11/nvidia-driver-304/Makefile (revision 433891) +++ head/x11/nvidia-driver-304/Makefile (revision 433892) @@ -1,11 +1,11 @@ # Created by: Alexey Dokuchaev # $FreeBSD$ DISTVERSION= 304.134 # Explicitly set PORTREVISION as it can be overridden by the master port -PORTREVISION= 0 +PORTREVISION= 1 MASTERDIR= ${.CURDIR}/../nvidia-driver PKGNAMESUFFIX= -304 .include "${MASTERDIR}/Makefile" Index: head/x11/nvidia-driver-340/Makefile =================================================================== --- head/x11/nvidia-driver-340/Makefile (revision 433891) +++ head/x11/nvidia-driver-340/Makefile (revision 433892) @@ -1,11 +1,11 @@ # Created by: Alexey Dokuchaev # $FreeBSD$ DISTVERSION= 340.101 # Explicitly set PORTREVISION as it can be overridden by the master port -PORTREVISION= 0 +PORTREVISION= 1 MASTERDIR= ${.CURDIR}/../nvidia-driver PKGNAMESUFFIX= -340 .include "${MASTERDIR}/Makefile"