FS#61095 - [gnutls] Enable guile binding
Attached to Project:
Arch Linux
Opened by Ting-Wei Lan (lantw44) - Sunday, 16 December 2018, 11:04 GMT
Last edited by Andreas Radke (AndyRTR) - Tuesday, 09 July 2019, 12:33 GMT
Opened by Ting-Wei Lan (lantw44) - Sunday, 16 December 2018, 11:04 GMT
Last edited by Andreas Radke (AndyRTR) - Tuesday, 09 July 2019, 12:33 GMT
|
Details
Description:
Recent updates to gnutls removes guile binding from the package. However, my guix package on AUR (https://aur.archlinux.org/packages/guix/) needs gnutls guile binding to work, and users are unable to build guix with gnutls 3.6.5-1. Additional info: gnutls 3.6.5-1 Steps to reproduce: Run 'pacman -Ql gnutls' and there is no .scm or .go files. Possible patch: --- gnutls/PKGBUILD 2018-12-11 02:19:54.000000000 +0800 +++ gnutls-guile/PKGBUILD 2018-12-16 16:35:44.643629376 +0800 @@ -9,7 +9,7 @@ license=('GPL3' 'LGPL2.1') url="https://www.gnutls.org/" options=('!zipman') -depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit' 'libidn2' 'libunistring') +depends=('gcc-libs' 'gtk-doc' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit' 'libidn2' 'libunistring') checkdepends=('net-tools') source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/${pkgname}-${pkgver}.tar.xz{,.sig}) sha256sums=('073eced3acef49a3883e69ffd5f0f0b5f46e2760ad86eddc6c0866df4e7abb35' @@ -21,11 +21,12 @@ build() { cd ${pkgname}-${pkgver} + autoreconf -fiv ./configure --prefix=/usr \ --with-zlib \ --disable-static \ --with-idn \ - --disable-guile \ + --enable-guile --with-guile-site-dir=no \ --with-default-trust-store-pkcs11="pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit" sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make It seems that the configure script included in the upstream tarball is generated on a system with guile 2.0 installed. Therefore, the configure script doesn't know guile 2.2 and fails when the only available version is 2.2. To resolve the problem, run 'autoreconf -fi' to generate configure script before running it. It can be successfully built with 'extra-x86_64-build', but it cannot be built on systems with guile2.0 installed because autoreconf may find the wrong .m4 file. |
This task depends upon
--- gnutls/PKGBUILD 2018-12-11 02:19:54.000000000 +0800
+++ gnutls-guile/PKGBUILD 2018-12-21 01:05:09.970294611 +0800
@@ -10,6 +10,7 @@
url="https://www.gnutls.org/"
options=('!zipman')
depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit' 'libidn2' 'libunistring')
+makedepends=('gtk-doc')
checkdepends=('net-tools')
source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/${pkgname}-${pkgver}.tar.xz{,.sig})
sha256sums=('073eced3acef49a3883e69ffd5f0f0b5f46e2760ad86eddc6c0866df4e7abb35'
@@ -21,11 +22,12 @@
build() {
cd ${pkgname}-${pkgver}
+ autoreconf -fiv
./configure --prefix=/usr \
--with-zlib \
--disable-static \
--with-idn \
- --disable-guile \
+ --enable-guile --with-guile-site-dir=no \
--with-default-trust-store-pkcs11="pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit"
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
Is there any reason to hold back this kind of simple change for a month? GnuTLS upstream source code has no problem with building the guile binding. It is the machine used to generate the release tarball that used an old guile version. Fixing it is as simple as adding single line of 'autoreconf -fi' to the build function to regenerate the build script with newer version of guile.
I've made a git patch for that in the hoping that it's easier and faster to integrate this way.
I've tested it under Parabola x86_64 at compile time (with makepkg) and runtime (by installing the resulting package), and I saw no issues at all.
Guile bindings of gnutls are a required dependency of guix, so it would be nice to restore guile support.
Denis.