From patchwork Fri Apr 16 21:08:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 28593 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 263A227BC77; Fri, 16 Apr 2021 23:08:56 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 24A2027BC6C for ; Fri, 16 Apr 2021 23:08:55 +0100 (BST) Received: from localhost ([::1]:40658 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXWdy-0002vr-6e for patchwork@mira.cbaines.net; Fri, 16 Apr 2021 18:08:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46544) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXVj2-0005Hi-3B for guix-patches@gnu.org; Fri, 16 Apr 2021 17:10:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58497) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lXVj0-0004w2-EW for guix-patches@gnu.org; Fri, 16 Apr 2021 17:10:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lXVj0-0004ij-86 for guix-patches@gnu.org; Fri, 16 Apr 2021 17:10:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47829] [PATCH 1/4] gnu: racket: Move to (gnu packages racket). Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 16 Apr 2021 21:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 47829 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47829@debbugs.gnu.org Cc: Philip McGrath X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.161860734618067 (code B ref -1); Fri, 16 Apr 2021 21:10:02 +0000 Received: (at submit) by debbugs.gnu.org; 16 Apr 2021 21:09:06 +0000 Received: from localhost ([127.0.0.1]:41807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXVhy-0004gp-Hs for submit@debbugs.gnu.org; Fri, 16 Apr 2021 17:09:06 -0400 Received: from lists.gnu.org ([209.51.188.17]:34202) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXVhu-0004gf-MQ for submit@debbugs.gnu.org; Fri, 16 Apr 2021 17:08:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46382) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXVht-0003uI-LO for guix-patches@gnu.org; Fri, 16 Apr 2021 17:08:54 -0400 Received: from mail-qv1-xf2f.google.com ([2607:f8b0:4864:20::f2f]:40816) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lXVho-0004MO-C7 for guix-patches@gnu.org; Fri, 16 Apr 2021 17:08:51 -0400 Received: by mail-qv1-xf2f.google.com with SMTP id i3so8599994qvj.7 for ; Fri, 16 Apr 2021 14:08:47 -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=vOS6CjpUJzyNY3q8YZIDG515Y9asFqrR7SZc/L4RgSE=; b=KY7Z0anvswTCDGQ5j7wme5+FAv13/yAuU+boQEo1noLIA8IPCH09AAZZcTA964o/Ci mWpx6tF5eSl2FEVNpcYmRF/AlmBq39SqiE141zK94mfjFaGfco5CGIyHRGKfoa0iMAxW kaSF+Bhp0xBZgAmWgSpV8xI/lRrApd7foAENbowDZeoOl+pt8ILSKuFAEnDlt/9Kk+eq Ni+YkkMwfYL7C48SNHrSfCeWMw+AJWgK0Q2OYqH2XlhwUZ16DCgDWi1ojGA7sFwLAvBN 0+afIFy9XAyG6pStyKqMQ1XJ4S2W9B10f9e8gJxdQxI9dHEeUl8Wvdm/5ECpf63wxHRf Rtaw== 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=vOS6CjpUJzyNY3q8YZIDG515Y9asFqrR7SZc/L4RgSE=; b=kudUoMeLC4hvWwUeqZPb8lIYbOz/u00EfNwNfcZVw0pdsvJhUOfl/wVefjpxJw6ukh vwhhBSMIXu/d5gqHMVjSmqzx85Db8p7kHiLJ96Yqz44glSZ4FE5eNRZq+sipb8oCzxFv 6PAXXfRSBfrDPBJcu11XqD0ekvheFcGQAsyb7YbcQ8/aH+exdKpszpAwGLl3zgpmyHju j9U7TbDcTsXO5LzK5ESrOSimFIeoI44GgGaRFC7BJSFDOHh7cSEND6BMpddZ8NsYL6Zs pSwjZE+i3hlNdO2fCiXULeIUFOGfmiEx7QsQiRlr1q8bTlqOUkDgfG13g17Ldh3KcD5u aMug== X-Gm-Message-State: AOAM531aPTMqMI7XjwBMxbbBDe/KZ+TNa64dUgmI9vLSV/OZtAZjxnVk Xjp1Ukt8VOY9jKZwKzKLX6d15xlzKR9PINSjB8w= X-Google-Smtp-Source: ABdhPJzwhTtelMscroX0WC+XMPZg+QEoQ13LbS75V9f4JDWSkr9LASoMtgaDjf5BgWBD1LDvzHaF+A== X-Received: by 2002:a0c:c245:: with SMTP id w5mr10852980qvh.12.1618607326327; Fri, 16 Apr 2021 14:08:46 -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 f12sm4634328qti.63.2021.04.16.14.08.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Apr 2021 14:08:45 -0700 (PDT) From: Philip McGrath Date: Fri, 16 Apr 2021 17:08:22 -0400 Message-Id: <20210416210822.21536-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) MIME-Version: 1.0 Received-SPF: neutral client-ip=2607:f8b0:4864:20::f2f; envelope-from=philip@philipmcgrath.com; helo=mail-qv1-xf2f.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-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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/scheme.scm (racket,racket-minimal): Move to ... * gnu/packages/racket.scm: ... this new file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/racket.scm (racket)[synopsis]: Tweak. --- This package series does some internal reorganization of the `racket` and `racket-minimal` packages in anticipation of the upcoming Racket 8.1 release. The most important change is making `racket-minimal` the base package with `racket` as the variant, rather than vice versa. Following Racket's actual organization this way provides the right basis for further improvements (e.g. changing `racket` to use `racket-minimal` as an input), though those improvements should be easier after the 8.1 release. gnu/local.mk | 1 + gnu/packages/racket.scm | 242 ++++++++++++++++++++++++++++++++++++++++ gnu/packages/scheme.scm | 194 -------------------------------- 3 files changed, 243 insertions(+), 194 deletions(-) create mode 100644 gnu/packages/racket.scm diff --git a/gnu/local.mk b/gnu/local.mk index 50b11a8ca2..92ec4b4589 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -471,6 +471,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/toys.scm \ %D%/packages/tryton.scm \ %D%/packages/qt.scm \ + %D%/packages/racket.scm \ %D%/packages/radio.scm \ %D%/packages/ragel.scm \ %D%/packages/rails.scm \ diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm new file mode 100644 index 0000000000..925a6391f5 --- /dev/null +++ b/gnu/packages/racket.scm @@ -0,0 +1,242 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2020 Ludovic Courtès +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2020 Pierre Neidhardt +;;; Copyright © 2021 Philip McGrath +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages racket) + #:use-module ((guix licenses) + #:select (asl2.0 expat lgpl3+)) + #:use-module (guix packages) + #: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 (srfi srfi-1) + #:use-module (ice-9 match) + #:use-module (gnu packages) + #:use-module (gnu packages bash) + #:use-module ((gnu packages chez) + #:select (chez-scheme)) + #:use-module (gnu packages compression) + #:use-module (gnu packages databases) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages libedit) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages tls) + #:use-module (gnu packages xorg)) + +(define-public racket + (package + (name "racket") + (version "8.0") ; note: remember to also update racket-minimal! + (source (origin + (method url-fetch) + (uri (list (string-append "https://mirror.racket-lang.org/installers/" + version "/racket-src.tgz") + ;; this mirror seems to have broken HTTPS: + (string-append + "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" + version "/racket-src.tgz"))) + (sha256 + (base32 + "047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888")) + (patches (search-patches + "racket-sh-via-rktio.patch" + ;; TODO: If we're no longer patching Racket source + ;; files with store paths, we may also fix the + ;; issue that necessitated the following patch: + "racket-store-checksum-override.patch")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + `(,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" + (assoc-ref %build-inputs "sh") + "/bin/sh") + "--enable-libz" + "--enable-liblz4") + #:modules + ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-chez-configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "src/cs/c/Makefile.in" + (("/bin/sh") (which "sh"))) + ;; TODO: Racket CS uses a fork of Chez Scheme. + ;; Most of this is copy-pasted from the "chez.scm", + ;; but maybe there's a way to reuse more directly. + (with-directory-excursion "src/ChezScheme" + (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")))) + #t)) + (add-before 'configure 'pre-configure-minimal + (lambda* (#:key inputs #:allow-other-keys) + (chdir "src") + #t)) + (add-after 'build 'patch-config.rktd-lib-search-dirs + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; We do this between the `build` and `install` phases + ;; so that we have racket to read and write the hash table, + ;; but it comes before `raco setup`, when foreign libraries + ;; are needed to build the documentation. + (define out (assoc-ref outputs "out")) + (apply invoke + "./cs/c/racketcs" + "-e" + ,(format #f + "~s" + '(let* ((args + (vector->list + (current-command-line-arguments))) + (file (car args)) + (extra-lib-search-dirs (cdr args))) + (write-to-file + (hash-update + (file->value file) + 'lib-search-dirs + (lambda (dirs) + (append dirs extra-lib-search-dirs)) + null) + #:exists 'truncate/replace + file))) + "--" + "../etc/config.rktd" + (filter-map (lambda (lib) + (cond + ((assoc-ref inputs lib) + => (lambda (pth) + (string-append pth "/lib"))) + (else + #f))) + '("cairo" + "fontconfig" + "glib" + "glu" + "gmp" + "gtk+" + "libjpeg" + "libpng" + "libx11" + "mesa" + "mpfr" + "openssl" + "pango" + "sqlite" + "unixodbc" + "libedit"))) + #t))) + ;; XXX: how to run them? + #:tests? #f)) + (inputs + `(;; sqlite and libraries for `racket/draw' are needed to build the doc. + ("sh" ,bash-minimal) + ("zlib" ,zlib) + ("zlib:static" ,zlib "static") + ("lz4" ,lz4) + ("lz4:static" ,lz4 "static") + ("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("glib" ,glib) + ("glu" ,glu) + ("gmp" ,gmp) + ("gtk+" ,gtk+) ; propagates gdk-pixbuf+svg + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libx11" ,libx11) + ("mesa" ,mesa) + ("mpfr" ,mpfr) + ("openssl" ,openssl) + ("pango" ,pango) + ("sqlite" ,sqlite) + ("unixodbc" ,unixodbc) + ("libedit" ,libedit))) + (home-page "https://racket-lang.org") + (synopsis "A programmable programming language in the Scheme family") + (description + "Racket is a general-purpose programming language in the Scheme family, +with a large set of libraries and a compiler based on Chez Scheme. Racket is +also a platform for language-oriented programming, from small domain-specific +languages to complete language implementations. + +The main Racket distribution comes with many bundled packages, including the +DrRacket IDE, libraries for GUI and web programming, and implementations of +languages such as Typed Racket, R5RS and R6RS Scheme, Algol 60, and Datalog.") + ;; https://download.racket-lang.org/license.html + (license (list lgpl3+ asl2.0 expat)))) + +(define-public racket-minimal + (package + (inherit racket) + (name "racket-minimal") + (version (package-version racket)) + (source + (origin + (inherit (package-source racket)) + (uri (list (string-append "https://mirror.racket-lang.org/installers/" + version "/racket-minimal-src.tgz") + ;; this mirror seems to have broken HTTPS: + (string-append + "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" + version "/racket-minimal-src.tgz"))) + (sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21"))) + (synopsis "Racket without bundled packages such as DrRacket") + (inputs + `(("openssl" ,openssl) + ("sqlite" ,sqlite) + ("sh" ,bash-minimal) + ("zlib" ,zlib) + ("zlib:static" ,zlib "static") + ("lz4" ,lz4) + ("lz4:static" ,lz4 "static"))) + (description + "Racket is a general-purpose programming language in the Scheme family, +with a large set of libraries and a compiler based on Chez Scheme. Racket is +also a platform for language-oriented programming, from small domain-specific +languages to complete language implementations. + +The ``minimal Racket'' distribution includes just enough of Racket for you to +use @command{raco pkg} to install more. Bundled packages, such as the +DrRacket IDE, are not included."))) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index b5d526bfc3..23de98fb2e 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -397,200 +397,6 @@ implementation techniques and as an expository tool.") ;; Most files are BSD-3; see COPYING for the few exceptions. (license bsd-3))) -(define-public racket - (package - (name "racket") - (version "8.0") ; note: remember to also update racket-minimal! - (source (origin - (method url-fetch) - (uri (list (string-append "https://mirror.racket-lang.org/installers/" - version "/racket-src.tgz") - ;; this mirror seems to have broken HTTPS: - (string-append - "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - version "/racket-src.tgz"))) - (sha256 - (base32 - "047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888")) - (patches (search-patches - "racket-sh-via-rktio.patch" - ;; TODO: If we're no longer patching Racket source - ;; files with store paths, we may also fix the - ;; issue that necessitated the following patch: - "racket-store-checksum-override.patch")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags - `(,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" - (assoc-ref %build-inputs "sh") - "/bin/sh") - "--enable-libz" - "--enable-liblz4") - #:modules - ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-chez-configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "src/cs/c/Makefile.in" - (("/bin/sh") (which "sh"))) - ;; TODO: Racket CS uses a fork of Chez Scheme. - ;; Most of this is copy-pasted from the "chez.scm", - ;; but maybe there's a way to reuse more directly. - (with-directory-excursion "src/ChezScheme" - (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")))) - #t)) - (add-before 'configure 'pre-configure-minimal - (lambda* (#:key inputs #:allow-other-keys) - (chdir "src") - #t)) - (add-after 'build 'patch-config.rktd-lib-search-dirs - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; We do this between the `build` and `install` phases - ;; so that we have racket to read and write the hash table, - ;; but it comes before `raco setup`, when foreign libraries - ;; are needed to build the documentation. - (define out (assoc-ref outputs "out")) - (apply invoke - "./cs/c/racketcs" - "-e" - ,(format #f - "~s" - '(let* ((args - (vector->list - (current-command-line-arguments))) - (file (car args)) - (extra-lib-search-dirs (cdr args))) - (write-to-file - (hash-update - (file->value file) - 'lib-search-dirs - (lambda (dirs) - (append dirs extra-lib-search-dirs)) - null) - #:exists 'truncate/replace - file))) - "--" - "../etc/config.rktd" - (filter-map (lambda (lib) - (cond - ((assoc-ref inputs lib) - => (lambda (pth) - (string-append pth "/lib"))) - (else - #f))) - '("cairo" - "fontconfig" - "glib" - "glu" - "gmp" - "gtk+" - "libjpeg" - "libpng" - "libx11" - "mesa" - "mpfr" - "openssl" - "pango" - "sqlite" - "unixodbc" - "libedit"))) - #t))) - ;; XXX: how to run them? - #:tests? #f)) - (inputs - `(;; sqlite and libraries for `racket/draw' are needed to build the doc. - ("sh" ,bash-minimal) - ("zlib" ,zlib) - ("zlib:static" ,zlib "static") - ("lz4" ,lz4) - ("lz4:static" ,lz4 "static") - ("cairo" ,cairo) - ("fontconfig" ,fontconfig) - ("glib" ,glib) - ("glu" ,glu) - ("gmp" ,gmp) - ("gtk+" ,gtk+) ; propagates gdk-pixbuf+svg - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("mesa" ,mesa) - ("mpfr" ,mpfr) - ("openssl" ,openssl) - ("pango" ,pango) - ("sqlite" ,sqlite) - ("unixodbc" ,unixodbc) - ("libedit" ,libedit))) - (home-page "https://racket-lang.org") - (synopsis "Implementation of Scheme and related languages") - (description - "Racket is a general-purpose programming language in the Scheme family, -with a large set of libraries and a compiler based on Chez Scheme. Racket is -also a platform for language-oriented programming, from small domain-specific -languages to complete language implementations. - -The main Racket distribution comes with many bundled packages, including -the DrRacket IDE, libraries for GUI and web programming, and implementations -of languages such as Typed Racket, R5RS and R6RS Scheme, and Datalog.") - ;; https://download.racket-lang.org/license.html - (license (list lgpl3+ asl2.0 expat)))) - -(define-public racket-minimal - (package - (inherit racket) - (name "racket-minimal") - (version (package-version racket)) - (source - (origin - (inherit (package-source racket)) - (uri (list (string-append "https://mirror.racket-lang.org/installers/" - version "/racket-minimal-src.tgz") - ;; this mirror seems to have broken HTTPS: - (string-append - "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - version "/racket-minimal-src.tgz"))) - (sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21"))) - (synopsis "Racket without bundled packages such as Dr. Racket") - (inputs - `(("openssl" ,openssl) - ("sqlite" ,sqlite) - ("sh" ,bash-minimal) - ("zlib" ,zlib) - ("zlib:static" ,zlib "static") - ("lz4" ,lz4) - ("lz4:static" ,lz4 "static"))) - (description - "Racket is a general-purpose programming language in the Scheme family, -with a large set of libraries and a compiler based on Chez Scheme. Racket is -also a platform for language-oriented programming, from small domain-specific -languages to complete language implementations. - -The ``minimal Racket'' distribution includes just enough of Racket for you to -use @command{raco pkg} to install more. Bundled packages, such as the -Dr. Racket IDE, are not included."))) - (define-public gambit-c (package (name "gambit-c") From patchwork Fri Apr 16 21:11:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 28594 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4F6EC27BC77; Fri, 16 Apr 2021 23:09:21 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id AF60827BC6C for ; Fri, 16 Apr 2021 23:09:17 +0100 (BST) Received: from localhost ([::1]:41650 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXWeK-0003T7-St for patchwork@mira.cbaines.net; Fri, 16 Apr 2021 18:09:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46996) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXVlu-0001IN-J7 for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58509) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lXVlu-0006Wk-5A for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lXVlt-0004ni-VP for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47829] [PATCH 2/4] gnu: racket: Remove obsolete patch. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 16 Apr 2021 21:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47829 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47829@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 47829-submit@debbugs.gnu.org id=B47829.161860752418362 (code B ref 47829); Fri, 16 Apr 2021 21:13:01 +0000 Received: (at 47829) by debbugs.gnu.org; 16 Apr 2021 21:12:04 +0000 Received: from localhost ([127.0.0.1]:41816 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXVky-0004m6-2T for submit@debbugs.gnu.org; Fri, 16 Apr 2021 17:12:04 -0400 Received: from mail-qk1-f175.google.com ([209.85.222.175]:35824) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXVkw-0004lc-SD for 47829@debbugs.gnu.org; Fri, 16 Apr 2021 17:12:03 -0400 Received: by mail-qk1-f175.google.com with SMTP id h13so11667745qka.2 for <47829@debbugs.gnu.org>; Fri, 16 Apr 2021 14:12:02 -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=FeAVo5hGbHMT8sZ/38LcvtAxvqiMojxBkiZuTpieLOU=; b=QYhwiUvc6T1rE9DwjlBZcJW9BEdGpcxFHUIQSXbXht6ZT5oQfFFhTFAxs3pKhxp+fo sGlWzvpB5pg+r2q5+MJdvC9r7IIE3dLAyi1gHGeWuYaQU6wgxuiyqDU7+YacpJhrBch4 Lo5Aa04Nv8voHtOgiLRdFiNvv7piTPPFEZwRiUfFaa6GtlPT+DNH+AHnx77yqCwVPDzz 4XWfG7DFjqFrvLKmU7/9zUxwT92w4TUEhhUYH7LfDy0+/UXp4DDu/RVNXTotwuv/kKok PCLFGa0l624HdupAxByvGl82l++oZecKH4XsssgNY+ElYeSyLBT4GJE4YQIGfQmkAgfE OsiQ== 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=FeAVo5hGbHMT8sZ/38LcvtAxvqiMojxBkiZuTpieLOU=; b=BFjrRSsLUxrPpMOKjd/rw/2Xy6uND5WvIhWlzPBZZhtAKvCPus8bJ2RtEprQTjBZKE Sv9ZSUBv6YhOfB3IT8DOv/jaMv783LASATexux1s0wcawBgFhqK3TIHVoHeTI9gb7R5K UHCIi0S5PtWKgCyYMCneb/yLhsxM76Gxncd0b/huqg+S3dn7VuJzP5TKKTA4mGzWEaLG G3GZT0T10fv9pErqr0V2wogz6gu3XdMVts8KzM/feDqasuFMzbgM/MPe1izJVXUsdMvS QzFInBE+EBtA6dHBpcwgY8vZvJIG+d8PD17Hl2nHqKX4BjlZnJdbBMEa84LKNTWuC/vz /0pw== X-Gm-Message-State: AOAM532kDRREOPOCsck5kl+QjpBQr3uzQc7iyIoJx4v0HbPIOvq6DvGL jwl2Y75qEY/pANv/0ziPOPXNArfWcnqp1A2uY/s= X-Google-Smtp-Source: ABdhPJzcQqfycG4m542plM16tWu+wT1l+eVEX2bOkTGtSPSYeRXT2ikeTIdRlaUb0AQ9ISqdy521Nw== X-Received: by 2002:ae9:e8d5:: with SMTP id a204mr1168655qkg.409.1618607516860; Fri, 16 Apr 2021 14:11:56 -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 q15sm4389011qtx.47.2021.04.16.14.11.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Apr 2021 14:11:56 -0700 (PDT) From: Philip McGrath Date: Fri, 16 Apr 2021 17:11:37 -0400 Message-Id: <20210416211139.21825-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20210416210822.21536-1-philip@philipmcgrath.com> References: <20210416210822.21536-1-philip@philipmcgrath.com> MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/racket.scm (racket)[source](patches): Remove "racket-store-checksum-override.patch", which is no longer needed since we stopped injecting store paths into Racket files in commit 834aa48: see . * gnu/packages/patches/racket-store-checksum-override.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../racket-store-checksum-override.patch | 42 ------------------- gnu/packages/racket.scm | 6 +-- 3 files changed, 1 insertion(+), 48 deletions(-) delete mode 100644 gnu/packages/patches/racket-store-checksum-override.patch diff --git a/gnu/local.mk b/gnu/local.mk index 92ec4b4589..26c93885ef 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1642,7 +1642,6 @@ dist_patch_DATA = \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/racket-sh-via-rktio.patch \ - %D%/packages/patches/racket-store-checksum-override.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ %D%/packages/patches/rnp-add-version.cmake.patch \ diff --git a/gnu/packages/patches/racket-store-checksum-override.patch b/gnu/packages/patches/racket-store-checksum-override.patch deleted file mode 100644 index 6c4ebcf022..0000000000 --- a/gnu/packages/patches/racket-store-checksum-override.patch +++ /dev/null @@ -1,42 +0,0 @@ -Racket uses checksums to test if it needs to recompile its source -files to bytecode. If Racket is updated by grafting, the source and -bytecode files get updated, but the checksum stays the same. Since -the checksum no longer matches the source file, Racket tries to -regenerate the bytecode and write it to the store, causing errors -because the store is immutable. This patch makes Racket ignore -checksums for files in the store. - -See for details. - ---- ---- a/collects/compiler/private/cm-minimal.rkt -+++ b/collects/compiler/private/cm-minimal.rkt -@@ -6,6 +6,7 @@ - racket/list - racket/path - racket/promise -+ racket/string - file/sha1 - setup/cross-system - compiler/compilation-path -@@ -268,7 +269,8 @@ - (trace-printf "newer src... ~a > ~a" path-time path-zo-time) - (maybe-compile-zo deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen - #:trying-sha1? sha1-only?)] -- [(different-source-sha1-and-dep-recorded path deps) -+ [(and (not (store-reference? path)) -+ (different-source-sha1-and-dep-recorded path deps)) - => (lambda (difference) - (trace-printf "different src hash ~a for ~a..." difference path) - (maybe-compile-zo deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen -@@ -1012,5 +1014,9 @@ - #f - (list src-hash recorded-hash))) - -+(define (store-reference? path) -+ (let ([store-prefix (or (getenv "NIX_STORE") "/gnu/store")]) -+ (string-prefix? (path->string path) store-prefix))) -+ - ;; Make sure `recompile-from` is machine-independent so that - ;; recompilation makes sense. - ;; The compilation lock must is held for the source of `recompile-from`. \ No newline at end of file diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 925a6391f5..6cb72e592c 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -63,11 +63,7 @@ (base32 "047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888")) (patches (search-patches - "racket-sh-via-rktio.patch" - ;; TODO: If we're no longer patching Racket source - ;; files with store paths, we may also fix the - ;; issue that necessitated the following patch: - "racket-store-checksum-override.patch")))) + "racket-sh-via-rktio.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags From patchwork Fri Apr 16 21:11:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 28595 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B958A27BC77; Fri, 16 Apr 2021 23:22:20 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2B05527BC6C for ; Fri, 16 Apr 2021 23:22:20 +0100 (BST) Received: from localhost ([::1]:49634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXWqx-0001tX-Dj for patchwork@mira.cbaines.net; Fri, 16 Apr 2021 18:22:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46998) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXVlu-0001JC-RQ for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58510) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lXVlu-0006X5-IR for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lXVlu-0004np-Dc for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47829] [PATCH 3/4] gnu: racket: Racket inherits racket-minimal, not vice versa. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 16 Apr 2021 21:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47829 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47829@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 47829-submit@debbugs.gnu.org id=B47829.161860753418387 (code B ref 47829); Fri, 16 Apr 2021 21:13:02 +0000 Received: (at 47829) by debbugs.gnu.org; 16 Apr 2021 21:12:14 +0000 Received: from localhost ([127.0.0.1]:41819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXVl7-0004mU-GP for submit@debbugs.gnu.org; Fri, 16 Apr 2021 17:12:14 -0400 Received: from mail-qv1-f53.google.com ([209.85.219.53]:46657) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXVl4-0004mE-Ps for 47829@debbugs.gnu.org; Fri, 16 Apr 2021 17:12:11 -0400 Received: by mail-qv1-f53.google.com with SMTP id h3so13375427qve.13 for <47829@debbugs.gnu.org>; Fri, 16 Apr 2021 14:12:10 -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=np6yck9ReyKkUkJHBjECry7Gct7qnjrKAfYWZooji6I=; b=LVJq4ZhfrEuDRH+85x1h9cU/jogKC7h8Thh0wovl+s2OXj5Bz+VCb6m0Qdn9ITKo3g oH57nfzSjE8wGxTsCqu/tWhhVymmDa16ruOBMYLBK6/eURSuxb9i0n3/d8UQMK3Yidv/ RIDs1ndkNnpX98ZzW7xrQFfvXj7EXFP6yosfshaFmJEYWQoN1pCgzUbt6lFrZyYXYCOF Eo/oPI1b2BwzW6PxcDup/HR6vAEBW9Ky102JiviRCe212xIM0kZPLXsZr08J1eEW/2HM d3KLQoTbiph93vs1yMcNXoEkrRvX/D9Hv0i7H/JUkoR7JhOVawCYTsRXwohqaRSYjAZY fpwA== 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=np6yck9ReyKkUkJHBjECry7Gct7qnjrKAfYWZooji6I=; b=si8LzPM1h3XT34zdoA9mOYelP+w5ag1DZ+viQO7ZR914t8nyeVQe90WYzhaLs3M2qS njWzS6MgwhMq5O0Zn7yOUKJGXnObq46C5XsFUDrOgCAz6gv+7dlb904hVhJ9DGZgP1y7 +IcrmvoyLQVWSbAHs1v5FQ3YVR3qj4FMrek9oM1PFtCYqfsWOBjpqpGLPMGhAtCMeGHx 0oEYq5L9OXXjnfvlrgyiyRbKGw4S4d1ZgAoq44sZXhTEulU2m2hGVi4i0D4Qluzzd/qh 2qwZFkJGLny1SHJ0mlTtge1LPAYqwFcO6KicUeq+bj5lGqvH8D8VWIefXgmjdrrz8S58 cnZw== X-Gm-Message-State: AOAM532FoKNaHcvz2EIZZcqr9/Ra0o4DY/MUvCQcMNzDG+VM6evp8bhd tzdWhFncQ/R35NGARgTSm9EpMBts9SYMgNzIrrw= X-Google-Smtp-Source: ABdhPJyqLsNDmeVndMrFLdEawQFbglR3Bi7LsjDfXcZPvQI/0KjD7s8mQrmVVnx1oIyOMq0RkxXytg== X-Received: by 2002:ad4:4511:: with SMTP id k17mr8187164qvu.44.1618607524970; Fri, 16 Apr 2021 14:12:04 -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 k17sm4492374qtp.26.2021.04.16.14.12.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Apr 2021 14:12:04 -0700 (PDT) From: Philip McGrath Date: Fri, 16 Apr 2021 17:11:38 -0400 Message-Id: <20210416211139.21825-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20210416211139.21825-1-philip@philipmcgrath.com> References: <20210416210822.21536-1-philip@philipmcgrath.com> <20210416211139.21825-1-philip@philipmcgrath.com> MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches By design, the `racket` package is equivalent to 'racket-minimal' plus 'raco pkg install -i main-distribution'. This switch brings the Guix packages a small step closer to that goal. * gnu/packages/racket.scm (racket-minimal, racket): Change 'racket-minimal' to be the base package and 'racket' to inherit from it. Move 'version', 'patches', 'home-page', 'build-system', 'arguments', and 'license' to 'racket-minimal'. * gnu/packages/racket.scm (racket)[inputs]: Rather than copy and pasting, use '(package-inputs racket-minimal)'. --- gnu/packages/racket.scm | 123 ++++++++++++++++++++-------------------- 1 file changed, 60 insertions(+), 63 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 6cb72e592c..73e00240de 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -47,23 +47,32 @@ #:use-module (gnu packages tls) #:use-module (gnu packages xorg)) -(define-public racket +(define-public racket-minimal (package - (name "racket") - (version "8.0") ; note: remember to also update racket-minimal! - (source (origin - (method url-fetch) - (uri (list (string-append "https://mirror.racket-lang.org/installers/" - version "/racket-src.tgz") - ;; this mirror seems to have broken HTTPS: - (string-append - "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - version "/racket-src.tgz"))) - (sha256 - (base32 - "047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888")) - (patches (search-patches - "racket-sh-via-rktio.patch")))) + (name "racket-minimal") + (version "8.0") ; note: remember to also update racket! + (source + (origin + (method url-fetch) + (uri (list (string-append "https://mirror.racket-lang.org/installers/" + version "/racket-minimal-src.tgz") + ;; this mirror seems to have broken HTTPS: + (string-append + "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" + version "/racket-minimal-src.tgz"))) + (sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21") + (patches (search-patches + "racket-sh-via-rktio.patch")))) + (home-page "https://racket-lang.org") + (synopsis "Racket without bundled packages such as DrRacket") + (inputs + `(("openssl" ,openssl) + ("sqlite" ,sqlite) + ("sh" ,bash-minimal) + ("zlib" ,zlib) + ("zlib:static" ,zlib "static") + ("lz4" ,lz4) + ("lz4:static" ,lz4 "static"))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -164,15 +173,41 @@ "unixodbc" "libedit"))) #t))) - ;; XXX: how to run them? + ;; Tests are in packages like racket-test-core and + ;; main-distribution-test that aren't part of the main distribution. #:tests? #f)) + (description + "Racket is a general-purpose programming language in the Scheme family, +with a large set of libraries and a compiler based on Chez Scheme. Racket is +also a platform for language-oriented programming, from small domain-specific +languages to complete language implementations. + +The ``minimal Racket'' distribution includes just enough of Racket for you to +use @command{raco pkg} to install more. Bundled packages, such as the +DrRacket IDE, are not included.") + ;; https://download.racket-lang.org/license.html + (license (list lgpl3+ asl2.0 expat)))) + + +(define-public racket + (package/inherit + racket-minimal + (name "racket") + (version (package-version racket-minimal)) ; needed for origin uri to work + (source + (origin + (inherit (package-source racket-minimal)) + (uri (list (string-append "https://mirror.racket-lang.org/installers/" + version "/racket-src.tgz") + ;; this mirror seems to have broken HTTPS: + (string-append + "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" + version "/racket-src.tgz"))) + (sha256 + (base32 + "047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888")))) (inputs `(;; sqlite and libraries for `racket/draw' are needed to build the doc. - ("sh" ,bash-minimal) - ("zlib" ,zlib) - ("zlib:static" ,zlib "static") - ("lz4" ,lz4) - ("lz4:static" ,lz4 "static") ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("glib" ,glib) @@ -184,12 +219,10 @@ ("libx11" ,libx11) ("mesa" ,mesa) ("mpfr" ,mpfr) - ("openssl" ,openssl) ("pango" ,pango) - ("sqlite" ,sqlite) ("unixodbc" ,unixodbc) - ("libedit" ,libedit))) - (home-page "https://racket-lang.org") + ("libedit" ,libedit) + ,@(package-inputs racket-minimal))) (synopsis "A programmable programming language in the Scheme family") (description "Racket is a general-purpose programming language in the Scheme family, @@ -199,40 +232,4 @@ languages to complete language implementations. The main Racket distribution comes with many bundled packages, including the DrRacket IDE, libraries for GUI and web programming, and implementations of -languages such as Typed Racket, R5RS and R6RS Scheme, Algol 60, and Datalog.") - ;; https://download.racket-lang.org/license.html - (license (list lgpl3+ asl2.0 expat)))) - -(define-public racket-minimal - (package - (inherit racket) - (name "racket-minimal") - (version (package-version racket)) - (source - (origin - (inherit (package-source racket)) - (uri (list (string-append "https://mirror.racket-lang.org/installers/" - version "/racket-minimal-src.tgz") - ;; this mirror seems to have broken HTTPS: - (string-append - "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - version "/racket-minimal-src.tgz"))) - (sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21"))) - (synopsis "Racket without bundled packages such as DrRacket") - (inputs - `(("openssl" ,openssl) - ("sqlite" ,sqlite) - ("sh" ,bash-minimal) - ("zlib" ,zlib) - ("zlib:static" ,zlib "static") - ("lz4" ,lz4) - ("lz4:static" ,lz4 "static"))) - (description - "Racket is a general-purpose programming language in the Scheme family, -with a large set of libraries and a compiler based on Chez Scheme. Racket is -also a platform for language-oriented programming, from small domain-specific -languages to complete language implementations. - -The ``minimal Racket'' distribution includes just enough of Racket for you to -use @command{raco pkg} to install more. Bundled packages, such as the -DrRacket IDE, are not included."))) +languages such as Typed Racket, R5RS and R6RS Scheme, Algol 60, and Datalog."))) From patchwork Fri Apr 16 21:11:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 28596 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1D19527BC77; Fri, 16 Apr 2021 23:22:31 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 9558127BC6C for ; Fri, 16 Apr 2021 23:22:30 +0100 (BST) Received: from localhost ([::1]:49864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXWr7-0001zG-SN for patchwork@mira.cbaines.net; Fri, 16 Apr 2021 18:22:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47000) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXVlv-0001KJ-AZ for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58511) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lXVlv-0006Xh-1Z for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lXVlu-0004nw-TE for guix-patches@gnu.org; Fri, 16 Apr 2021 17:13:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47829] [PATCH 4/4] gnu: racket: Add aditional mirrors. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 16 Apr 2021 21:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47829 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47829@debbugs.gnu.org Cc: Philip McGrath Received: via spool by 47829-submit@debbugs.gnu.org id=B47829.161860754318408 (code B ref 47829); Fri, 16 Apr 2021 21:13:02 +0000 Received: (at 47829) by debbugs.gnu.org; 16 Apr 2021 21:12:23 +0000 Received: from localhost ([127.0.0.1]:41822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXVlC-0004mk-5p for submit@debbugs.gnu.org; Fri, 16 Apr 2021 17:12:23 -0400 Received: from mail-qk1-f179.google.com ([209.85.222.179]:39892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXVl9-0004mJ-JX for 47829@debbugs.gnu.org; Fri, 16 Apr 2021 17:12:16 -0400 Received: by mail-qk1-f179.google.com with SMTP id e13so20492611qkl.6 for <47829@debbugs.gnu.org>; Fri, 16 Apr 2021 14:12:15 -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=6Wz4HOCoHktVdM2b0TNtMsnYKwhzubkcPolZaYmZJhk=; b=FiDNIlTk7DjMgXB2wLXlkOjivSnP36W+fU2RfM6GuGz+dRbdA39KS+Dq4I3SlrA+Eq rc91FL+jx29fnSvQ6+aCeCSkleGucP2hkiEaJqtR7dAwUzkJKeuO8jxUFgV1MsQq9hu/ GOA+JdamoOT+142l+a/37otcY606o7lYllBMTukviMgW9BT5jxTMkX8354JGMC5Iy+DV DV0fkq0tedhnfLxNNc72lWhlJwlIWKGGAQppRPQhsOWhv1Mw0U7EaYuX2H35eqg8YBs+ vw4SvGtuF1o7mD/QLEQ7HTgPAJ8wezRiRVX3eGDUcp0+3JAwG13epBybXVF1OtNeF38C O1lg== 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=6Wz4HOCoHktVdM2b0TNtMsnYKwhzubkcPolZaYmZJhk=; b=ndda00oaI091FlLm4OUBKLei0zYu2vW9QdxuI/3vf+YLlioEgJfWNhmpfQlL2GKVvo fAnfrdSjvN/5zZRvc98suTAw9DWaKSfpKwfifjT16CquPgicsfzy6MNN71JOhRluSP1W vxEHYMOwYtA3i2OwAW6UzX2+OY06idAtag1DUhSvx4sdECMvEL0qZBoQyVm/YTuvyb7U HjNMiQxr0HekbAQLh6vnPhh8j7ArBVjPeARLE9/AQSLF3d62prXecC4UZp8QAsPkbUyp Krm2Hes2GihLkN+wcyoNsvzivg88QjGZRxapXWeu1smCyPn27x8P7kdL4rKpPFV1x+o3 A1jQ== X-Gm-Message-State: AOAM531e8u35czhelUOIK6sAYoepSh4aB3Sc2C013QXQX3tbON/WO9oJ loDlAlNyVyGy6o7ILhN5X3lwmJ9v+l72yUKNIAw= X-Google-Smtp-Source: ABdhPJw8TRj3e68wgfsUBxtteVmKbcqfrMCl3yV2f8Nsr+FXDOBWKKrh5Jq2IIiS/7GYucOxXbTitg== X-Received: by 2002:a37:42cb:: with SMTP id p194mr1142678qka.213.1618607529826; Fri, 16 Apr 2021 14:12:09 -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 d62sm5093864qkg.55.2021.04.16.14.12.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Apr 2021 14:12:09 -0700 (PDT) From: Philip McGrath Date: Fri, 16 Apr 2021 17:11:39 -0400 Message-Id: <20210416211139.21825-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20210416211139.21825-1-philip@philipmcgrath.com> References: <20210416210822.21536-1-philip@philipmcgrath.com> <20210416211139.21825-1-philip@philipmcgrath.com> MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/racket.scm (racket-minimal, racket)[source](uri): Lift base urls into a new internal variable, '%installer-mirrors'. Add mirrors at the University of Utah, Northwestern University, the University of Waterloo, and Vrije Universiteit Brussel (Infogroep). --- gnu/packages/racket.scm | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 73e00240de..f2bbf28564 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -47,6 +47,22 @@ #:use-module (gnu packages tls) #:use-module (gnu packages xorg)) + +(define %installer-mirrors + ;; Source: + ;; https://github.com/racket/racket-lang-org/blob/master/download/data.rkt#L58 + ;; Matthew Flatt says: "note that many are commented out" + ;; INVARIANT: End with a trailing "/"! + '("https://mirror.racket-lang.org/installers/" + "https://www.cs.utah.edu/plt/installers/" + "https://plt.cs.northwestern.edu/racket-mirror/" + "https://mirror.csclub.uwaterloo.ca/racket/racket-installers/" + ;; Universität Tübingen is using a self-signed HTTPS certificate: + "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" + "https://racket.infogroep.be/" + )) + + (define-public racket-minimal (package (name "racket-minimal") @@ -54,12 +70,9 @@ (source (origin (method url-fetch) - (uri (list (string-append "https://mirror.racket-lang.org/installers/" - version "/racket-minimal-src.tgz") - ;; this mirror seems to have broken HTTPS: - (string-append - "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - version "/racket-minimal-src.tgz"))) + (uri (map (lambda (base) + (string-append base version "/racket-minimal-src.tgz")) + %installer-mirrors)) (sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21") (patches (search-patches "racket-sh-via-rktio.patch")))) @@ -197,12 +210,9 @@ DrRacket IDE, are not included.") (source (origin (inherit (package-source racket-minimal)) - (uri (list (string-append "https://mirror.racket-lang.org/installers/" - version "/racket-src.tgz") - ;; this mirror seems to have broken HTTPS: - (string-append - "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - version "/racket-src.tgz"))) + (uri (map (lambda (base) + (string-append base version "/racket-src.tgz")) + %installer-mirrors)) (sha256 (base32 "047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888"))))