-
-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
haskellngPackages.idris standard libraries are missing from the derivation #7014
Comments
Well, I guess we could keep the old versions around just so that Idris can compile. It sucks that this is necessary, though. 😲 |
They are happy to increase the bounds, but my understanding is they want more than just "it compiles", but more "it has been tested and shown to work". |
Personally, I don't know much about Idris, so take my opinions on this matter with a gain of salt, but I reckon that making it compile is the first step to getting the code tested. If people cannot build Idris with recent version of its dependencies, how are they going to discover whether it works or not? Anyway, I'll add the missing version of blaze and friends so that we can build the current version in Nix. |
Automated tests > fallible humans. Even better are real Idris packages building against a nice Idris builder that uses the Idris package 😄 I think @puffnfresh was working on such a thing at some point. |
…is happy Required for NixOS/nixpkgs#7014.
…is happy Required for NixOS/nixpkgs#7014.
Now Idris builds but doesn't work properly
(I'm at b3f76d6.) FWIW, Idris installed using cabal-install works. |
https://github.com/idris-hackers/idrispkgs @falsifian I had that problem upgrading Idris in that repo recently. No idea what changed in the build process to make that happen 😭 |
I know the problem though: for some reason the Haskell/Cabal + Nix build doesn't copy across the library directories which are meant to go into 😿 |
Is it possible that Idris can't deal with being installed by |
Their https://github.com/idris-lang/Idris-dev/blob/master/Setup.hs seems to have generalized code intended to handle both Attempting to ping @david-christiansen (random contributor to Idris's Setup.hs, but GitHub isn't auto-completing it) --- nix-specific stuff aside, does this problem of libraries not being copied over look familiar? |
I did a diff between the versions of @@ -57,6 +57,13 @@ usesGMP flags =
Just False -> False
Nothing -> True
+execOnly :: S.ConfigFlags -> Bool
+execOnly flags =
+ case lookup (FlagName "execonly") (S.configConfigurationsFlags flags) of
+ Just True -> True
+ Just False -> False
+ Nothing -> True
+
isRelease :: S.ConfigFlags -> Bool
isRelease flags =
case lookup (FlagName "release") (S.configConfigurationsFlags flags) of
@@ -106,7 +113,7 @@ generateVersionModule verbosity dir release = do
"gitHash :: String\n" ++
if release
then "gitHash = \"\"\n"
- else "gitHash = \"-git:" ++ h ++ "\"\n"
+ else "gitHash = \"git:" ++ h ++ "\"\n"
-- Generate a module that contains the lib path for a freestanding Idris
generateTargetModule verbosity dir targetDir = do
@@ -176,7 +183,7 @@ getVersion args flags = do
let buildinfo = (emptyBuildInfo { cppOptions = ["-DVERSION="++hash] }) :: BuildInfo
return (Just buildinfo, [])
-idrisBuild _ flags _ local = do
+idrisBuild _ flags _ local = unless (execOnly (configFlags local)) $ do
buildStdLib
buildRTS
where
@@ -199,7 +206,7 @@ idrisBuild _ flags _ local = do
-- -----------------------------------------------------------------------------
-- Copy/Install
-idrisInstall verbosity copy pkg local = do
+idrisInstall verbosity copy pkg local = unless (execOnly (configFlags local)) $ do
installStdLib
installRTS
where So a condition for installing the stdlib has been added. This must have broken the Nix build somehow. |
@david-christiansen should that condition for |
Success!
|
Awesome; thanks! So does Haskellng get updated all at once to hackage latest whenever someone runs a script? |
@falsifian, I regularly update the Haskell NG package set. Once the Idris team releases a new version with the fix, we'll have it shortly after. |
The Idris team specifically want to keep the bounds as they are - I'm not sure how Haskell ng would solve this problem.
The text was updated successfully, but these errors were encountered: