From patchwork Tue Mar 2 00:43:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 27405 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 BAC7627BC4E; Tue, 2 Mar 2021 02:03:07 +0000 (GMT) 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_H3,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 DD37827BC4F for ; Tue, 2 Mar 2021 02:03:06 +0000 (GMT) Received: from localhost ([::1]:47768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lGuNN-0002nB-VH for patchwork@mira.cbaines.net; Mon, 01 Mar 2021 21:03:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58958) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lGtFe-0005hP-LL for guix-patches@gnu.org; Mon, 01 Mar 2021 19:51:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:39679) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lGtFe-0005bT-BI for guix-patches@gnu.org; Mon, 01 Mar 2021 19:51:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lGtFe-0006Un-9X for guix-patches@gnu.org; Mon, 01 Mar 2021 19:51:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#46865] [PATCH] gnu: racket: update to 8.0. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 02 Mar 2021 00:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 46865 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 46865@debbugs.gnu.org Cc: Philip McGrath X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.161464621324910 (code B ref -1); Tue, 02 Mar 2021 00:51:02 +0000 Received: (at submit) by debbugs.gnu.org; 2 Mar 2021 00:50:13 +0000 Received: from localhost ([127.0.0.1]:51225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGtEn-0006Tb-Cv for submit@debbugs.gnu.org; Mon, 01 Mar 2021 19:50:13 -0500 Received: from lists.gnu.org ([209.51.188.17]:55380) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGt8J-0006Jc-HQ for submit@debbugs.gnu.org; Mon, 01 Mar 2021 19:43:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:57804) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lGt8J-0004jU-80 for guix-patches@gnu.org; Mon, 01 Mar 2021 19:43:27 -0500 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]:44023) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lGt8G-0002CG-Va for guix-patches@gnu.org; Mon, 01 Mar 2021 19:43:26 -0500 Received: by mail-qt1-x831.google.com with SMTP id b3so13564635qtj.10 for ; Mon, 01 Mar 2021 16:43:23 -0800 (PST) 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=wMpgZcgUsMiTuLQBeMPP7wujh9NM6XO9us/IllmHMIg=; b=QXcpO4CSfUNdSPc7spWyImfGjRdC2ZyBhu49cYv2XcflSX1RmGvYMrdWJvYE/eMNot iwJstDM928wuWxcOiYgMTECgjlRV54K9czlT7AOi07m8UOQV7cLoP/SngndvXL8L/RuX 5qQoYgY8Yt99gh2li9cJjndA6oSPcuAG2VbtTvaf0V3LfZ3vCP9WzemqVPbMYRCvQcoM sXeEaoUdYMlgSgeAVUF3BPd08sJVbWcA8ZIpDnoSljaKjPeYA+MHGH8I7R+R7uSdzqTr eTBELNcf0NYFBgkg6nzmec7x7tIqRyG0TTqElfS4eZYMaNglenVtrEfQtdQ1+AgMBetj NDsQ== 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=wMpgZcgUsMiTuLQBeMPP7wujh9NM6XO9us/IllmHMIg=; b=MOt4GAmy/5NSfAX7kSRZ/BxEUIDpM74IOHlqCyRDd/8GAJRg646ec1Azpun7+Mte5L VCbdOlxLykqDN6AAQ5q07UuxU5Xbuor0LPWROtkub2PRGNapHeWIoWnnrkGIM5fejTiG cbU/cDQJ7ah4rYy64G5rCLLeagEnPIi3AOPdZvCJCuNLZOmprenvC5LzgHa8Ss5ZtVnx vyzAobzhO2GltzCZjpSbVo2sO7+iutv6DtItzCM48LLTByS8dI1EhpXXwjuLcbVoum6C Mvc1ebkAulvipYQV8Hj/qQT84QzEtKyI0fpFSafP8E+qbRZdFVNnuKzx5h5h76fkvwTO E65Q== X-Gm-Message-State: AOAM531beNs2JCR0CsszpwqXvuuv4XvO/7HETMsQDKLvyzhIm/XkDa8f x8+pAT6RrHnz/odBcXnEZC3lIciuqDS+Z9Aa X-Google-Smtp-Source: ABdhPJwUCu/RRGhfTGPDY8/1NnBkbjmEc8zlfXicKxV8gFvHmTLH7C8c+avO/ge0L0EH0xArKPzC3g== X-Received: by 2002:ac8:5d50:: with SMTP id g16mr15770793qtx.321.1614645802555; Mon, 01 Mar 2021 16:43:22 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id l65sm13977256qkf.113.2021.03.01.16.43.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Mar 2021 16:43:22 -0800 (PST) From: Philip McGrath Date: Mon, 1 Mar 2021 19:43:18 -0500 Message-Id: <20210302004318.26523-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::831; envelope-from=philip@philipmcgrath.com; helo=mail-qt1-x831.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-Mailman-Approved-At: Mon, 01 Mar 2021 19:50:08 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Mailman-Approved-At: Mon, 01 Mar 2021 21:01:33 -0500 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): Update to 8.0. --- gnu/packages/scheme.scm | 98 +++++++++++++++++++++++++++++------------ 1 file changed, 71 insertions(+), 27 deletions(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 6c30ed8bf6..10be0aa28a 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -398,22 +398,26 @@ implementation techniques and as an expository tool.") (define-public racket (package (name "racket") - (version "7.9") ; note: remember to also update racket-minimal! + (version "8.0") ; note: remember to also update racket-minimal! (source (origin (method url-fetch) - (uri (list (string-append "http://mirror.racket-lang.org/installers/" - version "/racket-" version "-src.tgz") + (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-" version "-src.tgz"))) + version "/racket-src.tgz"))) (sha256 (base32 - "0gmp2ahmfd97nn9bwpfx9lznjmjkd042slnrrbdmyh59cqh98y2m")) + "047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888")) (patches (search-patches "racket-store-checksum-override.patch")))) (build-system gnu-build-system) (arguments - '(#:phases + '(#:configure-flags + '("--enable-libz" + "--enable-liblz4") + #:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure-minimal (lambda* (#:key inputs #:allow-other-keys) @@ -493,13 +497,45 @@ implementation techniques and as an expository tool.") (lambda _ (substitute* "collects/racket/system.rkt" (("/bin/sh") (which "sh"))) - #t))) + #t)) + (add-after 'patch-/bin/sh '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"))))))) ;; XXX: how to run them? #:tests? #f)) (inputs - `(("libffi" ,libffi) - ;; Hardcode dynamically loaded libraries for better functionality. + `(;; Hardcode dynamically loaded libraries for better functionality. ;; sqlite and libraries for `racket/draw' are needed to build the doc. + ("zlib" ,zlib) + ("zlib:static" ,zlib "static") + ("lz4" ,lz4) + ("lz4:static" ,lz4 "static") ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("glib" ,glib) @@ -519,10 +555,14 @@ implementation techniques and as an expository tool.") (home-page "https://racket-lang.org") (synopsis "Implementation of Scheme and related languages") (description - "Racket is an implementation of the Scheme programming language (R5RS and -R6RS) and related languages, such as Typed Racket. It features a compiler and -a virtual machine with just-in-time native compilation, as well as a large set -of libraries.") + "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)))) @@ -533,14 +573,15 @@ of libraries.") (version (package-version racket)) (source (origin (method url-fetch) - (uri (list (string-append "http://mirror.racket-lang.org/installers/" - version "/racket-minimal-" version "-src.tgz") + (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-" version "-src.tgz"))) + version "/racket-minimal-src.tgz"))) (sha256 (base32 - "0yc5zkpq1bavj64h67pllw6mfjhmdp65fgdpyqcaan3syy6b5cia")) + "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21")) (patches (search-patches "racket-store-checksum-override.patch")))) (synopsis "Racket without bundled packages such as Dr. Racket") @@ -551,18 +592,21 @@ of libraries.") ;; Delete fix that applies to files not included in the minimal package. (delete 'pre-configure))))) (inputs - `(("libffi" ,libffi) - ("openssl" ,openssl) - ("sqlite" ,sqlite))) + `(("openssl" ,openssl) + ("sqlite" ,sqlite) + ("zlib" ,zlib) + ("zlib:static" ,zlib "static") + ("lz4" ,lz4) + ("lz4:static" ,lz4 "static"))) (description - "Racket is an implementation of the Scheme programming language (R5RS and -R6RS) and related languages, such as Typed Racket. It features a compiler and -a virtual machine with just-in-time native compilation, as well as a large set -of libraries. + "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. -In this minimal package, the essential package racket-libs is included, as -well as libraries that live in collections. In particular, @command{raco} and -the @code{pkg} library are still bundled."))) +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