svn commit: r375648 - in head/emulators: i386-wine i386-wine/files wine
David Naylor
dbn at FreeBSD.org
Fri Dec 26 18:52:18 UTC 2014
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 at 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
More information about the svn-ports-all
mailing list