public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "David Seifert" <soap@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/
Date: Sat,  3 Apr 2021 19:03:10 +0000 (UTC)	[thread overview]
Message-ID: <1617476559.ed58cc9d7da5c91cd53dffd633926a5468cc3184.soap@gentoo> (raw)

commit:     ed58cc9d7da5c91cd53dffd633926a5468cc3184
Author:     Ionen Wolkens <sudinave <AT> gmail <DOT> com>
AuthorDate: Sat Apr  3 19:02:39 2021 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Apr  3 19:02:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed58cc9d

x11-drivers/nvidia-drivers: style re-arrangement and nitpicks

- Moved CONFIG_CHECK variables to pkg_setup. Will need conditional
  checks and would rather have everything in one place if going to
  modify. Not using pkg_pretend as don't want it to fail with a
  yet-to-be-installed dist-kernel.

- Normalized kernel_is use to match docs rather than nvidia.eclass.

- Split nvidia-drivers_make() with _make_install(). ${ED} being wrong
  or unset during src_compile() would be a no-op but is nonetheless
  incorrect usage.

- Moved function declarations to respective phases, no longer shared.
  Partly to allow pkgcheck and friends to detect variables misuse.

- Removed some unnecessary globs and quotes.

- Removed no longer relevant '!= lib' check, was formerly used for
  egl-wayland but is now in its own package.

Signed-off-by: Ionen Wolkens <sudinave <AT> gmail.com>
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 .../nvidia-drivers-390.141-r1.ebuild               | 161 ++++++++++---------
 .../nvidia-drivers-450.102.04-r1.ebuild            | 172 +++++++++++----------
 .../nvidia-drivers/nvidia-drivers-460.67.ebuild    | 172 +++++++++++----------
 3 files changed, 273 insertions(+), 232 deletions(-)

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r1.ebuild
index c639458a22d..bff5e56f68c 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.141-r1.ebuild
@@ -72,18 +72,6 @@ BDEPEND="
 
 QA_PREBUILT="opt/* usr/lib*"
 
-CONFIG_CHECK="
-	~DRM_KMS_HELPER
-	~SYSVIPC
-	~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
-	~!LOCKDEP
-	!DEBUG_MUTEXES"
-ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
-	of drivers (no custom config), and optional nvidia-drm.modeset=1.
-	Cannot be directly selected in the kernel's menuconfig, so enable
-	options such as CONFIG_DRM_FBDEV_EMULATION instead.
-	390.xx branch: also used by a GLX workaround needed for OpenGL."
-
 PATCHES=(
 	"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
 	"${FILESDIR}"/nvidia-settings-390.141-fno-common.patch
@@ -96,6 +84,19 @@ HTML_DOCS=( html/. )
 
 pkg_setup() {
 	use driver || return
+
+	local CONFIG_CHECK="
+		~DRM_KMS_HELPER
+		~SYSVIPC
+		~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
+		~!LOCKDEP
+		!DEBUG_MUTEXES"
+	local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+	of drivers (no custom config), and optional nvidia-drm.modeset=1.
+	Cannot be directly selected in the kernel's menuconfig, so enable
+	options such as CONFIG_DRM_FBDEV_EMULATION instead.
+	390.xx branch: also used by a GLX workaround needed for OpenGL."
+
 	BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
 	use x86 && BUILD_PARAMS+=' ARCH=i386' # needed for recognition
 	BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
@@ -104,9 +105,10 @@ pkg_setup() {
 		nvidia-drm(video:kernel)
 		nvidia-modeset(video:kernel)"
 	use amd64 && MODULE_NAMES+=" nvidia-uvm(video:kernel)" # no x86 support
+
 	linux-mod_pkg_setup
 
-	if [[ ${MERGE_TYPE} != binary ]] && kernel_is gt ${NV_KERNEL_MAX/./ }; then
+	if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
 		ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
 		ewarn "or was not tested with it. It is recommended to use one of:"
 		ewarn "  <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
@@ -153,16 +155,18 @@ src_prepare() {
 	gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
 }
 
-nvidia-drivers_make() {
-	emake -C nvidia-${1} ${2} \
-		DESTDIR="${ED}" PREFIX=/usr LIBDIR="${ED}/usr/$(get_libdir)" \
-		HOST_CC="$(tc-getBUILD_CC)" HOST_LD="$(tc-getBUILD_LD)" \
-		DO_STRIP= MANPAGE_GZIP= \
-		NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 OUTPUTDIR=out
-}
-
 src_compile() {
+	nvidia-drivers_make() {
+		emake -C nvidia-${1} ${2} \
+			PREFIX="${EPREFIX}/usr" \
+			HOST_CC="$(tc-getBUILD_CC)" \
+			HOST_LD="$(tc-getBUILD_LD)" \
+			NV_USE_BUNDLED_LIBJANSSON=0 \
+			NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+	}
+
 	tc-export AR CC LD OBJCOPY
+
 	# may no longer be relevant but kept as a safety
 	export DISTCC_DISABLE=1 CCACHE_DISABLE=1
 
@@ -183,60 +187,69 @@ src_compile() {
 	fi
 }
 
-nvidia-drivers_libs_install() {
-	local libs=(
-		EGL_nvidia
-		GLESv1_CM_nvidia
-		GLESv2_nvidia
-		cuda
-		nvcuvid
-		nvidia-compiler
-		nvidia-eglcore
-		nvidia-encode
-		nvidia-fatbinaryloader
-		nvidia-glcore
-		nvidia-glsi
-		nvidia-ml
-		nvidia-opencl
-		nvidia-ptxjitcompiler
-		nvidia-tls
-	)
-
-	if use X; then
-		libs+=(
-			GLX_nvidia
-			nvidia-fbc
-			nvidia-ifr
-			vdpau_nvidia
-		)
-	fi
-
-	local libdir=.
-	if multilib_is_native_abi; then
-		libs+=(
-			nvidia-cfg
-			nvidia-wfb
+src_install() {
+	nvidia-drivers_make_install() {
+		emake -C nvidia-${1} install \
+			DESTDIR="${D}" \
+			PREFIX="${EPREFIX}/usr" \
+			LIBDIR="${ED}/usr/$(get_libdir)" \
+			NV_USE_BUNDLED_LIBJANSSON=0 \
+			NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+	}
+
+	nvidia-drivers_libs_install() {
+		local libs=(
+			EGL_nvidia
+			GLESv1_CM_nvidia
+			GLESv2_nvidia
+			cuda
+			nvcuvid
+			nvidia-compiler
+			nvidia-eglcore
+			nvidia-encode
+			nvidia-fatbinaryloader
+			nvidia-glcore
+			nvidia-glsi
+			nvidia-ml
+			nvidia-opencl
+			nvidia-ptxjitcompiler
+			nvidia-tls
 		)
-	else
-		libdir+=/32
-	fi
 
-	local lib soname
-	for lib in "${libs[@]}"; do
-		[[ ${lib:0:3} != lib ]] && lib=lib${lib}.so.${PV}
+		if use X; then
+			libs+=(
+				GLX_nvidia
+				nvidia-fbc
+				nvidia-ifr
+				vdpau_nvidia
+			)
+		fi
 
-		# auto-detect soname and create appropriate symlinks
-		soname=$(scanelf -qF'%S#F' "${lib}") || die "Scanning ${lib} failed"
-		if [[ ${soname} && ${soname} != ${lib} ]]; then
-			ln -s ${lib} ${libdir}/${soname} || die
+		local libdir=.
+		if multilib_is_native_abi; then
+			libs+=(
+				nvidia-cfg
+				nvidia-wfb
+			)
+		else
+			libdir+=/32
 		fi
-		ln -s ${lib} ${libdir}/${lib%.so*}.so || die
 
-		dolib.so ${libdir}/${lib%.so*}*
-	done
-}
+		local lib soname
+		for lib in "${libs[@]}"; do
+			lib=lib${lib}.so.${PV}
+
+			# auto-detect soname and create appropriate symlinks
+			soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+			if [[ ${soname} && ${soname} != ${lib} ]]; then
+				ln -s ${lib} ${libdir}/${soname} || die
+			fi
+			ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+
+			dolib.so ${libdir}/${lib%.so*}*
+		done
+	}
 
-src_install() {
 	if use driver; then
 		linux-mod_src_install
 
@@ -271,20 +284,20 @@ src_install() {
 	newins nvidia-application-profiles{-${PV},}-rc
 
 	# install built helpers
-	nvidia-drivers_make modprobe install
+	nvidia-drivers_make_install modprobe
 	# allow video group to load mods and create devs (bug #505092)
 	fowners root:video /usr/bin/nvidia-modprobe
 	fperms 4710 /usr/bin/nvidia-modprobe
 
-	nvidia-drivers_make persistenced install
+	nvidia-drivers_make_install persistenced
 	newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
 	newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
 	systemd_dounit nvidia-persistenced.service
 
-	use X && nvidia-drivers_make xconfig install
+	use X && nvidia-drivers_make_install xconfig
 
 	if use tools; then
-		nvidia-drivers_make settings install
+		nvidia-drivers_make_install settings
 		doicon nvidia-settings/doc/nvidia-settings.png
 		domenu nvidia-settings/doc/nvidia-settings.desktop
 
@@ -316,7 +329,7 @@ src_install() {
 	doman nvidia-smi.1
 
 	# install prebuilt-only libraries
-	mv tls/* . || die # alternate tls lib needed for libglx.so
+	mv tls/libnvidia-tls.so.${PV} . || die # alt tls lib needed by libglx.so
 	multilib_foreach_abi nvidia-drivers_libs_install
 
 	einstalldocs

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild
index d28ef6effc7..a425556ec3c 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04-r1.ebuild
@@ -72,17 +72,6 @@ BDEPEND="
 
 QA_PREBUILT="opt/* usr/lib*"
 
-CONFIG_CHECK="
-	~DRM_KMS_HELPER
-	~SYSVIPC
-	~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
-	~!LOCKDEP
-	!DEBUG_MUTEXES"
-ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
-	of drivers (no custom config), and optional nvidia-drm.modeset=1.
-	Cannot be directly selected in the kernel's menuconfig, so enable
-	options such as CONFIG_DRM_FBDEV_EMULATION instead."
-
 PATCHES=(
 	"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
 )
@@ -94,6 +83,18 @@ HTML_DOCS=( html/. )
 
 pkg_setup() {
 	use driver || return
+
+	local CONFIG_CHECK="
+		~DRM_KMS_HELPER
+		~SYSVIPC
+		~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
+		~!LOCKDEP
+		!DEBUG_MUTEXES"
+	local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+	of drivers (no custom config), and optional nvidia-drm.modeset=1.
+	Cannot be directly selected in the kernel's menuconfig, so enable
+	options such as CONFIG_DRM_FBDEV_EMULATION instead."
+
 	BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
 	BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
 	MODULE_NAMES="
@@ -101,9 +102,10 @@ pkg_setup() {
 		nvidia-drm(video:kernel)
 		nvidia-modeset(video:kernel)
 		nvidia-uvm(video:kernel)"
+
 	linux-mod_pkg_setup
 
-	if [[ ${MERGE_TYPE} != binary ]] && kernel_is gt ${NV_KERNEL_MAX/./ }; then
+	if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
 		ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
 		ewarn "or was not tested with it. It is recommended to use one of:"
 		ewarn "  <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
@@ -144,16 +146,18 @@ src_prepare() {
 	gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
 }
 
-nvidia-drivers_make() {
-	emake -C nvidia-${1} ${2} \
-		DESTDIR="${ED}" PREFIX=/usr LIBDIR="${ED}/usr/$(get_libdir)" \
-		HOST_CC="$(tc-getBUILD_CC)" HOST_LD="$(tc-getBUILD_LD)" \
-		DO_STRIP= MANPAGE_GZIP= \
-		NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 OUTPUTDIR=out
-}
-
 src_compile() {
+	nvidia-drivers_make() {
+		emake -C nvidia-${1} ${2} \
+			PREFIX="${EPREFIX}/usr" \
+			HOST_CC="$(tc-getBUILD_CC)" \
+			HOST_LD="$(tc-getBUILD_LD)" \
+			NV_USE_BUNDLED_LIBJANSSON=0 \
+			NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+	}
+
 	tc-export AR CC LD OBJCOPY
+
 	# may no longer be relevant but kept as a safety
 	export DISTCC_DISABLE=1 CCACHE_DISABLE=1
 
@@ -170,69 +174,78 @@ src_compile() {
 	fi
 }
 
-nvidia-drivers_libs_install() {
-	local libs=(
-		EGL_nvidia
-		GLESv1_CM_nvidia
-		GLESv2_nvidia
-		cuda
-		nvcuvid
-		nvidia-allocator
-		nvidia-eglcore
-		nvidia-encode
-		nvidia-glcore
-		nvidia-glsi
-		nvidia-glvkspirv
-		nvidia-ml
-		nvidia-opencl
-		nvidia-opticalflow
-		nvidia-ptxjitcompiler
-		nvidia-tls
-	)
-	use amd64 && libs+=( nvidia-compiler )
-
-	if use X; then
-		libs+=(
-			GLX_nvidia
-			vdpau_nvidia
+src_install() {
+	nvidia-drivers_make_install() {
+		emake -C nvidia-${1} install \
+			DESTDIR="${D}" \
+			PREFIX="${EPREFIX}/usr" \
+			LIBDIR="${ED}/usr/$(get_libdir)" \
+			NV_USE_BUNDLED_LIBJANSSON=0 \
+			NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+	}
+
+	nvidia-drivers_libs_install() {
+		local libs=(
+			EGL_nvidia
+			GLESv1_CM_nvidia
+			GLESv2_nvidia
+			cuda
+			nvcuvid
+			nvidia-allocator
+			nvidia-eglcore
+			nvidia-encode
+			nvidia-glcore
+			nvidia-glsi
+			nvidia-glvkspirv
+			nvidia-ml
+			nvidia-opencl
+			nvidia-opticalflow
+			nvidia-ptxjitcompiler
+			nvidia-tls
 		)
-		if use amd64; then
+		use amd64 && libs+=( nvidia-compiler )
+
+		if use X; then
 			libs+=(
-				nvidia-fbc
-				nvidia-ifr
+				GLX_nvidia
+				vdpau_nvidia
 			)
+			if use amd64; then
+				libs+=(
+					nvidia-fbc
+					nvidia-ifr
+				)
+			fi
 		fi
-	fi
 
-	local libdir=.
-	if multilib_is_native_abi; then
-		libs+=(
-			nvidia-cbl
-			nvidia-cfg
-			nvidia-rtcore
-			nvoptix
-		)
-		use amd64 && libs+=( nvidia-ngx )
-	else
-		libdir+=/32
-	fi
+		local libdir=.
+		if multilib_is_native_abi; then
+			libs+=(
+				nvidia-cbl
+				nvidia-cfg
+				nvidia-rtcore
+				nvoptix
+			)
+			use amd64 && libs+=( nvidia-ngx )
+		else
+			libdir+=/32
+		fi
 
-	local lib soname
-	for lib in "${libs[@]}"; do
-		[[ ${lib:0:3} != lib ]] && lib=lib${lib}.so.${PV}
+		local lib soname
+		for lib in "${libs[@]}"; do
+			lib=lib${lib}.so.${PV}
 
-		# auto-detect soname and create appropriate symlinks
-		soname=$(scanelf -qF'%S#F' "${lib}") || die "Scanning ${lib} failed"
-		if [[ ${soname} && ${soname} != ${lib} ]]; then
-			ln -s ${lib} ${libdir}/${soname} || die
-		fi
-		ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+			# auto-detect soname and create appropriate symlinks
+			soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+			if [[ ${soname} && ${soname} != ${lib} ]]; then
+				ln -s ${lib} ${libdir}/${soname} || die
+			fi
+			ln -s ${lib} ${libdir}/${lib%.so*}.so || die
 
-		dolib.so ${libdir}/${lib%.so*}*
-	done
-}
+			dolib.so ${libdir}/${lib%.so*}*
+		done
+	}
 
-src_install() {
 	if use driver; then
 		linux-mod_src_install
 
@@ -273,20 +286,20 @@ src_install() {
 	newins nvidia-application-profiles{-${PV},}-rc
 
 	# install built helpers
-	nvidia-drivers_make modprobe install
+	nvidia-drivers_make_install modprobe
 	# allow video group to load mods and create devs (bug #505092)
 	fowners root:video /usr/bin/nvidia-modprobe
 	fperms 4710 /usr/bin/nvidia-modprobe
 
-	nvidia-drivers_make persistenced install
+	nvidia-drivers_make_install persistenced
 	newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
 	newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
 	systemd_dounit nvidia-persistenced.service
 
-	use X && nvidia-drivers_make xconfig install
+	use X && nvidia-drivers_make_install xconfig
 
 	if use tools; then
-		nvidia-drivers_make settings install
+		nvidia-drivers_make_install settings
 		doicon nvidia-settings/doc/nvidia-settings.png
 		domenu nvidia-settings/doc/nvidia-settings.desktop
 
@@ -320,10 +333,11 @@ src_install() {
 	# install prebuilt-only libraries
 	multilib_foreach_abi nvidia-drivers_libs_install
 
+	# install systemd sleep services
 	exeinto /lib/systemd/system-sleep
 	doexe nvidia
 	dobin nvidia-sleep.sh
-	systemd_dounit *.service
+	systemd_dounit nvidia-{hibernate,resume,suspend}.service
 
 	einstalldocs
 }

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild
index e6d9570a271..b160a613192 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-460.67.ebuild
@@ -72,17 +72,6 @@ BDEPEND="
 
 QA_PREBUILT="opt/* usr/lib*"
 
-CONFIG_CHECK="
-	~DRM_KMS_HELPER
-	~SYSVIPC
-	~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
-	~!LOCKDEP
-	!DEBUG_MUTEXES"
-ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
-	of drivers (no custom config), and optional nvidia-drm.modeset=1.
-	Cannot be directly selected in the kernel's menuconfig, so enable
-	options such as CONFIG_DRM_FBDEV_EMULATION instead."
-
 PATCHES=(
 	"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
 )
@@ -94,6 +83,18 @@ HTML_DOCS=( html/. )
 
 pkg_setup() {
 	use driver || return
+
+	local CONFIG_CHECK="
+		~DRM_KMS_HELPER
+		~SYSVIPC
+		~!AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
+		~!LOCKDEP
+		!DEBUG_MUTEXES"
+	local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+	of drivers (no custom config), and optional nvidia-drm.modeset=1.
+	Cannot be directly selected in the kernel's menuconfig, so enable
+	options such as CONFIG_DRM_FBDEV_EMULATION instead."
+
 	BUILD_PARAMS='NV_VERBOSE=1 IGNORE_CC_MISMATCH=yes SYSSRC="${KV_DIR}" SYSOUT="${KV_OUT_DIR}"'
 	BUILD_TARGETS="modules" # defaults' clean sometimes deletes modules
 	MODULE_NAMES="
@@ -101,9 +102,10 @@ pkg_setup() {
 		nvidia-drm(video:kernel)
 		nvidia-modeset(video:kernel)
 		nvidia-uvm(video:kernel)"
+
 	linux-mod_pkg_setup
 
-	if [[ ${MERGE_TYPE} != binary ]] && kernel_is gt ${NV_KERNEL_MAX/./ }; then
+	if [[ ${MERGE_TYPE} != binary ]] && kernel_is -gt ${NV_KERNEL_MAX/./ }; then
 		ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of nvidia-drivers"
 		ewarn "or was not tested with it. It is recommended to use one of:"
 		ewarn "  <=sys-kernel/gentoo-kernel-${NV_KERNEL_MAX}"
@@ -144,16 +146,18 @@ src_prepare() {
 	gzip -d nvidia-{cuda-mps-control,smi}.1.gz || die
 }
 
-nvidia-drivers_make() {
-	emake -C nvidia-${1} ${2} \
-		DESTDIR="${ED}" PREFIX=/usr LIBDIR="${ED}/usr/$(get_libdir)" \
-		HOST_CC="$(tc-getBUILD_CC)" HOST_LD="$(tc-getBUILD_LD)" \
-		DO_STRIP= MANPAGE_GZIP= \
-		NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 OUTPUTDIR=out
-}
-
 src_compile() {
+	nvidia-drivers_make() {
+		emake -C nvidia-${1} ${2} \
+			PREFIX="${EPREFIX}/usr" \
+			HOST_CC="$(tc-getBUILD_CC)" \
+			HOST_LD="$(tc-getBUILD_LD)" \
+			NV_USE_BUNDLED_LIBJANSSON=0 \
+			NV_VERBOSE=1 DO_STRIP= OUTPUTDIR=out
+	}
+
 	tc-export AR CC LD OBJCOPY
+
 	# may no longer be relevant but kept as a safety
 	export DISTCC_DISABLE=1 CCACHE_DISABLE=1
 
@@ -170,69 +174,78 @@ src_compile() {
 	fi
 }
 
-nvidia-drivers_libs_install() {
-	local libs=(
-		EGL_nvidia
-		GLESv1_CM_nvidia
-		GLESv2_nvidia
-		cuda
-		nvcuvid
-		nvidia-allocator
-		nvidia-eglcore
-		nvidia-encode
-		nvidia-glcore
-		nvidia-glsi
-		nvidia-glvkspirv
-		nvidia-ml
-		nvidia-opencl
-		nvidia-opticalflow
-		nvidia-ptxjitcompiler
-		nvidia-tls
-	)
-	use amd64 && libs+=( nvidia-compiler )
-
-	if use X; then
-		libs+=(
-			GLX_nvidia
-			vdpau_nvidia
+src_install() {
+	nvidia-drivers_make_install() {
+		emake -C nvidia-${1} install \
+			DESTDIR="${D}" \
+			PREFIX="${EPREFIX}/usr" \
+			LIBDIR="${ED}/usr/$(get_libdir)" \
+			NV_USE_BUNDLED_LIBJANSSON=0 \
+			NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+	}
+
+	nvidia-drivers_libs_install() {
+		local libs=(
+			EGL_nvidia
+			GLESv1_CM_nvidia
+			GLESv2_nvidia
+			cuda
+			nvcuvid
+			nvidia-allocator
+			nvidia-eglcore
+			nvidia-encode
+			nvidia-glcore
+			nvidia-glsi
+			nvidia-glvkspirv
+			nvidia-ml
+			nvidia-opencl
+			nvidia-opticalflow
+			nvidia-ptxjitcompiler
+			nvidia-tls
 		)
-		if use amd64; then
+		use amd64 && libs+=( nvidia-compiler )
+
+		if use X; then
 			libs+=(
-				nvidia-fbc
-				nvidia-ifr
+				GLX_nvidia
+				vdpau_nvidia
 			)
+			if use amd64; then
+				libs+=(
+					nvidia-fbc
+					nvidia-ifr
+				)
+			fi
 		fi
-	fi
 
-	local libdir=.
-	if multilib_is_native_abi; then
-		libs+=(
-			nvidia-cbl
-			nvidia-cfg
-			nvidia-rtcore
-			nvoptix
-		)
-		use amd64 && libs+=( nvidia-ngx )
-	else
-		libdir+=/32
-	fi
+		local libdir=.
+		if multilib_is_native_abi; then
+			libs+=(
+				nvidia-cbl
+				nvidia-cfg
+				nvidia-rtcore
+				nvoptix
+			)
+			use amd64 && libs+=( nvidia-ngx )
+		else
+			libdir+=/32
+		fi
 
-	local lib soname
-	for lib in "${libs[@]}"; do
-		[[ ${lib:0:3} != lib ]] && lib=lib${lib}.so.${PV}
+		local lib soname
+		for lib in "${libs[@]}"; do
+			lib=lib${lib}.so.${PV}
 
-		# auto-detect soname and create appropriate symlinks
-		soname=$(scanelf -qF'%S#F' "${lib}") || die "Scanning ${lib} failed"
-		if [[ ${soname} && ${soname} != ${lib} ]]; then
-			ln -s ${lib} ${libdir}/${soname} || die
-		fi
-		ln -s ${lib} ${libdir}/${lib%.so*}.so || die
+			# auto-detect soname and create appropriate symlinks
+			soname=$(scanelf -qF'%S#F' ${lib}) || die "Scanning ${lib} failed"
+			if [[ ${soname} && ${soname} != ${lib} ]]; then
+				ln -s ${lib} ${libdir}/${soname} || die
+			fi
+			ln -s ${lib} ${libdir}/${lib%.so*}.so || die
 
-		dolib.so ${libdir}/${lib%.so*}*
-	done
-}
+			dolib.so ${libdir}/${lib%.so*}*
+		done
+	}
 
-src_install() {
 	if use driver; then
 		linux-mod_src_install
 
@@ -273,20 +286,20 @@ src_install() {
 	newins nvidia-application-profiles{-${PV},}-rc
 
 	# install built helpers
-	nvidia-drivers_make modprobe install
+	nvidia-drivers_make_install modprobe
 	# allow video group to load mods and create devs (bug #505092)
 	fowners root:video /usr/bin/nvidia-modprobe
 	fperms 4710 /usr/bin/nvidia-modprobe
 
-	nvidia-drivers_make persistenced install
+	nvidia-drivers_make_install persistenced
 	newconfd "${FILESDIR}/nvidia-persistenced.confd" nvidia-persistenced
 	newinitd "${FILESDIR}/nvidia-persistenced.initd" nvidia-persistenced
 	systemd_dounit nvidia-persistenced.service
 
-	use X && nvidia-drivers_make xconfig install
+	use X && nvidia-drivers_make_install xconfig
 
 	if use tools; then
-		nvidia-drivers_make settings install
+		nvidia-drivers_make_install settings
 		doicon nvidia-settings/doc/nvidia-settings.png
 		domenu nvidia-settings/doc/nvidia-settings.desktop
 
@@ -320,10 +333,11 @@ src_install() {
 	# install prebuilt-only libraries
 	multilib_foreach_abi nvidia-drivers_libs_install
 
+	# install systemd sleep services
 	exeinto /lib/systemd/system-sleep
 	doexe nvidia
 	dobin nvidia-sleep.sh
-	systemd_dounit *.service
+	systemd_dounit nvidia-{hibernate,resume,suspend}.service
 
 	einstalldocs
 }


             reply	other threads:[~2021-04-03 19:03 UTC|newest]

Thread overview: 826+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-03 19:03 David Seifert [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-27 17:11 [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/ Ionen Wolkens
2025-02-27 17:11 Ionen Wolkens
2025-02-22  3:07 Ionen Wolkens
2025-02-14  8:00 Ionen Wolkens
2025-02-14  8:00 Ionen Wolkens
2025-02-05 19:22 Ionen Wolkens
2025-02-04 14:00 Ionen Wolkens
2025-02-01  1:31 Ionen Wolkens
2025-01-30 16:33 Ionen Wolkens
2025-01-25 13:08 Ionen Wolkens
2025-01-21 15:33 Ionen Wolkens
2025-01-21 15:33 Ionen Wolkens
2025-01-16 17:34 Ionen Wolkens
2025-01-16 17:34 Ionen Wolkens
2025-01-16 17:34 Ionen Wolkens
2025-01-07  6:49 Ionen Wolkens
2025-01-01  9:15 Ionen Wolkens
2024-12-20  6:48 Ionen Wolkens
2024-12-17 17:48 Ionen Wolkens
2024-12-14  4:19 Ionen Wolkens
2024-12-12 22:36 Ionen Wolkens
2024-12-12 22:36 Ionen Wolkens
2024-12-10  5:21 Ionen Wolkens
2024-12-05 16:10 Ionen Wolkens
2024-12-05  6:25 Ionen Wolkens
2024-12-05  6:18 Ionen Wolkens
2024-12-03  8:58 Ionen Wolkens
2024-11-24 11:01 Ionen Wolkens
2024-11-22 21:36 Ionen Wolkens
2024-11-22  0:28 Ionen Wolkens
2024-11-20 19:55 Ionen Wolkens
2024-11-19 20:34 Ionen Wolkens
2024-11-04 13:31 Ionen Wolkens
2024-10-30  7:29 Ionen Wolkens
2024-10-30  7:29 Ionen Wolkens
2024-10-30  7:29 Ionen Wolkens
2024-10-26  4:29 Ionen Wolkens
2024-10-23  9:08 Ionen Wolkens
2024-10-23  3:09 Ionen Wolkens
2024-10-23  2:17 Ionen Wolkens
2024-10-22 16:52 Ionen Wolkens
2024-10-22 16:52 Ionen Wolkens
2024-10-22 16:52 Ionen Wolkens
2024-10-22 16:52 Ionen Wolkens
2024-10-22 15:11 Ionen Wolkens
2024-10-07 23:42 Ionen Wolkens
2024-10-07  0:35 Ionen Wolkens
2024-09-30 19:31 Ionen Wolkens
2024-09-26 23:48 Ionen Wolkens
2024-09-19 23:31 Ionen Wolkens
2024-09-19 21:07 Ionen Wolkens
2024-09-16 16:44 Andrew Ammerlaan
2024-09-16  6:15 Ionen Wolkens
2024-08-31 13:53 Ionen Wolkens
2024-08-24 16:50 Ionen Wolkens
2024-08-24 16:50 Ionen Wolkens
2024-08-21 16:04 Ionen Wolkens
2024-08-09  9:27 Ionen Wolkens
2024-08-08  4:39 Ionen Wolkens
2024-08-08  4:39 Ionen Wolkens
2024-08-06 16:39 Ionen Wolkens
2024-07-30 22:28 Ionen Wolkens
2024-07-29 16:17 Ionen Wolkens
2024-07-29 16:17 Ionen Wolkens
2024-07-29 16:17 Ionen Wolkens
2024-07-25  6:41 Ionen Wolkens
2024-07-24 12:54 Ionen Wolkens
2024-07-23 15:15 Ionen Wolkens
2024-07-19  5:41 Ionen Wolkens
2024-07-15  6:05 Ionen Wolkens
2024-07-09 18:49 Ionen Wolkens
2024-07-02  1:36 Ionen Wolkens
2024-06-30  6:49 Ionen Wolkens
2024-06-28 14:45 Ionen Wolkens
2024-06-27 23:26 Ionen Wolkens
2024-06-14 15:15 Ionen Wolkens
2024-06-14 15:15 Ionen Wolkens
2024-06-14 15:15 Ionen Wolkens
2024-06-14 15:15 Ionen Wolkens
2024-06-05 15:12 Ionen Wolkens
2024-06-04 19:36 Ionen Wolkens
2024-06-04 19:36 Ionen Wolkens
2024-06-04 19:36 Ionen Wolkens
2024-06-04 19:36 Ionen Wolkens
2024-06-01  1:09 Ionen Wolkens
2024-05-26 23:39 Ionen Wolkens
2024-05-21 15:03 Ionen Wolkens
2024-05-21 15:03 Ionen Wolkens
2024-05-13  0:13 Ionen Wolkens
2024-05-13  0:13 Ionen Wolkens
2024-05-09 18:23 Ionen Wolkens
2024-04-27 12:11 Ionen Wolkens
2024-04-27 12:11 Ionen Wolkens
2024-04-25 16:45 Ionen Wolkens
2024-04-25  7:58 Ionen Wolkens
2024-04-19  0:01 Ionen Wolkens
2024-04-17 18:32 Ionen Wolkens
2024-04-02 18:31 Ionen Wolkens
2024-03-26  6:24 Ionen Wolkens
2024-03-26  6:24 Ionen Wolkens
2024-03-26  6:24 Ionen Wolkens
2024-03-21 15:32 Ionen Wolkens
2024-03-20  7:17 Ionen Wolkens
2024-03-19 16:45 Ionen Wolkens
2024-03-11  2:00 Ionen Wolkens
2024-03-11  2:00 Ionen Wolkens
2024-03-11  2:00 Ionen Wolkens
2024-03-08 21:39 Ionen Wolkens
2024-03-02 13:32 Ionen Wolkens
2024-03-02 13:32 Ionen Wolkens
2024-02-26 13:23 Ionen Wolkens
2024-02-26 13:23 Ionen Wolkens
2024-02-22  6:16 Ionen Wolkens
2024-02-17  9:43 Ionen Wolkens
2024-02-07  9:50 Ionen Wolkens
2024-02-03  3:39 Ionen Wolkens
2024-02-02  5:23 Ionen Wolkens
2024-01-31 10:25 Ionen Wolkens
2024-01-30  3:37 Ionen Wolkens
2024-01-26  5:09 Ionen Wolkens
2024-01-24 20:58 Ionen Wolkens
2024-01-24 20:58 Ionen Wolkens
2024-01-24 18:05 Ionen Wolkens
2024-01-24 18:05 Ionen Wolkens
2024-01-23  9:11 Ionen Wolkens
2024-01-18  2:25 Ionen Wolkens
2024-01-16 18:21 Ionen Wolkens
2024-01-12 23:37 Ionen Wolkens
2024-01-08  0:25 Ionen Wolkens
2024-01-08  0:25 Ionen Wolkens
2024-01-07 18:16 Ionen Wolkens
2023-12-20 16:20 Ionen Wolkens
2023-12-16 12:06 Ionen Wolkens
2023-12-09  9:55 Ionen Wolkens
2023-12-07 17:06 Ionen Wolkens
2023-12-02  7:57 Ionen Wolkens
2023-11-30 19:42 Ionen Wolkens
2023-11-22 15:54 Ionen Wolkens
2023-11-13  4:04 Ionen Wolkens
2023-11-13  4:04 Ionen Wolkens
2023-11-13  4:04 Ionen Wolkens
2023-11-13  4:04 Ionen Wolkens
2023-11-07  2:38 Ionen Wolkens
2023-10-31 16:33 Ionen Wolkens
2023-10-31 16:20 Ionen Wolkens
2023-10-31 16:20 Ionen Wolkens
2023-10-31 16:20 Ionen Wolkens
2023-10-31 16:20 Ionen Wolkens
2023-10-30 10:39 Ionen Wolkens
2023-10-25  6:12 Ionen Wolkens
2023-10-17 17:52 Ionen Wolkens
2023-10-17 17:52 Ionen Wolkens
2023-10-11 21:22 Ionen Wolkens
2023-10-08  4:28 Ionen Wolkens
2023-10-07  2:04 Ionen Wolkens
2023-09-28 18:45 Ionen Wolkens
2023-09-21 16:20 Ionen Wolkens
2023-09-20 16:31 Ionen Wolkens
2023-09-18  3:49 Ionen Wolkens
2023-09-18  3:41 Ionen Wolkens
2023-09-09 21:04 Ionen Wolkens
2023-09-09 21:04 Ionen Wolkens
2023-09-05 16:13 Ionen Wolkens
2023-09-04  3:52 Ionen Wolkens
2023-08-29 12:37 Ionen Wolkens
2023-08-26 22:50 Ionen Wolkens
2023-08-22 16:12 Ionen Wolkens
2023-08-20  3:29 Ionen Wolkens
2023-08-20  3:29 Ionen Wolkens
2023-08-18 12:45 Ionen Wolkens
2023-08-10 11:38 Ionen Wolkens
2023-08-08 19:35 Ionen Wolkens
2023-08-06 10:07 Ionen Wolkens
2023-08-06  4:32 Ionen Wolkens
2023-08-06  4:32 Ionen Wolkens
2023-08-03  6:45 Ionen Wolkens
2023-07-29  5:30 Ionen Wolkens
2023-07-25  1:01 Ionen Wolkens
2023-07-18 19:11 Ionen Wolkens
2023-07-12  6:09 Ionen Wolkens
2023-07-08 14:17 Ionen Wolkens
2023-07-03  7:25 Ionen Wolkens
2023-07-03  7:25 Ionen Wolkens
2023-07-03  7:25 Ionen Wolkens
2023-06-27  3:51 Ionen Wolkens
2023-06-27  3:51 Ionen Wolkens
2023-06-27  3:51 Ionen Wolkens
2023-06-27  3:51 Ionen Wolkens
2023-06-26  1:33 Ionen Wolkens
2023-06-26  1:33 Ionen Wolkens
2023-06-16  4:06 Ionen Wolkens
2023-06-14 16:38 Ionen Wolkens
2023-06-14 16:38 Ionen Wolkens
2023-06-05 16:00 Ionen Wolkens
2023-06-05 14:39 Ionen Wolkens
2023-06-05  6:00 Ionen Wolkens
2023-06-04 14:17 Ionen Wolkens
2023-06-04 13:36 Ionen Wolkens
2023-06-04 13:36 Ionen Wolkens
2023-05-30 17:14 Ionen Wolkens
2023-05-30 17:14 Ionen Wolkens
2023-05-30 11:02 Ionen Wolkens
2023-05-26 23:16 Ionen Wolkens
2023-05-25  1:27 Ionen Wolkens
2023-05-23  8:26 Ionen Wolkens
2023-05-23  8:26 Ionen Wolkens
2023-05-21  5:39 Ionen Wolkens
2023-05-17  6:56 Ionen Wolkens
2023-05-09 18:02 Ionen Wolkens
2023-05-08 21:44 Ionen Wolkens
2023-04-28  6:38 Ionen Wolkens
2023-04-27 22:21 Ionen Wolkens
2023-04-25 15:46 Ionen Wolkens
2023-04-24  2:20 Ionen Wolkens
2023-04-05 15:23 Ionen Wolkens
2023-04-05 13:25 Ionen Wolkens
2023-04-05 13:25 Ionen Wolkens
2023-04-05 13:25 Ionen Wolkens
2023-04-05 13:25 Ionen Wolkens
2023-03-31 13:45 Ionen Wolkens
2023-03-31  0:26 Ionen Wolkens
2023-03-31  0:26 Ionen Wolkens
2023-03-31  0:26 Ionen Wolkens
2023-03-31  0:26 Ionen Wolkens
2023-03-31  0:26 Ionen Wolkens
2023-03-31  0:26 Ionen Wolkens
2023-03-25  3:19 Ionen Wolkens
2023-03-23 15:44 Ionen Wolkens
2023-03-23  4:21 Ionen Wolkens
2023-03-22 11:00 Ionen Wolkens
2023-03-22  4:00 Ionen Wolkens
2023-03-12  7:04 Ionen Wolkens
2023-02-27 22:58 Ionen Wolkens
2023-02-25 23:03 Ionen Wolkens
2023-02-20  5:57 Ionen Wolkens
2023-02-08 18:28 Ionen Wolkens
2023-01-30 19:11 Ionen Wolkens
2023-01-26 15:13 Ionen Wolkens
2023-01-26 15:13 Ionen Wolkens
2023-01-24 18:39 Ionen Wolkens
2023-01-20  2:21 Ionen Wolkens
2023-01-05 17:23 Ionen Wolkens
2022-12-29 20:29 Ionen Wolkens
2022-12-27 11:11 Ionen Wolkens
2022-12-27 11:11 Ionen Wolkens
2022-12-27 11:11 Ionen Wolkens
2022-12-27 11:11 Ionen Wolkens
2022-12-27 11:11 Ionen Wolkens
2022-12-19 13:22 Ionen Wolkens
2022-12-12  3:44 Ionen Wolkens
2022-12-12  3:44 Ionen Wolkens
2022-12-12  3:44 Ionen Wolkens
2022-12-09 23:05 Ionen Wolkens
2022-12-07 20:25 Ionen Wolkens
2022-12-05 21:40 Ionen Wolkens
2022-11-28 16:21 Ionen Wolkens
2022-11-23 21:52 Ionen Wolkens
2022-11-22 20:41 Ionen Wolkens
2022-11-22 20:41 Ionen Wolkens
2022-11-22 20:41 Ionen Wolkens
2022-11-22 20:41 Ionen Wolkens
2022-11-18  2:56 Ionen Wolkens
2022-11-16 18:57 Ionen Wolkens
2022-11-11  8:27 Ionen Wolkens
2022-11-01 19:41 Ionen Wolkens
2022-10-25 20:05 Ionen Wolkens
2022-10-20 13:34 Ionen Wolkens
2022-10-15 20:07 Ionen Wolkens
2022-10-12 15:58 Ionen Wolkens
2022-10-04  5:51 Ionen Wolkens
2022-10-03  2:11 Ionen Wolkens
2022-10-03  1:46 Ionen Wolkens
2022-10-02  4:17 Ionen Wolkens
2022-10-02  3:59 Ionen Wolkens
2022-10-01 13:19 Ionen Wolkens
2022-09-28 15:41 Ionen Wolkens
2022-09-27 23:46 Ionen Wolkens
2022-09-25 22:36 Ionen Wolkens
2022-09-20 22:48 Ionen Wolkens
2022-09-02 19:07 Ionen Wolkens
2022-09-02  6:02 Ionen Wolkens
2022-08-24 18:55 Ionen Wolkens
2022-08-24 18:55 Ionen Wolkens
2022-08-17 22:45 Ionen Wolkens
2022-08-17 22:45 Ionen Wolkens
2022-08-17 22:45 Ionen Wolkens
2022-08-17 22:45 Ionen Wolkens
2022-08-07 13:59 Ionen Wolkens
2022-08-02 18:19 Ionen Wolkens
2022-08-02 18:19 Ionen Wolkens
2022-08-02 18:19 Ionen Wolkens
2022-08-02 18:19 Ionen Wolkens
2022-07-21  5:38 Ionen Wolkens
2022-07-03  4:58 Ionen Wolkens
2022-07-03  4:58 Ionen Wolkens
2022-06-28 17:26 Ionen Wolkens
2022-06-28 17:26 Ionen Wolkens
2022-06-28 17:26 Ionen Wolkens
2022-06-22  0:54 Ionen Wolkens
2022-06-17 20:00 Ionen Wolkens
2022-06-12 16:40 Ionen Wolkens
2022-06-09  4:13 Ionen Wolkens
2022-06-09  0:09 Ionen Wolkens
2022-06-09  0:09 Ionen Wolkens
2022-06-07 15:55 Ionen Wolkens
2022-06-07 13:53 Ionen Wolkens
2022-06-01 17:09 Ionen Wolkens
2022-06-01 17:09 Ionen Wolkens
2022-05-31 16:30 Ionen Wolkens
2022-05-30 16:32 Ionen Wolkens
2022-05-29 16:47 Ionen Wolkens
2022-05-26  6:07 Ionen Wolkens
2022-05-26  6:07 Ionen Wolkens
2022-05-26  6:07 Ionen Wolkens
2022-05-25  5:18 Ionen Wolkens
2022-05-23 12:17 Ionen Wolkens
2022-05-21  0:38 Ionen Wolkens
2022-05-16 18:40 Ionen Wolkens
2022-05-16 18:40 Ionen Wolkens
2022-05-16 18:40 Ionen Wolkens
2022-05-12 17:40 Ionen Wolkens
2022-05-12  2:43 Ionen Wolkens
2022-05-12  0:19 Ionen Wolkens
2022-05-11 23:53 Ionen Wolkens
2022-05-11 21:51 Ionen Wolkens
2022-05-11 21:51 Ionen Wolkens
2022-05-11  6:19 Ionen Wolkens
2022-04-30  6:43 Ionen Wolkens
2022-04-26 16:49 Ionen Wolkens
2022-04-24  6:42 Ionen Wolkens
2022-04-15 20:44 Ionen Wolkens
2022-04-12 21:23 Ionen Wolkens
2022-03-30  7:16 Ionen Wolkens
2022-03-29 15:45 Ionen Wolkens
2022-03-29 15:45 Ionen Wolkens
2022-03-28 16:13 Ionen Wolkens
2022-03-28 16:13 Ionen Wolkens
2022-03-23  0:32 Ionen Wolkens
2022-03-23  0:32 Ionen Wolkens
2022-03-05 18:36 Ionen Wolkens
2022-03-02 10:07 Ionen Wolkens
2022-03-02 10:07 Ionen Wolkens
2022-02-14 16:19 Ionen Wolkens
2022-02-14  2:14 Ionen Wolkens
2022-02-14  0:48 Sam James
2022-02-07 21:13 Ionen Wolkens
2022-02-07 21:13 Ionen Wolkens
2022-02-06 19:47 Ionen Wolkens
2022-02-05 23:39 Ionen Wolkens
2022-02-01 17:58 Ionen Wolkens
2022-02-01  2:38 Ionen Wolkens
2022-01-26  1:09 Ionen Wolkens
2022-01-26  1:09 Ionen Wolkens
2022-01-20 22:45 Ionen Wolkens
2022-01-20 22:45 Ionen Wolkens
2022-01-20 19:30 Ionen Wolkens
2022-01-16  8:01 Ionen Wolkens
2022-01-12  3:29 Ionen Wolkens
2022-01-12  3:07 Ionen Wolkens
2022-01-10 21:07 Ionen Wolkens
2021-12-31 23:53 Ionen Wolkens
2021-12-31 23:53 Ionen Wolkens
2021-12-28 19:48 Ionen Wolkens
2021-12-28 13:14 Ionen Wolkens
2021-12-28 11:55 Ionen Wolkens
2021-12-28 11:55 Ionen Wolkens
2021-12-26 15:42 Ionen Wolkens
2021-12-24 14:28 Ionen Wolkens
2021-12-20  0:47 Ionen Wolkens
2021-12-19 19:39 Ionen Wolkens
2021-12-16 19:11 Ionen Wolkens
2021-12-15 10:48 Ionen Wolkens
2021-12-15 10:48 Ionen Wolkens
2021-12-14 15:56 Ionen Wolkens
2021-12-14 15:56 Ionen Wolkens
2021-12-14 15:56 Ionen Wolkens
2021-12-03  1:27 Ionen Wolkens
2021-12-02  5:13 Ionen Wolkens
2021-11-24 19:55 Ionen Wolkens
2021-11-24 19:55 Ionen Wolkens
2021-11-24  6:02 Ionen Wolkens
2021-11-19  7:04 Ionen Wolkens
2021-11-19  0:00 Ionen Wolkens
2021-11-18 23:28 Ionen Wolkens
2021-11-17 19:07 Ionen Wolkens
2021-11-17 19:07 Ionen Wolkens
2021-11-15 21:54 Ionen Wolkens
2021-11-10 21:07 Ionen Wolkens
2021-11-10  5:57 Ionen Wolkens
2021-11-07 12:24 Ionen Wolkens
2021-11-03  5:58 Ionen Wolkens
2021-11-03  5:58 Ionen Wolkens
2021-11-01 18:03 Ionen Wolkens
2021-11-01  5:47 Ionen Wolkens
2021-10-31 12:59 Ionen Wolkens
2021-10-30 13:10 Ionen Wolkens
2021-10-29  0:02 Ionen Wolkens
2021-10-26 21:36 Ionen Wolkens
2021-10-26 21:36 Ionen Wolkens
2021-10-24  3:30 Ionen Wolkens
2021-10-15 14:57 Ionen Wolkens
2021-10-15  0:24 Ionen Wolkens
2021-10-14 23:34 Ionen Wolkens
2021-10-14 23:34 Ionen Wolkens
2021-10-14 23:34 Ionen Wolkens
2021-10-14 17:51 Ionen Wolkens
2021-10-11 13:59 Ionen Wolkens
2021-10-09 12:06 Ionen Wolkens
2021-09-20 19:21 Ionen Wolkens
2021-09-12 19:19 Ionen Wolkens
2021-08-30 19:45 Ionen Wolkens
2021-08-30 19:45 Ionen Wolkens
2021-08-14  7:15 Ionen Wolkens
2021-08-10 18:52 Ionen Wolkens
2021-08-10  3:29 Ionen Wolkens
2021-08-02 16:33 Ionen Wolkens
2021-08-02 16:33 Ionen Wolkens
2021-07-30 19:58 Ionen Wolkens
2021-07-29 12:08 David Seifert
2021-07-29  1:22 Ionen Wolkens
2021-07-29  1:22 Ionen Wolkens
2021-07-22 15:08 Ionen Wolkens
2021-07-21 19:44 Ionen Wolkens
2021-07-21 19:44 Ionen Wolkens
2021-07-21 19:44 Ionen Wolkens
2021-07-21 19:44 Ionen Wolkens
2021-07-20  1:23 Ionen Wolkens
2021-07-20  1:23 Ionen Wolkens
2021-07-20  1:23 Ionen Wolkens
2021-07-20  1:23 Ionen Wolkens
2021-07-20  1:23 Ionen Wolkens
2021-07-20  1:23 Ionen Wolkens
2021-07-18 14:00 Ionen Wolkens
2021-06-29  9:04 Ionen Wolkens
2021-06-22 19:14 Ionen Wolkens
2021-06-11 17:49 Ionen Wolkens
2021-06-08  7:10 Ionen Wolkens
2021-06-08  7:10 Ionen Wolkens
2021-06-03 17:33 Ionen Wolkens
2021-06-03 17:33 Ionen Wolkens
2021-05-21 18:27 David Seifert
2021-05-18 19:01 David Seifert
2021-05-18 19:01 David Seifert
2021-05-18 19:01 David Seifert
2021-05-01 11:32 David Seifert
2021-04-26 15:32 David Seifert
2021-04-25  8:51 David Seifert
2021-04-21 12:22 David Seifert
2021-04-21 12:22 David Seifert
2021-04-21 12:22 David Seifert
2021-04-21 12:22 David Seifert
2021-04-21 12:22 David Seifert
2021-04-21 12:22 David Seifert
2021-04-17 14:44 David Seifert
2021-04-17 14:44 David Seifert
2021-04-17 14:44 David Seifert
2021-04-17 14:44 David Seifert
2021-04-06 20:00 David Seifert
2021-04-06 20:00 David Seifert
2021-04-06 20:00 David Seifert
2021-04-03 19:03 David Seifert
2021-04-03 19:03 David Seifert
2021-04-03 19:03 David Seifert
2021-04-03 19:03 David Seifert
2021-04-03 19:03 David Seifert
2021-03-22  5:18 Sam James
2021-03-21 15:53 David Seifert
2021-03-21 15:53 David Seifert
2021-03-21 15:53 David Seifert
2021-02-28 15:44 David Seifert
2021-02-14 14:22 David Seifert
2021-02-14 14:22 David Seifert
2021-02-14 14:22 David Seifert
2021-02-14 14:22 David Seifert
2021-02-14 14:22 David Seifert
2021-02-14 14:22 David Seifert
2021-02-14 14:22 David Seifert
2021-02-14 14:22 David Seifert
2021-02-14 14:22 David Seifert
2021-02-08  9:23 David Seifert
2021-02-08  8:58 David Seifert
2021-02-08  8:58 David Seifert
2021-02-08  8:58 David Seifert
2021-02-08  8:58 David Seifert
2021-02-08  8:58 David Seifert
2021-02-08  8:58 David Seifert
2020-12-27 23:04 David Seifert
2020-12-27 10:58 David Seifert
2020-12-27 10:49 David Seifert
2020-12-27 10:49 David Seifert
2020-12-07 10:40 David Seifert
2020-11-18 18:26 David Seifert
2020-11-12 12:10 David Seifert
2020-10-29 22:49 David Seifert
2020-10-16 10:13 Jeroen Roovers
2020-10-16  9:52 Jeroen Roovers
2020-10-16  9:52 Jeroen Roovers
2020-10-16  9:52 Jeroen Roovers
2020-10-16  9:28 Jeroen Roovers
2020-10-12 11:48 Jeroen Roovers
2020-10-07 18:21 Jeroen Roovers
2020-10-07 18:21 Jeroen Roovers
2020-10-07 17:06 Jeroen Roovers
2020-09-30 18:36 Jeroen Roovers
2020-09-30 18:36 Jeroen Roovers
2020-09-30 15:53 Jeroen Roovers
2020-09-20 19:09 Jeroen Roovers
2020-09-17 20:29 Jeroen Roovers
2020-09-12 21:29 Piotr Karbowski
2020-08-26 12:01 Jeroen Roovers
2020-08-26 12:01 Jeroen Roovers
2020-08-18 20:22 Jeroen Roovers
2020-08-11 23:24 Matt Turner
2020-08-04  8:58 Jeroen Roovers
2020-08-01  6:41 Jeroen Roovers
2020-07-29  9:21 Jeroen Roovers
2020-07-29  9:07 Jeroen Roovers
2020-07-29  8:31 Jeroen Roovers
2020-07-29  7:15 Jeroen Roovers
2020-07-16 17:04 Jeroen Roovers
2020-07-09 17:30 Jeroen Roovers
2020-07-09 17:20 Jeroen Roovers
2020-07-09 17:19 Jeroen Roovers
2020-07-01 12:02 Jeroen Roovers
2020-06-29  8:42 Jeroen Roovers
2020-06-28 14:11 Jeroen Roovers
2020-06-27  4:22 Jeroen Roovers
2020-06-27  4:22 Jeroen Roovers
2020-06-27  4:22 Jeroen Roovers
2020-06-26  9:55 David Seifert
2020-06-25  8:18 Jeroen Roovers
2020-06-25  7:43 Jeroen Roovers
2020-06-25  7:43 Jeroen Roovers
2020-06-05  7:04 Jeroen Roovers
2020-05-27  5:14 Jeroen Roovers
2020-05-21  7:07 Jeroen Roovers
2020-05-21  7:07 Jeroen Roovers
2020-05-01  4:08 Jeroen Roovers
2020-04-20 10:14 Jeroen Roovers
2020-04-20 10:14 Jeroen Roovers
2020-04-20 10:14 Jeroen Roovers
2020-04-20 10:14 Jeroen Roovers
2020-04-08  9:31 Jeroen Roovers
2020-03-28  6:47 Jeroen Roovers
2020-03-28  6:47 Jeroen Roovers
2020-03-16 19:28 Jeroen Roovers
2020-03-15 20:35 Jeroen Roovers
2020-03-10 11:54 David Seifert
2020-03-10  8:22 Jeroen Roovers
2020-03-10  8:22 Jeroen Roovers
2020-03-07  5:47 Matt Turner
2020-02-11 17:31 Jeroen Roovers
2020-02-11 17:31 Jeroen Roovers
2020-02-04 10:11 Jeroen Roovers
2020-01-11 23:11 Jeroen Roovers
2020-01-11 23:11 Jeroen Roovers
2019-12-27 10:47 Jeroen Roovers
2019-12-23  9:15 Jeroen Roovers
2019-12-23  9:15 Jeroen Roovers
2019-12-17 11:19 Jeroen Roovers
2019-12-13  7:21 Jeroen Roovers
2019-12-03 18:23 Jeroen Roovers
2019-12-03 18:23 Jeroen Roovers
2019-12-03 18:09 Jeroen Roovers
2019-11-28 13:59 Jeroen Roovers
2019-11-27 15:07 Jeroen Roovers
2019-11-27 15:07 Jeroen Roovers
2019-11-25 15:42 Jeroen Roovers
2019-11-18 19:05 Jeroen Roovers
2019-11-18 19:05 Jeroen Roovers
2019-11-18 19:05 Jeroen Roovers
2019-11-18 19:05 Jeroen Roovers
2019-11-18 19:05 Jeroen Roovers
2019-11-07 12:53 Jeroen Roovers
2019-11-04 14:52 Jeroen Roovers
2019-11-02 13:44 Jeroen Roovers
2019-11-02 13:20 Jeroen Roovers
2019-10-20  9:28 Jeroen Roovers
2019-09-26 18:57 Jeroen Roovers
2019-09-26 18:57 Jeroen Roovers
2019-09-16 13:32 Jeroen Roovers
2019-09-16 13:32 Jeroen Roovers
2019-09-12  9:32 Jeroen Roovers
2019-09-12  9:32 Jeroen Roovers
2019-09-12  9:32 Jeroen Roovers
2019-08-15  7:20 Jeroen Roovers
2019-08-10 13:41 Jeroen Roovers
2019-08-10 13:41 Jeroen Roovers
2019-08-06  6:21 Jeroen Roovers
2019-07-23 19:35 Jeroen Roovers
2019-07-23 19:35 Jeroen Roovers
2019-07-12  6:55 Jeroen Roovers
2019-07-11  6:07 Jeroen Roovers
2019-06-20 21:01 Jeroen Roovers
2019-06-20 21:01 Jeroen Roovers
2019-06-12  6:44 Jeroen Roovers
2019-05-18  7:26 Jeroen Roovers
2019-05-18  7:26 Jeroen Roovers
2019-05-14 14:56 Jeroen Roovers
2019-05-14 14:56 Jeroen Roovers
2019-05-14 14:56 Jeroen Roovers
2019-05-08 14:33 Jeroen Roovers
2019-05-08 14:33 Jeroen Roovers
2019-04-28 22:20 Jeroen Roovers
2019-04-24 11:11 Jeroen Roovers
2019-04-24 11:11 Jeroen Roovers
2019-04-08 19:23 Jeroen Roovers
2019-03-21  9:55 Jeroen Roovers
2019-03-11 22:28 Jeroen Roovers
2019-02-26 16:50 Jeroen Roovers
2019-02-26 16:50 Jeroen Roovers
2019-02-23 14:56 Jeroen Roovers
2019-02-02 14:00 Jeroen Roovers
2019-01-25 15:22 Jeroen Roovers
2019-01-25 15:22 Jeroen Roovers
2019-01-16 10:32 Jeroen Roovers
2019-01-15 17:42 Jeroen Roovers
2019-01-15 17:42 Jeroen Roovers
2019-01-15 17:40 Jeroen Roovers
2019-01-07 22:44 Jeroen Roovers
2019-01-07 22:44 Jeroen Roovers
2019-01-07 22:44 Jeroen Roovers
2018-12-30 23:12 Jeroen Roovers
2018-12-30 22:58 Jeroen Roovers
2018-12-25 14:03 Jeroen Roovers
2018-12-21 12:54 Jeroen Roovers
2018-12-21 12:54 Jeroen Roovers
2018-12-14 14:22 Jeroen Roovers
2018-12-14 13:47 Jeroen Roovers
2018-12-14 13:04 Jeroen Roovers
2018-12-14 11:32 Jeroen Roovers
2018-12-13 14:21 Jeroen Roovers
2018-12-13  1:24 Jeroen Roovers
2018-12-09 11:33 Jeroen Roovers
2018-11-30 12:14 Jeroen Roovers
2018-11-27 21:54 Jeroen Roovers
2018-11-27 21:54 Jeroen Roovers
2018-11-24 12:13 Jeroen Roovers
2018-11-24 11:51 Jeroen Roovers
2018-11-24 11:30 Jeroen Roovers
2018-11-21 10:39 Jeroen Roovers
2018-11-21 10:38 Jeroen Roovers
2018-11-21 10:35 Jeroen Roovers
2018-11-18  1:18 Thomas Deutschmann
2018-10-27 10:23 Jeroen Roovers
2018-10-20 11:14 Jeroen Roovers
2018-10-02  5:49 Jeroen Roovers
2018-09-30 20:47 Jeroen Roovers
2018-09-30 20:33 Jeroen Roovers
2018-09-20 10:10 Jeroen Roovers
2018-09-05 10:46 Jeroen Roovers
2018-09-05 10:46 Jeroen Roovers
2018-09-05 10:46 Jeroen Roovers
2018-09-05 10:46 Jeroen Roovers
2018-08-23 17:02 Jeroen Roovers
2018-08-14  8:16 Jeroen Roovers
2018-08-07  7:25 Jeroen Roovers
2018-08-07  7:25 Jeroen Roovers
2018-07-21 12:35 Jeroen Roovers
2018-07-17 14:33 Jeroen Roovers
2018-06-30  8:17 Jeroen Roovers
2018-06-19 14:21 Jeroen Roovers
2018-06-19 14:14 Jeroen Roovers
2018-06-19 12:54 Jeroen Roovers
2018-06-07  5:40 Jeroen Roovers
2018-06-07  5:38 Jeroen Roovers
2018-06-05  8:50 Jeroen Roovers
2018-06-04 16:01 Jeroen Roovers
2018-06-04 16:01 Jeroen Roovers
2018-06-04 16:01 Jeroen Roovers
2018-06-04 16:01 Jeroen Roovers
2018-05-16 14:51 Jeroen Roovers
2018-05-06 12:48 Jeroen Roovers
2018-05-06 12:48 Jeroen Roovers
2018-04-24 12:00 Jeroen Roovers
2018-04-20  8:54 Jeroen Roovers
2018-04-12  8:26 Jeroen Roovers
2018-04-11 19:17 Jeroen Roovers
2018-04-11 19:17 Jeroen Roovers
2018-04-11 19:14 Jeroen Roovers
2018-03-31 11:42 Jeroen Roovers
2018-03-23 15:16 Jeroen Roovers
2018-03-13 21:55 Jeroen Roovers
2018-03-13 21:55 Jeroen Roovers
2018-03-13 21:55 Jeroen Roovers
2018-01-31  5:43 Jeroen Roovers
2018-01-31  3:42 Jeroen Roovers
2018-01-21 10:45 Jeroen Roovers
2018-01-20 10:21 Jeroen Roovers
2017-12-21 14:52 Jeroen Roovers
2017-11-22  9:55 Jeroen Roovers
2017-11-22  9:49 Jeroen Roovers
2017-11-22  9:49 Jeroen Roovers
2017-11-22  9:44 Jeroen Roovers
2017-10-17 20:20 Jeroen Roovers
2017-09-27 16:26 Jeroen Roovers
2017-09-27 16:13 Jeroen Roovers
2017-09-27 12:27 Jeroen Roovers
2017-09-27 12:23 Jeroen Roovers
2017-09-25 22:49 Jeroen Roovers
2017-09-25 22:36 Jeroen Roovers
2017-09-23  5:57 Jeroen Roovers
2017-08-26 12:15 Jeroen Roovers
2017-08-26  6:50 Patrick Lauer
2017-08-12 13:07 Jeroen Roovers
2017-07-27 21:08 Jeroen Roovers
2017-07-25 15:41 Jeroen Roovers
2017-07-24 20:22 Jeroen Roovers
2017-07-06 19:30 Jeroen Roovers
2017-07-06 10:41 Jeroen Roovers
2017-07-06 10:41 Jeroen Roovers
2017-05-29  9:55 Jeroen Roovers
2017-05-25 14:03 Jeroen Roovers
2017-05-19  7:10 Jeroen Roovers
2017-05-18 22:18 Jeroen Roovers
2017-05-18 22:18 Jeroen Roovers
2017-05-18 22:18 Jeroen Roovers
2017-05-12 14:29 Jeroen Roovers
2017-05-12 14:12 Jeroen Roovers
2017-05-12  1:36 Richard Farina
2017-05-11  6:53 Jeroen Roovers
2017-05-06 11:48 Jeroen Roovers
2017-05-03  7:55 Jeroen Roovers
2017-05-01  7:44 Jeroen Roovers
2017-05-01  7:44 Jeroen Roovers
2017-04-25  7:38 Jeroen Roovers
2017-04-08  7:58 Jeroen Roovers
2017-03-30  7:29 Jeroen Roovers
2017-02-23 23:03 Jeroen Roovers
2017-02-15  6:58 Jeroen Roovers
2017-02-15  6:53 Jeroen Roovers
2017-01-24 12:33 Jeroen Roovers
2017-01-20 10:27 Jeroen Roovers
2017-01-20 10:07 Jeroen Roovers
2017-01-20  8:58 Jeroen Roovers
2017-01-20  8:07 Jeroen Roovers
2017-01-12 15:58 Jeroen Roovers
2017-01-12 15:58 Jeroen Roovers
2017-01-12 15:58 Jeroen Roovers
2017-01-12 15:58 Jeroen Roovers
2017-01-12 15:58 Jeroen Roovers
2017-01-12 15:58 Jeroen Roovers
2016-12-25 13:41 Jeroen Roovers
2016-12-24  9:19 Jeroen Roovers
2016-12-16 21:23 Sergei Trofimovich
2016-11-27 10:46 Jeroen Roovers
2016-11-11  9:41 Jeroen Roovers
2016-11-03 17:28 Jeroen Roovers
2016-11-03 17:28 Jeroen Roovers
2016-11-02 15:00 Jeroen Roovers
2016-08-17  6:17 Jeroen Roovers
2016-07-24 11:37 Jeroen Roovers
2016-07-16  6:20 Jeroen Roovers
2016-07-05 11:07 Jeroen Roovers
2016-06-15  9:13 Jeroen Roovers
2016-05-31  4:45 Jeroen Roovers
2016-05-24  7:02 Jeroen Roovers
2016-05-24  6:30 Jeroen Roovers
2016-04-23  8:42 Jeroen Roovers
2016-04-18  9:43 Patrice Clement
2016-04-13 11:35 Jeroen Roovers
2016-04-12  5:32 Jeroen Roovers
2016-03-25  3:46 Jeroen Roovers
2016-03-24 12:42 Jeroen Roovers
2016-03-24 12:07 Jeroen Roovers
2016-03-22  4:10 Jeroen Roovers
2016-03-22  4:10 Jeroen Roovers
2016-03-22  4:10 Jeroen Roovers
2016-02-20  7:07 Jeroen Roovers
2016-02-13 13:53 Jeroen Roovers
2016-02-13 13:53 Jeroen Roovers
2016-02-12  6:34 Jeroen Roovers
2016-02-10  6:30 Jeroen Roovers
2016-02-10  6:30 Jeroen Roovers
2016-02-06 16:54 Jeroen Roovers
2016-01-31 19:24 Jeroen Roovers
2016-01-30 12:53 Jeroen Roovers
2016-01-30 12:30 Jeroen Roovers
2016-01-30 12:19 Jeroen Roovers
2016-01-30 11:51 Jeroen Roovers
2016-01-30 11:47 Jeroen Roovers
2016-01-30 11:18 Jeroen Roovers
2016-01-30 11:18 Jeroen Roovers
2016-01-30 10:30 Jeroen Roovers
2016-01-29 11:12 Jeroen Roovers
2016-01-29 10:54 Jeroen Roovers
2016-01-29  6:27 Jeroen Roovers
2016-01-29  6:22 Jeroen Roovers
2016-01-29  6:22 Jeroen Roovers
2016-01-29  6:22 Jeroen Roovers
2016-01-29  6:22 Jeroen Roovers
2016-01-29  6:10 Jeroen Roovers
2016-01-21  8:26 Jeroen Roovers
2016-01-21  8:26 Jeroen Roovers
2016-01-14 11:33 Jeroen Roovers
2016-01-13  6:34 Jeroen Roovers
2016-01-10 21:39 Jeroen Roovers
2016-01-10 21:39 Jeroen Roovers
2016-01-10 21:20 Jeroen Roovers
2016-01-10 21:04 Jeroen Roovers
2016-01-10 21:04 Jeroen Roovers
2016-01-10 21:04 Jeroen Roovers
2016-01-06 10:48 Jeroen Roovers
2015-12-05 10:46 Jeroen Roovers
2015-12-05 10:35 Jeroen Roovers
2015-11-17  7:16 Jeroen Roovers
2015-11-17  6:31 Jeroen Roovers
2015-11-17  6:31 Jeroen Roovers
2015-11-17  6:31 Jeroen Roovers
2015-11-17  6:31 Jeroen Roovers
2015-11-09 10:10 Jeroen Roovers
2015-10-18  4:42 Jeroen Roovers
2015-10-15 14:04 Jeroen Roovers
2015-10-14  3:32 Jeroen Roovers
2015-10-14  3:32 Jeroen Roovers
2015-10-14  3:26 Jeroen Roovers
2015-09-23  5:47 Jeroen Roovers
2015-09-23  5:45 Jeroen Roovers
2015-09-21  5:11 Jeroen Roovers
2015-09-16  5:48 Jeroen Roovers
2015-09-07  4:31 Jeroen Roovers
2015-09-05 13:29 Jeroen Roovers
2015-09-05 13:29 Jeroen Roovers
2015-08-13  4:14 Jeroen Roovers
2015-08-13  4:04 Jeroen Roovers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1617476559.ed58cc9d7da5c91cd53dffd633926a5468cc3184.soap@gentoo \
    --to=soap@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox