janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit d4c81c9da0ea6af23e3ff82054216c4696193333
Author: Jan Nieuwenhuizen <[email protected]>
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