aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-02-22 18:18:36 +0100
committerLudovic Courtès <ludo@gnu.org>2021-02-22 23:42:08 +0100
commitd8c80c671bb7e836f464d159aede6bc0ca86ab36 (patch)
treee8052e8184c7517abfe7fa3f9497816266cc7979 /gnu/packages/ocaml.scm
parent43cef0ba81aa5b7ba91173a66c2ca5f7fbb6b2da (diff)
downloadguix-d8c80c671bb7e836f464d159aede6bc0ca86ab36.tar.gz
guix-d8c80c671bb7e836f464d159aede6bc0ca86ab36.zip
gnu: ocaml-llvm: Remove duplicate package.
Commit 8f710cc598fb675d267f49a82cffc197f03ad52c introduced a duplicate ocaml-llvm@9.0.1 package, which was flagged by a test failure in tests/packages.scm. * gnu/packages/ocaml.scm (make-ocaml-llvm): Define as 'mlambdaq'.
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm74
1 files changed, 39 insertions, 35 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index dec1f8405e..9e68359a42 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -87,6 +87,7 @@
#:use-module (guix packages)
#:use-module (guix svn-download)
#:use-module (guix utils)
+ #:use-module (guix memoization)
#:use-module ((srfi srfi-1) #:hide (zip)))
;; A shortcut for files from ocaml forge. Downloaded files are computed from
@@ -6198,41 +6199,44 @@ provides support to program with time varying values: declarative events and
client chooses the concrete timeline.")
(license license:lgpl2.1+)))
-(define (make-ocaml-llvm llvm)
- (package
- (inherit llvm)
- (name "ocaml-llvm")
- (outputs '("out"))
- (arguments
- `(#:configure-flags
- (list
- (string-append "-DLLVM_OCAML_EXTERNAL_LLVM_LIBDIR="
- (assoc-ref %build-inputs "llvm") "/lib")
- "-DBUILD_SHARED_LIBS=TRUE"
- "-DLLVM_OCAML_OUT_OF_TREE=TRUE"
- (string-append "-DLLVM_OCAML_INSTALL_PATH="
- (assoc-ref %outputs "out") "/lib/ocaml/site-lib"))
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda _
- (invoke "make" "ocaml_all")))
- (replace 'install
- (lambda _
- (invoke "cmake" "-P" "bindings/ocaml/cmake_install.cmake"))))))
- (inputs
- `(("llvm" ,llvm)))
- (native-inputs
- `(("ocaml" ,ocaml)
- ("ocaml-findlib" ,ocaml-findlib)
- ("ocaml-ounit" ,ocaml-ounit)
- ("python" ,python)))
- (propagated-inputs
- `(("ocaml-integers" ,ocaml-integers)
- ("ocaml-ctypes" ,ocaml-ctypes)))
- (synopsis "OCaml bindings to LLVM")
- (description "This package contains the OCaml bindings distributed with
-LLVM.")))
+(define make-ocaml-llvm
+ ;; Make it a memoizing procedure so its callers below don't end up defining
+ ;; two equal-but-not-eq "ocaml-llvm" packages for the default LLVM.
+ (mlambdaq (llvm)
+ (package
+ (inherit llvm)
+ (name "ocaml-llvm")
+ (outputs '("out"))
+ (arguments
+ `(#:configure-flags
+ (list
+ (string-append "-DLLVM_OCAML_EXTERNAL_LLVM_LIBDIR="
+ (assoc-ref %build-inputs "llvm") "/lib")
+ "-DBUILD_SHARED_LIBS=TRUE"
+ "-DLLVM_OCAML_OUT_OF_TREE=TRUE"
+ (string-append "-DLLVM_OCAML_INSTALL_PATH="
+ (assoc-ref %outputs "out") "/lib/ocaml/site-lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (invoke "make" "ocaml_all")))
+ (replace 'install
+ (lambda _
+ (invoke "cmake" "-P" "bindings/ocaml/cmake_install.cmake"))))))
+ (inputs
+ `(("llvm" ,llvm)))
+ (native-inputs
+ `(("ocaml" ,ocaml)
+ ("ocaml-findlib" ,ocaml-findlib)
+ ("ocaml-ounit" ,ocaml-ounit)
+ ("python" ,python)))
+ (propagated-inputs
+ `(("ocaml-integers" ,ocaml-integers)
+ ("ocaml-ctypes" ,ocaml-ctypes)))
+ (synopsis "OCaml bindings to LLVM")
+ (description "This package contains the OCaml bindings distributed with
+LLVM."))))
(define-public ocaml-llvm (make-ocaml-llvm llvm))
(define-public ocaml-llvm-9 (make-ocaml-llvm llvm-9))