From patchwork Thu Sep 26 18:31:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Becze X-Patchwork-Id: 15488 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 5C80917442; Thu, 26 Sep 2019 19:34:30 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 2443E17440 for ; Thu, 26 Sep 2019 19:34:30 +0100 (BST) Received: from localhost ([::1]:42444 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDYaz-0007U8-MW for patchwork@mira.cbaines.net; Thu, 26 Sep 2019 14:34:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40030) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDYYf-0006Hi-Or for guix-patches@gnu.org; Thu, 26 Sep 2019 14:32:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iDYYd-0003Qi-OL for guix-patches@gnu.org; Thu, 26 Sep 2019 14:32:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:36329) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iDYYc-0003QG-L3 for guix-patches@gnu.org; Thu, 26 Sep 2019 14:32:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iDYYc-0000bE-EH for guix-patches@gnu.org; Thu, 26 Sep 2019 14:32:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#37525] [PATCH 1/3] added recusive import functionality to the crate importer References: <20190926182812.10566-1-mjbecze@riseup.net> In-Reply-To: <20190926182812.10566-1-mjbecze@riseup.net> Resent-From: Martin Becze Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 26 Sep 2019 18:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37525 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 37525@debbugs.gnu.org Received: via spool by 37525-submit@debbugs.gnu.org id=B37525.156952268432692 (code B ref 37525); Thu, 26 Sep 2019 18:32:02 +0000 Received: (at 37525) by debbugs.gnu.org; 26 Sep 2019 18:31:24 +0000 Received: from localhost ([127.0.0.1]:45139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iDYY0-0008Uv-6I for submit@debbugs.gnu.org; Thu, 26 Sep 2019 14:31:24 -0400 Received: from mx1.riseup.net ([198.252.153.129]:44160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iDYXy-0008T7-Ae for 37525@debbugs.gnu.org; Thu, 26 Sep 2019 14:31:22 -0400 Received: from bell.riseup.net (bell-pn.riseup.net [10.0.1.178]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.riseup.net (Postfix) with ESMTPS id 46fNmT4bKhzFbcn for <37525@debbugs.gnu.org>; Thu, 26 Sep 2019 11:31:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1569522681; bh=a4OZGMhL4X2Z2LYW2tcXrT1ZL8n/GNkAU9LOb+wMDus=; h=From:To:Cc:Subject:Date:From; b=Mteea/V4q82D0f5Voy+kV3KeNThF6lUOvZHW6sr7+q0A/C4uufgwCVPaVUCeVavU9 pLpvxghWshXC+CoVaCwuBGQbqK1sg8u4B0BWtjWCQn4qyaQyeqh2SbLdEvjBXMyszh vHD4TkkCKsjwm0IDPykhRZ5dqtCz5ggOtjZCDBGU= X-Riseup-User-ID: 065AAACFF59AC0523127A6ED5C9A1D21D9E3260C92EE3EEDA55A7B04E01C7C26 Received: from [127.0.0.1] (localhost [127.0.0.1]) by bell.riseup.net (Postfix) with ESMTPSA id 46fNmS5kkrzJxhV; Thu, 26 Sep 2019 11:31:20 -0700 (PDT) From: Martin Becze Date: Thu, 26 Sep 2019 14:31:01 -0400 Message-Id: <20190926183103.10646-1-mjbecze@riseup.net> MIME-Version: 1.0 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: , Cc: Martin Becze Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches --- guix/import/crate.scm | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/guix/import/crate.scm b/guix/import/crate.scm index fd1974eae8..8dc014d232 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -40,6 +40,7 @@ #:use-module (srfi srfi-26) #:export (crate->guix-package guix-package->crate-name + crate-recursive-import %crate-updater)) @@ -218,16 +219,24 @@ latest version of CRATE-NAME." (cargo-development-inputs (sort (map crate-dependency-id dev-dep-crates) string-ci (crate-version-license version*) - string->license))))) + (values + (make-crate-sexp #:name crate-name + #:version (crate-version-number version*) + #:cargo-inputs cargo-inputs + #:cargo-development-inputs cargo-development-inputs + #:home-page (or (crate-home-page crate) + (crate-repository crate)) + #:synopsis (crate-description crate) + #:description (crate-description crate) + #:license (and=> (crate-version-license version*) + string->license)) + (append cargo-inputs cargo-development-inputs))))) + +(define (crate-recursive-import crate-name) + (recursive-import crate-name #f + #:repo->guix-package (lambda (name repo) + (crate->guix-package name)) + #:guix-name crate-name->package-name)) (define (guix-package->crate-name package) "Return the crate name of PACKAGE."