unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* 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-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-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: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

* 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

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).