Message ID | CAKf5CqXw-e+Rc2ytbcEZhai2kv18YQutK1pr7un5P6UgpZ74kQ@mail.gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#38593] Remove invalid library directories from some haskell packages | expand |
I forgot to mention there are patches attached to this.
Hi, John Soo <jsoo1@asu.edu> skribis: > When compiling with ghc, I have been getting the message that the following > packages have invalid package databases. Does it hurt in practice, or are these invalid databases shadowed by the one created in the profile? > diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm > index fb6833207d..1d78eb7894 100644 > --- a/gnu/packages/haskell-xyz.scm > +++ b/gnu/packages/haskell-xyz.scm > @@ -5500,6 +5500,13 @@ representations of current time.") > ("ghc-quickcheck" ,ghc-quickcheck) > ("ghc-temporary" ,ghc-temporary) > ("hspec-discover" ,hspec-discover))) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (add-after 'install 'remove-lib > + (lambda* (#:key outputs #:allow-other-keys) > + (delete-file-recursively > + (string-append (assoc-ref outputs "out") "/lib"))))))) Should we add a phase in ‘haskell-build-system’ that systematically removes package databases? Thanks, Ludo’.
Hi Ludo and guix, Let me explain my problem. Maybe there is some other explanation here and these patches aren’t necessary. When I have stylish-haskell installed I have troubles compiling anything using plain ghc. I want to use the ghc packages in the profile but for some reason ghc reports the database is invalid because of at least stylish-haskell and I think I’ve seen hoogle as well. > Does it hurt in practice, or are these invalid databases shadowed by the > one created in the profile? I’m not sure what you mean here. I think I dod not explained my problem well enough. Does the explanation above make sense? Another possibility is the duplication of path variables in tmux where I usually operate. Thinking now, maybe another explanation is because stylish-haskell and ghc-stylish-haskell are fighting each other? They are duplicate packages and maybe if one is removed it will be ok? > Should we add a phase in ‘haskell-build-system’ that systematically > removes package databases? I don’t think so. I like having the profile packages. A lot of times I prefer to use plain ghc with the profile packages over cabal or another tool so I’m happy to have the packages in the database. The ones I was considering removing were ones that primarily provide a binary to use - hoogle and stylish-haskell are primarily used as binaries. However on second thought if I wanted to use them as libraries I think I would be confused as to why I could not. Overall I am leaning towards finding some other solution. Thanks everyone! John
I have not experienced this issue in a long time. I may come back to it if it ever happens again.
From c634931be8790342a0eaeec2bbef6f058c86448e Mon Sep 17 00:00:00 2001 From: John Soo <jsoo1@asu.edu> Date: Sun, 17 Nov 2019 01:19:20 -0800 Subject: [PATCH 2/3] gnu: hlint: Remove invalid lib directory. * gnu/packages/haskell-apps.scm (hlint): Remove invalid library from output. --- gnu/packages/haskell-apps.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index d5c31cbb0b..5a16b1bb91 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -441,6 +441,13 @@ used to keep a folder in sync between computers.") ("ghc-aeson" ,ghc-aeson) ("ghc-lib-parser" ,ghc-lib-parser) ("hscolour" ,hscolour))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'remove-lib + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/lib"))))))) (home-page "http://community.haskell.org/~ndm/hlint/") (synopsis "Suggest improvements for Haskell source code") (description "HLint reads Haskell programs and suggests changes that -- 2.24.0