commit:     5658f1dc7a9c128630e2c4b0b843ecfd14cbf592
Author:     Bertrand Jacquin <bertrand <AT> jacquin <DOT> bzh>
AuthorDate: Mon Jul 28 18:12:43 2014 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 13 23:26:19 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5658f1dc

media-libs/x265: Fix x32 build, bug #510890

x32 arch as defined on https://sites.google.com/site/x32abi is neither
X86 nor X64, then forcing -march=i686 leads to build failure as wrong
-march is used.

Forcing -march, -mfloat-abi and -mfpu for ARM is also wrong
As a global sanity sake, disable all forced -march in CMakeLists

Upstream report: 
https://bitbucket.org/multicoreware/x265/pull-requests/21/build-disable-march-selection-from/diff

Package-Manager: portage-2.2.20.1

 ...sable-march-selection-from-CMakeLists.txt.patch | 35 ++++++++++++++++++++++
 media-libs/x265/x265-1.8.ebuild                    |  9 +++++-
 media-libs/x265/x265-9999.ebuild                   |  5 +++-
 3 files changed, 47 insertions(+), 2 deletions(-)

diff --git 
a/media-libs/x265/files/1.8-build-Disable-march-selection-from-CMakeLists.txt.patch
 
b/media-libs/x265/files/1.8-build-Disable-march-selection-from-CMakeLists.txt.patch
new file mode 100644
index 0000000..33ee254
--- /dev/null
+++ 
b/media-libs/x265/files/1.8-build-Disable-march-selection-from-CMakeLists.txt.patch
@@ -0,0 +1,35 @@
+From e89069148db716d30fb81c798d0cfd83250a9f5a Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <[email protected]>
+Date: Sat, 10 Oct 2015 00:05:41 +0100
+Subject: [PATCH] build: Disable -march selection from CMakeLists.txt
+
+x32 arch as defined on https://sites.google.com/site/x32abi is neither
+X86 nor X64, then forcing -march=i686 leads to build failure as wrong
+-march is used.
+
+Forcing -march, -mfloat-abi and -mfpu for ARM is also wrong
+
+As a global sanity sake, disable all forced -march in CMakeLists
+---
+ source/CMakeLists.txt | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
+index 764d5f2..fbc0d49 100644
+--- a/source/CMakeLists.txt
++++ b/source/CMakeLists.txt
+@@ -167,14 +167,7 @@ if(GCC)
+     if(NATIVE_BUILD)
+         if(INTEL_CXX)
+             add_definitions(-xhost)
+-        else()
+-            add_definitions(-march=native)
+         endif()
+-    elseif(X86 AND NOT X64)
+-        add_definitions(-march=i686)
+-    endif()
+-    if(ARM)
+-        add_definitions(-march=armv6 -mfloat-abi=hard -mfpu=vfp)
+     endif()
+     if(FPROFILE_GENERATE)
+         if(INTEL_CXX)

diff --git a/media-libs/x265/x265-1.8.ebuild b/media-libs/x265/x265-1.8.ebuild
index ee4a32f..8138afc 100644
--- a/media-libs/x265/x265-1.8.ebuild
+++ b/media-libs/x265/x265-1.8.ebuild
@@ -41,6 +41,10 @@ src_unpack() {
        fi
 }
 
+src_prepare() {
+       epatch 
"${FILESDIR}/${PV}-build-Disable-march-selection-from-CMakeLists.txt.patch"     
 # bug #510890
+}
+
 multilib_src_configure() {
        append-cflags -fPIC
        append-cxxflags -fPIC
@@ -51,9 +55,12 @@ multilib_src_configure() {
                -DLIB_INSTALL_DIR="$(get_libdir)"
        )
 
-       if [ "${ABI}" = x86 ] ; then
+       if [[ ${ABI} = x86 ]] ; then
                use 10bit && ewarn "Disabling 10bit support on x86 as it does 
not build (or requires to disable assembly optimizations)"
                mycmakeargs+=( -DHIGH_BIT_DEPTH=OFF )
+       elif [[ ${ABI} = x32 ]] ; then
+               # bug #510890
+               mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
        fi
 
        cmake-utils_src_configure

diff --git a/media-libs/x265/x265-9999.ebuild b/media-libs/x265/x265-9999.ebuild
index 8a3e36f..5b0348c 100644
--- a/media-libs/x265/x265-9999.ebuild
+++ b/media-libs/x265/x265-9999.ebuild
@@ -51,9 +51,12 @@ multilib_src_configure() {
                -DLIB_INSTALL_DIR="$(get_libdir)"
        )
 
-       if [ "${ABI}" = x86 ] ; then
+       if [[ ${ABI} = x86 ]] ; then
                use 10bit && ewarn "Disabling 10bit support on x86 as it does 
not build (or requires to disable assembly optimizations)"
                mycmakeargs+=( -DHIGH_BIT_DEPTH=OFF )
+       elif [[ ${ABI} = x32 ]] ; then
+               # bug #510890
+               mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
        fi
 
        cmake-utils_src_configure

Reply via email to