Subject: [PATCH] gnu: screen: Update to 5.0.0

From: Andy Tai <[email-masked]>
Date: Thu, 29 Aug 2024 23:31:03 -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 "CFLAGS=-D_GNU_SOURCE=1".
[inputs]: Add linux-pam.

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

diff --git a/gnu/packages/patches/screen-hurd-path-max.patch b/gnu/packages/patches/screen-hurd-path-max.patch
index e906f154f3..6c474d0d11 100644
--- a/gnu/packages/patches/screen-hurd-path-max.patch
+++ b/gnu/packages/patches/screen-hurd-path-max.patch
@@ -6,30 +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 for GNU Screen 5.0.0
 
---- 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
-+ */
-+
-+#ifndef PATH_MAX
-+#define PATH_MAX 4096
-+#endif
- 
- int CheckTtyname (char *tty)
- {
+diff --git a/screen.h b/screen.h
+index 308c365..bda05b4 100644
 --- a/screen.h
 +++ b/screen.h
-@@ -109,6 +109,13 @@
- # define DEFAULT_BUFFERFILE	"/tmp/screen-exchange"
+@@ -63,6 +63,13 @@ struct mode {
  #endif
- 
+ };
+
 +/*
 + * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd
 + */
@@ -37,6 +24,6 @@ Last-Updated: 2017-01-18
 +#ifndef PATH_MAX
 +#define PATH_MAX 4096
 +#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 7c16ee239a..c63472c1eb 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -34,6 +34,7 @@ (define-module (gnu packages screen)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #: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)
@@ -43,24 +44,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 ncurses perl))
+     (list linux-pam ncurses perl))
     (arguments
      `(#:configure-flags
+         ;; GNU_SOURCE must be defined for mallocmock_reset() to be defined
+         '("CFLAGS=-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: d5312370b46ace47e138d84e1bb28e5651cee94b
-- 
2.34.1