summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Loher2016-01-18 10:50:33 +0100
committerJohannes Loher2016-01-18 10:50:33 +0100
commit5f5416b6a163505bb3ca189aadb0179a3274ab47 (patch)
tree1f445f6331782e762a061b3ee0a303188892999d
downloadaur-5f5416b6a163505bb3ca189aadb0179a3274ab47.tar.gz
Initial import
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD37
-rw-r--r--crypto++_headers.patch100
3 files changed, 158 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..8c2591b729eb
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,21 @@
+# Generated by mksrcinfo v8
+# Mon Jan 18 09:47:26 UTC 2016
+pkgbase = codecrypt
+ pkgdesc = The post-quantum cryptography tool
+ pkgver = 1.7.1
+ pkgrel = 1
+ url = http://e-x-a.org/codecrypt/
+ arch = x86_64
+ arch = i686
+ license = LGPL3
+ depends = gmp
+ depends = fftw>=3.0
+ depends = crypto++
+ provides = codecrypt
+ source = https://github.com/exaexa/codecrypt/archive/v1.7.1.tar.gz
+ source = crypto++_headers.patch
+ md5sums = 879c2a75dea2d70fb895a15edd51d896
+ md5sums = 4aa83a903edaba67a6334b8aec2ebc0c
+
+pkgname = codecrypt
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2b6839b29554
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Johannes Loher <johannes dot loher at fg4f dot de>
+
+pkgname=codecrypt
+pkgver=1.7.1
+pkgrel=1
+pkgdesc='The post-quantum cryptography tool'
+arch=('x86_64' 'i686')
+url='http://e-x-a.org/codecrypt/'
+license=('LGPL3')
+depends=('gmp' 'fftw>=3.0' 'crypto++')
+provides=("${pkgname}")
+source=('https://github.com/exaexa/codecrypt/archive/v1.7.1.tar.gz'
+ 'crypto++_headers.patch')
+md5sums=('879c2a75dea2d70fb895a15edd51d896'
+ '4aa83a903edaba67a6334b8aec2ebc0c')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 < "${srcdir}/crypto++_headers.patch"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./autogen.sh
+ ./configure LIBS=-lpthread --prefix=/usr
+ make
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make -k check
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/crypto++_headers.patch b/crypto++_headers.patch
new file mode 100644
index 000000000000..9a0fd71513f0
--- /dev/null
+++ b/crypto++_headers.patch
@@ -0,0 +1,100 @@
+diff --git a/autogen.sh b/autogen.sh
+index c11562f..d8c4966 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -27,8 +27,8 @@ echo "noinst_HEADERS = `find src/ -type f -name \*.h |tr \"\n\" \" \" `" >>$OUT
+ echo "${NAME}_CPPFLAGS = -I\$(srcdir)/$i/ ${COMMON_CPPFLAGS}" >>$OUT
+ echo "${NAME}_CFLAGS = ${COMMON_CFLAGS}" >>$OUT
+ echo "${NAME}_CXXFLAGS = ${COMMON_CXXFLAGS}" >>$OUT
+-echo "${NAME}_LDFLAGS = ${COMMON_LDFLAGS}" >>$OUT
+-echo "${NAME}_LDADD = -lgmp -lfftw3 -lm @CRYPTOPP_LIBS@ ${COMMON_LDADD} " >>$OUT
++echo "${NAME}_LDFLAGS = ${COMMON_LDFLAGS} \$(CRYPTOPP_CFLAGS) " >>$OUT
++echo "${NAME}_LDADD = -lgmp -lfftw3 -lm \$(CRYPTOPP_LIBS) ${COMMON_LDADD} " >>$OUT
+
+ libtoolize --force && aclocal && autoconf && automake --add-missing
+
+diff --git a/configure.ac b/configure.ac
+index c7ee564..2399b42 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,12 +31,20 @@ AC_ARG_WITH([cryptopp],
+ #and check crypto++
+ if test "$WITH_CRYPTOPP" = "yes"; then
+
++ PKG_CHECK_MODULES([CRYPTOPP],[libcrypto++])
++
++ #crypto++ headers are either in include/crypto++ or include/cryptopp,
++ #the information is otherwise unavailable from standard configuration
++ #means. Please report/add more tests if you encounter distros that
++ #place them elsewhere.
+ AC_LANG_PUSH([C++])
+- AC_CHECK_HEADERS([crypto++/sha.h crypto++/tiger.h crypto++/ripemd.h], , AC_MSG_ERROR([Codecrypt requires Crypto++]))
++ AC_CHECK_HEADER([crypto++/config.h],
++ AC_DEFINE([CRYPTOPP_DIR_PLUS], [1]),
++ AC_DEFINE([CRYPTOPP_DIR_PLUS], [0])
++ )
+ AC_LANG_POP([C++])
+
+ AC_DEFINE([HAVE_CRYPTOPP], [1])
+- AC_SUBST([CRYPTOPP_LIBS], [-lcryptopp])
+ else
+ AC_DEFINE([HAVE_CRYPTOPP], [0])
+ fi
+diff --git a/src/rmd_hash.h b/src/rmd_hash.h
+index 2c14a96..b2b3de0 100644
+--- a/src/rmd_hash.h
++++ b/src/rmd_hash.h
+@@ -22,8 +22,13 @@
+
+ #if HAVE_CRYPTOPP==1
+
+-#include "sha_hash.h"
+-#include <crypto++/ripemd.h>
++#include "hash.h"
++#if CRYPTOPP_DIR_PLUS
++# include <crypto++/ripemd.h>
++#else
++# include <cryptopp/ripemd.h>
++#endif
++
+
+ //it's used just like SHA, so create it from SHA
+ class rmd128hash : public shahash<CryptoPP::RIPEMD128> {};
+diff --git a/src/sha_hash.h b/src/sha_hash.h
+index 93a7772..0a18dfd 100644
+--- a/src/sha_hash.h
++++ b/src/sha_hash.h
+@@ -22,8 +22,11 @@
+ #if HAVE_CRYPTOPP==1
+
+ #include "hash.h"
+-
+-#include <crypto++/sha.h>
++#if CRYPTOPP_DIR_PLUS
++# include <crypto++/sha.h>
++#else
++# include <cryptopp/sha.h>
++#endif
+
+ template <class shatype>
+ class shahash : public hash_func
+diff --git a/src/tiger_hash.h b/src/tiger_hash.h
+index 915b85b..f21ab12 100644
+--- a/src/tiger_hash.h
++++ b/src/tiger_hash.h
+@@ -22,8 +22,13 @@
+
+ #if HAVE_CRYPTOPP==1
+
+-#include "sha_hash.h"
+-#include <crypto++/tiger.h>
++#include "hash.h"
++
++#if CRYPTOPP_DIR_PLUS
++# include <crypto++/tiger.h>
++#else
++# include <cryptopp/tiger.h>
++#endif
+
+ //it's used just like SHA, so create it from SHA
+ class tiger192hash : public shahash<CryptoPP::Tiger> {};