summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan (janneke) Nieuwenhuizen <janneke@gnu.org>2020-04-05 16:45:18 +0200
committerLudovic Courtès <ludo@gnu.org>2020-04-11 19:22:27 +0200
commit1c4268e4147063355f41b7958bdb61bef96f58c0 (patch)
tree642c81c25fe83e51da8c4a3040017e87601b4cc5
parentad3bbeadb46accce9c744f45cf079426b7e9a318 (diff)
downloadguix-1c4268e4147063355f41b7958bdb61bef96f58c0.tar.gz
gnu: cross-libc: Add patch to allow 'gettyent' reading store file names.
* gnu/packages/patches/glibc-hurd-gettyent.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/cross-base.scm (cross-libc): Add it in 'patch-libc/hurd' phase
when 'hurd-target?' is true.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/cross-base.scm15
-rw-r--r--gnu/packages/patches/glibc-hurd-gettyent.patch34
3 files changed, 46 insertions, 4 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 02e9d804e9..8303fdca7f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -977,6 +977,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/glibc-hidden-visibility-ldconfig.patch	\
   %D%/packages/patches/glibc-hurd-clock_gettime_monotonic.patch	\
   %D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch	\
+  %D%/packages/patches/glibc-hurd-gettyent.patch		\
   %D%/packages/patches/glibc-hurd-mach-print.patch		\
   %D%/packages/patches/glibc-hurd-magic-pid.patch		\
   %D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch	\
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index c21390767f..9b4aa103da 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -522,11 +522,15 @@ and the cross tool chain."
                                 (string-append out "/lib/libc.so.0.3"
                                                " libmachuser.so libhurduser.so"))))
                            #t))
+                       ;; TODO: move to glibc in the next rebuild cycle
                        (add-after 'unpack 'patch-libc/hurd
                          (lambda* (#:key inputs #:allow-other-keys)
-                           (let ((patch (assoc-ref inputs
-                                                   "hurd-mach-print.patch")))
-                             (invoke "patch" "-p1" "--force" "-i" patch)))))
+                           (for-each
+                            (lambda (name)
+                              (let ((patch (assoc-ref inputs name)))
+                                (invoke "patch" "-p1" "--force" "-i" patch)))
+                            '("hurd-mach-print.patch"
+                              "hurd-gettyent.patch")))))
                      '())))))
 
         ;; Shadow the native "kernel-headers" because glibc's recipe expects the
@@ -543,8 +547,11 @@ and the cross tool chain."
                                `(("cross-mig"
                                   ,@(assoc-ref (package-native-inputs xheaders)
                                                "cross-mig"))
+                                 ;; TODO: move to glibc in the next rebuild cycle
                                  ("hurd-mach-print.patch"
-                                  ,@(search-patches "glibc-hurd-mach-print.patch")))
+                                  ,@(search-patches "glibc-hurd-mach-print.patch"))
+                                 ("hurd-gettyent.patch"
+                                  ,@(search-patches "glibc-hurd-gettyent.patch")))
                                '())
                          ,@(package-inputs libc)  ;FIXME: static-bash
                          ,@(package-native-inputs libc))))))
diff --git a/gnu/packages/patches/glibc-hurd-gettyent.patch b/gnu/packages/patches/glibc-hurd-gettyent.patch
new file mode 100644
index 0000000000..721a8d4fa8
--- /dev/null
+++ b/gnu/packages/patches/glibc-hurd-gettyent.patch
@@ -0,0 +1,34 @@
+From d6d2caef3e44d0713bb6625f697a1ec615abae70 Mon Sep 17 00:00:00 2001
+From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
+Date: Sun, 5 Apr 2020 16:29:54 +0200
+Subject: [PATCH 4/4] misc: Choose a longer arbitrary line length.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This allows running specifying a `getty' in the GNU Guix store.
+
+* misc/getttyent.c (MAXLINELENGTH): Use 512 (instead of 100) as
+another "great" arbitrary limit.
+
+Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
+---
+ misc/getttyent.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/misc/getttyent.c b/misc/getttyent.c
+index 92d92b026f..508d296291 100644
+--- a/misc/getttyent.c
++++ b/misc/getttyent.c
+@@ -66,7 +66,7 @@ __getttyent (void)
+ 	static struct ttyent tty;
+ 	int c;
+ 	char *p;
+-#define	MAXLINELENGTH	100
++#define	MAXLINELENGTH	512
+ 	static char line[MAXLINELENGTH];
+ 
+ 	if (!tf && !__setttyent())
+-- 
+2.26.0
+