~ruther/guix-local

ee230f15c63605d72594b26b30ce1664712fdc7f — Ludovic Courtès 4 years ago d9df655
gnu: Remove glibc@2.2.5 and gcc-2.95-wrapper.

This reverts commits a95924c9ac3f238cde243c96d552ff59ad77ca16 and
defa85b26537a3cc20624fb9dbcae906226361d5, which were used to build
nhc98@1.22 but are no longer needed.

* gnu/packages/base.scm (glibc-2.2.5): Remove.
* gnu/packages/commencement.scm (gcc-2.95-wrapper): Remove.
(glibc-mesboot0, gcc-mesboot0, binutils-mesboot): Keep private.
2 files changed, 3 insertions(+), 159 deletions(-)

M gnu/packages/base.scm
M gnu/packages/commencement.scm
M gnu/packages/base.scm => gnu/packages/base.scm +0 -99
@@ 1015,105 1015,6 @@ with the Linux kernel.")
                                       "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)

M gnu/packages/commencement.scm => gnu/packages/commencement.scm +3 -60
@@ 1265,7 1265,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
               (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 @@ ac_cv_c_float_format='IEEE (little-endian)'
                                     "SHELL = " shell "
         BASH = ")))))))))))

(define-public gcc-mesboot0
(define gcc-mesboot0
  (package
    (inherit gcc-core-mesboot0)
    (name "gcc-mesboot0")


@@ 1403,63 1403,6 @@ ac_cv_c_float_format='IEEE (little-endian)'
              ,(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 @@ exec " gcc "/bin/" program
           (lambda _
             (invoke "./hello"))))))))

(define-public binutils-mesboot
(define binutils-mesboot
  (package
    (inherit binutils)
    (name "binutils-mesboot")