* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ @ 2019-07-05 14:22 Robert Vollmert 2019-07-05 20:40 ` Ludovic Courtès 0 siblings, 1 reply; 11+ messages in thread From: Robert Vollmert @ 2019-07-05 14:22 UTC (permalink / raw) To: 36511 I’ve just been working on a local guix clone, tried building a package which failed, but not after lots of the usual “newer than compiled” messages, but fine, I pulled a while earlier and hadn’t rebuilt. But then, after editing just a few lines in a single file (gnu/packages/haskell.scm), the following happened, which seems wrong: rob@garp ~/guix$ nano gnu/packages/haskell.scm rob@garp ~/guix$ ./pre-inst-env guix build ghc-ansi-wl-pprint ;;; note: source file /home/rob/guix/guix/ui.scm ;;; newer than compiled /home/rob/guix/guix/ui.go ;;; note: source file /home/rob/guix/guix/ui.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/ui.go ;;; note: source file /home/rob/guix/guix/store.scm ;;; newer than compiled /home/rob/guix/guix/store.go ;;; note: source file /home/rob/guix/guix/store.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/store.go ;;; note: source file /home/rob/guix/guix/store.scm ;;; newer than compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/store.scm.go ;;; note: source file /home/rob/guix/guix/build/syscalls.scm ;;; newer than compiled /home/rob/guix/guix/build/syscalls.go ;;; note: source file /home/rob/guix/guix/build/syscalls.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/build/syscalls.go ;;; note: source file /home/rob/guix/guix/build/syscalls.scm ;;; newer than compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/build/syscalls.scm.go ;;; note: source file /home/rob/guix/guix/derivations.scm ;;; newer than compiled /home/rob/guix/guix/derivations.go ;;; note: source file /home/rob/guix/guix/derivations.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/derivations.go ;;; note: source file /home/rob/guix/guix/derivations.scm ;;; newer than compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/derivations.scm.go ;;; note: source file /home/rob/guix/guix/grafts.scm ;;; newer than compiled /home/rob/guix/guix/grafts.go ;;; note: source file /home/rob/guix/guix/grafts.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/grafts.go ;;; note: source file /home/rob/guix/guix/grafts.scm ;;; newer than compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/grafts.scm.go ;;; note: source file /home/rob/guix/guix/profiles.scm ;;; newer than compiled /home/rob/guix/guix/profiles.go ;;; note: source file /home/rob/guix/guix/profiles.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/profiles.go ;;; note: source file /home/rob/guix/guix/build/download.scm ;;; newer than compiled /home/rob/guix/guix/build/download.go ;;; note: source file /home/rob/guix/guix/build/download.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/build/download.go ;;; note: source file /home/rob/guix/guix/build/download.scm ;;; newer than compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/build/download.scm.go ;;; note: source file /home/rob/guix/gnu/packages.scm ;;; newer than compiled /home/rob/guix/gnu/packages.go ;;; note: source file /home/rob/guix/gnu/packages.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages.go ;;; note: source file /home/rob/guix/guix/download.scm ;;; newer than compiled /home/rob/guix/guix/download.go ;;; note: source file /home/rob/guix/guix/download.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/download.go ;;; note: source file /home/rob/guix/guix/download.scm ;;; newer than compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/download.scm.go ;;; note: source file /home/rob/guix/gnu/packages/perl.scm ;;; newer than compiled /home/rob/guix/gnu/packages/perl.go ;;; note: source file /home/rob/guix/gnu/packages/perl.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/perl.go ;;; note: source file /home/rob/guix/gnu/packages/compression.scm ;;; newer than compiled /home/rob/guix/gnu/packages/compression.go ;;; note: source file /home/rob/guix/gnu/packages/compression.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/compression.go ;;; note: source file /home/rob/guix/gnu/packages/admin.scm ;;; newer than compiled /home/rob/guix/gnu/packages/admin.go ;;; note: source file /home/rob/guix/gnu/packages/admin.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/admin.go ;;; note: source file /home/rob/guix/guix/build-system/python.scm ;;; newer than compiled /home/rob/guix/guix/build-system/python.go ;;; note: source file /home/rob/guix/guix/build-system/python.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/guix/build-system/python.go ;;; note: source file /home/rob/guix/gnu/packages/bash.scm ;;; newer than compiled /home/rob/guix/gnu/packages/bash.go ;;; note: source file /home/rob/guix/gnu/packages/bash.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/bash.go ;;; note: source file /home/rob/guix/gnu/packages/guile.scm ;;; newer than compiled /home/rob/guix/gnu/packages/guile.go ;;; note: source file /home/rob/guix/gnu/packages/guile.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/guile.go ;;; note: source file /home/rob/guix/gnu/packages/algebra.scm ;;; newer than compiled /home/rob/guix/gnu/packages/algebra.go ;;; note: source file /home/rob/guix/gnu/packages/algebra.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/algebra.go ;;; note: source file /home/rob/guix/gnu/packages/check.scm ;;; newer than compiled /home/rob/guix/gnu/packages/check.go ;;; note: source file /home/rob/guix/gnu/packages/check.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/check.go ;;; note: source file /home/rob/guix/gnu/packages/linux.scm ;;; newer than compiled /home/rob/guix/gnu/packages/linux.go ;;; note: source file /home/rob/guix/gnu/packages/linux.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/linux.go ;;; note: source file /home/rob/guix/gnu/packages/audio.scm ;;; newer than compiled /home/rob/guix/gnu/packages/audio.go ;;; note: source file /home/rob/guix/gnu/packages/audio.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/audio.go ;;; note: source file /home/rob/guix/gnu/packages/crypto.scm ;;; newer than compiled /home/rob/guix/gnu/packages/crypto.go ;;; note: source file /home/rob/guix/gnu/packages/crypto.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/crypto.go ;;; note: source file /home/rob/guix/gnu/packages/imagemagick.scm ;;; newer than compiled /home/rob/guix/gnu/packages/imagemagick.go ;;; note: source file /home/rob/guix/gnu/packages/imagemagick.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/imagemagick.go ;;; note: source file /home/rob/guix/gnu/packages/python-xyz.scm ;;; newer than compiled /home/rob/guix/gnu/packages/python-xyz.go ;;; note: source file /home/rob/guix/gnu/packages/python-xyz.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/python-xyz.go ;;; note: source file /home/rob/guix/gnu/packages/databases.scm ;;; newer than compiled /home/rob/guix/gnu/packages/databases.go ;;; note: source file /home/rob/guix/gnu/packages/databases.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/databases.go ;;; note: source file /home/rob/guix/gnu/packages/icu4c.scm ;;; newer than compiled /home/rob/guix/gnu/packages/icu4c.go ;;; note: source file /home/rob/guix/gnu/packages/icu4c.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/icu4c.go ;;; note: source file /home/rob/guix/gnu/packages/image.scm ;;; newer than compiled /home/rob/guix/gnu/packages/image.go ;;; note: source file /home/rob/guix/gnu/packages/image.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/image.go ;;; note: source file /home/rob/guix/gnu/packages/tls.scm ;;; newer than compiled /home/rob/guix/gnu/packages/tls.go ;;; note: source file /home/rob/guix/gnu/packages/tls.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/tls.go ;;; note: source file /home/rob/guix/gnu/packages/web.scm ;;; newer than compiled /home/rob/guix/gnu/packages/web.go ;;; note: source file /home/rob/guix/gnu/packages/web.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/web.go ;;; note: source file /home/rob/guix/gnu/packages/gtk.scm ;;; newer than compiled /home/rob/guix/gnu/packages/gtk.go ;;; note: source file /home/rob/guix/gnu/packages/gtk.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/gtk.go ;;; note: source file /home/rob/guix/gnu/packages/gl.scm ;;; newer than compiled /home/rob/guix/gnu/packages/gl.go ;;; note: source file /home/rob/guix/gnu/packages/gl.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/gl.go ;;; note: source file /home/rob/guix/gnu/packages/llvm.scm ;;; newer than compiled /home/rob/guix/gnu/packages/llvm.go ;;; note: source file /home/rob/guix/gnu/packages/llvm.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/llvm.go ;;; note: source file /home/rob/guix/gnu/packages/python-compression.scm ;;; newer than compiled /home/rob/guix/gnu/packages/python-compression.go ;;; note: source file /home/rob/guix/gnu/packages/python-compression.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/python-compression.go ;;; note: source file /home/rob/guix/gnu/packages/maths.scm ;;; newer than compiled /home/rob/guix/gnu/packages/maths.go ;;; note: source file /home/rob/guix/gnu/packages/maths.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/maths.go ;;; note: source file /home/rob/guix/gnu/packages/xorg.scm ;;; newer than compiled /home/rob/guix/gnu/packages/xorg.go ;;; note: source file /home/rob/guix/gnu/packages/xorg.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/xorg.go ;;; note: source file /home/rob/guix/gnu/packages/gstreamer.scm ;;; newer than compiled /home/rob/guix/gnu/packages/gstreamer.go ;;; note: source file /home/rob/guix/gnu/packages/gstreamer.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/gstreamer.go ;;; note: source file /home/rob/guix/gnu/packages/video.scm ;;; newer than compiled /home/rob/guix/gnu/packages/video.go ;;; note: source file /home/rob/guix/gnu/packages/video.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/video.go ;;; note: source file /home/rob/guix/gnu/packages/music.scm ;;; newer than compiled /home/rob/guix/gnu/packages/music.go ;;; note: source file /home/rob/guix/gnu/packages/music.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/music.go ;;; note: source file /home/rob/guix/gnu/packages/game-development.scm ;;; newer than compiled /home/rob/guix/gnu/packages/game-development.go ;;; note: source file /home/rob/guix/gnu/packages/game-development.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/game-development.go ;;; note: source file /home/rob/guix/gnu/packages/haskell.scm ;;; newer than compiled /home/rob/guix/gnu/packages/haskell.go ;;; note: source file /home/rob/guix/gnu/packages/haskell.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/haskell.go ;;; note: source file /home/rob/guix/gnu/packages/haskell.scm ;;; newer than compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/gnu/packages/haskell.scm.go ;;; note: source file /home/rob/guix/gnu/packages/haskell-check.scm ;;; newer than compiled /home/rob/guix/gnu/packages/haskell-check.go ;;; note: source file /home/rob/guix/gnu/packages/haskell-check.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/haskell-check.go ;;; note: source file /home/rob/guix/gnu/packages/haskell-crypto.scm ;;; newer than compiled /home/rob/guix/gnu/packages/haskell-crypto.go ;;; note: source file /home/rob/guix/gnu/packages/haskell-crypto.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/haskell-crypto.go ;;; note: source file /home/rob/guix/gnu/packages/haskell-web.scm ;;; newer than compiled /home/rob/guix/gnu/packages/haskell-web.go ;;; note: source file /home/rob/guix/gnu/packages/haskell-web.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/haskell-web.go ;;; note: source file /home/rob/guix/gnu/packages/lisp.scm ;;; newer than compiled /home/rob/guix/gnu/packages/lisp.go ;;; note: source file /home/rob/guix/gnu/packages/lisp.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/lisp.go ;;; note: source file /home/rob/guix/gnu/packages/xdisorg.scm ;;; newer than compiled /home/rob/guix/gnu/packages/xdisorg.go ;;; note: source file /home/rob/guix/gnu/packages/xdisorg.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/xdisorg.go ;;; note: source file /home/rob/guix/gnu/packages/webkit.scm ;;; newer than compiled /home/rob/guix/gnu/packages/webkit.go ;;; note: source file /home/rob/guix/gnu/packages/webkit.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/webkit.go ;;; note: source file /home/rob/guix/gnu/packages/mpd.scm ;;; newer than compiled /home/rob/guix/gnu/packages/mpd.go ;;; note: source file /home/rob/guix/gnu/packages/mpd.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/mpd.go ;;; note: source file /home/rob/guix/gnu/packages/package-management.scm ;;; newer than compiled /home/rob/guix/gnu/packages/package-management.go ;;; note: source file /home/rob/guix/gnu/packages/package-management.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/package-management.go ;;; note: source file /home/rob/guix/gnu/packages/guile-xyz.scm ;;; newer than compiled /home/rob/guix/gnu/packages/guile-xyz.go ;;; note: source file /home/rob/guix/gnu/packages/guile-xyz.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/guile-xyz.go ;;; note: source file /home/rob/guix/gnu/packages/emacs-xyz.scm ;;; newer than compiled /home/rob/guix/gnu/packages/emacs-xyz.go ;;; note: source file /home/rob/guix/gnu/packages/emacs-xyz.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/emacs-xyz.go ;;; note: source file /home/rob/guix/gnu/packages/mail.scm ;;; newer than compiled /home/rob/guix/gnu/packages/mail.go ;;; note: source file /home/rob/guix/gnu/packages/mail.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/mail.go ;;; note: source file /home/rob/guix/gnu/packages/text-editors.scm ;;; newer than compiled /home/rob/guix/gnu/packages/text-editors.go ;;; note: source file /home/rob/guix/gnu/packages/text-editors.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/text-editors.go ;;; note: source file /home/rob/guix/gnu/packages/regex.scm ;;; newer than compiled /home/rob/guix/gnu/packages/regex.go ;;; note: source file /home/rob/guix/gnu/packages/regex.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/regex.go ;;; note: source file /home/rob/guix/gnu/packages/virtualization.scm ;;; newer than compiled /home/rob/guix/gnu/packages/virtualization.go ;;; note: source file /home/rob/guix/gnu/packages/virtualization.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/virtualization.go ;;; note: source file /home/rob/guix/gnu/packages/rust.scm ;;; newer than compiled /home/rob/guix/gnu/packages/rust.go ;;; note: source file /home/rob/guix/gnu/packages/rust.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/rust.go ;;; note: source file /home/rob/guix/gnu/packages/upnp.scm ;;; newer than compiled /home/rob/guix/gnu/packages/upnp.go ;;; note: source file /home/rob/guix/gnu/packages/upnp.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/upnp.go ;;; note: source file /home/rob/guix/gnu/packages/vpn.scm ;;; newer than compiled /home/rob/guix/gnu/packages/vpn.go ;;; note: source file /home/rob/guix/gnu/packages/vpn.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/vpn.go ;;; note: source file /home/rob/guix/gnu/packages/geo.scm ;;; newer than compiled /home/rob/guix/gnu/packages/geo.go ;;; note: source file /home/rob/guix/gnu/packages/geo.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/geo.go ;;; note: source file /home/rob/guix/gnu/packages/python-check.scm ;;; newer than compiled /home/rob/guix/gnu/packages/python-check.go ;;; note: source file /home/rob/guix/gnu/packages/python-check.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/python-check.go ;;; note: source file /home/rob/guix/gnu/packages/agda.scm ;;; newer than compiled /home/rob/guix/gnu/packages/agda.go ;;; note: source file /home/rob/guix/gnu/packages/agda.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/agda.go ;;; note: source file /home/rob/guix/gnu/packages/android.scm ;;; newer than compiled /home/rob/guix/gnu/packages/android.go ;;; note: source file /home/rob/guix/gnu/packages/android.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/android.go ;;; note: source file /home/rob/guix/gnu/packages/astronomy.scm ;;; newer than compiled /home/rob/guix/gnu/packages/astronomy.go ;;; note: source file /home/rob/guix/gnu/packages/astronomy.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/astronomy.go ;;; note: source file /home/rob/guix/gnu/packages/flashing-tools.scm ;;; newer than compiled /home/rob/guix/gnu/packages/flashing-tools.go ;;; note: source file /home/rob/guix/gnu/packages/flashing-tools.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/flashing-tools.go ;;; note: source file /home/rob/guix/gnu/packages/bioconductor.scm ;;; newer than compiled /home/rob/guix/gnu/packages/bioconductor.go ;;; note: source file /home/rob/guix/gnu/packages/bioconductor.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/bioconductor.go ;;; note: source file /home/rob/guix/gnu/packages/bioinformatics.scm ;;; newer than compiled /home/rob/guix/gnu/packages/bioinformatics.go ;;; note: source file /home/rob/guix/gnu/packages/bioinformatics.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/bioinformatics.go ;;; note: source file /home/rob/guix/gnu/packages/cran.scm ;;; newer than compiled /home/rob/guix/gnu/packages/cran.go ;;; note: source file /home/rob/guix/gnu/packages/cran.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/cran.go ;;; note: source file /home/rob/guix/gnu/packages/statistics.scm ;;; newer than compiled /home/rob/guix/gnu/packages/statistics.go ;;; note: source file /home/rob/guix/gnu/packages/statistics.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/statistics.go ;;; note: source file /home/rob/guix/gnu/packages/calcurse.scm ;;; newer than compiled /home/rob/guix/gnu/packages/calcurse.go ;;; note: source file /home/rob/guix/gnu/packages/calcurse.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/calcurse.go ;;; note: source file /home/rob/guix/gnu/packages/chromium.scm ;;; newer than compiled /home/rob/guix/gnu/packages/chromium.go ;;; note: source file /home/rob/guix/gnu/packages/chromium.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/chromium.go ;;; note: source file /home/rob/guix/gnu/packages/xfce.scm ;;; newer than compiled /home/rob/guix/gnu/packages/xfce.go ;;; note: source file /home/rob/guix/gnu/packages/xfce.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/xfce.go ;;; note: source file /home/rob/guix/gnu/packages/education.scm ;;; newer than compiled /home/rob/guix/gnu/packages/education.go ;;; note: source file /home/rob/guix/gnu/packages/education.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/education.go ;;; note: source file /home/rob/guix/gnu/packages/emulators.scm ;;; newer than compiled /home/rob/guix/gnu/packages/emulators.go ;;; note: source file /home/rob/guix/gnu/packages/emulators.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/emulators.go ;;; note: source file /home/rob/guix/gnu/packages/finance.scm ;;; newer than compiled /home/rob/guix/gnu/packages/finance.go ;;; note: source file /home/rob/guix/gnu/packages/finance.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/finance.go ;;; note: source file /home/rob/guix/gnu/packages/games.scm ;;; newer than compiled /home/rob/guix/gnu/packages/games.go ;;; note: source file /home/rob/guix/gnu/packages/games.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/games.go ;;; note: source file /home/rob/guix/gnu/packages/messaging.scm ;;; newer than compiled /home/rob/guix/gnu/packages/messaging.go ;;; note: source file /home/rob/guix/gnu/packages/messaging.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/messaging.go ;;; note: source file /home/rob/guix/gnu/packages/haskell-apps.scm ;;; newer than compiled /home/rob/guix/gnu/packages/haskell-apps.go ;;; note: source file /home/rob/guix/gnu/packages/haskell-apps.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/haskell-apps.go ;;; note: source file /home/rob/guix/gnu/packages/idris.scm ;;; newer than compiled /home/rob/guix/gnu/packages/idris.go ;;; note: source file /home/rob/guix/gnu/packages/idris.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/idris.go ;;; note: source file /home/rob/guix/gnu/packages/image-viewers.scm ;;; newer than compiled /home/rob/guix/gnu/packages/image-viewers.go ;;; note: source file /home/rob/guix/gnu/packages/image-viewers.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/image-viewers.go ;;; note: source file /home/rob/guix/gnu/packages/irc.scm ;;; newer than compiled /home/rob/guix/gnu/packages/irc.go ;;; note: source file /home/rob/guix/gnu/packages/irc.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/irc.go ;;; note: source file /home/rob/guix/gnu/packages/kde.scm ;;; newer than compiled /home/rob/guix/gnu/packages/kde.go ;;; note: source file /home/rob/guix/gnu/packages/kde.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/kde.go ;;; note: source file /home/rob/guix/gnu/packages/wm.scm ;;; newer than compiled /home/rob/guix/gnu/packages/wm.go ;;; note: source file /home/rob/guix/gnu/packages/wm.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/wm.go ;;; note: source file /home/rob/guix/gnu/packages/mastodon.scm ;;; newer than compiled /home/rob/guix/gnu/packages/mastodon.go ;;; note: source file /home/rob/guix/gnu/packages/mastodon.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/mastodon.go ;;; note: source file /home/rob/guix/gnu/packages/mc.scm ;;; newer than compiled /home/rob/guix/gnu/packages/mc.go ;;; note: source file /home/rob/guix/gnu/packages/mc.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/mc.go ;;; note: source file /home/rob/guix/gnu/packages/sawfish.scm ;;; newer than compiled /home/rob/guix/gnu/packages/sawfish.go ;;; note: source file /home/rob/guix/gnu/packages/sawfish.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/sawfish.go and so on before finally building my package successfully. I don’t mind guile doing some useless work again, but I’d expect it to (a) not spam if this is expected behaviour and (b) not spend so much time on it on every edit-build cycle. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-05 14:22 bug#36511: extraneous recompiles of scm files while editing gnu/packages/ Robert Vollmert @ 2019-07-05 20:40 ` Ludovic Courtès 2019-07-08 7:50 ` Robert Vollmert 0 siblings, 1 reply; 11+ messages in thread From: Ludovic Courtès @ 2019-07-05 20:40 UTC (permalink / raw) To: Robert Vollmert; +Cc: 36511 Hi, Robert Vollmert <rob@vllmrt.net> skribis: > rob@garp ~/guix$ nano gnu/packages/haskell.scm > rob@garp ~/guix$ ./pre-inst-env guix build ghc-ansi-wl-pprint I’d suggest running “make” once you’ve edited a file. It’s not strictly necessary (Guile then simply evaluates code instead of running compiled code), but it will allow you to get rid of these warnings, the compiler might warn you ahead of time of possible mistakes, and the whole thing will be slightly faster. Does that make sense? Ludo’. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-05 20:40 ` Ludovic Courtès @ 2019-07-08 7:50 ` Robert Vollmert 2019-07-08 10:03 ` Ludovic Courtès 0 siblings, 1 reply; 11+ messages in thread From: Robert Vollmert @ 2019-07-08 7:50 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 36511 > On 5. Jul 2019, at 22:40, Ludovic Courtès <ludo@gnu.org> wrote: > > Hi, > > Robert Vollmert <rob@vllmrt.net> skribis: > >> rob@garp ~/guix$ nano gnu/packages/haskell.scm >> rob@garp ~/guix$ ./pre-inst-env guix build ghc-ansi-wl-pprint > > I’d suggest running “make” once you’ve edited a file. > > It’s not strictly necessary (Guile then simply evaluates code instead of > running compiled code), but it will allow you to get rid of these > warnings, the compiler might warn you ahead of time of possible > mistakes, and the whole thing will be slightly faster. > > Does that make sense? It does make sense. However once again my complaint is a bit more about the developer experience than how to work around the current state. I feel that a situation where the obvious thing works but is painful (guile debug spam, slowness) and you need to learn to do things differently (always run make first, which frequently causes work you don’t even care about, such as a guix-daemon recompile or po-file work) could be improved upon. Concretely, this bug report is in response to https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00009.html In that spirit, “you should run make first” is not answer I’m completely happy with. :) Cheers Robert ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-08 7:50 ` Robert Vollmert @ 2019-07-08 10:03 ` Ludovic Courtès 2019-07-08 11:46 ` Robert Vollmert 0 siblings, 1 reply; 11+ messages in thread From: Ludovic Courtès @ 2019-07-08 10:03 UTC (permalink / raw) To: Robert Vollmert; +Cc: 36511 Robert Vollmert <rob@vllmrt.net> skribis: >> On 5. Jul 2019, at 22:40, Ludovic Courtès <ludo@gnu.org> wrote: >> >> Hi, >> >> Robert Vollmert <rob@vllmrt.net> skribis: >> >>> rob@garp ~/guix$ nano gnu/packages/haskell.scm >>> rob@garp ~/guix$ ./pre-inst-env guix build ghc-ansi-wl-pprint >> >> I’d suggest running “make” once you’ve edited a file. >> >> It’s not strictly necessary (Guile then simply evaluates code instead of >> running compiled code), but it will allow you to get rid of these >> warnings, the compiler might warn you ahead of time of possible >> mistakes, and the whole thing will be slightly faster. >> >> Does that make sense? > > It does make sense. However once again my complaint is a bit more about the > developer experience than how to work around the current state. I feel that > a situation where the obvious thing works but is painful (guile debug spam, > slowness) and you need to learn to do things differently (always run make first, > which frequently causes work you don’t even care about, such as a guix-daemon > recompile or po-file work) could be improved upon. Yes I agree. Things to have to be compiled at one point though. We could let Guile auto-compile code, but unfortunately that comes with its own warts: the equivalent of “make clean-go”, for instance when an ABI incompatibility pops up, is “rm -rf ~/.cache/guile/ccache”, and that too is something a developer has too learn, and one could argue that it’s less familiar than “make” or “make clean.” So, I’m not satisfied with the ./pre-inst-env and ‘make’ workflow, but we have yet to come up with a concrete proposal for a better workflow. > Concretely, this bug report is in response to > https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00009.html > > In that spirit, “you should run make first” is not answer I’m completely > happy with. :) I was trying to address the “I see recompilation messages” issue that you raised in the current framework. I didn’t initially interpret the bug report as a call for a new workflow. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-08 10:03 ` Ludovic Courtès @ 2019-07-08 11:46 ` Robert Vollmert 2019-07-08 22:15 ` Ludovic Courtès 0 siblings, 1 reply; 11+ messages in thread From: Robert Vollmert @ 2019-07-08 11:46 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 36511 > On 8. Jul 2019, at 12:03, Ludovic Courtès <ludo@gnu.org> wrote: > > Robert Vollmert <rob@vllmrt.net> skribis: > >>> On 5. Jul 2019, at 22:40, Ludovic Courtès <ludo@gnu.org> wrote: >>> >>> Hi, >>> >>> Robert Vollmert <rob@vllmrt.net> skribis: >>> >>>> rob@garp ~/guix$ nano gnu/packages/haskell.scm >>>> rob@garp ~/guix$ ./pre-inst-env guix build ghc-ansi-wl-pprint >>> >>> I’d suggest running “make” once you’ve edited a file. >>> >>> It’s not strictly necessary (Guile then simply evaluates code instead of >>> running compiled code), but it will allow you to get rid of these >>> warnings, the compiler might warn you ahead of time of possible >>> mistakes, and the whole thing will be slightly faster. >>> >>> Does that make sense? >> >> It does make sense. However once again my complaint is a bit more about the >> developer experience than how to work around the current state. I feel that >> a situation where the obvious thing works but is painful (guile debug spam, >> slowness) and you need to learn to do things differently (always run make first, >> which frequently causes work you don’t even care about, such as a guix-daemon >> recompile or po-file work) could be improved upon. > > Yes I agree. Things to have to be compiled at one point though. We > could let Guile auto-compile code, but unfortunately that comes with its > own warts: the equivalent of “make clean-go”, for instance when an ABI > incompatibility pops up, is “rm -rf ~/.cache/guile/ccache”, and that too > is something a developer has too learn, and one could argue that it’s > less familiar than “make” or “make clean.” > > So, I’m not satisfied with the ./pre-inst-env and ‘make’ workflow, but > we have yet to come up with a concrete proposal for a better workflow. > >> Concretely, this bug report is in response to >> https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00009.html >> >> In that spirit, “you should run make first” is not answer I’m completely >> happy with. :) > > I was trying to address the “I see recompilation messages” issue that > you raised in the current framework. I didn’t initially interpret the > bug report as a call for a new workflow. It’s not meant to be a call for a new workflow, either. The original suggestion from the “beyond 1.0” thread was a request for a focus on the developer experience by working on the quality of error messages and command output. One of the instances where that applies is with respect to guile recompile scam, as I remarked there. This bug report specifically is in response to this part of the exchange: >> — currently it’s very easy to miss the >> actual cause of an error between a lot of noise, e.g. all those “recompiling >> scheme module” messages > When do you see “recompiling” messages? > > It looks like a bug we could address soonish, not a long-term task. :-) As a concrete proposal, I’d be perfectly happy if, instead of printing a screen full of guile recompile notifications, I’d get a clear warning that I should run make instead. Here’s another example, while working on a local checkout of a channel. Calling `guild compile` just makes things worse. $ rm -rf ~/.cache/guile $ guix build -L . -L ../guix-postgrest puzzledb-frontend ;;; note: source file ../guix-postgrest/bytestring.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/bytestring.go ;;; note: source file ../guix-postgrest/check.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/check.go ;;; note: source file ../guix-postgrest/control.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/control.go ;;; note: source file ../guix-postgrest/text.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/text.go ;;; note: source file ../guix-postgrest/data.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/data.go ;;; note: source file ../guix-postgrest/more-data.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/more-data.go ;;; note: source file ../guix-postgrest/containers.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/containers.go ;;; note: source file ../guix-postgrest/core.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/core.go ;;; note: source file ../guix-postgrest/postgrest-deps.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/postgrest-deps.go ;;; note: source file ../guix-postgrest/postgrest.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/postgrest.go ;;; note: source file ../guix-postgrest/sql.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/sql.go ;;; note: source file ../guix-postgrest/template.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/template.go ;;; note: source file ../guix-postgrest/wai.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/wai.go ;;; note: source file ../guix-postgrest/service.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/service.go ;;; note: source file ./elm.scm ;;; newer than compiled /gnu/store/amjb2461gsrcqiw4faifrf3vpyw46r36-elm/lib/guile/2.2/site-ccache/elm.go ;;; note: source file ./elm2nix.scm ;;; newer than compiled /gnu/store/amjb2461gsrcqiw4faifrf3vpyw46r36-elm/lib/guile/2.2/site-ccache/elm2nix.go ;;; note: source file ./versions.scm ;;; newer than compiled /gnu/store/amjb2461gsrcqiw4faifrf3vpyw46r36-elm/lib/guile/2.2/site-ccache/versions.go /gnu/store/xa65v4m6afmsimb0gg5rdr9v63i9qmd3-puzzledb-frontend-20190625-git $ rob@garp ~/guix-elm$ guild compile -L . -L ../guix-postgrest *.scm ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /run/current-system/profile/bin/guild ;;; compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guild.go wrote `/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/versions.scm.go' wrote `/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/elm.scm.go' wrote `/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/elm2nix.scm.go’ $ rob@garp ~/guix-elm$ guix build -L . -L ../guix-postgrest puzzledb-frontend ;;; note: source file ../guix-postgrest/bytestring.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/bytestring.go ;;; note: source file ../guix-postgrest/check.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/check.go ;;; note: source file ../guix-postgrest/control.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/control.go ;;; note: source file ../guix-postgrest/text.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/text.go ;;; note: source file ../guix-postgrest/data.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/data.go ;;; note: source file ../guix-postgrest/more-data.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/more-data.go ;;; note: source file ../guix-postgrest/containers.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/containers.go ;;; note: source file ../guix-postgrest/core.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/core.go ;;; note: source file ../guix-postgrest/postgrest-deps.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/postgrest-deps.go ;;; note: source file ../guix-postgrest/postgrest.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/postgrest.go ;;; note: source file ../guix-postgrest/sql.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/sql.go ;;; note: source file ../guix-postgrest/template.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/template.go ;;; note: source file ../guix-postgrest/wai.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/wai.go ;;; note: source file ../guix-postgrest/service.scm ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/service.go ;;; note: source file ./elm.scm ;;; newer than compiled /gnu/store/amjb2461gsrcqiw4faifrf3vpyw46r36-elm/lib/guile/2.2/site-ccache/elm.go ;;; found fresh local cache at /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/elm.scm.go ;;; note: source file ./elm2nix.scm ;;; newer than compiled /gnu/store/amjb2461gsrcqiw4faifrf3vpyw46r36-elm/lib/guile/2.2/site-ccache/elm2nix.go ;;; found fresh local cache at /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/elm2nix.scm.go ;;; note: source file ./versions.scm ;;; newer than compiled /gnu/store/amjb2461gsrcqiw4faifrf3vpyw46r36-elm/lib/guile/2.2/site-ccache/versions.go ;;; found fresh local cache at /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/versions.scm.go /gnu/store/xa65v4m6afmsimb0gg5rdr9v63i9qmd3-puzzledb-frontend-20190625-git ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-08 11:46 ` Robert Vollmert @ 2019-07-08 22:15 ` Ludovic Courtès 2019-07-09 15:45 ` Robert Vollmert 2019-07-12 7:38 ` Robert Vollmert 0 siblings, 2 replies; 11+ messages in thread From: Ludovic Courtès @ 2019-07-08 22:15 UTC (permalink / raw) To: Robert Vollmert; +Cc: 36511 [-- Attachment #1: Type: text/plain, Size: 3791 bytes --] Robert Vollmert <rob@vllmrt.net> skribis: >> On 8. Jul 2019, at 12:03, Ludovic Courtès <ludo@gnu.org> wrote: [...] >> I was trying to address the “I see recompilation messages” issue that >> you raised in the current framework. I didn’t initially interpret the >> bug report as a call for a new workflow. > > It’s not meant to be a call for a new workflow, either. The original > suggestion from the “beyond 1.0” thread was a request for a focus on > the developer experience by working on the quality of error messages and > command output. One of the instances where that applies is with respect > to guile recompile scam, as I remarked there. OK, got it. I initially viewed it as an immediate bug because I don’t see those messages, but that’s because I’m so used to typing ‘make’ etc. > Here’s another example, while working on a local checkout of a channel. > Calling `guild compile` just makes things worse. > > $ rm -rf ~/.cache/guile > $ guix build -L . -L ../guix-postgrest puzzledb-frontend > ;;; note: source file ../guix-postgrest/bytestring.scm > ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/bytestring.go > ;;; note: source file ../guix-postgrest/check.scm > ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/check.go That’s bad (it’s even worse than having to type ‘make’ in the development environment IMO because it’s a “user-facing” interface.) How about the patch below? That turns on auto-compilation, which is probably a good thing in this context; as a side-effect, messages like those above should disappear. The only downside is ABI breakage: if we change the ABI of the <package> record type (which is quite rare), then your channel code will no longer run; you’ll get a message like: "<package>: record ABI mismatch; recompilation needed" and you’ll have to “rm -rf ~/.cache/guile”. Actually we could probably catch ‘record-abi-mismatch-error’ and auto-compile when that happens. Thoughts? > $ rob@garp ~/guix-elm$ guild compile -L . -L ../guix-postgrest *.scm > ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 > ;;; or pass the --no-auto-compile argument to disable. > ;;; compiling /run/current-system/profile/bin/guild > ;;; compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/bin/guild.go > wrote `/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/versions.scm.go' > wrote `/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/elm.scm.go' > wrote `/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/elm2nix.scm.go’ > $ rob@garp ~/guix-elm$ guix build -L . -L ../guix-postgrest puzzledb-frontend [...] > ;;; note: source file ./elm.scm > ;;; newer than compiled /gnu/store/amjb2461gsrcqiw4faifrf3vpyw46r36-elm/lib/guile/2.2/site-ccache/elm.go > ;;; found fresh local cache at /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-elm/elm.scm.go Bah, Guile is really talkative. We could redirect Guile’s ‘current-warning-port’ to the bit-bucket wholesale, but we’d also be missing out on more useful info such as compiler warnings. Unfortunately, even if we monkey-patch specifically ‘primitive-load-path’, we’re silencing too much: (set! primitive-load-path (let ((do-load-path primitive-load-path)) (lambda* (file #:optional (exception? #t)) (parameterize ((current-warning-port (%make-void-port "w"))) (do-load-path file exception?))))) Not sure what can be done on the Guix side. Thoughts? Thanks, Ludo’. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: Type: text/x-patch, Size: 2865 bytes --] diff --git a/guix/discovery.scm b/guix/discovery.scm index 5bb494941b..76b58b7688 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm @@ -93,6 +93,16 @@ DIRECTORY is not accessible." directory (strerror errno))) '()))))) +(define-syntax-rule (with-auto-compilation exp ...) + (let ((compile? %load-should-auto-compile)) + (dynamic-wind + (lambda () + (set! %load-should-auto-compile #t)) + (lambda () + exp ...) + (lambda () + (set! %load-should-auto-compile compile?))))) + (define* (scheme-modules directory #:optional sub-directory #:key (warn (const #f))) "Return the list of Scheme modules available under DIRECTORY. @@ -103,19 +113,22 @@ name and the exception key and arguments." (define prefix-len (string-length directory)) - (filter-map (lambda (file) - (let* ((file (substring file prefix-len)) - (module (file-name->module-name file))) - (catch #t - (lambda () - (resolve-interface module)) - (lambda args - ;; Report the error, but keep going. - (warn module args) - #f)))) - (scheme-files (if sub-directory - (string-append directory "/" sub-directory) - directory)))) + ;; Turn on auto-compilation so that user modules hit via + ;; %PACKAGE-MODULE-PATH are automatically compiled. + (with-auto-compilation + (filter-map (lambda (file) + (let* ((file (substring file prefix-len)) + (module (file-name->module-name file))) + (catch #t + (lambda () + (resolve-interface module)) + (lambda args + ;; Report the error, but keep going. + (warn module args) + #f)))) + (scheme-files (if sub-directory + (string-append directory "/" sub-directory) + directory))))) (define* (scheme-modules* directory #:optional sub-directory) "Return the list of module names found under SUB-DIRECTORY in DIRECTORY. diff --git a/guix/ui.scm b/guix/ui.scm index 7d6ab9a2a7..f87b29d0fc 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1668,6 +1668,9 @@ and signal handling has already been set up." ;; number of 'stat' calls per entry in %LOAD-PATH. Shamelessly remove it. (set! %load-extensions '(".scm")) + ;; The two-line auto-compilation message doesn't bring much so just hide it. + (set! %warn-auto-compilation-enabled (const #t)) + (match args (() (format (current-error-port) ^ permalink raw reply related [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-08 22:15 ` Ludovic Courtès @ 2019-07-09 15:45 ` Robert Vollmert 2019-07-12 7:40 ` Robert Vollmert 2019-07-12 7:38 ` Robert Vollmert 1 sibling, 1 reply; 11+ messages in thread From: Robert Vollmert @ 2019-07-09 15:45 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 36511 Hi Ludo’, thanks for looking into this! On 9. Jul 2019, at 00:15, Ludovic Courtès <ludo@gnu.org> wrote: > Robert Vollmert <rob@vllmrt.net> skribis: >> Here’s another example, while working on a local checkout of a channel. >> Calling `guild compile` just makes things worse. >> >> $ rm -rf ~/.cache/guile >> $ guix build -L . -L ../guix-postgrest puzzledb-frontend >> ;;; note: source file ../guix-postgrest/bytestring.scm >> ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/bytestring.go >> ;;; note: source file ../guix-postgrest/check.scm >> ;;; newer than compiled /gnu/store/sk1j6fkh855cm6ypp6799pgf8wvnlk76-postgrest/lib/guile/2.2/site-ccache/check.go > > That’s bad (it’s even worse than having to type ‘make’ in the > development environment IMO because it’s a “user-facing” interface.) > > How about the patch below? That turns on auto-compilation, which is > probably a good thing in this context; as a side-effect, messages like > those above should disappear. > > The only downside is ABI breakage: if we change the ABI of the <package> > record type (which is quite rare), then your channel code will no longer > run; you’ll get a message like: > > "<package>: record ABI mismatch; recompilation needed" > > and you’ll have to “rm -rf ~/.cache/guile”. > > Actually we could probably catch ‘record-abi-mismatch-error’ and > auto-compile when that happens. I’ve applied your patch and am testing it now. At first glance it doesn’t improve the situation, compare the output below of running `guix build -L .` similar to before, after having edited check.scm. $ guix build -L . postgrest ;;; note: source file ./bytestring.scm ;;; newer than compiled /gnu/store/v5a8qdcpp32ymfdasfql6n0g13zjkrb9-postgrest/lib/guile/2.2/site-ccache/bytestring.go ;;; found fresh local cache at /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-postgrest/bytestring.scm.go ;;; note: source file ./check.scm ;;; newer than compiled /gnu/store/v5a8qdcpp32ymfdasfql6n0g13zjkrb9-postgrest/lib/guile/2.2/site-ccache/check.go ;;; note: source file ./check.scm ;;; newer than compiled /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-postgrest/check.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling ./check.scm ;;; note: source file ./control.scm ;;; newer than compiled /gnu/store/v5a8qdcpp32ymfdasfql6n0g13zjkrb9-postgrest/lib/guile/2.2/site-ccache/control.go ;;; found fresh local cache at /home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix-postgrest/control.scm.go ;;; note: source file ./text.scm […] Cheers Robert ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-09 15:45 ` Robert Vollmert @ 2019-07-12 7:40 ` Robert Vollmert 2019-07-13 8:33 ` Ludovic Courtès 0 siblings, 1 reply; 11+ messages in thread From: Robert Vollmert @ 2019-07-12 7:40 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 36511 > On 9. Jul 2019, at 17:45, Robert Vollmert <rob@vllmrt.net> wrote: > > I’ve applied your patch and am testing it now. At first glance it doesn’t > improve the situation, compare the output below of running `guix build -L .` > similar to before, after having edited check.scm. Things do seem to work stably with the patch, although I still don’t see an improvement. I do repeatedly get the following warnings now, though they don’t seem to break things: [ 75%] GUILEC guix/build/elm-build-system.go warning: unknown warning type `shadowed-toplevel' [ 88%] GUILEC guix/import/elm.go warning: unknown warning type `shadowed-toplevel' [100%] GUILEC guix/config.go warning: unknown warning type `shadowed-toplevel' ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-12 7:40 ` Robert Vollmert @ 2019-07-13 8:33 ` Ludovic Courtès 0 siblings, 0 replies; 11+ messages in thread From: Ludovic Courtès @ 2019-07-13 8:33 UTC (permalink / raw) To: Robert Vollmert; +Cc: 36511 Hello, Robert Vollmert <rob@vllmrt.net> skribis: > Things do seem to work stably with the patch, although I still don’t see an > improvement. I do repeatedly get the following warnings now, though they don’t > seem to break things: > > [ 75%] GUILEC guix/build/elm-build-system.go > warning: unknown warning type `shadowed-toplevel' > [ 88%] GUILEC guix/import/elm.go > warning: unknown warning type `shadowed-toplevel' > [100%] GUILEC guix/config.go > warning: unknown warning type `shadowed-toplevel' The ‘shadowed-toplevel’ warning appeared in Guile 2.2.5 and you must be using an older version. Fixed in e429566fbb6af2b65a144cc06902432bc87b9eae. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-08 22:15 ` Ludovic Courtès 2019-07-09 15:45 ` Robert Vollmert @ 2019-07-12 7:38 ` Robert Vollmert 2019-07-12 20:50 ` Ludovic Courtès 1 sibling, 1 reply; 11+ messages in thread From: Robert Vollmert @ 2019-07-12 7:38 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 36511 One further data-point, not immediately related to the recompile spam, but to the proposed work-around when working within the guix repository: The suggestion was that the default workflow should be to compile the scheme files using `make`. That does avoid the recompile spam, but: - adding a scheme file requires going through 1. edit Makefile.am 2. call bootstrap 3. call configure, remembering the mystery localstatedir argument 4. call make, waiting through documentation and nix-daemon compiles - I get random mysterious documentation builds throughout. E.g. just now: $ make make all-recursive make[1]: Entering directory '/home/rob/guix' Making all in po/guix make[2]: Entering directory '/home/rob/guix/po/guix' make[2]: Leaving directory '/home/rob/guix/po/guix' Making all in po/packages make[2]: Entering directory '/home/rob/guix/po/packages' make[2]: Leaving directory '/home/rob/guix/po/packages' make[2]: Entering directory '/home/rob/guix' Updating ./doc/version.texi Updating ./doc/version-de.texi Updating ./doc/version-es.texi Updating ./doc/version-fr.texi Updating ./doc/version-ru.texi Updating ./doc/version-zh_CN.texi CXX nix/nix-daemon/guix_daemon-nix-daemon.o […] CXXLD guix-daemon GEN scripts/guix Compiling Scheme modules... [ 12%] LOAD guix/build-system/elm.scm ;;; note: source file ./guix/config.scm ;;; newer than compiled /home/rob/guix/guix/config.go ;;; note: source file ./guix/config.scm ;;; newer than compiled /home/rob/guix/guix/config.go [ 25%] LOAD guix/build/elm-build-system.scm guix/build/elm-build-system.scm:127:1: missing closing parenthesis ## call make again with no edits $ make make all-recursive make[1]: Entering directory '/home/rob/guix' Making all in po/guix make[2]: Entering directory '/home/rob/guix/po/guix' make[2]: Leaving directory '/home/rob/guix/po/guix' Making all in po/packages make[2]: Entering directory '/home/rob/guix/po/packages' make[2]: Leaving directory '/home/rob/guix/po/packages' make[2]: Entering directory '/home/rob/guix' MAKEINFO doc/guix.info MAKEINFO doc/guix.de.info MAKEINFO doc/guix.es.info MAKEINFO doc/guix.fr.info MAKEINFO doc/guix.ru.info ./doc/guix.ru.texi:913: warning: accent command `@,' must not be followed by whitespace Wide character in warn at /gnu/store/yrgwwr35l01qvnlqgr6d4wbwky3b1d74-profile/bin/makeinfo line 720. ./doc/guix.ru.texi:3881: warning: `.' or `,' must follow @xref, not д MAKEINFO doc/guix.zh_CN.info Compiling Scheme modules... [ 12%] LOAD guix/build-system/elm.scm ;;; note: source file ./guix/config.scm ;;; newer than compiled /home/rob/guix/guix/config.go ;;; note: source file ./guix/config.scm ;;; newer than compiled /home/rob/guix/guix/config.go [ 25%] LOAD guix/build/elm-build-system.scm guix/build/elm-build-system.scm:127:1: missing closing parenthesis Some deprecated features have been used. Set the environment variable GUILE_WARN_DEPRECATED to "detailed" and rerun the program to get more information. Set it to "no" to suppress this message. make[2]: *** [Makefile:5765: make-go] Error 1 make[2]: Leaving directory '/home/rob/guix' make[1]: *** [Makefile:4836: all-recursive] Error 1 make[1]: Leaving directory '/home/rob/guix' make: *** [Makefile:3226: all] Error 2 Let me know if these should be considered separate bugs worth filing. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#36511: extraneous recompiles of scm files while editing gnu/packages/ 2019-07-12 7:38 ` Robert Vollmert @ 2019-07-12 20:50 ` Ludovic Courtès 0 siblings, 0 replies; 11+ messages in thread From: Ludovic Courtès @ 2019-07-12 20:50 UTC (permalink / raw) To: Robert Vollmert; +Cc: 36511 Hi, Robert Vollmert <rob@vllmrt.net> skribis: > The suggestion was that the default workflow should be to compile the > scheme files using `make`. That does avoid the recompile spam, but: > > - adding a scheme file requires going through > 1. edit Makefile.am > 2. call bootstrap > 3. call configure, remembering the mystery localstatedir argument > 4. call make, waiting through documentation and nix-daemon compiles You only have to type ‘make’, nothing more. ‘bootstrap’ and ‘configure’ only need to be invoked the first time. > - I get random mysterious documentation builds throughout. E.g. just now: I think ‘make’ is behaving as expected here, I don’t see anything mysterious here. > Let me know if these should be considered separate bugs worth filing. Yeah, I think we should try to keep issues focused. The issues you reported are all important, but we need to boil them down to specific problems we can address. Thank you, Ludo’. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-07-13 8:34 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-07-05 14:22 bug#36511: extraneous recompiles of scm files while editing gnu/packages/ Robert Vollmert 2019-07-05 20:40 ` Ludovic Courtès 2019-07-08 7:50 ` Robert Vollmert 2019-07-08 10:03 ` Ludovic Courtès 2019-07-08 11:46 ` Robert Vollmert 2019-07-08 22:15 ` Ludovic Courtès 2019-07-09 15:45 ` Robert Vollmert 2019-07-12 7:40 ` Robert Vollmert 2019-07-13 8:33 ` Ludovic Courtès 2019-07-12 7:38 ` Robert Vollmert 2019-07-12 20:50 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).