guix/gnu/packages/patches/racket-backport-8.6-docindex-write.patch
Philip McGrath 9647296ce6
gnu: racket: Update to 8.6.
Also, update 'chez-scheme-for-racket' to 9.5.9.2.

* gnu/packages/patches/racket-chez-scheme-bin-sh.patch: Refresh patch.
* gnu/packages/patches/racket-backport-8.6-cross-install.patch,
gnu/packages/patches/racket-backport-8.6-docindex-write.patch,
gnu/packages/patches/racket-backport-8.6-hurd.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/racket.scm (%racket-origin)[patches]: Use them and the
patches for Zuo.
(%racket-version): Update to 8.6.
(zuo)[version]: Refer to '%racket-version'.
[origin]: Use '%racket-origin'.
(racket-vm-cgc)[native-inputs]: Add 'zuo'.
[arguments]<#:make-flags>: Use 'zuo' from 'native-inputs'.
(racket)[inputs]<data, db, deinprogramm, draw, drracket, errortrace,
gui, htdp, math, option-contract, parser-tools, pict, rackunit, realm,
redex, scribble, typed-racket, string-constants, swindle, syntax-color,
web-server>: Update checksums.
* gnu/packages/chez.scm (target-chez-os): Handle Hurd and QNX.
(%chez-features-table): Likewise.
(chez-scheme-for-racket): Update to 9.5.9.2.
[native-inputs]: Add 'zuo'.
[arguments]<#:out-of-source?>: Use out-of-source build.
<#:tests?>: Skip them due to ongoing problems.
<#:configure-flags>: Add '--install-csug=' and '--installreleasenotes='.
<#:make-flags>: Use 'zuo' from 'native-inputs'. Supply 'STEXLIB=' here,
rather than in a phase.
<#:phases>: Replace 'install-docs' using new 'make' target.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:11 +02:00

36 lines
1.4 KiB
Diff

From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001
From: Philip McGrath <philip@philipmcgrath.com>
Date: Sun, 17 Jul 2022 22:51:44 -0400
Subject: [PATCH] racket-index: set write permission when copying
`docindex.sqlite`
Fixes https://github.com/racket/racket/issues/4357
(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2)
---
pkgs/racket-index/setup/scribble.rkt | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt
index 6694f0b793..e27a8fa348 100644
--- a/pkgs/racket-index/setup/scribble.rkt
+++ b/pkgs/racket-index/setup/scribble.rkt
@@ -252,7 +252,14 @@
(unless (file-exists? db-file)
(define-values (base name dir?) (split-path db-file))
(make-directory* base)
- (when copy-from (copy-file copy-from db-file))
+ (when copy-from
+ (copy-file copy-from db-file)
+ ;; we might not have write permissions for the previous layer:
+ ;; ensure that we do for the new file
+ (define orig-mode (file-or-directory-permissions db-file 'bits))
+ (define writeable-mode (bitwise-ior user-write-bit orig-mode))
+ (unless (= writeable-mode orig-mode)
+ (file-or-directory-permissions db-file writeable-mode)))
(doc-db-disconnect
(doc-db-file->connection db-file #t))))
(when (or (ormap can-build*? main-docs)
--
2.32.0