GNU bug report logs - #54760
import: hackage: Internal libraries are not filtered out of dependency list

Previous Next

Package: guix;

Reported by: "Philip Munksgaard" <philip <at> munksgaard.me>

Date: Thu, 7 Apr 2022 08:19:02 UTC

Severity: normal

Done: Lars-Dominik Braun <lars <at> 6xq.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 54760 in the body.
You can then email your comments to 54760 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#54760; Package guix. (Thu, 07 Apr 2022 08:19:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Philip Munksgaard" <philip <at> munksgaard.me>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Thu, 07 Apr 2022 08:19:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Philip Munksgaard" <philip <at> munksgaard.me>
To: bug-guix <at> gnu.org
Subject: import: hackage: Internal libraries are not filtered out of
 dependency list
Date: Thu, 07 Apr 2022 10:18:15 +0200
The attoparsec package on hackage defines multiple internal libraries inside one package, named "attoparsec" and "attoparsec-internal", with the first depending on the latter. Importing attoparsec using `guix import hackage attoparsec` therefore yields the following erroneous package definition:

(define-public ghc-attoparsec
  (package
    (name "ghc-attoparsec")
    (version "0.14.4")
    (source
      (origin
        (method url-fetch)
        (uri (hackage-uri "attoparsec" version))
        (sha256
          (base32 "0v4yjz4qi8bwhbyavqxlhsfb1iv07v10gxi64khmsmi4hvjpycrz"))))
    (build-system haskell-build-system)
    (inputs (list ghc-scientific ghc-attoparsec-internal))
    (native-inputs
      (list ghc-quickcheck
            ghc-quickcheck-unicode
            ghc-tasty
            ghc-tasty-quickcheck
            ghc-vector))
    (arguments
      `(#:cabal-revision
        ("1" "149ihklmwnl13mmixq6iq5gzggkgqwsqrjlg2fshqwwbvbd4nn3r")))
    (home-page "https://github.com/bgamari/attoparsec")
    (synopsis "Fast combinator parsing for bytestrings and text")
    (description
      "This package provides a fast parser combinator library, aimed particularly at
dealing efficiently with network protocols and complicated text/binary file
formats.")
    (license license:bsd-3)))

Note that `ghc-attoparsec-internal` is listed as a dependency of `ghc-attoparsec`. I believe that is incorrect, and that we should filter out the internal dependencies from `inputs`, just like we filter out `ghc-attoparsec` from the list of `native-inputs`.




Information forwarded to bug-guix <at> gnu.org:
bug#54760; Package guix. (Sun, 22 May 2022 09:38:02 GMT) Full text and rfc822 format available.

Message #8 received at 54760 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Philip Munksgaard <philip <at> munksgaard.me>
Cc: 54760 <at> debbugs.gnu.org
Subject: Re: import: hackage: Internal libraries are not filtered out of
 dependency list
Date: Sun, 22 May 2022 11:37:26 +0200
[Message part 1 (text/plain, inline)]
Hello Philip,

> The attoparsec package on hackage defines multiple internal libraries inside one package, named "attoparsec" and "attoparsec-internal", with the first depending on the latter. Importing attoparsec using `guix import hackage attoparsec` therefore yields the following erroneous package definition: […]

attached patches should fix this. I tried them with both, attoparsec and
raaz, and internal libraries appear neither in inputs nor native inputs
any more.

Cheers,
Lars

[0001-import-cabal-Support-library-names.patch (text/plain, attachment)]
[0002-import-hackage-Filter-internal-libraries-from-inputs.patch (text/plain, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#54760; Package guix. (Thu, 02 Jun 2022 09:54:02 GMT) Full text and rfc822 format available.

Message #11 received at 54760 <at> debbugs.gnu.org (full text, mbox):

From: "Philip Munksgaard" <philip <at> munksgaard.me>
To: "Lars-Dominik Braun" <lars <at> 6xq.net>
Cc: 54760 <at> debbugs.gnu.org
Subject: Re: import: hackage: Internal libraries are not filtered out of
 dependency list
Date: Thu, 02 Jun 2022 11:53:28 +0200
Hi Lars,

On Sun, 22 May 2022, at 11:37, Lars-Dominik Braun wrote:
>> The attoparsec package on hackage defines multiple internal libraries inside one package, named "attoparsec" and "attoparsec-internal", with the first depending on the latter. Importing attoparsec using `guix import hackage attoparsec` therefore yields the following erroneous package definition: […]
>
> attached patches should fix this. I tried them with both, attoparsec and
> raaz, and internal libraries appear neither in inputs nor native inputs
> any more.
>

Indeed, that seems to work for those packages, but it still doesn't seem to work for OneTuple, as mentioned here: https://issues.guix.gnu.org/52152#3

Also, attoparsec still won't build with result of the import, but for different reasons.




Information forwarded to bug-guix <at> gnu.org:
bug#54760; Package guix. (Thu, 02 Jun 2022 10:01:02 GMT) Full text and rfc822 format available.

Message #14 received at 54760 <at> debbugs.gnu.org (full text, mbox):

From: "Philip Munksgaard" <philip <at> munksgaard.me>
To: "Lars-Dominik Braun" <lars <at> 6xq.net>
Cc: 54760 <at> debbugs.gnu.org
Subject: Re: bug#54760: import: hackage: Internal libraries are not filtered
 out of dependency list
Date: Thu, 02 Jun 2022 11:59:40 +0200
On Thu, 2 Jun 2022, at 11:53, Philip Munksgaard wrote:
> Also, attoparsec still won't build with result of the import, but for 
> different reasons.

Actually, that's weird. Didn't attoparsec used to build?




Information forwarded to bug-guix <at> gnu.org:
bug#54760; Package guix. (Thu, 02 Jun 2022 11:32:02 GMT) Full text and rfc822 format available.

Message #17 received at 54760 <at> debbugs.gnu.org (full text, mbox):

From: "Philip Munksgaard" <philip <at> munksgaard.me>
To: "Lars-Dominik Braun" <lars <at> 6xq.net>
Cc: 54760 <at> debbugs.gnu.org
Subject: Re: bug#54760: import: hackage: Internal libraries are not filtered
 out of dependency list
Date: Thu, 02 Jun 2022 13:31:25 +0200
On Thu, 2 Jun 2022, at 11:59, Philip Munksgaard wrote:
> On Thu, 2 Jun 2022, at 11:53, Philip Munksgaard wrote:
>> Also, attoparsec still won't build with result of the import, but for 
>> different reasons.
>
> Actually, that's weird. Didn't attoparsec used to build?

Aha! The upgrade to GHC 9.0.0 caused ghc-hashable to break. I suppose many other packages could be broken as well.




Information forwarded to bug-guix <at> gnu.org:
bug#54760; Package guix. (Thu, 02 Jun 2022 11:58:01 GMT) Full text and rfc822 format available.

Message #20 received at 54760 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Philip Munksgaard <philip <at> munksgaard.me>
Cc: 54760 <at> debbugs.gnu.org
Subject: Re: bug#54760: import: hackage: Internal libraries are not filtered
 out of dependency list
Date: Thu, 2 Jun 2022 13:57:02 +0200
[Message part 1 (text/plain, inline)]
Hey,

> Indeed, that seems to work for those packages, but it still doesn't seem to work for OneTuple, as mentioned here:
I’m attaching a patch for that, please have a look. I’ll merge these
into master, since they don’t change any builds.

> Aha! The upgrade to GHC 9.0.0 caused ghc-hashable to break. I suppose many other packages could be broken as well.
I didn’t actually upgrade any packages on wip-haskell yet, so it’s
likely they fail with a newer GHC than 8.10.

Cheers,
Lars

[0001-import-hackage-Filter-upper-mixed-case-dependencies-.patch (text/plain, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#54760; Package guix. (Thu, 02 Jun 2022 12:48:02 GMT) Full text and rfc822 format available.

Message #23 received at 54760 <at> debbugs.gnu.org (full text, mbox):

From: "Philip Munksgaard" <philip <at> munksgaard.me>
To: "Lars-Dominik Braun" <lars <at> 6xq.net>
Cc: 54760 <at> debbugs.gnu.org
Subject: Re: bug#54760: import: hackage: Internal libraries are not filtered
 out of dependency list
Date: Thu, 02 Jun 2022 14:47:22 +0200
Hi again,

On Thu, 2 Jun 2022, at 13:57, Lars-Dominik Braun wrote:
> Hey,
>
>> Indeed, that seems to work for those packages, but it still doesn't seem to work for OneTuple, as mentioned here:
> I’m attaching a patch for that, please have a look. I’ll merge these
> into master, since they don’t change any builds.

That works, thanks!

>> Aha! The upgrade to GHC 9.0.0 caused ghc-hashable to break. I suppose many other packages could be broken as well.
> I didn’t actually upgrade any packages on wip-haskell yet, so it’s
> likely they fail with a newer GHC than 8.10.

Aha. Let me know if there's anything I can do to help.




Information forwarded to bug-guix <at> gnu.org:
bug#54760; Package guix. (Sun, 05 Jun 2022 09:44:02 GMT) Full text and rfc822 format available.

Message #26 received at 54760 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Philip Munksgaard <philip <at> munksgaard.me>
Cc: 54760 <at> debbugs.gnu.org
Subject: Re: bug#54760: import: hackage: Internal libraries are not filtered
 out of dependency list
Date: Sun, 5 Jun 2022 11:43:41 +0200
Hi Philip,

> Aha. Let me know if there's anything I can do to help.
at this point there’s two options:

1) We manually update all packages coming from Stackage (i.e. run `guix
refresh -t stackage` and adjust #:cabal-revision/inputs by hand)
2) We improve the updater so it automatically adjusts the entire package
– not just version and source – and then run `guix refresh`.

1 is more labor-intensive, but 2 might take more time to figure out.

Which option can you help with?

Thanks,
Lars





Reply sent to Lars-Dominik Braun <lars <at> 6xq.net>:
You have taken responsibility. (Mon, 06 Jun 2022 11:31:02 GMT) Full text and rfc822 format available.

Notification sent to "Philip Munksgaard" <philip <at> munksgaard.me>:
bug acknowledged by developer. (Mon, 06 Jun 2022 11:31:02 GMT) Full text and rfc822 format available.

Message #31 received at 54760-done <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Philip Munksgaard <philip <at> munksgaard.me>
Cc: 54760-done <at> debbugs.gnu.org
Subject: Re: import: hackage: Internal libraries are not filtered out of
 dependency list
Date: Mon, 6 Jun 2022 13:30:42 +0200
Hi,

fix pushed to master as c3fbaee34548fbfb1617dc7fccc94c598efbd7a6 and following.

Cheers,
Lars





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 05 Jul 2022 11:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 294 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.