From debbugs-submit-bounces@debbugs.gnu.org Tue May 03 14:32:00 2022 Received: (at submit) by debbugs.gnu.org; 3 May 2022 18:32:00 +0000 Received: from localhost ([127.0.0.1]:41030 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nlxJS-0002gH-Ln for submit@debbugs.gnu.org; Tue, 03 May 2022 14:32:00 -0400 Received: from lists.gnu.org ([209.51.188.17]:43532) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nlxJO-0002g7-FD for submit@debbugs.gnu.org; Tue, 03 May 2022 14:31:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48014) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nlxJO-0006K7-5d for guix-patches@gnu.org; Tue, 03 May 2022 14:31:50 -0400 Received: from mail-vs1-xe33.google.com ([2607:f8b0:4864:20::e33]:44922) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nlxJM-0005bb-1G for guix-patches@gnu.org; Tue, 03 May 2022 14:31:49 -0400 Received: by mail-vs1-xe33.google.com with SMTP id x8so9112813vsg.11 for ; Tue, 03 May 2022 11:31:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=USewlkNcsGyybu3aGQJk4+Tj+guU9FJSkTtKFcpC+jI=; b=hZxkNvZsJefOiIGW0AgzjAhU2lLS1C4+kDhd+kYfKgTmm6zNfDLTjZ1JAXFJ+Hm6NR JFOJca8DRL/MO6iKj0d+z8u4PKUd1Wt9saxSVDi9UtZ6jxWGlDxs1wFdGJbJc9mYlkgL 2we2c80NO4nqEl4gEQCr2B/7THkSLEykEAiL+eadi6Bo4SSCMOThNYiZAao/WR8cld29 k1ZHcqqDggtEgQLYtUnKPlzuYa9z4Sxos/mYIEq+h4p30Xx01IR1lLx1q0vnThS8520A jd0MHZ4DNgsth0peLGuYAlAsDtAaVzbT9jDrhuSSgE/2Im4FlKvjjcBGI+ZJQXwPAYGl ELhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=USewlkNcsGyybu3aGQJk4+Tj+guU9FJSkTtKFcpC+jI=; b=6sVlvIDyeKPCBOUFln0ATvj5brUkrkCPrHyotORErOELuIDITfSId684BpV9mm9lN8 0kpbQMvNnuLYmfMnJ60E2fu/2yJBsDuz8BeMekDkUhzvL+VKS/sX1xziGHHMxG0YH34k SCJpgch0FDtASA1zpsTyYm+txgyNoH+YrPBtmAUrdVPHl6ghMRfnk5ktSxyUDPId09GX 7ZJv6iI9iwy71vNqt+VXbjCiRi2EnNWVedcWtECV0YLlk7E97yI+Q28PQudUrlRpmi99 qdk+VWHUtWP7oh9rH+erqFW8SNrQxKJ/XrTIAZK3RK1sv2VUHcqDwuhfdl2VJof6NFF1 itKQ== X-Gm-Message-State: AOAM530xJM6jx9JYq2DuW37oJihmVwXcw51mNPEFfHfj5RJoB70fY+YO 1YRrKCLHFHcW1ytpn0YAoCBYEQwVElcEvqBj X-Google-Smtp-Source: ABdhPJz8tMxgEnTkQwyi2dFkhE4IZSia4b9bft4WsCIMERIM5I+iYTuiWAkCeI9rLiSoC8+w92RsBQ== X-Received: by 2002:a67:2ec9:0:b0:32c:de55:9ea6 with SMTP id u192-20020a672ec9000000b0032cde559ea6mr5489605vsu.62.1651602705228; Tue, 03 May 2022 11:31:45 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id n11-20020ab01e4b000000b003626f894df3sm2898716uak.33.2022.05.03.11.31.44 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 May 2022 11:31:44 -0700 (PDT) From: Philip McGrath To: guix-patches@gnu.org Subject: [PATCH 0/7] gnu: Update Racket to 8.5 and Chez Scheme to 9.5.8. Date: Tue, 3 May 2022 14:31:43 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 X-Debbugs-CC: Philip McGrath Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: permerror client-ip=2607:f8b0:4864:20::e33; envelope-from=philip@philipmcgrath.com; helo=mail-vs1-xe33.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_PERMERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Hi, This patch series contains Racket 8.5 and upstream Chez Scheme 9.5.8: both were re released since last week. For upstream Chez Scheme, armhf-linux has been deleted from `supported-systems` with a comment saying it's broken since before I started contributing to Guix. I haven't changed that, since I don't have access to an ARM system at the moment, and it doesn't have thread support upstream anyway, but I think it should be fixed by this point, if it hadn't been already. Could someone check? Two recent developments in the Racket world are notable from a packaging perspective: 1. After branching for this release, on HEAD Racket has adopted Zuo[1], a tiny Raket-like language for build scripting. The Zuo interpreter is a single C file that can be compiled as simply as `cc zuo.c`, and libraries written in Zuo implement a DSL like `make` or (more so) Shake[2] for build steps and tracking dependencies. Autoconf is still there, and `make` can still be used in all of the ways it could before (modulo bugs), but the makefiles actually just delegate to Zuo.[3] In theory, this shouldn't require any changes, but Guix is enough of a stress test that it's exposed some rough edges: many have already been fixed upstream, but a few will require changes to the Guix packaging---but I think all the changes make things nicer, anyway. I have a branch up at [4] based on Racket HEAD if anyone's interested: the only remaining Zuo-related issue is with the Chez Scheme test suite. Overall, I for one already find the Zuo build scripts much more comprehensible and hackable than the old makefiles. To pick just one example of the former complexity, there was a build script implementing a makefile-to-makefile compiler to support variable propagation for non-GNU `make`s. Zuo (and Racket's use of it) is also much more robust in dependency tracking. Formerly, you were often better off throwing away your build directory and starting again. I think this is an exciting step for anyone who builds Racket from source regularly, and Zuo might be interesting for other projects, too. 2. Racket's version of Chez Scheme has long had a “portable bytecode” backend as an alternative to native-code compilation. Up to this point it has primarily been a bootstrapping shortcut that didn't require distributing binaries for every platform. With this release, though, the implementation has improved: it now works even on platforms for which there isn't a native-code backend available --- for Guix, that includes powerpc64le-linux, riscv64-linux, mips64el-linux, and i586-gnu --- and it performs well enough on those platforms to make Racket CS viable instead of Racket BC (which didn't have JIT support for those platforms, anyway). For Guix, this also means that `(chez-scheme-for-system)` should be able to return a working Chez Scheme package for every system. Unfortunately, there are some issues with (at least) the `configure` scripts in the release such that building Racket for those systems doesn't quite work yet: see discussion at [5]. I'll be following up on that, and I might backport the fixes if they end up being small enough, but certainly it should work by Racket 8.6, scheduled for July. In the mean time, just knowing that this functionality is on its way helped with figuring out how much could be thrown out to simplify the follow-up to at the end of this patch series. -Philip [1]: https://docs.racket-lang.org/zuo/index.html [2]: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/03/hadrian.pdf [3]: https://docs.racket-lang.org/racket-build-guide/zuo.html [4]: https://gitlab.com/philip1/guix-patches/-/tree/zuo [5]: https://racket.discourse.group/t/chez-for-architectures-without-native-backends/950 Philip McGrath (7): gnu: racket: Update to 8.5. gnu: racket: Fix out-of-source build. gnu: chez-scheme: Update to 9.5.8. gnu: chez-scheme: Refactor documentation phases. gnu: chez-scheme: Refactor configure phase and fix '--threads'. gnu: stex: Get machine type dynamically. gnu: chez-scheme-for-system: Adjust support logic. gnu/local.mk | 2 - gnu/packages/chez.scm | 416 +++++++++------- .../racket-enable-scheme-backport.patch | 465 ------------------ ...acket-gui-tethered-launcher-backport.patch | 26 - gnu/packages/racket.scm | 106 ++-- 5 files changed, 292 insertions(+), 723 deletions(-) delete mode 100644 gnu/packages/patches/racket-enable-scheme-backport.patch delete mode 100644 gnu/packages/patches/racket-gui-tethered-launcher-backport.patch base-commit: 654f878f0b9d2136affa3e3d32da1639e6942a54 -- 2.32.0