summaryrefslogtreecommitdiff
path: root/gnu/packages/make-bootstrap.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/make-bootstrap.scm')
-rw-r--r--gnu/packages/make-bootstrap.scm117
1 files changed, 56 insertions, 61 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index cdcb1dcaa2..2d7a97488d 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 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Mark H Weaver <mhw@netris.org>
@@ -23,13 +23,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages make-bootstrap)
+ #:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix memoization)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
- #:use-module ((gnu packages) #:select (search-patch))
+ #:use-module ((gnu packages) #:select (search-patch search-patches))
#:use-module (gnu packages base)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages bash)
@@ -72,8 +73,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(package
(inherit base)
(source (origin (inherit (package-source base))
- (patches (cons (search-patch "glibc-bootstrap-system.patch")
- (origin-patches (package-source base))))))
+ (patches (append (search-patches
+ "glibc-bootstrap-system.patch"
+ "glibc-static-nss.patch")
+ (origin-patches (package-source base))))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
@@ -374,10 +377,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(package-arguments binutils))
((#:configure-flags flags _ ...)
flags)))
- #:make-flags ,(match (memq #:make-flags (package-arguments binutils))
- ((#:make-flags flags _ ...)
- flags)
- (_ ''()))
#:strip-flags '("--strip-all")
#:phases (modify-phases %standard-phases
(add-before 'configure 'all-static
@@ -441,7 +440,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(assoc-ref %build-inputs "kernel-headers")))))
(inputs `(("kernel-headers"
,(if (or (and (%current-target-system)
- (hurd-triplet? (%current-target-system)))
+ (target-hurd? (%current-target-system)))
(string-suffix? "-hurd" (%current-system)))
gnumach-headers
linux-libre-headers))
@@ -588,11 +587,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(define %mescc-tools-static
;; A statically linked MesCC Tools.
(package
- (inherit mescc-tools-0.5.2)
+ (inherit mescc-tools)
(name "mescc-tools-static")
(arguments
`(#:system "i686-linux"
- ,@(substitute-keyword-arguments (package-arguments mescc-tools-0.5.2)
+ ,@(substitute-keyword-arguments (package-arguments mescc-tools)
((#:make-flags flags)
`(cons "CC=gcc -static" ,flags)))))))
@@ -626,31 +625,29 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
;; Two packages: first build static, bare minimum content.
(define-public %mes-minimal
;; A minimal Mes without documentation.
- (let ((triplet "i686-unknown-linux-gnu"))
- (package
- (inherit mes-0.19)
- (name "mes-minimal")
- (native-inputs
- `(("guile" ,guile-2.2)))
- (arguments
- `(#:system "i686-linux"
- #:strip-binaries? #f
- #:configure-flags '("--mes")
- #:phases
- (modify-phases %standard-phases
- (delete 'patch-shebangs)
- (add-after 'install 'strip-install
- (lambda _
- (let* ((out (assoc-ref %outputs "out"))
- (share (string-append out "/share")))
- (delete-file-recursively (string-append out "/lib/guile"))
- (delete-file-recursively (string-append share "/guile"))
- (delete-file-recursively (string-append share "/mes/scaffold"))
-
- (for-each delete-file
- (find-files
- (string-append share "/mes/lib")
- "\\.(h|c)")))))))))))
+ (package
+ (inherit mes)
+ (name "mes-minimal")
+ (native-inputs
+ `(("guile" ,guile-3.0)))
+ (arguments
+ `(#:system "i686-linux"
+ #:strip-binaries? #f
+ #:configure-flags '("--mes")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'patch-shebangs)
+ (add-after 'install 'strip-install
+ (lambda _
+ (let* ((out (assoc-ref %outputs "out"))
+ (share (string-append out "/share")))
+ (delete-file-recursively (string-append out "/lib/guile"))
+ (delete-file-recursively (string-append share "/guile"))
+
+ (for-each delete-file
+ (find-files
+ (string-append share "/mes/lib")
+ "\\.(h|c)"))))))))))
;; next remove store references.
(define %mes-minimal-stripped
@@ -661,6 +658,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
+ #:allowed-references ()
#:builder
(begin
(use-modules (guix build utils))
@@ -705,12 +703,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
;; When `configure' checks for ltdl availability, it
;; doesn't try to link using libtool, and thus fails
;; because of a missing -ldl. Work around that.
-
- ;; XXX: On ARMv7, disable JIT: it causes crashes with 3.0.2,
- ;; possibly related to <https://bugs.gnu.org/40737>.
- (if (target-arm32?)
- ''("LDFLAGS=-ldl" "--disable-jit")
- ''("LDFLAGS=-ldl")))
+ ''("LDFLAGS=-ldl"
+ "--enable-mini-gmp"))
((#:phases phases '%standard-phases)
`(modify-phases ,phases
@@ -882,25 +876,26 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(source #f)
(build-system trivial-build-system)
(arguments
- `(#:modules ((guix build utils))
- #:builder
- (let ((out (assoc-ref %outputs "out")))
- (use-modules (guix build utils)
- (ice-9 match)
- (srfi srfi-26))
-
- (setvbuf (current-output-port)
- (cond-expand (guile-2.0 _IOLBF) (else 'line)))
- (mkdir out)
- (chdir out)
- (for-each (match-lambda
- ((name . directory)
- (for-each (lambda (file)
- (format #t "~a -> ~a~%" file out)
- (symlink file (basename file)))
- (find-files directory "\\.tar\\."))))
- %build-inputs)
- #t)))
+ (list #:modules '((guix build utils))
+ #:builder
+ #~(begin
+ (use-modules (guix build utils)
+ (ice-9 match)
+ (srfi srfi-26))
+
+ (define out #$output)
+
+ (setvbuf (current-output-port)
+ (cond-expand (guile-2.0 _IOLBF) (else 'line)))
+ (mkdir out)
+ (chdir out)
+ (for-each (match-lambda
+ ((name . directory)
+ (for-each (lambda (file)
+ (format #t "~a -> ~a~%" file out)
+ (symlink file (basename file)))
+ (find-files directory "\\.tar\\."))))
+ %build-inputs))))
(inputs `(("guile-tarball" ,%guile-bootstrap-tarball)
,@(match (or (%current-target-system) (%current-system))
((or "i686-linux" "x86_64-linux")