[bug#72885,v2] gnu: screen: Update to 5.0.0
Commit Message
* 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
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’.
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’.
@@ -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"
@@ -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