diff mbox series

[bug#72885,v2] gnu: screen: Update to 5.0.0

Message ID 3094ea0169f5d37b90a1fccb4d495bdaa6ab6158.1725174170.git.atai@atai.org
State New
Headers show
Series [bug#72885,v2] gnu: screen: Update to 5.0.0 | expand

Commit Message

Andy Tai Sept. 1, 2024, 7:03 a.m. UTC
* 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(-)


base-commit: 61a7930cb03f5eb9e8003bade21d61262c3db8df

Comments

Ludovic Courtès Sept. 3, 2024, 11:48 a.m. UTC | #1
Hello,

Andy Tai <atai@atai.org> skribis:

> * 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

[...]

> -+ * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd

Did you confirm that it still builds for GNU/Hurd?

You can test by cross-compiling with ‘--target=i586-pc-gnu’ or by
compiling natively, if you have configured the ‘hurd-vm’ service, with
‘--system=i586-gnu’.

>      (arguments
>       `(#:configure-flags
> +         ;; GNU_SOURCE must be defined for mallocmock_reset() to be defined
> +         '("CFLAGS=-D_GNU_SOURCE=1"

This very likely removes the default flags, “-O2 -g”, which is something
we should not do (we’d get an unoptimized build and ‘--with-debug-info’
wouldn’t have the intended effect).  I think you need to have:

  "CFLAGS=-O2 -g -D_GNU_SOURCE=1"

instead.  Please check the build log to make sure it has the intended
effect.

Could you send an updated patch?

Thanks,
Ludo’.
Andy Tai Sept. 3, 2024, 12:33 p.m. UTC | #2
Updated patch sent, CFLAGS updated, Hurd cross compiling OK.

On Tue, Sep 3, 2024 at 4:48 AM Ludovic Courtès <ludo@gnu.org> wrote:
>
> Hello,
>
> Andy Tai <atai@atai.org> skribis:
>
> > * 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
>
> [...]
>
> > -+ * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd
>
> Did you confirm that it still builds for GNU/Hurd?
>
> You can test by cross-compiling with ‘--target=i586-pc-gnu’ or by
> compiling natively, if you have configured the ‘hurd-vm’ service, with
> ‘--system=i586-gnu’.
>
> >      (arguments
> >       `(#:configure-flags
> > +         ;; GNU_SOURCE must be defined for mallocmock_reset() to be defined
> > +         '("CFLAGS=-D_GNU_SOURCE=1"
>
> This very likely removes the default flags, “-O2 -g”, which is something
> we should not do (we’d get an unoptimized build and ‘--with-debug-info’
> wouldn’t have the intended effect).  I think you need to have:
>
>   "CFLAGS=-O2 -g -D_GNU_SOURCE=1"
>
> instead.  Please check the build log to make sure it has the intended
> effect.
>
> Could you send an updated patch?
>
> Thanks,
> Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/patches/screen-hurd-path-max.patch b/gnu/packages/patches/screen-hurd-path-max.patch
index e906f154f3..338666aa09 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 <abe@debian.org>
 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
 
---- 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 095f18d85e..30fd2783a8 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=-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