diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 32a462b545..76a65f25b3 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1015,105 +1015,6 @@ (define-public glibc-2.29 "glibc-reinstate-prlimit64-fallback.patch" "glibc-2.29-supported-locales.patch")))))) - -(define-public glibc-2.2.5 - (package - (inherit glibc) - (version "2.2.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.gz")) - (patches (search-patches "glibc-boot-2.2.5.patch" - "glibc-bootstrap-system-2.2.5.patch")) - (sha256 - (base32 - "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q")))) - (arguments - (list #:system "i686-linux" - #:implicit-inputs? #f - #:tests? #f - #:strip-binaries? #f - #:validate-runpath? #f - #:parallel-build? #f ; gcc-2.95.3 ICEs on massively parallel builds - #:make-flags - #~(list (string-append - "SHELL=" #$(this-package-native-input "bash") "/bin/sh")) - #:configure-flags - #~(list "--enable-shared" - "--enable-static" - "--disable-sanity-checks" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - (string-append "--with-headers=" - #$(this-package-native-input "kernel-headers") - "/include") - "--enable-static-nss" - "--without-__thread" - "--without-cvs" - "--without-gd" - "--without-tls" - (string-append "--prefix=" #$output)) - #:phases - #~(modify-phases %standard-phases - (add-before 'configure 'setenv - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref inputs "bash")) - (shell (string-append bash "/bin/bash")) - (gcc (assoc-ref inputs "gcc")) - (cppflags (string-append - " -D MES_BOOTSTRAP=1" - " -D BOOTSTRAP_GLIBC=1")) - (cflags (string-append " -L " (getcwd)))) - (setenv "CONFIG_SHELL" shell) - (setenv "SHELL" shell) - (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags)) - (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags))))) - (replace 'configure ; needs classic invocation of configure - (lambda* (#:key configure-flags #:allow-other-keys) - (format (current-error-port) - "running ./configure ~a\n" (string-join configure-flags)) - (apply invoke "./configure" configure-flags))) - (add-after 'configure 'fixup-configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref inputs "bash")) - (shell (string-append bash "/bin/bash"))) - (substitute* "config.make" - (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")) - (substitute* "config.make" - (("INSTALL = scripts/") "INSTALL = $(..)./scripts/") - (("BASH = ") (string-append - "SHELL = " shell " - BASH = "))))))))) - (supported-systems '("i686-linux" "x86_64-linux")) - (outputs '("out")) - (inputs '()) - (propagated-inputs '()) - (native-inputs - ;; Lazily resolve NAME in (gnu packages commencement) to avoid a cycle. - (let ((c (lambda (name) - (module-ref (resolve-interface - '(gnu packages commencement)) - name)))) - `(("bash" ,bash-minimal) - ("coreutils" ,coreutils) - ("gawk" ,gawk) - ("grep" ,grep) - ("make" ,gnu-make) - ("sed" ,sed) - ("tar" ,tar) - ("bzip2" ,bzip2) - ("gzip" ,gzip) - ("patch" ,patch) - ("xz" ,xz) - ("kernel-headers" ,linux-libre-headers) - - ;; Old toolchain - ("gcc" ,(c 'gcc-mesboot0)) - ("binutils" ,(c 'binutils-mesboot)) - ("libc" ,(c 'glibc-mesboot0))))))) - (define-public (make-gcc-libc base-gcc libc) "Return a GCC that targets LIBC." (package (inherit base-gcc) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 76e879b47b..cdc9c1d621 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1265,7 +1265,7 @@ (define gawk-mesboot0 (install-file "gawk" bin) (symlink "gawk" (string-append bin "/awk")))))))))) -(define-public glibc-mesboot0 +(define glibc-mesboot0 ;; GNU C Library 2.2.5 is the most recent glibc that we managed to build ;; using gcc-2.95.3. Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer ;; gcc. @@ -1359,7 +1359,7 @@ (define-public glibc-mesboot0 "SHELL = " shell " BASH = "))))))))))) -(define-public gcc-mesboot0 +(define gcc-mesboot0 (package (inherit gcc-core-mesboot0) (name "gcc-mesboot0") @@ -1403,63 +1403,6 @@ (define-public gcc-mesboot0 ,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include") "LANGUAGES=c"))))))) -(define-public gcc-2.95-wrapper - ;; We need this so gcc-mesboot0 can be used to create shared binaries that - ;; have the correct interpreter, otherwise configuring gcc-mesboot using - ;; --enable-shared will fail. - (package - (inherit gcc-mesboot0) - (name "gcc-wrapper") - (source #f) - (inputs '()) - (native-inputs - `(("bash" ,bash-minimal) - ("coreutils" ,coreutils) - ("libc" ,glibc-2.2.5) - ("gcc" ,gcc-mesboot0))) - (arguments - `(#:implicit-inputs? #f - #:phases - (modify-phases %standard-phases - (delete 'unpack) - (delete 'configure) - (delete 'install) - (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref inputs "bash")) - (libc (assoc-ref inputs "libc")) - (gcc (assoc-ref inputs "gcc")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - (for-each - (lambda (program) - (let ((wrapper (string-append bin "/" program))) - (with-output-to-file wrapper - (lambda _ - (display (string-append "#! " bash "/bin/bash -exec " gcc "/bin/" program -" -Wl,--dynamic-linker" -;; also for x86_64-linux, we are still on i686-linux -" -Wl," libc ,(glibc-dynamic-linker "i686-linux") -" -Wl,--rpath" -" -Wl," libc "/lib" -" \"$@\" -")) - (chmod wrapper #o555))))) - '("cpp" - "gcc" - "g++" - "i686-unknown-linux-gnu-cpp" - "i686-unknown-linux-gnu-gcc" - "i686-unknown-linux-gnu-g++"))))) - (replace 'check - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (program (string-append bin "/gcc"))) - (invoke program "--help"))))))))) - (define (%boot-mesboot0-inputs) `(("gcc" ,gcc-mesboot0) ("kernel-headers" ,%bootstrap-linux-libre-headers) @@ -2050,7 +1993,7 @@ (define hello-mesboot (lambda _ (invoke "./hello")))))))) -(define-public binutils-mesboot +(define binutils-mesboot (package (inherit binutils) (name "binutils-mesboot")