guix: opam: Filter implicit inputs.
* guix/import/opam.scm (opam->guix-package, depends->inputs): Filter out implicit inputs.master
parent
4e110f61ac
commit
59873d94ce
|
@ -235,12 +235,15 @@ path to the repository."
|
||||||
(equal? "ocaml" name))
|
(equal? "ocaml" name))
|
||||||
names)))
|
names)))
|
||||||
|
|
||||||
(define (depends->inputs depends)
|
(define (filter-dependencies depends)
|
||||||
|
"Remove implicit dependencies from the list of dependencies in @var{depends}."
|
||||||
(filter (lambda (name)
|
(filter (lambda (name)
|
||||||
(and (not (equal? "" name))
|
(and (not (member name '("" "ocaml" "ocamlfind" "dune" "jbuilder")))
|
||||||
(not (equal? "ocaml" name))
|
(not (string-prefix? "base-" name))))
|
||||||
(not (equal? "ocamlfind" name))))
|
depends))
|
||||||
(map dependency->input depends)))
|
|
||||||
|
(define (depends->inputs depends)
|
||||||
|
(filter-dependencies (map dependency->input depends)))
|
||||||
|
|
||||||
(define (depends->native-inputs depends)
|
(define (depends->native-inputs depends)
|
||||||
(filter (lambda (name) (not (equal? "" name)))
|
(filter (lambda (name) (not (equal? "" name)))
|
||||||
|
@ -272,7 +275,8 @@ or #f on failure."
|
||||||
(source-url (or (metadata-ref url-dict "src")
|
(source-url (or (metadata-ref url-dict "src")
|
||||||
(metadata-ref url-dict "archive")))
|
(metadata-ref url-dict "archive")))
|
||||||
(requirements (metadata-ref opam-content "depends"))
|
(requirements (metadata-ref opam-content "depends"))
|
||||||
(dependencies (dependency-list->names requirements))
|
(names (dependency-list->names requirements))
|
||||||
|
(dependencies (filter-dependencies names))
|
||||||
(native-dependencies (depends->native-inputs requirements))
|
(native-dependencies (depends->native-inputs requirements))
|
||||||
(inputs (dependency-list->inputs (depends->inputs requirements)))
|
(inputs (dependency-list->inputs (depends->inputs requirements)))
|
||||||
(native-inputs (dependency-list->inputs
|
(native-inputs (dependency-list->inputs
|
||||||
|
@ -282,10 +286,7 @@ or #f on failure."
|
||||||
(lambda (name)
|
(lambda (name)
|
||||||
(not (member name '("dune" "jbuilder"))))
|
(not (member name '("dune" "jbuilder"))))
|
||||||
native-dependencies))))
|
native-dependencies))))
|
||||||
;; If one of these are required at build time, it means we
|
(let ((use-dune? (member "dune" names)))
|
||||||
;; can use the much nicer dune-build-system.
|
|
||||||
(let ((use-dune? (or (member "dune" (append dependencies native-dependencies))
|
|
||||||
(member "jbuilder" (append dependencies native-dependencies)))))
|
|
||||||
(call-with-temporary-output-file
|
(call-with-temporary-output-file
|
||||||
(lambda (temp port)
|
(lambda (temp port)
|
||||||
(and (url-fetch source-url temp)
|
(and (url-fetch source-url temp)
|
||||||
|
|
Reference in New Issue