diff mbox series

[bug#64400,5/5] gnu: Add ocaml-owl.

Message ID 20230701174258.21019-5-anders@aathn.org
State New
Headers show
Series [bug#64400,1/5] gnu: Add ocaml-ISO8601. | expand

Commit Message

Anders Ågren Thuné July 1, 2023, 5:43 p.m. UTC
* gnu/packages/ocaml.scm (ocaml-owl): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

Comments

Liliana Marie Prikler July 11, 2023, 6:37 p.m. UTC | #1
Am Samstag, dem 01.07.2023 um 17:43 +0000 schrieb Anders Ågren Thuné:
> * gnu/packages/ocaml.scm (ocaml-owl): New variable.
> ---
>  gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
> 
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 83077addb0..f118c1289e 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -2797,6 +2797,34 @@ (define-public ocaml-toml
>  OCaml primitive types are also supplied.")
>      (license license:lgpl3)))
>  
> +(define-public ocaml-owl
> +  (package
> +    (name "ocaml-owl")
> +    (version "1.1")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/owlbarn/owl")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +               
> "08jvgf1fd7d28cxxjifx4ikmwcbfbiyw0sivw3xy4vdzvbyc9xw9"))))
> +    (build-system dune-build-system)
> +    (propagated-inputs (list openblas zlib ocaml-ctypes ocaml-npy
> ocaml-compiler-libs))
I'm pretty sure some of those inputs shouldn't be propagated.
> +    (native-inputs (list ocaml-alcotest ocaml-base ocaml-stdio))
> +    (home-page "https://github.com/owlbarn/owl")
> +    (synopsis "OCaml Scientific and Engineering Computing")
> +    (description
> +     "Owl is an OCaml numerical library.  It supports N-dimensional
> +arrays, both dense and sparse matrix operations, linear algebra,
> +regressions, fast Fourier transforms, and many advanced mathematical
> +and statistical functions (such as Markov chain Monte Carlo
> methods).
> +Recently, Owl has implemented algorithmic differentiation which
> +simplifies developing machine learning and neural network
> +algorithms.")
> +    (license license:expat)))
This package sadly fails to build on aarch64 and probably also has
issues on other architectures, as it assumes some build flags specific
to x86_64 (see the CI build logs).  These should be stripped in a
patch, snippet or pre-build phase.  If these flags are there for
performance reasons, you should instead mark the package as tunable.

Cheers
diff mbox series

Patch

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 83077addb0..f118c1289e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2797,6 +2797,34 @@  (define-public ocaml-toml
 OCaml primitive types are also supplied.")
     (license license:lgpl3)))
 
+(define-public ocaml-owl
+  (package
+    (name "ocaml-owl")
+    (version "1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/owlbarn/owl")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08jvgf1fd7d28cxxjifx4ikmwcbfbiyw0sivw3xy4vdzvbyc9xw9"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list openblas zlib ocaml-ctypes ocaml-npy ocaml-compiler-libs))
+    (native-inputs (list ocaml-alcotest ocaml-base ocaml-stdio))
+    (home-page "https://github.com/owlbarn/owl")
+    (synopsis "OCaml Scientific and Engineering Computing")
+    (description
+     "Owl is an OCaml numerical library.  It supports N-dimensional
+arrays, both dense and sparse matrix operations, linear algebra,
+regressions, fast Fourier transforms, and many advanced mathematical
+and statistical functions (such as Markov chain Monte Carlo methods).
+Recently, Owl has implemented algorithmic differentiation which
+simplifies developing machine learning and neural network
+algorithms.")
+    (license license:expat)))
+
 (define-public ocaml-parmap
   (package
     (name "ocaml-parmap")