From 45ac52239a6f5c19e0ab324cff6c567a7e4e24d6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 11 Dec 2022 21:19:00 -0500 Subject: gnu: %guile-static-stripped: Update to Guile 3.0.8. * gnu/packages/make-bootstrap.scm (%guile-static-stripped): Use guile-3.0-latest, currently at 3.0.8. This resolves a segfault in the Guix System Linux initrd when running Guile 3.0.7 on a Cortex A9 CPU (NXP i.MX6 Quad). --- gnu/packages/make-bootstrap.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/make-bootstrap.scm') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 4ea97368a9..24855f6b28 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -797,7 +797,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; A stripped static Guile 3.0 binary, for use in initrds ;; and during bootstrap. (make-guile-static-stripped - (make-guile-static guile-3.0 + (make-guile-static guile-3.0-latest '("guile-2.2-default-utf8.patch" "guile-3.0-linux-syscalls.patch" "guile-3.0-relocatable.patch")))) -- cgit 1.4.1 From 5588d9bd7a1f1982b6615fb050db65e16e354192 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 12 Dec 2022 09:33:10 -0500 Subject: gnu: %guile-static-3.0: New variable. * gnu/packages/make-bootstrap.scm (%guile-static-3.0): New variable. (%guile-static-stripped): Use it. --- gnu/packages/make-bootstrap.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'gnu/packages/make-bootstrap.scm') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 24855f6b28..a0999cb477 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -748,6 +748,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." "guile-default-utf8.patch" "guile-linux-syscalls.patch"))) +(define %guile-static-3.0 + (make-guile-static guile-3.0-latest + '("guile-2.2-default-utf8.patch" + "guile-3.0-linux-syscalls.patch" + "guile-3.0-relocatable.patch"))) + (define* (make-guile-static-stripped static-guile) (package (inherit static-guile) @@ -796,11 +802,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (define %guile-static-stripped ;; A stripped static Guile 3.0 binary, for use in initrds ;; and during bootstrap. - (make-guile-static-stripped - (make-guile-static guile-3.0-latest - '("guile-2.2-default-utf8.patch" - "guile-3.0-linux-syscalls.patch" - "guile-3.0-relocatable.patch")))) + (make-guile-static-stripped %guile-static-3.0)) (define (tarball-package pkg) "Return a package containing a tarball of PKG." -- cgit 1.4.1 From c2b40b4b4c9e0227e47730ebe73a653b89d1e568 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Jan 2023 22:14:38 +0100 Subject: gnu: guile-static: Use 'gcc-ar' and 'gcc-ranlib'. Fixes a regression introduced in 0e480ca7b60428a62fc4681d7aca6c7c067add42 whereby '%guile-static-3.0' would fail to build with "undefined reference" errors at link time. Fixes . Reported by Hilton Chain . * gnu/packages/make-bootstrap.scm (make-guile-static): Pass 'AR' and 'RANLIB' as #:configure-flags. --- gnu/packages/make-bootstrap.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gnu/packages/make-bootstrap.scm') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index a0999cb477..51b2cb3267 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2012-2021, 2023 Ludovic Courtès ;;; Copyright © 2017, 2021 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Mark H Weaver @@ -706,6 +706,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; doesn't try to link using libtool, and thus fails ;; because of a missing -ldl. Work around that. `(list "LDFLAGS=-ldl" "--enable-mini-gmp" + + ;; Guile does an LTO build by default, but in 3.0.9 it + ;; wrongfully picks 'ar' instead of 'gcc-ar', so work around + ;; it (see ). + ,@(if (version-prefix? "3.0" (package-version guile)) + '("AR=gcc-ar" "RANLIB=gcc-ranlib") + '()) + ,@(if (hurd-target?) '("--disable-jit") '()))) -- cgit 1.4.1