* bug#48944: haskell build-system cannot build pcg-random
@ 2021-06-10 8:45 Philip Munksgaard
2021-06-10 16:26 ` zimoun
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Philip Munksgaard @ 2021-06-10 8:45 UTC (permalink / raw)
To: 48944
[-- Attachment #1: Type: text/plain, Size: 2314 bytes --]
I've used `guix import hackage pcg-random` to create the attached pcg-random.scm. When trying to build it using `guix build -f pcg-random.scm`, I get the following error:
starting phase `configure'
running "runhaskell Setup.hs" with command "configure" and parameters ("--prefix=/gnu/store/s5fjjd04x0n5f5dr9rgaf963nfqwf3dz-ghc-pcg-random-0.1.3.7" "--libdir=/gnu/store/s5fjjd04x0n5f5dr9rgaf963nfqwf3dz-ghc-pcg-random-0.1.3.7/lib" "--docdir=/gnu/store/s5fjjd04x0n5f5dr9rgaf963nfqwf3dz-ghc-pcg-random-0.1.3.7/share/doc/ghc-pcg-random-0.1.3.7" "--libsubdir=$compiler/$pkg-$version" "--package-db=/tmp/guix-build-ghc-pcg-random-0.1.3.7.drv-0/package.conf.d" "--global" "--enable-tests" "--enable-shared" "--enable-executable-dynamic" "--ghc-option=-fPIC" "--ghc-option=-optl=-Wl,-rpath=/gnu/store/s5fjjd04x0n5f5dr9rgaf963nfqwf3dz-ghc-pcg-random-0.1.3.7/lib/$compiler/$pkg-$version")
Setup.hs:3:1: error:
Could not find module ‘Distribution.Extra.Doctest’
Perhaps you meant Distribution.Simple.Doctest (from Cabal-2.4.0.1)
Use -v to see a list of the files searched for.
|
3 | import Distribution.Extra.Doctest (defaultMainWithDoctests)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
command "runhaskell" "Setup.hs" "configure" "--prefix=/gnu/store/s5fjjd04x0n5f5dr9rgaf963nfqwf3dz-ghc-pcg-random-0.1.3.7" "--libdir=/gnu/store/s5fjjd04x0n5f5dr9rgaf963nfqwf3dz-ghc-pcg-random-0.1.3.7/lib" "--docdir=/gnu/store/s5fjjd04x0n5f5dr9rgaf963nfqwf3dz-ghc-pcg-random-0.1.3.7/share/doc/ghc-pcg-random-0.1.3.7" "--libsubdir=$compiler/$pkg-$version" "--package-db=/tmp/guix-build-ghc-pcg-random-0.1.3.7.drv-0/package.conf.d" "--global" "--enable-tests" "--enable-shared" "--enable-executable-dynamic" "--ghc-option=-fPIC" "--ghc-option=-optl=-Wl,-rpath=/gnu/store/s5fjjd04x0n5f5dr9rgaf963nfqwf3dz-ghc-pcg-random-0.1.3.7/lib/$compiler/$pkg-$version" failed with status 1
builder for `/gnu/store/7jkcigan6ygy42c3ivy9spfqh5pfx4qx-ghc-pcg-random-0.1.3.7.drv' failed with exit code 1
build of /gnu/store/7jkcigan6ygy42c3ivy9spfqh5pfx4qx-ghc-pcg-random-0.1.3.7.drv failed
View build log at '/var/log/guix/drvs/7j/kcigan6ygy42c3ivy9spfqh5pfx4qx-ghc-pcg-random-0.1.3.7.drv.bz2'.
guix build: error: build of `/gnu/store/7jkcigan6ygy42c3ivy9spfqh5pfx4qx-ghc-pcg-random-0.1.3.7.drv' failed
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: pcg-random.scm --]
[-- Type: text/x-scheme; name="pcg-random.scm", Size: 2982 bytes --]
(use-modules (guix packages))
(use-modules (guix download))
(use-modules (guix build-system haskell))
(use-modules (guix licenses))
(use-modules (gnu packages))
(use-modules (gnu packages haskell))
(use-modules (gnu packages haskell-xyz))
(use-modules (gnu packages haskell-crypto))
(define-public ghc-cabal-doctest
(package
(name "ghc-cabal-doctest")
(version "1.0.8")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/cabal-doctest/cabal-doctest-"
version
".tar.gz"))
(sha256
(base32
"03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("2"
"05v1awad3d1wvc763xcgvxm4n6n7bs7byc6s14kdbw35zcaddlcb")))
(home-page
"https://github.com/phadej/cabal-doctest")
(synopsis
"A Setup.hs helper for doctests running")
(description
"Currently (beginning of 2017), there isn't @cabal doctest@ command. Yet, to properly work doctest needs plenty of configuration. This library provides the common bits for writing custom Setup.hs See <https://github.com/haskell/cabal/issues/2327 Cabal/2327> for the progress of @cabal doctest@, i.e. whether this library is obsolete.")
(license bsd-3)))
(define-public ghc-pcg-random
(package
(name "ghc-pcg-random")
(version "0.1.3.7")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/pcg-random/pcg-random-"
version
".tar.gz"))
(sha256
(base32
"1l6jq5nvmg1ygk7i7g50s47p6qkh74p9avl1wbcxdl5m85lc5j76"))))
(build-system haskell-build-system)
(inputs
`(("ghc-primitive" ,ghc-primitive)
("ghc-random" ,ghc-random)
("ghc-entropy" ,ghc-entropy)
("ghc-doctest" ,ghc-doctest)
("ghc-cabal-doctest" ,ghc-cabal-doctest)))
(native-inputs
`(("ghc-doctest" ,ghc-doctest)
("ghc-cabal-doctest" ,ghc-cabal-doctest)))
(home-page
"http://github.com/cchalmers/pcg-random")
(synopsis
"Haskell bindings to the PCG random number generator.")
(description
"PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. . This library implements bindings to the standard C implementation. This includes the standard, unique, fast and single variants in the pcg family. There is a pure implementation that can be used as a generator with the random package as well as a faster primitive api that includes functions for generating common types. . The generators in this module are suitable for use in parallel but make sure threads don't share the same generator or things will go horribly wrong.")
(license bsd-3)))
ghc-pcg-random
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#48944: haskell build-system cannot build pcg-random
2021-06-10 8:45 bug#48944: haskell build-system cannot build pcg-random Philip Munksgaard
@ 2021-06-10 16:26 ` zimoun
2021-07-01 16:28 ` Philip Munksgaard
2021-06-23 21:54 ` John Kehayias via Bug reports for GNU Guix
2022-04-06 13:40 ` bug#48944: Philip Munksgaard
2 siblings, 1 reply; 5+ messages in thread
From: zimoun @ 2021-06-10 16:26 UTC (permalink / raw)
To: Philip Munksgaard; +Cc: 48944
Hi,
On Thu, 10 Jun 2021 at 10:47, Philip Munksgaard <philip@munksgaard.me> wrote:
> Setup.hs:3:1: error:
> Could not find module ‘Distribution.Extra.Doctest’
> Perhaps you meant Distribution.Simple.Doctest (from Cabal-2.4.0.1)
> Use -v to see a list of the files searched for.
> |
> 3 | import Distribution.Extra.Doctest (defaultMainWithDoctests)
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I have not investigated more but I guess the issue is from the new
package ghc-cabal-doctest which is probably poorly configured.
All the best,
simon
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#48944: haskell build-system cannot build pcg-random
2021-06-10 8:45 bug#48944: haskell build-system cannot build pcg-random Philip Munksgaard
2021-06-10 16:26 ` zimoun
@ 2021-06-23 21:54 ` John Kehayias via Bug reports for GNU Guix
2022-04-06 13:40 ` bug#48944: Philip Munksgaard
2 siblings, 0 replies; 5+ messages in thread
From: John Kehayias via Bug reports for GNU Guix @ 2021-06-23 21:54 UTC (permalink / raw)
To: 48944@debbugs.gnu.org
[-- Attachment #1: Type: text/plain, Size: 1057 bytes --]
Hello,
I also see this error for building packages that need cabal-doctest, as the configure step needs the package database. There's actually some packages in guix that already modify the configure step to do this, like ghc-cairo: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/haskell-xyz.scm#n1465
As noted there, the package database should be passed to runhaskell itself, not just what it runs. This would allow other packages that need a module for configuring to work. Attached is a patch to modify haskell-build-system to do this, though not only for the configure command (seemed easiest to just do that for now). I'm submitting the patch with comments there about possible modifications.
I can confirm with this that pcg-random builds, as well as packages I've been trying that need cabal-doctest (note, I tested using guix's package of cabal-doctest, no need to add that as well).
Comments welcome here, especially as I'm pretty new to Haskell still and guix completely, or on patch submission (sending shortly).
John
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: runhaskell-add-pkgdb.patch --]
[-- Type: text/x-patch; name=runhaskell-add-pkgdb.patch, Size: 904 bytes --]
diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm
index 28253ce2f0..be20f13e10 100644
--- a/guix/build/haskell-build-system.scm
+++ b/guix/build/haskell-build-system.scm
@@ -63,13 +63,14 @@
((file-exists? "Setup.lhs")
"Setup.lhs")
(else
- #f))))
+ #f)))
+ (pkgdb (string-append "-package-db=" %tmp-db-dir)))
(if setup-file
(begin
(format #t "running \"runhaskell Setup.hs\" with command ~s \
and parameters ~s~%"
command params)
- (apply invoke "runhaskell" setup-file command params))
+ (apply invoke "runhaskell" pkgdb setup-file command params))
(error "no Setup.hs nor Setup.lhs found"))))
(define* (configure #:key outputs inputs tests? (configure-flags '())
--
2.32.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#48944: haskell build-system cannot build pcg-random
2021-06-10 16:26 ` zimoun
@ 2021-07-01 16:28 ` Philip Munksgaard
0 siblings, 0 replies; 5+ messages in thread
From: Philip Munksgaard @ 2021-07-01 16:28 UTC (permalink / raw)
Cc: 48944
Hi John Kehayias,
The patch seems to work! What will it take for us to get it merged?
Best,
Philip
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#48944:
2021-06-10 8:45 bug#48944: haskell build-system cannot build pcg-random Philip Munksgaard
2021-06-10 16:26 ` zimoun
2021-06-23 21:54 ` John Kehayias via Bug reports for GNU Guix
@ 2022-04-06 13:40 ` Philip Munksgaard
2 siblings, 0 replies; 5+ messages in thread
From: Philip Munksgaard @ 2022-04-06 13:40 UTC (permalink / raw)
To: 48944-done
Fixed by https://issues.guix.gnu.org/49199
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-04-06 13:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-10 8:45 bug#48944: haskell build-system cannot build pcg-random Philip Munksgaard
2021-06-10 16:26 ` zimoun
2021-07-01 16:28 ` Philip Munksgaard
2021-06-23 21:54 ` John Kehayias via Bug reports for GNU Guix
2022-04-06 13:40 ` bug#48944: Philip Munksgaard
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.