[arch-commits] Commit in crypto++/trunk (4 files)

Baptiste Jonglez zorun at archlinux.org
Sat Jan 27 16:49:06 UTC 2018


    Date: Saturday, January 27, 2018 @ 16:49:04
  Author: zorun
Revision: 287500

crypto++: Update to 6.0.0

Added:
  crypto++/trunk/crypto++.install
  crypto++/trunk/fix-simon-speck-simd-build.patch
Modified:
  crypto++/trunk/PKGBUILD
  crypto++/trunk/libcrypto++.pc

----------------------------------+
 PKGBUILD                         |   67 +++++++++++++++++++++++--------------
 crypto++.install                 |    4 ++
 fix-simon-speck-simd-build.patch |   59 ++++++++++++++++++++++++++++++++
 libcrypto++.pc                   |    4 +-
 4 files changed, 108 insertions(+), 26 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-01-27 16:02:01 UTC (rev 287499)
+++ PKGBUILD	2018-01-27 16:49:04 UTC (rev 287500)
@@ -1,5 +1,5 @@
-# $Id$
-# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
+# Maintainer: Baptiste Jonglez <archlinux at bitsofnetworks.org>
+# Contributor: Giovanni Scafora <giovanni at archlinux.org>
 # Contributor: Alexander Rødseth <rodseth at gmail.com>
 # Contributor: Andrea Scarpino <andrea at archlinux.org>
 # Contributor: Kritoke <kritoke at gamebox.net>
@@ -6,43 +6,62 @@
 # Contributor: jlvsimoes <jlvsimoes at oninet.pt>
 
 pkgname=crypto++
-pkgver=5.6.5
+pkgver=6.0.0
 _srcver=${pkgver//./}
-pkgrel=3
+pkgrel=1
 pkgdesc="A free C++ class library of cryptographic schemes"
 arch=('x86_64')
-url="http://www.cryptopp.com/"
+url="https://www.cryptopp.com/"
 license=('custom')
 depends=('gcc-libs')
 makedepends=('unzip')
+# Fix https://bugs.archlinux.org/task/56689
+install="crypto++.install"
 source=("https://www.cryptopp.com/cryptopp${_srcver}.zip"
-        "fix-cxxflags.patch"
+        "fix-simon-speck-simd-build.patch"
         'libcrypto++.pc')
-# Checksums from https://www.cryptopp.com/release565.html
-sha1sums=('a74f207a315b6a133af9640a45bde9d6e378af4d'
-          'f044b55c615ed0d6c0239bd43dda67db1fdb4cca'
-          'e4e2fc3172b4a85bffad812a0de8531843912ff1')
-sha256sums=('a75ef486fe3128008bbb201efee3dcdcffbe791120952910883b26337ec32c34'
-            'e27679cd5e1068e84c84c18395d4f32254fa900887ee89a15c38580236490dc5'
-            'aee5ca989bfd25236095fccb245a5c7f559eae97c41979e952ac35b29453d8b5')
-sha512sums=('f13718d02ca69b0129aaf9e767c9d2e0333aa7538355f9c63d9eaf1ff369062084a18dc01489439ebf37797b3ea81b01beb072057d47ec962bfb824ddc72abc7'
-            '49a81998489e65dcb270de77f6149a3dcf03c9a04bd2c9baf2e92f6bd749fe69aca5de0803b94757778f272357d2357e873b652c9bb06e8f03b7bf9b55bbc9d4'
-            '798ff42e3dcc4edd33b9fb1b605e608dd53a668afb28032620927b49f17fcb5b212f6cf4e9af30cc2b36bf74bb9f0152dad4f40fdb19d8f557dfed196ea0921d')
+# Checksums from https://www.cryptopp.com/release600.html
+sha1sums=('290dfc1948b860b29da40f8c5559f6559ce787db'
+          'a4be3000116568260a8fe3169b948deca5576fdf'
+          '7a6c6fc7aed96ff7be554eee60450a1914b0cd95')
+sha256sums=('64ac2db96b3f1b7a23675e2be95d16c96055edffa2d5e2de6245fdb6baa92dda'
+            '80d43fe472f2ccffa56097eda5e56820d0944c1d585a68d944049a1d00d395c3'
+            '14228b0d1a6f07572090ab17b60bf9829308d174e763eb31966f723b0cb51134')
+sha512sums=('7a60c28be1fc9418adeabe8c66d868b46e65fb3d77d308b9431b16905cde7faa670180619150e849ae44d70f44aa8501a0a0c4354ec84f194fd8138d14aca9bf'
+            '80378bb6b19427fa316892126a3b533a98831405215df6f8c0b251e319b05c625a5d437f7217641ca8e41e5be153a796204686c4844338befdfc42e43a8ece6e'
+            'bba4ff9c01e353f0336e01836fd1418a08f43ab9215f678cc80cc94954d689e94e1425c7ed95f9b12d210bfc73574c98d0579b1356232c50f32f342395408ac2')
 
 prepare() {
-  # Upstream patch for https://bugs.archlinux.org/task/51605
-  patch -p1 < "$srcdir"/fix-cxxflags.patch
+  patch -p1 < "$srcdir"/fix-simon-speck-simd-build.patch
 }
 
 build() {
-  CXXFLAGS+=" -DNDEBUG -fPIC" make -f GNUmakefile-cross  
-  make libcryptopp.so
+  make -f GNUmakefile-cross dynamic cryptest.exe \
+    CXXFLAGS+=" -DNDEBUG -fPIC" HAS_SOLIB_VERSION=1 \
+    ARIA_FLAG="-mssse3" \
+    SIMON_FLAG="-mssse3 -msse4.1" \
+    SPECK_FLAG="-mssse3 -msse4.1" \
+    SSSE3_FLAG="-mssse3" \
+    BLAKE2_FLAG="-msse4.2" \
+    CRC_FLAG="-msse4.2" \
+    GCM_FLAG="-mssse3 -mpclmul" \
+    AES_FLAG="-msse4.1 -maes" \
+    SHA_FLAG="-msse4.2 -msha"
 }
 
+check() {
+  make test
+}
+
 package() {
-  install -d ${pkgdir}/usr/{lib/pkgconfig,include/cryptopp}
-  install -m644 *.h ${pkgdir}/usr/include/cryptopp/
-  install -m644 libcryptopp.so "${pkgdir}/usr/lib/libcryptopp.so"
-  install -m644 ${srcdir}/libcrypto++.pc "${pkgdir}/usr/lib/pkgconfig/libcrypto++.pc"
+  make -f GNUmakefile-cross install DESTDIR="$pkgdir" PREFIX="/usr" HAS_SOLIB_VERSION=1
+  # Install pkgconfig file
+  install -d "${pkgdir}/usr/lib/pkgconfig"
+  install -m644 "${srcdir}/libcrypto++.pc" "${pkgdir}/usr/lib/pkgconfig/libcrypto++.pc"
+  # Remove crypttest.exe: it's only needed for check(), and does not even work when
+  # installed in /usr/bin (it needs additional files)
+  rm "${pkgdir}/usr/bin/cryptest.exe"
+  rmdir "${pkgdir}/usr/bin/"
+  # Install license
   install -D -m644 License.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
 }

Added: crypto++.install
===================================================================
--- crypto++.install	                        (rev 0)
+++ crypto++.install	2018-01-27 16:49:04 UTC (rev 287500)
@@ -0,0 +1,4 @@
+pre_upgrade() {
+	# Up to crypto++ 5.6.5-3, libcryptopp.so.5.6 was not tracked by pacman (symlinked at install time)
+	[ -L /usr/lib/libcryptopp.so.5.6 ] && unlink /usr/lib/libcryptopp.so.5.6 || true
+}

Added: fix-simon-speck-simd-build.patch
===================================================================
--- fix-simon-speck-simd-build.patch	                        (rev 0)
+++ fix-simon-speck-simd-build.patch	2018-01-27 16:49:04 UTC (rev 287500)
@@ -0,0 +1,59 @@
+diff --git a/GNUmakefile-cross b/GNUmakefile-cross
+index 7ab6ccfe..98d10a9a 100755
+--- a/GNUmakefile-cross
++++ b/GNUmakefile-cross
+@@ -220,12 +220,16 @@ ifeq ($(IS_NEON),1)
+     GCM_FLAG += -mfpu=neon
+     ARIA_FLAG += -mfpu=neon
+     BLAKE2_FLAG += -mfpu=neon
++    SIMON_FLAG += -mfpu=neon
++    SPECK_FLAG += -mfpu=neon
+     ifeq ($(IS_ANDROID),1)
+       ifeq ($(findstring -mfloat-abi=softfp,$(CXXFLAGS)),)
+         NEON_FLAG += -mfloat-abi=softfp
+         GCM_FLAG += -mfloat-abi=softfp
+         ARIA_FLAG += -mfloat-abi=softfp
+         BLAKE2_FLAG += -mfloat-abi=softfp
++        SIMON_FLAG += -mfloat-abi=softfp
++        SPECK_FLAG += -mfloat-abi=softfp
+       endif
+     endif
+   endif
+@@ -238,6 +242,8 @@ ifneq ($(IS_ARMv8),0)
+     ARIA_FLAG = -march=armv8-a
+     BLAKE2_FLAG = -march=armv8-a
+     NEON_FLAG = -march=armv8-a
++    SIMON_FLAG = -march=armv8-a
++    SPECK_FLAG = -march=armv8-a
+   endif
+   HAVE_CRC := $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8-a+crc -dM -E - 2>/dev/null | $(EGREP) -i -c __ARM_FEATURE_CRC32)
+   ifeq ($(HAVE_CRC),1)
+@@ -257,6 +263,13 @@ ifneq ($(IS_i686)$(IS_x86_64),00)
+   ifeq ($(HAVE_SSSE3),1)
+     ARIA_FLAG = -mssse3
+     SSSE3_FLAG = -mssse3
++    SIMON_FLAG = -mssse3
++    SPECK_FLAG = -mssse3
++  endif
++  HAVE_SSE4 = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -msse4.1 -dM -E - 2>/dev/null | $(EGREP) -i -c __SSE4_1__)
++  ifeq ($(HAVE_SSE4),1)
++    SIMON_FLAG = -msse4.1
++    SPECK_FLAG = -msse4.1
+   endif
+   HAVE_SSE4 = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -msse4.2 -dM -E - 2>/dev/null | $(EGREP) -i -c __SSE4_2__)
+   ifeq ($(HAVE_SSE4),1)
+@@ -480,6 +493,14 @@ sha-simd.o : sha-simd.cpp
+ shacal2-simd.o : shacal2-simd.cpp
+ 	$(CXX) $(strip $(CXXFLAGS) $(SHA_FLAG) -c) $<
+ 
++# SSSE3 or NEON available
++simon-simd.o : simon-simd.cpp
++	$(CXX) $(strip $(CXXFLAGS) $(SIMON_FLAG) -c) $<
++
++# SSSE3 or NEON available
++speck-simd.o : speck-simd.cpp
++	$(CXX) $(strip $(CXXFLAGS) $(SPECK_FLAG) -c) $<
++
+ %.o : %.cpp
+ 	$(CXX) $(strip $(CXXFLAGS) -c) $<
+ 

Modified: libcrypto++.pc
===================================================================
--- libcrypto++.pc	2018-01-27 16:02:01 UTC (rev 287499)
+++ libcrypto++.pc	2018-01-27 16:49:04 UTC (rev 287500)
@@ -4,8 +4,8 @@
 libdir=${prefix}/lib
 includedir=${prefix}/include
 
-Name: libcrypto++-5.6.5
+Name: libcrypto++-6.0.0
 Description: Class library of cryptographic schemes
-Version: 5.6.5
+Version: 6.0.0
 Libs: -L${libdir} -lcryptopp
 Cflags: -I${includedir} 



More information about the arch-commits mailing list