(address . bug-guix@gnu.org)
I’m not sure if this lies more with guile or with guix, but there’s definitely
room for improvment either way.
I was working on https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36084,
haskell-check.scm was changed as follows:
- ("ghc-clock-bootstrap" ,ghc-clock-bootstrap)
+ ("ghc-clock-bootstrap" ,(@@ (gnu packages haskell) ghc-clock-bootstrap))
In haskell.scm I had a working package definition for ghc-clock-bootstrap,
and added a definition for ghc-clock along these lines:
+(define-public ghc-clock
+ (package
+ (inherit ghc-clock-bootstrap)
+ (name "ghc-clock")
+ ;;(version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "clock/"
+ "clock-" version ".tar.gz"))
+ (sha256
+ (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))
+ (patches
+ (search-patches
+ "ghc-clock-disable-library.patch"))))
+ (inputs
+ `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+ (arguments
+ `(#:tests? #t))))
+
This is broken due to the reference to version, fixed by uncommenting the
version field. The problem is with the error messages:
guix build ghc-clock
gave pages of warnings, ending with a plain
guix build: error: ghc-clock: unknown package
Knowing I’d edited haskell.scm and it worked fine before, I ran
guild compile haskell.scm
which hung.
Finally
guild compile haskell-check.scm
very subtly pointed me at some issue with version in haskell.scm. Full
output below.
~/guix [env]$ ./pre-inst-env guix build ghc-clock
;;; 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
guix build: warning: failed to load '(gnu packages abiword)':
In procedure string-append: Wrong type (expecting string): #<procedure version ()>
guix build: warning: failed to load '(gnu packages android)':
In procedure module-lookup: Unbound variable: googletest
guix build: warning: failed to load '(gnu packages antivirus)':
In procedure module-lookup: Unbound variable: bzip2
guix build: warning: failed to load '(gnu packages avr)':
In procedure module-lookup: Unbound variable: binutils
guix build: warning: failed to load '(gnu packages axoloti)':
In procedure module-lookup: Unbound variable: gcc-4.9
guix build: warning: failed to load '(gnu packages benchmark)':
In procedure module-lookup: Unbound variable: openmpi
guix build: warning: failed to load '(gnu packages bioconductor)':
In procedure module-lookup: Unbound variable: perl-module-build
guix build: warning: failed to load '(gnu packages bootloaders)':
no binding `bc' in module (gnu packages algebra)
guix build: warning: failed to load '(gnu packages chemistry)':
In procedure module-lookup: Unbound variable: python2-numpy
guix build: warning: failed to load '(gnu packages commencement)':
In procedure module-lookup: Unbound variable: gnu-make
guix build: warning: failed to load '(gnu packages debug)':
In procedure module-lookup: Unbound variable: gnu-make
guix build: warning: failed to load '(gnu packages games)':
In procedure module-lookup: Unbound variable: python
guix build: warning: failed to load '(gnu packages image-viewers)':
In procedure module-lookup: Unbound variable: curl
guix build: warning: failed to load '(gnu packages julia)':
In procedure module-lookup: Unbound variable: libuv
guix build: warning: failed to load '(gnu packages kodi)':
In procedure module-lookup: Unbound variable: libdvdnav
guix build: warning: failed to load '(gnu packages license)':
In procedure module-lookup: Unbound variable: perl
guix build: warning: failed to load '(gnu packages make-bootstrap)':
In procedure module-lookup: Unbound variable: coreutils
guix build: warning: failed to load '(gnu packages maven)':
In procedure module-lookup: Unbound variable: java-plexus-container-default
guix build: warning: failed to load '(gnu packages profiling)':
In procedure module-lookup: Unbound variable: openmpi
guix build: warning: failed to load '(gnu packages syndication)':
In procedure module-lookup: Unbound variable: curl
guix build: error: ghc-clock: unknown package
~/guix [env]$ ./pre-inst-env guild compile gnu/packages/haskell.scm
;;; 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
[ hangs ]
~/guix [env]$ ./pre-inst-env guild compile gnu/packages/haskell-check.scm
;;; 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
Backtrace:
In ice-9/eval.scm:
293:34 19 (_ #<module (#{ g77}#) c450a0>)
In ice-9/boot-9.scm:
2874:4 18 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
2071:24 17 (call-with-deferred-observers _)
2887:24 16 (_)
222:29 15 (map1 _)
222:17 14 (map1 (((gnu packages haskell)) ((gnu packages #)) (#) …))
2800:17 13 (resolve-interface (gnu packages haskell) #:select _ # _ …)
In ice-9/threads.scm:
390:8 12 (_ _)
In ice-9/boot-9.scm:
2726:13 11 (_)
In ice-9/threads.scm:
390:8 10 (_ _)
In ice-9/boot-9.scm:
2994:20 9 (_)
2312:4 8 (save-module-excursion _)
3014:26 7 (_)
In unknown file:
6 (primitive-load-path "gnu/packages/haskell" #<procedure…>)
In ice-9/eval.scm:
619:8 5 (_ #f)
626:19 4 (_ #<directory (gnu packages haskell) 1108b40>)
293:34 3 (_ #(#<directory (gnu packages haskell) 1108b40> "ghc…"))
293:34 2 (_ #(#(#<directory (gnu packages haskell) 1108b40> #) #))
In unknown file:
1 (string-append "https://hackage.haskell.org/package/"# …)
In ice-9/boot-9.scm:
752:25 0 (dispatch-exception _ _ _)
ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
In procedure string-append: Wrong type (expecting string): #<procedure version ()>