diff --git a/dev-libs/libp11/libp11-0.4.4.recipe b/dev-libs/libp11/libp11-0.4.7.recipe similarity index 72% rename from dev-libs/libp11/libp11-0.4.4.recipe rename to dev-libs/libp11/libp11-0.4.7.recipe index cb31efee5..d62bd7309 100644 --- a/dev-libs/libp11/libp11-0.4.4.recipe +++ b/dev-libs/libp11/libp11-0.4.7.recipe @@ -7,16 +7,20 @@ COPYRIGHT="2016-2017 MichaƂ Trojnara 2007-2009 Andreas Jellinghaus 2011 Martin Paljak" LICENSE="GNU LGPL v2.1" -REVISION="3" +REVISION="1" SOURCE_URI="$HOMEPAGE/releases/download/libp11-$portVersion/libp11-$portVersion.tar.gz" -CHECKSUM_SHA256="93d2741df04f7f1561962746943a056ca81582fecb59d0c4304e7e97a0902722" +CHECKSUM_SHA256="32e486d4279e09174b63eb263bc840016ebfa80b0b154390c0539b211aec0452" +PATCHES="libp11-$portVersion.patchset" ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86_gcc2 x86" +libVersion="2.${portVersion#0.}" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + PROVIDES=" libp11$secondaryArchSuffix = $portVersion - lib:libp11$secondaryArchSuffix = 2.4.4 compat >= 2 + lib:libp11$secondaryArchSuffix = $libVersionCompat lib:libpkcs11$secondaryArchSuffix lib:pkcs11$secondaryArchSuffix " @@ -27,7 +31,7 @@ REQUIRES=" PROVIDES_devel=" libp11${secondaryArchSuffix}_devel = $portVersion - devel:libp11$secondaryArchSuffix = 2.4.4 compat >= 2 + devel:libp11$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" haiku${secondaryArchSuffix}_devel @@ -51,6 +55,14 @@ BUILD_PREREQUIRES=" cmd:pkg_config$secondaryArchSuffix " +TEST_REQUIRES=" + cmd:softhsm2_util + " + +defineDebugInfoPackage libp11$secondaryArchSuffix \ + "$libDir"/engines/pkcs11.so \ + "$libDir"/libp11.so.$libVersion + enginesDir=$libDir/engines BUILD() @@ -75,5 +87,6 @@ INSTALL() TEST() { + LIBRARY_PATH="$sourceDir/src/.libs${LIBRARY_PATH:+:$LIBRARY_PATH}" \ make check } diff --git a/dev-libs/libp11/patches/libp11-0.4.7.patchset b/dev-libs/libp11/patches/libp11-0.4.7.patchset new file mode 100644 index 000000000..c1636bf9b --- /dev/null +++ b/dev-libs/libp11/patches/libp11-0.4.7.patchset @@ -0,0 +1,47 @@ +From dc5ab0ea306e78dbca393058bdad03b23afa1ca5 Mon Sep 17 00:00:00 2001 +From: fbrosson +Date: Tue, 5 Jun 2018 16:26:43 +0000 +Subject: C89 fixes for gcc2 compatibility. + + +diff --git a/src/p11_ec.c b/src/p11_ec.c +index 37025d4..57bedf8 100644 +--- a/src/p11_ec.c ++++ b/src/p11_ec.c +@@ -252,12 +252,13 @@ static void pkcs11_set_ex_data_ec(EC_KEY* ec, PKCS11_KEY* key) + static void pkcs11_update_ex_data_ec(PKCS11_KEY* key) + { + EVP_PKEY* evp = key->evp_key; ++ EC_KEY* ec; + if (evp == NULL) + return; + if (EVP_PKEY_base_id(evp) != EVP_PKEY_EC) + return; + +- EC_KEY* ec = EVP_PKEY_get1_EC_KEY(evp); ++ ec = EVP_PKEY_get1_EC_KEY(evp); + pkcs11_set_ex_data_ec(ec, key); + EC_KEY_free(ec); + } +diff --git a/src/p11_rsa.c b/src/p11_rsa.c +index efa40d4..966b962 100644 +--- a/src/p11_rsa.c ++++ b/src/p11_rsa.c +@@ -243,12 +243,13 @@ static void pkcs11_set_ex_data_rsa(RSA* rsa, PKCS11_KEY* key) + static void pkcs11_update_ex_data_rsa(PKCS11_KEY* key) + { + EVP_PKEY* evp = key->evp_key; ++ RSA* rsa; + if (evp == NULL) + return; + if (EVP_PKEY_base_id(evp) != EVP_PKEY_RSA) + return; + +- RSA* rsa = EVP_PKEY_get1_RSA(evp); ++ rsa = EVP_PKEY_get1_RSA(evp); + pkcs11_set_ex_data_rsa(rsa, key); + RSA_free(rsa); + } +-- +2.17.1 +