gnu: x265: Install static libraries in a separate output.
This saves more than 50% of the closure size. * gnu/packages/video.scm (x265)[outputs]: New field. [arguments]: Add custom phase to move the static libraries to a new output.
This commit is contained in:
parent
bd606fb2ce
commit
020d4d2cdc
1 changed files with 15 additions and 1 deletions
|
|
@ -396,6 +396,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
||||||
(package
|
(package
|
||||||
(name "x265")
|
(name "x265")
|
||||||
(version "2.9")
|
(version "2.9")
|
||||||
|
(outputs '("out" "static"))
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
|
@ -462,7 +463,20 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
||||||
(with-directory-excursion "../build-12bit"
|
(with-directory-excursion "../build-12bit"
|
||||||
(invoke "make" "install"))
|
(invoke "make" "install"))
|
||||||
(with-directory-excursion "../build-10bit"
|
(with-directory-excursion "../build-10bit"
|
||||||
(invoke "make" "install")))))))
|
(invoke "make" "install"))))
|
||||||
|
(add-before 'strip 'move-static-libs
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out"))
|
||||||
|
(static (assoc-ref outputs "static")))
|
||||||
|
(mkdir-p (string-append static "/lib"))
|
||||||
|
(with-directory-excursion
|
||||||
|
(string-append out "/lib")
|
||||||
|
(for-each
|
||||||
|
(lambda (file)
|
||||||
|
(rename-file file
|
||||||
|
(string-append static "/lib/" file)))
|
||||||
|
(find-files "." "\\.a$"))))
|
||||||
|
#t)))))
|
||||||
(home-page "http://x265.org/")
|
(home-page "http://x265.org/")
|
||||||
(synopsis "Library for encoding h.265/HEVC video streams")
|
(synopsis "Library for encoding h.265/HEVC video streams")
|
||||||
(description "x265 is a H.265 / HEVC video encoder application library,
|
(description "x265 is a H.265 / HEVC video encoder application library,
|
||||||
|
|
|
||||||
Reference in a new issue