mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-11 13:49:23 -05:00
guix: dune-build-system: Add a profile parameter.
* guix/build-system/dune.scm: Add a profile parameter. * guix/build/dune-build-system.scm (build): Use it. * doc/guix.texi: Document it. * gnu/packages/ocaml.scm: Remove profile being set from build flags. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
This commit is contained in:
parent
777ce14857
commit
33a1ec29fa
4 changed files with 22 additions and 13 deletions
|
@ -94,6 +94,7 @@ Copyright @copyright{} 2021 Xinglu Chen@*
|
|||
Copyright @copyright{} 2021 Raghav Gururajan@*
|
||||
Copyright @copyright{} 2021 Domagoj Stolfa@*
|
||||
Copyright @copyright{} 2021 Hui Lu@*
|
||||
Copyright @copyright{} 2021 pukkamustard@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
@ -7731,6 +7732,12 @@ The @code{#:package} parameter can be passed to specify a package name, which
|
|||
is useful when a package contains multiple packages and you want to build
|
||||
only one of them. This is equivalent to passing the @code{-p} argument to
|
||||
@code{dune}.
|
||||
|
||||
The @code{#:profile} parameter can be passed to specify the
|
||||
@uref{https://dune.readthedocs.io/en/stable/dune-files.html#profile,
|
||||
dune build profile}. This is equivalent to passing the @code{--profile}
|
||||
argument to @code{dune}. Its default value is @code{"release"}.
|
||||
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} go-build-system
|
||||
|
|
|
@ -2876,8 +2876,7 @@ (define-public ocaml-ocp-indent
|
|||
"1dvcl108ir9nqkk4mjm9xhhj4p9dx9bmg8bnms54fizs1x3x8ar3"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:test-target "tests"
|
||||
#:build-flags (list "--profile=release")))
|
||||
`(#:test-target "tests"))
|
||||
(propagated-inputs
|
||||
`(("ocaml-cmdliner" ,ocaml-cmdliner)))
|
||||
(home-page "https://www.typerex.org/ocp-indent.html")
|
||||
|
@ -3295,8 +3294,7 @@ (define-public ocaml-cppo
|
|||
"1smcc0l6fh2n0y6bp96c69j5nw755jja99w0b206wx3yb2m4w2hs"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:build-flags (list "--profile" "release")))
|
||||
`(#:tests? #f))
|
||||
(native-inputs
|
||||
`(("ocamlbuild" ,ocamlbuild)))
|
||||
(home-page "https://github.com/mjambon/cppo")
|
||||
|
@ -3364,8 +3362,7 @@ (define-public ocaml-re
|
|||
(base32 "07ycb103mr4mrkxfd63cwlsn023xvcjp0ra0k7n2gwrg0mwxmfss"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:build-flags (list "--profile" "release")))
|
||||
`(#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("ocaml-seq" ,ocaml-seq)))
|
||||
(native-inputs
|
||||
|
@ -3842,9 +3839,8 @@ (define-public ocaml-camomile
|
|||
"0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:build-flags (list "--profile" "release")
|
||||
#:test-target "camomile-test"
|
||||
#:tests? #f; Tests fail, see https://github.com/yoriyuki/Camomile/issues/82
|
||||
`(#:test-target "camomile-test"
|
||||
#:tests? #f ; Tests fail, see https://github.com/yoriyuki/Camomile/issues/82
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-usr-share
|
||||
|
@ -3935,8 +3931,7 @@ (define-public ocaml4.07-lambda-term
|
|||
(base32 "0zcjy6fvf0d3i2ssz96asl889n3r6bplyzk7xvb2s3dkxbgcisyy"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:build-flags (list "--profile" "release")
|
||||
#:tests? #f
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2021 pukkamustard <pukkamustard@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -88,6 +89,7 @@ (define* (dune-build store name inputs
|
|||
(out-of-source? #t)
|
||||
(jbuild? #f)
|
||||
(package #f)
|
||||
(profile "release")
|
||||
(tests? #t)
|
||||
(test-flags ''())
|
||||
(test-target "test")
|
||||
|
@ -127,6 +129,7 @@ (define builder
|
|||
#:out-of-source? ,out-of-source?
|
||||
#:jbuild? ,jbuild?
|
||||
#:package ,package
|
||||
#:profile ,profile
|
||||
#:tests? ,tests?
|
||||
#:test-target ,test-target
|
||||
#:install-target ,install-target
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
|
||||
;;; Copyright © 2021 pukkamustard <pukkamustard@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -31,11 +32,14 @@ (define-module (guix build dune-build-system)
|
|||
;; Code:
|
||||
|
||||
(define* (build #:key (build-flags '()) (jbuild? #f)
|
||||
(use-make? #f) (package #f) #:allow-other-keys)
|
||||
(use-make? #f) (package #f)
|
||||
(profile "release") #:allow-other-keys)
|
||||
"Build the given package."
|
||||
(let ((program (if jbuild? "jbuilder" "dune")))
|
||||
(apply invoke program "build" "@install"
|
||||
(append (if package (list "-p" package) '()) build-flags)))
|
||||
(append (if package (list "-p" package) '())
|
||||
`("--profile" ,profile)
|
||||
build-flags)))
|
||||
#t)
|
||||
|
||||
(define* (check #:key (test-flags '()) (test-target "test") tests?
|
||||
|
|
Loading…
Reference in a new issue