summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/julia-jll.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/julia-jll.scm b/gnu/packages/julia-jll.scm
index 2b2ed8a87b..07578820eb 100644
--- a/gnu/packages/julia-jll.scm
+++ b/gnu/packages/julia-jll.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages julia)
+  #:use-module (gnu packages libffi)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages tls)
@@ -527,6 +528,43 @@ used in autogenerated packages via @code{BinaryBuilder.jl}.")
     (description "This package provides a wrapper for the libfdk audio library.")
     (license license:expat)))
 
+(define-public julia-libffi-jll
+  (package
+    (name "julia-libffi-jll")
+    (version "3.3.0+0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaBinaryWrappers/Libffi_jll.jl")
+               (commit (string-append "Libffi-v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "008ajchli77airvibdgqw7gvmhk9w63qrv94f88iz1ixxyrycnm0"))))
+    (build-system julia-build-system)
+    (arguments
+     '(#:tests? #f  ; no runtests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'override-binary-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (map
+               (lambda (wrapper)
+                 (substitute* wrapper
+                   (("lib64") "lib")
+                   (("artifact\"Libffi\"")
+                    (string-append "\"" (assoc-ref inputs "libffi") "\""))))
+               ;; There's a Julia file for each platform, override them all
+               (find-files "src/wrappers/" "\\.jl$")))))))
+    (inputs
+     `(("libffi" ,libffi)))
+    (propagated-inputs
+     `(("julia-jllwrappers" ,julia-jllwrappers)))
+    (home-page "https://github.com/JuliaBinaryWrappers/Libffi_jll.jl")
+    (synopsis "Libffi library wrappers")
+    (description "This package provides a wrapper for the libffi library.")
+    (license license:expat)))
+
 (define-public julia-libiconv-jll
   (package
     (name "julia-libiconv-jll")