all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.