summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-05-30 11:26:42 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-05-30 12:55:51 +0300
commit09b63f2cd8031f762530d8d7423440327244c595 (patch)
treeceb1171187dea20ce533a5047973c19ff64badf8
parentb3ffbab8f84056fe714b53885811bcfc1711c579 (diff)
downloadguix-09b63f2cd8031f762530d8d7423440327244c595.tar.gz
gnu: Add julia-libffi-jll.
* gnu/packages/julia-jll.scm (julia-libffi-jll): New variable.
-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")