From e9b86fa0f101536f620f1dc50bf414585823a8f6 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 4 Apr 2019 00:12:46 +0200 Subject: gnu: opam: Unbundle dependencies. * gnu/packages/ocaml.scm (opam)[build-system]: Use ocaml-build-system. [source]: Use unbundled sources. [arguments]: Update. [inputs, native-inputs, propagated-inputs]: Add missing dependencies. --- gnu/packages/ocaml.scm | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 0613bc29c6..58746d45df 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -475,28 +475,28 @@ the opam file fomat.") (name "opam") (version "2.0.3") (source (origin - (method url-fetch) - ;; Use the '-full' version, which includes all the dependencies. - (uri (string-append - "https://github.com/ocaml/opam/releases/download/" - version "/opam-full-" version ".tar.gz") - ;; (string-append "https://github.com/ocaml/opam/archive/" - ;; version ".tar.gz") - ) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/opam") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1qphm1grxx5j8li7f9qfpih4ylrnjl08b4ym8ma4ln44l56xm285")))) - (build-system gnu-build-system) + "151zvyijrapi805xm0j88ixlrhdbssfagxr2i1w25aagcd18n5y4")))) + (build-system ocaml-build-system) (arguments - '(;; Sometimes, 'make -jX' would fail right after ./configure with - ;; "Fatal error: exception End_of_file". - #:parallel-build? #f + `(#:configure-flags + (list (string-append "SHELL=" + (assoc-ref %build-inputs "bash") + "/bin/sh")) ;; For some reason, 'ocp-build' needs $TERM to be set. - #:make-flags `("TERM=screen" - ,(string-append "SHELL=" - (assoc-ref %build-inputs "bash") - "/bin/sh")) + #:make-flags + (list "TERM=screen" + (string-append "SHELL=" + (assoc-ref %build-inputs "bash") + "/bin/sh")) + #:test-target "tests" ;; FIXME: There's an obscure test failure: @@ -522,12 +522,10 @@ the opam file fomat.") ;; isolated environment when building with opam. ;; This is necessary for packages to find external ;; dependencies, such as a C compiler, make, etc... - (("^add_mounts ro /usr") - "add_mounts ro /gnu /run/current-system /usr")) + (("^add_sys_mounts /usr") + "add_sys_mounts /gnu /run/current-system /usr")) (substitute* "src/client/opamInitDefaults.ml" (("\"bwrap\"") (string-append "\"" bwrap "\""))) - ;; Build dependencies - (apply invoke "make" "lib-ext" make-flags) #t))) (add-before 'check 'pre-check (lambda _ @@ -536,7 +534,9 @@ the opam file fomat.") (invoke "git" "config" "--global" "user.name" "Guix") #t))))) (native-inputs - `(("git" ,git) ;for the tests + `(("dune" ,dune) + ("git" ,git) ;for the tests + ("ocaml-cppo" ,ocaml-cppo) ("python" ,python) ;for the tests ("camlp4" ,camlp4))) (inputs @@ -544,6 +544,12 @@ the opam file fomat.") ("ncurses" ,ncurses) ("curl" ,curl) ("bubblewrap" ,bubblewrap))) + (propagated-inputs + `(("ocaml-cmdliner" ,ocaml-cmdliner) + ("ocaml-dose3" ,ocaml-dose3) + ("ocaml-mccs" ,ocaml-mccs) + ("ocaml-opam-file-format" ,ocaml-opam-file-format) + ("ocaml-re" ,ocaml-re))) (home-page "http://opam.ocamlpro.com/") (synopsis "Package manager for OCaml") (description -- cgit v1.2.3