From patchwork Tue Apr 14 17:19:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ricardo Wurmus X-Patchwork-Id: 21250 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 84AC027BBE4; Tue, 14 Apr 2020 18:30:25 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 5BB3727BBE1 for ; Tue, 14 Apr 2020 18:30:25 +0100 (BST) Received: from localhost ([::1]:36280 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPOC-0001Y0-QY for patchwork@mira.cbaines.net; Tue, 14 Apr 2020 13:30:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48086) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPFC-0005j6-1O for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOPF9-0007LD-DL for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51402) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jOPF9-0007L0-8H for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jOPF8-0006bL-4z for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#40629] [PATCH 1/5] import/print: Return license with prefix. References: <87y2qym5v8.fsf@elephly.net> In-Reply-To: <87y2qym5v8.fsf@elephly.net> Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 14 Apr 2020 17:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40629 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 40629@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 40629-submit@debbugs.gnu.org id=B40629.158688481225249 (code B ref 40629); Tue, 14 Apr 2020 17:21:02 +0000 Received: (at 40629) by debbugs.gnu.org; 14 Apr 2020 17:20:12 +0000 Received: from localhost ([127.0.0.1]:34703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEK-0006ZB-0U for submit@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:12 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21361) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEI-0006Yu-3j for 40629@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:10 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1586884806; cv=none; d=zohomail.com; s=zohoarc; b=gl0/NzvBSYIV9fJYJ6ChzA9EgoPZezpBN/xvLPMVdqdnTqZszJEr/0vCl0zBrWcUrWCs4aqzLu+s2KMYfK/1U/6PSa1pK+QCH7mkBQByZHzqZa0ppzon8gL4wCN0j4cMRCtRmjJcHCWuv8PJQJ60kLWP3JwO9awCnE90dq0/xT0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1586884806; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; bh=QTS4QwdOObT1ABRKlGYcrOBk/o0BS0s8bMPRQD1GY+I=; b=ZLkaF/tITuYQ4JYmBR4BVx73FepwQvAluvFWmlPWl/kxP3uEFOEM9Wi8uEZp6UmyErQRdbVOe+7Mo5sj4TNE6QzfMIQefkiFpMMIuyWThAxv+/CvIrUwVGs6vhn4e5Yvct6Wm7E83kuarQ5CPA7+j2kvyD9I1UyadoryPEOGBMk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1586884806; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:To:Cc:Message-ID:Subject:Date:MIME-Version:Content-Type:Content-Transfer-Encoding; bh=QTS4QwdOObT1ABRKlGYcrOBk/o0BS0s8bMPRQD1GY+I=; b=A1ksKYg1fQVIi+qq0rhGTdexG0qa0c7X1tlTDGTllpIwiiVv8yFHgi+yicf5ARM3 Rlu/7Qi5ZGbSVuoIdGmdVS9P7H+u6mxCIyvCExR3fc/Lrf86DhBQy3m8M0qFdKx+TvU LtGWGj1F/O1moGW1miX4y4/s/bBj5pDUzNSuUwBo= Received: from localhost (p54AD4D5F.dip0.t-ipconnect.de [84.173.77.95]) by mx.zohomail.com with SMTPS id 1586884804887512.8893174671015; Tue, 14 Apr 2020 10:20:04 -0700 (PDT) From: Ricardo Wurmus Message-ID: <20200414171959.3428-1-rekado@elephly.net> Date: Tue, 14 Apr 2020 19:19:55 +0200 X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-ZohoMailClient: External X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * guix/import/print.scm (license->code): Prepend license: prefix. --- guix/import/print.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index 4c2a91fa4f..b819e7cf90 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +57,7 @@ when evaluated." ;; Print either license variable name or the code for a license object (define (license->code lic) (let ((var (variable-name lic '(guix licenses)))) - (or var + (or (symbol-append 'license: var) `(license (name ,(license-name lic)) (uri ,(license-uri lic)) From patchwork Tue Apr 14 17:19:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ricardo Wurmus X-Patchwork-Id: 21247 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A124F27BBE4; Tue, 14 Apr 2020 18:29:46 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 7603727BBE1 for ; Tue, 14 Apr 2020 18:29:46 +0100 (BST) Received: from localhost ([::1]:36258 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPNa-0000c4-0a for patchwork@mira.cbaines.net; Tue, 14 Apr 2020 13:29:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48078) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPFA-0005hv-MX for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOPF9-0007LY-Ok for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51404) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jOPF9-0007LQ-L7 for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jOPF8-0006bS-Hg for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#40629] [PATCH 2/5] import/print: package->code: Wrap build system value in module reference. Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 14 Apr 2020 17:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40629 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 40629@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 40629-submit@debbugs.gnu.org id=B40629.158688481525262 (code B ref 40629); Tue, 14 Apr 2020 17:21:02 +0000 Received: (at 40629) by debbugs.gnu.org; 14 Apr 2020 17:20:15 +0000 Received: from localhost ([127.0.0.1]:34705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEN-0006ZO-8m for submit@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:15 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21363) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEJ-0006Z4-IB for 40629@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:11 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1586884810; cv=none; d=zohomail.com; s=zohoarc; b=QbCWBK/B+oLVKrf0oGOQs2nBTl8yA4++uwrQgIhT1vCOQhuVCC9r5CUCvBnVjw2vHBMSF+V+FnCj1wOuohxy4qub5di6fDaTBkuMrTL2jQd6mbz9qRLpvM5pk4Eipcnn/5MEoNFXhvrZuXMBA3CXkfyLH07WrFdaCWm7nQh5pFc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1586884810; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=iwCnpxwYd7GNTssywICiEExtqDcFHv6XlNcD/wYqOxo=; b=Z3bzMF+9RRTn3HqLZoU0ogJ81eyuFowgpxbA5uyOgKQRCVVjt3rZG+Op5wg1nizPmiMAZXFNyfJDY2p8XzWe9SSZRUq/zW3t6qOOvFDQOkioyjG2mm47sdo4zAzYoalWHnrG5CbcX5d5EgcPINrW7x0qnQf57ClxmnlhDn45AYg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1586884810; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:To:Cc:Message-ID:Subject:Date:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Content-Type; bh=iwCnpxwYd7GNTssywICiEExtqDcFHv6XlNcD/wYqOxo=; b=At7khqfvvLDWvA0lr7iWngp9R6cEwNN8Tn8pB+IhhhskUPnNPfMp5jcYAkqonSDt wSlA00FF80w3+r+nJESZao5SIfBS7I0m1Pedab+ym52rbFLqs5xkuuGX85D5F//ww6+ WQGpt9FKLNQ6C+izYeRjczDXjOd5FTLfzngdEogw= Received: from localhost (p54AD4D5F.dip0.t-ipconnect.de [84.173.77.95]) by mx.zohomail.com with SMTPS id 1586884808672645.5786732174112; Tue, 14 Apr 2020 10:20:08 -0700 (PDT) From: Ricardo Wurmus Message-ID: <20200414171959.3428-2-rekado@elephly.net> Date: Tue, 14 Apr 2020 19:19:56 +0200 X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200414171959.3428-1-rekado@elephly.net> References: <20200414171959.3428-1-rekado@elephly.net> MIME-Version: 1.0 X-ZohoMailClient: External X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * guix/import/print.scm (package->code): Return build system value with corresponding module. --- guix/import/print.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index b819e7cf90..4529a79b23 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -131,8 +131,9 @@ when evaluated." ,@(if replacement `((replacement ,replacement)) '()) - (build-system ,(symbol-append (build-system-name build-system) - '-build-system)) + (build-system (@ (guix build-system ,(build-system-name build-system)) + ,(symbol-append (build-system-name build-system) + '-build-system))) ,@(match arguments (() '()) (args `((arguments ,(list 'quasiquote args))))) From patchwork Tue Apr 14 17:19:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ricardo Wurmus X-Patchwork-Id: 21251 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 402BF27BBE4; Tue, 14 Apr 2020 18:38:52 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 081FC27BBE1 for ; Tue, 14 Apr 2020 18:38:52 +0100 (BST) Received: from localhost ([::1]:36564 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPWN-0003XV-Iz for patchwork@mira.cbaines.net; Tue, 14 Apr 2020 13:38:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48070) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPFA-0005ha-Fr for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOPF9-0007L8-DJ for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51401) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jOPF9-0007Ko-3s for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jOPF8-0006bY-Tu for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#40629] [PATCH 3/5] import/json: Add json->scheme-file. Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 14 Apr 2020 17:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40629 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 40629@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 40629-submit@debbugs.gnu.org id=B40629.158688481825278 (code B ref 40629); Tue, 14 Apr 2020 17:21:02 +0000 Received: (at 40629) by debbugs.gnu.org; 14 Apr 2020 17:20:18 +0000 Received: from localhost ([127.0.0.1]:34708 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEQ-0006Ze-GA for submit@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:18 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21365) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEP-0006ZW-4y for 40629@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:17 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1586884814; cv=none; d=zohomail.com; s=zohoarc; b=IUQ3ADMhrBlyTa82mxWvxsu2na54LNJfNm3wvO8Bir5QZm6XuVTDFZq5T0bYUutr4mO/6ZeDTHqVzE3T4a/GyUK0Mjyzz6pSv++0Joaa/bUpPgJCX+7hjhOJGr0u48Quh3NiePn4Z3nuP10h05/RGdcMVenq4j+Q105BoKlin/c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1586884814; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=UUgbWQ6Qsht1d859gQBjbzqXXWFm4hVSq2Ma6d3YpG0=; b=a+tXHBuryhF2iEjzPEW57EqLNoy99MGXuSB+Vy3u6kbA37dmlxeFAkTGtbw9Vxt0avPdlAbMWgdxzjOY4CpfrytnYKqfZnPt0qN7Z0esacdH3ceeld95Ap8QKHkfGqH9axv+8lMSWImGxCXQXDa1wdNQUcrU60b/AWBcT7HrUMg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1586884814; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:To:Cc:Message-ID:Subject:Date:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding; bh=UUgbWQ6Qsht1d859gQBjbzqXXWFm4hVSq2Ma6d3YpG0=; b=Wq335o0RFSmvAgIa+kNIwKilxheocd5ddAgQXAchch1o7iSryU9cxQYIPcoZERnx 1FTVhYfZbcoI9zXqzPRaPRQZ86Ul25aWusnQ76LDutF5y6vQV5M2Amvg3It9vcXTFNA Dx4cAypMAx70XDhMIt4rDQD2svQKOVHIDKfpbvsA= Received: from localhost (p54AD4D5F.dip0.t-ipconnect.de [84.173.77.95]) by mx.zohomail.com with SMTPS id 1586884812244300.5417325862229; Tue, 14 Apr 2020 10:20:12 -0700 (PDT) From: Ricardo Wurmus Message-ID: <20200414171959.3428-3-rekado@elephly.net> Date: Tue, 14 Apr 2020 19:19:57 +0200 X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200414171959.3428-1-rekado@elephly.net> References: <20200414171959.3428-1-rekado@elephly.net> MIME-Version: 1.0 X-ZohoMailClient: External X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * guix/import/json.scm (json->code, json->scheme-file): New procedures. --- guix/import/json.scm | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/guix/import/json.scm b/guix/import/json.scm index 8900724dcd..16dc2ad5cb 100644 --- a/guix/import/json.scm +++ b/guix/import/json.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015, 2016 Eric Bavier ;;; Copyright © 2018, 2019 Ludovic Courtès +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,8 +23,12 @@ #:use-module (json) #:use-module (guix http-client) #:use-module (guix import utils) + #:use-module (guix import print) + #:use-module (ice-9 rdelim) + #:use-module (srfi srfi-2) #:use-module (srfi srfi-34) - #:export (json-fetch)) + #:export (json-fetch + json->scheme-file)) (define* (json-fetch url ;; Note: many websites returns 403 if we omit a @@ -42,3 +47,31 @@ the query." (result (json->scm port))) (close-port port) result))) + +(define (json->code file-name) + "Read FILE-NAME containing a JSON package definition and return an +S-expression, or return #F when the JSON is invalid." + (catch 'json-invalid + (lambda () + (let ((json (json-string->scm + (with-input-from-file file-name read-string)))) + (package->code (alist->package json)))) + (const #f))) + +(define (json->scheme-file file) + "Convert the FILE containing a JSON package definition to a Scheme +representation and return the new file name (or #F on error)." + (and-let* ((json (json->code file)) + (file* (let* ((tempdir (or (getenv "TMPDIR") "/tmp")) + (template (string-append tempdir "/guix-XXXXXX")) + (port (mkstemp! template))) + (close-port port) + template))) + (call-with-output-file file* + (lambda (port) + (write '(use-modules (gnu) + (guix) + ((guix licenses) #:prefix license:)) + port) + (write json port))) + file*)) From patchwork Tue Apr 14 17:19:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ricardo Wurmus X-Patchwork-Id: 21249 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3BE0D27BBE4; Tue, 14 Apr 2020 18:30:23 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID,T_SPF_HELO_TEMPERROR autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 236F827BBE1 for ; Tue, 14 Apr 2020 18:30:08 +0100 (BST) Received: from localhost ([::1]:36264 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPNu-0001Cl-NR for patchwork@mira.cbaines.net; Tue, 14 Apr 2020 13:30:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48103) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPFC-0005kW-Lo for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOPFA-0007MI-GY for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51403) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jOPF9-0007L3-Cn for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jOPF9-0006bg-9W for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#40629] [PATCH 4/5] scripts/build: options->things-to-build: Handle .json files. Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 14 Apr 2020 17:21:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40629 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 40629@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 40629-submit@debbugs.gnu.org id=B40629.158688482325301 (code B ref 40629); Tue, 14 Apr 2020 17:21:03 +0000 Received: (at 40629) by debbugs.gnu.org; 14 Apr 2020 17:20:23 +0000 Received: from localhost ([127.0.0.1]:34712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEU-0006Zw-PR for submit@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:23 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21367) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPET-0006Zn-5J for 40629@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:21 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1586884818; cv=none; d=zohomail.com; s=zohoarc; b=UbOfGuj72AN4yENgWZYm6zxgKkSUGNmNzWupXKKum6DiIi6NTfeXJo/d21mglhRWDTEtUbsBJvuKTQjQnwi7l0sC/X4yWvPRN3rka/+5v+++Yb9wEqAQoSfQNo37yGpwLD+8sdiDuuPlxUaEEYmqBd1mwb4sAkWq94nGgx3HZwA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1586884818; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=FoIpDRQjgyhJFei7QFOnUse0FGrtxi3w77KOsQTXkHA=; b=aEA/5HbFulzgO+rEs9uqrWZVlOQurOktNPXh9gVLj3mnW3nQI7tewXw46Xs4cj90KUZtyXM0duFnXw82RlydPv6VnKU669TutklDBTOpHuGdw+PyJO5huW+iND6g8HMfFUF5a+A4hWObBKGKaMrXujyEnRN28jT0izipkmga0Bg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1586884818; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:To:Cc:Message-ID:Subject:Date:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding; bh=FoIpDRQjgyhJFei7QFOnUse0FGrtxi3w77KOsQTXkHA=; b=Nb9svazwdfPtR/niXYjwmeBT3WktJHrqsBsilqo0xUrEzFO5MlYzmkOjKnIfmcMs N7iJrDIswdoPsgocsoPpjoqyalblRZls+bij+BC+8pAzESlzvdGLahiWJjU3tliwmb7 fUw4s8nY9k7wW9TUfEynZ3F4vSzz7wSmSMujk3cg= Received: from localhost (p54AD4D5F.dip0.t-ipconnect.de [84.173.77.95]) by mx.zohomail.com with SMTPS id 1586884815879691.574894298318; Tue, 14 Apr 2020 10:20:15 -0700 (PDT) From: Ricardo Wurmus Message-ID: <20200414171959.3428-4-rekado@elephly.net> Date: Tue, 14 Apr 2020 19:19:58 +0200 X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200414171959.3428-1-rekado@elephly.net> References: <20200414171959.3428-1-rekado@elephly.net> MIME-Version: 1.0 X-ZohoMailClient: External X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * guix/scripts/build.scm (options->things-to-build): Handle files that end on .json. --- guix/scripts/build.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 79bd84a1a0..8ff2fd1910 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013 Mark H Weaver ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,7 @@ (define-module (guix scripts build) #:use-module (guix ui) #:use-module (guix scripts) + #:use-module (guix import json) #:use-module (guix store) #:use-module (guix derivations) #:use-module (guix packages) @@ -834,7 +836,10 @@ build---packages, gexps, derivations, and so on." (else (list (specification->package spec))))) (('file . file) - (ensure-list (load* file (make-user-module '())))) + (let ((file (or (and (string-suffix? ".json" file) + (json->scheme-file file)) + file))) + (ensure-list (load* file (make-user-module '()))))) (('manifest . manifest) (map manifest-entry-item (manifest-entries From patchwork Tue Apr 14 17:19:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ricardo Wurmus X-Patchwork-Id: 21248 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3707B27BBE4; Tue, 14 Apr 2020 18:29:58 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id F048F27BBE1 for ; Tue, 14 Apr 2020 18:29:57 +0100 (BST) Received: from localhost ([::1]:36262 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPNl-0000tK-DP for patchwork@mira.cbaines.net; Tue, 14 Apr 2020 13:29:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48085) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOPFC-0005j5-1D for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOPF9-0007Lh-TW for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51405) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jOPF9-0007Lc-PY for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jOPF9-0006bp-MJ for guix-patches@gnu.org; Tue, 14 Apr 2020 13:21:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#40629] [PATCH 5/5] scripts/package: Handle JSON files. Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 14 Apr 2020 17:21:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40629 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 40629@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 40629-submit@debbugs.gnu.org id=B40629.158688482425309 (code B ref 40629); Tue, 14 Apr 2020 17:21:03 +0000 Received: (at 40629) by debbugs.gnu.org; 14 Apr 2020 17:20:24 +0000 Received: from localhost ([127.0.0.1]:34714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEW-0006a9-9I for submit@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:24 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21369) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOPEU-0006Zu-93 for 40629@debbugs.gnu.org; Tue, 14 Apr 2020 13:20:22 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1586884820; cv=none; d=zohomail.com; s=zohoarc; b=UCDzHqPF9y9e+mljEmkkQRM/BVGsb9zbL5pKFsN/6jDSFtW+ybAelpbT+4LiKaExajJ4r0UVs7QAx1g+Xn3gpEkmwOaOG560BGNXi9Qxmj9fUttVn9k0GuaEzHDQPHmKTooVI3moPTz4ngmKDL8XBB/ufbW31Xcz1GdRDPgCK3g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1586884820; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=yYjahCN0fdCv3EAxJIwAUr102ZQtAZO/Z9faAECH/X8=; b=AzZ76GiROeiVPH1UIje72qnm9SfcKK0mZlorpgH65a0gEVfBVhWEy5kNF4wIXKJugzM3PJcMQP2se24UxwBqm+oWGGxc9xO7DsXJ7/oKkoP5Me3adxdM7PuRyECXxIo8dso+l7dzdV1P1/Nl636mnRY89+HMTK0qWz5F2cmC7IM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1586884820; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:To:Cc:Message-ID:Subject:Date:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding; bh=yYjahCN0fdCv3EAxJIwAUr102ZQtAZO/Z9faAECH/X8=; b=BVRf3usffMt7bySBO/+OnQc6GPyrcdEUK9IYUGl5TQo1XlkxMTwNo1PzGaAVAzvO TACPNHwbUqZMcVq4fBSfJJi/ESNIuts2dFrvlr4tqerPmuf8CNHhw5ups0oP7gaa1Jt Cq2nBSbnJiTeJ6LpypOk+bF2Pdr0iRm/+AbNKM7s= Received: from localhost (p54AD4D5F.dip0.t-ipconnect.de [84.173.77.95]) by mx.zohomail.com with SMTPS id 1586884819336344.9745503257118; Tue, 14 Apr 2020 10:20:19 -0700 (PDT) From: Ricardo Wurmus Message-ID: <20200414171959.3428-5-rekado@elephly.net> Date: Tue, 14 Apr 2020 19:19:59 +0200 X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200414171959.3428-1-rekado@elephly.net> References: <20200414171959.3428-1-rekado@elephly.net> MIME-Version: 1.0 X-ZohoMailClient: External X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * guix/scripts/package.scm (%options): Support loading from JSON files when "install-from-file" is used. --- guix/scripts/package.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index badb1dcd38..40445832aa 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Benz Schenk ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (guix packages) #:use-module (guix profiles) #:use-module (guix search-paths) + #:use-module (guix import json) #:use-module (guix monads) #:use-module (guix utils) #:use-module (guix config) @@ -418,7 +420,10 @@ Install, remove, or upgrade packages in a single transaction.\n")) (option '(#\f "install-from-file") #t #f (lambda (opt name arg result arg-handler) (values (alist-cons 'install - (load* arg (make-user-module '())) + (let ((file (or (and (string-suffix? ".json" arg) + (json->scheme-file arg)) + arg))) + (load* file (make-user-module '()))) result) #f))) (option '(#\r "remove") #f #t