diff options
author | kwm <kwm@FreeBSD.org> | 2014-11-27 21:14:04 +0800 |
---|---|---|
committer | kwm <kwm@FreeBSD.org> | 2014-11-27 21:14:04 +0800 |
commit | 34c03fd9f7d4fbd5de067819d08429e0ba771545 (patch) | |
tree | 4c2de4e1899bee6b29cc8c9958c5f91747945d01 /x11/nvidia-driver | |
parent | 776321fc075bf132a1971c45562a3e4b27e0e9f1 (diff) | |
download | freebsd-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/Makefile | 10 | ||||
-rw-r--r-- | x11/nvidia-driver/files/pkg-deinstall.in | 19 | ||||
-rw-r--r-- | x11/nvidia-driver/files/pkg-install.in | 11 | ||||
-rw-r--r-- | x11/nvidia-driver/pkg-plist | 8 |
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 |