commit: c85538388f2e1ed476edd2917618fead3578b5d5
Author: Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 4 15:40:31 2016 +0000
Commit: Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Oct 4 15:40:43 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8553838
dev-libs/crypto++: Drop forced usage of march=native.
This completely breaks for my usecases where I build binary packages for older
CPUs.
Package-Manager: portage-2.3.1
...pto++-5.6.4.ebuild => crypto++-5.6.4-r1.ebuild} | 4 ++++
.../crypto++/files/crypto++-5.6.4-nonative.patch | 28 ++++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/dev-libs/crypto++/crypto++-5.6.4.ebuild
b/dev-libs/crypto++/crypto++-5.6.4-r1.ebuild
similarity index 93%
rename from dev-libs/crypto++/crypto++-5.6.4.ebuild
rename to dev-libs/crypto++/crypto++-5.6.4-r1.ebuild
index c632e00..6444560 100644
--- a/dev-libs/crypto++/crypto++-5.6.4.ebuild
+++ b/dev-libs/crypto++/crypto++-5.6.4-r1.ebuild
@@ -18,6 +18,10 @@ IUSE="static-libs"
DEPEND="app-arch/unzip"
S="${WORKDIR}"
+PATCHES=(
+ # Building with -march=native breaks when one wants to build for older
CPUs.
+ "${FILESDIR}/${P}-nonative.patch"
+)
src_configure() {
cp config.recommend config.h || die
diff --git a/dev-libs/crypto++/files/crypto++-5.6.4-nonative.patch
b/dev-libs/crypto++/files/crypto++-5.6.4-nonative.patch
new file mode 100644
index 00000000..77d74ee
--- /dev/null
+++ b/dev-libs/crypto++/files/crypto++-5.6.4-nonative.patch
@@ -0,0 +1,28 @@
+Index: work/GNUmakefile
+===================================================================
+--- work.orig/GNUmakefile
++++ work/GNUmakefile
+@@ -125,23 +125,6 @@ ifeq ($(IS_X86)$(IS_X32)$(IS_CYGWIN)$(IS
+ endif
+ endif
+
+-# Guard use of -march=native
+-ifeq ($(GCC42_OR_LATER)$(IS_NETBSD),10)
+- CXXFLAGS += -march=native
+-else ifneq ($(CLANG_COMPILER)$(INTEL_COMPILER),00)
+- CXXFLAGS += -march=native
+-else
+- # GCC 3.3 and "unknown option -march="
+- # Ubuntu GCC 4.1 compiler crash with -march=native
+- # NetBSD GCC 4.8 compiler and "bad value (native) for -march= switch"
+- # Sun compiler is handled below
+- ifeq ($(SUN_COMPILER)$(IS_X64),01)
+- CXXFLAGS += -m64
+- else ifeq ($(SUN_COMPILER)$(IS_X86),01)
+- CXXFLAGS += -m32
+- endif # X86/X32/X64
+-endif
+-
+ # Aligned access required for -O3 and above due to vectorization
+ UNALIGNED_ACCESS := $(shell $(EGREP) -c
"^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS"
config.h)
+ ifneq ($(UNALIGNED_ACCESS),0)