mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
gnu: Add mes-rb5.
This guix build --system=i686-linux mes-dcc creates the Reproducible-Builds summit 5's GNU Mes build with sha266sum 9e0bcb1633c58e7bc415f6ea27cee7951d6b0658e13cdc147e992b31a14625fb that was also built for Debian GNU/Linux and NixOS, with a bit-for-bit identical result. * gnu/packages/mes.scm (mes-ddc): New variable.
This commit is contained in:
parent
8c0dcf3e89
commit
4e23d65056
1 changed files with 77 additions and 1 deletions
|
@ -21,6 +21,9 @@
|
||||||
(define-module (gnu packages mes)
|
(define-module (gnu packages mes)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages bash)
|
||||||
|
#:use-module (gnu packages bootstrap)
|
||||||
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages cross-base)
|
#:use-module (gnu packages cross-base)
|
||||||
#:use-module (gnu packages gcc)
|
#:use-module (gnu packages gcc)
|
||||||
#:use-module (gnu packages graphviz)
|
#:use-module (gnu packages graphviz)
|
||||||
|
@ -151,7 +154,80 @@ (define-public mes
|
||||||
"104qxngxyl7pql8vqrnli3wfyx0ayfaqg8gjfhmk4qzrafs46slm"))))
|
"104qxngxyl7pql8vqrnli3wfyx0ayfaqg8gjfhmk4qzrafs46slm"))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("mescc-tools" ,mescc-tools)
|
`(("mescc-tools" ,mescc-tools)
|
||||||
("nyacc" ,nyacc)))))
|
("nyacc" ,nyacc)))
|
||||||
|
(native-search-paths
|
||||||
|
(list (search-path-specification
|
||||||
|
(variable "C_INCLUDE_PATH")
|
||||||
|
(files '("include")))
|
||||||
|
(search-path-specification
|
||||||
|
(variable "LIBRARY_PATH")
|
||||||
|
(files '("lib")))))))
|
||||||
|
|
||||||
|
(define-public mes-rb5
|
||||||
|
;; This is the Reproducible-Builds summit 5's Mes, also built on Debian
|
||||||
|
;; GNU/Linux and NixOS to produce the same, bit-for-bit identical result.
|
||||||
|
(package
|
||||||
|
(inherit mes)
|
||||||
|
(name "mes-rb5")
|
||||||
|
(inputs '())
|
||||||
|
(propagated-inputs '())
|
||||||
|
(native-inputs
|
||||||
|
`(("bash" ,bash)
|
||||||
|
("coreutils" ,coreutils)
|
||||||
|
("grep" ,grep)
|
||||||
|
("guile" ,guile-2.2)
|
||||||
|
("libc" ,glibc)
|
||||||
|
("locales" ,glibc-utf8-locales)
|
||||||
|
("make" ,gnu-make)
|
||||||
|
("mes" ,mes)
|
||||||
|
("mescc-tools" ,mescc-tools)
|
||||||
|
("nyacc" ,nyacc)
|
||||||
|
("sed" ,sed)
|
||||||
|
("tar" ,tar)
|
||||||
|
("xz" ,xz)))
|
||||||
|
(supported-systems '("i686-linux"))
|
||||||
|
(arguments
|
||||||
|
`(#:implicit-inputs? #f
|
||||||
|
#:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries
|
||||||
|
#:modules ((guix build gnu-build-system)
|
||||||
|
(guix build utils)
|
||||||
|
(ice-9 popen)
|
||||||
|
(ice-9 rdelim))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'configure 'setenv
|
||||||
|
(lambda _
|
||||||
|
(setenv "AR" "mesar")
|
||||||
|
(setenv "CC" "mescc")
|
||||||
|
(setenv "GUILD" "true")
|
||||||
|
(setenv "SCHEME" "mes")
|
||||||
|
(setenv "LC_ALL" "en_US.UTF-8")
|
||||||
|
#t))
|
||||||
|
(replace 'configure
|
||||||
|
(lambda _
|
||||||
|
(let ((out (assoc-ref %outputs "out")))
|
||||||
|
(invoke "sh" "configure.sh"
|
||||||
|
(string-append "--prefix=" out)
|
||||||
|
"--host=i686-unkown-linux-gnu"
|
||||||
|
"--with-courage"))))
|
||||||
|
(replace 'build
|
||||||
|
(lambda _
|
||||||
|
(invoke "sh" "bootstrap.sh")))
|
||||||
|
(replace 'check
|
||||||
|
(lambda _
|
||||||
|
(let ((sha256sum
|
||||||
|
(read-delimited
|
||||||
|
" "
|
||||||
|
(open-pipe* OPEN_READ "sha256sum" "src/mes"))))
|
||||||
|
(unless
|
||||||
|
(equal?
|
||||||
|
sha256sum
|
||||||
|
"9e0bcb1633c58e7bc415f6ea27cee7951d6b0658e13cdc147e992b31a14625fb")
|
||||||
|
(throw 'error "mes checksum failure"))
|
||||||
|
#t)))
|
||||||
|
(replace 'install
|
||||||
|
(lambda _
|
||||||
|
(invoke "sh" "install.sh"))))))))
|
||||||
|
|
||||||
(define-public mescc-tools-0.5.2
|
(define-public mescc-tools-0.5.2
|
||||||
;; Mescc-tools used for bootstrap.
|
;; Mescc-tools used for bootstrap.
|
||||||
|
|
Loading…
Reference in a new issue