Re: Chez scheme
Leo Famulari skribis: > On Sun, Nov 20, 2016 at 09:15:39PM +0200, Efraim Flashner wrote: >> I dug a bit more into Chez sheme and the failing armhf build, and it >> almost looks like it could be hacked into cross compiling for itself. >> Then I looked a bit closer here >> (https://github.com/cisco/ChezScheme/blob/master/c/Mf-arm32le#L17) and >> it turns out that it targets the Raspberry Pi and not ARMv7. I don't >> have any armhf hardware capable of running guix to see if it can be made >> to work. Anyone want to take a stab at it? Or any votes for marking it >> unsupported? > > I vote you mark it unsupported if nobody has said they'll try it in the > next day or two. Sounds reasonable, and add the above as a comment. Ludo’.
Re: Chez scheme
On Sun, Nov 20, 2016 at 09:15:39PM +0200, Efraim Flashner wrote: > I dug a bit more into Chez sheme and the failing armhf build, and it > almost looks like it could be hacked into cross compiling for itself. > Then I looked a bit closer here > (https://github.com/cisco/ChezScheme/blob/master/c/Mf-arm32le#L17) and > it turns out that it targets the Raspberry Pi and not ARMv7. I don't > have any armhf hardware capable of running guix to see if it can be made > to work. Anyone want to take a stab at it? Or any votes for marking it > unsupported? I vote you mark it unsupported if nobody has said they'll try it in the next day or two. signature.asc Description: PGP signature
Chez scheme
I dug a bit more into Chez sheme and the failing armhf build, and it almost looks like it could be hacked into cross compiling for itself. Then I looked a bit closer here (https://github.com/cisco/ChezScheme/blob/master/c/Mf-arm32le#L17) and it turns out that it targets the Raspberry Pi and not ARMv7. I don't have any armhf hardware capable of running guix to see if it can be made to work. Anyone want to take a stab at it? Or any votes for marking it unsupported? -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted signature.asc Description: PGP signature
Re: [PATCH 01/15] gnu: chez-scheme: Add search-path and fix i686 build.
On Wed, Oct 19, 2016 at 06:28:45PM +0200, Federico Beffa wrote: > On Mon, Oct 17, 2016 at 3:34 PM, Ludovic Courtès wrote: > > Hello Federico, > > > > Federico Beffa skribis: > > > >> On Sun, Oct 16, 2016 at 8:25 PM, Ricardo Wurmus wrote: > >> From 7875840eb0f0d0d844da40735faabd10b791f0dd Mon Sep 17 00:00:00 2001 > >> From: Federico Beffa > >> Date: Mon, 17 Oct 2016 09:01:11 +0200 > >> Subject: [PATCH 02/17] gnu: chez-scheme: Fix i686 build. > >> > >> * gnu/packages/scheme.scm (chez-scheme): Add 'configure-flags', generalize > >> 'configure' phase and simplify 'install-doc' phase. > > This patch was meant to fix the i686 build, but it looks like it doesn't :-( > > The patch adds a 'configure-flags' argument specifying the machine > type as instructed by Chez '-/configure --help' message. In addition, > patching of the make files was generalized to recognize compiler flags > for all architectures (previously it only recognized x86_64 ones). > However, because I'm short on space I only checked that I didn't break > the 64bit version and didn't build the 32bit one. Heh :) I recently dug out my LVM cheat sheet and increased my /gnu/store capacity by 20 GB. It was worth the 20 minutes of downtime!
Re: [PATCH 01/15] gnu: chez-scheme: Add search-path and fix i686 build.
On Mon, Oct 17, 2016 at 3:34 PM, Ludovic Courtès wrote: > Hello Federico, > > Federico Beffa skribis: > >> On Sun, Oct 16, 2016 at 8:25 PM, Ricardo Wurmus wrote: >> From 7875840eb0f0d0d844da40735faabd10b791f0dd Mon Sep 17 00:00:00 2001 >> From: Federico Beffa >> Date: Mon, 17 Oct 2016 09:01:11 +0200 >> Subject: [PATCH 02/17] gnu: chez-scheme: Fix i686 build. >> >> * gnu/packages/scheme.scm (chez-scheme): Add 'configure-flags', generalize >> 'configure' phase and simplify 'install-doc' phase. This patch was meant to fix the i686 build, but it looks like it doesn't :-( The patch adds a 'configure-flags' argument specifying the machine type as instructed by Chez '-/configure --help' message. In addition, patching of the make files was generalized to recognize compiler flags for all architectures (previously it only recognized x86_64 ones). However, because I'm short on space I only checked that I didn't break the 64bit version and didn't build the 32bit one. If you are OK, I may give it one more shot. Otherwise I will leave it for somebody interested with an i686 machine. Regards, Fede P.S.: Note for ARM owners: although not advertised, It looks like peoples have successfully managed to cross-build Chez for ARM: https://github.com/cisco/ChezScheme/issues/13 I don't have an ARM machine. So, if you are interested, give it a try.
Re: [PATCH 01/15] gnu: chez-scheme: Add search-path and fix i686 build.
Hello Federico, Federico Beffa skribis: > On Sun, Oct 16, 2016 at 8:25 PM, Ricardo Wurmus wrote: [...] >> Could you separate these different changes into different patches, >> please? > > I've split them. Thanks for taking the time. > From c25b941dc4a0b5d04a871edb590a728b6075b081 Mon Sep 17 00:00:00 2001 > From: Federico Beffa > Date: Mon, 17 Oct 2016 08:52:48 +0200 > Subject: [PATCH 01/17] gnu: chez-scheme: Add search-path. > > * gnu/packages/scheme.scm (chez-scheme): Do it. Rather: … (chez-scheme)[native-search-paths]: New field. Otherwise OK! > From 7875840eb0f0d0d844da40735faabd10b791f0dd Mon Sep 17 00:00:00 2001 > From: Federico Beffa > Date: Mon, 17 Oct 2016 09:01:11 +0200 > Subject: [PATCH 02/17] gnu: chez-scheme: Fix i686 build. > > * gnu/packages/scheme.scm (chez-scheme): Add 'configure-flags', generalize > 'configure' phase and simplify 'install-doc' phase. These two parts are still logically unrelated; it’s best if you can split, but OK for this time. LGTM. > From 0f2766f86058762443645583b491fb9097a510a3 Mon Sep 17 00:00:00 2001 > From: Federico Beffa > Date: Mon, 17 Oct 2016 09:05:39 +0200 > Subject: [PATCH 03/17] gnu: chez-scheme: Move to new module. > > * gnu/packages/scheme.scm (chez-scheme, nanopass, stex): Move variables ... > * gnu/packages/chez.scm (chez-scheme, nanopass, stex): ... here. New module. > * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. OK! Thank you! Ludo’.
Re: [PATCH 01/15] gnu: chez-scheme: Add search-path and fix i686 build.
On Sun, Oct 16, 2016 at 8:25 PM, Ricardo Wurmus wrote: > Hi Federico, > > it’s a bit unfortunate to mix moving of packages between modules with a > fix and a feature addition (search paths). I think the move to a new > module is not necessary. I moved Chez Scheme to a new module because I'm adding several libraries for it and, from my point of view, it makes sense to have them all in one place. More libraries will follow. > Could you separate these different changes into different patches, > please? I've split them. Thanks for the review. Fede From c25b941dc4a0b5d04a871edb590a728b6075b081 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 17 Oct 2016 08:52:48 +0200 Subject: [PATCH 01/17] gnu: chez-scheme: Add search-path. * gnu/packages/scheme.scm (chez-scheme): Do it. --- gnu/packages/scheme.scm | 4 1 file changed, 4 insertions(+) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 9597473..c461efb 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -635,6 +635,10 @@ threads.") `(("texlive" ,texlive) ("ghostscript" ,ghostscript-gs) ("netpbm" ,netpbm))) +(native-search-paths + (list (search-path-specification +(variable "CHEZSCHEMELIBDIRS") +(files (list (string-append "lib/csv" version "-site")) (outputs '("out" "doc")) (arguments `(#:modules ((guix build gnu-build-system) -- 2.7.4 From 7875840eb0f0d0d844da40735faabd10b791f0dd Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 17 Oct 2016 09:01:11 +0200 Subject: [PATCH 02/17] gnu: chez-scheme: Fix i686 build. * gnu/packages/scheme.scm (chez-scheme): Add 'configure-flags', generalize 'configure' phase and simplify 'install-doc' phase. --- gnu/packages/scheme.scm | 21 - 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index c461efb..10368b2 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -645,6 +645,14 @@ threads.") (guix build utils) (ice-9 match)) #:test-target "test" + #:configure-flags + (list ,(match (or (%current-target-system) (%current-system)) +("x86_64-linux" '(list "--machine=ta6le")) +("i686-linux" '(list "--machine=ti3le")) +;; FIXME: Some people succeeded in cross-compiling to +;; ARM. https://github.com/cisco/ChezScheme/issues/13 +(_ + '( #:phases (modify-phases %standard-phases ;; Adapt the custom 'configure' script. @@ -673,12 +681,9 @@ threads.") (substitute* (find-files "./c" "Mf-[a-zA-Z0-9.]+") (("\\$\\{Kernel\\}: \\$\\{kernelobj\\} \\.\\./zlib/libz\\.a") "${Kernel}: ${kernelobj}") - (("ld -melf_x86_64 -r -X -o \\$\\{Kernel\\} \\$\\{kernelobj\\} \\.\\./zlib/libz\\.a") - (string-append "ld -melf_x86_64 -r -X -o ${Kernel} ${kernelobj} " - zlib "/lib/libz.a")) - (("\\(cd \\.\\./zlib; CFLAGS=-m64 \\./configure --64)") - (which "true")) - (("(cd \\.\\./zlib; make)") + (("ld ([-a-zA-Z0-9_${} ]+) \\.\\./zlib/libz\\.a" all args) + (string-append "ld " args " " zlib "/lib/libz.a")) + (("\\(cd \\.\\./zlib; ([-a-zA-Z0-9=./ ]+))") (which "true"))) (substitute* (find-files "mats" "Mf-.*") (("^[[:space:]]+(cc ) *") "\tgcc ")) @@ -715,9 +720,7 @@ threads.") (system* "make" "docs") (with-directory-excursion "csug" (substitute* "Makefile" - (("/tmp/csug9") doc) - (("^m = a6le") - "m := $(shell echo '(machine-type)' | scheme -q)")) + (("/tmp/csug9") doc)) (system* "make" "install") (install-file "csug.pdf" doc)) (with-directory-excursion "release_notes" -- 2.7.4 From 0f2766f86058762443645583b491fb9097a510a3 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 17 Oct 2016 09:05:39 +0200 Subject: [PATCH 03/17] gnu: chez-scheme: Move to new module. * gnu/packages/scheme.scm (chez-scheme, nanopass, stex): Move variables ...
Re: [PATCH 01/15] gnu: chez-scheme: Add search-path and fix i686 build.
Hi Federico, it’s a bit unfortunate to mix moving of packages between modules with a fix and a feature addition (search paths). I think the move to a new module is not necessary. Could you separate these different changes into different patches, please? ~~ Ricardo
[PATCH 01/15] gnu: chez-scheme: Add search-path and fix i686 build.
From e03430859c864c3b868994143fe729f0558297ab Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Sat, 15 Oct 2016 21:23:31 +0200 Subject: [PATCH 01/15] gnu: chez-scheme: Add search-path and Fix i686 build. * gnu/packages/scheme.scm (chez-scheme, nanopass, stex): Move variables ... * gnu/packages/chez.scm (chez-scheme, nanopass, stex): ... here, to a new file. (chez-scheme)[arguments]: Add 'configure-flags', generalize 'configure' phase and simplify 'install-doc' phase. [native-search-path]: Add it. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. --- gnu/local.mk| 1 + gnu/packages/chez.scm | 196 gnu/packages/scheme.scm | 154 - 3 files changed, 197 insertions(+), 154 deletions(-) create mode 100644 gnu/packages/chez.scm diff --git a/gnu/local.mk b/gnu/local.mk index 521ba2d..9de9b1b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -68,6 +68,7 @@ GNU_SYSTEM_MODULES =\ %D%/packages/cdrom.scm \ %D%/packages/certs.scm \ %D%/packages/check.scm \ + %D%/packages/chez.scm\ %D%/packages/ci.scm\ %D%/packages/cmake.scm \ %D%/packages/code.scm\ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm new file mode 100644 index 000..9009865 --- /dev/null +++ b/gnu/packages/chez.scm @@ -0,0 +1,196 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Federico Beffa +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages chez) + #:use-module (gnu packages) + #:use-module ((guix licenses) +#:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages compression) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages netpbm) + #:use-module (gnu packages tex) + #:use-module (gnu packages compression) + #:use-module (gnu packages image) + #:use-module (gnu packages xorg) + #:use-module (ice-9 match)) + +(define nanopass + (let ((version "1.9")) +(origin + (method url-fetch) + (uri (string-append +"https://github.com/nanopass/nanopass-framework-scheme/archive"; +"/v" version ".tar.gz")) + (sha256 (base32 "11pwyy4jiwhcl2am3a4ciczacjbjkyvdizqzdglb3l1hj2gj6nv2")) + (file-name (string-append "nanopass-" version ".tar.gz") + +(define stex + (let ((version "1.2.1")) +(origin + (method url-fetch) + (uri (string-append +"https://github.com/dybvig/stex/archive"; +"/v" version ".tar.gz")) + (sha256 (base32 "03pl3f668h24dn51vccr1sj5lsba9zq3j37bnxjvdadcdaj4qy5z")) + (file-name (string-append "stex-" version ".tar.gz") + +(define-public chez-scheme + (package +(name "chez-scheme") +(version "9.4") +(source + (origin + (method url-fetch) + (uri (string-append "https://github.com/cisco/ChezScheme/archive/"; + "v" version ".tar.gz")) + (sha256 +(base32 "0lprmpsjg2plc6ykgkz482zyvhkzv6gd0vnar71ph21h6zknyklz")) + (file-name (string-append "chez-scheme-" version ".tar.gz" +(build-system gnu-build-system) +(inputs + `(("ncurses" ,ncurses) + ("libx11" ,libx11) + ("xorg-rgb" ,xorg-rgb) + ("nanopass" ,nanopass) + ("zlib" ,zlib) + ("stex" ,stex))) +(native-inputs + `(("texlive" ,texlive) + ("ghostscript" ,ghostscript-gs) + ("netpbm" ,netpbm))) + (native-search-paths +(list (search-path-specification +(variable "CHEZSCHEMELIBDIRS") +(files (list (string-append "lib/csv" version "-site")) + (outputs '("out" "doc")) +(arguments + `(#:modules ((guix build gnu-build-system) +
Re: [PATCH] gnu: Add Chez-Scheme.
Federico Beffa skribis: > Well, the new release has just appeared :-) So I will switch to it > immediately. Great. Thanks for working on it, I’m surprised it took so long before someone would propose a package. ;-) Ludo’.
Re: [PATCH] gnu: Add Chez-Scheme.
On Sat, May 14, 2016 at 09:55:01AM +0200, Federico Beffa wrote: > > Officially this is version 9.4 and I suppose the coming release will > > have that number. I will then use 9.3-1.41d94b07 so that going to 9.4 > > will be seen as an upgrade. > Well, the new release has just appeared :-) So I will switch to it > immediately. :-) Andreas
Re: [PATCH] gnu: Add Chez-Scheme.
On Sat, May 14, 2016 at 9:28 AM, Federico Beffa wrote: > On Sat, May 14, 2016 at 4:51 AM, Leo Famulari wrote: >> On Fri, May 13, 2016 at 10:44:28PM +0200, Andreas Enge wrote: >>> Hi Fede, >>> >>> just a tiny comment, as I do not have more time right now: >>> >>> On Fri, May 13, 2016 at 09:03:25PM +0200, Federico Beffa wrote: >>> > There is no official release yet, so I took a snapshot of the git >>> > repo. We can switch later. >>> > +(define-public chez-scheme >>> > + (package >>> > +(name "chez-scheme") >>> > +(version "20160512.41d94b07") >>> >>> Did we not decide on a convention that was "previous version + git commit", >>> something like "0.0.0-41d94b07", so that the version numbers will increase >>> with the next (or first) release and upgrades will be smooth? >> >> Yes, the manual describes it in 7.6.3 Version Numbers: >> >> https://www.gnu.org/software/guix/manual/guix.html#Version-Numbers > > Officially this is version 9.4 and I suppose the coming release will > have that number. I will then use 9.3-1.41d94b07 so that going to 9.4 > will be seen as an upgrade. Well, the new release has just appeared :-) So I will switch to it immediately. Regards, Fede
Re: [PATCH] gnu: Add Chez-Scheme.
On Sat, May 14, 2016 at 4:51 AM, Leo Famulari wrote: > On Fri, May 13, 2016 at 10:44:28PM +0200, Andreas Enge wrote: >> Hi Fede, >> >> just a tiny comment, as I do not have more time right now: >> >> On Fri, May 13, 2016 at 09:03:25PM +0200, Federico Beffa wrote: >> > There is no official release yet, so I took a snapshot of the git >> > repo. We can switch later. >> > +(define-public chez-scheme >> > + (package >> > +(name "chez-scheme") >> > +(version "20160512.41d94b07") >> >> Did we not decide on a convention that was "previous version + git commit", >> something like "0.0.0-41d94b07", so that the version numbers will increase >> with the next (or first) release and upgrades will be smooth? > > Yes, the manual describes it in 7.6.3 Version Numbers: > > https://www.gnu.org/software/guix/manual/guix.html#Version-Numbers Officially this is version 9.4 and I suppose the coming release will have that number. I will then use 9.3-1.41d94b07 so that going to 9.4 will be seen as an upgrade. Regards, Fede
Re: [PATCH] gnu: Add Chez-Scheme.
On Fri, May 13, 2016 at 10:44:28PM +0200, Andreas Enge wrote: > Hi Fede, > > just a tiny comment, as I do not have more time right now: > > On Fri, May 13, 2016 at 09:03:25PM +0200, Federico Beffa wrote: > > There is no official release yet, so I took a snapshot of the git > > repo. We can switch later. > > +(define-public chez-scheme > > + (package > > +(name "chez-scheme") > > +(version "20160512.41d94b07") > > Did we not decide on a convention that was "previous version + git commit", > something like "0.0.0-41d94b07", so that the version numbers will increase > with the next (or first) release and upgrades will be smooth? Yes, the manual describes it in 7.6.3 Version Numbers: https://www.gnu.org/software/guix/manual/guix.html#Version-Numbers
Re: [PATCH] gnu: Add Chez-Scheme.
Hi Fede, just a tiny comment, as I do not have more time right now: On Fri, May 13, 2016 at 09:03:25PM +0200, Federico Beffa wrote: > There is no official release yet, so I took a snapshot of the git > repo. We can switch later. > +(define-public chez-scheme > + (package > + (name "chez-scheme") > +(version "20160512.41d94b07") Did we not decide on a convention that was "previous version + git commit", something like "0.0.0-41d94b07", so that the version numbers will increase with the next (or first) release and upgrades will be smooth? Andreas
[PATCH] gnu: Add Chez-Scheme.
There is no official release yet, so I took a snapshot of the git repo. We can switch later. Regards, Fede From ccbc4ed7b9e92823b60d6ed17cf3320585f018b7 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Thu, 12 May 2016 14:57:25 +0200 Subject: [PATCH] gnu: Add Chez-Scheme. * gnu/packages/scheme.scm (chez-scheme): New variable. --- gnu/packages/scheme.scm | 145 +++- 1 file changed, 144 insertions(+), 1 deletion(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 6cf75c2..86c099c 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -22,15 +22,20 @@ (define-module (gnu packages scheme) #:use-module (gnu packages) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (gnu packages compression) #:use-module (gnu packages m4) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) #:use-module (gnu packages databases) #:use-module (gnu packages emacs) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages netpbm) #:use-module (gnu packages texinfo) #:use-module (gnu packages texlive) #:use-module (gnu packages base) @@ -544,6 +549,144 @@ an isolated heap allowing multiple VMs to run simultaneously in different OS threads.") (license bsd-3))) +(define nanopass + (let ((version "1.9")) +(origin + (method url-fetch) + (uri (string-append +"https://github.com/nanopass/nanopass-framework-scheme/archive"; +"/v" version ".tar.gz")) + (sha256 (base32 "11pwyy4jiwhcl2am3a4ciczacjbjkyvdizqzdglb3l1hj2gj6nv2")) + (file-name (string-append "nanopass-" version ".tar.gz") + +(define stex + (let ((version "1.2")) +(origin + (method url-fetch) + (uri (string-append +"https://github.com/dybvig/stex/archive"; +"/v" version ".tar.gz")) + (sha256 (base32 "0hswmckvbyzy9crj51fy4q14zprh56kvx08sj9r47vm6zkb30mki")) + (file-name (string-append "stex-" version ".tar.gz") + +(define-public chez-scheme + (package +(name "chez-scheme") +(version "20160512.41d94b07") +(source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cisco/ChezScheme.git";) + (commit "41d94b0793997e3b90c10d6d28aaa4e2d43857cc"))) + (sha256 +(base32 "18cg1r0csw1fmsndw1y2hks630q16yf8vl3jvbrbgcg1c8l4hn10")) + (file-name (string-append "chez-scheme-" version ".tar.gz" +(build-system gnu-build-system) +(inputs + `(("ncurses" ,ncurses) + ("libx11" ,libx11) + ("xorg-rgb" ,xorg-rgb) + ("nanopass" ,nanopass) + ("zlib" ,zlib) + ("stex" ,stex))) +(native-inputs + `(("texlive" ,texlive) + ("ghostscript" ,ghostscript) + ("netpbm" ,netpbm))) +(outputs '("out" "doc")) +(arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 match)) + #:test-target "test" + #:phases + (modify-phases %standard-phases + ;; Adapt the custom 'configure' script. + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (nanopass (assoc-ref inputs "nanopass")) + (stex (assoc-ref inputs "stex")) + (zlib (assoc-ref inputs "zlib")) + (unpack (assoc-ref %standard-phases 'unpack)) + (patch-source-shebangs +(assoc-ref %standard-phases 'patch-source-shebangs))) + (map (match-lambda + ((src orig-name new-name) + (with-directory-excursion "." + (apply unpack (list #:source src)) + (apply patch-source-shebangs (list #:source src))) + (delete-file-recursively new-name) + (system* "mv" orig-name new-name))) +`((,nanopass "nanopass-framework-scheme-1.9" "nanopass") + (,stex "stex-1.2" "stex"))) + ;; The Makefile wants to download and compile "zlib". We patch + ;; it