unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: John Kehayias <john.kehayias@protonmail.com>
Cc: 52152@debbugs.gnu.org
Subject: bug#52152: Haskell Hackage importer can create dependency cycles
Date: Tue, 08 Mar 2022 11:04:52 +0100	[thread overview]
Message-ID: <87k0d44v5n.fsf@gmail.com> (raw)
In-Reply-To: <PJLtWYsg3w55CVPxc5TisRIwMJwKINms6geUUEl4CSd0gUKVIE0JoQKIWKAWfOA0GdCOdOGIrZStFXC--m5k339PJsIvi9X8XxJrU6HK-Ag=@protonmail.com> (John Kehayias's message of "Sun, 28 Nov 2021 02:50:12 +0000")

Hi,

On dim., 28 nov. 2021 at 02:50, John Kehayias <john.kehayias@protonmail.com> wrote:

> 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:

The difference comes from upstream:

 - hackage fetches from
   https://hackage.haskell.org/package/OneTuple/OneTuple-0.3.1.tar.gz
 - stackage fetches from
   https://hackage.haskell.org/package/OneTuple/OneTuple-0.2.2.1.tar.gz

Therefore, it is not the same version.  Let compare:

--8<---------------cut here---------------start------------->8---
$ guix import hackage OneTuple

Starting download of /tmp/guix-file.7VmwVe
From https://hackage.haskell.org/package/OneTuple/OneTuple-0.3.1.tar.gz...
 ….3.1.tar.gz  5KiB                   3.8MiB/s 00:00 [##################] 100.0%
(package
  (name "ghc-onetuple")
  (version "0.3.1")
[...]
        (base32 "1vry21z449ph9k61l5zm7mfmdwkwszxqdlawlhvwrd1gsn13d1cq"))))
[...]

  (inputs (list ghc-hashable ghc-base-orphans))
  (native-inputs (list ghc-onetuple ghc-onetuple))
  (arguments
    `(#:cabal-revision
      ("2" "0gk0656igxl0km9kgh8v7b5vq74kla59ka9hvpzq57njr6bc0j58")))
[...]

  (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).")

$ guix import stackage OneTuple

Starting download of /tmp/guix-file.WpQBJV
From https://hackage.haskell.org/package/OneTuple/OneTuple-0.2.2.1.tar.gz...
 …2.2.1.tar.gz                                10.9MiB/s 00:00 | 3KiB transferred
(package
  (name "ghc-onetuple")
  (version "0.2.2.1")
[...]
        (base32 "15ls6kkf953288q7rsc49bvw467ll4nq28hvsgbaazdn7hf75ixc"))))
[...]

  (arguments
    `(#:cabal-revision
      ("1" "03mygfz7lv6h0i30bq2grvmahbg9j7a36mc0wls2nr81dv9p19s7")))
[...]

  (description
    "This package provides a singleton tuple data type . > data OneTuple a = OneTuple
a .  Note: it's not a @newtype@")
--8<---------------cut here---------------end--------------->8---


And the "cycle" seems expected from OneTuple.cabal:

--8<---------------cut here---------------start------------->8---
$ cat OneTuple-0.3.1/OneTuple.cabal
cabal-version:      >=1.10

[...]

test-suite th
  type:             exitcode-stdio-1.0
  default-language: Haskell98
  hs-source-dirs:   test
  main-is:          th.hs
  build-depends:
      base
    , OneTuple
    , template-haskell
--8<---------------cut here---------------end--------------->8---


Well, for what they are worth, based on this remark, two points:

 1. I do not know what could be done on Guix side.  An idea?
 2. Usually, it is recommended to follow LTS and so Stackage.


Cheers,
simon




  reply	other threads:[~2022-03-08 10:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-28  2:50 bug#52152: Haskell Hackage importer can create dependency cycles John Kehayias via Bug reports for GNU Guix
2022-03-08 10:04 ` zimoun [this message]
2022-04-07  7:45   ` zimoun
2022-04-07  8:10     ` Philip Munksgaard
2022-06-07  7:31 ` Lars-Dominik Braun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k0d44v5n.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=52152@debbugs.gnu.org \
    --cc=john.kehayias@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).