* [bug#74079] [PATCH 0/2] x265: Link all library variants.
@ 2024-10-29 7:31 Efraim Flashner
2024-10-29 7:32 ` [bug#74079] [PATCH 1/2] gnu: x265: Only build with nasm on x86_64-linux Efraim Flashner
2024-10-29 7:32 ` [bug#74079] [PATCH 2/2] gnu: x265: Link together all library variants Efraim Flashner
0 siblings, 2 replies; 3+ messages in thread
From: Efraim Flashner @ 2024-10-29 7:31 UTC (permalink / raw)
To: 74079; +Cc: Efraim Flashner
I've been working on and off on this for several years, and I finally
managed to link together all the library variants from this package.
That's the default 8-bit and the 10- and 12-bit variants.
Efraim Flashner (2):
gnu: x265: Only build with nasm on x86_64-linux.
gnu: x265: Link together all library variants.
gnu/packages/video.scm | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
base-commit: 4491dec50a97dbdebd7dd6d41a5596358b155b79
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug#74079] [PATCH 1/2] gnu: x265: Only build with nasm on x86_64-linux.
2024-10-29 7:31 [bug#74079] [PATCH 0/2] x265: Link all library variants Efraim Flashner
@ 2024-10-29 7:32 ` Efraim Flashner
2024-10-29 7:32 ` [bug#74079] [PATCH 2/2] gnu: x265: Link together all library variants Efraim Flashner
1 sibling, 0 replies; 3+ messages in thread
From: Efraim Flashner @ 2024-10-29 7:32 UTC (permalink / raw)
To: 74079; +Cc: Efraim Flashner
* gnu/packages/video.scm (x265)[native-inputs]: Only use nasm when
building for x86_64-linux.
Change-Id: Id47f8bef4df0aef6cf574a39e4509024bb3a9479
---
gnu/packages/video.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 92c0acef3ca..bb07a21e981 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1317,9 +1317,9 @@ (define-public x265
(build-system cmake-build-system)
(native-inputs
;; XXX: ASM optimization fails on i686-linux, see <https://bugs.gnu.org/41768>.
- (if (string-prefix? "i686" (%current-system))
- '()
- `(("nasm" ,nasm))))
+ (if (target-x86-64?)
+ (list nasm)
+ '()))
(arguments
`(#:tests? #f ; tests are skipped if ENABLE_ASSEMBLY is TRUE.
#:configure-flags
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#74079] [PATCH 2/2] gnu: x265: Link together all library variants.
2024-10-29 7:31 [bug#74079] [PATCH 0/2] x265: Link all library variants Efraim Flashner
2024-10-29 7:32 ` [bug#74079] [PATCH 1/2] gnu: x265: Only build with nasm on x86_64-linux Efraim Flashner
@ 2024-10-29 7:32 ` Efraim Flashner
1 sibling, 0 replies; 3+ messages in thread
From: Efraim Flashner @ 2024-10-29 7:32 UTC (permalink / raw)
To: 74079; +Cc: Efraim Flashner
* gnu/packages/video.scm (x265)[arguments]: Adjust the 'configure-flags
to link the 10bit and 12bit variants of the libraries. Adjust the
'build-12-bit and 'build-10-bit phases to not build the shared
libraries. Remove 'install-more-libs phase.
Change-Id: I338e9a3d216e35e6e38fe6ccfd29236d14054306
---
gnu/packages/video.scm | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bb07a21e981..d9ac0a22806 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1323,8 +1323,11 @@ (define-public x265
(arguments
`(#:tests? #f ; tests are skipped if ENABLE_ASSEMBLY is TRUE.
#:configure-flags
- ;; Ensure position independent code for everyone.
(list "-DENABLE_PIC=TRUE"
+ "-DLINKED_10BIT=ON"
+ "-DLINKED_12BIT=ON"
+ "-DEXTRA_LIB=x265_main10.a;x265_main12.a"
+ "-DEXTRA_LINK_FLAGS=-L../build-10bit -L../build-12bit"
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out")))
#:phases
@@ -1343,7 +1346,7 @@ (define-public x265
(lambda* (#:key (configure-flags '()) #:allow-other-keys #:rest args)
(mkdir "../build-12bit")
(with-directory-excursion "../build-12bit"
- (apply invoke
+ (invoke
"cmake" "../source"
,@(if (target-aarch64?)
'("-DENABLE_ASSEMBLY=OFF")
@@ -1355,8 +1358,9 @@ (define-public x265
"-DHIGH_BIT_DEPTH=ON"
"-DEXPORT_C_API=OFF"
"-DENABLE_CLI=OFF"
- "-DMAIN12=ON"
- configure-flags)
+ "-DENABLE_SHARED=OFF"
+ "-DENABLE_PIC=TRUE"
+ "-DMAIN12=ON")
(substitute* (cons "cmake_install.cmake"
(append
(find-files "CMakeFiles/x265-shared.dir")
@@ -1367,7 +1371,7 @@ (define-public x265
(lambda* (#:key (configure-flags '()) #:allow-other-keys #:rest args)
(mkdir "../build-10bit")
(with-directory-excursion "../build-10bit"
- (apply invoke
+ (invoke
"cmake" "../source"
,@(if (target-aarch64?)
'("-DENABLE_ASSEMBLY=OFF")
@@ -1379,19 +1383,14 @@ (define-public x265
"-DHIGH_BIT_DEPTH=ON"
"-DEXPORT_C_API=OFF"
"-DENABLE_CLI=OFF"
- configure-flags)
+ "-DENABLE_SHARED=OFF"
+ "-DENABLE_PIC=TRUE")
(substitute* (cons "cmake_install.cmake"
(append
(find-files "CMakeFiles/x265-shared.dir")
(find-files "CMakeFiles/x265-static.dir")))
(("libx265") "libx265_main10"))
((assoc-ref %standard-phases 'build)))))
- (add-after 'install 'install-more-libs
- (lambda args
- (with-directory-excursion "../build-12bit"
- ((assoc-ref %standard-phases 'install)))
- (with-directory-excursion "../build-10bit"
- ((assoc-ref %standard-phases 'install)))))
(add-before 'strip 'move-static-libs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-10-29 7:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-29 7:31 [bug#74079] [PATCH 0/2] x265: Link all library variants Efraim Flashner
2024-10-29 7:32 ` [bug#74079] [PATCH 1/2] gnu: x265: Only build with nasm on x86_64-linux Efraim Flashner
2024-10-29 7:32 ` [bug#74079] [PATCH 2/2] gnu: x265: Link together all library variants Efraim Flashner
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).