diff --git a/0001-nss-use-nss-pkcs11-h.patch b/0001-nss-use-nss-pkcs11-h.patch new file mode 100644 index 0000000..8ac86cc --- /dev/null +++ b/0001-nss-use-nss-pkcs11-h.patch @@ -0,0 +1,58 @@ +From 083a3a62f2e631deec2fb2799d10660a41c50294 Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev +Date: Fri, 30 Jul 2021 20:06:36 +0300 +Subject: [PATCH] nss: use nss pkcs11.h + +make nss happy with its own extensions and non-standard behavior. +--- + lib/_pkcs11h-crypto-nss.c | 14 ++++++++++---- + lib/common.h | 7 +++++++ + 2 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/lib/_pkcs11h-crypto-nss.c b/lib/_pkcs11h-crypto-nss.c +index 4b70e826..f57f9e6b 100644 +--- a/lib/_pkcs11h-crypto-nss.c ++++ b/lib/_pkcs11h-crypto-nss.c +@@ -48,15 +48,21 @@ + * POSSIBILITY OF SUCH DAMAGE. + */ + +-#include "common.h" +- +-#include "_pkcs11h-crypto.h" ++#ifdef HAVE_CONFIG_H ++#include ++#endif + + #if defined(ENABLE_PKCS11H_ENGINE_NSS) +-#define _PKCS11T_H_ /* required so no conflict with ours */ + #include + #include + ++/* Use PKCS#11 of nss to avoid conflicts and make nss happy with its own extensions */ ++#define PKCS11_H 1 ++ ++#include "common.h" ++ ++#include "_pkcs11h-crypto.h" ++ + static + int + __pkcs11h_crypto_nss_initialize ( +diff --git a/lib/common.h b/lib/common.h +index 61a958af..2499e9c5 100644 +--- a/lib/common.h ++++ b/lib/common.h +@@ -72,5 +72,12 @@ + + #define _PKCS11H_ASSERT assert + ++#ifndef FALSE ++#define FALSE 0 ++#endif ++#ifndef TRUE ++#define TRUE 1 ++#endif ++ + #endif + diff --git a/PKGBUILD b/PKGBUILD index edb459f..a042058 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,18 +5,27 @@ pkgname=pkcs11-helper pkgver=1.27.0 -pkgrel=1 +pkgrel=2 pkgdesc="A library that simplifies the interaction with PKCS11 providers for end-user applications using a simple API and optional OpenSSL engine" arch=('x86_64') url='https://github.com/OpenSC/pkcs11-helper' license=(GPL BSD) depends=('gnutls' 'nss' 'openssl') provides=('libpkcs11-helper.so') -source=("https://github.com/OpenSC/${pkgname}/releases/download/${pkgname}-${pkgver%.0}/${pkgname}-${pkgver}.tar.bz2") -sha256sums=('653730f0c561bbf5941754c0783976113589b2dc64a0661c908dc878bfa4e58b') +source=("https://github.com/OpenSC/${pkgname}/releases/download/${pkgname}-${pkgver%.0}/${pkgname}-${pkgver}.tar.bz2" + '0001-nss-use-nss-pkcs11-h.patch') +sha256sums=('653730f0c561bbf5941754c0783976113589b2dc64a0661c908dc878bfa4e58b' + 'a4a27c9f71c5f2cf57a79eeba2c6749424393c20e6b5967f46095b10f393f439') + +prepare() { + cd pkcs11-helper-$pkgver + + patch -Np1 < ../0001-nss-use-nss-pkcs11-h.patch +} build() { cd pkcs11-helper-$pkgver + libtoolize aclocal autoheader @@ -28,6 +37,7 @@ build() { package() { cd pkcs11-helper-$pkgver + make DESTDIR="$pkgdir" install mkdir -p "$pkgdir"/usr/share/licenses/$pkgname/ install -D -m0644 COPYING* "$pkgdir"/usr/share/licenses/$pkgname/