import: utils: Trim patch version from names.

This remove the patch version from generated package names. For example
'rust-my-crate-1.1.2' now becomes 'rust-my-crate-1.1'.

* guix/import/utils.scm (package->definition): Trim patch version from
  generated package names.
* tests/crate.scm: (cargo>guix-package, cargo-recursive-import): Likewise.
This commit is contained in:
Hartmut Goebel 2020-11-14 19:47:32 +01:00
parent 50fbb3f032
commit 9a48e35be8
No known key found for this signature in database
GPG key ID: 634A8DFFD3F631DF
3 changed files with 21 additions and 19 deletions

View file

@ -159,7 +159,8 @@ (define (format-inputs inputs)
(map
(match-lambda
((name version)
(list (crate-name->package-name name) version)))
(list (crate-name->package-name name)
(version-major+minor version))))
inputs))
(let* ((port (http-fetch (crate-uri name version)))

View file

@ -269,9 +269,10 @@ (define* (package->definition guix-package #:optional append-version?)
('package ('name name) ('version version) . rest)
('let _ ('package ('name name) ('version version) . rest)))
`(define-public ,(string->symbol (if append-version?
(string-append name "-" version)
version))
`(define-public ,(string->symbol
(if append-version?
(string-append name "-" (version-major+minor version))
version))
,guix-package))))
(define (build-system-modules)

View file

@ -352,7 +352,7 @@ (define test-source-hash
(_ (error "Unexpected URL: " url)))))
(match (crate->guix-package "foo")
((define-public 'rust-foo-1.0.3
((define-public 'rust-foo-1.0
(package (name "rust-foo")
(version "1.0.3")
(source
@ -369,7 +369,7 @@ (define test-source-hash
(#:skip-build? #t
#:cargo-inputs
(("rust-leaf-alice"
('unquote 'rust-leaf-alice-0.7.5))))))
('unquote 'rust-leaf-alice-0.7))))))
(home-page "http://example.com")
(synopsis "summary")
(description "summary")
@ -433,7 +433,7 @@ (define test-source-hash
(match (crate-recursive-import "root")
;; rust-intermediate-b has no dependency on the rust-leaf-alice
;; package, so this is a valid ordering
(((define-public 'rust-leaf-alice-0.7.5
(((define-public 'rust-leaf-alice-0.7
(package
(name "rust-leaf-alice")
(version "0.7.5")
@ -452,7 +452,7 @@ (define test-source-hash
(synopsis "summary")
(description "summary")
(license (list license:expat license:asl2.0))))
(define-public 'rust-leaf-bob-3.0.1
(define-public 'rust-leaf-bob-3.0
(package
(name "rust-leaf-bob")
(version "3.0.1")
@ -471,7 +471,7 @@ (define-public 'rust-leaf-bob-3.0.1
(synopsis "summary")
(description "summary")
(license (list license:expat license:asl2.0))))
(define-public 'rust-intermediate-b-1.2.3
(define-public 'rust-intermediate-b-1.2
(package
(name "rust-intermediate-b")
(version "1.2.3")
@ -489,12 +489,12 @@ (define-public 'rust-intermediate-b-1.2.3
('quasiquote (#:skip-build? #t
#:cargo-inputs
(("rust-leaf-bob"
('unquote 'rust-leaf-bob-3.0.1))))))
('unquote 'rust-leaf-bob-3.0))))))
(home-page "http://example.com")
(synopsis "summary")
(description "summary")
(license (list license:expat license:asl2.0))))
(define-public 'rust-intermediate-a-1.0.42
(define-public 'rust-intermediate-a-1.0
(package
(name "rust-intermediate-a")
(version "1.0.42")
@ -512,16 +512,16 @@ (define-public 'rust-intermediate-a-1.0.42
('quasiquote (#:skip-build? #t
#:cargo-inputs
(("rust-intermediate-b"
('unquote 'rust-intermediate-b-1.2.3))
('unquote 'rust-intermediate-b-1.2))
("rust-leaf-alice"
('unquote 'rust-leaf-alice-0.7.5))
('unquote 'rust-leaf-alice-0.7))
("rust-leaf-bob"
('unquote 'rust-leaf-bob-3.0.1))))))
('unquote 'rust-leaf-bob-3.0))))))
(home-page "http://example.com")
(synopsis "summary")
(description "summary")
(license (list license:expat license:asl2.0))))
(define-public 'rust-root-1.0.4
(define-public 'rust-root-1.0
(package
(name "rust-root")
(version "1.0.4")
@ -538,13 +538,13 @@ (define-public 'rust-root-1.0.4
(arguments
('quasiquote (#:cargo-inputs
(("rust-intermediate-a"
('unquote 'rust-intermediate-a-1.0.42))
('unquote 'rust-intermediate-a-1.0))
("rust-intermediate-b"
('unquote 'rust-intermediate-b-1.2.3))
('unquote 'rust-intermediate-b-1.2))
("rust-leaf-alice"
('unquote 'rust-leaf-alice-0.7.5))
('unquote 'rust-leaf-alice-0.7))
("rust-leaf-bob"
('unquote 'rust-leaf-bob-3.0.1))))))
('unquote 'rust-leaf-bob-3.0))))))
(home-page "http://example.com")
(synopsis "summary")
(description "summary")