summaryrefslogtreecommitdiffstats
path: root/abs/core/nvidia-390xx-settings
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/nvidia-390xx-settings')
-rw-r--r--abs/core/nvidia-390xx-settings/PKGBUILD64
-rw-r--r--abs/core/nvidia-390xx-settings/libxnvctrl_so.patch67
2 files changed, 131 insertions, 0 deletions
diff --git a/abs/core/nvidia-390xx-settings/PKGBUILD b/abs/core/nvidia-390xx-settings/PKGBUILD
new file mode 100644
index 0000000..1d76904
--- /dev/null
+++ b/abs/core/nvidia-390xx-settings/PKGBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro@gmail.com>
+
+pkgbase=nvidia-390xx-settings
+pkgname=('nvidia-390xx-settings' 'libxnvctrl-390xx')
+pkgver=390.116
+pkgrel=1
+pkgdesc='Tool for configuring the NVIDIA graphics driver, 390xx legacy branch'
+url='https://github.com/NVIDIA/nvidia-settings'
+arch=('x86_64')
+license=('GPL2')
+makedepends=('git' 'inetutils' 'gtk2' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-390xx-utils' 'libxext')
+options=('staticlibs')
+source=(nvidia-settings-${pkgver}.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/${pkgver}.tar.gz
+ libxnvctrl_so.patch)
+sha512sums=('81d15c4e969b8d5cc02749e9fa32d6ab75f2bccfcfd1d2d74dca4954384df730e50f774c7df45ae915fc64bb7369f438fab2d4d695044e0ba1d6d5db44875751'
+ 'f69f5dc84fe624579a3c9ce877f4ae4e34c2184877576afbea07b8abdd7ff01e470517f2b77cd11a904518cbcb83fb388ca1d08888006f0ef2854723920c9cf8')
+
+prepare() {
+ export PREFIX=/usr
+ export NV_USE_BUNDLED_LIBJANSSON=0
+ cd nvidia-settings-${pkgver}
+ patch -p1 < "${srcdir}/libxnvctrl_so.patch"
+}
+
+build() {
+ cd nvidia-settings-${pkgver}
+ make
+ make -C src/libXNVCtrl
+}
+
+package_nvidia-390xx-settings() {
+ depends=('jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-390xx-utils' 'libxnvctrl-390xx')
+ conflicts=('nvidia-settings')
+ provides=('nvidia-settings')
+
+ cd nvidia-settings-${pkgver}
+ make DESTDIR="${pkgdir}" 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:' -i "${pkgdir}/usr/share/applications/nvidia-settings.desktop"
+
+ rm "$pkgdir/usr/lib/libnvidia-gtk2.so.$pkgver"
+}
+
+package_libxnvctrl-390xx() {
+ depends=('libxext')
+ conflicts=('libxnvctrl')
+ provides=('libxnvctrl')
+ pkgdesc='NVIDIA NV-CONTROL X extension, 390xx legacy branch'
+
+ cd nvidia-settings-${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"
+
+ cd src/libXNVCtrl
+ install -Dm 644 *.h -t "${pkgdir}/usr/include/NVCtrl"
+ install -Dm 644 libXNVCtrl.a -t "${pkgdir}/usr/lib"
+ install -Dm 755 libXNVCtrl.so.0.0.0 -t "${pkgdir}/usr/lib"
+ ln -s libXNVCtrl.so.0.0.0 "${pkgdir}/usr/lib/libXNVCtrl.so.0"
+ ln -s libXNVCtrl.so.0 "${pkgdir}/usr/lib/libXNVCtrl.so"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/nvidia-390xx-settings/libxnvctrl_so.patch b/abs/core/nvidia-390xx-settings/libxnvctrl_so.patch
new file mode 100644
index 0000000..724064e
--- /dev/null
+++ b/abs/core/nvidia-390xx-settings/libxnvctrl_so.patch
@@ -0,0 +1,67 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -106,6 +106,8 @@
+ XNVCTRL_DIR ?= libXNVCtrl
+ XNVCTRL_MAKEFILE ?= Makefile
+ XNVCTRL_ARCHIVE ?= $(XNVCTRL_DIR)/libXNVCtrl.a
++XNVCTRL_SHARED ?= $(XNVCTRL_DIR)/libXNVCtrl.so.0
++XNVCTRL_LIB ?= $(XNVCTRL_SHARED)
+ XCONFIG_PARSER_DIR ?= XF86Config-parser
+ COMMON_UTILS_DIR ?= common-utils
+ COMMON_UNIX_DIR ?= common-unix
+@@ -280,15 +282,18 @@
+ $(MKDIR) $(BINDIR)
+ $(INSTALL) $(INSTALL_BIN_ARGS) $< $(BINDIR)/$(notdir $<)
+
++$(XNVCTRL_ARCHIVE) $(XNVCTRL_SHARED):
++ $(MAKE) -C $(XNVCTRL_DIR)
++
+ $(eval $(call DEBUG_INFO_RULES, $(NVIDIA_SETTINGS)))
+-$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_ARCHIVE)
++$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_LIB)
+ $(call quiet_cmd,LINK) $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
+- -rdynamic -o $@ $(OBJS) $(XNVCTRL_ARCHIVE) $(LIBS)
++ -rdynamic -o $@ $(OBJS) $(XNVCTRL_LIB) $(LIBS)
+
+ $(eval $(call DEBUG_INFO_RULES, $(GTK2LIB)))
+ $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
+ $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
+- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK2_LIBS) \
++ $(XNVCTRL_LIB) $(LIBS) $(GTK2_LIBS) \
+ -Wl,--unresolved-symbols=ignore-all -o $@ \
+ -Wl,-soname -Wl,$(GTK2LIB_SONAME) \
+ $(GTK2_OBJS) $(XCP_OBJS)
+@@ -297,7 +302,7 @@
+ $(eval $(call DEBUG_INFO_RULES, $(GTK3LIB)))
+ $(GTK3LIB).unstripped: $(GTK3_OBJS) $(XCP_OBJS) $(VERSION_MK)
+ $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
+- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK3_LIBS) \
++ $(XNVCTRL_LIB) $(LIBS) $(GTK3_LIBS) \
+ -Wl,--unresolved-symbols=ignore-all -o $@ \
+ -Wl,-soname -Wl,$(GTK3LIB_SONAME) \
+ $(GTK3_OBJS) $(XCP_OBJS)
+--- a/src/libXNVCtrl/Makefile
++++ b/src/libXNVCtrl/Makefile
+@@ -55,10 +55,17 @@
+ .PHONY: clean
+
+ all: $(LIBXNVCTRL)
++all: libXNVCtrl.so
+
+ $(LIBXNVCTRL) : $(OBJS)
+ $(AR) ru $@ $(OBJS)
+
++libXNVCtrl.so: $(OBJS)
++ $(RM) $@ $@.*
++ $(CC) -shared -Wl,-soname=$@.0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11
++ ln -s $@.0.0.0 $@.0
++ ln -s $@.0 $@
++
+ # define the rule to build each object file
+ $(foreach src,$(SRC),$(eval $(call DEFINE_OBJECT_RULE,TARGET,$(src))))
+
+@@ -68,3 +75,4 @@
+ clean:
+ rm -rf $(LIBXNVCTRL) *~ $(STAMP_C) \
+ $(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d
++ rm -f libXNVCtrl.so libXNVCtrl.so.*