Date: Fri, 26 Dec 2014 18:52:17 +0000 (UTC) From: David Naylor <dbn@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r375648 - in head/emulators: i386-wine i386-wine/files wine Message-ID: <201412261852.sBQIqHiQ062499@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dbn Date: Fri Dec 26 18:52:16 2014 New Revision: 375648 URL: https://svnweb.freebsd.org/changeset/ports/375648 QAT: https://qat.redports.org/buildarchive/r375648/ Log: Backport changes from emulators/i386-wine-devel to emulators/i386-wine. Changes: - Fix install conflicts [1] (for the "newly" added compholio port) - nvidia.sh: Gracefully handle a corrupt nVidia tarball - nvidia.sh: Provide checksum and size information for nVidia tarball - Reduce diff between i386-wine and i386-wine-devel: - Add support for sub-ports (unused by this port) - Properly detect linked (and dlopen) libraries - binbounce: Properly set LD_(32_)?LIBRARY_PATH_RPATH variables - nvidia.sh: Add detection for i386-wine-compholio - Bump master port [1] due to changes to binbounce, nvidia.sh and shared library handling. Approved by: gerald@ [1] Modified: head/emulators/i386-wine/Makefile.i386 head/emulators/i386-wine/files/binbounce head/emulators/i386-wine/files/nvidia.sh head/emulators/wine/Makefile Modified: head/emulators/i386-wine/Makefile.i386 ============================================================================== --- head/emulators/i386-wine/Makefile.i386 Fri Dec 26 18:45:52 2014 (r375647) +++ head/emulators/i386-wine/Makefile.i386 Fri Dec 26 18:52:16 2014 (r375648) @@ -4,16 +4,18 @@ PKGNAMEPREFIX= i386- MAINTAINER= dbn@FreeBSD.org -COMMENT= 32bit Microsoft Windows compatibility environment for 64bit FreeBSD +COMMENT?= 32bit Microsoft Windows compatibility environment for 64bit FreeBSD # Use the wine port to do most of the heavy lifting -MASTERDIR= ${.CURDIR}/../wine -PKGINSTALL= ${.CURDIR}/files/pkg-install +SLAVEDIR?= ${.CURDIR} +MASTERDIR= ${SLAVEDIR}/../wine +PKGINSTALL= ${SLAVEDIR}/files/pkg-install PKGDEINSTALL= ${PKGINSTALL} RUN_DEPENDS= dri>0:${PORTSDIR}/graphics/dri -CONFLICTS_INSTALL= i386-wine-devel-[0-9]* wine-[0-9]* wine-devel-[0-9]* +CONFLICTS_INSTALL?= wine-[0-9]* wine-compholio-[0-9]* wine-devel-[0-9]* \ + i386-wine-compholio-[0-9]* i386-wine-devel-[0-9]* ACTUAL-PACKAGE-DEPENDS= ${DO_NADA} WINELIBDIR= ${PREFIX}/lib32 @@ -33,17 +35,30 @@ post-install-script: # Fix pkg-plist references ${REINPLACE_CMD} -e 's!lib/!lib32/!g' ${TMPPLIST} # Install bounce script to access the 32bit executables - ${INSTALL_SCRIPT} ${.CURDIR}/files/binbounce ${STAGEDIR}${PREFIX}/bin/wine + ${INSTALL_SCRIPT} ${SLAVEDIR}/files/binbounce ${STAGEDIR}${PREFIX}/bin/wine for i in `grep ^bin ${TMPPLIST} | xargs -n1 basename` ; do \ [ "$${i}" = "wine" ] || ${LN} -f ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/$${i} ; \ echo bin32/$${i} >> ${TMPPLIST} ; \ done - # Install dri libraries (internal libGL requirements) + # Install libGL ${MKDIR} ${STAGEDIR}${PREFIX}/lib32/.libGL/dri + ${INSTALL_DATA} ${LOCALBASE}/lib/libGL.so.1 ${STAGEDIR}${PREFIX}/lib32/.libGL/ + echo lib32/.libGL/libGL.so.1 >> ${TMPPLIST} + # Install dri libraries (internal libGL requirements) for i in ${LOCALBASE}/lib/dri/*.so; do \ ${INSTALL_DATA} $${i} ${STAGEDIR}${PREFIX}/lib32/.libGL/dri/ ; \ echo lib32/.libGL/dri/$${i##*/} >> ${TMPPLIST} ; \ done + # Find all soft dependencies (via strings(1)) + grep -v '[@%]' ${TMPPLIST} | sed "s!^!${STAGEDIR}${PREFIX}/!g" | \ + xargs -n1 file -F' ' | grep ELF | cut -f1 -d' ' | xargs strings | \ + grep '^lib.*\.so' | sort -u > ${WRKDIR}/winesoftlibs + for i in `cat ${WRKDIR}/winesoftlibs` ; do \ + if [ -e ${LOCALBASE}/lib/$${i} ] && [ -z "`grep $${i} ${TMPPLIST}`" ]; then \ + ${INSTALL_DATA} ${LOCALBASE}/lib/$${i} ${STAGEDIR}${PREFIX}/lib32/ ; \ + echo lib32/$${i} >> ${TMPPLIST} ; \ + fi ; \ + done # Find all libraries that are linked too (via ldd(1)) grep -v '[@%]' ${TMPPLIST} | sed "s!^!${STAGEDIR}${PREFIX}/!g" | \ xargs -n1 file -F' ' | grep ELF | cut -f1 -d' ' | \ @@ -51,22 +66,9 @@ post-install-script: | sort -u | grep -v '^\(/usr\)\?/lib' | grep -v "^${STAGEDIR}${PREFIX}/lib32/libwine.so" \ | grep -v "^${STAGEDIR}${PREFIX}/lib32/wine" > ${WRKDIR}/winelibs for i in `cat ${WRKDIR}/winelibs` ; do \ - if [ `basename $${i}` != libGL.so.1 ]; then \ + if [ -z "`grep $${i##*/} ${TMPPLIST}`" ]; then \ ${INSTALL_DATA} $${i} ${STAGEDIR}${PREFIX}/lib32/ ; \ echo lib32/$${i##*/} >> ${TMPPLIST} ; \ - else \ - ${INSTALL_DATA} $${i} ${STAGEDIR}${PREFIX}/lib32/.libGL/ ; \ - echo lib32/.libGL/libGL.so.1 >> ${TMPPLIST} ; \ - fi ; \ - done - # Find all soft dependancies (via strings(1)) - grep -v '[@%]' ${TMPPLIST} | sed "s!^!${STAGEDIR}${PREFIX}/!g" | \ - xargs -n1 file -F' ' | grep ELF | cut -f1 -d' ' | xargs strings | \ - grep '^lib.*\.so' | sort -u > ${WRKDIR}/winesoftlibs - for i in `cat ${WRKDIR}/winesoftlibs` ; do \ - if [ -e ${LOCALBASE}/lib/$${i} ] && [ -z "`grep $${i} ${TMPPLIST}`" ] ; then \ - ${INSTALL_DATA} ${LOCALBASE}/lib/$${i} ${STAGEDIR}${PREFIX}/lib32/ ; \ - echo lib32/$${i} >> ${TMPPLIST} ; \ fi ; \ done echo '@dirrm lib32/.libGL/dri' >> ${TMPPLIST} @@ -74,7 +76,7 @@ post-install-script: echo '@dirrmtry lib32' >> ${TMPPLIST}; \ echo '@dirrm bin32' >> ${TMPPLIST} # Install nvidia patching script - ${INSTALL_SCRIPT} ${.CURDIR}/files/nvidia.sh ${STAGEDIR}${DATADIR}/patch-nvidia.sh + ${INSTALL_SCRIPT} ${SLAVEDIR}/files/nvidia.sh ${STAGEDIR}${DATADIR}/patch-nvidia.sh echo ${DATADIR:S|$(PREFIX)/||}/patch-nvidia.sh >> ${TMPPLIST} @${CAT} ${PKGMESSAGE} Modified: head/emulators/i386-wine/files/binbounce ============================================================================== --- head/emulators/i386-wine/files/binbounce Fri Dec 26 18:45:52 2014 (r375647) +++ head/emulators/i386-wine/files/binbounce Fri Dec 26 18:52:16 2014 (r375648) @@ -11,10 +11,13 @@ then if [ `uname -p` = i386 ] then export LD_LIBRARY_PATH="$LOCALBASE/lib32":"$LOCALBASE/lib32/wine":"$LD_LIBRARY_PATH" + export LD_LIBRARY_PATH_RPATH=y else export LD_32_LIBRARY_PATH="$LOCALBASE/lib32":"$LOCALBASE/lib32/wine":"$LD_32_LIBRARY_PATH":/usr/lib32 + export LD_32_LIBRARY_PATH_RPATH=y fi export PATH="$LOCALBASE/bin32":"$PATH" + export __BINBOUNCE_BOOTSTRAP="1" fi exec "$LOCALBASE/bin32/$BINNAME" "$@" Modified: head/emulators/i386-wine/files/nvidia.sh ============================================================================== --- head/emulators/i386-wine/files/nvidia.sh Fri Dec 26 18:45:52 2014 (r375647) +++ head/emulators/i386-wine/files/nvidia.sh Fri Dec 26 18:52:16 2014 (r375648) @@ -63,6 +63,11 @@ # - add deinstall option # Version 1.12 - 2013/11/03 # - add detection for i386-wine-devel +# Version 1.13 - 2014/08/05 +# - add detection for i386-wine-compholio +# Version 1.14 - 2014/12/26 +# - gracefully handle a corrupt nVidia tarball +# - provide checksum and size information for nVidia tarball set -e @@ -147,7 +152,7 @@ echo "===> Patching i386-wine to work wi if [ -z "${WINE}" ] then - WINE=`version i386-wine; version i386-wine-devel` + WINE=`version i386-wine; version i386-wine-devel; version i386-wine-compholio` fi [ -n "$WINE" ] \ || terminate 255 "Unable to detect i386-wine, please install first" @@ -161,13 +166,18 @@ echo "=> Detected nvidia-driver: ${NV}" NVIDIA=${NV} NV=`echo ${NV} | cut -f 1 -d _ | cut -f 1 -d ,` -if [ ! -f NVIDIA-FreeBSD-x86-${NV}.tar.gz ] +if [ ! -f NVIDIA-FreeBSD-x86-${NV}.tar.gz ] || !(tar -tf NVIDIA-FreeBSD-x86-${NV}.tar.gz > /dev/null 2>&1) then [ -n "$NO_FETCH" ] \ && terminate 8 "NVIDIA-FreeBSD-x86-${NV}.tar.gz unavailable" echo "=> Downloading NVIDIA-FreeBSD-x86-${NV}.tar.gz from ftp://download.nvidia.com..." + rm -f NVIDIA-FreeBSD-x86-${NV}.tar.gz fetch -apRr ftp://download.nvidia.com/XFree86/FreeBSD-x86/${NV}/NVIDIA-FreeBSD-x86-${NV}.tar.gz \ || terminate 2 "Failed to download NVIDIA-FreeBSD-x86-${NV}.tar.gz" + echo "=> Downloaded NVIDIA-FreeBSD-x86-${NV}.tar.gz" + echo "Please check the following information against /usr/ports/x11/nvidia-driver/distinfo" + sha256 NVIDIA-FreeBSD-x86-${NV}.tar.gz + echo "SIZE (NVIDIA-FreeBSD-x86-${NV}.tar.gz) = `stat -f "%z" NVIDIA-FreeBSD-x86-${NV}.tar.gz`" fi echo "=> Extracting NVIDIA-FreeBSD-x86-${NV}.tar.gz to $PREFIX/lib32..." Modified: head/emulators/wine/Makefile ============================================================================== --- head/emulators/wine/Makefile Fri Dec 26 18:45:52 2014 (r375647) +++ head/emulators/wine/Makefile Fri Dec 26 18:52:16 2014 (r375648) @@ -3,7 +3,7 @@ PORTNAME= wine DISTVERSION= 1.6.2 -PORTREVISION= 8 +PORTREVISION= 9 PORTEPOCH= 1 CATEGORIES= emulators MASTER_SITES= SF/${PORTNAME}/Source \ @@ -19,7 +19,8 @@ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex LIB_DEPENDS= libxml2.so:${PORTSDIR}/textproc/libxml2 -CONFLICTS_INSTALL= i386-wine-[0-9]* i386-wine-devel-[0-9]* wine-devel-[0-9]* +CONFLICTS_INSTALL= wine-compholio-[0-9]* wine-devel-[0-9]* i386-wine-[0-9]* \ + i386-wine-compholio-[0-9]* i386-wine-devel-[0-9]* CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412261852.sBQIqHiQ062499>