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
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Jan de Groot (JGC)
Andreas Radke (AndyRTR)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 6
Private No

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

Closed by  Andreas Radke (AndyRTR)
Tuesday, 09 July 2019, 12:33 GMT
Reason for closing:  Implemented
Comment by Ting-Wei Lan (lantw44) - Friday, 21 December 2018, 14:28 GMT
This patch seems to be better, as gtk-doc is not needed at runtime.

--- 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
Comment by Ting-Wei Lan (lantw44) - Sunday, 23 December 2018, 10:27 GMT
There seems to be an upstream bug report: https://gitlab.com/gnutls/gnutls/issues/631.
Comment by Ting-Wei Lan (lantw44) - Monday, 14 January 2019, 12:58 GMT
Hello maintainers,

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.
Comment by Denis Carikli (GNUtoo) - Sunday, 12 May 2019, 16:55 GMT
Hi,

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.
Comment by Eli Schwartz (eschwartz) - Monday, 08 July 2019, 17:05 GMT
Apologies for not assigning this earlier. Thanks for investigating -- I confirm it builds fine here with the current source tarball just by re-enabling it...

Loading...