From: Martin Becze <mjbecze@riseup.net>
To: 38408@debbugs.gnu.org
Cc: Martin Becze <mjbecze@riseup.net>
Subject: [bug#38408] [PATCH v4 5/6] guix: crate: Depublicated dependencies
Date: Tue, 10 Dec 2019 14:23:42 -0500 [thread overview]
Message-ID: <46a5a5ed450c386ee1a17c02f73d613369c61657.1576005195.git.mjbecze@riseup.net> (raw)
In-Reply-To: <cover.1576005195.git.mjbecze@riseup.net>
* guix/import/crate.scm: (crate-version-dependencies): dedup deps
---
guix/import/crate.scm | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/guix/import/crate.scm b/guix/import/crate.scm
index 5683369b7a..535ac2d8e5 100644
--- a/guix/import/crate.scm
+++ b/guix/import/crate.scm
@@ -109,15 +109,22 @@ record or #f if it was not found."
"Return the list of <crate-dependency> records of VERSION, a
<crate-version>."
(let* ((path (assoc-ref (crate-version-links version) "dependencies"))
- (url (string-append (%crate-base-url) path)))
- (match (assoc-ref (or (json-fetch url) '()) "dependencies")
- ((? vector? vector)
- (filter (lambda (dep)
- (not (eq? (crate-dependency-kind dep) 'dev)))
- (map json->crate-dependency (vector->list vector))))
- (_
- '()))))
-
+ (url (string-append (%crate-base-url) path))
+ (deps-list (match (assoc-ref (or (json-fetch url) '()) "dependencies")
+ ((? vector? vector) (vector->list vector))
+ (_
+ '())))
+ ;; turn the raw list into <dependency>'s and remove dev depenedencies
+ (deps (filter-map (lambda (json)
+ (let ((dep (json->crate-dependency json)))
+ (if (eq? (crate-dependency-kind dep) 'dev)
+ #f
+ dep)))
+ deps-list)))
+ ;;remove duplicate dependencies
+ (apply lset-adjoin `(,(lambda (a b)
+ (string-ci=? (crate-dependency-id a) (crate-dependency-id b)))
+ () ,@deps))))
\f
;;;
;;; Converting crates to Guix packages.
--
2.24.0
next prev parent reply other threads:[~2019-12-10 19:24 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-10 21:39 [bug#44560] [PATCH v16 0/6] New take on: Semantic version aware recursive importer for crates Hartmut Goebel
2020-11-10 21:39 ` [bug#38408] [PATCH v16 1/6] import: utils: 'recursive-import' accepts an optional version parameter Hartmut Goebel
2020-11-10 21:39 ` [bug#38408] [PATCH v16 2/6] guix: self: Add guile-semver as a depenedency Hartmut Goebel
2020-11-10 21:39 ` [bug#38408] [PATCH v16 3/6] import: crate: Use guile-semver to resolve module versions Hartmut Goebel
2020-11-10 22:13 ` Hartmut Goebel
2019-11-28 0:13 ` [bug#38408] [PATCH 0/3] (WIP) Semantic version aware recusive importer for crates Martin Becze
2019-11-28 0:16 ` [bug#38408] [PATCH 1/3] gnu: added new function, find-packages-by-name*/direct Martin Becze
2019-11-28 0:16 ` [bug#38408] [PATCH 2/3] gnu: added new procedure, recusive-import-semver Martin Becze
2019-11-28 0:16 ` [bug#38408] [PATCH 3/3] Rewrote some of guix/import/crate.scm to use recursive-import-semver and updated script and test Martin Becze
2019-11-30 16:36 ` Martin Becze
2019-12-01 9:00 ` Efraim Flashner
2019-12-05 20:05 ` [bug#38408] [PATCH v2 0/5] Semantic version aware recusive importer for crates Martin Becze
2019-12-05 20:05 ` [bug#38408] [PATCH v2 1/5] gnu: added new function, find-packages-by-name*/direct Martin Becze
2019-12-05 20:05 ` [bug#38408] [PATCH v2 2/5] gnu: added new procedure, recusive-import-semver Martin Becze
2019-12-05 20:05 ` [bug#38408] [PATCH v2 3/5] Rewrote some of guix/import/crate.scm to use recursive-import-semver and updated script and test Martin Becze
2019-12-05 20:05 ` [bug#38408] [PATCH v2 4/5] added "#:skip-build? #t" to the output of (make-crate-sexp). Most the the packages imported will be libaries and won't need to build. The top level package will build them though Martin Becze
2019-12-05 20:05 ` [bug#38408] [PATCH v2 5/5] guix: crate: Depublicated build and normal dependencies Martin Becze
2019-12-06 18:21 ` [bug#38408] [PATCH v3 0/5] Semantic version aware recusive importer for crates Martin Becze
2019-12-06 18:21 ` [bug#38408] [PATCH v3 1/5] gnu: added new function, find-packages-by-name*/direct Martin Becze
2019-12-06 18:21 ` [bug#38408] [PATCH v3 2/5] gnu: added new procedure, recusive-import-semver Martin Becze
2019-12-06 18:21 ` [bug#38408] [PATCH v3 3/5] Rewrote some of guix/import/crate.scm to use recursive-import-semver and updated script and test Martin Becze
2019-12-06 18:21 ` [bug#38408] [PATCH v3 4/5] added "#:skip-build? #t" to the output of (make-crate-sexp). Most the the packages imported will be libaries and won't need to build. The top level package will build them though Martin Becze
2019-12-06 18:21 ` [bug#38408] [PATCH v3 5/5] guix: crate: Depublicated dependencies Martin Becze
2019-12-10 19:23 ` [bug#38408] [PATCH v4 0/6] Semantic version aware recusive importer for crates Martin Becze
2019-12-10 19:23 ` [bug#38408] [PATCH v4 1/6] gnu: added new function, find-packages-by-name*/direct Martin Becze
2019-12-19 22:00 ` Ludovic Courtès
2019-12-20 18:37 ` Martin Becze
2019-12-27 18:38 ` Ludovic Courtès
2020-01-18 16:40 ` [bug#38408] [PATCH v6] Semantic version aware recusive importer for crates Martin Becze
2019-12-10 19:23 ` [bug#38408] [PATCH v4 2/6] gnu: added new procedure, recusive-import-semver Martin Becze
2019-12-19 22:07 ` Ludovic Courtès
2019-12-20 18:46 ` Martin Becze
2019-12-10 19:23 ` [bug#38408] [PATCH v4 3/6] Rewrote some of guix/import/crate.scm to use recursive-import-semver and updated script and test Martin Becze
2019-12-10 19:23 ` [bug#38408] [PATCH v4 4/6] added "#:skip-build? #t" to the output of (make-crate-sexp). Most the the packages imported will be libaries and won't need to build. The top level package will build them though Martin Becze
2019-12-10 19:23 ` Martin Becze [this message]
2019-12-10 19:23 ` [bug#38408] [PATCH v4 6/6] guix: import: recursive-import-semver: allow the range of a package to be specified when begining import Martin Becze
2019-12-16 23:30 ` [bug#38408] Rewrote recursive-import-semver based on topological-sort Martin Becze
2020-02-04 12:18 ` [bug#38408] [PATCH v9 0/8] recursive semver crate importer! Martin Becze
2020-02-04 12:18 ` [bug#38408] [PATCH v9 1/8] guix: import: (recursive-import) Allow for version numbers Martin Becze
2020-02-17 10:03 ` Efraim Flashner
2020-02-04 12:18 ` [bug#38408] [PATCH v9 2/8] guix: import: crate: Use semver to resovle module versions Martin Becze
2020-02-17 14:35 ` Ludovic Courtès
2020-02-17 14:57 ` Efraim Flashner
2020-02-17 15:37 ` Ludovic Courtès
2020-02-18 8:56 ` Martin Becze
2020-02-04 12:18 ` [bug#38408] [PATCH v9 3/8] Added Guile-Semver as a dependency to guix Martin Becze
2020-02-17 10:03 ` Efraim Flashner
2020-02-17 14:36 ` Ludovic Courtès
2020-02-18 9:30 ` Martin Becze
2020-02-20 9:40 ` Ludovic Courtès
2020-02-20 16:54 ` Martin Becze
2020-02-21 9:01 ` Ludovic Courtès
2020-02-21 16:25 ` Martin Becze
2020-02-21 16:27 ` Leo Famulari
2020-02-23 20:34 ` Martin Becze
2020-02-23 21:05 ` Martin Becze
2020-03-11 20:20 ` Martin Becze
2020-03-21 18:35 ` Martin Becze
2020-03-22 19:26 ` Leo Famulari
2020-03-22 20:10 ` Leo Famulari
2020-03-23 9:50 ` Martin Becze
2020-03-23 16:28 ` Martin Becze
2020-03-24 10:18 ` Ludovic Courtès
2020-03-24 14:19 ` Martin Becze
2020-03-24 19:00 ` Martin Becze
2020-04-12 15:07 ` Martin Becze
2020-04-12 16:59 ` Ludovic Courtès
2020-04-17 14:57 ` Martin Becze
2020-04-29 19:50 ` Martin Becze
2020-04-29 19:51 ` Martin Becze
2020-05-08 19:57 ` Martin Becze
2020-08-18 9:44 ` Martin Becze
2020-07-05 0:23 ` Jakub Kądziołka
2020-02-04 12:18 ` [bug#38408] [PATCH v9 4/8] guix: import: utils: allow generation of inputs to be version aware Martin Becze
2020-02-04 12:18 ` [bug#38408] [PATCH v9 5/8] guix: import: crate: deduplicate dependencies Martin Becze
2020-02-04 12:18 ` [bug#38408] [PATCH v9 6/8] guix: import: crate: memorize crate->guix-package Martin Becze
2020-02-04 12:18 ` [bug#38408] [PATCH v9 7/8] guix: import: utils: trim patch version from names Martin Becze
2020-02-04 12:18 ` [bug#38408] [PATCH v9 8/8] guix: import: parametrized importing of dev dependencies Martin Becze
2020-02-20 18:53 ` [bug#38408] [PATCH v9 0/8] recursive semver crate importer! Leo Famulari
2020-02-21 8:35 ` Martin Becze
2020-02-21 12:15 ` Efraim Flashner
2020-02-21 16:29 ` Martin Becze
2020-11-07 22:19 ` [bug#38408] [PATCH 0/3] (WIP) Semantic version aware recusive importer for crates Hartmut Goebel
2020-11-07 22:35 ` Marius Bakke
2020-11-09 17:15 ` Hartmut Goebel
2020-11-09 17:27 ` Nicolas Goaziou
2020-11-11 15:06 ` [bug#38408] [PATCH v16 3/6] import: crate: Use guile-semver to resolve module versions Timothy Sample
2020-11-16 19:07 ` [bug#44694] [PATCH v17 0/8] New take continued: Semantic version aware recursive Hartmut Goebel
2020-11-16 19:07 ` [bug#38408] [PATCH v17 1/8] guix: self: Add guile-semver as a depenedency Hartmut Goebel
2020-11-16 19:07 ` [bug#38408] [PATCH v17 2/8] import: utils: 'recursive-import' accepts an optional version parameter Hartmut Goebel
2020-11-16 19:07 ` [bug#38408] [PATCH v17 3/8] import: crate: Use guile-semver to resolve module versions Hartmut Goebel
2020-11-16 19:07 ` [bug#38408] [PATCH v17 4/8] import: crate: Memorize crate->guix-package Hartmut Goebel
2020-11-16 19:07 ` [bug#38408] [PATCH v17 5/8] import: crate: Parameterized importing of dev dependencies Hartmut Goebel
2020-11-16 19:07 ` [bug#38408] [PATCH v17 6/8] import: utils: Trim patch version from names Hartmut Goebel
2020-11-16 19:07 ` [bug#38408] [PATCH v17 7/8] import: crate: Trim version for names after left-most non-zero part Hartmut Goebel
2020-11-16 19:07 ` [bug#38408] [PATCH v17 8/8] import: crate: Use existing package satisfying semver requirement Hartmut Goebel
2020-11-17 21:54 ` [bug#38408] [PATCH v17 0/8] New take continued: Semantic version aware recursive Martin Becze
2020-12-02 21:13 ` bug#38408: " Hartmut Goebel
2020-12-02 21:48 ` [bug#38408] " Leo Famulari
2020-11-17 21:43 ` [bug#38408] [PATCH v16 3/6] import: crate: Use guile-semver to resolve module versions Martin Becze
2020-11-17 21:51 ` Martin Becze
2020-11-18 7:56 ` Hartmut Goebel
2020-11-10 21:39 ` [bug#38408] [PATCH v16 4/6] import: crate: Memorize crate->guix-package Hartmut Goebel
2020-11-10 21:39 ` [bug#38408] [PATCH v16 5/6] import: utils: Trim patch version from names Hartmut Goebel
2020-11-10 21:39 ` [bug#38408] [PATCH v16 6/6] import: crate: Parameterized importing of dev dependencies Hartmut Goebel
2020-11-10 22:21 ` Hartmut Goebel
2020-11-10 22:24 ` [bug#38408] [PATCH v16 0/6] New take on: Semantic version aware recursive importer for crates Hartmut Goebel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46a5a5ed450c386ee1a17c02f73d613369c61657.1576005195.git.mjbecze@riseup.net \
--to=mjbecze@riseup.net \
--cc=38408@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).