guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

23/35: bootstrap: Add gzip-mesboot0.


From: guix-commits
Subject: 23/35: bootstrap: Add gzip-mesboot0.
Date: Wed, 20 Nov 2019 15:16:11 -0500 (EST)

janneke pushed a commit to branch wip-boot
in repository guix.

commit d4c81c9da0ea6af23e3ff82054216c4696193333
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Sat Sep 21 22:03:44 2019 +0200

    bootstrap: Add gzip-mesboot0.
    
    * gnu/packages/commencement.scm (gzip-mesboot0): New variable.
---
 gnu/packages/commencement.scm | 56 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 0e82b11..e11c0c3 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -360,6 +360,62 @@
                (variable "LIBRARY_PATH")
                (files '("lib")))))))))
 
+(define-public gzip-mesboot0
+  ;; The initial gzip
+  (package-with-bootstrap-guile
+   (package
+     (inherit gzip)
+     (version "1.2.4")
+     (name "gzip-mesboot0")
+     (source (origin
+               (method url-fetch)
+               (uri (string-append "mirror://gnu/gzip/gzip-" version ".tar"))
+               (sha256
+                (base32
+                 "1rhgk2vvmdvnn6vygf0dja92ryyng00knl0kz5srb77k2kryjb2d"))))
+     (supported-systems '("i686-linux" "x86_64-linux"))
+     (inputs '())
+     (propagated-inputs '())
+     (native-inputs `(("bash" ,%bootstrap-gash)
+                      ("guile" ,%bootstrap-guile)
+                      ("tcc" ,tcc-boot0)))
+     (arguments
+      `(#:implicit-inputs? #f
+        #:guile ,%bootstrap-guile
+        #:strip-binaries? #f  ; no strip yet
+        #:phases
+        (modify-phases %standard-phases
+          (delete 'configure)
+          (add-after 'unpack 'scripted-patch
+            (lambda _
+              (substitute* "util.c"
+                (("^char [*]strlwr" all) (string-append all 
"_tcc_cannot_handle_dupe")))
+              #t))
+          (replace 'build
+            (lambda _
+              (let ((files '("bits" "crypt" "deflate" "getopt" "gzip"
+                             "inflate" "lzw" "trees" "unlzh" "unlzw"
+                             "unpack" "unzip" "util" "zip")))
+                (define (compile x)
+                  (invoke "tcc" "-c" "-D NO_UTIME=1" "-D HAVE_UNISTD_H=1"
+                          (string-append x ".c")))
+                (for-each compile files)
+                (apply invoke
+                       (cons* "tcc" "-o" "gzip"
+                              (map (lambda (x) (string-append x ".o")) files)))
+                (link "gzip" "gunzip"))))
+          (replace 'install
+            (lambda _
+              (let* ((out (assoc-ref %outputs "out"))
+                     (bin (string-append out "/bin")))
+                (install-file "gzip" bin)
+                (install-file "gunzip" bin))))
+          (replace 'check
+            (lambda _
+              (invoke "./gzip" "--version")))
+          ;; no gzip yet
+          (delete 'compress-documentation)))))))
+
 (define tcc-boot
   (package-with-bootstrap-guile
    (package



reply via email to

[Prev in Thread] Current Thread [Next in Thread]