guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/03: gnu: p11-kit: Fix Hurd build.


From: guix-commits
Subject: 01/03: gnu: p11-kit: Fix Hurd build.
Date: Tue, 5 Oct 2021 04:47:44 -0400 (EDT)

mothacehe pushed a commit to branch core-updates-frozen
in repository guix.

commit 1a244b7814ed4ddb4a02a262e1a61022a506b963
Author: Mathieu Othacehe <othacehe@gnu.org>
AuthorDate: Mon Oct 4 14:55:49 2021 +0000

    gnu: p11-kit: Fix Hurd build.
    
    * gnu/packages/patches/p11-kit-hurd.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Add it.
    * gnu/packages/tls.scm (p11-kit)[native-inputs]: Add autoconf, automake,
    gettext and libtool when targeting Hurd.
    [inputs]: Add libbsd and hurd-patch when targeting hurd.
    [arguments]: Add 'apply-hurd-patch and 'bootstrap phases when targeting 
Hurd.
---
 gnu/local.mk                            |  1 +
 gnu/packages/patches/p11-kit-hurd.patch | 46 +++++++++++++++++++++++++++++++++
 gnu/packages/tls.scm                    | 23 ++++++++++++++++-
 3 files changed, 69 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index d4874d4..f0cfb1e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1564,6 +1564,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/smalltalk-multiplication-overflow.patch \
   %D%/packages/patches/sqlite-hurd.patch                       \
   %D%/packages/patches/sunxi-tools-remove-sys-io.patch \
+  %D%/packages/patches/p11-kit-hurd.patch                      \
   %D%/packages/patches/patchutils-test-perms.patch             \
   %D%/packages/patches/patch-hurd-path-max.patch               \
   %D%/packages/patches/perl-autosplit-default-time.patch       \
diff --git a/gnu/packages/patches/p11-kit-hurd.patch 
b/gnu/packages/patches/p11-kit-hurd.patch
new file mode 100644
index 0000000..0169988
--- /dev/null
+++ b/gnu/packages/patches/p11-kit-hurd.patch
@@ -0,0 +1,46 @@
+Taken from: https://groups.google.com/g/linux.debian.bugs.dist/c/mX4GpUJih4k.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -132,6 +132,16 @@ if test "$os_unix" = "yes"; then
+       AC_CHECK_FUNCS([getpeereid])
+       AC_CHECK_FUNCS([getpeerucred])
+       AC_CHECK_FUNCS([issetugid])
++      case "$host_os" in
++      kfreebsd*-gnu | gnu*)
++              have_getpeereid=no
++              AC_CHECK_LIB(bsd, getpeereid, have_getpeereid=yes)
++              if test "x$have_getpeereid" = "xyes"; then
++                      AC_DEFINE([HAVE_GETPEEREID], [1], [have getpeereid])
++                      AC_SEARCH_LIBS([getpeereid], [bsd])
++              fi
++      ;;
++      esac
+ 
+       AC_CACHE_CHECK([for thread-local storage class],
+               [ac_cv_tls_keyword],
+
+--- a/common/unix-peer.c
++++ b/common/unix-peer.c
+@@ -47,6 +47,11 @@
+ #  include <ucred.h>
+ #endif
+ 
++#ifdef HAVE_GETPEEREID
++/* Declare getpeereid from /usr/include/bsd/unistd.h */
++extern int getpeereid(int s, uid_t *euid, gid_t *egid);
++#endif
++
+ /* Returns the unix domain socket peer information.
+  * Returns zero on success.
+  */
+@@ -73,7 +78,8 @@ p11_get_upeer_id (int cfd, uid_t *uid, u
+               *pid = cr.pid;
+ 
+ #elif defined(HAVE_GETPEEREID)
+-      /* *BSD/MacOSX */
++      /* *BSD/MacOSX/kFreeBSD/Hurd */
++
+       uid_t euid;
+       gid_t egid;
+ 
\ No newline at end of file
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index c73559c..9e2b441 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -57,6 +57,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages dns)
   #:use-module (gnu packages gawk)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages hurd)
   #:use-module (gnu packages libbsd)
@@ -143,13 +144,33 @@ in intelligent transportation networks.")
        (base32 "1dn6br4v033d3gp2max9lsr3y4q0nj6iyr1yq3kzi8ym7lal13wa"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(,@(if (hurd-target?)
+             `(("autoconf" ,autoconf)
+               ("automake" ,automake)
+               ("gettext" ,gettext-minimal) ;for autopoint
+               ("libtool" ,libtool))
+             '())
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("libffi" ,libffi)
+       ,@(if (hurd-target?)
+             `(("libbsd" ,libbsd)
+               ("hurd-patch" ,(search-patch "p11-kit-hurd.patch")))
+             '())
        ("libtasn1" ,libtasn1)))
     (arguments
      `(#:configure-flags '("--without-trust-paths")
        #:phases (modify-phases %standard-phases
+                  ,@(if (hurd-target?)
+                        '((add-after 'unpack 'apply-hurd-patch
+                            (lambda* (#:key inputs #:allow-other-keys)
+                              (let ((patch (assoc-ref inputs "hurd-patch")))
+                                (invoke "patch" "-p1" "--batch" "-i"
+                                        patch))))
+                          (replace 'bootstrap
+                            (lambda _
+                              (invoke "autoreconf" "-fiv"))))
+                        '())
                   (add-before 'check 'prepare-tests
                     (lambda _
                       ;; "test-runtime" expects XDG_RUNTIME_DIR to be set up



reply via email to

[Prev in Thread] Current Thread [Next in Thread]