From 19571f577cb686e34897cb7dcb83140d6821d53a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 22 Jun 2019 15:54:43 +0100 Subject: x11-misc/nvidia-settings : add a new slotted ebuild, add a linker patch, EAPI bump --- x11-misc/nvidia-settings/Manifest | 1 + .../files/nvidia-settings-linker.patch | 22 ++++++ .../nvidia-settings/nvidia-settings-390.116.ebuild | 40 +++++++--- .../nvidia-settings/nvidia-settings-430.26.ebuild | 91 ++++++++++++++++++++++ 4 files changed, 143 insertions(+), 11 deletions(-) create mode 100644 x11-misc/nvidia-settings/files/nvidia-settings-linker.patch create mode 100644 x11-misc/nvidia-settings/nvidia-settings-430.26.ebuild (limited to 'x11-misc') diff --git a/x11-misc/nvidia-settings/Manifest b/x11-misc/nvidia-settings/Manifest index aeac7acb..0d4eab51 100644 --- a/x11-misc/nvidia-settings/Manifest +++ b/x11-misc/nvidia-settings/Manifest @@ -1 +1,2 @@ DIST nvidia-settings-390.116.tar.gz 1297246 BLAKE2B d4bb69f5c84da8bfc1df88f0654821f91ee839dd18d99ab1132f10768f9eb9d093cc9a22e2f12611fd31d865bc40f8b65b6ea98d3269e3de6b212f03919c1e5a SHA512 81d15c4e969b8d5cc02749e9fa32d6ab75f2bccfcfd1d2d74dca4954384df730e50f774c7df45ae915fc64bb7369f438fab2d4d695044e0ba1d6d5db44875751 +DIST nvidia-settings-430.26.tar.gz 1317396 BLAKE2B 7eb8844920a34e3ddbac503f361d3aad3d253ea96eb5c0cc191b181d92b826565a2e458a1acfd0e5a9f68c6ae4ab4a924efb358ac55f30d2ce007d6113b1080b SHA512 408e585412f51ebfeb5e92d574e588ff8d0bfd47511d806864a2676c8635037da716b6d82cb6615bf8d03fb2042ecd700131b93cc6a5963489e726ba98aba6c2 diff --git a/x11-misc/nvidia-settings/files/nvidia-settings-linker.patch b/x11-misc/nvidia-settings/files/nvidia-settings-linker.patch new file mode 100644 index 00000000..de65a598 --- /dev/null +++ b/x11-misc/nvidia-settings/files/nvidia-settings-linker.patch @@ -0,0 +1,22 @@ +--- a/utils.mk ++++ b/utils.mk +@@ -475,7 +475,7 @@ + define READ_ONLY_OBJECT_FROM_FILE_RULE + $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1) + $(at_if_quiet)cd $$(dir $(1)); \ +- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \ ++ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \ + $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@) + $$(call quiet_cmd,OBJCOPY) \ + --rename-section .data=.rodata,contents,alloc,load,data,readonly \ +--- a/src/libXNVCtrl/utils.mk ++++ b/src/libXNVCtrl/utils.mk +@@ -475,7 +475,7 @@ + define READ_ONLY_OBJECT_FROM_FILE_RULE + $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1) + $(at_if_quiet)cd $$(dir $(1)); \ +- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \ ++ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \ + $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@) + $$(call quiet_cmd,OBJCOPY) \ + --rename-section .data=.rodata,contents,alloc,load,data,readonly \ diff --git a/x11-misc/nvidia-settings/nvidia-settings-390.116.ebuild b/x11-misc/nvidia-settings/nvidia-settings-390.116.ebuild index 5c79b7e7..bb21aea6 100644 --- a/x11-misc/nvidia-settings/nvidia-settings-390.116.ebuild +++ b/x11-misc/nvidia-settings/nvidia-settings-390.116.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=6 inherit eutils multilib toolchain-funcs @@ -33,32 +33,50 @@ COMMON_DEPEND=" >=x11-libs/libvdpau-1.0" RDEPEND="${COMMON_DEPEND} - x11-drivers/nvidia-drivers" + x11-drivers/nvidia-drivers:${SLOT}" DEPEND="${RDEPEND} virtual/pkgconfig x11-base/xorg-proto" +src_prepare() { + default + eapply "${FILESDIR}"/nvidia-settings-linker.patch +} + src_compile() { - einfo "Building libXNVCtrl..." emake -C src/ \ - CC="$(tc-getCC)" \ AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + DO_STRIP= \ + LD="$(tc-getCC)" \ + LIBDIR="$(get_libdir)" \ + NVLD="$(tc-getLD)" \ + NV_VERBOSE=1 \ RANLIB="$(tc-getRANLIB)" \ build-xnvctrl - einfo "Building nvidia-settings..." emake -C src/ \ CC="$(tc-getCC)" \ - LD="$(tc-getLD)" \ - STRIP_CMD="$(type -P true)" \ - NV_VERBOSE=1 \ + DO_STRIP= \ + GTK3_AVAILABLE=$(usex gtk3 1 0) \ + LD="$(tc-getCC)" \ + LIBDIR="$(get_libdir)" \ + NVLD="$(tc-getLD)" \ + NVML_ENABLED=0 \ NV_USE_BUNDLED_LIBJANSSON=0 \ - NVML_AVAILABLE=0 \ - GTK3_AVAILABLE=$(usex gtk3 1 0) + NV_VERBOSE=1 } src_install() { - emake -C src/ DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" NV_USE_BUNDLED_LIBJANSSON=0 GTK3_AVAILABLE=$(usex gtk3 1 0) PREFIX=/usr DO_STRIP= install + emake -C src/ \ + DESTDIR="${D}" \ + GTK3_AVAILABLE=$(usex gtk3 1 0) \ + LIBDIR="${D}/usr/$(get_libdir)" \ + NV_USE_BUNDLED_LIBJANSSON=0 \ + NV_VERBOSE=1 \ + PREFIX=/usr \ + DO_STRIP= \ + install insinto /usr/$(get_libdir) doins src/libXNVCtrl/libXNVCtrl.a diff --git a/x11-misc/nvidia-settings/nvidia-settings-430.26.ebuild b/x11-misc/nvidia-settings/nvidia-settings-430.26.ebuild new file mode 100644 index 00000000..0bdb5975 --- /dev/null +++ b/x11-misc/nvidia-settings/nvidia-settings-430.26.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="https://github.com/NVIDIA/nvidia-settings/archive/${PV}.tar.gz -> nvidia-settings-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0/43026" +KEYWORDS="-* amd64" +IUSE="gtk3" + +QA_PREBUILT= + +COMMON_DEPEND=" + x11-libs/gtk+:2 + gtk3? ( x11-libs/gtk+:3 ) + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/gdk-pixbuf[X] + media-libs/mesa + x11-libs/pango[X] + x11-libs/libXv + x11-libs/libXrandr + dev-libs/glib:2 + dev-libs/jansson + x11-libs/cairo + >=x11-libs/libvdpau-1.0" + +RDEPEND="${COMMON_DEPEND} + x11-drivers/nvidia-drivers:${SLOT}" +DEPEND="${RDEPEND} + virtual/pkgconfig + x11-base/xorg-proto" + +src_prepare() { + default + eapply "${FILESDIR}"/nvidia-settings-linker.patch +} + + +src_compile() { + einfo "Building libXNVCtrl..." + emake -C src/libXNVCtrl \ + DO_STRIP= \ + LIBDIR="$(get_libdir)" \ + NVLD="$(tc-getLD)" \ + NV_VERBOSE=1 \ + OUTPUTDIR=. \ + RANLIB="$(tc-getRANLIB)" + + einfo "Building nvidia-settings..." + emake -C src/ \ + DO_STRIP= \ + GTK3_AVAILABLE=$(usex gtk3 1 0) \ + LIBDIR="$(get_libdir)" \ + NVLD="$(tc-getLD)" \ + NVML_ENABLED=0 \ + NV_USE_BUNDLED_LIBJANSSON=0 \ + NV_VERBOSE=1 \ + OUTPUTDIR=. +} + +src_install() { + emake -C src/ \ + DESTDIR="${D}" \ + DO_STRIP= \ + GTK3_AVAILABLE=$(usex gtk3 1 0) \ + LIBDIR="${D}/usr/$(get_libdir)" \ + NV_USE_BUNDLED_LIBJANSSON=0 \ + NV_VERBOSE=1 \ + OUTPUTDIR=. \ + PREFIX=/usr \ + install + + insinto /usr/$(get_libdir) + doins src/libXNVCtrl/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/*.h + + doicon doc/${PN}.png + domenu ${FILESDIR}/${PN}.desktop + + dodoc doc/*.txt +} -- cgit v1.2.3