aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/racket-store-checksum-override.patch
blob: 6c9cd5198a4bd76fea8cab9c9967a5d3cc385f96 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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 <https://debbugs.gnu.org/30680> for details.
---
 collects/compiler/private/cm-minimal.rkt | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/collects/compiler/private/cm-minimal.rkt b/collects/compiler/private/cm-minimal.rkt
index a5a5407..15af6b8 100644
--- a/collects/compiler/private/cm-minimal.rkt
+++ b/collects/compiler/private/cm-minimal.rkt
@@ -7,6 +7,7 @@
          racket/list
          racket/path
          racket/promise
+         racket/string
          openssl/sha1
          setup/collects
          compiler/compilation-path
@@ -543,6 +544,10 @@
       #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)))
+
 (define (rkt->ss p)
   (if (path-has-extension? p #".rkt")
       (path-replace-extension p #".ss")
@@ -595,7 +600,8 @@
               (trace-printf "newer src... ~a > ~a" path-time path-zo-time)
               ;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk:
               (maybe-compile-zo sha1-only? deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen)]
-             [(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" difference)
                    ;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk:
-- 
2.18.0

ate home page....* gnu/packages/bittorrent.scm (transmission)[home-page]: Use HTTPS. Marius Bakke 2019-10-07Merge branch 'master' into core-updatesLudovic Courtès 2019-10-07gnu: aria2: Update to 1.35.0....* gnu/packages/bittorrent.scm (aria2): Update to 1.35.0. [source]: Use new upstream uri. Remove patch. * gnu/packages/patches/aria2-CVE-2019-3500.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Efraim Flashner 2019-08-29Merge branch 'master' into core-updatesMark H Weaver 2019-08-29gnu: rtorrent: Update to 0.9.8....* gnu/packages/bittorrent.scm (rtorrent): Update to 0.9.8. Marius Bakke 2019-08-29gnu: libtorrent: Update to 0.13.8....* gnu/packages/bittorrent.scm (libtorrent): Update to 0.13.8. Marius Bakke 2019-08-13Merge branch 'master' into core-updatesMarius Bakke 2019-08-13gnu: tremc: Update to 0.9.1-0.4d50dab....* gnu/packages/bittorrent.scm (tremc): Update to 0.9.1-0.4d50dab. Leo Famulari 2019-07-03gnu: libtorrent-rasterbar: Remove GCC5 workaround....* gnu/packages/bittorrent.scm (libtorrent-rasterbar)[arguments]<#:configure-flags>: Remove "CXXFLAGS". Marius Bakke 2019-05-11gnu: qbittorrent: Update to 4.1.6....* gnu/packages/bittorrent.scm (qbittorrent): Update to 4.1.6. Tobias Geerinckx-Rice 2019-05-09gnu: libtorrent-rasterbar: Update to 1.1.13....* gnu/packages/bittorrent.scm (libtorrent-rasterbar): Update to 1.1.13. Marius Bakke 2019-02-17gnu: qbittorrent: Don't use unstable tarball....* gnu/packages/bittorrent.scm (qbittorrent)[source]: Use GIT-FETCH and GIT-FILE-NAME. Tobias Geerinckx-Rice 2019-02-17gnu: qbittorrent: Update to 4.1.5....* gnu/packages/bittorrent.scm (qbittorrent): Update to 4.1.5. Tobias Geerinckx-Rice 2019-01-16gnu: Move sqlite to separate module....* gnu/packages/databases.scm (sqlite, sqlite-3.26.0, sqlite-with-fts5, sqlite-with-column-metadata): Move variables from here... * gnu/packages/sqlite.scm: ...to this new module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/apl.scm, gnu/packages/bittorrent.scm, gnu/packages/calendar.scm, gnu/packages/code.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/dc.scm, gnu/packages/disk.scm, gnu/packages/ebook.scm, gnu/packages/education.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/file-systems.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/geo.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gps.scm, gnu/packages/guile.scm, gnu/packages/ibus.scm, gnu/packages/kerberos.scm, gnu/packages/kodi.scm, gnu/packages/lisp.scm, gnu/packages/mail.scm, gnu/packages/messaging.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/nfs.scm, gnu/packages/ocaml.scm, gnu/packages/package-management.scm, gnu/packages/pdf.scm, gnu/packages/photo.scm, gnu/packages/php.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/scheme.scm, gnu/packages/sync.scm, gnu/packages/syndication.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/web-browsers.scm, gnu/packages/webkit.scm: Adjust module references. Ricardo Wurmus 2019-01-15gnu: Separate Python core packages from the rest....* gnu/packages/python.scm: Move hundreds of package definitions from here... * gnu/packages/python-xyz.scm: ...to this new module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/benchmark.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/calendar.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/cluster.scm, gnu/packages/compression.scm, gnu/packages/connman.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dav.scm, gnu/packages/direct-connect.scm, gnu/packages/disk.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/docker.scm, gnu/packages/ebook.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/finance.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/freedesktop.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/geo.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/gtk.scm, gnu/packages/ham-radio.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/kde-frameworks.scm, gnu/packages/key-mon.scm, gnu/packages/libffi.scm, gnu/packages/libreoffice.scm, gnu/packages/libusb.scm, gnu/packages/lirc.scm, gnu/packages/logging.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/medical.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/nutrition.scm, gnu/packages/openldap.scm, gnu/packages/openstack.scm, gnu/packages/package-management.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/photo.scm, gnu/packages/polkit.scm, gnu/packages/protobuf.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/qt.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm, gnu/packages/search.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/simulation.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/storage.scm, gnu/packages/sync.scm, gnu/packages/terminals.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/tryton.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/virtualization.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wicd.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: Update module references. Ricardo Wurmus 2019-01-09gnu: aria2: Fix CVE-2019-3500....* gnu/packages/patches/aria2-CVE-2019-3500.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/bittorrent.scm (aria2)[source]: Use it. Leo Famulari 2018-11-29gnu: mktorrent: Fetch sources from git....* gnu/packages/bittorrent.scm (mktorrent)[source]: Fetch from git. Ricardo Wurmus 2018-11-29gnu: transmission-remote-cli: Fetch sources from git....* gnu/packages/bittorrent.scm (transmission-remote-cli)[source]: Fetch from git. Ricardo Wurmus 2018-11-24gnu: libtorrent-rasterbar: Update to 1.1.11....* gnu/packages/bittorrent.scm (libtorrent-rasterbar): Update to 1.1.11. Marius Bakke 2018-11-24gnu: Add deluge....* gnu/packages/bittorrent.scm (deluge): New variable. Co-authored-by: Mike Rosset <mike.rosset@gmail.com> Signed-off-by: Marius Bakke <mbakke@fastmail.com> Nam Nguyen 2018-11-24gnu: libtorrent-rasterbar: Compile Python bindings in C++11 mode....* gnu/packages/bittorrent.scm (libtorrent-rasterbar)[arguments]: Add phase to substitute setup.py. Co-authored-by: Marius Bakke <mbakke@fastmail.com> Nam Nguyen 2018-09-20gnu: qbittorrent: Update to 4.1.3....* gnu/packages/bittorrent.scm (qbittorrent): Update to 4.1.3. [inputs]: Use python-wrapper instead of python. Signed-off-by: Leo Famulari <leo@famulari.name> fis trivial