From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 23 03:43:17 2022 Received: (at submit) by debbugs.gnu.org; 23 Sep 2022 07:43:17 +0000 Received: from localhost ([127.0.0.1]:39283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1obdLA-00037s-RT for submit@debbugs.gnu.org; Fri, 23 Sep 2022 03:43:17 -0400 Received: from lists.gnu.org ([209.51.188.17]:46002) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1obdL9-00037k-Aa for submit@debbugs.gnu.org; Fri, 23 Sep 2022 03:43:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41970) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1obdL8-0006dK-TD for guix-patches@gnu.org; Fri, 23 Sep 2022 03:43:15 -0400 Received: from mailout3.rbg.tum.de ([131.159.0.8]:33707) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1obdL6-0006IN-Gd for guix-patches@gnu.org; Fri, 23 Sep 2022 03:43:14 -0400 Received: from mailrelay1.rbg.tum.de (mailrelay1.in.tum.de [131.159.254.14]) by mailout3.rbg.tum.de (Postfix) with ESMTPS id 6C73E1003CA for ; Fri, 23 Sep 2022 09:42:56 +0200 (CEST) Received: by mailrelay1.rbg.tum.de (Postfix, from userid 112) id 691FA1A8; Fri, 23 Sep 2022 09:42:56 +0200 (CEST) Received: from mailrelay1.rbg.tum.de (localhost [127.0.0.1]) by mailrelay1.rbg.tum.de (Postfix) with ESMTP id D042B1A1 for ; Fri, 23 Sep 2022 09:42:54 +0200 (CEST) Received: from mail.net.in.tum.de (mail.net.in.tum.de [IPv6:2001:4ca0:2001:14:216:3eff:fe52:ed14]) by mailrelay1.rbg.tum.de (Postfix) with ESMTP id CE84BCD for ; Fri, 23 Sep 2022 09:42:54 +0200 (CEST) Received: from amnesix.net.in.tum.de (amnesix.net.in.tum.de [IPv6:2001:4ca0:2001:11:e2d5:5eff:fea9:55ca]) by mail.net.in.tum.de (Postfix) with ESMTP id 8A0AC28C100B; Fri, 23 Sep 2022 09:42:54 +0200 (CEST) From: itd To: guix-patches@gnu.org Subject: [PATCH] import/utils: alist->package: Include properties. Date: Fri, 23 Sep 2022 09:42:53 +0200 Message-ID: <87mtaqilj6.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=131.159.0.8; envelope-from=itd@net.in.tum.de; helo=mailout3.rbg.tum.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) 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: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) * guix/import/utils.scm (alist->package): Process properties field in input data and include it in the generated package. * tests/import-utils.scm ("alist->package with properties"): New test. --- Hi, this patch enables the JSON importer to include package properties in its output and a test to check that the modified function's result is consumable by functions that use these properties. Please consider applying it. Thanks! Regards itd guix/import/utils.scm | 9 +++++++++ tests/import-utils.scm | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 7e7d116d1d..8ae04e3cfb 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -428,10 +428,19 @@ (define* (alist->package meta #:optional (known-inputs '())) ((key . value) (list (symbol->keyword (string->symbol key)) value))) arguments)) + (define (process-properties properties) + (append-map (match-lambda + ((key . value) + (acons (string->symbol key) value '()))) + properties)) (package (name (assoc-ref meta "name")) (version (assoc-ref meta "version")) (source (source-spec->object (assoc-ref meta "source"))) + (properties + (or (and=> (assoc-ref meta "properties") + process-properties) + '())) (build-system (lookup-build-system-by-name (string->symbol (assoc-ref meta "build-system")))) diff --git a/tests/import-utils.scm b/tests/import-utils.scm index 7c6c782917..c47348fc60 100644 --- a/tests/import-utils.scm +++ b/tests/import-utils.scm @@ -203,4 +203,23 @@ (define-module (test-import-utils) ("license" . #f)))) (package-native-inputs (alist->package meta)))) +(test-assert "alist->package with properties" + (let* ((meta '(("name" . "hello") + ("version" . "2.10") + ("source" . + ;; Use a 'file://' URI so that we don't cause a download. + ,(string-append "file://" + (search-path %load-path "guix.scm"))) + ("build-system" . "gnu") + ("properties" . (("hidden?" . #t) + ("upstream-name" . "hello-upstream"))) + ("home-page" . "https://gnu.org") + ("synopsis" . "Say hi") + ("description" . "This package says hi.") + ("license" . "GPL-3.0+"))) + (pkg (alist->package meta))) + (and (package? pkg) + (equal? (package-upstream-name pkg) "hello-upstream") + (hidden-package? pkg)))) + (test-end "import-utils") base-commit: 04cad8e29ed85be838921c7fa05f7c5bce94b6d1 -- 2.37.3 From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 23 10:13:26 2022 Received: (at 58020) by debbugs.gnu.org; 23 Sep 2022 14:13:26 +0000 Received: from localhost ([127.0.0.1]:41344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1objQk-0007Pt-5q for submit@debbugs.gnu.org; Fri, 23 Sep 2022 10:13:26 -0400 Received: from mailout3.rbg.tum.de ([131.159.0.8]:37263) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1objQg-0007Pf-Qt for 58020@debbugs.gnu.org; Fri, 23 Sep 2022 10:13:24 -0400 Received: from mailrelay1.rbg.tum.de (mailrelay1.in.tum.de [131.159.254.14]) by mailout3.rbg.tum.de (Postfix) with ESMTPS id 79F5C1003CA for <58020@debbugs.gnu.org>; Fri, 23 Sep 2022 16:13:16 +0200 (CEST) Received: by mailrelay1.rbg.tum.de (Postfix, from userid 112) id 760151AB; Fri, 23 Sep 2022 16:13:16 +0200 (CEST) Received: from mailrelay1.rbg.tum.de (localhost [127.0.0.1]) by mailrelay1.rbg.tum.de (Postfix) with ESMTP id 8C16D1A1 for <58020@debbugs.gnu.org>; Fri, 23 Sep 2022 16:13:12 +0200 (CEST) Received: from mail.net.in.tum.de (mail.net.in.tum.de [IPv6:2001:4ca0:2001:14:216:3eff:fe52:ed14]) by mailrelay1.rbg.tum.de (Postfix) with ESMTP id 8A136CD for <58020@debbugs.gnu.org>; Fri, 23 Sep 2022 16:13:12 +0200 (CEST) Received: from amnesix.net.in.tum.de (amnesix.net.in.tum.de [IPv6:2001:4ca0:2001:11:e2d5:5eff:fea9:55ca]) by mail.net.in.tum.de (Postfix) with ESMTP id 744BB28C100B; Fri, 23 Sep 2022 16:13:12 +0200 (CEST) From: itd To: 58020@debbugs.gnu.org Subject: [PATCH] import: print: Quasiquote properties In-Reply-To: <87mtaqilj6.fsf@localhost> References: <87mtaqilj6.fsf@localhost> Date: Fri, 23 Sep 2022 16:11:52 +0200 Message-ID: <874jwyi3iv.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58020 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: -3.3 (---) * guix/import/print.scm (package->code): Quasiquote properties. * tests/print.scm (pkg-with-properties, pkg-with-properties-source): New variables. ("package with properties"): New test --- Hi again, if I'm not mistaken, it is also required to (quasi)quote the value of properties. This patch updates package->code to achieve this. Afterward, the following command: > $ guix import json /dev/stdin < { > "name": "hello", > "version": "2.10", > "source": "mirror://gnu/hello/hello-2.10.tar.gz", > "build-system": "gnu", > "home-page": "https://www.gnu.org/software/hello/", > "synopsis": "Hello, GNU world: An example GNU package", > "description": "GNU Hello prints a greeting.", > "license": "GPL-3.0+", > "native-inputs": ["gettext"], > "properties": { > "hidden?": true, > "upstream-name": "hello-upstream" > } > } > EOF should produce the following package definition: > (define-public hello > (package > (name "hello") > (version "2.10") > (source (origin > (method url-fetch) > (uri (string-append "mirror://gnu/hello/hello-" version > ".tar.gz")) > (sha256 > (base32 > "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i")))) > (properties `((upstream-name . "hello-upstream") (hidden? . #t))) > (build-system (@ (guix build-system gnu) gnu-build-system)) > (native-inputs (list (@ (gnu packages gettext) gnu-gettext))) > (home-page "https://www.gnu.org/software/hello/") > (synopsis "Hello, GNU world: An example GNU package") > (description "GNU Hello prints a greeting.") > (license license:gpl3+))) > hello Regards itd guix/import/print.scm | 3 ++- tests/print.scm | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index 66016145cb..2f54adbd8c 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -200,7 +200,8 @@ (define (package->code package) (source ,(source->code source version)) ,@(match properties (() '()) - (_ `((properties ,properties)))) + (_ `((properties + ,(list 'quasiquote (object->code properties #t)))))) ,@(if replacement `((replacement ,replacement)) '()) diff --git a/tests/print.scm b/tests/print.scm index d9710d1ed3..b4f193b905 100644 --- a/tests/print.scm +++ b/tests/print.scm @@ -139,6 +139,25 @@ (define-with-source pkg-with-arguments pkg-with-arguments-source (description "This is a dummy package.") (license license:gpl3+))) +(define-with-source pkg-with-properties pkg-with-properties-source + (package + (name "test") + (version "1.2.3") + (source (origin + (method url-fetch) + (uri (string-append "file:///tmp/test-" + version ".tar.gz")) + (sha256 + (base32 + "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah")))) + (properties + `((hidden? . #t) (upstream-name "test-upstream"))) + (build-system (@ (guix build-system gnu) gnu-build-system)) + (home-page "http://gnu.org") + (synopsis "Dummy") + (description "This is a dummy package.") + (license license:gpl3+))) + (test-equal "simple package" `(define-public test ,pkg-source) (package->code pkg)) @@ -159,4 +178,8 @@ (define-with-source pkg-with-arguments pkg-with-arguments-source `(define-public test ,pkg-with-arguments-source) (package->code pkg-with-arguments)) +(test-equal "package with properties" + `(define-public test ,pkg-with-properties-source) + (package->code pkg-with-properties)) + (test-end "print") -- 2.37.3 From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 29 16:31:20 2022 Received: (at 58020-done) by debbugs.gnu.org; 29 Sep 2022 20:31:20 +0000 Received: from localhost ([127.0.0.1]:39710 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oe0Bk-000841-Ab for submit@debbugs.gnu.org; Thu, 29 Sep 2022 16:31:20 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oe0Bh-00083n-S7 for 58020-done@debbugs.gnu.org; Thu, 29 Sep 2022 16:31:18 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44754) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oe0Ba-0000QX-Rh; Thu, 29 Sep 2022 16:31:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=3+uowqzWH5JlC9j5mGFUKLfeH+74QHiMe4i3IJj0wog=; b=n/YHG2XrWv+VmBKYcGuB jx7KKn2f9b51PvR86Swct+7eou/ZceYvj940BvAIE/O0V0V5eLHHD4cyBJfCO//xURlEl1VFlQrZA yP8whhzzw6Hsmp8Bq1YAc6qgfjmXzt/g+7U8K6TUnC+FRHy2XqH223MPnr+UpD9iwVAN9ezrM0x19 aGQK2IbNNXKSYmT3sN9eBusyUwF3MKJfRaK6bAlPG+x4ySXP4lNqOrmWMNiR58057vgvvVnSMG42o jt98Lk1khTD0cqiIfB/okjNrwqMq5v37Vwgo5n28wWpZsWpnGDcKB9Yo5bvAbMY/BhXv1TvsN99fO 75fFizIGOwQJUw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:51642 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oe0BY-0003Xr-E3; Thu, 29 Sep 2022 16:31:09 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: itd Subject: Re: bug#58020: [PATCH] import/utils: alist->package: Include properties. References: <87mtaqilj6.fsf@localhost> Date: Thu, 29 Sep 2022 22:31:06 +0200 In-Reply-To: <87mtaqilj6.fsf@localhost> (itd@net.in.tum.de's message of "Fri, 23 Sep 2022 09:42:53 +0200") Message-ID: <87wn9l9b3p.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58020-done Cc: 58020-done@debbugs.gnu.org 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: -3.3 (---) Hi, itd skribis: > * guix/import/utils.scm (alist->package): Process properties field in inp= ut > data and include it in the generated package. > * tests/import-utils.scm ("alist->package with properties"): New test. [...] > + (define (process-properties properties) > + (append-map (match-lambda > + ((key . value) > + (acons (string->symbol key) value '()))) > + properties)) I applied the patch and simplified this one. > * guix/import/print.scm (package->code): Quasiquote properties. > * tests/print.scm (pkg-with-properties, pkg-with-properties-source): > New variables. > ("package with properties"): New test Applied, thanks! Ludo=E2=80=99. From unknown Sat Sep 20 08:01:22 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 28 Oct 2022 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator