From b67f0bc2ed20d6b73cf4528818faef7bfcfb2254 Mon Sep 17 00:00:00 2001 From: Alexis Ballier Date: Fri, 16 Oct 2015 11:28:49 +0200 Subject: [PATCH] media-libs/x265: Add patch to fix link order when doing multi-variant build. as-needed might drop important libraries (dl here), causing the library to be underlinked. Package-Manager: portage-2.2.23 --- .../x265/files/1.8-extralibs_order.patch | 27 +++++++++++++++++++ ...{x265-1.8-r2.ebuild => x265-1.8-r3.ebuild} | 1 + 2 files changed, 28 insertions(+) create mode 100644 media-libs/x265/files/1.8-extralibs_order.patch rename media-libs/x265/{x265-1.8-r2.ebuild => x265-1.8-r3.ebuild} (99%) 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 index 000000000000..95f6887eb725 --- /dev/null +++ b/media-libs/x265/files/1.8-extralibs_order.patch @@ -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} $ $) ++ 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}") diff --git a/media-libs/x265/x265-1.8-r2.ebuild b/media-libs/x265/x265-1.8-r3.ebuild similarity index 99% rename from media-libs/x265/x265-1.8-r2.ebuild rename to media-libs/x265/x265-1.8-r3.ebuild index 18bfcc1caaae..ae1ad80d990e 100644 --- a/media-libs/x265/x265-1.8-r2.ebuild +++ b/media-libs/x265/x265-1.8-r3.ebuild @@ -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 -- 2.26.2