From 1c4268e4147063355f41b7958bdb61bef96f58c0 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 5 Apr 2020 16:45:18 +0200 Subject: 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. --- gnu/local.mk | 1 + gnu/packages/cross-base.scm | 15 +++++++++--- gnu/packages/patches/glibc-hurd-gettyent.patch | 34 ++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/glibc-hurd-gettyent.patch 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" +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 +--- + 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 + -- cgit v1.2.3