summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/eid-mw/Manifest1
-rw-r--r--app-crypt/eid-mw/eid-mw-4.2.8.ebuild95
-rw-r--r--app-crypt/eid-mw/files/fix_libressl_check.patch45
3 files changed, 141 insertions, 0 deletions
diff --git a/app-crypt/eid-mw/Manifest b/app-crypt/eid-mw/Manifest
index 881a3d0dc699..be14ea389689 100644
--- a/app-crypt/eid-mw/Manifest
+++ b/app-crypt/eid-mw/Manifest
@@ -1,2 +1,3 @@
DIST eid-mw-4.2.0.tar.gz 8508064 SHA256 4d86f4750f973a8dcf700544b92ffc3069a85ff93086538b9f334d76dd5c9747 SHA512 c0785e25c8b3640d0b60110553a520df3c3c5a0774f4f3fba6a4d9329c0d6e6187b0837d8c254a3959ffa798dc6299399e6cb8edfc7a20dabca080b61f532a5f WHIRLPOOL b1dee0c0a1800b81a7f392bc0e13d070a1cbc7fa6eb2f26e9c50903e058f322ff0b2da69469f90bd38240f49520be29bb548ca6954bc052ef5b23bdb4cad2643
DIST eid-mw-4.2.5.tar.gz 7751526 SHA256 d2c46a65026790485f39db0b6d9b66a65b1d19061f3682a0b6da2e2b0c54bc81 SHA512 cf00f6aa295c3d057e77faddde31ba6b00ce44402bc0ad141c773fb58067d7cf2e107fc5f3a294be8731de592cb0895537cd29ad4e69f6721e6c77fa99c12075 WHIRLPOOL c24186b1f2b6b02df4a790e3a8c3d1f8e762b1e556d8f55aeeb4523a71387045827b47444246334933fc3d746485ea14086cfe41c5ec23f43826e6a7375c7fc3
+DIST eid-mw-4.2.8.tar.gz 7076407 SHA256 6b998bd14897f640e29f9140ee457ea963162a409c7aff646e3346b0b0ae2e65 SHA512 bf910e8b5bad40fe65765524af20cf18e2c615b6b7bddfdd3024309d90767952875f1c264ea8bd8dfc73621a41683fce02501febe71c016816ccc0f75d88d8cb WHIRLPOOL 12f998d6065ed0eddbee5c6f99ef75f2bd3b3344314c7dd2e2e8a5652ea0f5adc9159af22d30ff8c4349bf75a71f982c26de886bf287d379fc99e5b341b4c303
diff --git a/app-crypt/eid-mw/eid-mw-4.2.8.ebuild b/app-crypt/eid-mw/eid-mw-4.2.8.ebuild
new file mode 100644
index 000000000000..cadd463d7668
--- /dev/null
+++ b/app-crypt/eid-mw/eid-mw-4.2.8.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils autotools mozextension
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://github.com/Fedict/${PN}.git
+ https://github.com/Fedict/${PN}.git"
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="https://codeload.github.com/fedict/${PN}/tar.gz/v${PV} ->
+ ${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64 ~arm"
+fi
+
+SLOT="0"
+LICENSE="LGPL-3"
+DESCRIPTION="Electronic Identity Card middleware supplied by the Belgian Federal Government"
+
+HOMEPAGE="https://eid.belgium.be"
+
+IUSE="+dialogs +gtk p11-kit +xpi"
+
+REQUIRED_USE="
+ dialogs? ( gtk )"
+
+RDEPEND="gtk? (
+ x11-libs/gdk-pixbuf[jpeg]
+ x11-libs/gtk+:*
+ dev-libs/libxml2
+ net-misc/curl[ssl]
+ net-libs/libproxy
+ !app-misc/eid-viewer-bin
+ )
+ >=sys-apps/pcsc-lite-1.2.9
+ p11-kit? ( app-crypt/p11-kit )
+ xpi? ( || ( >=www-client/firefox-bin-3.6.24
+ >=www-client/firefox-3.6.20 ) )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ eapply_user
+
+ sed -i -e 's:/beid/rsaref220:/rsaref220:' configure.ac || die
+ sed -i -e 's:/beid::' cardcomm/pkcs11/src/libbeidpkcs11.pc.in || die
+
+ # hardcoded lsb_info
+ sed -i \
+ -e "s:get_lsb_info('i'):strdup(_(\"Gentoo\")):" \
+ -e "s:get_lsb_info('r'):strdup(_(\"n/a\")):" \
+ -e "s:get_lsb_info('c'):strdup(_(\"n/a\")):" \
+ plugins_tools/aboutmw/gtk/about-main.c || die
+
+ use gtk || eapply "${FILESDIR}"/gtk_not_required_4_2_5.patch
+ eapply "${FILESDIR}"/fix_libressl_check.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable dialogs) \
+ $(use_enable p11-kit p11kit) \
+ --with-gnu-ld \
+ --disable-static \
+ --disable-signed
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use xpi; then
+ declare MOZILLA_FIVE_HOME
+ if has_version '>=www-client/firefox-3.6.20'; then
+ MOZILLA_FIVE_HOME="/usr/$(get_libdir)/firefox"
+ xpi_install "${D}/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/belgiumeid@eid.belgium.be"
+ fi
+ if has_version '>=www-client/firefox-bin-3.6.24'; then
+ MOZILLA_FIVE_HOME="/opt/firefox"
+ xpi_install "${D}/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/belgiumeid@eid.belgium.be"
+ fi
+ fi
+ rm -r "${D}/usr/share/mozilla" "${D}"/usr/$(get_libdir)/*.la || die
+ use gtk || rm -r "${D}/usr/include/eid-util" || die
+}
+
+pkg_postinst()
+{
+ use gtk && glib-compile-schemas /usr/share/glib-2.0/schemas/
+}
diff --git a/app-crypt/eid-mw/files/fix_libressl_check.patch b/app-crypt/eid-mw/files/fix_libressl_check.patch
new file mode 100644
index 000000000000..5476e3e4aaff
--- /dev/null
+++ b/app-crypt/eid-mw/files/fix_libressl_check.patch
@@ -0,0 +1,45 @@
+commit 53289f71c53f3aa8047b34d6db9b0ca2ac35f4cb
+Author: Cédric Krier <ced@b2ck.com>
+Date: Wed Jun 7 11:29:13 2017 +0200
+
+ Fix OpenSSL version check for LibreSSL
+
+diff --git a/plugins_tools/eid-viewer/certhelpers.c b/plugins_tools/eid-viewer/certhelpers.c
+index de9f8bf4..1e3d1ee1 100644
+--- a/plugins_tools/eid-viewer/certhelpers.c
++++ b/plugins_tools/eid-viewer/certhelpers.c
+@@ -12,7 +12,7 @@
+
+ #include "backend.h"
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ #define X509_get0_extensions(ce) ((ce)->cert_info->extensions)
+ #define ASN1_STRING_get0_data ASN1_STRING_data
+ #endif
+diff --git a/plugins_tools/eid-viewer/verify.c b/plugins_tools/eid-viewer/verify.c
+index 04016a44..f144d2cb 100644
+--- a/plugins_tools/eid-viewer/verify.c
++++ b/plugins_tools/eid-viewer/verify.c
+@@ -22,7 +22,7 @@
+ #endif
+ // All valid OCSP URLs should have the following as their prefix:
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ #define X509_get0_extensions(ce) ((ce)->cert_info->extensions)
+
+ #define X509_get0_tbs_sigalg(ci) ((ci)->sig_alg)
+diff --git a/tests/unit/sign.c b/tests/unit/sign.c
+index 31a1ab7a..0e0e3011 100644
+--- a/tests/unit/sign.c
++++ b/tests/unit/sign.c
+@@ -37,7 +37,7 @@
+ #include <openssl/rsa.h>
+ #include <openssl/engine.h>
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) {
+ if(!r || !n || !e) {
+ return 0;