The package rpms/cryptopp.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/cryptopp.git/commit/?id=28b77aff4....
Change:
-%ifarch %{power64}
Thanks.
Full change:
============
commit 3d505628635716daff68c17c8244d24d5f473f8f
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Feb 28 11:37:35 2019 +0100
Update changelog
diff --git a/cryptopp.spec b/cryptopp.spec
index 62159e7..52f18ab 100644
--- a/cryptopp.spec
+++ b/cryptopp.spec
@@ -1,6 +1,6 @@
Name: cryptopp
Version: 8.1.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: C++ class library of cryptographic schemes
License: Boost
URL:
http://www.cryptopp.com/
@@ -115,6 +115,11 @@ mv $RPM_BUILD_ROOT%{_bindir}/cryptest.exe \
%{_datadir}/%{name}
%changelog
+* Thu Feb 28 2019 Nicolas Chauvet <kwizart(a)gmail.com> - 8.1.0-2
+- Improve how to set our flags
+- Remove ppc fixup
+- Backport patch to fix build
+
* Tue Feb 26 2019 Nicolas Chauvet <kwizart(a)gmail.com> - 8.1.0-1
- Update to 8.1.0
commit 6af439d29aa670d55302aef1e2bfec70247e2188
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Feb 28 11:36:20 2019 +0100
Improve how to set our flags
diff --git a/cryptopp.spec b/cryptopp.spec
index d1111d1..62159e7 100644
--- a/cryptopp.spec
+++ b/cryptopp.spec
@@ -65,9 +65,9 @@ perl -pi -e 's/\r$//g' License.txt Readme.txt
./rdrand-nasm.sh
%endif
+%{set_build_flags}
%make_build -f GNUmakefile \
- CXXFLAGS="-DNDEBUG %{optflags} -fPIC -DPIC" \
- LDFLAGS="%{?__global_ldflags}" \
+ ZOPT='' \
shared cryptest.exe
doxygen
commit 28b77aff48ded5262e85e986887135c257cfa829
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Feb 28 08:44:06 2019 +0100
Remove ppc fixup
diff --git a/cryptopp.spec b/cryptopp.spec
index c3bd79c..d1111d1 100644
--- a/cryptopp.spec
+++ b/cryptopp.spec
@@ -59,11 +59,6 @@ This package contains programs for manipulating %{name} routines.
%autosetup -c -p1
perl -pi -e 's/\r$//g' License.txt Readme.txt
-# Prevent an error at aria-simd.cpp compile:
-# type_traits:347:39: error: '__float128' was not declared in this scope
-%ifarch %{power64}
-sed -i -e 's/-mcpu=power4//g' GNUmakefile
-%endif
%build
%ifarch i686 x86_64
commit 000b59d6171d4ff84dae7076a78f152ed33da23c
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Feb 28 08:43:36 2019 +0100
Backport patch to fix build
diff --git a/Remove-early-NEON-qualification-tests-from-Makefile-.patch
b/Remove-early-NEON-qualification-tests-from-Makefile-.patch
new file mode 100644
index 0000000..6eed6e7
--- /dev/null
+++ b/Remove-early-NEON-qualification-tests-from-Makefile-.patch
@@ -0,0 +1,78 @@
+From 84ab1f3c66a579e317c9da440b347c6a47858a2e Mon Sep 17 00:00:00 2001
+From: Jeffrey Walton <noloader(a)gmail.com>
+Date: Wed, 27 Feb 2019 19:35:04 -0500
+Subject: [PATCH] Remove early NEON qualification tests from Makefile (GH #812,
+ GH #813)
+
+The makefile tries to pre-qualify NEON (for lack of a better term), and sets IS_NEON
accordingly. If IS_NEON=1, then we go on to perform test compiles to see if -mfloat-abi=X
-mfpu=neon (and friends) actually work. Effectively we are performing a test to see if we
should perform another test.
+
+The IS_NEON flag predates our compile time feature tests. It was kind of helpful when we
were trying to sort out if a platform and compiler options supported NEON without a
compile test. That was an absolute mess and we quickly learned we needed a real compile
time feature test (which we now have).
+
+Additionally, Debian and Fedora ARMEL builds are failing because we are misdetecting NEON
availability. It looks like we fail to set IS_NEON properly, so we never get into the code
paths that set either (1) -mfloat-abi=X -mfpu=neon or (2) -DCRYPTOPP_DISABLE_NEON or
-DCRYPTOPP_DISABLE_ASM. Later, the makefile builds a *_simd.cpp and the result is an error
that NEON needs to be activated (or disabled).
+
+This commit removes IS_NEON so we immediately move to compile time feature tests.
+---
+ GNUmakefile | 10 ++++------
+ GNUmakefile-cross | 2 +-
+ 2 files changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 12b2edf5..f0dc5441 100755
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -53,8 +53,6 @@ IS_SPARC64 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E
'sun|sparc64')
+ IS_ARM32 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E
'arm|armhf|arm7l|eabihf')
+ IS_ARMV8 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E
'aarch32|aarch64|arm64|armv8')
+
+-IS_NEON := $(shell $(CXX) $(CXXFLAGS) -dumpmachine 2>/dev/null | $(GREP) -i -c -E
'armv7|armhf|arm7l|eabihf|armv8|aarch32|aarch64')
+-
+ # Attempt to determine platform
+ SYSTEMX := $(shell $(CXX) $(CXXFLAGS) -dumpmachine 2>/dev/null)
+ ifeq ($(SYSTEMX),)
+@@ -439,10 +437,10 @@ endif
+ ##### ARM A-32, Aach64 and NEON #####
+ ###########################################################
+
+-ifneq ($(IS_ARM32)$(IS_ARMV8)$(IS_NEON),000)
++ifneq ($(IS_ARM32)$(IS_ARMV8),00)
+ ifeq ($(DETECT_FEATURES),1)
+
+-ifeq ($(IS_ARM32)$(IS_NEON),11)
++ifneq ($(IS_ARM32),0)
+
+ TPROG = TestPrograms/test_arm_neon.cxx
+ TOPT = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
+@@ -469,7 +467,7 @@ ifeq ($(IS_ARM32)$(IS_NEON),11)
+ CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+
+-# IS_NEON
++# IS_ARM32
+ endif
+
+ ifeq ($(IS_ARMV8),1)
+@@ -567,7 +565,7 @@ endif
+ # DETECT_FEATURES
+ endif
+
+-# IS_ARM32, IS_ARMV8, IS_NEON
++# IS_ARM32, IS_ARMV8
+ endif
+
+ ###########################################################
+diff --git a/GNUmakefile-cross b/GNUmakefile-cross
+index c308c123..664a8447 100755
+--- a/GNUmakefile-cross
++++ b/GNUmakefile-cross
+@@ -384,7 +384,7 @@ ifeq ($(IS_ARM32),1)
+ SM4_FLAG = $(NEON_FLAG)
+ else
+ NEON_FLAG =
+- CXXFLAGS += -DCRYPTOPP_DISABLE_NEON
++ CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+
+ # IS_NEON
+--
+2.17.2
+
diff --git a/cryptopp.spec b/cryptopp.spec
index e19c6dc..c3bd79c 100644
--- a/cryptopp.spec
+++ b/cryptopp.spec
@@ -6,6 +6,7 @@ License: Boost
URL:
http://www.cryptopp.com/
Source0:
http://www.cryptopp.com/cryptopp810.zip
Source1: cryptopp.pc
+Patch0: Remove-early-NEON-qualification-tests-from-Makefile-.patch
BuildRequires: doxygen
BuildRequires: gcc-c++
commit 1eb048119291edad8eba35adb19a7e85a1d3ffcd
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Tue Feb 26 16:38:13 2019 +0100
Update source
diff --git a/sources b/sources
index 4e3c805..30321d8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (cryptopp800.zip) =
f4b14619d0b451a7d06881c39165a09a0e214912ef00292219d7274e878d0965832a5285277e8937257d9b1c8564033c63e552c9813b048da73817d5902d4035
+SHA512 (cryptopp810.zip) =
750da21eab5afe47b00196d874e242556561740d9108b562080dec6184142db039c709fec27ac4058bdcb69a1bbe973ed9fb95bde18db767ad14dfa9ca29dc36
commit 1ac1795da609972a0e18d2a22b6acf9e84b9c23b
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Tue Feb 26 16:31:55 2019 +0100
Update to 8.1.0
diff --git a/cryptopp.spec b/cryptopp.spec
index 09e53c6..e19c6dc 100644
--- a/cryptopp.spec
+++ b/cryptopp.spec
@@ -1,10 +1,10 @@
Name: cryptopp
-Version: 8.0.0
+Version: 8.1.0
Release: 1%{?dist}
Summary: C++ class library of cryptographic schemes
License: Boost
URL:
http://www.cryptopp.com/
-Source0:
http://www.cryptopp.com/cryptopp800.zip
+Source0:
http://www.cryptopp.com/cryptopp810.zip
Source1: cryptopp.pc
BuildRequires: doxygen
@@ -119,6 +119,9 @@ mv $RPM_BUILD_ROOT%{_bindir}/cryptest.exe \
%{_datadir}/%{name}
%changelog
+* Tue Feb 26 2019 Nicolas Chauvet <kwizart(a)gmail.com> - 8.1.0-1
+- Update to 8.1.0
+
* Thu Feb 14 2019 Nicolas Chauvet <kwizart(a)gmail.com> - 8.0.0-1
- Update to 8.0.0