Hi, I notice that with a recent Guix checkout (commit d8e85b20325073d90cfaf3060889d59d91362deb) the hackage importer doesn't work and the problem seems to be with Guile itself or the lalr parser coming with it:
------------------------------------------------------------------------------------------------------- GNU Guile 2.0.13 Copyright (C) 1995-2016 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> ,m (guix import hackage) scheme@(guix import hackage)> (canonical-newline-port (http-fetch "https://hackage.haskell.org/package/hmatrix/hmatrix.cabal" #:verify-certificate? #f)) $2 = #<input: r6rs-custom-binary-input-port 1b770d0> scheme@(guix import hackage)> (read-cabal $2) system/base/lalr.upstream.scm:1851:2: In procedure ___push: system/base/lalr.upstream.scm:1851:2: Wrong number of arguments to #<procedure ___push (delta new-category lvalue tok)> Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guix import hackage) [1]> ,locals Local variables: $3 = delta = 1 $4 = new-category = 6 $5 = lvalue = (#<lexical-token category: PROPERTY source: #<source-location input: "…>) While executing meta-command: ERROR: In procedure frame-local-ref: Argument 2 out of range: 3 scheme@(guix import hackage) [1]> ------------------------------------------------------------------------------------------------------- Notice that inspecting the stack of the backtrace results in an error! The importer does work as expected with Guile 2.0.11: ------------------------------------------------------------------------------------------------------- GNU Guile 2.0.11 Copyright (C) 1995-2014 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> ,m (guix import hackage) scheme@(guix import hackage)> (canonical-newline-port (http-fetch "https://hackage.haskell.org/package/hmatrix/hmatrix.cabal" #:verify-certificate? #f)) $1 = #<input: r6rs-custom-binary-input-port 24bc340> scheme@(guix import hackage)> (read-cabal $1) $2 = (("name" ("hmatrix")) ("version" ("0.18.0.0")) ("license" ("BSD3")) ("license-file" ("LICENSE")) ("author" ("Alberto Ruiz")) ("maintainer" ("Alberto Ruiz")) ("stability" ("provisional")) ("homepage" ("https://github.com/albertoruiz/hmatrix")) ("synopsis" ("Numeric Linear Algebra")) ("description" ("Linear systems, matrix decompositions, and other numerical computations based on BLAS and LAPACK. . Standard interface: \"Numeric.LinearAlgebra\". . Safer interface with statically checked dimensions: \"Numeric.LinearAlgebra.Static\". . Code examples: <http://dis.um.es/~alberto/hmatrix/hmatrix.html>")) ("category" ("Math")) ("tested-with" ("GHC==8.0")) ("cabal-version" (">=1.8")) ("build-type" ("Simple")) ("extra-source-files" ("THANKS.md CHANGELOG")) ("extra-source-files" ("src/Internal/C/lapack-aux.h")) (section flag "openblas" (("description" ("Link with OpenBLAS (https://github.com/xianyi/OpenBLAS) optimized libraries.")) ("default" ("False")) ("manual" ("True")))) (section library (("build-depends" ("base >= 4.8 && < 5, binary, array, deepseq, random, split, bytestring, storable-complex, vector >= 0.8")) ("hs-source-dirs" ("src")) ("exposed-modules" ("Numeric.LinearAlgebra Numeric.LinearAlgebra.Devel Numeric.LinearAlgebra.Data Numeric.LinearAlgebra.HMatrix Numeric.LinearAlgebra.Static")) ("other-modules" ("Internal.Vector Internal.Devel Internal.Vectorized Internal.Matrix Internal.ST Internal.IO Internal.Element Internal.Conversion Internal.LAPACK Internal.Numeric Internal.Algorithms Internal.Random Internal.Container Internal.Sparse Internal.Convolution Internal.Chain Numeric.Vector Internal.CG Numeric.Matrix Internal.Util Internal.Modular Internal.Static")) ("c-sources" ("src/Internal/C/lapack-aux.c src/Internal/C/vector-aux.c")) ("extensions" ("ForeignFunctionInterface")) ("ghc-options" ("-Wall -fno-warn-missing-signatures -fno-warn-orphans -fprof-auto")) ("cc-options" ("-O4 -Wall")) (if (arch "x86_64") (("cc-options" ("-msse2"))) ()) (if (arch "i386") (("cc-options" ("-msse2"))) ()) (if (os "OSX") ((if (flag "openblas") (("extra-lib-dirs" ("/opt/local/lib/openblas/lib")) ("extra-libraries" ("openblas"))) (("extra-libraries" ("blas lapack")))) ("extra-lib-dirs" ("/opt/local/lib/")) ("include-dirs" ("/opt/local/include/")) ("extra-lib-dirs" ("/usr/local/lib/")) ("include-dirs" ("/usr/local/include/")) (if (arch "i386") (("cc-options" ("-arch i386"))) ()) ("frameworks" ("Accelerate"))) ()) (if (os "freebsd") ((if (flag "openblas") (("extra-lib-dirs" ("/usr/local/lib/openblas/lib")) ("extra-libraries" ("openblas"))) (("extra-libraries" ("blas lapack"))))) ()) ("extra-lib-dirs" ("/usr/local/lib")) ("include-dirs" ("/usr/local/include")) ("extra-libraries" ("gfortran")) (if (os "windows") ((if (flag "openblas") (("extra-libraries" ("libopenblas, libgcc_s_seh-1, libgfortran-3, libquadmath-0"))) (("extra-libraries" ("blas lapack"))))) ()) (if (os "linux") ((if (flag "openblas") (("extra-lib-dirs" ("/usr/lib/openblas/lib")) ("extra-libraries" ("openblas"))) (("extra-libraries" ("blas lapack")))) (if (arch "x86_64") (("cc-options" ("-fPIC"))) ())) ()))) (section source-repository "head" (("type" ("git")) ("location" ("https://github.com/albertoruiz/hmatrix"))))) scheme@(guix import hackage)> ------------------------------------------------------------------------------------------------------- With the current version of Guile all hackage tests in the test-suite do fail for me. Regards, Fede