From unknown Fri Aug 08 22:53:54 2025 X-Loop: help-debbugs@gnu.org Subject: bug#61033: opam importer can't handle list field Resent-From: Csepp Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 24 Jan 2023 02:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61033 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 61033@debbugs.gnu.org X-Debbugs-Original-To: Bug reports for GNU Guix Received: via spool by submit@debbugs.gnu.org id=B.16745271965613 (code B ref -1); Tue, 24 Jan 2023 02:27:02 +0000 Received: (at submit) by debbugs.gnu.org; 24 Jan 2023 02:26:36 +0000 Received: from localhost ([127.0.0.1]:55662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pK91A-0001ST-92 for submit@debbugs.gnu.org; Mon, 23 Jan 2023 21:26:36 -0500 Received: from lists.gnu.org ([209.51.188.17]:43524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pK919-0001SM-3l for submit@debbugs.gnu.org; Mon, 23 Jan 2023 21:26:35 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pK918-0004xB-Qr for bug-guix@gnu.org; Mon, 23 Jan 2023 21:26:34 -0500 Received: from mx1.riseup.net ([198.252.153.129]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pK917-00081d-1u for bug-guix@gnu.org; Mon, 23 Jan 2023 21:26:34 -0500 Received: from fews2.riseup.net (fews2-pn.riseup.net [10.0.1.84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.riseup.net", Issuer "R3" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4P19ny2XNyzDrKq for ; Tue, 24 Jan 2023 02:26:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1674527190; bh=leZDvXESlmVIWVdveSpnoSemLLPNwKFgwsX4ZCHBh/w=; h=From:To:Subject:Date:From; b=J3xPwBrHRZRg/Au/39qqWU1o6tQoJ1MIVQQD3ECakE9UCWcyfaTsZWW8N1UhYRHgy eZQrnoBau4ROeo2JvuVe6GmViO+952yQI6exCBsCqWEx/1qABQzorniWBeV6TFHxJu JDmQ9oBt/gaJDzUwB+DMlmVYIkEj9C6VqH+RTy7o= X-Riseup-User-ID: E85026067A5E8D4212B36951048336107ED2C8F4DC23D83D1BBA9B28530F1539 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews2.riseup.net (Postfix) with ESMTPSA id 4P19nx4sGhz1yBT for ; Tue, 24 Jan 2023 02:26:29 +0000 (UTC) From: Csepp Date: Tue, 24 Jan 2023 03:23:44 +0100 Message-ID: <86h6wg652t.fsf@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=198.252.153.129; envelope-from=raingloom@riseup.net; helo=mx1.riseup.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) 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: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Truncated stack trace: ``` ... In guix/import/opam.scm: 287:2 3 (opam->guix-package "mirage-crypto-pk" #:repo _ # _) In unknown file: 2 (filter # =E2=80=A6) In guix/import/opam.scm: 290:13 1 (_ ("mirage-no-solo5" "mirage-no-xen")) In unknown file: 0 (string-prefix? "conf-" ("mirage-no-solo5" "mirage-n=E2=80=A6"= ) =E2=80=A6) ERROR: In procedure string-prefix?: In procedure string-prefix?: Wrong type argument in position 2 (expecting s= tring): ("mirage-no-solo5" "mirage-no-xen") ``` From unknown Fri Aug 08 22:53:54 2025 X-Loop: help-debbugs@gnu.org Subject: bug#61033: opam importer can't handle list field Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 28 Jan 2023 12:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61033 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Csepp Cc: 61033@debbugs.gnu.org Received: via spool by 61033-submit@debbugs.gnu.org id=B61033.16749083133003 (code B ref 61033); Sat, 28 Jan 2023 12:19:02 +0000 Received: (at 61033) by debbugs.gnu.org; 28 Jan 2023 12:18:33 +0000 Received: from localhost ([127.0.0.1]:39744 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLkAD-0000mM-94 for submit@debbugs.gnu.org; Sat, 28 Jan 2023 07:18:33 -0500 Received: from lepiller.eu ([89.234.186.109]:37382) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLkA7-0000m7-OU for 61033@debbugs.gnu.org; Sat, 28 Jan 2023 07:18:31 -0500 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id c20519b7; Sat, 28 Jan 2023 12:18:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=Xjf2o5HMxp51 iF0ES+oJcyV+WDtF/DJAdgwmwdIaCfM=; b=kXmtPzcpMS9X4zxtMuu0pgtenXPK D4FZueFmt+PUKZBrx4raDDJzpPLvu1dq8tzPujsG26JYXKuNP+rDCpraPXffmfQE qPxTCpnnWuV6ibTQN68XifVxKEwMn+IQpckKXOxId5b/PdvJb6XcWEAIa+exaZdv 2uk0RhiYYkhCy3IqjLoKU8Cbd5BsPw9IRgpncWRPa9jhnmVov6BV0pH8LFBHUaSu enVogG6co3AfrFRahaZYhQkpcfI0yyTCobEOX23SM/hH/oxxgs18yKzvwQwEsvGr 0exsA6xAsEjGQ9JsSVykZ9fwIPZpVF4DH24p2TJ5YvozPn0M0DxzFY2VYA== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 68d2f3db (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sat, 28 Jan 2023 12:18:18 +0000 (UTC) Date: Sat, 28 Jan 2023 13:18:11 +0100 From: Julien Lepiller Message-ID: <20230128131811.23b5806c@sybil.lepiller.eu> In-Reply-To: <86h6wg652t.fsf@riseup.net> References: <86h6wg652t.fsf@riseup.net> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) 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: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Le Tue, 24 Jan 2023 03:23:44 +0100, Csepp a =C3=A9crit : > Truncated stack trace: >=20 > ``` > ... > In guix/import/opam.scm: > 287:2 3 (opam->guix-package "mirage-crypto-pk" #:repo _ # _) > In unknown file: > 2 (filter # > =E2=80=A6) In guix/import/opam.scm: > 290:13 1 (_ ("mirage-no-solo5" "mirage-no-xen")) > In unknown file: > 0 (string-prefix? "conf-" ("mirage-no-solo5" "mirage-n=E2=80= =A6") > =E2=80=A6) >=20 > ERROR: In procedure string-prefix?: > In procedure string-prefix?: Wrong type argument in position 2 > (expecting string): ("mirage-no-solo5" "mirage-no-xen") ``` >=20 >=20 >=20 The issue is related to lines like this in the list of dependencies: (("mirage-no-solo5" & "mirage-no-xen") | "zarith-freestanding" | "mirage-runtime" {>=3D "4.0"}) This reads as a choice between three dependencies: - mirage-no-solo5 with mirage-no-xen - zarith-freestanding - mirage-runtime The importer infrastructure is not intelligent enough to really be able to solve constraints in imported packages, so I don't see an easy solution. It could silently use the first option, or put a comment instead. Ideas? From unknown Fri Aug 08 22:53:54 2025 X-Loop: help-debbugs@gnu.org Subject: bug#61033: opam importer can't handle list field Resent-From: Csepp Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 28 Jan 2023 19:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61033 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Julien Lepiller Cc: 61033@debbugs.gnu.org, Csepp Received: via spool by 61033-submit@debbugs.gnu.org id=B61033.167493457820433 (code B ref 61033); Sat, 28 Jan 2023 19:37:02 +0000 Received: (at 61033) by debbugs.gnu.org; 28 Jan 2023 19:36:18 +0000 Received: from localhost ([127.0.0.1]:41611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLqzp-0005JV-OA for submit@debbugs.gnu.org; Sat, 28 Jan 2023 14:36:18 -0500 Received: from mx1.riseup.net ([198.252.153.129]:42030) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLqzo-0005JG-3S for 61033@debbugs.gnu.org; Sat, 28 Jan 2023 14:36:17 -0500 Received: from fews2.riseup.net (fews2-pn.riseup.net [10.0.1.84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.riseup.net", Issuer "R3" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4P44SB35SbzDqqn; Sat, 28 Jan 2023 19:36:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1674934570; bh=x3Lq99qr6fb+X99G4TdWgMkzTHRXIqo3+10PyofIPQM=; h=References:From:To:Cc:Subject:Date:In-reply-to:From; b=ewxvtB8yucE6G13VC/fOugcfyUrl0LwwH5LDqlL5e30y5PpFCfJndGNPT6mcBmQn0 FvshVZ4ipbQ+eUDSVwIu+NUX2lBOooVan5Ogpn8uMzoKrYSbq/Swt4uL2NGJAEYR9b wNqctihPeAmiumFChweBZv2vd5AZzFos5AN4QXPY= X-Riseup-User-ID: 5B8AE6011F9B7AECDE65AE23813ECC957374253D474A84E73EE0F6EC7A893B96 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews2.riseup.net (Postfix) with ESMTPSA id 4P44S955rQz1y9N; Sat, 28 Jan 2023 19:36:09 +0000 (UTC) References: <86h6wg652t.fsf@riseup.net> <20230128131811.23b5806c@sybil.lepiller.eu> From: Csepp Date: Sat, 28 Jan 2023 20:30:06 +0100 In-reply-to: <20230128131811.23b5806c@sybil.lepiller.eu> Message-ID: <871qnebgex.fsf@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) 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: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Julien Lepiller writes: > Le Tue, 24 Jan 2023 03:23:44 +0100, > Csepp a =C3=A9crit : > >> Truncated stack trace: >>=20 >> ``` >> ... >> In guix/import/opam.scm: >> 287:2 3 (opam->guix-package "mirage-crypto-pk" #:repo _ # _) >> In unknown file: >> 2 (filter # >> =E2=80=A6) In guix/import/opam.scm: >> 290:13 1 (_ ("mirage-no-solo5" "mirage-no-xen")) >> In unknown file: >> 0 (string-prefix? "conf-" ("mirage-no-solo5" "mirage-n=E2=80= =A6") >> =E2=80=A6) >>=20 >> ERROR: In procedure string-prefix?: >> In procedure string-prefix?: Wrong type argument in position 2 >> (expecting string): ("mirage-no-solo5" "mirage-no-xen") ``` >>=20 >>=20 >>=20 > > The issue is related to lines like this in the list of dependencies: > > (("mirage-no-solo5" & "mirage-no-xen") | "zarith-freestanding" | > "mirage-runtime" {>=3D "4.0"}) > > This reads as a choice between three dependencies: > - mirage-no-solo5 with mirage-no-xen > - zarith-freestanding > - mirage-runtime > > The importer infrastructure is not intelligent enough to really be able > to solve constraints in imported packages, so I don't see an easy > solution. It could silently use the first option, or put a comment > instead. > > Ideas? I think in unhandled cases it should emit something usable instead of erroring, like how it can already emit missing-source or whatever symbol it uses. If Guile had good error types like, like Result in OCaml or Rust, it could signal this with the Error variant and then the sexp it failed on as a parameter. Alternatively we could do what Nix does and have importers implemented externally, so we could just hook into OPAM and let it run its solver and then emit Guix package definitions. It already has a distro integration system anyways. So far these errors have been rare enough that handling them on a case by case basis is acceptable, however I also ran into issues where the wrong version of a package was imported and I spent hours trying to debug the build until I realized I imported a version that's too new. Having an opam2guix tool would solve that.