Subject: [bug#72885] [PATCH v3] gnu: screen: Update to 5.0.0

From: Andy Tai <[email-masked]>
Date: Tue, 3 Sep 2024 05:30:22 -0700

* gnu/packages/patches/screen-hurd-path-max.patch: Update for screen 5.0.0.
* gnu/packages/screen.scm (screen): Update to 5.0.0.
[arguments]<#:configure-flags: Add "-D_GNU_SOURCE=1" to CFLAGS.
[inputs]: Add linux-pam.

Change-Id: Iebc5eff0128ff7f4d27a22cca1bd4a025aca3244
---
 .../patches/screen-hurd-path-max.patch        | 40 +++++++++----------
 gnu/packages/screen.scm                       | 12 ++++--
 2 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/patches/screen-hurd-path-max.patch b/gnu/packages/patches/screen-hurd-path-max.patch
index e906f154f3..03b350e79e 100644
--- a/gnu/packages/patches/screen-hurd-path-max.patch
+++ b/gnu/packages/patches/screen-hurd-path-max.patch
@@ -6,14 +6,17 @@ Description: Set PATH_MAX to 4096 if undefined
  Fixes FTBFS since 4.4.0 on GNU/Hurd. Updated to add one more occurrence for 4.5.0.
 Author: Axel Beckert <[email-masked]>
 Bug: https://savannah.gnu.org/bugs/?50089
-Last-Updated: 2017-01-18
+Updated: 2017-01-18
+Updated: 2024-08-30 Update for Screen 5.0.0
+
+diff --git a/screen.h b/screen.h
+index 308c365..e71bd7f 100644
+--- a/screen.h
++++ b/screen.h
+@@ -63,6 +63,22 @@ struct mode {
+ #endif
+ };
 
---- a/tty.sh
-+++ b/tty.sh
-@@ -1478,6 +1478,13 @@
-   return 0;
- }
- 
 +/*
 + * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd
 + */
@@ -21,22 +24,15 @@ Last-Updated: 2017-01-18
 +#ifndef PATH_MAX
 +#define PATH_MAX 4096
 +#endif
- 
- int CheckTtyname (char *tty)
- {
---- a/screen.h
-+++ b/screen.h
-@@ -109,6 +109,13 @@
- # define DEFAULT_BUFFERFILE	"/tmp/screen-exchange"
- #endif
- 
++
 +/*
-+ * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd
++ * similarly for MAXPATHLEN
 + */
 +
-+#ifndef PATH_MAX
-+#define PATH_MAX 4096
++#ifndef MAXPATHLEN
++#define MAXPATHLEN PATH_MAX
 +#endif
- 
- #if defined(hpux) && !(defined(VSUSP) && defined(VDSUSP) && defined(VWERASE) && defined(VLNEXT))
- # define HPUX_LTCHARS_HACK
++
+
+ #include "ansi.h"
+ #include "image.h"
diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index 095f18d85e..e791f29190 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -37,6 +37,7 @@ (define-module (gnu packages screen)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
@@ -46,24 +47,27 @@ (define-module (gnu packages screen)
 (define-public screen
   (package
     (name "screen")
-    (version "4.9.1")
+    (version "5.0.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/screen/screen-"
                                  version ".tar.gz"))
              (patches (search-patches "screen-hurd-path-max.patch"))
              (sha256
-              (base32 "0sdc0ms6qxm4gbx0caw7pwghj5aw1h8syvxdhkac0w95qkiz7ki6"))))
+              (base32 "0wa9v6p7cna2scpimpvk9pgxaah80f4q0f2kln37qp0f1b83jjph"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf automake texinfo))
     (inputs
-     (list libxcrypt ncurses perl))
+     (list libxcrypt linux-pam ncurses perl))
     (arguments
      `(#:configure-flags
+         ;; GNU_SOURCE must be defined for mallocmock_reset() to be defined
+         '("CFLAGS=-O2 -g -D_GNU_SOURCE=1"
+
        ;; By default, screen supports 16 colors, but we want 256 when
        ;; ~/.screenrc contains 'term xterm-256color'.
-       '("--enable-colors256")))
+           "--enable-colors256")))
     (home-page "https://www.gnu.org/software/screen/")
     (synopsis "Full-screen window manager providing multiple terminals")
     (description

base-commit: 8f584d2bdb0a5a5e78f04ce0b468d99605157420
-- 
2.34.1