diff --git a/nvidia-settings/.SRCINFO b/nvidia-settings/.SRCINFO new file mode 100644 index 0000000000..ccdc424080 --- /dev/null +++ b/nvidia-settings/.SRCINFO @@ -0,0 +1,32 @@ +pkgbase = nvidia-settings + pkgdesc = Tool for configuring the NVIDIA graphics driver + pkgver = 555.58 + pkgrel = 1 + url = https://github.com/NVIDIA/nvidia-settings + arch = x86_64 + license = GPL2 + makedepends = inetutils + makedepends = jansson + makedepends = gtk3 + makedepends = libxv + makedepends = libvdpau + makedepends = nvidia-utils + makedepends = libxext + options = staticlibs + source = nvidia-settings-555.58.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/555.58.tar.gz + source = nvidia-settings-libxnvctrl_so.patch + sha512sums = fed21a73b639a25ebf7d78893b241cd6d723a215e0ad52ee2381897abeb6859a70fb6be6ed83618a15594c6de60d998f46696017f6d2115189002b55503a527d + sha512sums = 0303fe615d6ef4e14112998c531a17613b94776f9a6a027ddb81e400fddd5f2ff15583da8b8631c2306aca854edf2f54a8007eb36f1732b4c064c857aaf268ae + +pkgname = nvidia-settings + depends = jansson + depends = gtk3 + depends = libxv + depends = libvdpau + depends = nvidia-utils + depends = libxnvctrl + +pkgname = libxnvctrl + pkgdesc = NVIDIA NV-CONTROL X extension + depends = libxext + provides = libXNVCtrl.so diff --git a/nvidia-settings/PKGBUILD b/nvidia-settings/PKGBUILD new file mode 100644 index 0000000000..cf20ee3dc5 --- /dev/null +++ b/nvidia-settings/PKGBUILD @@ -0,0 +1,66 @@ +# POWER Maintainer: Alexander Baldeck +# Maintainer: Sven-Hendrik Haase +# Maintainer: Felix Yan +# Maintainer: Levente Polyak + +pkgbase=nvidia-settings +pkgname=('nvidia-settings' 'libxnvctrl') +pkgver=535.171.04 +pkgrel=1 +pkgdesc='Tool for configuring the NVIDIA graphics driver' +url='https://github.com/NVIDIA/nvidia-settings' +arch=(powerpc64le riscv64) +license=('GPL2') +makedepends=('inetutils' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'libxext') +options=('staticlibs') +source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/${pkgver}.tar.gz + nvidia-settings-libxnvctrl_so.patch) +sha512sums=('d2fb6680dd64bdcc28fcb49555ca9f17bf8b19347e545215c23a3ab3f37e9405229874630645cf1f5d52f71eaa0361665d94c36e9742a255088bc94f4b727dd4' + '0303fe615d6ef4e14112998c531a17613b94776f9a6a027ddb81e400fddd5f2ff15583da8b8631c2306aca854edf2f54a8007eb36f1732b4c064c857aaf268ae') + +prepare() { + export PREFIX=/usr + export NV_USE_BUNDLED_LIBJANSSON=0 + export OUTPUTDIR=out + + cd ${pkgbase}-${pkgver} + patch -Np1 -i "${srcdir}"/nvidia-settings-libxnvctrl_so.patch +} + +build() { + cd ${pkgbase}-${pkgver} + export CFLAGS+=" -ffat-lto-objects" + make +} + +package_nvidia-settings() { + depends=('jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxnvctrl') + + cd ${pkgbase}-${pkgver} + DESTDIR="${pkgdir}" make install + + install -D -m644 doc/nvidia-settings.desktop "${pkgdir}/usr/share/applications/nvidia-settings.desktop" + install -D -m644 doc/nvidia-settings.png "${pkgdir}/usr/share/pixmaps/nvidia-settings.png" + sed \ + -e 's:__UTILS_PATH__:/usr/bin:' \ + -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \ + -e 's/__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__/Settings;HardwareSettings;/' \ + -e 's/Icon=.*/Icon=nvidia-settings/' \ + -i "${pkgdir}/usr/share/applications/nvidia-settings.desktop" +} + +package_libxnvctrl() { + depends=('libxext') + pkgdesc='NVIDIA NV-CONTROL X extension' + provides=('libXNVCtrl.so') + + cd ${pkgbase}-${pkgver} + install -Dm 644 doc/{NV-CONTROL-API.txt,FRAMELOCK.txt} -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 samples/{Makefile,README,*.c,*.h,*.mk} -t "${pkgdir}/usr/share/doc/${pkgname}/samples" + + install -Dm 644 src/libXNVCtrl/*.h -t "${pkgdir}/usr/include/NVCtrl" + install -d "${pkgdir}/usr/lib" + cp -Pr src/out/libXNVCtrl.* -t "${pkgdir}/usr/lib" +} + +# vim: ts=2 sw=2 et: diff --git a/nvidia-settings/nvidia-settings-libxnvctrl_so.patch b/nvidia-settings/nvidia-settings-libxnvctrl_so.patch new file mode 100644 index 0000000000..70043f0c21 --- /dev/null +++ b/nvidia-settings/nvidia-settings-libxnvctrl_so.patch @@ -0,0 +1,38 @@ +diff --git a/src/Makefile b/src/Makefile +index 68eb140..6d0aab8 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -345,7 +345,7 @@ endif + + ifdef BUILD_GTK3LIB + $(eval $(call DEBUG_INFO_RULES, $(GTK3LIB))) +-$(GTK3LIB).unstripped: $(LIBXNVCTRL) $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK) ++$(GTK3LIB).unstripped: $(LIBXNVCTRL) $(LIBXNVCTRL_SHARED) $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK) + $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ + $(LIBXNVCTRL) $(LIBS) $(GTK3_LIBS) \ + -Wl,--unresolved-symbols=ignore-all -o $@ \ +diff --git a/src/libXNVCtrl/xnvctrl.mk b/src/libXNVCtrl/xnvctrl.mk +index e6be2ef..c0921c4 100644 +--- a/src/libXNVCtrl/xnvctrl.mk ++++ b/src/libXNVCtrl/xnvctrl.mk +@@ -39,6 +39,11 @@ XNVCTRL_CFLAGS ?= + + LIBXNVCTRL = $(OUTPUTDIR)/libXNVCtrl.a + ++LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so ++LIBXNVCTRL_ABI_VERSION_MAJOR = 0 ++LIBXNVCTRL_ABI_VERSION_MINOR = 0 ++LIBXNVCTRL_LIBS += -lXext -lX11 ++ + LIBXNVCTRL_SRC = $(XNVCTRL_DIR)/NVCtrl.c + + LIBXNVCTRL_OBJ = $(call BUILD_OBJECT_LIST,$(LIBXNVCTRL_SRC)) +@@ -47,3 +52,8 @@ $(eval $(call DEFINE_OBJECT_RULE,TARGET,$(LIBXNVCTRL_SRC))) + + $(LIBXNVCTRL) : $(LIBXNVCTRL_OBJ) + $(call quiet_cmd,AR) ru $@ $(LIBXNVCTRL_OBJ) ++ ++$(LIBXNVCTRL_SHARED) : $(LIBXNVCTRL_OBJ) ++ $(CC) -shared $(CFLAGS) $(LDFLAGS) -Wl,-soname=$(notdir $@).${LIBXNVCTRL_ABI_VERSION_MAJOR} -o $@.$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $^ $(LIBXNVCTRL_LIBS) ++ ln -s $(notdir $@).$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $@ ++ ln -s $(notdir $@).$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $@.$(LIBXNVCTRL_ABI_VERSION_MAJOR)