From unknown Fri Jun 20 07:11:36 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#47153 <47153@debbugs.gnu.org> To: bug#47153 <47153@debbugs.gnu.org> Subject: Status: [PATCH] gnu: chez-scheme: simplify packaging Reply-To: bug#47153 <47153@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:11:36 +0000 retitle 47153 [PATCH] gnu: chez-scheme: simplify packaging reassign 47153 guix-patches submitter 47153 Philip McGrath severity 47153 normal tag 47153 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 04:43:50 2021 Received: (at submit) by debbugs.gnu.org; 15 Mar 2021 08:43:50 +0000 Received: from localhost ([127.0.0.1]:34848 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLipD-0005ey-6e for submit@debbugs.gnu.org; Mon, 15 Mar 2021 04:43:50 -0400 Received: from lists.gnu.org ([209.51.188.17]:56346) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLip5-0005ei-Iq for submit@debbugs.gnu.org; Mon, 15 Mar 2021 04:43:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLip5-0003EQ-BJ for guix-patches@gnu.org; Mon, 15 Mar 2021 04:43:35 -0400 Received: from mail-qk1-x735.google.com ([2607:f8b0:4864:20::735]:40427) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLip0-0006IC-DH for guix-patches@gnu.org; Mon, 15 Mar 2021 04:43:35 -0400 Received: by mail-qk1-x735.google.com with SMTP id l132so30865838qke.7 for ; Mon, 15 Mar 2021 01:43:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mBDf/lFSq7JWzqaaI6TFrKpoZT9lbrHl6m2ZIs87YjA=; b=gM2citmBG4lL//bXRsISzNtMcbkGhxw6gicYX2xHBpy3ks+b7tGcI9AGzZjqUGj6LY q1vdo/uVBTs9tl9u8z48GC9Sal2ENrbHJPQco0gJhLn5M80Xo13kvcOybxeNdeUkx7m2 lZAJ5C4m8Ct/C1X5jWJkBQo9VgTkIvItSESwpcyEltj1T0iYvAwiqL7ToKdv0H3wOa+7 8Lx6xSaf2mNqol1eO+qHHkzGfJtt5q22+rB6GGbbCdBkofqovUWGeaPtEKDabYTBD8c7 BdvCIN1OJO6PDDNr8SUOl0orNeZggSEwQXs4Y0KvUl/eV1AX0aqnTk0cZCU1Bfj1ONIm TDXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mBDf/lFSq7JWzqaaI6TFrKpoZT9lbrHl6m2ZIs87YjA=; b=CdiB1NUaAKOVL+Ly316U3MXrNsBIuv/Yo4ZtYBF2qMiHCeiepdPZtRM6ksaLv7pq2T s5kwKNbxi8bHs0tG14HPEsJ6JVuYTbpqg0OE8um03rcITVHRYUSNpb/0yM6C6SKFHB7w v4DEes7F92Xu9oENclqH3n0W9SSeQXZC4z+k+/Sz4WQ7UIeIULIwH4HfPwAGAS88MRZt T7Ew1wTuhQI/GhFuF1PYeon7I7yXF3/am+UCZfneiAESfI2tYvUnXndJy8TID2IWBUkG PQJrn/euaL4Soi8fXPwHnsjEd6PIVTnbiOdRqMdjC6rN3vDIOgnZ8xYrp3KWYIXPOcYV fxIQ== X-Gm-Message-State: AOAM530RYRWi29pp1LRFgJXUVgYDWXgrK9x6ED/O0ukrZCCNl8yqY+8E 9jc82ByBITfwby1KHeEi0jQlZfScwb6b/JzLSZo= X-Google-Smtp-Source: ABdhPJxVBYizsgXL+9xbSSZvFP05Kz1gtUok/4IJ2at0I2k/MolF61P3ZFKf9syDxXVQRhqsG+Su3A== X-Received: by 2002:a37:6889:: with SMTP id d131mr23605613qkc.264.1615797807345; Mon, 15 Mar 2021 01:43:27 -0700 (PDT) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i125sm11988286qkd.109.2021.03.15.01.43.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Mar 2021 01:43:26 -0700 (PDT) From: Philip McGrath To: guix-patches@gnu.org Subject: [PATCH] gnu: chez-scheme: simplify packaging Date: Mon, 15 Mar 2021 04:42:35 -0400 Message-Id: <20210315084235.7051-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: neutral client-ip=2607:f8b0:4864:20::735; envelope-from=philip@philipmcgrath.com; helo=mail-qk1-x735.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Take advantage of patches that have been accepted upstream. These changes lay a foundation for reusing more of Chez's build process for Racket. * gnu/packages/patches/chez-scheme-build-util-paths-backport.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/chez.scm (nanopass): Rename it to ... (nanopass-framework-scheme): ... this variable. Change it from an origin to a package. Update to 1.9.2. (stex): Rename it to ... (chez-stex): ... this variable. Change it from an origin to a hidden package. Update to commit 5405149, which helps us install it. (chez-scheme)[source](patches): Use it. [source](snippet): Remove bundled libraries here, not during 'configure' phase. Also remove irrelevant bootfiles. [inputs]: Organize. Move "nanopass" and "stex" to ... [native-inputs]: ... this field. [outputs]: Add "stex". [arguments]: Remove #:configure-flags which were ignored. Add (ice-9 ftw) to #:modules. Remove unneeded 'patch-processor-detection' phase. Add 'link-nanopass+stex' phase (refactored from 'configure'). Simplify 'configure' phase by removing patches that have been upstreamed. Detect when "--disable-curses" or "--disable-x11" flags are needed. Add "--nogzip-man-pages" flag so we can remove 'make-manpages-writable' phase. Refactor 'install-doc' phase into 'build+install-stex' and 'build+install-doc' --- gnu/local.mk | 1 + gnu/packages/chez.scm | 370 ++++++--- ...hez-scheme-build-util-paths-backport.patch | 780 ++++++++++++++++++ 3 files changed, 1030 insertions(+), 121 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-build-util-paths-backport.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0954158d4c..96de2e108e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -879,6 +879,7 @@ dist_patch_DATA = \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ + %D%/packages/patches/chez-scheme-build-util-paths-backport.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index eac556c4d0..e1e94bc90c 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2020 Brendan Tildesley +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix gexp) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (gnu packages ghostscript) @@ -42,25 +44,103 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-1)) -(define nanopass - (let ((version "1.9.1")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/nanopass/nanopass-framework-scheme") - (commit (string-append "v" version)))) - (sha256 (base32 "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) - (file-name (git-file-name "nanopass" version))))) +;; Nanopass will be used by Racket and could be used by +;; any of the supported Scheme implementations. +;; Making it a package lets us do the unpacking +;; and patching steps just once. +(define-public nanopass-framework-scheme + (let ((version "1.9.2")) + (package + (name "nanopass-framework-scheme") + (version version) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nanopass/nanopass-framework-scheme") + (commit (string-append "v" version)))) + (sha256 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") + (file-name (git-file-name "nanopass" version)))) + (home-page "https://nanopass.org") + (synopsis + "Embeded domain-specific language for writing compiler passes") + (description + "The Nanopass Framework is an embedded domain-specific language +for creating compilers that focuses on creating small passes and many +intermediate representations. Nanopass reduces the boilerplate required to +create compilers, making them easier to understand and maintain. + +This package contains the R6RS source distribution, which is known to work with +Chez Scheme, Vicare Scheme, and Ikarus Scheme.") + (license (list expat)) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'bootstrap) + (delete 'patch-usr-bin-file) + (delete 'configure) + (delete 'patch-generated-file-shebangs) + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "." (assoc-ref outputs "out")) + #t)) + (delete 'patch-shebangs) + (delete 'strip) + (delete 'validate-runpath) + (delete 'validate-documentation-location) + (delete 'delete-info-dir-file) + (delete 'patch-dot-desktop-files) + (delete 'install-license-files) + (delete 'reset-gzip-timestamps) + (delete 'compress-documentation))))))) + + +(define chez-stex + ;; Hidden because of a circular dependency issue: + ;; stex needs chez-scheme to be used, but chez-scheme uses + ;; stex to build its documentation. + ;; The chez-scheme package has an stex output that exposes + ;; the useful version of this---or maybe there's a more elegant solution? + (hidden-package + (let ((version "1.2.2") + ;; This commit includes a fix for which we would + ;; otherwise want to use a snippet. + ;; When there's a new tagged release, + ;; go back to using (string-append "v" version) + (commit "54051494434a197772bf6ca5b4e6cf6be55f39a5") + (revision "1")) ;Guix package revision + (package + (inherit nanopass-framework-scheme) + (name "chez-stex") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dybvig/stex") + (commit commit))) + (sha256 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d") + (file-name (git-file-name "stex" version)))) + (home-page "https://github.com/dybvig/stex") + (synopsis + "Tools for including Scheme in LaTeX and converting to HTML") + (description + "The @dfn{stex} package consists of two main programs and some +supporting items, such as make files, make-file templates, class files, +and style files. The two main programs are @command{scheme-prep} and +@command{html-prep}. @command{scheme-prep} performs a conversion from +stex-formatted files into LaTeX-formatted files, while @command{html-prep} +converts (some) LaTeX-formatted files into html-formatted files. + +An stex file is really just a LaTeX file extended with a handful of commands +for including Scheme code (or pretty much any other kind of code, as long as +you don't plan to use the Scheme-specific transcript support) in a document, +plus a couple of additional features rather arbitrarily thrown in.") + (license (list expat)))))) -(define stex - (let ((version "1.2.2")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dybvig/stex") - (commit (string-append "v" version)))) - (sha256 (base32 "1q5i8pf4cdfjsj6r2k1rih7ljbfggyxdng2p2fvsgarzihpsin2i")) - (file-name (git-file-name "stex" version))))) (define-public chez-scheme (package @@ -74,21 +154,49 @@ (commit (string-append "v" version)))) (sha256 (base32 "0prgn2z9l888j93ydxaf04ph424g0fi3a8w7f8m0b2r7fr1v7388")) - (file-name (git-file-name name version)))) + (file-name (git-file-name name version)) + (patches + (search-patches + ;; backported from upstream: remove on next release + "chez-scheme-build-util-paths-backport.patch")) + (snippet + ;; remove bundled libraries + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (for-each (lambda (dir) + (when (directory-exists? dir) + (delete-file-recursively dir))) + '("stex" + "nanopass" + "lz4" + "zlib" + ;; pre-built bootfiles for unsupported systems: + "boot/a6nt" + "boot/a6osx" + "boot/i3nt" + "boot/i3osx" + "boot/ta6nt" + "boot/ta6osx" + "boot/ti3nt" + "boot/ti3osx"))))))) (build-system gnu-build-system) (inputs - `(("ncurses" ,ncurses) - ("libuuid" ,util-linux "lib") - ("libx11" ,libx11) - ("lz4" ,lz4) - ("lz4:static" ,lz4 "static") - ("xorg-rgb" ,xorg-rgb) - ("nanopass" ,nanopass) + `(("libuuid" ,util-linux "lib") ("zlib" ,zlib) ("zlib:static" ,zlib "static") - ("stex" ,stex))) + ("lz4" ,lz4) + ("lz4:static" ,lz4 "static") + ;; for expeditor: + ("ncurses" ,ncurses) + ;; for X: + ("libx11" ,libx11) + ("xorg-rgb" ,xorg-rgb))) (native-inputs - `(("texlive" ,(texlive-union (list texlive-latex-oberdiek + `(("nanopass" ,nanopass-framework-scheme) ; source-only distribution + ;; for docs + ("stex" ,chez-stex) + ("texlive" ,(texlive-union (list texlive-latex-oberdiek texlive-generic-epsf))) ("ghostscript" ,ghostscript) ("netpbm" ,netpbm))) @@ -96,98 +204,63 @@ (list (search-path-specification (variable "CHEZSCHEMELIBDIRS") (files (list (string-append "lib/csv" version "-site")))))) - (outputs '("out" "doc")) + (outputs '("out" "stex" "doc")) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 match)) + `(#:modules + ((guix build gnu-build-system) + (guix build utils) + (ice-9 ftw) + (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")) - ;; Let autodetection have its attempt on other architectures. - (_ - '()))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-processor-detection - (lambda _ (substitute* "configure" - (("uname -a") "uname -m")) - #t)) - ;; Adapt the custom 'configure' script. + ;; put these where configure expects them to be + (add-after 'unpack 'link-nanopass+stex + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (symlink (assoc-ref (or native-inputs inputs) "nanopass") + "nanopass") + (let ((stex-src (assoc-ref (or native-inputs inputs) "stex"))) + ;; making stex wants to create a build directory, + ;; so the immediate directory must be writable + (mkdir "stex") + (with-directory-excursion "stex" + (for-each (lambda (pth) + (unless (member pth '("." "..")) + (symlink (string-append stex-src "/" pth) + pth))) + (scandir stex-src)))) + #t)) + ;; NOTE: the custom Chez 'configure' script doesn't allow + ;; unrecognized flags, such as those automatically added + ;; by `gnu-build-system`. (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")) - (lz4-static (assoc-ref inputs "lz4:static")) - (zlib-static (assoc-ref inputs "zlib:static")) - (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) - (invoke "mv" orig-name new-name))) - `((,nanopass "source" "nanopass") - (,stex "source" "stex"))) - ;; The configure step wants to CURL all submodules as it - ;; detects a checkout without submodules. Disable curling, - ;; and manually patch the needed modules for compilation. - (substitute* "configure" - (("! -f '") "-d '")) ; working around CURL. - (substitute* (find-files "mats" "Mf-.*") - (("^[[:space:]]+(cc ) *") "\tgcc ")) - (substitute* - (find-files "." (string-append - "(" - "Mf-[a-zA-Z0-9.]+" - "|Makefile[a-zA-Z0-9.]*" - "|checkin" - "|stex\\.stex" - "|newrelease" - "|workarea" - "|unix\\.ms" - "|^6\\.ms" - ;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read - ")")) - (("/bin/rm") (which "rm")) - (("/bin/ln") (which "ln")) - (("/bin/cp") (which "cp")) - (("/bin/echo") (which "echo"))) - (substitute* "makefiles/installsh" - (("/bin/true") (which "true"))) - (substitute* "stex/Makefile" - (("PREFIX=/usr") (string-append "PREFIX=" out))) - (invoke "./configure" "--threads" - (string-append "ZLIB=" zlib-static "/lib/libz.a") - (string-append "LZ4=" lz4-static "/lib/liblz4.a") - (string-append "--installprefix=" out))))) - ;; Installation of the documentation requires a running "chez". - (add-after 'install 'install-doc - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/" ,name "-" ,version))) - (invoke "make" "docs") - (with-directory-excursion "csug" - (substitute* "Makefile" - ;; The ‘installdir=’ can't be overruled on the command line. - (("/tmp/csug9") doc) - ;; $m is the ‘machine type’, e.g. ‘ta6le’ on x86_64, but is - ;; set incorrectly for some reason, e.g. to ‘a6le’ on x86_64. - ;; Avoid the whole mess by running the (machine-independent) - ;; ‘installsh’ script at its original location. - (("\\$m/installsh") "makefiles/installsh")) - (invoke "make" "install") - (install-file "csug.pdf" doc)) - (with-directory-excursion "release_notes" - (install-file "release_notes.pdf" doc)) + (let* ((zlib-static (assoc-ref inputs "zlib:static")) + (lz4-static (assoc-ref inputs "lz4:static")) + (out (assoc-ref outputs "out")) + (flags (list + (string-append "--installprefix=" out) + (string-append "ZLIB=" zlib-static "/lib/libz.a") + (string-append "LZ4=" lz4-static "/lib/liblz4.a") + "--nogzip-man-pages" ;; guix will do it + "--threads")) + (flags (if (assoc-ref inputs "ncurses") + flags + (cons "--disable-curses" + flags))) + (flags (if (and (assoc-ref inputs "libx11") + (assoc-ref inputs "xorg-rgb")) + flags + (cons "--disable-x11" + flags)))) + ;; Some makefiles (for tests) don't seem to propagate CC + ;; properly, so we take it out of their hands: + (setenv "CC" "gcc") + (apply invoke + "./configure" + flags) #t))) - ;; The binary file name is called "scheme" as the one from MIT/GNU + ;; The binary file name is called "scheme" as is the one from MIT/GNU ;; Scheme. We add a symlink to use in case both are installed. (add-after 'install 'install-symlink (lambda* (#:key outputs #:allow-other-keys) @@ -202,16 +275,70 @@ "/" name ".boot"))) (find-files lib "scheme.boot")) #t))) - (add-before 'reset-gzip-timestamps 'make-manpages-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files (string-append (assoc-ref outputs "out") - "/share/man") - ".*\\.gz$")) - #t))))) + ;; We build & install stex so it can (in principle) + ;; be reused for other documents. + (add-after 'install-symlink 'build+install-stex + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (let* ((stex+version + (strip-store-file-name + (assoc-ref (or native-inputs inputs) "stex"))) + (stex-output (assoc-ref outputs "stex")) + (doc-dir (string-append stex-output + "/share/doc/" + stex+version))) + (with-directory-excursion "stex" + (invoke "make" + "install" + (string-append "LIB=" + stex-output + "/lib/" + stex+version) + (string-append "Scheme=" + (assoc-ref outputs "out") + "/bin/scheme")) + (for-each (lambda (pth) + (install-file pth doc-dir)) + '("ReadMe" ; includes the license + "doc/stex.html" + "doc/stex.css" + "doc/stex.pdf")) + #t)))) + ;; Building the documentation requires stex and a running scheme. + ;; FIXME: this may be wrong for cross-compilation + (add-after 'build+install-stex 'build+install-doc + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (let* ((chez+version (strip-store-file-name + (assoc-ref outputs "out"))) + (stex+version + (strip-store-file-name + (assoc-ref (or native-inputs inputs) "stex"))) + (scheme (string-append (assoc-ref outputs "out") + "/bin/scheme")) + (stexlib (string-append (assoc-ref outputs "stex") + "/lib/" + stex+version)) + (doc-dir (string-append (assoc-ref outputs "doc") + "/share/doc/" + chez+version))) + (define* (stex-make #:optional (suffix "")) + (invoke "make" + "install" + (string-append "Scheme=" scheme) + (string-append "STEXLIB=" stexlib) + (string-append "installdir=" doc-dir suffix))) + (with-directory-excursion "csug" + (stex-make "/csug")) + (with-directory-excursion "release_notes" + (stex-make "/release_notes")) + (with-directory-excursion doc-dir + (symlink "release_notes/release_notes.pdf" + "release_notes.pdf") + (symlink "csug/csug9_5.pdf" + "csug.pdf")) + #t)))))) ;; According to the documentation MIPS is not supported. ;; Cross-compiling for the Raspberry Pi is supported, but not native ARM. + ;; TODO is this correct? Chez has an arm32le machine type. (supported-systems (fold delete %supported-systems '("mips64el-linux" "armhf-linux"))) (home-page "https://cisco.github.io/ChezScheme/") @@ -223,6 +350,7 @@ generates native code for each target processor, with support for x86, x86_64, and 32-bit PowerPC architectures.") (license asl2.0))) + (define-public chez-srfi (package (name "chez-srfi") diff --git a/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch b/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch new file mode 100644 index 0000000000..07d65225ed --- /dev/null +++ b/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch @@ -0,0 +1,780 @@ +From 2447e047b750c3371778beb487f881641a582e66 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 11 Mar 2021 18:17:47 -0500 +Subject: [PATCH] avoid hard-coded paths for utilities in build scripts + +Backported from +https://github.com/cisco/ChezScheme/commit/8f4633ce24ac6425b2ab13cc78026b1c9bb5361e + +Specific changes: + - `cc` -> `$(CC)` + - `/bin/rm` -> `rm` + - `/bin/ln` -> `ln` + - `/bin/cp` -> `cp` + - `/bin/echo` -> `echo` + - in `makefiles/installsh`, add a case to find `true` + at an unusual path or as a shell builtin + +Co-authored-by: Andy Keep +--- + LOG | 12 ++++++++++++ + csug/gifs/Makefile | 8 ++++---- + csug/math/Makefile | 4 ++-- + examples/Makefile | 2 +- + makefiles/Makefile-csug.in | 6 +++--- + makefiles/Makefile-release_notes.in | 2 +- + makefiles/Mf-install.in | 4 ++-- + makefiles/installsh | 3 ++- + mats/6.ms | 2 +- + mats/Mf-a6fb | 4 ++-- + mats/Mf-a6le | 4 ++-- + mats/Mf-a6nb | 4 ++-- + mats/Mf-a6ob | 4 ++-- + mats/Mf-a6osx | 4 ++-- + mats/Mf-arm32le | 4 ++-- + mats/Mf-i3fb | 4 ++-- + mats/Mf-i3le | 4 ++-- + mats/Mf-i3nb | 4 ++-- + mats/Mf-i3ob | 4 ++-- + mats/Mf-i3osx | 4 ++-- + mats/Mf-i3qnx | 4 ++-- + mats/Mf-ppc32le | 4 ++-- + mats/Mf-ta6fb | 4 ++-- + mats/Mf-ta6le | 4 ++-- + mats/Mf-ta6nb | 4 ++-- + mats/Mf-ta6ob | 4 ++-- + mats/Mf-ta6osx | 4 ++-- + mats/Mf-ti3fb | 4 ++-- + mats/Mf-ti3le | 4 ++-- + mats/Mf-ti3nb | 4 ++-- + mats/Mf-ti3ob | 4 ++-- + mats/Mf-ti3osx | 4 ++-- + mats/Mf-tppc32le | 4 ++-- + mats/unix.ms | 4 ++-- + newrelease | 22 +++++++++++----------- + pkg/Makefile | 2 +- + release_notes/gifs/Makefile | 6 +++--- + release_notes/math/Makefile | 4 ++-- + s/Mf-base | 2 +- + workarea | 10 +++++----- + 40 files changed, 101 insertions(+), 88 deletions(-) + +diff --git a/LOG b/LOG +index e1631df..399104d 100644 +--- a/LOG ++++ b/LOG +@@ -2119,3 +2119,15 @@ + bintar/Makefile rpm/Makefile pkg/Makefile wininstall/Makefile + wininstall/a6nt.wxs wininstall/i3nt.wxs wininstall/ta6nt.wxs + wininstall/ti3nt.wxs ++9.5.5 changes: ++- avoid hard-coded paths for utilities in build scripts ++ checkin csug/gifs/Makefile csug/math/Makefile examples/Makefile ++ makefiles/Makefile-csug.in makefiles/Makefile-release_notes.in ++ makefiles/Mf-install.in makefiles/installsh mats/6.ms mats/Mf-a6fb ++ mats/Mf-a6le mats/Mf-a6nb mats/Mf-a6ob mats/Mf-a6osx mats/Mf-arm32le ++ mats/Mf-i3fb mats/Mf-i3le mats/Mf-i3nb mats/Mf-i3ob mats/Mf-i3osx ++ mats/Mf-i3qnx mats/Mf-ppc32le mats/Mf-ta6fb mats/Mf-ta6le mats/Mf-ta6nb ++ mats/Mf-ta6ob mats/Mf-ta6osx mats/Mf-ti3fb mats/Mf-ti3le mats/Mf-ti3nb ++ mats/Mf-ti3ob mats/Mf-ti3osx mats/Mf-tppc32le mats/unix.ms newrelease ++ pkg/Makefile release_notes/gifs/Makefile release_notes/math/Makefile ++ s/Mf-base workarea +diff --git a/csug/gifs/Makefile b/csug/gifs/Makefile +index 8676e4c..4253ffd 100644 +--- a/csug/gifs/Makefile ++++ b/csug/gifs/Makefile +@@ -18,7 +18,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + # translate ps file to gif w/o transparent white background +@@ -28,7 +28,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} +@@ -57,7 +57,7 @@ ghostRightarrow.gif: Rightarrow.tex + giftrans -g '#000000=#ffffff' |\ + giftopnm |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux ++ rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux + test -f $*.gif && chmod 644 $*.gif + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/csug/math/Makefile b/csug/math/Makefile +index 3385fdb..3392ea8 100644 +--- a/csug/math/Makefile ++++ b/csug/math/Makefile +@@ -15,11 +15,11 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log $*.aux ++ rm -f $*.dvi $*.log $*.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} + + ${gifs}: mathmacros + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/examples/Makefile b/examples/Makefile +index b1b4e1d..3edfdd0 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -25,4 +25,4 @@ needed: ${obj} + + all: ; echo "(time (for-each compile-file (map symbol->string '(${src}))))" | ${Scheme} + +-clean: ; /bin/rm -f $(obj) expr.md ++clean: ; rm -f $(obj) expr.md +diff --git a/makefiles/Makefile-csug.in b/makefiles/Makefile-csug.in +index df24092..6f8a8d9 100644 +--- a/makefiles/Makefile-csug.in ++++ b/makefiles/Makefile-csug.in +@@ -29,7 +29,7 @@ install: target + # thrice is not enough when starting from scratch + logcheck1: $(x).thirdrun + @if [ -n "`grep 'Warning: Label(s) may have changed' $(x).log`" ] ; then\ +- /bin/rm -f $(x).thirdrun ;\ ++ rm -f $(x).thirdrun ;\ + $(MAKE) $(x).thirdrun;\ + fi + +@@ -55,7 +55,7 @@ stexsrc = csug.stex title.stex copyright.stex contents.stex\ + texsrc = ${stexsrc:%.stex=%.tex} + + title.tex contents.tex bibliography.tex: +- /bin/rm -f $*.tex ++ rm -f $*.tex + echo "%%% DO NOT EDIT THIS FILE" > $*.tex + echo "%%% Edit the .stex version instead" >> $*.tex + echo "" >> $*.tex +@@ -147,7 +147,7 @@ code: $(stexsrc) + echo '(load "code" pretty-print)' | $(Scheme) -q + + $(x).clean: +- -/bin/rm -f $(x).rfm $(x).sfm $(x).prefirstrun $(x).presecondrun\ ++ -rm -f $(x).rfm $(x).sfm $(x).prefirstrun $(x).presecondrun\ + $(x).prethirdrun $(x).ans\ + $(x).hprefirstrun $(x).hpresecondrun $(x).hprethirdrun\ + tspl.aux tspl.haux tspl.rfm tspl.idx in.hidx\ +diff --git a/makefiles/Makefile-release_notes.in b/makefiles/Makefile-release_notes.in +index 4435b6f..64348a4 100644 +--- a/makefiles/Makefile-release_notes.in ++++ b/makefiles/Makefile-release_notes.in +@@ -38,7 +38,7 @@ install: $x.pdf $x.html + $(INSTALL) -m 2755 -d $(installdir)/gifs + $(INSTALL) -m 0644 --ifdiff gifs/*.gif $(installdir)/gifs + $(INSTALL) -m 2755 -d $(installdir)/math +- -/bin/rm -rf $(installdir)/$(mathdir) ++ -rm -rf $(installdir)/$(mathdir) + $(INSTALL) -m 2755 -d $(installdir)/$(mathdir) + if [ -e $(mathdir)/0.gif ] ; then $(INSTALL) -m 0644 $(mathdir)/*.gif $(installdir)/$(mathdir) ; fi + +diff --git a/makefiles/Mf-install.in b/makefiles/Mf-install.in +index a702c34..c09043d 100644 +--- a/makefiles/Mf-install.in ++++ b/makefiles/Mf-install.in +@@ -114,12 +114,12 @@ bininstall: ${Bin} + libbininstall: ${LibBin} + $I -m 444 ${PetiteBoot} ${LibBin}/petite.boot + if [ "${InstallPetiteName}" != "petite" ]; then\ +- /bin/rm -f ${LibBin}/${InstallPetiteName}.boot;\ ++ rm -f ${LibBin}/${InstallPetiteName}.boot;\ + ln -f ${LibBin}/petite.boot ${LibBin}/${InstallPetiteName}.boot;\ + fi + $I -m 444 ${SchemeBoot} ${LibBin}/scheme.boot;\ + if [ "${InstallSchemeName}" != "scheme" ]; then\ +- /bin/rm -f ${LibBin}/${InstallSchemeName}.boot;\ ++ rm -f ${LibBin}/${InstallSchemeName}.boot;\ + ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallSchemeName}.boot;\ + fi + ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallScriptName}.boot; +diff --git a/makefiles/installsh b/makefiles/installsh +index 48f1e46..95d85fb 100755 +--- a/makefiles/installsh ++++ b/makefiles/installsh +@@ -1,7 +1,8 @@ + #! /bin/sh + if [ -x /bin/true ]; then TRUE=/bin/true; + elif [ -x /usr/bin/true ]; then TRUE=/usr/bin/true; +-else echo "Can't find /bin/true or /usr/bin/true" ; exit 1; ++elif command -v true &> /dev/null; then TRUE=true; ++else echo "Can't find /bin/true or /usr/bin/true and no true command" ; exit 1; + fi + + while ${TRUE} ; do +diff --git a/mats/6.ms b/mats/6.ms +index 102f84b..e504230 100644 +--- a/mats/6.ms ++++ b/mats/6.ms +@@ -2685,7 +2685,7 @@ + (begin + (system "ln -s ../examples .") + (load "examples/fatfib.ss" compile) +- (system "/bin/rm examples") ++ (system "rm -f examples") + #t)) + (or (windows?) (embedded?) + (equal? +diff --git a/mats/Mf-a6fb b/mats/Mf-a6fb +index b16d1b6..ff9e687 100644 +--- a/mats/Mf-a6fb ++++ b/mats/Mf-a6fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6le b/mats/Mf-a6le +index d6fee09..a3bda76 100644 +--- a/mats/Mf-a6le ++++ b/mats/Mf-a6le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6nb b/mats/Mf-a6nb +index 48187ef..0f7ac17 100644 +--- a/mats/Mf-a6nb ++++ b/mats/Mf-a6nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6ob b/mats/Mf-a6ob +index 12758f3..0ffcccc 100644 +--- a/mats/Mf-a6ob ++++ b/mats/Mf-a6ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6osx b/mats/Mf-a6osx +index f1dbf85..57bac22 100644 +--- a/mats/Mf-a6osx ++++ b/mats/Mf-a6osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-arm32le b/mats/Mf-arm32le +index f33a665..83896eb 100644 +--- a/mats/Mf-arm32le ++++ b/mats/Mf-arm32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -fomit-frame-pointer -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -fomit-frame-pointer -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3fb b/mats/Mf-i3fb +index 150cedb..1e4e8fc 100644 +--- a/mats/Mf-i3fb ++++ b/mats/Mf-i3fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3le b/mats/Mf-i3le +index 8f521c8..b248620 100644 +--- a/mats/Mf-i3le ++++ b/mats/Mf-i3le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3nb b/mats/Mf-i3nb +index e81f6ff..8afeb5c 100644 +--- a/mats/Mf-i3nb ++++ b/mats/Mf-i3nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3ob b/mats/Mf-i3ob +index 4e3ee1b..fcd4dee 100644 +--- a/mats/Mf-i3ob ++++ b/mats/Mf-i3ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3osx b/mats/Mf-i3osx +index 53c7d4a..a55f6ee 100644 +--- a/mats/Mf-i3osx ++++ b/mats/Mf-i3osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3qnx b/mats/Mf-i3qnx +index 724f2db..3e1437a 100644 +--- a/mats/Mf-i3qnx ++++ b/mats/Mf-i3qnx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ppc32le b/mats/Mf-ppc32le +index 28151a8..547ca00 100644 +--- a/mats/Mf-ppc32le ++++ b/mats/Mf-ppc32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6fb b/mats/Mf-ta6fb +index 921d609..5ed233e 100644 +--- a/mats/Mf-ta6fb ++++ b/mats/Mf-ta6fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6le b/mats/Mf-ta6le +index cd014ec..21c686a 100644 +--- a/mats/Mf-ta6le ++++ b/mats/Mf-ta6le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6nb b/mats/Mf-ta6nb +index 6b1929d..9b9b898 100644 +--- a/mats/Mf-ta6nb ++++ b/mats/Mf-ta6nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6ob b/mats/Mf-ta6ob +index a7aee91..8f25aed 100644 +--- a/mats/Mf-ta6ob ++++ b/mats/Mf-ta6ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6osx b/mats/Mf-ta6osx +index 42da5d7..0dd386f 100644 +--- a/mats/Mf-ta6osx ++++ b/mats/Mf-ta6osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3fb b/mats/Mf-ti3fb +index c891145..56bf7d3 100644 +--- a/mats/Mf-ti3fb ++++ b/mats/Mf-ti3fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3le b/mats/Mf-ti3le +index 12e77b8..22b4148 100644 +--- a/mats/Mf-ti3le ++++ b/mats/Mf-ti3le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3nb b/mats/Mf-ti3nb +index 028c652..573946e 100644 +--- a/mats/Mf-ti3nb ++++ b/mats/Mf-ti3nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3ob b/mats/Mf-ti3ob +index 8a4741c..4472b60 100644 +--- a/mats/Mf-ti3ob ++++ b/mats/Mf-ti3ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3osx b/mats/Mf-ti3osx +index 6913c34..9273b44 100644 +--- a/mats/Mf-ti3osx ++++ b/mats/Mf-ti3osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-tppc32le b/mats/Mf-tppc32le +index a12b515..8b9d9f0 100644 +--- a/mats/Mf-tppc32le ++++ b/mats/Mf-tppc32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/unix.ms b/mats/unix.ms +index cfba3e7..db7f6f9 100644 +--- a/mats/unix.ms ++++ b/mats/unix.ms +@@ -72,8 +72,8 @@ + (mat system + (eqv? (with-output-to-file "testfile.ss" void '(replace)) (void)) + (begin +- (system (format "~:[~;/pkg~]/bin/rm testfile.ss" (embedded?))) +- (system (format "~:[~;/pkg~]/bin/echo hello > testfile.ss" (embedded?))) ++ (system "rm -f testfile.ss") ++ (system "echo hello > testfile.ss") + (let ([p (open-input-file "testfile.ss")]) + (and (eq? (read p) 'hello) + (begin (close-input-port p) #t)))) +diff --git a/newrelease b/newrelease +index e903956..2d06740 100755 +--- a/newrelease ++++ b/newrelease +@@ -75,13 +75,13 @@ if ($status != 0) exit 1 + + cd $W + +-/bin/rm -f BUILDING ++rm -f BUILDING + sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ + -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ + ../BUILDING > BUILDING + set updatedfiles = ($updatedfiles BUILDING) + +-/bin/rm -f NOTICE ++rm -f NOTICE + sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ + -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ + ../NOTICE > NOTICE +@@ -92,19 +92,19 @@ sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)*/csv$R/" ../makefiles/Mf-install.in > makef + sed -e "s/csug[0-9]\.[0-9]/csug$MR.$mR/" -e "s/csug[0-9]_[0-9]/csug$MR""_$mR/" ../makefiles/Makefile-csug.in > makefiles/Makefile-csug.in + set updatedfiles = ($updatedfiles makefiles/Mf-install.in makefiles/Makefile-csug.in) + +-/bin/rm scheme.1.in ++rm -f scheme.1.in + sed -e "s/Chez Scheme Version [0-9]\.[0-9]\(\.[0-9]\)* .* [0-9][0-9]*/Chez Scheme Version $R `date +'%B %Y'`/" \ + -e "s/Copyright .* Cisco Systems, Inc./Copyright `date +%Y` Cisco Systems, Inc./" \ + ../scheme.1.in > scheme.1.in + set updatedfiles = ($updatedfiles scheme.1.in) + +-/bin/rm -f c/Makefile.{,t}{i3,a6}nt ++rm -f c/Makefile.{,t}{i3,a6}nt + foreach fn (c/Makefile.{,t}{a6,i3}nt) + set updatedfiles = ($updatedfiles $fn) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn + end + +-/bin/rm -f mats/Mf-{,t}{i3,a6}nt ++rm -f mats/Mf-{,t}{i3,a6}nt + foreach fn (mats/Mf-{,t}{a6,i3}nt) + set updatedfiles = ($updatedfiles $fn) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn +@@ -123,11 +123,11 @@ sed -e "s/FILEVERSION .*/FILEVERSION $RCVERSION/"\ + -e "s/Copyright 1984-..../Copyright 1984-`date +%Y`/g" ../c/scheme.rc > c/scheme.rc + set updatedfiles = ($updatedfiles c/scheme.rc) + +-/bin/rm -f s/7.ss ++rm -f s/7.ss + sed -e "s/nCopyright 1984-..../nCopyright 1984-`date +%Y`/g" ../s/7.ss > s/7.ss + set updatedfiles = ($updatedfiles s/7.ss) + +-/bin/rm -f s/cmacros.ss ++rm -f s/cmacros.ss + set VNUM = `printf "%04x%02x%02x" $MR $mR $bR` + sed -e "s/scheme-version #x......../scheme-version #x$VNUM/" ../s/cmacros.ss > s/cmacros.ss + set updatedfiles = ($updatedfiles s/cmacros.ss) +@@ -146,17 +146,17 @@ sed -e "s/Revised\(.*\)for Chez Scheme Version [^ ]*
/Revised\1for Chez Schem + ../csug/csug.stex > csug/csug.stex + set updatedfiles = ($updatedfiles csug/copyright.stex csug/csug.stex) + +-/bin/rm bintar/Makefile ++rm -f bintar/Makefile + sed -e "s/^version = .*/version = $R/" \ + -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" \ + ../bintar/Makefile > bintar/Makefile + set updatedfiles = ($updatedfiles bintar/Makefile) + +-/bin/rm rpm/Makefile ++rm -f rpm/Makefile + sed -e "s/^version = .*/version = $R/" ../rpm/Makefile > rpm/Makefile + set updatedfiles = ($updatedfiles rpm/Makefile) + +-/bin/rm pkg/Makefile ++rm -f pkg/Makefile + sed -e "s/^version = .*/version = $R/" \ + -e "s/© .* Cisco Systems/\© `date +%Y` Cisco Systems/" \ + ../pkg/Makefile > pkg/Makefile +@@ -170,7 +170,7 @@ foreach fn (wininstall/{,t}{a6,i3}nt.wxs) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/" ../$fn > $fn + end + +-/bin/rm LOG ++rm -f LOG + cat ../LOG > LOG + echo "" >> LOG + echo "$R changes:" >> LOG +diff --git a/pkg/Makefile b/pkg/Makefile +index e0eef67..a3fe83f 100644 +--- a/pkg/Makefile ++++ b/pkg/Makefile +@@ -39,7 +39,7 @@ $(PKG): $(BUILDROOT)/$(PKG) + --package-path $(BUILDROOT)\ + $(PKG) + sudo chown $(DOTUSER):$(DOTGROUP) $(PKG) +- sudo /bin/rm -rf $(RELEASE) $(BUILDROOT) ++ sudo rm -rf $(RELEASE) $(BUILDROOT) + + $(BUILDROOT)/$(PKG): $(PKGCONTENT) + sudo /usr/bin/pkgbuild\ +diff --git a/release_notes/gifs/Makefile b/release_notes/gifs/Makefile +index 9572965..701d53a 100644 +--- a/release_notes/gifs/Makefile ++++ b/release_notes/gifs/Makefile +@@ -15,7 +15,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} +@@ -44,7 +44,7 @@ ghostRightarrow.gif: Rightarrow.tex + giftrans -g '#000000=#ffffff' |\ + giftopnm |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux ++ rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux + test -f $*.gif && chmod 644 $*.gif + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/release_notes/math/Makefile b/release_notes/math/Makefile +index b3ffae3..9eca430 100644 +--- a/release_notes/math/Makefile ++++ b/release_notes/math/Makefile +@@ -16,11 +16,11 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log $*.aux ++ rm -f $*.dvi $*.log $*.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} + + ${gifs}: mathmacros + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/s/Mf-base b/s/Mf-base +index c709608..40d816c 100644 +--- a/s/Mf-base ++++ b/s/Mf-base +@@ -206,7 +206,7 @@ profiled: + $(MAKE) all loadspd=t bp=t PetiteBoot=../boot/$m/xpetite.boot SchemeBoot=../boot/$m/xscheme.boot + $(MAKE) prettyclean + $(MAKE) io.$m loadspd=t dumpbpd=t Scheme="../bin/$m/scheme -b ../boot/$m/xpetite.boot -b ../boot/$m/xscheme.boot" +- /bin/rm -f ../boot/$m/xpetite.boot ../boot/$m/xscheme.boot ++ rm -f ../boot/$m/xpetite.boot ../boot/$m/xscheme.boot + $(MAKE) prettyclean + $(MAKE) all loadspd=t loadbpd=t + +diff --git a/workarea b/workarea +index bacc712..0461919 100755 +--- a/workarea ++++ b/workarea +@@ -70,9 +70,9 @@ esac + + if [ "$OS" = "Windows_NT" ] + then +- ln="/bin/cp -R" ++ ln="cp -R" + else +- ln="/bin/ln -s" ++ ln="ln -s" + fi + + # This shell script creates a workarea for local modifications to the +@@ -102,7 +102,7 @@ workln() + forceworkln() + { + if [ ! -e $2 ] ; then +- /bin/ln -s $1 $2 2> /dev/null ++ ln -s $1 $2 2> /dev/null + fi + } + +@@ -168,13 +168,13 @@ done + # deep copy submodules where builds occur so changes don't propagate through symlinks + for dir in `echo zlib` ; do + if [ ! -e $W/$dir ] ; then +- /bin/cp -R $dir $W/$dir ++ cp -R $dir $W/$dir + fi + done + + for dir in `echo lz4` ; do + if [ ! -e $W/$dir ] ; then +- /bin/cp -R $dir $W/$dir ++ cp -R $dir $W/$dir + fi + done + +-- +2.21.1 (Apple Git-122.3) + -- 2.21.1 (Apple Git-122.3) From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 06:32:42 2021 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 10:32:42 +0000 Received: from localhost ([127.0.0.1]:34924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLkWg-0000BU-3o for submit@debbugs.gnu.org; Mon, 15 Mar 2021 06:32:42 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:59888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLkWd-0000BI-1t for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 06:32:40 -0400 Received: from nijino.local (217-149-164-20.nat.highway.telekom.at [217.149.164.20]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DzXmf4Wynz3w9M; Mon, 15 Mar 2021 11:32:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1615804354; bh=18109riXmvEu2cMS6LrwcWa9FY5M11lkkeyoKVL7yfk=; h=Subject:From:To:Date:In-Reply-To:References; b=EH2PNb7GT4RIu4o2w1b5XCaiYYkvGbXUkvEETCMe0xqjjuVkX2QKIDxec5S+mmnuW dRMW+L966XfAf7+RbVXWEIp0niMdGw5brZX22kfgKxZ6jcV16NMld07lyf+zp+2biw wLlnUKAfpiF2owUtGw26MXIrZ4M1OLZcsTmyg9N4= Message-ID: Subject: Re: [PATCH] gnu: chez-scheme: simplify packaging From: Leo Prikler To: Philip McGrath , 47153@debbugs.gnu.org Date: Mon, 15 Mar 2021 11:32:33 +0100 In-Reply-To: <20210315084235.7051-1-philip@philipmcgrath.com> References: <20210315084235.7051-1-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, I'm not an expert on Chez Scheme, so take this with a grain of salt, but I do have some questions/remarks. Am Montag, den 15.03.2021, 04:42 -0400 schrieb Philip McGrath: > * gnu/packages/chez.scm (nanopass): Rename it to ... > (nanopass-framework-scheme): ... this variable. Change it from an > origin > to a package. Update to 1.9.2. What advantages do we get from making this a package? Can it be upgraded to 1.9.2 without this change at the same time? > (stex): Rename it to ... > (chez-stex): ... this variable. Change it from an origin to a hidden > package. Update to commit 5405149, which helps us install it. Same here, also does this need to be done at the same time as the nanopass upgrade? > (chez-scheme)[source](patches): Use it. Use what? > [source](snippet): Remove bundled libraries here, not during > 'configure' > phase. Also remove irrelevant bootfiles. This seems okay. > + (build-system gnu-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (delete 'bootstrap) > + (delete 'patch-usr-bin-file) > + (delete 'configure) > + (delete 'patch-generated-file-shebangs) > + (delete 'build) > + (delete 'check) > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) > + (copy-recursively "." (assoc-ref outputs "out")) > + #t)) > + (delete 'patch-shebangs) > + (delete 'strip) > + (delete 'validate-runpath) > + (delete 'validate-documentation-location) > + (delete 'delete-info-dir-file) > + (delete 'patch-dot-desktop-files) > + (delete 'install-license-files) > + (delete 'reset-gzip-timestamps) > + (delete 'compress-documentation))))))) copy-build-system exists. And again, what is the point of making this a package if it contains the exact same files as the corresponding origin? > +(define chez-stex > + ;; Hidden because of a circular dependency issue: > + ;; stex needs chez-scheme to be used, but chez-scheme uses > + ;; stex to build its documentation. > + ;; The chez-scheme package has an stex output that exposes > + ;; the useful version of this---or maybe there's a more elegant > solution? > + (hidden-package > + (let ((version "1.2.2") > + ;; This commit includes a fix for which we would > + ;; otherwise want to use a snippet. > + ;; When there's a new tagged release, > + ;; go back to using (string-append "v" version) > + (commit "54051494434a197772bf6ca5b4e6cf6be55f39a5") > + (revision "1")) ;Guix package revision > + (package > + (inherit nanopass-framework-scheme) > + (name "chez-stex") > + (version (git-version version revision commit)) > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/dybvig/stex") > + (commit commit))) > + (sha256 > "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d") > + (file-name (git-file-name "stex" version)))) > + (home-page "https://github.com/dybvig/stex") > + (synopsis > + "Tools for including Scheme in LaTeX and converting to > HTML") > + (description > + "The @dfn{stex} package consists of two main programs and > some > +supporting items, such as make files, make-file templates, class > files, > +and style files. The two main programs are @command{scheme-prep} > and > +@command{html-prep}. @command{scheme-prep} performs a conversion > from > +stex-formatted files into LaTeX-formatted files, while > @command{html-prep} > +converts (some) LaTeX-formatted files into html-formatted files. > + > +An stex file is really just a LaTeX file extended with a handful of > commands > +for including Scheme code (or pretty much any other kind of code, as > long as > +you don't plan to use the Scheme-specific transcript support) in a > document, > +plus a couple of additional features rather arbitrarily thrown in.") > + (license (list expat)))))) > > -(define stex > - (let ((version "1.2.2")) > - (origin > - (method git-fetch) > - (uri (git-reference > - (url "https://github.com/dybvig/stex") > - (commit (string-append "v" version)))) > - (sha256 (base32 > "1q5i8pf4cdfjsj6r2k1rih7ljbfggyxdng2p2fvsgarzihpsin2i")) > - (file-name (git-file-name "stex" version))))) Again, where is the benefit in having this as a hidden-package? Regards, Leo From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 14:03:28 2021 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 18:03:29 +0000 Received: from localhost ([127.0.0.1]:36924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLrYu-0004cd-Gi for submit@debbugs.gnu.org; Mon, 15 Mar 2021 14:03:28 -0400 Received: from mail-qt1-f178.google.com ([209.85.160.178]:38705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLrYs-0004cR-Kl for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 14:03:27 -0400 Received: by mail-qt1-f178.google.com with SMTP id j7so9772894qtx.5 for <47153@debbugs.gnu.org>; Mon, 15 Mar 2021 11:03:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=lnDgqbAQJ3OYRVaGlkpQBWvX0W0J0u7Mao7SZL3vpBU=; b=YQCRG4KTG4qdH+7LxCV4+avDqFA4qw29iZujLkdlH2EqyuU2P+BQFCAvHo9Z0z5sQW 4qUyUHqSLmOYDI0x1VDAOG+HcQ+7k6ug86dNBBR1UU1n0qLcmXgjPRoJhImtAkxEvnF1 qCkehIXl4Dc+3939IubStMYLq7X8nl72HxrRvMoHO1ov55ZlFRSlH0MyWVSoR4mYhR2Y EiTkqt2iWj6gmUeSE52ngmif5eb+oXvJ8h17AtRl/SsWrApAN4U0RyUk6M382D0C5GF5 CTbLyPLQa5TsFBq8x69UuOmzFRYwCo9lai3IurZ/ZDaCeSmKxLzD9Tqyd/aqWe4wjVGb nlsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=lnDgqbAQJ3OYRVaGlkpQBWvX0W0J0u7Mao7SZL3vpBU=; b=srj28uOnYrH0KCA04Nkaid3T9rDNG0z9F4GeWNYyjPpZCU4S6aPzmpyRdMBwoi1E83 S98nDfGz1x1REANPBgqUxWKNkkdxffeNxlINLmb+6ChAQetOvsj6KyIuCzBz6WNdBwvq jmFzzgmT2LMghKTdAth2qWSuwlyTYnv14RBeIq6xm+srA5Dek/bEw9HVbaKwQew3uoU/ dUaL2x45zQrVcVKUtIfFyRl9Hvfw0LqVmPPWcb9Ad45t89X3PnL4OY8TINhFt9eLZwUR IQJm1v0gY3GQF2i7kNK09k+el+Aa2dRkiIAiEuaU8DUmf4aW5JjsSDfUX5I3IKAvWseN zFtg== X-Gm-Message-State: AOAM5311Ss93t7A9ubFmYlFrAGdo/s8jio5zoBauKzCptm985HvKtJbi O/LAIUM0LfN791JwbiqAnhantLmFlcFhoTl8mWo= X-Google-Smtp-Source: ABdhPJwop0qA8S3YJeY01wSyEaKu2vVkoLaZNyOTCOKJbopyOqlr8ArIi5JpiChI/nc5s7iGcgvU/A== X-Received: by 2002:ac8:7347:: with SMTP id q7mr8007922qtp.255.1615831400947; Mon, 15 Mar 2021 11:03:20 -0700 (PDT) Received: from Sapientia.local (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id c27sm12841455qko.71.2021.03.15.11.03.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Mar 2021 11:03:20 -0700 (PDT) From: Philip McGrath Subject: Re: [PATCH] gnu: chez-scheme: simplify packaging To: 47153@debbugs.gnu.org, Leo Prikler References: <20210315084235.7051-1-philip@philipmcgrath.com> Message-ID: <80ae553f-ac34-9b63-af43-9adf7d7113a6@philipmcgrath.com> Date: Mon, 15 Mar 2021 14:03:19 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi! On 3/15/21 6:32 AM, Leo Prikler wrote: > I'm not an expert on Chez Scheme, so take this with a grain of salt, I'm not an expert on Guix, so take this with a grain of salt :) I've been exploring packaging for Racket, and, by extension, Chez Scheme, as a way to get more familiar with Guix. > Am Montag, den 15.03.2021, 04:42 -0400 schrieb Philip McGrath: >> * gnu/packages/chez.scm (nanopass): Rename it to ... >> (nanopass-framework-scheme): ... this variable. Change it from an >> origin >> to a package. Update to 1.9.2. > What advantages do we get from making this a package? Can it be > upgraded to 1.9.2 without this change at the same time? >> (stex): Rename it to ... >> (chez-stex): ... this variable. Change it from an origin to a hidden >> package. Update to commit 5405149, which helps us install it. > Same here I don't have a strong opinion about whether these should be packages. My main goal was to have the unpack and patch-source-shebangs phases happen just once, rather than be handled in an ad-hoc way inside chez-scheme's configure phase, because I know I will be reusing these in the Racket package, as well. There are some other considerations specific to each package/origin: - nanopass-framework-scheme is portable to many R6RS Scheme implementations. It doesn't have a Makefile or anything: you just put it in the right place and then happily `(import (nanopass))` from your Scheme of choice. - I think the right thing would be to make chez-stex a public package, instead of the "stex" output of the chez-scheme package, but there are some bootstrapping issues I'll discuss below. > , also does this need to be done at the same time as the > nanopass upgrade? No >> (chez-scheme)[source](patches): Use it. > Use what? The new patch chez-scheme-build-util-paths-backport.patch added above. Is there a better way to write that in the message? > copy-build-system exists. And again, what is the point of making this > a package if it contains the exact same files as the corresponding > origin? copy-build-system also does validate-documentation-location and install-license-files, IIUC. But again, I'm open to alternative approaches. >> +(define chez-stex >> + ;; Hidden because of a circular dependency issue: >> + ;; stex needs chez-scheme to be used, but chez-scheme uses >> + ;; stex to build its documentation. >> + ;; The chez-scheme package has an stex output that exposes >> + ;; the useful version of this---or maybe there's a more elegant >> solution? This is related to the comments I added about things probably being wrong for cross-compilation, though I don't think they're any more wrong with this patch than without it. Fundamentally, you need Chez Scheme to compile Chez Scheme. (The Racket fork can be bootstrapped with a C-based Racket implementation that simulates enough of Chez Scheme to compile the Chez Scheme compiler. Unfortunately, the forks have diverged too much right now, at a minimum in the definition of `#!base-rtd`, to be able to bootstrap upstream Chez that way.) Chez distributes "bootfiles" for i686, x86_64, and "arm32" (which I hope, but am not sure, could work for "armhf"). Once you've done a native build for one of those platforms, you can use it to cross-compile for any platform Chez Scheme supports (ppc32, various BSDs, etc—Racket's fork adds arm64, and there's been some work on riscv). You need Chez to build stex, and thus you need a native Chez to build the Chez Scheme docs. I'm not sure what the best way to structure that in Guix would be. Maybe a hidden variant of Chez that builds the public Chez? Suggestions are very welcome! -Philip From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 14:28:38 2021 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 18:28:38 +0000 Received: from localhost ([127.0.0.1]:37080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLrxF-0005QE-Ku for submit@debbugs.gnu.org; Mon, 15 Mar 2021 14:28:38 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:40703) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLrxC-0005Q5-QU for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 14:28:35 -0400 Received: from nijino.local (217-149-164-20.nat.highway.telekom.at [217.149.164.20]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DzlKq4RhDz3xBl; Mon, 15 Mar 2021 19:28:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1615832911; bh=MqwtT5uxhBScQCrIhvnCm2qSjowA0f5yR5mGpW/PStQ=; h=Subject:From:To:Date:In-Reply-To:References; b=lwppmeKVLdgICB/ZjRxbIuSFe3x0b/iSHsMZkOnnoqgyd1ZxTGzREa9cTJvYYjJXx 8f238sumXYX3Vpv7FGknxBKk8+MKLQyXWm1J5tqQa3LcBrcz2JfJw8MhpCXkMlYSbm 9LB8r+Hz8VPG9oC6uTvK9/qdCehkpOmffm9OH04g= Message-ID: Subject: Re: [PATCH] gnu: chez-scheme: simplify packaging From: Leo Prikler To: Philip McGrath , 47153@debbugs.gnu.org Date: Mon, 15 Mar 2021 19:28:30 +0100 In-Reply-To: <80ae553f-ac34-9b63-af43-9adf7d7113a6@philipmcgrath.com> References: <20210315084235.7051-1-philip@philipmcgrath.com> <80ae553f-ac34-9b63-af43-9adf7d7113a6@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi! Am Montag, den 15.03.2021, 14:03 -0400 schrieb Philip McGrath: > Hi! > > On 3/15/21 6:32 AM, Leo Prikler wrote: > > I'm not an expert on Chez Scheme, so take this with a grain of > > salt, > > I'm not an expert on Guix, so take this with a grain of salt :) > > I've been exploring packaging for Racket, and, by extension, Chez > Scheme, as a way to get more familiar with Guix. Hehe, I see what you did there 😉 > > Am Montag, den 15.03.2021, 04:42 -0400 schrieb Philip McGrath: > > > * gnu/packages/chez.scm (nanopass): Rename it to ... > > > (nanopass-framework-scheme): ... this variable. Change it from an > > > origin > > > to a package. Update to 1.9.2. > > What advantages do we get from making this a package? Can it be > > upgraded to 1.9.2 without this change at the same time? > > > (stex): Rename it to ... > > > (chez-stex): ... this variable. Change it from an origin to a > > > hidden > > > package. Update to commit 5405149, which helps us install it. > > Same here > > I don't have a strong opinion about whether these should be packages. > My > main goal was to have the unpack and patch-source-shebangs phases > happen > just once, rather than be handled in an ad-hoc way inside chez- > scheme's > configure phase, because I know I will be reusing these in the > Racket > package, as well. I think your worries might be a little unfounded; adding more phases between unpack and patch-source-shebangs to add additional sources might not be the most common pattern in Guix, but it's certainly not a rare one either. If you've ever played a trading card game, you might call it "uncommon" 🙂 > There are some other considerations specific to each package/origin: > > - nanopass-framework-scheme is portable to many R6RS Scheme > implementations. It doesn't have a Makefile or anything: > you just put it in the right place and then happily > `(import (nanopass))` from your Scheme of choice. Which makes even more sense to have it as origin. Suppose you were to actually bytecompile it with both say Guile and Racket, then you'd have a guile-nanopass and a racket-nanopass both with the same origin. > - I think the right thing would be to make chez-stex a > public package, instead of the "stex" output of the chez-scheme > package, but there are some bootstrapping issues I'll discuss below. I agree. You can use the origin as an input to chez, like we've done before, then use the already built chez to compile stex into chez-stex. I don't think the latter half needs to be done right now, though, you can delay that until you feel more experienced in packaging. > > , also does this need to be done at the same time as the > > nanopass upgrade? > > No Then you should separate this into more than one patch. > > > (chez-scheme)[source](patches): Use it. > > Use what? > > The new patch chez-scheme-build-util-paths-backport.patch added > above. > Is there a better way to write that in the message? It is not clear, since you've mixed up 3(+?) patches into one. Yet another argument for separating your patches 😉 > > copy-build-system exists. And again, what is the point of making > > this > > a package if it contains the exact same files as the corresponding > > origin? > > copy-build-system also does validate-documentation-location and > install-license-files, IIUC. But again, I'm open to alternative > approaches. Since I don't really see the point in making it a package anyway, you can keep it as an origin imo. > > > +(define chez-stex > > > + ;; Hidden because of a circular dependency issue: > > > + ;; stex needs chez-scheme to be used, but chez-scheme uses > > > + ;; stex to build its documentation. > > > + ;; The chez-scheme package has an stex output that exposes > > > + ;; the useful version of this---or maybe there's a more elegant > > > solution? > > This is related to the comments I added about things probably being > wrong for cross-compilation, though I don't think they're any more > wrong > with this patch than without it. Fundamentally, you need Chez Scheme > to > compile Chez Scheme. (The Racket fork can be bootstrapped with a C- > based > Racket implementation that simulates enough of Chez Scheme to > compile > the Chez Scheme compiler. Unfortunately, the forks have diverged too > much right now, at a minimum in the definition of `#!base-rtd`, to > be > able to bootstrap upstream Chez that way.) > > Chez distributes "bootfiles" for i686, x86_64, and "arm32" (which I > hope, but am not sure, could work for "armhf"). Once you've done a > native build for one of those platforms, you can use it to cross- > compile > for any platform Chez Scheme supports (ppc32, various BSDs, > etc—Racket's > fork adds arm64, and there's been some work on riscv). You need Chez > to > build stex, and thus you need a native Chez to build the Chez Scheme > docs. The way this would typically be solved in Guix would be to first build a "minimal" variant of Chez without documentation, then use that to build the full one. See also glib as an example, where such a situation occurs. And yes, unless there is a good reason not to, the minimal variant would be hidden. Calling back to your earlier definition of chez-stex, you could use chez-minimal to compile the (publicly exported) chez-stex package. Regards, Leo From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 17:53:59 2021 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 21:53:59 +0000 Received: from localhost ([127.0.0.1]:37434 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLv9z-0002Hm-4i for submit@debbugs.gnu.org; Mon, 15 Mar 2021 17:53:59 -0400 Received: from mail-qt1-f172.google.com ([209.85.160.172]:37874) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLv9x-0002HV-DN for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 17:53:57 -0400 Received: by mail-qt1-f172.google.com with SMTP id f12so10286764qtq.4 for <47153@debbugs.gnu.org>; Mon, 15 Mar 2021 14:53:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=KiJaGpwGel9vpYmgvpYcHRoYmrIXiAYKXhdvbXveX6E=; b=PHDnC18u04LT0EPteFhThvNpXuFpLlQOi+Z+oul0yrLzCLBYVW7fbXqlef5I4JzHu4 n+r3T+wG5Y0+Ptud5Js9j7nN2Zo/O+1a7v1NiPoNinkkKk7EvSpK0UoZCXQi7zL3IZD9 sIb39p15EPYBpe+rJxRE7JPFkzZx4mf2RY820fkyKFkgERE3cfMGYfzVFD9Puav0lpN4 eWn+oaOZPr78llWdertj0PIO9G/x/3zH5DiJprseVms+3LMMOkQ27S5ZbjkHrtD+G/ud dZCRIvLTio0GOdBGPPEsCNhuXl305+LwNkV1EOAhys+WUjfxPsMNv7NDgEJwKel4JXnw hmUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=KiJaGpwGel9vpYmgvpYcHRoYmrIXiAYKXhdvbXveX6E=; b=SwtU+E5NYNF21DFA0rhOKiWW5JiS5mWe8Id81cTJgDisrfTtBMWTQ6fcHjykuN79I9 qeveF5F8jJrXvO1+E0thgP6PhkXy0IyAeMae8+OPg0jCao7uoefTBffoY3UWs5UrpoCX OHXYAgAmvr6PegwVne2qhglMbkyezxAMSPby3G32gUETwAldelr429nENmHv/wfzxTQJ a+CKPRRzhNs4mtlsKUS6rqPfuUQCsTqSIRrOIotURu9odKUPOZ8ukeOVs/BkQH/SkHfS EYZ6F5X6CSRFQDu3J0iOQYCkzsx2iTo991yswe5jE1wNi89qiuQ4W0x9gaq3R0FKN6QJ MoCg== X-Gm-Message-State: AOAM532xfG1rANjyFac6nGOmpTOaQUFg86NpklcS9LH+g2crxr8iufYS rUF/7nB9+8+InexxwzXUm5Wm9Sf8Z94L223yhXqTQA== X-Google-Smtp-Source: ABdhPJwz2oBPfVm441cdbEpUNzdy0KKTBgSGBMKXD84NzwX63zcfRgwCLnvUgd2wlX480s5dw2l6Jw== X-Received: by 2002:ac8:4ccc:: with SMTP id l12mr4017858qtv.137.1615845231540; Mon, 15 Mar 2021 14:53:51 -0700 (PDT) Received: from Sapientia.local (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id g74sm13642643qke.3.2021.03.15.14.53.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Mar 2021 14:53:51 -0700 (PDT) Subject: Re: [PATCH] gnu: chez-scheme: simplify packaging To: Leo Prikler , 47153@debbugs.gnu.org References: <20210315084235.7051-1-philip@philipmcgrath.com> <80ae553f-ac34-9b63-af43-9adf7d7113a6@philipmcgrath.com> From: Philip McGrath Message-ID: Date: Mon, 15 Mar 2021 17:53:50 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi, On 3/15/21 2:28 PM, Leo Prikler wrote: > Then you should separate this into more than one patch. Ok, I've split this into three patches and kept nanopass and stex as origins. Is it preferred to send them here or to start a new thread? >> - I think the right thing would be to make chez-stex a >> public package, instead of the "stex" output of the chez-scheme >> package, but there are some bootstrapping issues I'll discuss below. > I agree. You can use the origin as an input to chez, like we've done > before, then use the already built chez to compile stex into chez-stex. > I don't think the latter half needs to be done right now, though, you > can delay that until you feel more experienced in packaging. I think I understand (most of) how to do this, but I think I'll put it off for now and see how it interacts with my Racket plans. Maybe there will be a more elegant bootstrapping solution. -Philip From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 18:21:35 2021 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 22:21:36 +0000 Received: from localhost ([127.0.0.1]:37475 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLvah-0002zo-KT for submit@debbugs.gnu.org; Mon, 15 Mar 2021 18:21:35 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:64594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLvaf-0002ze-PK for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 18:21:34 -0400 Received: from nijino.local (217-149-164-20.nat.highway.telekom.at [217.149.164.20]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DzrVd3mCsz1LBRw; Mon, 15 Mar 2021 23:21:29 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4DzrVd3mCsz1LBRw DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1615846889; bh=FPcrFO0KwVzyK1mJ6HxCSQ40M9JOoyl18Q9DXqm3kaE=; h=Subject:From:To:Date:In-Reply-To:References:From; b=FwOyliylHfstEj4mH/iHqYcj79PFkV2ewWylBAcg7lo/htoXq3ocTE4hWvlC1KGqD L6V2EuVd2+rqpAyxfG5Htb3PqbhsOB7VIqsLBAGWBhIFtXGtPypvatTMU6qHPTJ1xS 9grpdCwP9SsL2bDg4W4p/SVd7TLzd++v3cfPVhl8= Message-ID: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> Subject: Re: [PATCH] gnu: chez-scheme: simplify packaging From: Leo Prikler To: Philip McGrath , 47153@debbugs.gnu.org Date: Mon, 15 Mar 2021 23:21:28 +0100 In-Reply-To: References: <20210315084235.7051-1-philip@philipmcgrath.com> <80ae553f-ac34-9b63-af43-9adf7d7113a6@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Montag, den 15.03.2021, 17:53 -0400 schrieb Philip McGrath: > Hi, > > On 3/15/21 2:28 PM, Leo Prikler wrote: > > Then you should separate this into more than one patch. > > Ok, I've split this into three patches and kept nanopass and stex as > origins. Is it preferred to send them here or to start a new thread? The preferred way is to use `git send-email --reroll-count=N` (in this case N=2, afterwards counting up). I would also ask you to do a rebasing pull before sending emails and perhaps fix up some whitespace issues. v1 failed to apply on cbaines' patchwork[1] with the following (see also [2]): error: patch failed: gnu/local.mk:879 error: gnu/local.mk: patch does not apply > > > - I think the right thing would be to make chez-stex a > > > public package, instead of the "stex" output of the chez-scheme > > > package, but there are some bootstrapping issues I'll discuss > > > below. > > I agree. You can use the origin as an input to chez, like we've > > done > > before, then use the already built chez to compile stex into chez- > > stex. > > I don't think the latter half needs to be done right now, though, > > you > > can delay that until you feel more experienced in packaging. > > I think I understand (most of) how to do this That's great! > I think I'll put it off for now and see how it interacts with my > Racket plans. Maybe there will be a more elegant bootstrapping > solution. Indeed, simpler patch sets are much appreciated. Regards, Leo [1] https://patches.guix-patches.cbaines.net [2] https://laminar.cbaines.net/jobs/patchwork-test-series/5359 From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 18:53:31 2021 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 22:53:32 +0000 Received: from localhost ([127.0.0.1]:37510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLw5a-0003pa-Rh for submit@debbugs.gnu.org; Mon, 15 Mar 2021 18:53:31 -0400 Received: from mail-qv1-f48.google.com ([209.85.219.48]:40625) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLw5X-0003p7-Ix for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 18:53:29 -0400 Received: by mail-qv1-f48.google.com with SMTP id d10so2272456qve.7 for <47153@debbugs.gnu.org>; Mon, 15 Mar 2021 15:53:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JZWrF9ksFtNn54ju48ansdt9XIDeXgJJniM5pkr8Ixw=; b=A6l+5fGwjMhxzIDYQasvzfwKugyd9ZDFBgvd6GpPT7B/wMWVwHJcK4WDXw9mK2I4fq 1ag/DtAAkxu7+rXqpFD+PgztR7iHiEW7WpL3othg1UKnatDNeKKh0O+xwuc+rM+stbMs 4j9Oy53DYPKyf9fbUjsfJixOgOhezgwws3NgUiZWnPzZtyPrufi6a5wBSNl0s5ircE79 amGgeKHr7bxCMnc8HneYGC7hTu5fmbP8LXPRQxXR1xdeyxZFv60nFEM2s1EgYI5PcGc7 ZXbKOhOBRhJ7xcFiz852IpesGOFkFmpByq25dBmSi2LxrEpHiVqb2kxPh6UDAN/5RkCj NTFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JZWrF9ksFtNn54ju48ansdt9XIDeXgJJniM5pkr8Ixw=; b=kSbGbi2aRqyY/7vWxQjFSJ0LRWpZipOPtPSB5BNIa5KFZud4OW5mxX5xzmZ813wXGn FEm28YNq79rr0TezsfTMIE4811j60PID317RsyjiMAMLBxwVfnsgUvHR90n4kwZ3BLf7 zPCjdh4f9DeuKBUi8XR4v9AYQ1S2vEjBo3kd0DjnlZIcwJivdyrdxNGOgOYz4uFfzmeK qFRqO7wZEqukXCicgHQthIPIqxiRD1Wasbibcc0jSG4rBRm7fW4CQBT5v6rxPBtWvGio MHMoQJ/bpNj6ngLutCxw/gZdiV7NNOp0gb00sGRYq2aRboISTumojPfbKpf9gOo5XXKe jupA== X-Gm-Message-State: AOAM531Os0UCoF00jo6PN+Sa0fYis9Ttp5c//6zvGpaQK/8sOia4unvR AtoyXeIOeE0gOzJCoAzujOyEoH4WY7g+XOVPJ+4= X-Google-Smtp-Source: ABdhPJyGLjQMhnsG0SUYSYx3c2R0Rgmf80SwJPsT+LNtg/oLfB4myY2XQvVqZiOFTCutPqh2/mtHJQ== X-Received: by 2002:a0c:eb87:: with SMTP id x7mr13401731qvo.14.1615848801859; Mon, 15 Mar 2021 15:53:21 -0700 (PDT) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r17sm11922694qtn.25.2021.03.15.15.53.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Mar 2021 15:53:21 -0700 (PDT) From: Philip McGrath To: 47153@debbugs.gnu.org Subject: [PATCH v2 1/3] gnu: chez-scheme: Update nanopass to 1.9.2. Date: Mon, 15 Mar 2021 18:53:00 -0400 Message-Id: <20210315225302.6597-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> References: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/chez.scm (nanopass): Update nanopass to 1.9.2. --- gnu/packages/chez.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index eac556c4d0..5dd1185c43 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2020 Brendan Tildesley +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,13 +44,13 @@ #:use-module (srfi srfi-1)) (define nanopass - (let ((version "1.9.1")) + (let ((version "1.9.2")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/nanopass/nanopass-framework-scheme") (commit (string-append "v" version)))) - (sha256 (base32 "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) + (sha256 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") (file-name (git-file-name "nanopass" version))))) (define stex -- 2.21.1 (Apple Git-122.3) From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 18:53:37 2021 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 22:53:37 +0000 Received: from localhost ([127.0.0.1]:37513 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLw5g-0003qH-Pe for submit@debbugs.gnu.org; Mon, 15 Mar 2021 18:53:36 -0400 Received: from mail-qk1-f178.google.com ([209.85.222.178]:33536) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLw5f-0003pN-1n for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 18:53:35 -0400 Received: by mail-qk1-f178.google.com with SMTP id l4so33453386qkl.0 for <47153@debbugs.gnu.org>; Mon, 15 Mar 2021 15:53:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=L0PXb256tmcjo9xHI4T1pFfjRGrkyxorEt5ExX9456U=; b=YXBrLkDUkw7Zp5n0UUJxApxWO5kBOj8Ru2v8RuY7FFR0ezSoVFbqp1mWcarp4sBJ0n XJpXAgboqwHtEpEa2K+eauNC3OZMYVPgOBVwlvm78sGWHFvRtthYeD5GMzBKX+6wiXL2 L4J+0chzLLrF9/jGddy0BO3eFSuUj2ilL0yRX3RUmXqXcojybvbGrTP9qD7HRQQuYhHH toarO/uWw9yfd+aKaemFevavIkKJaRR7i2vmmpHF/Mpk3AC2ELdHJfGM1FSl/aO/U54Z lWrPLr0RHXoold8GFMw549iFfE1kBXHmSepdI8xXekU4xz0PZ9/s7jXl8haRaUaUXPOr VzXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L0PXb256tmcjo9xHI4T1pFfjRGrkyxorEt5ExX9456U=; b=o3aIWyOB1sGAfqRZP+NyEIepw9mSCmaZgWNEV3FYrUJt7GDWQdZU7j+FjT92ECdjkY Tss4Wg6eLhNGzYc7i81ZNfzgNeVdjRN42vpi7jq5UpsJ9/Z6pWMcT9SjmxCSu6gVwtSk J3nOWf0zwP+hZmylDpC4QRSoOtQ4l3nT+HEWwN/TBX1vifi3a+CZBpDT4pqPQmti7FIB QmlQTrY4y38M1typJKRpa/Zj9zTc3eksLYYk6t7xF/g0ZeBeMvtesLPIYO+O9KBNqI+1 wIAeUhFl1tByW/0/t+kVw9OpB8p1+uCxkIe6C5XoMZV7AhjBqdl103yMxsr70czPAU41 iSlw== X-Gm-Message-State: AOAM5339Wt3ZqBSwANXPOAZBq95vBJm2ZfzCcEKy4uRzGs4cbXKnIOg+ WMnf778CLp0GnXsaovkQz8Gt4wE9AtrX1VxSHCM= X-Google-Smtp-Source: ABdhPJyxpL/26eZUa5C27P6KSWI2lEA8TDu2Lc6VvzFBfNzVvCdHYyniqV5dvyROAEau0WFNb4YZOQ== X-Received: by 2002:a37:bd84:: with SMTP id n126mr27443881qkf.54.1615848809340; Mon, 15 Mar 2021 15:53:29 -0700 (PDT) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id d18sm4210047qtd.85.2021.03.15.15.53.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Mar 2021 15:53:29 -0700 (PDT) From: Philip McGrath To: 47153@debbugs.gnu.org Subject: [PATCH v2 2/3] gnu: chez-scheme: Update stex. Date: Mon, 15 Mar 2021 18:53:01 -0400 Message-Id: <20210315225302.6597-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20210315225302.6597-1-philip@philipmcgrath.com> References: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> <20210315225302.6597-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Get a patch from upstream that will help us simplify the build process for the Chez Scheme documentation. * gnu/packages/chez.scm (chez-stex): Update to commit 5405149. --- gnu/packages/chez.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 5dd1185c43..dd0db04d88 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -59,8 +59,12 @@ (method git-fetch) (uri (git-reference (url "https://github.com/dybvig/stex") - (commit (string-append "v" version)))) - (sha256 (base32 "1q5i8pf4cdfjsj6r2k1rih7ljbfggyxdng2p2fvsgarzihpsin2i")) + ;; This commit includes a fix for which we would + ;; otherwise want to use a snippet. + ;; When there's a new tagged release, + ;; go back to using (string-append "v" version) + (commit "54051494434a197772bf6ca5b4e6cf6be55f39a5"))) + (sha256 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d") (file-name (git-file-name "stex" version))))) (define-public chez-scheme -- 2.21.1 (Apple Git-122.3) From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 15 18:53:58 2021 Received: (at 47153) by debbugs.gnu.org; 15 Mar 2021 22:53:58 +0000 Received: from localhost ([127.0.0.1]:37516 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLw5s-0003qf-1C for submit@debbugs.gnu.org; Mon, 15 Mar 2021 18:53:58 -0400 Received: from mail-qv1-f54.google.com ([209.85.219.54]:33722) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lLw5o-0003qQ-7O for 47153@debbugs.gnu.org; Mon, 15 Mar 2021 18:53:46 -0400 Received: by mail-qv1-f54.google.com with SMTP id o19so2672119qvu.0 for <47153@debbugs.gnu.org>; Mon, 15 Mar 2021 15:53:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jNMutdFXdbDt3R/ihzO4YvuBlBBKdq26MqSmYhQxeEM=; b=QNTz6BW9AiT1Q6SLM77DB6aLXsOojt8LUnV9ICz9YWqZuQKgwC0mcNttvKqOsVjdMU Xq+f8nx2INZO22D3xIRWylHSjNP2UowgtsEWHPZyX41Wl8HU8syu5C1Jvcv+ZMseNViT 1kD9qZ1k6X3HoEzS5vie4mV7wpP3u64syhPf5WvwSBcPL+0gf5TQVrd4vYErYcYR2KD/ 7VK43qht3Hm9NMk9S8wPlE3I9pYwkQpxf//RovrGrcBSRdTim30kVq3VkhxTGxPqu/Jy o+LBgiydh0zkDMgUKmK+fHuhjsScDiQNCE1nYbZLYtNT3PgaWYpY9D5oqls5kKm8G+uw 1jiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jNMutdFXdbDt3R/ihzO4YvuBlBBKdq26MqSmYhQxeEM=; b=ojZ4VkoGXVwZ8dhDyaWMIs6asR+ivGd87tKFmy1mDDLkR8FG1i8zTSxIj8yIf27eUS 2KDRZkcAAvSGLBEqwOJJCgbX+As/6ZlZW21AFXAR1xKnc63WVhfi3syA+mGVo1efUgY5 6/GSGoqYVZCo4nyaFFOpImFsmb5MZa5omPw1IN8ZupG8dl8c94+wtJN+WhM/CaMmV5vJ EfNFog9/mujJ2CEFULgXolzAXxKvkBCOE2sYLKvbMFWYjMztN58PDWU/MCR/a0RucwaR v0yVAMJzt706o2eZQetKsx3PIwlvoFsWclhYWjILK38jJDmb4eQxLxAjhLH21F+HrM6V VF9w== X-Gm-Message-State: AOAM533CdDshXvzOEO2Iy7eMUKRXJP4vTprp5uzeec28QD6fj3Cybj2w Bp8YsIISlPh0irWdYwX2j/vEL5Q+KATzoc4cXz0= X-Google-Smtp-Source: ABdhPJxuyfvzOCnkBNq48OcWlxnfByYOLUlrkuX26sS+dL9WmSBN+lsfjoqExreLHopLr4nioAKAsA== X-Received: by 2002:a0c:d843:: with SMTP id i3mr21368790qvj.16.1615848817555; Mon, 15 Mar 2021 15:53:37 -0700 (PDT) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id g74sm13754469qke.3.2021.03.15.15.53.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Mar 2021 15:53:37 -0700 (PDT) From: Philip McGrath To: 47153@debbugs.gnu.org Subject: [PATCH v2 3/3] gnu: chez-scheme: simplify packaging Date: Mon, 15 Mar 2021 18:53:02 -0400 Message-Id: <20210315225302.6597-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20210315225302.6597-1-philip@philipmcgrath.com> References: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> <20210315225302.6597-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Take advantage of patches that have been accepted upstream. These changes lay a foundation for reusing more of Chez's build process for Racket. * gnu/packages/patches/chez-scheme-build-util-paths-backport.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/chez.scm (chez-scheme)[source](patches): Use it. [source](snippet): Remove bundled libraries here, not during 'configure' phase. Also remove irrelevant bootfiles. [inputs]: Organize. Move "nanopass", "stex", and "xorg-rgb" to ... [native-inputs]: ... this field. [outputs]: Add "stex". [arguments]: Remove #:configure-flags which were ignored. Add (ice-9 ftw) to #:modules. Remove unneeded 'patch-processor-detection' phase. Add 'unpack-nanopass+stex' phase (refactored from 'configure'). Simplify 'configure' phase by removing patches that have been upstreamed. Detect when "--disable-curses" or "--disable-x11" flags are needed. Add "--nogzip-man-pages" flag so we can remove 'make-manpages-writable' phase. Refactor 'install-doc' phase into 'build+install-stex' and 'build+install-doc' --- gnu/local.mk | 1 + gnu/packages/chez.scm | 253 +++--- ...hez-scheme-build-util-paths-backport.patch | 780 ++++++++++++++++++ 3 files changed, 932 insertions(+), 102 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-build-util-paths-backport.patch diff --git a/gnu/local.mk b/gnu/local.mk index cf8849cf59..81b00f12a6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -886,6 +886,7 @@ dist_patch_DATA = \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ %D%/packages/patches/cgal-security-pr-5371.patch \ + %D%/packages/patches/chez-scheme-build-util-paths-backport.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index dd0db04d88..1ba7bc9ff3 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -30,6 +30,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix gexp) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) @@ -79,21 +80,49 @@ (commit (string-append "v" version)))) (sha256 (base32 "0prgn2z9l888j93ydxaf04ph424g0fi3a8w7f8m0b2r7fr1v7388")) - (file-name (git-file-name name version)))) + (file-name (git-file-name name version)) + (patches + (search-patches + ;; backported from upstream: remove on next release + "chez-scheme-build-util-paths-backport.patch")) + (snippet + ;; remove bundled libraries + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (for-each (lambda (dir) + (when (directory-exists? dir) + (delete-file-recursively dir))) + '("stex" + "nanopass" + "lz4" + "zlib" + ;; pre-built bootfiles for unsupported systems: + "boot/a6nt" + "boot/a6osx" + "boot/i3nt" + "boot/i3osx" + "boot/ta6nt" + "boot/ta6osx" + "boot/ti3nt" + "boot/ti3osx"))))))) (build-system gnu-build-system) (inputs - `(("ncurses" ,ncurses) - ("libuuid" ,util-linux "lib") - ("libx11" ,libx11) - ("lz4" ,lz4) - ("lz4:static" ,lz4 "static") - ("xorg-rgb" ,xorg-rgb) - ("nanopass" ,nanopass) + `(("libuuid" ,util-linux "lib") ("zlib" ,zlib) ("zlib:static" ,zlib "static") - ("stex" ,stex))) + ("lz4" ,lz4) + ("lz4:static" ,lz4 "static") + ;; for expeditor: + ("ncurses" ,ncurses) + ;; for X11 clipboard support in expeditor: + ("libx11" ,libx11))) (native-inputs - `(("texlive" ,(texlive-union (list texlive-latex-oberdiek + `(("nanopass" ,nanopass) ; source only + ;; for docs + ("stex" ,stex) + ("xorg-rgb" ,xorg-rgb) + ("texlive" ,(texlive-union (list texlive-latex-oberdiek texlive-generic-epsf))) ("ghostscript" ,ghostscript) ("netpbm" ,netpbm))) @@ -103,96 +132,58 @@ (files (list (string-append "lib/csv" version "-site")))))) (outputs '("out" "doc")) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 match)) + `(#:modules + ((guix build gnu-build-system) + (guix build utils) + (ice-9 ftw) + (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")) - ;; Let autodetection have its attempt on other architectures. - (_ - '()))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-processor-detection - (lambda _ (substitute* "configure" - (("uname -a") "uname -m")) - #t)) - ;; 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")) - (lz4-static (assoc-ref inputs "lz4:static")) - (zlib-static (assoc-ref inputs "zlib:static")) - (unpack (assoc-ref %standard-phases 'unpack)) - (patch-source-shebangs + ;; put these where configure expects them to be + (add-after 'unpack 'unpack-nanopass+stex + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((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) - (invoke "mv" orig-name new-name))) - `((,nanopass "source" "nanopass") - (,stex "source" "stex"))) - ;; The configure step wants to CURL all submodules as it - ;; detects a checkout without submodules. Disable curling, - ;; and manually patch the needed modules for compilation. - (substitute* "configure" - (("! -f '") "-d '")) ; working around CURL. - (substitute* (find-files "mats" "Mf-.*") - (("^[[:space:]]+(cc ) *") "\tgcc ")) - (substitute* - (find-files "." (string-append - "(" - "Mf-[a-zA-Z0-9.]+" - "|Makefile[a-zA-Z0-9.]*" - "|checkin" - "|stex\\.stex" - "|newrelease" - "|workarea" - "|unix\\.ms" - "|^6\\.ms" - ;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read - ")")) - (("/bin/rm") (which "rm")) - (("/bin/ln") (which "ln")) - (("/bin/cp") (which "cp")) - (("/bin/echo") (which "echo"))) - (substitute* "makefiles/installsh" - (("/bin/true") (which "true"))) - (substitute* "stex/Makefile" - (("PREFIX=/usr") (string-append "PREFIX=" out))) - (invoke "./configure" "--threads" - (string-append "ZLIB=" zlib-static "/lib/libz.a") - (string-append "LZ4=" lz4-static "/lib/liblz4.a") - (string-append "--installprefix=" out))))) - ;; Installation of the documentation requires a running "chez". - (add-after 'install 'install-doc + (for-each (lambda (dep) + (define src + (assoc-ref (or native-inputs inputs) dep)) + (copy-recursively src dep + #:keep-mtime? #t) + (with-directory-excursion dep + (patch-source-shebangs #:source src))) + '("nanopass" "stex")) + #t))) + ;; NOTE: the custom Chez 'configure' script doesn't allow + ;; unrecognized flags, such as those automatically added + ;; by `gnu-build-system`. + (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/" ,name "-" ,version))) - (invoke "make" "docs") - (with-directory-excursion "csug" - (substitute* "Makefile" - ;; The ‘installdir=’ can't be overruled on the command line. - (("/tmp/csug9") doc) - ;; $m is the ‘machine type’, e.g. ‘ta6le’ on x86_64, but is - ;; set incorrectly for some reason, e.g. to ‘a6le’ on x86_64. - ;; Avoid the whole mess by running the (machine-independent) - ;; ‘installsh’ script at its original location. - (("\\$m/installsh") "makefiles/installsh")) - (invoke "make" "install") - (install-file "csug.pdf" doc)) - (with-directory-excursion "release_notes" - (install-file "release_notes.pdf" doc)) + (let* ((zlib-static (assoc-ref inputs "zlib:static")) + (lz4-static (assoc-ref inputs "lz4:static")) + (out (assoc-ref outputs "out")) + (flags (list + (string-append "--installprefix=" out) + (string-append "ZLIB=" zlib-static "/lib/libz.a") + (string-append "LZ4=" lz4-static "/lib/liblz4.a") + "--nogzip-man-pages" ;; guix will do it + "--threads")) + (flags (if (assoc-ref inputs "ncurses") + flags + (cons "--disable-curses" + flags))) + (flags (if (assoc-ref inputs "libx11") + flags + (cons "--disable-x11" + flags)))) + ;; Some makefiles (for tests) don't seem to propagate CC + ;; properly, so we take it out of their hands: + (setenv "CC" "gcc") + (apply invoke + "./configure" + flags) #t))) - ;; The binary file name is called "scheme" as the one from MIT/GNU + ;; The binary file name is called "scheme" as is the one from MIT/GNU ;; Scheme. We add a symlink to use in case both are installed. (add-after 'install 'install-symlink (lambda* (#:key outputs #:allow-other-keys) @@ -207,16 +198,73 @@ "/" name ".boot"))) (find-files lib "scheme.boot")) #t))) - (add-before 'reset-gzip-timestamps 'make-manpages-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files (string-append (assoc-ref outputs "out") - "/share/man") - ".*\\.gz$")) - #t))))) + ;; Building explicitly lets us avoid using substitute* + ;; to re-write makefiles. + (add-after 'install-symlink 'build+install-stex + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (let* ((stex+version + (strip-store-file-name + (assoc-ref (or native-inputs inputs) "stex"))) + ;; Eventually we want to install stex as a real + ;; package so it's reusable. For now: + (stex-output "/tmp") + (doc-dir (string-append stex-output + "/share/doc/" + stex+version))) + (with-directory-excursion "stex" + (invoke "make" + "install" + (string-append "LIB=" + stex-output + "/lib/" + stex+version) + (string-append "Scheme=" + (assoc-ref outputs "out") + "/bin/scheme")) + (for-each (lambda (pth) + (install-file pth doc-dir)) + '("ReadMe" ; includes the license + "doc/stex.html" + "doc/stex.css" + "doc/stex.pdf")) + #t)))) + ;; Building the documentation requires stex and a running scheme. + ;; FIXME: this is probably wrong for cross-compilation + (add-after 'build+install-stex 'build+install-doc + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (let* ((chez+version (strip-store-file-name + (assoc-ref outputs "out"))) + (stex+version + (strip-store-file-name + (assoc-ref (or native-inputs inputs) "stex"))) + (scheme (string-append (assoc-ref outputs "out") + "/bin/scheme")) + ;; see note on stex-output in phase build-stex, above: + (stexlib (string-append "/tmp" + "/lib/" + stex+version)) + (doc-dir (string-append (assoc-ref outputs "doc") + "/share/doc/" + chez+version))) + (define* (stex-make #:optional (suffix "")) + (invoke "make" + "install" + (string-append "Scheme=" scheme) + (string-append "STEXLIB=" stexlib) + (string-append "installdir=" doc-dir suffix))) + (with-directory-excursion "csug" + (stex-make "/csug")) + (with-directory-excursion "release_notes" + (stex-make "/release_notes")) + (with-directory-excursion doc-dir + (symlink "release_notes/release_notes.pdf" + "release_notes.pdf") + (symlink "csug/csug9_5.pdf" + "csug.pdf")) + #t)))))) ;; According to the documentation MIPS is not supported. ;; Cross-compiling for the Raspberry Pi is supported, but not native ARM. + ;; TODO is this correct? Chez has an arm32le machine type. (supported-systems (fold delete %supported-systems '("mips64el-linux" "armhf-linux"))) (home-page "https://cisco.github.io/ChezScheme/") @@ -228,6 +276,7 @@ generates native code for each target processor, with support for x86, x86_64, and 32-bit PowerPC architectures.") (license asl2.0))) + (define-public chez-srfi (package (name "chez-srfi") diff --git a/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch b/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch new file mode 100644 index 0000000000..07d65225ed --- /dev/null +++ b/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch @@ -0,0 +1,780 @@ +From 2447e047b750c3371778beb487f881641a582e66 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 11 Mar 2021 18:17:47 -0500 +Subject: [PATCH] avoid hard-coded paths for utilities in build scripts + +Backported from +https://github.com/cisco/ChezScheme/commit/8f4633ce24ac6425b2ab13cc78026b1c9bb5361e + +Specific changes: + - `cc` -> `$(CC)` + - `/bin/rm` -> `rm` + - `/bin/ln` -> `ln` + - `/bin/cp` -> `cp` + - `/bin/echo` -> `echo` + - in `makefiles/installsh`, add a case to find `true` + at an unusual path or as a shell builtin + +Co-authored-by: Andy Keep +--- + LOG | 12 ++++++++++++ + csug/gifs/Makefile | 8 ++++---- + csug/math/Makefile | 4 ++-- + examples/Makefile | 2 +- + makefiles/Makefile-csug.in | 6 +++--- + makefiles/Makefile-release_notes.in | 2 +- + makefiles/Mf-install.in | 4 ++-- + makefiles/installsh | 3 ++- + mats/6.ms | 2 +- + mats/Mf-a6fb | 4 ++-- + mats/Mf-a6le | 4 ++-- + mats/Mf-a6nb | 4 ++-- + mats/Mf-a6ob | 4 ++-- + mats/Mf-a6osx | 4 ++-- + mats/Mf-arm32le | 4 ++-- + mats/Mf-i3fb | 4 ++-- + mats/Mf-i3le | 4 ++-- + mats/Mf-i3nb | 4 ++-- + mats/Mf-i3ob | 4 ++-- + mats/Mf-i3osx | 4 ++-- + mats/Mf-i3qnx | 4 ++-- + mats/Mf-ppc32le | 4 ++-- + mats/Mf-ta6fb | 4 ++-- + mats/Mf-ta6le | 4 ++-- + mats/Mf-ta6nb | 4 ++-- + mats/Mf-ta6ob | 4 ++-- + mats/Mf-ta6osx | 4 ++-- + mats/Mf-ti3fb | 4 ++-- + mats/Mf-ti3le | 4 ++-- + mats/Mf-ti3nb | 4 ++-- + mats/Mf-ti3ob | 4 ++-- + mats/Mf-ti3osx | 4 ++-- + mats/Mf-tppc32le | 4 ++-- + mats/unix.ms | 4 ++-- + newrelease | 22 +++++++++++----------- + pkg/Makefile | 2 +- + release_notes/gifs/Makefile | 6 +++--- + release_notes/math/Makefile | 4 ++-- + s/Mf-base | 2 +- + workarea | 10 +++++----- + 40 files changed, 101 insertions(+), 88 deletions(-) + +diff --git a/LOG b/LOG +index e1631df..399104d 100644 +--- a/LOG ++++ b/LOG +@@ -2119,3 +2119,15 @@ + bintar/Makefile rpm/Makefile pkg/Makefile wininstall/Makefile + wininstall/a6nt.wxs wininstall/i3nt.wxs wininstall/ta6nt.wxs + wininstall/ti3nt.wxs ++9.5.5 changes: ++- avoid hard-coded paths for utilities in build scripts ++ checkin csug/gifs/Makefile csug/math/Makefile examples/Makefile ++ makefiles/Makefile-csug.in makefiles/Makefile-release_notes.in ++ makefiles/Mf-install.in makefiles/installsh mats/6.ms mats/Mf-a6fb ++ mats/Mf-a6le mats/Mf-a6nb mats/Mf-a6ob mats/Mf-a6osx mats/Mf-arm32le ++ mats/Mf-i3fb mats/Mf-i3le mats/Mf-i3nb mats/Mf-i3ob mats/Mf-i3osx ++ mats/Mf-i3qnx mats/Mf-ppc32le mats/Mf-ta6fb mats/Mf-ta6le mats/Mf-ta6nb ++ mats/Mf-ta6ob mats/Mf-ta6osx mats/Mf-ti3fb mats/Mf-ti3le mats/Mf-ti3nb ++ mats/Mf-ti3ob mats/Mf-ti3osx mats/Mf-tppc32le mats/unix.ms newrelease ++ pkg/Makefile release_notes/gifs/Makefile release_notes/math/Makefile ++ s/Mf-base workarea +diff --git a/csug/gifs/Makefile b/csug/gifs/Makefile +index 8676e4c..4253ffd 100644 +--- a/csug/gifs/Makefile ++++ b/csug/gifs/Makefile +@@ -18,7 +18,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + # translate ps file to gif w/o transparent white background +@@ -28,7 +28,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} +@@ -57,7 +57,7 @@ ghostRightarrow.gif: Rightarrow.tex + giftrans -g '#000000=#ffffff' |\ + giftopnm |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux ++ rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux + test -f $*.gif && chmod 644 $*.gif + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/csug/math/Makefile b/csug/math/Makefile +index 3385fdb..3392ea8 100644 +--- a/csug/math/Makefile ++++ b/csug/math/Makefile +@@ -15,11 +15,11 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log $*.aux ++ rm -f $*.dvi $*.log $*.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} + + ${gifs}: mathmacros + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/examples/Makefile b/examples/Makefile +index b1b4e1d..3edfdd0 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -25,4 +25,4 @@ needed: ${obj} + + all: ; echo "(time (for-each compile-file (map symbol->string '(${src}))))" | ${Scheme} + +-clean: ; /bin/rm -f $(obj) expr.md ++clean: ; rm -f $(obj) expr.md +diff --git a/makefiles/Makefile-csug.in b/makefiles/Makefile-csug.in +index df24092..6f8a8d9 100644 +--- a/makefiles/Makefile-csug.in ++++ b/makefiles/Makefile-csug.in +@@ -29,7 +29,7 @@ install: target + # thrice is not enough when starting from scratch + logcheck1: $(x).thirdrun + @if [ -n "`grep 'Warning: Label(s) may have changed' $(x).log`" ] ; then\ +- /bin/rm -f $(x).thirdrun ;\ ++ rm -f $(x).thirdrun ;\ + $(MAKE) $(x).thirdrun;\ + fi + +@@ -55,7 +55,7 @@ stexsrc = csug.stex title.stex copyright.stex contents.stex\ + texsrc = ${stexsrc:%.stex=%.tex} + + title.tex contents.tex bibliography.tex: +- /bin/rm -f $*.tex ++ rm -f $*.tex + echo "%%% DO NOT EDIT THIS FILE" > $*.tex + echo "%%% Edit the .stex version instead" >> $*.tex + echo "" >> $*.tex +@@ -147,7 +147,7 @@ code: $(stexsrc) + echo '(load "code" pretty-print)' | $(Scheme) -q + + $(x).clean: +- -/bin/rm -f $(x).rfm $(x).sfm $(x).prefirstrun $(x).presecondrun\ ++ -rm -f $(x).rfm $(x).sfm $(x).prefirstrun $(x).presecondrun\ + $(x).prethirdrun $(x).ans\ + $(x).hprefirstrun $(x).hpresecondrun $(x).hprethirdrun\ + tspl.aux tspl.haux tspl.rfm tspl.idx in.hidx\ +diff --git a/makefiles/Makefile-release_notes.in b/makefiles/Makefile-release_notes.in +index 4435b6f..64348a4 100644 +--- a/makefiles/Makefile-release_notes.in ++++ b/makefiles/Makefile-release_notes.in +@@ -38,7 +38,7 @@ install: $x.pdf $x.html + $(INSTALL) -m 2755 -d $(installdir)/gifs + $(INSTALL) -m 0644 --ifdiff gifs/*.gif $(installdir)/gifs + $(INSTALL) -m 2755 -d $(installdir)/math +- -/bin/rm -rf $(installdir)/$(mathdir) ++ -rm -rf $(installdir)/$(mathdir) + $(INSTALL) -m 2755 -d $(installdir)/$(mathdir) + if [ -e $(mathdir)/0.gif ] ; then $(INSTALL) -m 0644 $(mathdir)/*.gif $(installdir)/$(mathdir) ; fi + +diff --git a/makefiles/Mf-install.in b/makefiles/Mf-install.in +index a702c34..c09043d 100644 +--- a/makefiles/Mf-install.in ++++ b/makefiles/Mf-install.in +@@ -114,12 +114,12 @@ bininstall: ${Bin} + libbininstall: ${LibBin} + $I -m 444 ${PetiteBoot} ${LibBin}/petite.boot + if [ "${InstallPetiteName}" != "petite" ]; then\ +- /bin/rm -f ${LibBin}/${InstallPetiteName}.boot;\ ++ rm -f ${LibBin}/${InstallPetiteName}.boot;\ + ln -f ${LibBin}/petite.boot ${LibBin}/${InstallPetiteName}.boot;\ + fi + $I -m 444 ${SchemeBoot} ${LibBin}/scheme.boot;\ + if [ "${InstallSchemeName}" != "scheme" ]; then\ +- /bin/rm -f ${LibBin}/${InstallSchemeName}.boot;\ ++ rm -f ${LibBin}/${InstallSchemeName}.boot;\ + ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallSchemeName}.boot;\ + fi + ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallScriptName}.boot; +diff --git a/makefiles/installsh b/makefiles/installsh +index 48f1e46..95d85fb 100755 +--- a/makefiles/installsh ++++ b/makefiles/installsh +@@ -1,7 +1,8 @@ + #! /bin/sh + if [ -x /bin/true ]; then TRUE=/bin/true; + elif [ -x /usr/bin/true ]; then TRUE=/usr/bin/true; +-else echo "Can't find /bin/true or /usr/bin/true" ; exit 1; ++elif command -v true &> /dev/null; then TRUE=true; ++else echo "Can't find /bin/true or /usr/bin/true and no true command" ; exit 1; + fi + + while ${TRUE} ; do +diff --git a/mats/6.ms b/mats/6.ms +index 102f84b..e504230 100644 +--- a/mats/6.ms ++++ b/mats/6.ms +@@ -2685,7 +2685,7 @@ + (begin + (system "ln -s ../examples .") + (load "examples/fatfib.ss" compile) +- (system "/bin/rm examples") ++ (system "rm -f examples") + #t)) + (or (windows?) (embedded?) + (equal? +diff --git a/mats/Mf-a6fb b/mats/Mf-a6fb +index b16d1b6..ff9e687 100644 +--- a/mats/Mf-a6fb ++++ b/mats/Mf-a6fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6le b/mats/Mf-a6le +index d6fee09..a3bda76 100644 +--- a/mats/Mf-a6le ++++ b/mats/Mf-a6le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6nb b/mats/Mf-a6nb +index 48187ef..0f7ac17 100644 +--- a/mats/Mf-a6nb ++++ b/mats/Mf-a6nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6ob b/mats/Mf-a6ob +index 12758f3..0ffcccc 100644 +--- a/mats/Mf-a6ob ++++ b/mats/Mf-a6ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6osx b/mats/Mf-a6osx +index f1dbf85..57bac22 100644 +--- a/mats/Mf-a6osx ++++ b/mats/Mf-a6osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-arm32le b/mats/Mf-arm32le +index f33a665..83896eb 100644 +--- a/mats/Mf-arm32le ++++ b/mats/Mf-arm32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -fomit-frame-pointer -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -fomit-frame-pointer -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3fb b/mats/Mf-i3fb +index 150cedb..1e4e8fc 100644 +--- a/mats/Mf-i3fb ++++ b/mats/Mf-i3fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3le b/mats/Mf-i3le +index 8f521c8..b248620 100644 +--- a/mats/Mf-i3le ++++ b/mats/Mf-i3le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3nb b/mats/Mf-i3nb +index e81f6ff..8afeb5c 100644 +--- a/mats/Mf-i3nb ++++ b/mats/Mf-i3nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3ob b/mats/Mf-i3ob +index 4e3ee1b..fcd4dee 100644 +--- a/mats/Mf-i3ob ++++ b/mats/Mf-i3ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3osx b/mats/Mf-i3osx +index 53c7d4a..a55f6ee 100644 +--- a/mats/Mf-i3osx ++++ b/mats/Mf-i3osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3qnx b/mats/Mf-i3qnx +index 724f2db..3e1437a 100644 +--- a/mats/Mf-i3qnx ++++ b/mats/Mf-i3qnx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ppc32le b/mats/Mf-ppc32le +index 28151a8..547ca00 100644 +--- a/mats/Mf-ppc32le ++++ b/mats/Mf-ppc32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6fb b/mats/Mf-ta6fb +index 921d609..5ed233e 100644 +--- a/mats/Mf-ta6fb ++++ b/mats/Mf-ta6fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6le b/mats/Mf-ta6le +index cd014ec..21c686a 100644 +--- a/mats/Mf-ta6le ++++ b/mats/Mf-ta6le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6nb b/mats/Mf-ta6nb +index 6b1929d..9b9b898 100644 +--- a/mats/Mf-ta6nb ++++ b/mats/Mf-ta6nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6ob b/mats/Mf-ta6ob +index a7aee91..8f25aed 100644 +--- a/mats/Mf-ta6ob ++++ b/mats/Mf-ta6ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6osx b/mats/Mf-ta6osx +index 42da5d7..0dd386f 100644 +--- a/mats/Mf-ta6osx ++++ b/mats/Mf-ta6osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3fb b/mats/Mf-ti3fb +index c891145..56bf7d3 100644 +--- a/mats/Mf-ti3fb ++++ b/mats/Mf-ti3fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3le b/mats/Mf-ti3le +index 12e77b8..22b4148 100644 +--- a/mats/Mf-ti3le ++++ b/mats/Mf-ti3le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3nb b/mats/Mf-ti3nb +index 028c652..573946e 100644 +--- a/mats/Mf-ti3nb ++++ b/mats/Mf-ti3nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3ob b/mats/Mf-ti3ob +index 8a4741c..4472b60 100644 +--- a/mats/Mf-ti3ob ++++ b/mats/Mf-ti3ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3osx b/mats/Mf-ti3osx +index 6913c34..9273b44 100644 +--- a/mats/Mf-ti3osx ++++ b/mats/Mf-ti3osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-tppc32le b/mats/Mf-tppc32le +index a12b515..8b9d9f0 100644 +--- a/mats/Mf-tppc32le ++++ b/mats/Mf-tppc32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/unix.ms b/mats/unix.ms +index cfba3e7..db7f6f9 100644 +--- a/mats/unix.ms ++++ b/mats/unix.ms +@@ -72,8 +72,8 @@ + (mat system + (eqv? (with-output-to-file "testfile.ss" void '(replace)) (void)) + (begin +- (system (format "~:[~;/pkg~]/bin/rm testfile.ss" (embedded?))) +- (system (format "~:[~;/pkg~]/bin/echo hello > testfile.ss" (embedded?))) ++ (system "rm -f testfile.ss") ++ (system "echo hello > testfile.ss") + (let ([p (open-input-file "testfile.ss")]) + (and (eq? (read p) 'hello) + (begin (close-input-port p) #t)))) +diff --git a/newrelease b/newrelease +index e903956..2d06740 100755 +--- a/newrelease ++++ b/newrelease +@@ -75,13 +75,13 @@ if ($status != 0) exit 1 + + cd $W + +-/bin/rm -f BUILDING ++rm -f BUILDING + sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ + -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ + ../BUILDING > BUILDING + set updatedfiles = ($updatedfiles BUILDING) + +-/bin/rm -f NOTICE ++rm -f NOTICE + sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ + -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ + ../NOTICE > NOTICE +@@ -92,19 +92,19 @@ sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)*/csv$R/" ../makefiles/Mf-install.in > makef + sed -e "s/csug[0-9]\.[0-9]/csug$MR.$mR/" -e "s/csug[0-9]_[0-9]/csug$MR""_$mR/" ../makefiles/Makefile-csug.in > makefiles/Makefile-csug.in + set updatedfiles = ($updatedfiles makefiles/Mf-install.in makefiles/Makefile-csug.in) + +-/bin/rm scheme.1.in ++rm -f scheme.1.in + sed -e "s/Chez Scheme Version [0-9]\.[0-9]\(\.[0-9]\)* .* [0-9][0-9]*/Chez Scheme Version $R `date +'%B %Y'`/" \ + -e "s/Copyright .* Cisco Systems, Inc./Copyright `date +%Y` Cisco Systems, Inc./" \ + ../scheme.1.in > scheme.1.in + set updatedfiles = ($updatedfiles scheme.1.in) + +-/bin/rm -f c/Makefile.{,t}{i3,a6}nt ++rm -f c/Makefile.{,t}{i3,a6}nt + foreach fn (c/Makefile.{,t}{a6,i3}nt) + set updatedfiles = ($updatedfiles $fn) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn + end + +-/bin/rm -f mats/Mf-{,t}{i3,a6}nt ++rm -f mats/Mf-{,t}{i3,a6}nt + foreach fn (mats/Mf-{,t}{a6,i3}nt) + set updatedfiles = ($updatedfiles $fn) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn +@@ -123,11 +123,11 @@ sed -e "s/FILEVERSION .*/FILEVERSION $RCVERSION/"\ + -e "s/Copyright 1984-..../Copyright 1984-`date +%Y`/g" ../c/scheme.rc > c/scheme.rc + set updatedfiles = ($updatedfiles c/scheme.rc) + +-/bin/rm -f s/7.ss ++rm -f s/7.ss + sed -e "s/nCopyright 1984-..../nCopyright 1984-`date +%Y`/g" ../s/7.ss > s/7.ss + set updatedfiles = ($updatedfiles s/7.ss) + +-/bin/rm -f s/cmacros.ss ++rm -f s/cmacros.ss + set VNUM = `printf "%04x%02x%02x" $MR $mR $bR` + sed -e "s/scheme-version #x......../scheme-version #x$VNUM/" ../s/cmacros.ss > s/cmacros.ss + set updatedfiles = ($updatedfiles s/cmacros.ss) +@@ -146,17 +146,17 @@ sed -e "s/Revised\(.*\)for Chez Scheme Version [^ ]*
/Revised\1for Chez Schem + ../csug/csug.stex > csug/csug.stex + set updatedfiles = ($updatedfiles csug/copyright.stex csug/csug.stex) + +-/bin/rm bintar/Makefile ++rm -f bintar/Makefile + sed -e "s/^version = .*/version = $R/" \ + -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" \ + ../bintar/Makefile > bintar/Makefile + set updatedfiles = ($updatedfiles bintar/Makefile) + +-/bin/rm rpm/Makefile ++rm -f rpm/Makefile + sed -e "s/^version = .*/version = $R/" ../rpm/Makefile > rpm/Makefile + set updatedfiles = ($updatedfiles rpm/Makefile) + +-/bin/rm pkg/Makefile ++rm -f pkg/Makefile + sed -e "s/^version = .*/version = $R/" \ + -e "s/© .* Cisco Systems/\© `date +%Y` Cisco Systems/" \ + ../pkg/Makefile > pkg/Makefile +@@ -170,7 +170,7 @@ foreach fn (wininstall/{,t}{a6,i3}nt.wxs) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/" ../$fn > $fn + end + +-/bin/rm LOG ++rm -f LOG + cat ../LOG > LOG + echo "" >> LOG + echo "$R changes:" >> LOG +diff --git a/pkg/Makefile b/pkg/Makefile +index e0eef67..a3fe83f 100644 +--- a/pkg/Makefile ++++ b/pkg/Makefile +@@ -39,7 +39,7 @@ $(PKG): $(BUILDROOT)/$(PKG) + --package-path $(BUILDROOT)\ + $(PKG) + sudo chown $(DOTUSER):$(DOTGROUP) $(PKG) +- sudo /bin/rm -rf $(RELEASE) $(BUILDROOT) ++ sudo rm -rf $(RELEASE) $(BUILDROOT) + + $(BUILDROOT)/$(PKG): $(PKGCONTENT) + sudo /usr/bin/pkgbuild\ +diff --git a/release_notes/gifs/Makefile b/release_notes/gifs/Makefile +index 9572965..701d53a 100644 +--- a/release_notes/gifs/Makefile ++++ b/release_notes/gifs/Makefile +@@ -15,7 +15,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} +@@ -44,7 +44,7 @@ ghostRightarrow.gif: Rightarrow.tex + giftrans -g '#000000=#ffffff' |\ + giftopnm |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux ++ rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux + test -f $*.gif && chmod 644 $*.gif + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/release_notes/math/Makefile b/release_notes/math/Makefile +index b3ffae3..9eca430 100644 +--- a/release_notes/math/Makefile ++++ b/release_notes/math/Makefile +@@ -16,11 +16,11 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log $*.aux ++ rm -f $*.dvi $*.log $*.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} + + ${gifs}: mathmacros + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/s/Mf-base b/s/Mf-base +index c709608..40d816c 100644 +--- a/s/Mf-base ++++ b/s/Mf-base +@@ -206,7 +206,7 @@ profiled: + $(MAKE) all loadspd=t bp=t PetiteBoot=../boot/$m/xpetite.boot SchemeBoot=../boot/$m/xscheme.boot + $(MAKE) prettyclean + $(MAKE) io.$m loadspd=t dumpbpd=t Scheme="../bin/$m/scheme -b ../boot/$m/xpetite.boot -b ../boot/$m/xscheme.boot" +- /bin/rm -f ../boot/$m/xpetite.boot ../boot/$m/xscheme.boot ++ rm -f ../boot/$m/xpetite.boot ../boot/$m/xscheme.boot + $(MAKE) prettyclean + $(MAKE) all loadspd=t loadbpd=t + +diff --git a/workarea b/workarea +index bacc712..0461919 100755 +--- a/workarea ++++ b/workarea +@@ -70,9 +70,9 @@ esac + + if [ "$OS" = "Windows_NT" ] + then +- ln="/bin/cp -R" ++ ln="cp -R" + else +- ln="/bin/ln -s" ++ ln="ln -s" + fi + + # This shell script creates a workarea for local modifications to the +@@ -102,7 +102,7 @@ workln() + forceworkln() + { + if [ ! -e $2 ] ; then +- /bin/ln -s $1 $2 2> /dev/null ++ ln -s $1 $2 2> /dev/null + fi + } + +@@ -168,13 +168,13 @@ done + # deep copy submodules where builds occur so changes don't propagate through symlinks + for dir in `echo zlib` ; do + if [ ! -e $W/$dir ] ; then +- /bin/cp -R $dir $W/$dir ++ cp -R $dir $W/$dir + fi + done + + for dir in `echo lz4` ; do + if [ ! -e $W/$dir ] ; then +- /bin/cp -R $dir $W/$dir ++ cp -R $dir $W/$dir + fi + done + +-- +2.21.1 (Apple Git-122.3) + -- 2.21.1 (Apple Git-122.3) From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 16 03:38:03 2021 Received: (at 47153) by debbugs.gnu.org; 16 Mar 2021 07:38:03 +0000 Received: from localhost ([127.0.0.1]:38000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lM4HC-000336-Mt for submit@debbugs.gnu.org; Tue, 16 Mar 2021 03:38:03 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:31551) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lM4HA-00032g-Ed for 47153@debbugs.gnu.org; Tue, 16 Mar 2021 03:38:01 -0400 Received: from nijino.local (217-149-164-20.nat.highway.telekom.at [217.149.164.20]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4F04rj10ZGz1LBRx; Tue, 16 Mar 2021 08:37:56 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4F04rj10ZGz1LBRx DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1615880277; bh=WnQr200Qk9SnkVOKojj7BriLtwiVOpUJJq7v5/oTBac=; h=Subject:From:To:Date:In-Reply-To:References:From; b=b2CPKwIBQwmDWFly3T2QArCEoqLudG9P6WtbqT3Ap/7YtDs5+GnGXLtMbJpeofdLn 8woice21gJFaQ2ZuN9hj3cldu/Iy2ug7bYZNNoTB6asE6w/AJHqzlV9gJje2NGvR7Q uluQYdyTHaU8+f2mjyS+NR6GNZ1DLzksoFCbr9uQ= Message-ID: <6e49888aaab2d2b2284d198eca51d0b9944be613.camel@student.tugraz.at> Subject: Re: [PATCH v2] gnu: chez-scheme: Update nanopass to 1.9.2. From: Leo Prikler To: Philip McGrath , 47153@debbugs.gnu.org Date: Tue, 16 Mar 2021 08:37:56 +0100 In-Reply-To: <20210315225302.6597-1-philip@philipmcgrath.com> References: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> <20210315225302.6597-1-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Am Montag, den 15.03.2021, 18:53 -0400 schrieb Philip McGrath: > - (sha256 (base32 > "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) > + (sha256 > "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") You're inadvertently stripping away base32. > - (sha256 (base32 > "1q5i8pf4cdfjsj6r2k1rih7ljbfggyxdng2p2fvsgarzihpsin2i")) > + (sha256 > "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d") Same here. > - (commit (string-append "v" version)))) > + ;; This commit includes a fix for which we would > + ;; otherwise want to use a snippet. > + ;; When there's a new tagged release, > + ;; go back to using (string-append "v" version) > + (commit "54051494434a197772bf6ca5b4e6cf6be55f39a5"))) Could we then not cherry-pick this commit as a patch? Or is there more needed? > + ;; pre-built bootfiles for unsupported > systems: > + "boot/a6nt" > + "boot/a6osx" > + "boot/i3nt" > + "boot/i3osx" > + "boot/ta6nt" > + "boot/ta6osx" > + "boot/ti3nt" > + "boot/ti3osx"))))))) What about pre-built bootfiles for supported systems? Do we still need those? If we so, I don't think it is right to delete anything in boot; if not we should delete it altogether. > + ;; put these where configure expects them to be > + (add-after 'unpack 'unpack-nanopass+stex > + (lambda* (#:key native-inputs inputs #:allow-other-keys) > + (let ((patch-source-shebangs > (assoc-ref %standard-phases 'patch-source- > shebangs))) I don't think you need patch-source-shebangs directly after unpack. Those shebangs would be patched in their phase anyway – the only reason we needed it before was because we delayed unpacking until configure. > + (setenv "CC" "gcc") This should be determined via cc-for-target. > + (apply invoke > + "./configure" > + flags) This can very likely be one line. Also, it should probably be done via configure-flags. > [outputs]: Add "stex" I don't think an stex output is justified in and of itself, or is it needed for chez to function? (Even if it was, it would then need to be part of the "out" output.) I personally doubt this; if you need stex itself for your purposes, you can try packaging it later. > + (flags (if (assoc-ref inputs "ncurses") > + flags > + (cons "--disable-curses" > + flags))) > + (flags (if (assoc-ref inputs "libx11") > + flags > + (cons "--disable-x11" > + flags)))) These will probably be detected by the build system itself, there's no need for you to add them. If not, then it's up to the packager of other variants to specify them, not you. > + (flags (list > + (string-append "--installprefix=" out) > + (string-append "ZLIB=" zlib-static > "/lib/libz.a") > + (string-append "LZ4=" lz4-static > "/lib/liblz4.a") > + "--nogzip-man-pages" ;; guix will do it > + "--threads")) This should be done via #:configure-flags. Now that I think of it… > + (replace 'configure I don't think this is needed at all. At most, you should filter the incompatible flags from configure-flags in some way, but you might also want to patch configure, so that it swallows them. > Refactor 'install-doc' phase into 'build+install-stex' and > 'build+install-doc' 'build+install' implies, that it should actually be two phases, build and install. I already talked about install-stex, so you should only refactor install-doc insofar as it is needed to accommodate changes in the build system. Regards, Leo From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 16 16:19:29 2021 Received: (at 47153) by debbugs.gnu.org; 16 Mar 2021 20:19:29 +0000 Received: from localhost ([127.0.0.1]:41131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lMGA5-0002Tl-6k for submit@debbugs.gnu.org; Tue, 16 Mar 2021 16:19:29 -0400 Received: from mail-qk1-f172.google.com ([209.85.222.172]:38619) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lMGA0-0002TV-RW for 47153@debbugs.gnu.org; Tue, 16 Mar 2021 16:19:27 -0400 Received: by mail-qk1-f172.google.com with SMTP id f124so36664480qkj.5 for <47153@debbugs.gnu.org>; Tue, 16 Mar 2021 13:19:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=aS5SN2rZBT8g2D92UKCOPmNQ+KNtvg0N1M9Tx4WIC7k=; b=VWQNnDmRWLeVfxwqoT35LUA86ZDzeELy+FnTqJRa98nd+3HGgUiGjfZ5DqXaJERSR5 7YCEXC98BCnImLuD7BsKskN2mJ7ye4ouOcip12CGAGEU+FwoaFHsjGXGzULjWyGWk8WX fmCdEtad/lGc2dwT2D9DRyCP+DbtduQWuXc7WrJhREYn1h+GDsHAL8dRudxnYvMi+4sp NV5OqkZ3W+JUfiNFcwUcQ8afvbFU82aIzzql2q9yZxcS+kR1zeB9kvMjyaC75sIMjusv bd/H89xzwNsMn7y1e+i3atmk82nuhVj7NaLJmksdvk39A98r37DqFo8x1sZk3ieDQm6I Acsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=aS5SN2rZBT8g2D92UKCOPmNQ+KNtvg0N1M9Tx4WIC7k=; b=TddSZMJKK2GPkvqSz+Mc91te77Cl0E9jRg5AkUgigkThxFCNQhylWjMiHCWk9MjnEp hT2LGzTecdT8hGncZZ1jM7MRHBlleQ87ZaPZTfBIA6QE13Bed1a9JaN5qsEiDHW8lh1q sb+nEr3bSS0+QjYzbvAocYTIz+nrE33C9ovk/z8AzsrxDXRtHor3A8oOx9SCba9AK8RZ CTZ1JEWKrl1da1iVOhjnic1knOpERlHF1AzUzKMY9NA25pQNitj4Bt1WzLYqs3H/M0Mc Y8W6hBav0738hmyW/M1V0JC8hoSezHIfnqm1AA5KNu5BI1HM+nm/U3m2+LfYt/XM3vii Lkkw== X-Gm-Message-State: AOAM531rnRJtJL1ZaBqy4TCIkrY/WNKfeT+9fDOwOgBR5Y0kiRpW1Cr1 /uYMutj8FQ8X3b51rYs3Uf5lGl8dCsoGEdSCtII= X-Google-Smtp-Source: ABdhPJxDpOXeajh5768oTtz9U4yCZkgbYR2DD3vV2IMEShBgRJTCPe+cEiNf5lhK6eaq2zZClAmO+Q== X-Received: by 2002:a37:74d:: with SMTP id 74mr887624qkh.85.1615925958629; Tue, 16 Mar 2021 13:19:18 -0700 (PDT) Received: from Sapientia.local (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id c5sm15907688qkl.21.2021.03.16.13.19.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Mar 2021 13:19:18 -0700 (PDT) Subject: Re: [PATCH v2] gnu: chez-scheme: Update nanopass to 1.9.2. To: Leo Prikler , 47153@debbugs.gnu.org References: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> <20210315225302.6597-1-philip@philipmcgrath.com> <6e49888aaab2d2b2284d198eca51d0b9944be613.camel@student.tugraz.at> From: Philip McGrath Message-ID: <5a4d612f-445a-e3f0-a3ff-7abd4b021f16@philipmcgrath.com> Date: Tue, 16 Mar 2021 16:19:17 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: <6e49888aaab2d2b2284d198eca51d0b9944be613.camel@student.tugraz.at> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi, On 3/16/21 3:37 AM, Leo Prikler wrote: > Am Montag, den 15.03.2021, 18:53 -0400 schrieb Philip McGrath: >> - (sha256 (base32 >> "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) >> + (sha256 >> "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") > You're inadvertently stripping away base32. I thought I'd read that explicitly calling base32 was redundant and no longer recommended: is there a reason to keep it? >> - (commit (string-append "v" version)))) >> + ;; This commit includes a fix for which we would >> + ;; otherwise want to use a snippet. >> + ;; When there's a new tagged release, >> + ;; go back to using (string-append "v" version) >> + (commit "54051494434a197772bf6ca5b4e6cf6be55f39a5"))) > Could we then not cherry-pick this commit as a patch? Or is there more > needed? We could, but the upstream history is simply v1.2.2 -> my patch -> Kent Dybvig's merge commit accepting it. I thought doing it this way clarified that it's not a Guix-specific patch that should stay around indefinitely. Is there a reason to prefer cherry-picking it as a patch? > >> + ;; pre-built bootfiles for unsupported >> systems: >> + "boot/a6nt" >> + "boot/a6osx" >> + "boot/i3nt" >> + "boot/i3osx" >> + "boot/ta6nt" >> + "boot/ta6osx" >> + "boot/ti3nt" >> + "boot/ti3osx"))))))) > What about pre-built bootfiles for supported systems? Do we still need > those? If we so, I don't think it is right to delete anything in boot; > if not we should delete it altogether. Currently, you need a bootfile for your current system to bootstrap the Chez compiler; once you have a running Chez, you can build bootfiles for any system Chez supports (which is more systems than it includes in its git repository for bootstrapping). The bootfiles you build will be byte-for-byte identical to pre-built ones, if pre-built ones were provided: Chez in fact builds them twice and errors if they aren't. So, I'm not sure why we would want these files, which are over 20 MB and are only useful for bootstrapping Chez on Windows or Mac OS. But if there is a reason to want them, we can keep them! >> + ;; put these where configure expects them to be >> + (add-after 'unpack 'unpack-nanopass+stex >> + (lambda* (#:key native-inputs inputs #:allow-other-keys) >> + (let ((patch-source-shebangs >> (assoc-ref %standard-phases 'patch-source- >> shebangs))) > I don't think you need patch-source-shebangs directly after unpack. > Those shebangs would be patched in their phase anyway – the only reason > we needed it before was because we delayed unpacking until configure. Right, thanks for catching this! >> + (setenv "CC" "gcc") > This should be determined via cc-for-target. Will do. >> + (apply invoke >> + "./configure" >> + flags) > This can very likely be one line. Also, it should probably be done via > configure-flags. > >> [outputs]: Add "stex" > I don't think an stex output is justified in and of itself, or is it Oops, I'd actually removed the "stex" output, but I missed it in the commit message. >> + (flags (if (assoc-ref inputs "ncurses") >> + flags >> + (cons "--disable-curses" >> + flags))) >> + (flags (if (assoc-ref inputs "libx11") >> + flags >> + (cons "--disable-x11" >> + flags)))) > These will probably be detected by the build system itself, there's no > need for you to add them. If not, then it's up to the packager of > other variants to specify them, not you. IIRC, Chez's build system errors without these flags if the library isn't found. Also, I intend to be "the packager of the other variants"—my primary motivation for sending these patches is to reuse as much as possible for Racket's fork of Chez, rather than all of the messy copy-pasting we're doing now. But see below … >> + (flags (list >> + (string-append "--installprefix=" out) >> + (string-append "ZLIB=" zlib-static >> "/lib/libz.a") >> + (string-append "LZ4=" lz4-static >> "/lib/liblz4.a") >> + "--nogzip-man-pages" ;; guix will do it >> + "--threads")) > This should be done via #:configure-flags. > > Now that I think of it… > >> + (replace 'configure > I don't think this is needed at all. At most, you should filter the > incompatible flags from configure-flags in some way, but you might also > want to patch configure, so that it swallows them. I'm not enthusiastic about the idea of maintaining such a patch for two variants of this custom configure script which accept different sets of flags, but neither of which accepts *any* of the flags that would be added by the 'configure phase from %standard-phases. That procedure offers no way to interpose between its adding the flags and its invoking the configure script, so I don't see a good alternative to replacing it. In fact, I'd modeled my implementation on the one from %standard-phases, which similarly has a big `let*` expression adding implicit phases based on the inputs and outputs. If you think it's important to support #:configure-flags, I could change this implementation to accept them, in which case I'd be ok with leaving out handling of --disable-curses and --disable-x11. But I think anyone packaging a variant of Chez will need to be aware of its idiosyncratic configure script. >> Refactor 'install-doc' phase into 'build+install-stex' and >> 'build+install-doc' > 'build+install' implies, that it should actually be two phases, build > and install. I already talked about install-stex, so you should only > refactor install-doc insofar as it is needed to accommodate changes in > the build system. It could be two phases, but the current install-doc phase does, in fact, also build the docs, in addition to installing them. (It actually neglects to install the HTML release notes but installs two copies of the PDF user's guide.) I'm ok with calling it install-doc if you prefer. I guess I could even split it into two phases, but that seems like it would just make things more complicated for no obvious benefit. As I mentioned, build+install-stex actually just "installs" stex to a temporary directory right now. I think I could probably skip it and rely on Chez's on-the-fly compilation, but I didn't see a problem with doing it this way. -Philip From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 16 17:09:50 2021 Received: (at 47153) by debbugs.gnu.org; 16 Mar 2021 21:09:50 +0000 Received: from localhost ([127.0.0.1]:41174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lMGwn-0003g8-Re for submit@debbugs.gnu.org; Tue, 16 Mar 2021 17:09:50 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:47351) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lMGwj-0003fr-IE for 47153@debbugs.gnu.org; Tue, 16 Mar 2021 17:09:48 -0400 Received: from nijino.local (217-149-164-20.nat.highway.telekom.at [217.149.164.20]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4F0QsK2Y7lz1DDYw; Tue, 16 Mar 2021 22:09:41 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4F0QsK2Y7lz1DDYw DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1615928981; bh=ddNI2QhcSDlSirUpO/VCv3nP8tvNnoi3bFt3z4FcFC0=; h=Subject:From:To:Date:In-Reply-To:References:From; b=K3K8BIAjvFvmR9T2g0+yDBEeL+j3EZGU1VdXmsEQs/GCJUNQQbHWikAfj9snzfmZ2 zPxWSwvqis2Opgc3yemE51Q+WnKoOC60gRZCVtxLXM4f8rwhMpqWSQPOZHKae1vqoD uoJVMi25dLybw23l9q9yoLTo6Ad3opixFyfqv5V8= Message-ID: <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> Subject: Re: [PATCH v2] gnu: chez-scheme: Update nanopass to 1.9.2. From: Leo Prikler To: Philip McGrath , 47153@debbugs.gnu.org Date: Tue, 16 Mar 2021 22:09:40 +0100 In-Reply-To: <5a4d612f-445a-e3f0-a3ff-7abd4b021f16@philipmcgrath.com> References: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> <20210315225302.6597-1-philip@philipmcgrath.com> <6e49888aaab2d2b2284d198eca51d0b9944be613.camel@student.tugraz.at> <5a4d612f-445a-e3f0-a3ff-7abd4b021f16@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Am Dienstag, den 16.03.2021, 16:19 -0400 schrieb Philip McGrath: > Hi, > > On 3/16/21 3:37 AM, Leo Prikler wrote: > > Am Montag, den 15.03.2021, 18:53 -0400 schrieb Philip McGrath: > > > - (sha256 (base32 > > > "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) > > > + (sha256 > > > "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") > > You're inadvertently stripping away base32. > > I thought I'd read that explicitly calling base32 was redundant and > no > longer recommended: is there a reason to keep it? Without a reference to where you've read that, it'll be hard to verify or falsify that claim. Both master and core-updates regularly see sha256/base32 is fancy syntax around hash-digest and hash-algo as far as I understand, so I doubt you recall this correctly. > > > - (commit (string-append "v" version)))) > > > + ;; This commit includes a fix for which we would > > > + ;; otherwise want to use a snippet. > > > + ;; When there's a new tagged release, > > > + ;; go back to using (string-append "v" version) > > > + (commit > > > "54051494434a197772bf6ca5b4e6cf6be55f39a5"))) > > Could we then not cherry-pick this commit as a patch? Or is there > > more > > needed? > > We could, but the upstream history is simply v1.2.2 -> my patch -> > Kent > Dybvig's merge commit accepting it. I thought doing it this way > clarified that it's not a Guix-specific patch that should stay > around > indefinitely. Is there a reason to prefer cherry-picking it as a > patch? You'll probably hear differing opinions about that, and that's fine, but my personal reason to prefer cherry-picking would be, that it makes it very obvious, what changed from the base – that being the patch modulo offset changes – and doesn't invite people to go out saying "aha, but I found this commit and I like that more, let's take it". In other words, this is very subjective, but I believe we should stick as close to releases as is reasonable. > > > + ;; pre-built bootfiles for unsupported > > > systems: > > > + "boot/a6nt" > > > + "boot/a6osx" > > > + "boot/i3nt" > > > + "boot/i3osx" > > > + "boot/ta6nt" > > > + "boot/ta6osx" > > > + "boot/ti3nt" > > > + "boot/ti3osx"))))))) > > What about pre-built bootfiles for supported systems? Do we still > > need > > those? If we so, I don't think it is right to delete anything in > > boot; > > if not we should delete it altogether. > > Currently, you need a bootfile for your current system to bootstrap > the > Chez compiler; once you have a running Chez, you can build bootfiles > for > any system Chez supports (which is more systems than it includes in > its > git repository for bootstrapping). The bootfiles you build will be > byte-for-byte identical to pre-built ones, if pre-built ones were > provided: Chez in fact builds them twice and errors if they aren't. > So, > I'm not sure why we would want these files, which are over 20 MB and > are > only useful for bootstrapping Chez on Windows or Mac OS. But if there > is > a reason to want them, we can keep them! I don't think we can necessarily trust the boot files in this configuration. "They are bit-for-bit identical" can also mean, that the login() hack was successfully applied for all you know. But trusting trust aside, I don't think this is the right way of "miraculously slashing" half of chez' bootstrap. If you do want to follow the direction of making the bootstrap explicit, how about a chez-boot minipackage, that only keeps the relevant boot files for the target system? (This would of course need to be done in a separate patch, which you can attach to this series, however.) > > > + (apply invoke > > > + "./configure" > > > + flags) > > This can very likely be one line. Also, it should probably be done > > via > > configure-flags. > > > > > [outputs]: Add "stex" > > I don't think an stex output is justified in and of itself, or is > > it > > Oops, I'd actually removed the "stex" output, but I missed it in the > commit message. I do think I saw it in the actual commit as well, but I might be mistaken about that. > > > + (flags (if (assoc-ref inputs "ncurses") > > > + flags > > > + (cons "--disable-curses" > > > + flags))) > > > + (flags (if (assoc-ref inputs "libx11") > > > + flags > > > + (cons "--disable-x11" > > > + flags)))) > > These will probably be detected by the build system itself, there's > > no > > need for you to add them. If not, then it's up to the packager of > > other variants to specify them, not you. > > IIRC, Chez's build system errors without these flags if the library > isn't found. Also, I intend to be "the packager of the other > variants"—my primary motivation for sending these patches is to reuse > as > much as possible for Racket's fork of Chez, rather than all of the > messy > copy-pasting we're doing now. But see below … Fair enough, but either way you should just cons them onto #:configure- flags where applicable. > > > + (flags (list > > > + (string-append "--installprefix=" > > > out) > > > + (string-append "ZLIB=" zlib-static > > > "/lib/libz.a") > > > + (string-append "LZ4=" lz4-static > > > "/lib/liblz4.a") > > > + "--nogzip-man-pages" ;; guix will do > > > it > > > + "--threads")) > > This should be done via #:configure-flags. > > > > Now that I think of it… > > > > > + (replace 'configure > > I don't think this is needed at all. At most, you should filter > > the > > incompatible flags from configure-flags in some way, but you might > > also > > want to patch configure, so that it swallows them. > > I'm not enthusiastic about the idea of maintaining such a patch for > two > variants of this custom configure script which accept different sets > of > flags, but neither of which accepts *any* of the flags that would be > added by the 'configure phase from %standard-phases. That procedure > offers no way to interpose between its adding the flags and its > invoking > the configure script, so I don't see a good alternative to replacing > it. > In fact, I'd modeled my implementation on the one from %standard- > phases, > which similarly has a big `let*` expression adding implicit phases > based > on the inputs and outputs. > > If you think it's important to support #:configure-flags, I could > change > this implementation to accept them, in which case I'd be ok with > leaving > out handling of --disable-curses and --disable-x11. But I think > anyone > packaging a variant of Chez will need to be aware of its > idiosyncratic > configure script. Perhaps I was a little too harsh. If you need to replace 'configure to not let gnu-build-system's own flags pass into this idiosyncratic script, you are of course allowed to do that. I just think storing configure flags inside the argument that's named like that is a better choice, than an ad-hoc construction. Whatever you see inside that standard-phase is done precisely because storing it as an argument would not be an option. > > > Refactor 'install-doc' phase into 'build+install-stex' and > > > 'build+install-doc' > > 'build+install' implies, that it should actually be two phases, > > build > > and install. I already talked about install-stex, so you should > > only > > refactor install-doc insofar as it is needed to accommodate changes > > in > > the build system. > > It could be two phases, but the current install-doc phase does, in > fact, > also build the docs, in addition to installing them. (It actually > neglects to install the HTML release notes but installs two copies > of > the PDF user's guide.) I'm ok with calling it install-doc if you > prefer. > I guess I could even split it into two phases, but that seems like > it > would just make things more complicated for no obvious benefit. That is irrelevant, `make install' is not prohibited from building stuff. > As I mentioned, build+install-stex actually just "installs" stex to > a > temporary directory right now. I think I could probably skip it and > rely > on Chez's on-the-fly compilation, but I didn't see a problem with > doing > it this way. Sounds like it might work. Regards, Leo From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 19 14:25:42 2021 Received: (at 47153) by debbugs.gnu.org; 19 Mar 2021 18:25:42 +0000 Received: from localhost ([127.0.0.1]:50955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lNJoN-0000wJ-FD for submit@debbugs.gnu.org; Fri, 19 Mar 2021 14:25:42 -0400 Received: from mail-qk1-f180.google.com ([209.85.222.180]:35505) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lNJoK-0000w4-GY for 47153@debbugs.gnu.org; Fri, 19 Mar 2021 14:25:25 -0400 Received: by mail-qk1-f180.google.com with SMTP id i9so3919797qka.2 for <47153@debbugs.gnu.org>; Fri, 19 Mar 2021 11:25:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JZWrF9ksFtNn54ju48ansdt9XIDeXgJJniM5pkr8Ixw=; b=K2ZrwGbLPrZuBSAf1O0Zo6nlxG3zA8pm3jj1NJQJMud/4Y65E/HvSVOX9nixuBlKJE A8jHfwbEcuYbZPyoSmjTnQdtljkiUoZzsiIzxOEWGlw2+IJU6p7yczVRDkr4QhPcILFd dja9Y/AmX/YCgk6+sAdXtIC56xL53IDZNtenQiPmBR6O6BKaPQkNvrct5laDNQ2fgpyP SrZjQKV9JBh4EPiBEGGcY1SSAMND0XBMdxKy0QK+LGASpTDGmUPH2XvzddyLeb8+dzEc Tu1GpSfJCVRxbezsQ4c7WDn8mCMVoeTImr8KE7xemb6wFXW6J8ayq8T6U9jPaZJpyV74 4qiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JZWrF9ksFtNn54ju48ansdt9XIDeXgJJniM5pkr8Ixw=; b=itSKXRoGR+00XBRw5N6526Y6az5Y6r/K/d6TYyx/IMeuVX8+MlpN7yX1k7T83GfuBj DmA11DQ1DZZm/MQSH1ftwcfCl/f/aRd+/d79JEobK9MrzRK7yLYbrgG/qQgEGdnh+2nE hTpWcIjcJrQwC0jVMdabTxpfMhkDzT0QU6Ghg3BTyKSGoWnkoy5VAvX/wIwyfNPZxtvG UxtSOrZzgqL0WrwgJ+EHxA1ryRaTr4XyZZeE/QLk2EnSeyh1DaO9Bv16LBgOa8MwWsb5 5U/eieMq1xlQwyCB9aW0kXtAOeu6LYhKpD99CXq3ru2SMKj0rwtA3zQKVWd2N46DXve7 Zu2g== X-Gm-Message-State: AOAM533I+gffJ88B2qt+3N+c4qIVYEITpM99gNkcrPm0GBi588PxKSvF o5XVi03YJLyTuVt8SDfNWht1HgJAyxX7DifwcBQ= X-Google-Smtp-Source: ABdhPJxI74X1ClzHtVfYbq2SHiZ+0WldzVZLu0X/zn0udUw3eaUAAF/SFI2FfYansMk7LQ7z+BMAHg== X-Received: by 2002:a37:9b82:: with SMTP id d124mr10606179qke.489.1616178318799; Fri, 19 Mar 2021 11:25:18 -0700 (PDT) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j12sm4305319qtn.36.2021.03.19.11.25.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Mar 2021 11:25:18 -0700 (PDT) From: Philip McGrath To: 47153@debbugs.gnu.org Subject: [PATCH v3 1/3] gnu: chez-scheme: Update nanopass to 1.9.2. Date: Fri, 19 Mar 2021 14:24:49 -0400 Message-Id: <20210319182451.840-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> References: <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/chez.scm (nanopass): Update nanopass to 1.9.2. --- gnu/packages/chez.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index eac556c4d0..5dd1185c43 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2020 Brendan Tildesley +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,13 +44,13 @@ #:use-module (srfi srfi-1)) (define nanopass - (let ((version "1.9.1")) + (let ((version "1.9.2")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/nanopass/nanopass-framework-scheme") (commit (string-append "v" version)))) - (sha256 (base32 "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) + (sha256 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") (file-name (git-file-name "nanopass" version))))) (define stex -- 2.21.1 (Apple Git-122.3) From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 19 14:25:42 2021 Received: (at 47153) by debbugs.gnu.org; 19 Mar 2021 18:25:42 +0000 Received: from localhost ([127.0.0.1]:50959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lNJoc-0000wg-Ce for submit@debbugs.gnu.org; Fri, 19 Mar 2021 14:25:42 -0400 Received: from mail-qk1-f182.google.com ([209.85.222.182]:41773) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lNJoQ-0000wB-Ik for 47153@debbugs.gnu.org; Fri, 19 Mar 2021 14:25:31 -0400 Received: by mail-qk1-f182.google.com with SMTP id v70so3923915qkb.8 for <47153@debbugs.gnu.org>; Fri, 19 Mar 2021 11:25:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=L0PXb256tmcjo9xHI4T1pFfjRGrkyxorEt5ExX9456U=; b=Wp814mrLPNDWc0ncA+pophMiG62imo3H7j+6KaD6mLc04168YetwuU86fPrVhAHH9Z I6T0T4MJ0LK6ypLrHLk5r1JCmHAZwD5N/RJhXO0dh93ydnzN3U0OOT/9VAfAQZaMVjq7 K5OzVa4SQaWzMH5HnMJny+hQDyYhilNnGFWhlAe0meEgp1jTkG86Q7jkUwNVFypO0s2n AxZlpr95gAmINVmNzBcC/F1TT89tKvg3RbmNCAeQvoXeYmZyc7nf2cz5c60Nih/fDBSE ELAd/vLeOCDVxnEGj3SrInZ9DiV/ogQ+ufmC9kNtBYdNGDkWmN9F4+RgnBQ36dEYEpQw 4jCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L0PXb256tmcjo9xHI4T1pFfjRGrkyxorEt5ExX9456U=; b=iAja5GK7bPY2L7UX7k0CFFz6tXbtJ8jWkgZAOt/iTuXmBY69vDD4e7C1sFCE1G0Fm6 S0d6q5ZMNJBI/UwdfxJ4M0VXwTt6RYlzCbG/2z/1LkIp7ODOINEol5z8XjUkvb3TuHWs 0zrWhd1k4LDXb0CmFXjOOLGRq3McE2AMvoPp//3NF8Vp+pdOrKoTtXIBH8Ur2St9hHrk k38/7ENlARKnxJJiL76DzQhTsR0sHL0RxYk0rOpVj60KnNFV83sYY8kuUKfDmKI5V+Jq IKw4Wi3zdmU5ebE9MT9JqnnNNuZJM6gYRx/0HKmQLswsB/VGuBZ05XrKJUBQOWt6hbHP v+7g== X-Gm-Message-State: AOAM533y0qBq2gAYSrJFdUVe9rKWz5o2Fm5ElCNSLvfHW2cU0Hz2bKba cuimeQlSjVQZoysvIw0BJrCFl7A1PBblibUD6sA= X-Google-Smtp-Source: ABdhPJxnm9Wl/tVsTjVrAlk+bO0jYZdsolJZ1WfPrNV5ubCVP2XxyH61a3l8hLQuxfM/UDSJw2Xhzg== X-Received: by 2002:a05:620a:13ac:: with SMTP id m12mr10848508qki.458.1616178325037; Fri, 19 Mar 2021 11:25:25 -0700 (PDT) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 131sm5349890qkl.74.2021.03.19.11.25.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Mar 2021 11:25:24 -0700 (PDT) From: Philip McGrath To: 47153@debbugs.gnu.org Subject: [PATCH v3 2/3] gnu: chez-scheme: Update stex. Date: Fri, 19 Mar 2021 14:24:50 -0400 Message-Id: <20210319182451.840-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20210319182451.840-1-philip@philipmcgrath.com> References: <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> <20210319182451.840-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Get a patch from upstream that will help us simplify the build process for the Chez Scheme documentation. * gnu/packages/chez.scm (chez-stex): Update to commit 5405149. --- gnu/packages/chez.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 5dd1185c43..dd0db04d88 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -59,8 +59,12 @@ (method git-fetch) (uri (git-reference (url "https://github.com/dybvig/stex") - (commit (string-append "v" version)))) - (sha256 (base32 "1q5i8pf4cdfjsj6r2k1rih7ljbfggyxdng2p2fvsgarzihpsin2i")) + ;; This commit includes a fix for which we would + ;; otherwise want to use a snippet. + ;; When there's a new tagged release, + ;; go back to using (string-append "v" version) + (commit "54051494434a197772bf6ca5b4e6cf6be55f39a5"))) + (sha256 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d") (file-name (git-file-name "stex" version))))) (define-public chez-scheme -- 2.21.1 (Apple Git-122.3) From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 19 14:25:54 2021 Received: (at 47153) by debbugs.gnu.org; 19 Mar 2021 18:25:54 +0000 Received: from localhost ([127.0.0.1]:50961 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lNJoe-0000x0-OZ for submit@debbugs.gnu.org; Fri, 19 Mar 2021 14:25:54 -0400 Received: from mail-qk1-f175.google.com ([209.85.222.175]:36806) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lNJob-0000wY-HU for 47153@debbugs.gnu.org; Fri, 19 Mar 2021 14:25:43 -0400 Received: by mail-qk1-f175.google.com with SMTP id c4so3923588qkg.3 for <47153@debbugs.gnu.org>; Fri, 19 Mar 2021 11:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xdW4U27mOOFSE8i6eJjlm4O1B1j4qbh2Pg1NKfmDa+g=; b=g8lczS7BiVkhPVFbvthDWETAGs8996QTrqa9O/pX095b3wdeQ0wXgimdlzPS31IQoH SWQLCrOlzXTliTehLyNQtzsXjsHJA81gUrX9jPr9zCTXPha0qRuPvG/u4a5aij8bPUnz 7TtCq/n8l9ELPiL+8w++5o2NF4gCBMJcbkTjE4hyA6WCJ2gXJ+wpi6UxJnHYy/QatHlW ntmNpI2/8BPKJJJdorF9L7jnFf07bHBbBH9nDfVKqSGs379fep3JvrkTDu28GBh7lot1 Miujm27S6BEE5tdfDk4VeX6R+9lhYjZGplSav9uezJlpa58Mtxy//NdzCoX6N9HACvQR M2BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xdW4U27mOOFSE8i6eJjlm4O1B1j4qbh2Pg1NKfmDa+g=; b=XvMlnWjfgn5NjfnWOsRZyYivYTOzLT02I0FdFI0hh7sxNoZEkf9Rpcy86pBtsoS4oJ U/PIDI4+JOeYyawOrn85AjCr++QoBh4NoZMljmU7ukfy9TQxPzb10ZDucMGhmo9S2TVw UPuuc1Dmd5+coCDijklnRoEacMlwa55B+HCG5QuA7mpMw5B2O9jGrERwHQZfMaWmXo7a MeQOOOj4XZSx2aTXpO+0qGkDdgVk8L8o7DpHouODSieyyX95+NUFQcuCv89dTmButMub plWDPHgUUl0Q/3jXsK7d7LRkL1L0RhgGC6LnkuVhuFtl3QxO+TDn+4lUMvLzW10o5Q2D pngQ== X-Gm-Message-State: AOAM532iBFnikSIJJMsMOMjTbe7bsi5k8HKelq2O4m71Pr57vLnAf5pX 2cWVDt2x/ZxbnNUfWz/HogYYuueaV9KjJzzcUPg= X-Google-Smtp-Source: ABdhPJzGeI8OqynxYQ4zEhTp/AnzxjKBHdog1/Ib4ZBaOPX8hvrRNLY9plXtAIgHjHQlQrkEqEK9FA== X-Received: by 2002:a05:620a:1502:: with SMTP id i2mr10839737qkk.373.1616178334987; Fri, 19 Mar 2021 11:25:34 -0700 (PDT) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o197sm4879022qka.26.2021.03.19.11.25.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Mar 2021 11:25:34 -0700 (PDT) From: Philip McGrath To: 47153@debbugs.gnu.org Subject: [PATCH v3 3/3] gnu: chez-scheme: simplify packaging Date: Fri, 19 Mar 2021 14:24:51 -0400 Message-Id: <20210319182451.840-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20210319182451.840-1-philip@philipmcgrath.com> References: <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> <20210319182451.840-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Take advantage of patches that have been accepted upstream. These changes lay a foundation for reusing more of Chez's build process for Racket. * gnu/packages/patches/chez-scheme-build-util-paths-backport.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/chez.scm (chez-scheme)[source](patches): Use it. [source](snippet): Remove bundled libraries here, not in configure phase. [inputs]: Organize. Move "nanopass", "stex", and "xorg-rgb" to ... [native-inputs]: ... this field. [arguments]: Add (ice-9 ftw) to #:modules. Remove unneeded 'patch-processor-detection' phase. Add 'unpack-nanopass+stex' phase (refactored from 'configure'). Simplify 'configure' phase by removing patches that have been upstreamed. Add "--nogzip-man-pages" flag so we can remove 'make-manpages-writable' phase. Stop ignoring #:configure-flags, move "--threads" there, and remove unneeded workaround. Add 'prepare-stex' phase (refactored from 'install-doc'). Use it to streamline 'install-doc' phase, installing all of the right files into the right places. --- gnu/local.mk | 1 + gnu/packages/chez.scm | 247 +++--- ...hez-scheme-build-util-paths-backport.patch | 780 ++++++++++++++++++ 3 files changed, 924 insertions(+), 104 deletions(-) create mode 100644 gnu/packages/patches/chez-scheme-build-util-paths-backport.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8325c071bd..bf81c9157e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -886,6 +886,7 @@ dist_patch_DATA = \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ %D%/packages/patches/cgal-security-pr-5371.patch \ + %D%/packages/patches/chez-scheme-build-util-paths-backport.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index dd0db04d88..b77fc8ba5f 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -30,6 +30,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix gexp) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) @@ -79,21 +80,41 @@ (commit (string-append "v" version)))) (sha256 (base32 "0prgn2z9l888j93ydxaf04ph424g0fi3a8w7f8m0b2r7fr1v7388")) - (file-name (git-file-name name version)))) + (file-name (git-file-name name version)) + (patches + (search-patches + ;; backported from upstream: remove on next release + "chez-scheme-build-util-paths-backport.patch")) + (snippet + ;; remove bundled libraries + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (for-each (lambda (dir) + (when (directory-exists? dir) + (delete-file-recursively dir))) + '("stex" + "nanopass" + "lz4" + "zlib"))))))) (build-system gnu-build-system) (inputs - `(("ncurses" ,ncurses) - ("libuuid" ,util-linux "lib") - ("libx11" ,libx11) - ("lz4" ,lz4) - ("lz4:static" ,lz4 "static") - ("xorg-rgb" ,xorg-rgb) - ("nanopass" ,nanopass) + `(("libuuid" ,util-linux "lib") ("zlib" ,zlib) ("zlib:static" ,zlib "static") - ("stex" ,stex))) + ("lz4" ,lz4) + ("lz4:static" ,lz4 "static") + ;; for expeditor: + ("ncurses" ,ncurses) + ;; for X11 clipboard support in expeditor: + ;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232 + ("libx11" ,libx11))) (native-inputs - `(("texlive" ,(texlive-union (list texlive-latex-oberdiek + `(("nanopass" ,nanopass) ; source only + ;; for docs + ("stex" ,stex) + ("xorg-rgb" ,xorg-rgb) + ("texlive" ,(texlive-union (list texlive-latex-oberdiek texlive-generic-epsf))) ("ghostscript" ,ghostscript) ("netpbm" ,netpbm))) @@ -103,96 +124,54 @@ (files (list (string-append "lib/csv" version "-site")))))) (outputs '("out" "doc")) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 match)) + `(#:modules + ((guix build gnu-build-system) + (guix build utils) + (ice-9 ftw) + (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")) - ;; Let autodetection have its attempt on other architectures. - (_ - '()))) + '("--threads") ;; TODO when we fix armhf, it doesn't support --threads #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-processor-detection - (lambda _ (substitute* "configure" - (("uname -a") "uname -m")) - #t)) - ;; Adapt the custom 'configure' script. + ;; put these where configure expects them to be + (add-after 'unpack 'unpack-nanopass+stex + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (for-each (lambda (dep) + (define src + (assoc-ref (or native-inputs inputs) dep)) + (copy-recursively src dep + #:keep-mtime? #t)) + '("nanopass" "stex")) + #t)) + ;; NOTE: the custom Chez 'configure' script doesn't allow + ;; unrecognized flags, such as those automatically added + ;; by `gnu-build-system`. (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")) - (lz4-static (assoc-ref inputs "lz4:static")) - (zlib-static (assoc-ref inputs "zlib:static")) - (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) - (invoke "mv" orig-name new-name))) - `((,nanopass "source" "nanopass") - (,stex "source" "stex"))) - ;; The configure step wants to CURL all submodules as it - ;; detects a checkout without submodules. Disable curling, - ;; and manually patch the needed modules for compilation. - (substitute* "configure" - (("! -f '") "-d '")) ; working around CURL. - (substitute* (find-files "mats" "Mf-.*") - (("^[[:space:]]+(cc ) *") "\tgcc ")) - (substitute* - (find-files "." (string-append - "(" - "Mf-[a-zA-Z0-9.]+" - "|Makefile[a-zA-Z0-9.]*" - "|checkin" - "|stex\\.stex" - "|newrelease" - "|workarea" - "|unix\\.ms" - "|^6\\.ms" - ;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read - ")")) - (("/bin/rm") (which "rm")) - (("/bin/ln") (which "ln")) - (("/bin/cp") (which "cp")) - (("/bin/echo") (which "echo"))) - (substitute* "makefiles/installsh" - (("/bin/true") (which "true"))) - (substitute* "stex/Makefile" - (("PREFIX=/usr") (string-append "PREFIX=" out))) - (invoke "./configure" "--threads" - (string-append "ZLIB=" zlib-static "/lib/libz.a") - (string-append "LZ4=" lz4-static "/lib/liblz4.a") - (string-append "--installprefix=" out))))) - ;; Installation of the documentation requires a running "chez". - (add-after 'install 'install-doc - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/" ,name "-" ,version))) - (invoke "make" "docs") - (with-directory-excursion "csug" - (substitute* "Makefile" - ;; The ‘installdir=’ can't be overruled on the command line. - (("/tmp/csug9") doc) - ;; $m is the ‘machine type’, e.g. ‘ta6le’ on x86_64, but is - ;; set incorrectly for some reason, e.g. to ‘a6le’ on x86_64. - ;; Avoid the whole mess by running the (machine-independent) - ;; ‘installsh’ script at its original location. - (("\\$m/installsh") "makefiles/installsh")) - (invoke "make" "install") - (install-file "csug.pdf" doc)) - (with-directory-excursion "release_notes" - (install-file "release_notes.pdf" doc)) + (lambda* (#:key inputs outputs + (configure-flags '()) + #:allow-other-keys) + (let* ((zlib-static (assoc-ref inputs "zlib:static")) + (lz4-static (assoc-ref inputs "lz4:static")) + (out (assoc-ref outputs "out")) + ;; add flags which are always required: + (flags (cons* + (string-append "--installprefix=" out) + (string-append "ZLIB=" zlib-static "/lib/libz.a") + (string-append "LZ4=" lz4-static "/lib/liblz4.a") + ;; Guix will do compress man pages, + ;; and letting Chez try causes an error + "--nogzip-man-pages" + configure-flags))) + (format #t "configure flags: ~s~%" flags) + ;; Some makefiles (for tests) don't seem to propagate CC + ;; properly, so we take it out of their hands: + (setenv "CC" ,(cc-for-target)) + (apply invoke + "./configure" + flags) #t))) - ;; The binary file name is called "scheme" as the one from MIT/GNU + ;; The binary file name is called "scheme" as is the one from MIT/GNU ;; Scheme. We add a symlink to use in case both are installed. (add-after 'install 'install-symlink (lambda* (#:key outputs #:allow-other-keys) @@ -207,16 +186,75 @@ "/" name ".boot"))) (find-files lib "scheme.boot")) #t))) - (add-before 'reset-gzip-timestamps 'make-manpages-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files (string-append (assoc-ref outputs "out") - "/share/man") - ".*\\.gz$")) - #t))))) - ;; According to the documentation MIPS is not supported. - ;; Cross-compiling for the Raspberry Pi is supported, but not native ARM. + ;; Building explicitly lets us avoid using substitute* + ;; to re-write makefiles. + (add-after 'install-symlink 'prepare-stex + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (let* ((stex+version + (strip-store-file-name + (assoc-ref (or native-inputs inputs) "stex"))) + ;; Eventually we want to install stex as a real + ;; package so it's reusable. For now: + (stex-output "/tmp") + (doc-dir (string-append stex-output + "/share/doc/" + stex+version))) + (with-directory-excursion "stex" + (invoke "make" + "install" + (string-append "LIB=" + stex-output + "/lib/" + stex+version) + (string-append "Scheme=" + (assoc-ref outputs "out") + "/bin/scheme")) + (for-each (lambda (pth) + (install-file pth doc-dir)) + '("ReadMe" ; includes the license + "doc/stex.html" + "doc/stex.css" + "doc/stex.pdf")) + #t)))) + ;; Building the documentation requires stex and a running scheme. + ;; FIXME: this is probably wrong for cross-compilation + (add-after 'prepare-stex 'install-doc + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (let* ((chez+version (strip-store-file-name + (assoc-ref outputs "out"))) + (stex+version + (strip-store-file-name + (assoc-ref (or native-inputs inputs) "stex"))) + (scheme (string-append (assoc-ref outputs "out") + "/bin/scheme")) + ;; see note on stex-output in phase build-stex, above: + (stexlib (string-append "/tmp" + "/lib/" + stex+version)) + (doc-dir (string-append (assoc-ref outputs "doc") + "/share/doc/" + chez+version))) + (define* (stex-make #:optional (suffix "")) + (invoke "make" + "install" + (string-append "Scheme=" scheme) + (string-append "STEXLIB=" stexlib) + (string-append "installdir=" doc-dir suffix))) + (with-directory-excursion "csug" + (stex-make "/csug")) + (with-directory-excursion "release_notes" + (stex-make "/release_notes")) + (with-directory-excursion doc-dir + (symlink "release_notes/release_notes.pdf" + "release_notes.pdf") + (symlink "csug/csug9_5.pdf" + "csug.pdf")) + #t)))))) + ;; Chez Scheme does not have a MIPS backend. + ;; FIXME: Debian backports patches to get armhf working. + ;; We should too. It is the Chez machine type arm32le + ;; (no threaded version upstream yet, though there is in + ;; Racket's fork), more specifically (per the release notes) ARMv6. (supported-systems (fold delete %supported-systems '("mips64el-linux" "armhf-linux"))) (home-page "https://cisco.github.io/ChezScheme/") @@ -228,6 +266,7 @@ generates native code for each target processor, with support for x86, x86_64, and 32-bit PowerPC architectures.") (license asl2.0))) + (define-public chez-srfi (package (name "chez-srfi") diff --git a/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch b/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch new file mode 100644 index 0000000000..07d65225ed --- /dev/null +++ b/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch @@ -0,0 +1,780 @@ +From 2447e047b750c3371778beb487f881641a582e66 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 11 Mar 2021 18:17:47 -0500 +Subject: [PATCH] avoid hard-coded paths for utilities in build scripts + +Backported from +https://github.com/cisco/ChezScheme/commit/8f4633ce24ac6425b2ab13cc78026b1c9bb5361e + +Specific changes: + - `cc` -> `$(CC)` + - `/bin/rm` -> `rm` + - `/bin/ln` -> `ln` + - `/bin/cp` -> `cp` + - `/bin/echo` -> `echo` + - in `makefiles/installsh`, add a case to find `true` + at an unusual path or as a shell builtin + +Co-authored-by: Andy Keep +--- + LOG | 12 ++++++++++++ + csug/gifs/Makefile | 8 ++++---- + csug/math/Makefile | 4 ++-- + examples/Makefile | 2 +- + makefiles/Makefile-csug.in | 6 +++--- + makefiles/Makefile-release_notes.in | 2 +- + makefiles/Mf-install.in | 4 ++-- + makefiles/installsh | 3 ++- + mats/6.ms | 2 +- + mats/Mf-a6fb | 4 ++-- + mats/Mf-a6le | 4 ++-- + mats/Mf-a6nb | 4 ++-- + mats/Mf-a6ob | 4 ++-- + mats/Mf-a6osx | 4 ++-- + mats/Mf-arm32le | 4 ++-- + mats/Mf-i3fb | 4 ++-- + mats/Mf-i3le | 4 ++-- + mats/Mf-i3nb | 4 ++-- + mats/Mf-i3ob | 4 ++-- + mats/Mf-i3osx | 4 ++-- + mats/Mf-i3qnx | 4 ++-- + mats/Mf-ppc32le | 4 ++-- + mats/Mf-ta6fb | 4 ++-- + mats/Mf-ta6le | 4 ++-- + mats/Mf-ta6nb | 4 ++-- + mats/Mf-ta6ob | 4 ++-- + mats/Mf-ta6osx | 4 ++-- + mats/Mf-ti3fb | 4 ++-- + mats/Mf-ti3le | 4 ++-- + mats/Mf-ti3nb | 4 ++-- + mats/Mf-ti3ob | 4 ++-- + mats/Mf-ti3osx | 4 ++-- + mats/Mf-tppc32le | 4 ++-- + mats/unix.ms | 4 ++-- + newrelease | 22 +++++++++++----------- + pkg/Makefile | 2 +- + release_notes/gifs/Makefile | 6 +++--- + release_notes/math/Makefile | 4 ++-- + s/Mf-base | 2 +- + workarea | 10 +++++----- + 40 files changed, 101 insertions(+), 88 deletions(-) + +diff --git a/LOG b/LOG +index e1631df..399104d 100644 +--- a/LOG ++++ b/LOG +@@ -2119,3 +2119,15 @@ + bintar/Makefile rpm/Makefile pkg/Makefile wininstall/Makefile + wininstall/a6nt.wxs wininstall/i3nt.wxs wininstall/ta6nt.wxs + wininstall/ti3nt.wxs ++9.5.5 changes: ++- avoid hard-coded paths for utilities in build scripts ++ checkin csug/gifs/Makefile csug/math/Makefile examples/Makefile ++ makefiles/Makefile-csug.in makefiles/Makefile-release_notes.in ++ makefiles/Mf-install.in makefiles/installsh mats/6.ms mats/Mf-a6fb ++ mats/Mf-a6le mats/Mf-a6nb mats/Mf-a6ob mats/Mf-a6osx mats/Mf-arm32le ++ mats/Mf-i3fb mats/Mf-i3le mats/Mf-i3nb mats/Mf-i3ob mats/Mf-i3osx ++ mats/Mf-i3qnx mats/Mf-ppc32le mats/Mf-ta6fb mats/Mf-ta6le mats/Mf-ta6nb ++ mats/Mf-ta6ob mats/Mf-ta6osx mats/Mf-ti3fb mats/Mf-ti3le mats/Mf-ti3nb ++ mats/Mf-ti3ob mats/Mf-ti3osx mats/Mf-tppc32le mats/unix.ms newrelease ++ pkg/Makefile release_notes/gifs/Makefile release_notes/math/Makefile ++ s/Mf-base workarea +diff --git a/csug/gifs/Makefile b/csug/gifs/Makefile +index 8676e4c..4253ffd 100644 +--- a/csug/gifs/Makefile ++++ b/csug/gifs/Makefile +@@ -18,7 +18,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + # translate ps file to gif w/o transparent white background +@@ -28,7 +28,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} +@@ -57,7 +57,7 @@ ghostRightarrow.gif: Rightarrow.tex + giftrans -g '#000000=#ffffff' |\ + giftopnm |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux ++ rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux + test -f $*.gif && chmod 644 $*.gif + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/csug/math/Makefile b/csug/math/Makefile +index 3385fdb..3392ea8 100644 +--- a/csug/math/Makefile ++++ b/csug/math/Makefile +@@ -15,11 +15,11 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log $*.aux ++ rm -f $*.dvi $*.log $*.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} + + ${gifs}: mathmacros + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/examples/Makefile b/examples/Makefile +index b1b4e1d..3edfdd0 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -25,4 +25,4 @@ needed: ${obj} + + all: ; echo "(time (for-each compile-file (map symbol->string '(${src}))))" | ${Scheme} + +-clean: ; /bin/rm -f $(obj) expr.md ++clean: ; rm -f $(obj) expr.md +diff --git a/makefiles/Makefile-csug.in b/makefiles/Makefile-csug.in +index df24092..6f8a8d9 100644 +--- a/makefiles/Makefile-csug.in ++++ b/makefiles/Makefile-csug.in +@@ -29,7 +29,7 @@ install: target + # thrice is not enough when starting from scratch + logcheck1: $(x).thirdrun + @if [ -n "`grep 'Warning: Label(s) may have changed' $(x).log`" ] ; then\ +- /bin/rm -f $(x).thirdrun ;\ ++ rm -f $(x).thirdrun ;\ + $(MAKE) $(x).thirdrun;\ + fi + +@@ -55,7 +55,7 @@ stexsrc = csug.stex title.stex copyright.stex contents.stex\ + texsrc = ${stexsrc:%.stex=%.tex} + + title.tex contents.tex bibliography.tex: +- /bin/rm -f $*.tex ++ rm -f $*.tex + echo "%%% DO NOT EDIT THIS FILE" > $*.tex + echo "%%% Edit the .stex version instead" >> $*.tex + echo "" >> $*.tex +@@ -147,7 +147,7 @@ code: $(stexsrc) + echo '(load "code" pretty-print)' | $(Scheme) -q + + $(x).clean: +- -/bin/rm -f $(x).rfm $(x).sfm $(x).prefirstrun $(x).presecondrun\ ++ -rm -f $(x).rfm $(x).sfm $(x).prefirstrun $(x).presecondrun\ + $(x).prethirdrun $(x).ans\ + $(x).hprefirstrun $(x).hpresecondrun $(x).hprethirdrun\ + tspl.aux tspl.haux tspl.rfm tspl.idx in.hidx\ +diff --git a/makefiles/Makefile-release_notes.in b/makefiles/Makefile-release_notes.in +index 4435b6f..64348a4 100644 +--- a/makefiles/Makefile-release_notes.in ++++ b/makefiles/Makefile-release_notes.in +@@ -38,7 +38,7 @@ install: $x.pdf $x.html + $(INSTALL) -m 2755 -d $(installdir)/gifs + $(INSTALL) -m 0644 --ifdiff gifs/*.gif $(installdir)/gifs + $(INSTALL) -m 2755 -d $(installdir)/math +- -/bin/rm -rf $(installdir)/$(mathdir) ++ -rm -rf $(installdir)/$(mathdir) + $(INSTALL) -m 2755 -d $(installdir)/$(mathdir) + if [ -e $(mathdir)/0.gif ] ; then $(INSTALL) -m 0644 $(mathdir)/*.gif $(installdir)/$(mathdir) ; fi + +diff --git a/makefiles/Mf-install.in b/makefiles/Mf-install.in +index a702c34..c09043d 100644 +--- a/makefiles/Mf-install.in ++++ b/makefiles/Mf-install.in +@@ -114,12 +114,12 @@ bininstall: ${Bin} + libbininstall: ${LibBin} + $I -m 444 ${PetiteBoot} ${LibBin}/petite.boot + if [ "${InstallPetiteName}" != "petite" ]; then\ +- /bin/rm -f ${LibBin}/${InstallPetiteName}.boot;\ ++ rm -f ${LibBin}/${InstallPetiteName}.boot;\ + ln -f ${LibBin}/petite.boot ${LibBin}/${InstallPetiteName}.boot;\ + fi + $I -m 444 ${SchemeBoot} ${LibBin}/scheme.boot;\ + if [ "${InstallSchemeName}" != "scheme" ]; then\ +- /bin/rm -f ${LibBin}/${InstallSchemeName}.boot;\ ++ rm -f ${LibBin}/${InstallSchemeName}.boot;\ + ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallSchemeName}.boot;\ + fi + ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallScriptName}.boot; +diff --git a/makefiles/installsh b/makefiles/installsh +index 48f1e46..95d85fb 100755 +--- a/makefiles/installsh ++++ b/makefiles/installsh +@@ -1,7 +1,8 @@ + #! /bin/sh + if [ -x /bin/true ]; then TRUE=/bin/true; + elif [ -x /usr/bin/true ]; then TRUE=/usr/bin/true; +-else echo "Can't find /bin/true or /usr/bin/true" ; exit 1; ++elif command -v true &> /dev/null; then TRUE=true; ++else echo "Can't find /bin/true or /usr/bin/true and no true command" ; exit 1; + fi + + while ${TRUE} ; do +diff --git a/mats/6.ms b/mats/6.ms +index 102f84b..e504230 100644 +--- a/mats/6.ms ++++ b/mats/6.ms +@@ -2685,7 +2685,7 @@ + (begin + (system "ln -s ../examples .") + (load "examples/fatfib.ss" compile) +- (system "/bin/rm examples") ++ (system "rm -f examples") + #t)) + (or (windows?) (embedded?) + (equal? +diff --git a/mats/Mf-a6fb b/mats/Mf-a6fb +index b16d1b6..ff9e687 100644 +--- a/mats/Mf-a6fb ++++ b/mats/Mf-a6fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6le b/mats/Mf-a6le +index d6fee09..a3bda76 100644 +--- a/mats/Mf-a6le ++++ b/mats/Mf-a6le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6nb b/mats/Mf-a6nb +index 48187ef..0f7ac17 100644 +--- a/mats/Mf-a6nb ++++ b/mats/Mf-a6nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6ob b/mats/Mf-a6ob +index 12758f3..0ffcccc 100644 +--- a/mats/Mf-a6ob ++++ b/mats/Mf-a6ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-a6osx b/mats/Mf-a6osx +index f1dbf85..57bac22 100644 +--- a/mats/Mf-a6osx ++++ b/mats/Mf-a6osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-arm32le b/mats/Mf-arm32le +index f33a665..83896eb 100644 +--- a/mats/Mf-arm32le ++++ b/mats/Mf-arm32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -fomit-frame-pointer -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -fomit-frame-pointer -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3fb b/mats/Mf-i3fb +index 150cedb..1e4e8fc 100644 +--- a/mats/Mf-i3fb ++++ b/mats/Mf-i3fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3le b/mats/Mf-i3le +index 8f521c8..b248620 100644 +--- a/mats/Mf-i3le ++++ b/mats/Mf-i3le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3nb b/mats/Mf-i3nb +index e81f6ff..8afeb5c 100644 +--- a/mats/Mf-i3nb ++++ b/mats/Mf-i3nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3ob b/mats/Mf-i3ob +index 4e3ee1b..fcd4dee 100644 +--- a/mats/Mf-i3ob ++++ b/mats/Mf-i3ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3osx b/mats/Mf-i3osx +index 53c7d4a..a55f6ee 100644 +--- a/mats/Mf-i3osx ++++ b/mats/Mf-i3osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-i3qnx b/mats/Mf-i3qnx +index 724f2db..3e1437a 100644 +--- a/mats/Mf-i3qnx ++++ b/mats/Mf-i3qnx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ppc32le b/mats/Mf-ppc32le +index 28151a8..547ca00 100644 +--- a/mats/Mf-ppc32le ++++ b/mats/Mf-ppc32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6fb b/mats/Mf-ta6fb +index 921d609..5ed233e 100644 +--- a/mats/Mf-ta6fb ++++ b/mats/Mf-ta6fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6le b/mats/Mf-ta6le +index cd014ec..21c686a 100644 +--- a/mats/Mf-ta6le ++++ b/mats/Mf-ta6le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6nb b/mats/Mf-ta6nb +index 6b1929d..9b9b898 100644 +--- a/mats/Mf-ta6nb ++++ b/mats/Mf-ta6nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6ob b/mats/Mf-ta6ob +index a7aee91..8f25aed 100644 +--- a/mats/Mf-ta6ob ++++ b/mats/Mf-ta6ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ta6osx b/mats/Mf-ta6osx +index 42da5d7..0dd386f 100644 +--- a/mats/Mf-ta6osx ++++ b/mats/Mf-ta6osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m64 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m64 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3fb b/mats/Mf-ti3fb +index c891145..56bf7d3 100644 +--- a/mats/Mf-ti3fb ++++ b/mats/Mf-ti3fb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3le b/mats/Mf-ti3le +index 12e77b8..22b4148 100644 +--- a/mats/Mf-ti3le ++++ b/mats/Mf-ti3le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3nb b/mats/Mf-ti3nb +index 028c652..573946e 100644 +--- a/mats/Mf-ti3nb ++++ b/mats/Mf-ti3nb +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3ob b/mats/Mf-ti3ob +index 8a4741c..4472b60 100644 +--- a/mats/Mf-ti3ob ++++ b/mats/Mf-ti3ob +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-ti3osx b/mats/Mf-ti3osx +index 6913c34..9273b44 100644 +--- a/mats/Mf-ti3osx ++++ b/mats/Mf-ti3osx +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/Mf-tppc32le b/mats/Mf-tppc32le +index a12b515..8b9d9f0 100644 +--- a/mats/Mf-tppc32le ++++ b/mats/Mf-tppc32le +@@ -21,7 +21,7 @@ fobj = foreign1.so + include Mf-base + + foreign1.so: ${fsrc} ../boot/$m/scheme.h +- cc -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} ++ $(CC) -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc} + + cat_flush: cat_flush.c +- cc -o cat_flush cat_flush.c ++ $(CC) -o cat_flush cat_flush.c +diff --git a/mats/unix.ms b/mats/unix.ms +index cfba3e7..db7f6f9 100644 +--- a/mats/unix.ms ++++ b/mats/unix.ms +@@ -72,8 +72,8 @@ + (mat system + (eqv? (with-output-to-file "testfile.ss" void '(replace)) (void)) + (begin +- (system (format "~:[~;/pkg~]/bin/rm testfile.ss" (embedded?))) +- (system (format "~:[~;/pkg~]/bin/echo hello > testfile.ss" (embedded?))) ++ (system "rm -f testfile.ss") ++ (system "echo hello > testfile.ss") + (let ([p (open-input-file "testfile.ss")]) + (and (eq? (read p) 'hello) + (begin (close-input-port p) #t)))) +diff --git a/newrelease b/newrelease +index e903956..2d06740 100755 +--- a/newrelease ++++ b/newrelease +@@ -75,13 +75,13 @@ if ($status != 0) exit 1 + + cd $W + +-/bin/rm -f BUILDING ++rm -f BUILDING + sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ + -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ + ../BUILDING > BUILDING + set updatedfiles = ($updatedfiles BUILDING) + +-/bin/rm -f NOTICE ++rm -f NOTICE + sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ + -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ + ../NOTICE > NOTICE +@@ -92,19 +92,19 @@ sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)*/csv$R/" ../makefiles/Mf-install.in > makef + sed -e "s/csug[0-9]\.[0-9]/csug$MR.$mR/" -e "s/csug[0-9]_[0-9]/csug$MR""_$mR/" ../makefiles/Makefile-csug.in > makefiles/Makefile-csug.in + set updatedfiles = ($updatedfiles makefiles/Mf-install.in makefiles/Makefile-csug.in) + +-/bin/rm scheme.1.in ++rm -f scheme.1.in + sed -e "s/Chez Scheme Version [0-9]\.[0-9]\(\.[0-9]\)* .* [0-9][0-9]*/Chez Scheme Version $R `date +'%B %Y'`/" \ + -e "s/Copyright .* Cisco Systems, Inc./Copyright `date +%Y` Cisco Systems, Inc./" \ + ../scheme.1.in > scheme.1.in + set updatedfiles = ($updatedfiles scheme.1.in) + +-/bin/rm -f c/Makefile.{,t}{i3,a6}nt ++rm -f c/Makefile.{,t}{i3,a6}nt + foreach fn (c/Makefile.{,t}{a6,i3}nt) + set updatedfiles = ($updatedfiles $fn) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn + end + +-/bin/rm -f mats/Mf-{,t}{i3,a6}nt ++rm -f mats/Mf-{,t}{i3,a6}nt + foreach fn (mats/Mf-{,t}{a6,i3}nt) + set updatedfiles = ($updatedfiles $fn) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn +@@ -123,11 +123,11 @@ sed -e "s/FILEVERSION .*/FILEVERSION $RCVERSION/"\ + -e "s/Copyright 1984-..../Copyright 1984-`date +%Y`/g" ../c/scheme.rc > c/scheme.rc + set updatedfiles = ($updatedfiles c/scheme.rc) + +-/bin/rm -f s/7.ss ++rm -f s/7.ss + sed -e "s/nCopyright 1984-..../nCopyright 1984-`date +%Y`/g" ../s/7.ss > s/7.ss + set updatedfiles = ($updatedfiles s/7.ss) + +-/bin/rm -f s/cmacros.ss ++rm -f s/cmacros.ss + set VNUM = `printf "%04x%02x%02x" $MR $mR $bR` + sed -e "s/scheme-version #x......../scheme-version #x$VNUM/" ../s/cmacros.ss > s/cmacros.ss + set updatedfiles = ($updatedfiles s/cmacros.ss) +@@ -146,17 +146,17 @@ sed -e "s/Revised\(.*\)for Chez Scheme Version [^ ]*
/Revised\1for Chez Schem + ../csug/csug.stex > csug/csug.stex + set updatedfiles = ($updatedfiles csug/copyright.stex csug/csug.stex) + +-/bin/rm bintar/Makefile ++rm -f bintar/Makefile + sed -e "s/^version = .*/version = $R/" \ + -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" \ + ../bintar/Makefile > bintar/Makefile + set updatedfiles = ($updatedfiles bintar/Makefile) + +-/bin/rm rpm/Makefile ++rm -f rpm/Makefile + sed -e "s/^version = .*/version = $R/" ../rpm/Makefile > rpm/Makefile + set updatedfiles = ($updatedfiles rpm/Makefile) + +-/bin/rm pkg/Makefile ++rm -f pkg/Makefile + sed -e "s/^version = .*/version = $R/" \ + -e "s/© .* Cisco Systems/\© `date +%Y` Cisco Systems/" \ + ../pkg/Makefile > pkg/Makefile +@@ -170,7 +170,7 @@ foreach fn (wininstall/{,t}{a6,i3}nt.wxs) + sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/" ../$fn > $fn + end + +-/bin/rm LOG ++rm -f LOG + cat ../LOG > LOG + echo "" >> LOG + echo "$R changes:" >> LOG +diff --git a/pkg/Makefile b/pkg/Makefile +index e0eef67..a3fe83f 100644 +--- a/pkg/Makefile ++++ b/pkg/Makefile +@@ -39,7 +39,7 @@ $(PKG): $(BUILDROOT)/$(PKG) + --package-path $(BUILDROOT)\ + $(PKG) + sudo chown $(DOTUSER):$(DOTGROUP) $(PKG) +- sudo /bin/rm -rf $(RELEASE) $(BUILDROOT) ++ sudo rm -rf $(RELEASE) $(BUILDROOT) + + $(BUILDROOT)/$(PKG): $(PKGCONTENT) + sudo /usr/bin/pkgbuild\ +diff --git a/release_notes/gifs/Makefile b/release_notes/gifs/Makefile +index 9572965..701d53a 100644 +--- a/release_notes/gifs/Makefile ++++ b/release_notes/gifs/Makefile +@@ -15,7 +15,7 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log *.aux ++ rm -f $*.dvi $*.log *.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} +@@ -44,7 +44,7 @@ ghostRightarrow.gif: Rightarrow.tex + giftrans -g '#000000=#ffffff' |\ + giftopnm |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux ++ rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux + test -f $*.gif && chmod 644 $*.gif + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/release_notes/math/Makefile b/release_notes/math/Makefile +index b3ffae3..9eca430 100644 +--- a/release_notes/math/Makefile ++++ b/release_notes/math/Makefile +@@ -16,11 +16,11 @@ density=-r90x90 + ${density} - |\ + pnmcrop |\ + ppmtogif -transparent white > $*.gif +- /bin/rm -f $*.dvi $*.log $*.aux ++ rm -f $*.dvi $*.log $*.aux + test -f $*.gif && chmod 644 $*.gif + + all: ${gifs} + + ${gifs}: mathmacros + +-clean: ; /bin/rm -f *.gif Make.out ++clean: ; rm -f *.gif Make.out +diff --git a/s/Mf-base b/s/Mf-base +index c709608..40d816c 100644 +--- a/s/Mf-base ++++ b/s/Mf-base +@@ -206,7 +206,7 @@ profiled: + $(MAKE) all loadspd=t bp=t PetiteBoot=../boot/$m/xpetite.boot SchemeBoot=../boot/$m/xscheme.boot + $(MAKE) prettyclean + $(MAKE) io.$m loadspd=t dumpbpd=t Scheme="../bin/$m/scheme -b ../boot/$m/xpetite.boot -b ../boot/$m/xscheme.boot" +- /bin/rm -f ../boot/$m/xpetite.boot ../boot/$m/xscheme.boot ++ rm -f ../boot/$m/xpetite.boot ../boot/$m/xscheme.boot + $(MAKE) prettyclean + $(MAKE) all loadspd=t loadbpd=t + +diff --git a/workarea b/workarea +index bacc712..0461919 100755 +--- a/workarea ++++ b/workarea +@@ -70,9 +70,9 @@ esac + + if [ "$OS" = "Windows_NT" ] + then +- ln="/bin/cp -R" ++ ln="cp -R" + else +- ln="/bin/ln -s" ++ ln="ln -s" + fi + + # This shell script creates a workarea for local modifications to the +@@ -102,7 +102,7 @@ workln() + forceworkln() + { + if [ ! -e $2 ] ; then +- /bin/ln -s $1 $2 2> /dev/null ++ ln -s $1 $2 2> /dev/null + fi + } + +@@ -168,13 +168,13 @@ done + # deep copy submodules where builds occur so changes don't propagate through symlinks + for dir in `echo zlib` ; do + if [ ! -e $W/$dir ] ; then +- /bin/cp -R $dir $W/$dir ++ cp -R $dir $W/$dir + fi + done + + for dir in `echo lz4` ; do + if [ ! -e $W/$dir ] ; then +- /bin/cp -R $dir $W/$dir ++ cp -R $dir $W/$dir + fi + done + +-- +2.21.1 (Apple Git-122.3) + -- 2.21.1 (Apple Git-122.3) From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 20 12:06:25 2021 Received: (at 47153) by debbugs.gnu.org; 20 Mar 2021 16:06:25 +0000 Received: from localhost ([127.0.0.1]:53039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lNe7N-0002ED-2y for submit@debbugs.gnu.org; Sat, 20 Mar 2021 12:06:25 -0400 Received: from mail-qk1-f176.google.com ([209.85.222.176]:41636) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lNe7K-0002DY-Bn for 47153@debbugs.gnu.org; Sat, 20 Mar 2021 12:06:23 -0400 Received: by mail-qk1-f176.google.com with SMTP id v70so6177339qkb.8 for <47153@debbugs.gnu.org>; Sat, 20 Mar 2021 09:06:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=hPjTtKDCgVv1ZJB7LpThe7ZBfpNAqsxVzx3kTgRsDBM=; b=c61E/4F59gln5SnMinqg9s8DIm7rWW38DrOaHSyLLEtbEu/fXR//v6Mw6p7QxLVWw+ 8yYQV+LIiYwGLL+P0P/bvLYSQjYPh6sw2JYM66Fq2Gsa19OCmT/f1SrOsuLBsloE9AuO cZPbhjdGOKcXE7moydMiMnbKLFOPW2zDrUttbH45Nrkp8rqIFrDdKO0RY+X741Cs+BRX AvjAOcYWcTPNrEmU2tFypo8+jx3GyQKRNfK3uDP2o/ZftTQNyI62BLLiGIxTBuaoooP4 B5GUCJyDVHnxvAURmn+XR1wj6osjKYfYFVjLvQAiFON6xheI0d4vWB3MJK1ELm7IzF8D nU9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=hPjTtKDCgVv1ZJB7LpThe7ZBfpNAqsxVzx3kTgRsDBM=; b=gHnzpr40/q7CDPS5dYibfGYXncmcwNG4j4xjxEGR0zSnPGFrZ7b2qhvA5b66acc0Ro H+fDekSfFDHfPIWYcfcP5OyTjeTDGRMX5tGbXL13j7yJk9Fg/sFAMlWHP6oT4/mea2Uj dhaOzsLRROKMAkZJfdOHMHGQ/gjQiCaemTG8GS/8d7xoe3zC9vGvGMYRWc2P035oQiHk IJun/3FtoRlikfzQ6Y+2BVshfkprF++NvonfQ5i5Omdb7iP/KWTZW9xmEgACtKTWN758 8h7QqVyH1ozsG3Gf11LbzTzKKiiNs+nSW91SdgL9cwSqi32h5biMbC+F1MybqsO96HHF 6lag== X-Gm-Message-State: AOAM533aJoHeHgf6pavhk0ak8lLctZDW/vUsCa0/Ihz0n8CoRbQLIh3U rLeWlYwh9/EKPSpTnDj7zs/+L1YTnIybRVWlFNI= X-Google-Smtp-Source: ABdhPJwyAZ+ZAmabX6wqAtxZe/DzTMYbkrxMK/nGBRkNioJX8thFScvD1E7ZTneHUV3Q+isATPj6aw== X-Received: by 2002:a37:9bd2:: with SMTP id d201mr1803430qke.492.1616256376456; Sat, 20 Mar 2021 09:06:16 -0700 (PDT) Received: from Sapientia.local (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id f9sm6738158qkk.115.2021.03.20.09.06.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 20 Mar 2021 09:06:16 -0700 (PDT) From: Philip McGrath Subject: Re: [PATCH v2] gnu: chez-scheme: Update nanopass to 1.9.2. To: Leo Prikler , 47153@debbugs.gnu.org References: <9581850ed011d311db0388fcda41f8fbcd479730.camel@student.tugraz.at> <20210315225302.6597-1-philip@philipmcgrath.com> <6e49888aaab2d2b2284d198eca51d0b9944be613.camel@student.tugraz.at> <5a4d612f-445a-e3f0-a3ff-7abd4b021f16@philipmcgrath.com> <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> Message-ID: Date: Sat, 20 Mar 2021 12:06:14 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 47153 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi, On 3/16/21 5:09 PM, Leo Prikler wrote: > Am Dienstag, den 16.03.2021, 16:19 -0400 schrieb Philip McGrath: >> On 3/16/21 3:37 AM, Leo Prikler wrote: >>> Am Montag, den 15.03.2021, 18:53 -0400 schrieb Philip McGrath: >>>> - (sha256 (base32 >>>> "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) >>>> + (sha256 >>>> "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") >>> You're inadvertently stripping away base32. >> >> I thought I'd read that explicitly calling base32 was redundant and I think I'd conflated multiple things in my memory. I see that the expansion of `package` applies the same special handling of the `sha256` field for a literal string as one wrapped with `base32` (recognized with `free-identifier=?`), including checking and conversion to a bytevector at compile time. >>>> + ;; When there's a new tagged release, >>>> + ;; go back to using (string-append "v" version) >>>> + (commit >>>> "54051494434a197772bf6ca5b4e6cf6be55f39a5"))) >>> Could we then not cherry-pick this commit as a patch? Or is there >>> more >>> needed? >> >> We could, but the upstream history is simply v1.2.2 -> my patch -> >> Kent >> Dybvig's merge commit accepting it. I thought doing it this way >> clarified that it's not a Guix-specific patch that should stay >> around >> indefinitely. Is there a reason to prefer cherry-picking it as a >> patch? > You'll probably hear differing opinions about that, and that's fine, > but my personal reason to prefer cherry-picking would be, that it makes > it very obvious, what changed from the base – that being the patch > modulo offset changes – and doesn't invite people to go out saying > "aha, but I found this commit and I like that more, let's take it". In > other words, this is very subjective, but I believe we should stick as > close to releases as is reasonable. I can understand that perspective. From my point of view, I'm inclined to see the release plus one upstream commit (the first commit since 2017) as closer to the release than a free-floating patch file: with a patch, I can see what has changed, but I need to evaluate why it was changed, if the change is still necessary, and so forth, rather than relying on the upstream maintainers' judgement. > I don't think we can necessarily trust the boot files in this > configuration. "They are bit-for-bit identical" can also mean, that > the login() hack was successfully applied for all you know. Yes, the "trusting trust" issues are especially striking if you consider that Chez Scheme was non-free software from 1984 to 2016, and the first libre release likewise needed the bootfiles of its ancestors. My point here was just to save space, from the perspective that these are build artifacts which can be easily recreated by anyone on a GNU/Linux system. But I don't think it's especially important, so I'm keeping them. I hope it might turn out to be possible eventually to bootstrap via Racket, maybe even by just picking an older version of the bootstrap code before the Racket fork's #!base-rtd gained a vector of ancestors rather than a parent and a few such things, but I think there's more to be done around Racket packaging before investigating that. -Philip From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 05 06:02:59 2021 Received: (at 47153) by debbugs.gnu.org; 5 Apr 2021 10:03:00 +0000 Received: from localhost ([127.0.0.1]:36986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTM4R-0004qM-Ma for submit@debbugs.gnu.org; Mon, 05 Apr 2021 06:02:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTM4P-0004q8-Tf for 47153@debbugs.gnu.org; Mon, 05 Apr 2021 06:02:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55789) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTM4I-0001e8-Ko; Mon, 05 Apr 2021 06:02:50 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=45754 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lTM4I-0000yi-3J; Mon, 05 Apr 2021 06:02:50 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Philip McGrath , Leo Prikler Subject: Re: bug#47153: [PATCH] gnu: chez-scheme: simplify packaging References: <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> <20210319182451.840-1-philip@philipmcgrath.com> Date: Mon, 05 Apr 2021 12:02:48 +0200 In-Reply-To: <20210319182451.840-1-philip@philipmcgrath.com> (Philip McGrath's message of "Fri, 19 Mar 2021 14:24:49 -0400") Message-ID: <87h7klujzr.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47153 Cc: 47153@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Leo, If this v3 looks good to you, please push. :-) One nitpick: Philip McGrath skribis: > - (sha256 (base32 "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8= n21")) > + (sha256 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") Before pushing, please keep the (base32 =E2=80=A6) forms (here and elsewher= e). That they can be removed is not intended. Thanks Leo and Philip, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 05 10:21:04 2021 Received: (at 47153-done) by debbugs.gnu.org; 5 Apr 2021 14:21:04 +0000 Received: from localhost ([127.0.0.1]:38359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTQ6C-0005qv-0e for submit@debbugs.gnu.org; Mon, 05 Apr 2021 10:21:04 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:31606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTQ6A-0005qE-1c for 47153-done@debbugs.gnu.org; Mon, 05 Apr 2021 10:21:02 -0400 Received: from nijino.local (194-96-13-79.adsl.highway.telekom.at [194.96.13.79]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4FDXrW25Jkz1LZXx; Mon, 5 Apr 2021 16:20:59 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4FDXrW25Jkz1LZXx DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1617632459; bh=rXwguPaQsyl8zeOiP3YcbPex9he60dFdzw97ON8GTzU=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=r4/8ga7Z/ROjmj2Z7yBXl641RCmPojVJ4S3JAZPUyiy/NNzSE9pe1Xq0JI3LDULCc c4fpdYaqy4ALCaFci7NqoTHLXEz9YlSHmeaxjATV9dNukx49jGU31ti/QKGchOm0K9 b02dwcsq7hROsYgZTP8UMnop5JdJLfWtm0qfPwNw= Message-ID: <034cdb2bde4247d5a4124017f2204a87106bc293.camel@student.tugraz.at> Subject: Re: bug#47153: [PATCH] gnu: chez-scheme: simplify packaging From: Leo Prikler To: Ludovic =?ISO-8859-1?Q?Court=E8s?= , Philip McGrath Date: Mon, 05 Apr 2021 16:20:58 +0200 In-Reply-To: <87h7klujzr.fsf_-_@gnu.org> References: <5c833412d1ef4c9130c7f769a7d2c6d4270d7d36.camel@student.tugraz.at> <20210319182451.840-1-philip@philipmcgrath.com> <87h7klujzr.fsf_-_@gnu.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47153-done Cc: 47153-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Montag, den 05.04.2021, 12:02 +0200 schrieb Ludovic Courtès: > Hi Leo, > > If this v3 looks good to you, please push. :-) Ah, sorry. I totally missed v3, because I wasn't CC'd. > One nitpick: > > Philip McGrath skribis: > > > - (sha256 (base32 > > "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21")) > > + (sha256 > > "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i") > > Before pushing, please keep the (base32 …) forms (here and > elsewhere). > That they can be removed is not intended. > Done and pushed. Regards, Leo From unknown Fri Jun 20 07:11:36 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 04 May 2021 11:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator