bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#52152: Haskell Hackage importer can create dependency cycles


From: John Kehayias
Subject: bug#52152: Haskell Hackage importer can create dependency cycles
Date: Sun, 28 Nov 2021 02:50:12 +0000

Hello,

While working on importing a bunch of Haskell packages, I came across a cycle 
created by the importer (twice actually, but forgot the other one). Perhaps 
this is from the metadata from Hackage, as it doesn't create the cycle when 
importing from Stackage. Here are the outputs:

guix import hackage tuple -r

Starting download of /tmp/guix-file.emhMwD
>From https://hackage.haskell.org/package/tuple/tuple-0.3.0.2.tar.gz...
 …0.2.tar.gz  19KiB                   5.5MiB/s 00:00 [##################] 100.0%

Starting download of /tmp/guix-file.uzGEcb
>From https://hackage.haskell.org/package/OneTuple/OneTuple-0.3.1.tar.gz...
 ….3.1.tar.gz  5KiB                   3.1MiB/s 00:00 [##################] 100.0%
(define-public ghc-onetuple
  (package
    (name "ghc-onetuple")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (string-append
               "https://hackage.haskell.org/package/OneTuple/OneTuple-";
               version
               ".tar.gz"))
        (sha256
          (base32 "1vry21z449ph9k61l5zm7mfmdwkwszxqdlawlhvwrd1gsn13d1cq"))))
    (build-system haskell-build-system)
    (inputs (list ghc-hashable ghc-base-orphans))
    (native-inputs (list ghc-onetuple ghc-onetuple))
    (arguments
      `(#:cabal-revision
        ("2" "0gk0656igxl0km9kgh8v7b5vq74kla59ka9hvpzq57njr6bc0j58")))
    (home-page "http://hackage.haskell.org/package/OneTuple";)
    (synopsis "Singleton Tuple")
    (description
      "This package is a compatibility package for a singleton data type . > 
data Solo a = Solo a . Note: it's not a @newtype@ . @Solo@ is available in 
@base-4.16@ (GHC-9.2).")
    (license license:bsd-3)))

(define-public ghc-tuple
  (package
    (name "ghc-tuple")
    (version "0.3.0.2")
    (source
      (origin
        (method url-fetch)
        (uri (string-append
               "https://hackage.haskell.org/package/tuple/tuple-";
               version
               ".tar.gz"))
        (sha256
          (base32 "094nx29aahyrvbcn7yca9zs2a5rxz1is7510w1q43rpvza7hdjrg"))))
    (build-system haskell-build-system)
    (inputs (list ghc-onetuple))
    (home-page "http://hackage.haskell.org/package/tuple";)
    (synopsis "Various functions on tuples")
    (description
      "Various useful functions on tuples, overloaded on tuple size.")
    (license license:bsd-3)))

The above has the cycle (twice!) in ghc-onetuple. Doing the same import from 
Stackage is more sane:

guix import stackage tuple -r

Starting download of /tmp/guix-file.EvZM8X
>From https://hackage.haskell.org/package/tuple/tuple-0.3.0.2.tar.gz...
 …0.2.tar.gz  19KiB                   4.7MiB/s 00:00 [##################] 100.0%

Starting download of /tmp/guix-file.zMsjqd
>From https://hackage.haskell.org/package/OneTuple/OneTuple-0.2.2.1.tar.gz...
 …2.2.1.tar.gz  3KiB                  3.2MiB/s 00:00 [##################] 100.0%
(define-public ghc-onetuple
  (package
    (name "ghc-onetuple")
    (version "0.2.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (string-append
               "https://hackage.haskell.org/package/OneTuple/OneTuple-";
               version
               ".tar.gz"))
        (sha256
          (base32 "15ls6kkf953288q7rsc49bvw467ll4nq28hvsgbaazdn7hf75ixc"))))
    (build-system haskell-build-system)
    (arguments
      `(#:cabal-revision
        ("1" "03mygfz7lv6h0i30bq2grvmahbg9j7a36mc0wls2nr81dv9p19s7")))
    (home-page "http://hackage.haskell.org/package/OneTuple";)
    (synopsis "Singleton Tuple")
    (description
      "This package provides a singleton tuple data type . > data OneTuple a = 
OneTuple a . Note: it's not a @newtype@")
    (license license:bsd-3)))

(define-public ghc-tuple
  (package
    (name "ghc-tuple")
    (version "0.3.0.2")
    (source
      (origin
        (method url-fetch)
        (uri (string-append
               "https://hackage.haskell.org/package/tuple/tuple-";
               version
               ".tar.gz"))
        (sha256
          (base32 "094nx29aahyrvbcn7yca9zs2a5rxz1is7510w1q43rpvza7hdjrg"))))
    (build-system haskell-build-system)
    (inputs (list ghc-onetuple))
    (home-page "http://hackage.haskell.org/package/tuple";)
    (synopsis "Various functions on tuples")
    (description
      "Various useful functions on tuples, overloaded on tuple size.")
    (license license:bsd-3)))

John





reply via email to

[Prev in Thread] Current Thread [Next in Thread]