aboutsummaryrefslogtreecommitdiffstats
path: root/x11/nvidia-driver
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2014-11-27 21:14:04 +0800
committerkwm <kwm@FreeBSD.org>2014-11-27 21:14:04 +0800
commit34c03fd9f7d4fbd5de067819d08429e0ba771545 (patch)
tree4c2de4e1899bee6b29cc8c9958c5f91747945d01 /x11/nvidia-driver
parent776321fc075bf132a1971c45562a3e4b27e0e9f1 (diff)
downloadfreebsd-ports-graphics-34c03fd9f7d4fbd5de067819d08429e0ba771545.tar.gz
freebsd-ports-graphics-34c03fd9f7d4fbd5de067819d08429e0ba771545.tar.zst
freebsd-ports-graphics-34c03fd9f7d4fbd5de067819d08429e0ba771545.zip
Fix libEGL and libGLESv2 conflict between libEGL/libglesv2 and the
nvidia-driver port in the same fashion it was done as the conflict with the libGL port. Mesa ports: Add pkg-[de]install scripts to handle the symlinks in the libEGL and libglesv2 port. Move pkg-[de]install scripts of libGL out of files/ Put the real mesa libraries into lib/.mesa so we don't have each port create a directory for it own use. Nvidia-driver: Only apply the libEGL.so and libGLESv2.so alternative install directory if nvidia-driver actually ships them. Copied from PR submitter, since it was much cleaner then my initial attempt. Make pkg-install script check if the nvidia-driver port installed the libEGL/libglesv2 libraries and only then make the symlinks. This should allow the script to work with the slave ports which don't install these libraries. Make the pkg-deinstall script check if the mesa version of the libEGL/libGLESv2 libraries are installed before trying to recreate the symlinks of those ports. PR: 194924 Submitted by: Gerard Seibert <gerard_seibert@outlook.com> Approved by: portmgr (angrybapt)
Diffstat (limited to 'x11/nvidia-driver')
-rw-r--r--x11/nvidia-driver/Makefile10
-rw-r--r--x11/nvidia-driver/files/pkg-deinstall.in19
-rw-r--r--x11/nvidia-driver/files/pkg-install.in11
-rw-r--r--x11/nvidia-driver/pkg-plist8
4 files changed, 40 insertions, 8 deletions
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile
index 0e3cb84c361..ffba9c36b28 100644
--- a/x11/nvidia-driver/Makefile
+++ b/x11/nvidia-driver/Makefile
@@ -13,7 +13,7 @@
PORTNAME= nvidia-driver
DISTVERSION?= 340.46
# Always try to set PORTREVISION as it can be overridden by the slave ports
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_NVIDIA}
# MASTER_SITE_SUBDIR has to be set later because it depends on NVVERSION
@@ -241,11 +241,17 @@ post-patch: .SILENT
${REINPLACE_CMD} -E 's/(x11).*/\1/ ; /doc/d' ${WRKSRC}/Makefile
.endif
# Adjust installation paths of some conflicting files (shared also between
-# libGL and xorg-server) to ease package manager work, esp. with pkgng
+# libGL, libEGL, libglesv2 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
+ ${REINPLACE_CMD} -e '/LIBDIR/s:lib:&/.nvidia:' \
+ ${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
diff --git a/x11/nvidia-driver/files/pkg-deinstall.in b/x11/nvidia-driver/files/pkg-deinstall.in
index 47f6c1afab2..1edbadeb694 100644
--- a/x11/nvidia-driver/files/pkg-deinstall.in
+++ b/x11/nvidia-driver/files/pkg-deinstall.in
@@ -10,9 +10,24 @@ DEINSTALL)
/bin/rm -f ${PREFIX}/lib/libGL.so*
/bin/rm -f ${PREFIX}/lib/xorg/modules/extensions/libglx.so*
- /bin/ln -f ${PREFIX}/lib/.libGL/libGL.so.1 ${PREFIX}/lib/libGL.so
- /bin/ln -f ${PREFIX}/lib/.libGL/libGL.so.1 ${PREFIX}/lib/libGL.so.1
+ /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
diff --git a/x11/nvidia-driver/files/pkg-install.in b/x11/nvidia-driver/files/pkg-install.in
index 5d972c1f01c..1db58884603 100644
--- a/x11/nvidia-driver/files/pkg-install.in
+++ b/x11/nvidia-driver/files/pkg-install.in
@@ -7,8 +7,19 @@ 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
;;
diff --git a/x11/nvidia-driver/pkg-plist b/x11/nvidia-driver/pkg-plist
index fb20d54317f..4a8b4d5d2a1 100644
--- a/x11/nvidia-driver/pkg-plist
+++ b/x11/nvidia-driver/pkg-plist
@@ -1,12 +1,12 @@
bin/nvidia-bug-report.sh
lib/.nvidia/libGL.so
lib/.nvidia/libGL.so.1
-lib/libEGL.so
-lib/libEGL.so.1
+lib/.nvidia/libEGL.so
+lib/.nvidia/libEGL.so.1
lib/libGLESv1_CM.so
lib/libGLESv1_CM.so.1
-lib/libGLESv2.so
-lib/libGLESv2.so.2
+lib/.nvidia/libGLESv2.so
+lib/.nvidia/libGLESv2.so.2
lib/libGLcore.so
lib/libGLcore.so.1
lib/libXvMCNVIDIA.a