From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id MLo3KR7tVGBTBAAA0tVLHw (envelope-from ) for ; Fri, 19 Mar 2021 18:27:42 +0000 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id GDTpJB7tVGCjXQAAbx9fmQ (envelope-from ) for ; Fri, 19 Mar 2021 18:27:42 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id B7114340DD for ; Fri, 19 Mar 2021 19:27:41 +0100 (CET) Received: from localhost ([::1]:33660 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lNJqW-00056L-Tt for larch@yhetil.org; Fri, 19 Mar 2021 14:27:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51580) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lNJoy-00044l-2w for guix-patches@gnu.org; Fri, 19 Mar 2021 14:26:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39422) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lNJow-0001Q2-N2 for guix-patches@gnu.org; Fri, 19 Mar 2021 14:26:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lNJow-0000y0-Js for guix-patches@gnu.org; Fri, 19 Mar 2021 14:26:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47153] [PATCH v3 3/3] gnu: chez-scheme: simplify packaging Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 19 Mar 2021 18:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47153 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47153@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 47153-submit@debbugs.gnu.org id=B47153.16161783543678 (code B ref 47153); Fri, 19 Mar 2021 18:26:02 +0000 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 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1616178462; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=xdW4U27mOOFSE8i6eJjlm4O1B1j4qbh2Pg1NKfmDa+g=; b=W53Mv4JefOgheJOiqXskay6U9frW6Yn8/kzZVoSRrz+xOsN64uUSQ/6a0qdLERVztIq7v5 dhTNAFDBGRpgUlNNQgq3e8zfnNsKOE3va/nt9OcesuTqHFUIqiLxDhyFjT5WZcLEJZVlaJ BrYascPctLW1LxsSlBKKu06kNPPjcZMB7wjDlPa9X+Kqc24FixH7aH3tu7SfGynK/3HSxx CJZmrPfaF8D+afmAHkYqWB5X7yOsazoUS2z5BgplP8vTvH8VmVja28urBcJVcac6xR3ld0 AVQDgznHsl2czDFkVdp1l388PoQ/rQoJCR6yl3i+gq5aUnuK2/D92xX7bKISiQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1616178462; a=rsa-sha256; cv=none; b=O0Rdkg90ShVzKc+PbyjCMGVMOdQGdsNG1K9sHP5BOTF0yU6QPQ58y2baoO2j0yX/wyZOnd KqLEEG7DsrvxHiX3grAI1rpuk373T3fpCqgCYjfqB/h8a+X1s6x39HoKF/0SMLA9GYKRIE PjQsBD5C8ehsFAz39MjKfPM3a891olQoBuVGKp07nESoWPAKL5zj16CKgGv9bPZU8/CRxV 9PrFyb3qDfBaIMW3FmSeG8V7FYSHco74BvOy/artOppwXQ2XTIzi1INLg8Ay/1CAbiBztN sGONAM+dDCskHuPql/84IeUowPj9pY2hCq+9b/ZBnfFZUPA4Zo72DXDw7EoYfg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=g8lczS7B; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -0.41 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=g8lczS7B; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: B7114340DD X-Spam-Score: -0.41 X-Migadu-Scanner: scn0.migadu.com X-TUID: ZfVvjDRGgdKV 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)