summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-05-30 10:44:29 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-05-30 12:55:49 +0300
commit4073aeae4635019f5d792338ef9fd3c8fe37b29b (patch)
tree0518a2aabf774b2c1f7389b83ebb77b3d8717c96
parent191c345d3ea78beae0b4a2ad4e26cd2f51222cb4 (diff)
downloadguix-4073aeae4635019f5d792338ef9fd3c8fe37b29b.tar.gz
gnu: Add julia-x264-jll.
* gnu/packages/julia-jll.scm (julia-x264-jll): New variable.
-rw-r--r--gnu/packages/julia-jll.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/julia-jll.scm b/gnu/packages/julia-jll.scm
index 7fcc11957a..319b8fd882 100644
--- a/gnu/packages/julia-jll.scm
+++ b/gnu/packages/julia-jll.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages julia)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages web))
 
 ;;; TODO: Remove this autogenerated source package
@@ -401,6 +402,47 @@ originating @code{build_tarballs.jl} script can be found on the community
 build tree Yggdrasil.")
       (license license:expat))))
 
+(define-public julia-x264-jll
+  (package
+    (name "julia-x264-jll")
+    (version "2020.7.14+0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaBinaryWrappers/x264_jll.jl")
+               (commit (string-append "x264-v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "131srmmcwhp9f2x4dq3dw4pzv2z0428mdrb923yzzlm7a89nf28p"))))
+    (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)
+             (let ((libx264 (assoc-ref inputs "libx264")))
+              (map
+               (lambda (wrapper)
+                 (substitute* wrapper
+                   ;; Make sure we match the current library.
+                   (("libx264.so.157")
+                    (string-append "libx264.so."
+                                   ,(version-major (package-version libx264))))
+                   (("artifact\"x264\"")
+                    (string-append "\"" libx264 "\""))))
+               ;; There's a Julia file for each platform, override them all
+               (find-files "src/wrappers/" "\\.jl$"))))))))
+    (inputs
+     `(("libx264" ,libx264)))
+    (propagated-inputs
+     `(("julia-jllwrappers" ,julia-jllwrappers)))
+    (home-page "https://github.com/JuliaBinaryWrappers/x264_jll.jl")
+    (synopsis "x264 library wrappers")
+    (description "This package provides a wrapper for the x264 video library.")
+    (license license:expat)))
+
 (define-public julia-zlib-jll
   (package
     (name "julia-zlib-jll")