media-libs/x265: Add patch to fix link order when doing multi-variant build.
authorAlexis Ballier <aballier@gentoo.org>
Fri, 16 Oct 2015 09:28:49 +0000 (11:28 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Fri, 16 Oct 2015 09:29:00 +0000 (11:29 +0200)
as-needed might drop important libraries (dl here), causing the library to be underlinked.

Package-Manager: portage-2.2.23

media-libs/x265/files/1.8-extralibs_order.patch [new file with mode: 0644]
media-libs/x265/x265-1.8-r3.ebuild [moved from media-libs/x265/x265-1.8-r2.ebuild with 99% similarity]

diff --git a/media-libs/x265/files/1.8-extralibs_order.patch b/media-libs/x265/files/1.8-extralibs_order.patch
new file mode 100644 (file)
index 0000000..95f6887
--- /dev/null
@@ -0,0 +1,27 @@
+Link EXTRA_LIB before PLATFORM_LIBS since they're static libraries and as-needed
+might drop required libraries if they come after.
+
+Index: x265_11047/source/CMakeLists.txt
+===================================================================
+--- x265_11047.orig/source/CMakeLists.txt
++++ x265_11047/source/CMakeLists.txt
+@@ -455,6 +455,9 @@ option(ENABLE_SHARED "Build shared libra
+ if(ENABLE_SHARED)
+     add_library(x265-shared SHARED "${PROJECT_BINARY_DIR}/x265.def" ${YASM_OBJS}
+                 ${X265_RC_FILE} $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common>)
++    if(EXTRA_LIB)
++        target_link_libraries(x265-shared ${EXTRA_LIB})
++    endif()
+     target_link_libraries(x265-shared ${PLATFORM_LIBS})
+     if(MSVC)
+         set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265)
+@@ -480,9 +483,6 @@ if(ENABLE_SHARED)
+                 ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
+                 RUNTIME DESTINATION ${BIN_INSTALL_DIR})
+     endif()
+-    if(EXTRA_LIB)
+-        target_link_libraries(x265-shared ${EXTRA_LIB})
+-    endif()
+     if(LINKER_OPTIONS)
+         # set_target_properties can't do list expansion
+         string(REPLACE ";" " " LINKER_OPTION_STR "${LINKER_OPTIONS}")
similarity index 99%
rename from media-libs/x265/x265-1.8-r2.ebuild
rename to media-libs/x265/x265-1.8-r3.ebuild
index 18bfcc1caaaeaf0f0fc245c11f7a52284cbd59f3..ae1ad80d990eedfd1efd886ce38ff46cfc2bc694 100644 (file)
@@ -43,6 +43,7 @@ src_unpack() {
 
 src_prepare() {
        epatch "${FILESDIR}/${PV}-build-Disable-march-selection-from-CMakeLists.txt.patch"      # bug #510890
+       epatch "${FILESDIR}/1.8-extralibs_order.patch"
 }
 
 # By default, the library and the encoder is configured for only one output bit