From patchwork Wed Mar 15 12:51:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48023 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 AD33F16C76; Wed, 15 Mar 2023 12:53:04 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0AFD616961 for ; Wed, 15 Mar 2023 12:53:03 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQbz-0003Rd-Cj; Wed, 15 Mar 2023 08:52:11 -0400 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 1pcQbv-0003Q9-GU for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbu-00039I-Cf for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbu-0001ZT-8F for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 08/21] import: juliahub: Simplify juliahub dependency management. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847175918 (code B ref 62202); Wed, 15 Mar 2023 12:52:06 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:57 +0000 Received: from localhost ([127.0.0.1]:39313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbk-0001X9-0D for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:56 -0400 Received: from 20.mo581.mail-out.ovh.net ([46.105.49.208]:39895) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbc-0001WJ-Px for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:49 -0400 Received: from director10.ghost.mail-out.ovh.net (unknown [10.108.16.251]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id B5B2323417 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:47 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-7krfw (unknown [10.110.171.145]) by director10.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 599201FEB0; Wed, 15 Mar 2023 12:51:46 +0000 (UTC) Received: from ngraves.fr ([37.59.142.98]) by ghost-submission-6684bf9d7b-7krfw with ESMTPSA id +4VFGmK/EWTEsAAAVuhi0A (envelope-from ); Wed, 15 Mar 2023 12:51:46 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-98R002fb52551e-c1e4-4466-8be0-4501e44917c9, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:17 +0100 Message-Id: <20230315125130.23041-8-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13790866484996268770 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdelkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 42 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index af08f3d698..b1eeb736a8 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -100,26 +100,13 @@ (define (juliahub-slug-version name) (latest-version (string-drop uri 6))) `(,slug ,latest-version))) -(define (json->juliahub-direct-dependencies vector) +(define (json->juliahub-dependencies vector) (if (vector? vector) (filter-map (lambda (el) (let ((dep (json->juliahub-dependency el))) - (if (and (juliahub-dependency-direct? dep) - (not (member (juliahub-dependency-name dep) - %julia-stdlibs))) - dep - #f))) - (vector->list vector)))) - -(define (json->juliahub-indirect-dependencies vector) - (if (vector? vector) - (filter-map - (lambda (el) - (let ((dep (json->juliahub-dependency el))) - (if (and (not (juliahub-dependency-direct? dep)) - (not (member (juliahub-dependency-name dep) - %julia-stdlibs))) + (if (not (member (juliahub-dependency-name dep) + %julia-stdlibs)) dep #f))) (vector->list vector)))) @@ -157,12 +144,9 @@ (define-json-mapping make-juliahub-package juliahub-package? (readme juliahub-package-readme) ;string (version juliahub-package-version) ;string (description juliahub-package-description) ;string - (direct-dependencies - juliahub-package-direct-dependencies "deps" - json->juliahub-direct-dependencies) ;list of - (indirect-dependencies - juliahub-package-indirect-dependencies "deps" - json->juliahub-indirect-dependencies) ;list of + (dependencies + juliahub-package-dependencies "deps" + json->juliahub-dependencies) ;list of (url juliahub-package-url) ;string (uuid juliahub-package-uuid) ;string (license juliahub-package-license)) ;string @@ -184,7 +168,7 @@ (define* (juliahub-fetch name #:key (version #f)) json->juliahub-package)) (define (make-julia-sexp name source home-page synopsis description - direct-dependencies test-dependencies-names licenses) + dependencies test-dependencies-names licenses) "Return the `package' s-expression for a Julia package with the given NAME, VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, TEST-DEPENDENCIES-NAMES and LICENSES." @@ -193,11 +177,13 @@ (define (make-julia-sexp name source home-page synopsis description (version ,version) (source ,source) (build-system julia-build-system) - ,@(if (null? direct-dependencies) - '() - `((propagated-inputs - (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) - direct-dependencies))))) + ,@(let ((direct-dependencies + (filter julia-dependency-direct? dependencies))) + (if (null? direct-dependencies) + '() + `((propagated-inputs + (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) + direct-dependencies)))))) ,@(if (null? test-dependencies-names) '() `((native-inputs