Date: Wednesday, July 6, 2016 @ 15:34:48 Author: anthraxx Revision: 271090
upgpkg: nvidia-settings 367.27-2 (split package libxnvctrl) - split package for libxnvctrl - patch to distribute and link against dynlib Added: nvidia-settings/trunk/libxnvctrl_so.patch Modified: nvidia-settings/trunk/PKGBUILD ---------------------+ PKGBUILD | 45 ++++++++++++++++++++++++++------- libxnvctrl_so.patch | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 9 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-07-06 15:31:49 UTC (rev 271089) +++ PKGBUILD 2016-07-06 15:34:48 UTC (rev 271090) @@ -1,30 +1,39 @@ # $Id$ # Maintainer: Felix Yan <[email protected]> +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> -pkgname=nvidia-settings +pkgbase=nvidia-settings +pkgname=('nvidia-settings' 'libxnvctrl') pkgver=367.27 -pkgrel=1 +pkgrel=2 pkgdesc="Tool for configuring the NVIDIA graphics driver" arch=('i686' 'x86_64') url="https://github.com/NVIDIA/nvidia-settings" license=('GPL2') -depends=('jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils') -makedepends=('git' 'inetutils' 'gtk2') -source=("git+https://github.com/NVIDIA/nvidia-settings#tag=$pkgver") -sha1sums=('SKIP') +makedepends=('git' 'inetutils' 'gtk2' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxext') +options=('staticlibs') +source=("git+https://github.com/NVIDIA/nvidia-settings#tag=$pkgver" + libxnvctrl_so.patch) +sha1sums=('SKIP' + '16619a01e92e565c79ad344be87ad11244ac1762') prepare() { export PREFIX=/usr export NV_USE_BUNDLED_LIBJANSSON=0 + cd ${pkgbase} + patch -p1 < "${srcdir}/libxnvctrl_so.patch" } build() { - cd ${pkgname} + cd ${pkgbase} make + make -C src/libXNVCtrl } -package() { - cd ${pkgname} +package_nvidia-settings() { + depends=('jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxnvctrl') + + cd ${pkgbase} make DESTDIR="${pkgdir}" install install -D -m644 doc/nvidia-settings.desktop "${pkgdir}/usr/share/applications/nvidia-settings.desktop" @@ -33,3 +42,21 @@ rm "$pkgdir/usr/lib/libnvidia-gtk2.so.$pkgver" } + +package_libxnvctrl() { + depends=('libxext') + pkgdesc='NVIDIA NV-CONTROL X extension' + + cd ${pkgbase} + 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: Added: libxnvctrl_so.patch =================================================================== --- libxnvctrl_so.patch (rev 0) +++ libxnvctrl_so.patch 2016-07-06 15:34:48 UTC (rev 271090) @@ -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) $(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,[email protected] -o [email protected] $(LDFLAGS) $^ -lXext -lX11 ++ ln -s [email protected] [email protected] ++ ln -s [email protected] $@ ++ + # 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.*
