From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 27 21:50:31 2021 Received: (at submit) by debbugs.gnu.org; 28 Nov 2021 02:50:31 +0000 Received: from localhost ([127.0.0.1]:34771 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrAGt-0000iE-H9 for submit@debbugs.gnu.org; Sat, 27 Nov 2021 21:50:31 -0500 Received: from lists.gnu.org ([209.51.188.17]:45662) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrAGs-0000i7-Li for submit@debbugs.gnu.org; Sat, 27 Nov 2021 21:50:31 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51646) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mrAGr-0006rz-FL for bug-guix@gnu.org; Sat, 27 Nov 2021 21:50:30 -0500 Received: from mail-4322.protonmail.ch ([185.70.43.22]:32753) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mrAGo-00068K-JP for bug-guix@gnu.org; Sat, 27 Nov 2021 21:50:29 -0500 Date: Sun, 28 Nov 2021 02:50:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1638067816; bh=DQ4bh+bfqVV3+UuvimEbAmbEmGQ2GE/66xwziDD/GJE=; h=Date:To:From:Reply-To:Subject:From; b=Wv0op5RoRrjcK2u7NGYHXZlh3zgFM8Hh9RlHOFeUoIxv3vqmxVZqXonzTXbQTGt/U tWFThMVEcBrG2/HKNHw9denKaYSlhYP4tgBl40/N+LdbcofU60fcgXqgwQMK6jkmsx FxOlvbO9abpKrPXYCUDpWofZ+Q/yq+bQiHhz6q3s= To: "bug-guix@gnu.org" From: John Kehayias Subject: Haskell Hackage importer can create dependency cycles Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch Received-SPF: pass client-ip=185.70.43.22; envelope-from=john.kehayias@protonmail.com; helo=mail-4322.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: John Kehayias Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hello, While working on importing a bunch of Haskell packages, I came across a cyc= le created by the importer (twice actually, but forgot the other one). Perh= aps 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... =E2=80=A60.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... =E2=80=A6.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 =3D 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 fro= m 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... =E2=80=A60.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..= . =E2=80=A62.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 =3D 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