[arch-commits] Commit in nvidia-settings/trunk (PKGBUILD libxnvctrl_so.patch)

Levente Polyak anthraxx at archlinux.org
Wed Jul 6 15:34:48 UTC 2016


    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 <felixonmars at archlinux.org>
+# 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,-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.*



More information about the arch-commits mailing list