summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2023-06-05 01:22:55 -0400
committerIonen Wolkens <ionen@gentoo.org>2023-06-05 02:00:04 -0400
commitd9b302e669f1979f8f78d7e62e90044f9a754fa2 (patch)
tree883356d7be52871c0b11198162e61c7b3037b3c1 /x11-drivers
parentjava-virtuals-2.eclass: mark java-virtuals.eclass dead (diff)
downloadgentoo-d9b302e669f1979f8f78d7e62e90044f9a754fa2.tar.gz
gentoo-d9b302e669f1979f8f78d7e62e90044f9a754fa2.tar.bz2
gentoo-d9b302e669f1979f8f78d7e62e90044f9a754fa2.zip
x11-drivers/nvidia-drivers: adjust openssl handling in 0/535
1. Noticed portage does not easily figure out rebuilds if do a plain `emerge openssl:0/1.1`, but does if drop the || ( ) block. Not fully correct to given wouldn't work with theoretical new subslots, but dropping it for user experience sake (ultimately this is temporary). Skip rebuild given this version won't be keyworded (this is for the next one) and is still rebuilt on kernel bumps either way. 2. Had modified the .manifest block to handle this, but there is no need to. Revert and use skip_files. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-535.43.02-r1.ebuild30
1 files changed, 10 insertions, 20 deletions
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-535.43.02-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-535.43.02-r1.ebuild
index 7afdf2eec78b..1f3fc2044bc9 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.43.02-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-535.43.02-r1.ebuild
@@ -28,14 +28,13 @@ SLOT="0/${PV%%.*}"
IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced +static-libs +tools wayland"
REQUIRED_USE="kernel-open? ( modules )"
+# wrt openssl, can only use exactly :0/1.1 *or* :0/3 (prebuilt) but depend on
+# a simple >=1.1 given a || ( ) block confuses portage with subslot "rebuilds"
+# TODO: change to a hard dependency on exactly :0/3 when :0/1.1 loses relevance
COMMON_DEPEND="
acct-group/video
sys-libs/glibc
- dev-libs/openssl:=
- || (
- dev-libs/openssl:0/3
- dev-libs/openssl:0/1.1
- )
+ >=dev-libs/openssl-1.1:=
X? ( x11-libs/libpciaccess )
persistenced? (
acct-user/nvpd
@@ -312,6 +311,10 @@ src_install() {
libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
)
+ # TODO: hard-depend on openssl:0/3, drop this, and add pkcs11.so above
+ has_version 'dev-libs/openssl:0/3' &&
+ skip_files+=( libnvidia-pkcs11.so ) ||
+ skip_files+=( libnvidia-pkcs11-openssl3.so )
local skip_modules=(
$(usev !X "nvfbc vdpau xdriver")
$(usev !modules gsp)
@@ -437,21 +440,8 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers"
dosym ${m[4]} ${into}/${m[0]}
continue
fi
-
- case ${m[0]} in
- libnvidia-ngx.so*|libnvidia-egl-gbm.so*)
- # soname is missing from the manifest
- dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
- ;;
- libnvidia-pkcs11.so*)
- # TODO: always skip when can reasonably depend only on 3
- # (currently relies on subslot rebuilds to pick)
- has_version 'dev-libs/openssl:0/1.1' || continue
- ;;
- libnvidia-pkcs11-openssl3.so*)
- has_version 'dev-libs/openssl:0/3' || continue
- ;;
- esac
+ [[ ${m[0]} =~ ^libnvidia-ngx.so|^libnvidia-egl-gbm.so ]] &&
+ dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 # soname not in .manifest
printf -v m[1] %o $((m[1] | 0200)) # 444->644
insopts -m${m[1]}