[arch-commits] Commit in unbound/trunk (PKGBUILD unbound-fix-libpython-linking.patch)

Bruno Pagani archange at gemini.archlinux.org
Sat Jul 24 16:55:03 UTC 2021


    Date: Saturday, July 24, 2021 @ 16:55:03
  Author: archange
Revision: 984906

FS#66763 Enable python bindings

Also some PKGBUILD linting at the same time

Added:
  unbound/trunk/unbound-fix-libpython-linking.patch
Modified:
  unbound/trunk/PKGBUILD

-------------------------------------+
 PKGBUILD                            |   62 +++++++++++++++++-----------------
 unbound-fix-libpython-linking.patch |   44 ++++++++++++++++++++++++
 2 files changed, 76 insertions(+), 30 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-07-24 15:23:19 UTC (rev 984905)
+++ PKGBUILD	2021-07-24 16:55:03 UTC (rev 984906)
@@ -1,4 +1,5 @@
 # Maintainer: David Runge <dvzrv at archlinux.org>
+# Maintainer: Bruno Pagani <archange at archlinux.org>
 # Contributor: Gaetan Bisson <bisson at archlinux.org>
 # Contributor: Hisato Tatekura <hisato_tatekura at excentrics.net>
 # Contributor: Massimiliano Torromeo <massimiliano DOT torromeo AT google mail service>
@@ -5,47 +6,52 @@
 
 pkgname=unbound
 pkgver=1.13.1
-pkgrel=1
+pkgrel=2
 pkgdesc="Validating, recursive, and caching DNS resolver"
+arch=(x86_64)
 url="https://unbound.net/"
-license=('BSD')
-arch=('x86_64')
-depends=('dnssec-anchors' 'fstrm' 'hiredis' 'openssl' 'ldns' 'libevent'
-'libnghttp2' 'libsodium')
-makedepends=('expat' 'protobuf-c' 'systemd')
+license=(BSD)
+depends=(dnssec-anchors fstrm hiredis openssl ldns libevent libnghttp2 libsodium)
+makedepends=(expat protobuf-c systemd python swig)
 optdepends=(
   'expat: for unbound-anchor'
   'sh: for unbound-control-setup'
+  'python: python-bindings'
 )
-provides=('libunbound.so')
-backup=("etc/${pkgname}/${pkgname}.conf")
+provides=(libunbound.so)
+backup=(etc/${pkgname}/${pkgname}.conf)
 source=("https://unbound.net/downloads/${pkgname}-${pkgver}.tar.gz"{,.asc}
-        "${pkgname}-sysusers.conf"
-        "${pkgname}-tmpfiles.conf"
-        "${pkgname}-trusted-key.hook")
+        unbound-fix-libpython-linking.patch
+        ${pkgname}-sysusers.conf
+        ${pkgname}-tmpfiles.conf
+        ${pkgname}-trusted-key.hook)
 sha512sums=('f4d26dca28dbcc33a5e65a55147fa01077c331292e88b6a87798cb6c3d4edb0515015d131fd893c92b74d22d9998a640f0adce404e6192d61ebe69a6a599287c'
             'SKIP'
+            'e810992fbf645bb804edd218881809cf894fccffcae0668ee40d053354ea6bbab5f3abf2e82fadc0c47877fcfe13263b6423f8ebd2a27e38aedb9c512085eb63'
             'ef71d4e9b0eb0cc602d66bd0573d9424578fe33ef28a852c582d56f0fd34fdd63046c365ef7aed8b84a461b81254240af7ad3fd539da72f9587817d21bd6c585'
             '6b1849ae9d7cf427f6fa6cd0590e8f8c3f06210d2d6795e543b0f325a9e866db0f5db2275a29fa90f688783c0dd16f19c8a49a9817d5f5444e13f8f2df3ff712'
             '613826cdf5ab6e77f2805fa2aa65272508dcd11090add1961b3df6dfac3b67db016bc9f45fbcf0ef0de82b2d602c153d5263a488027a6cf13a72680b581b266d')
 b2sums=('5fabb9205773a1983842e41cf7a4d6c3878fa8beb7c8ccc71ae1edf7738cb9506c3d7bb32cf887b305317ca695bf876d9f5bf9aeb0129b0e9e926d437b3e6eb3'
         'SKIP'
+        'e80e46e841e5ebcf261c2e1a5f4bb61d6f182afd95b3ce6609ac9c466a94a48eefe11adfb8d57a670896ea78dd71394ff75d2233d8efc6a03d621b049ab991bb'
         '292a3c2e5fde292a03b6c9b2ddabd5089f52e73b50a404c3d9f54c1a43184924b661a21eea61cc521c594c1005a3b40b630fa585a38195c61298f9b24b248b92'
         'd3951006b43068be904c6b91a9e0563d56228225854e12b40abbdd4ba9b47338e97265837297a6de879acbc8051bb749163f9457683f5e12fc29ac2e7b687fd3'
         'd28785390eb6c125bd26ca11f097fe8864b080482157deeb7c70e9bee47ff2844abaed574db59a7c152ed3ec0acba05cfee4c3751f7a9f553320b064578f86c7')
-validpgpkeys=('EDFAA3F2CA4E6EB05681AF8E9F6F1C2D7E045F8D') # W.C.A. Wijngaards <wouter at nlnetlabs.nl>
+validpgpkeys=(EDFAA3F2CA4E6EB05681AF8E9F6F1C2D7E045F8D) # W.C.A. Wijngaards <wouter at nlnetlabs.nl>
 
 prepare() {
-  cd "${pkgname}-${pkgver}"
+  cd ${pkgname}-${pkgver}
   # set default location of trusted-key.key
   sed '/# trust-anchor-file:/c\\ttrust-anchor-file: /etc/unbound/trusted-key.key' \
     -i doc/example.conf.in
+  # backport https://github.com/NLnetLabs/unbound/pull/511
+  patch -p1 < ../unbound-fix-libpython-linking.patch
 
   autoreconf -vfi
 }
 
 build() {
-  cd "${pkgname}-${pkgver}"
+  cd ${pkgname}-${pkgver}
   ./configure --prefix=/usr \
               --sysconfdir=/etc \
               --localstatedir=/var \
@@ -65,30 +71,26 @@
               --with-pidfile=/run/unbound.pid \
               --with-rootkey-file=/etc/trusted-key.key \
               --with-libevent \
-              --with-libnghttp2
+              --with-libnghttp2 \
+              --with-pyunbound
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
   make
 }
 
 check() {
-  cd "${pkgname}-${pkgver}"
+  cd ${pkgname}-${pkgver}
   make -k check
 }
 
 package() {
-  depends+=('libprotobuf-c.so' 'libsystemd.so')
-
-  cd "${pkgname}-${pkgver}"
+  depends+=(libprotobuf-c.so libsystemd.so)
+  cd ${pkgname}-${pkgver}
   make DESTDIR="${pkgdir}" install
-  install -vDm 644 "contrib/${pkgname}.service" \
-    -t "${pkgdir}/usr/lib/systemd/system/"
-  install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/"
-  # sysusers.d
-  install -vDm 644 "../${pkgname}-sysusers.conf" \
-    "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
-  # tmpfiles.d
-  install -vDm 644 "../${pkgname}-tmpfiles.conf" \
-    "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+  install -vDm 644 contrib/${pkgname}.service -t "${pkgdir}"/usr/lib/systemd/system/
+  install -vDm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}/
+  cd ..
+  install -vDm 644 ${pkgname}-sysusers.conf "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
+  install -vDm 644 ${pkgname}-tmpfiles.conf "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
   # libalpm hook to copy the dnssec-anchors provided key to /etc/unbound
-  install -vDm 644 ../${pkgname}-trusted-key.hook \
-    -t "${pkgdir}/usr/share/libalpm/hooks/"
+  install -vDm 644 unbound-trusted-key.hook -t "${pkgdir}"/usr/share/libalpm/hooks/
 }

Added: unbound-fix-libpython-linking.patch
===================================================================
--- unbound-fix-libpython-linking.patch	                        (rev 0)
+++ unbound-fix-libpython-linking.patch	2021-07-24 16:55:03 UTC (rev 984906)
@@ -0,0 +1,44 @@
+diff --git a/Makefile.in b/Makefile.in
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -61,6 +61,7 @@ PYTHON_CPPFLAGS=-I. @PYTHON_CPPFLAGS@
+ CFLAGS=-DSRCDIR=$(srcdir) @CFLAGS@
+ LDFLAGS=@LDFLAGS@
+ LIBS=@LIBS@
++PYTHON_LIBS=@PYTHON_LIBS@
+ LIBOBJS=@LIBOBJS@
+ # filter out ctime_r from compat obj.
+ LIBOBJ_WITHOUT_CTIME=@LIBOBJ_WITHOUT_CTIME@
+@@ -474,7 +475,7 @@ libunbound/python/libunbound_wrap.c:	$(srcdir)/libunbound/python/libunbound.i un
+ 
+ # Pyunbound python unbound wrapper
+ _unbound.la:	libunbound_wrap.lo libunbound.la
+-	$(LIBTOOL) --tag=CC --mode=link $(CC) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -module -avoid-version -no-undefined -shared -o $@ libunbound_wrap.lo -rpath $(PYTHON_SITE_PKG) -L. -L.libs -lunbound
++	$(LIBTOOL) --tag=CC --mode=link $(CC) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -module -avoid-version -no-undefined -shared -o $@ libunbound_wrap.lo -rpath $(PYTHON_SITE_PKG) -L. -L.libs -lunbound $(LIBS) $(PYTHON_LIBS)
+ 
+ util/config_file.c:	util/configparser.h
+ util/configlexer.c:  $(srcdir)/util/configlexer.lex util/configparser.h
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -699,11 +699,17 @@ if test x_$ub_test_python != x_no; then
+       AC_SUBST(PY_MAJOR_VERSION)
+       # Have Python
+       AC_DEFINE(HAVE_PYTHON,1,[Define if you have Python libraries and header files.])
+-      if test -n "$LIBS"; then
+-        LIBS="$PYTHON_LDFLAGS $LIBS"
++      if test x_$ub_with_pythonmod != x_no; then
++        if test -n "$LIBS"; then
++          LIBS="$PYTHON_LDFLAGS $LIBS"
++        else
++          LIBS="$PYTHON_LDFLAGS"
++        fi
++        PYTHON_LIBS=""
+       else
+-        LIBS="$PYTHON_LDFLAGS"
++        PYTHON_LIBS="$PYTHON_LDFLAGS"
+       fi
++      AC_SUBST(PYTHON_LIBS)
+       if test -n "$CPPFLAGS"; then
+         CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
+       else



More information about the arch-commits mailing list