Date: Tuesday, November 1, 2022 @ 18:38:33
  Author: foutrelis
Revision: 1340221

archrelease: copy trunk to community-staging-x86_64

Added:
  opensc/repos/community-staging-x86_64/
  opensc/repos/community-staging-x86_64/PKGBUILD
    (from rev 1340220, opensc/trunk/PKGBUILD)
  opensc/repos/community-staging-x86_64/opensc-openssl-3.patch
    (from rev 1340220, opensc/trunk/opensc-openssl-3.patch)

------------------------+
 PKGBUILD               |   61 ++++++++++++++++++++++++++++++++++++++++++++
 opensc-openssl-3.patch |   64 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 125 insertions(+)

Copied: opensc/repos/community-staging-x86_64/PKGBUILD (from rev 1340220, 
opensc/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD                           (rev 0)
+++ community-staging-x86_64/PKGBUILD   2022-11-01 18:38:33 UTC (rev 1340221)
@@ -0,0 +1,61 @@
+# Maintainer: Alad
+# Contributor: Timothy Redaelli <[email protected]>
+# Contributor: Sébastien Luttringer
+# Contributor: kevku <[email protected]>
+
+pkgname=opensc
+pkgver=0.22.0
+pkgrel=2
+pkgdesc='Tools and libraries for smart cards'
+arch=('x86_64')
+url='https://github.com/OpenSC/OpenSC/wiki'
+license=('LGPL')
+backup=('etc/opensc.conf')
+makedepends=('docbook-xsl')
+depends=('pcsclite' 'glib2' 'libltdl')
+options=(!emptydirs !lto)
+source=("https://github.com/OpenSC/OpenSC/releases/download/$pkgver/opensc-$pkgver.tar.gz";
+        opensc-openssl-3.patch)
+sha512sums=('70ad5f1219f2ec2a5529a30d8e9955510c77c87d0bc857d5951c7227c75cf9de1c6071f43dd3816a2034123ebd902709793ff776e84d5379fdd54c811ccfaaee'
+            
'53cbfd98ac49c0436cc39f069cf2a099d66d337a102682fcd17031f4ffcf6ebf7625a7b7aad44170010e291b7265954bc9a8e6650df86672ce3be88c85dae659')
+
+prepare() {
+  cd $pkgname-$pkgver
+  patch -p1 -i ../opensc-openssl-3.patch
+  # Remove -Werror to ignore openssl 3 deprecation warnings
+  sed -i 's/-Werror//' configure.ac
+}
+
+build() {
+  cd $pkgname-$pkgver
+
+  _sheetdir=(/usr/share/xml/docbook/xsl-stylesheets-*-nons)
+
+  ./bootstrap
+  ./configure \
+    --prefix=/usr \
+    --sysconfdir=/etc \
+    --with-completiondir=/usr/share/bash-completion/completions \
+    --enable-man \
+    --enable-doc \
+    --enable-readline \
+    --enable-openssl \
+    --enable-pcsc \
+    --enable-zlib \
+    --enable-sm \
+    --with-xsl-stylesheetsdir="$_sheetdir"
+
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+  make
+}
+
+package(){
+  cd $pkgname-$pkgver
+
+  make DESTDIR="$pkgdir" install
+
+  install -D -m644 etc/opensc.conf "$pkgdir/etc/opensc.conf"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: opensc/repos/community-staging-x86_64/opensc-openssl-3.patch (from rev 
1340220, opensc/trunk/opensc-openssl-3.patch)
===================================================================
--- community-staging-x86_64/opensc-openssl-3.patch                             
(rev 0)
+++ community-staging-x86_64/opensc-openssl-3.patch     2022-11-01 18:38:33 UTC 
(rev 1340221)
@@ -0,0 +1,64 @@
+From c3dcab8b237d42961c0dc12ab2105f3df9073116 Mon Sep 17 00:00:00 2001
+From: xhanulik <[email protected]>
+Date: Mon, 25 Oct 2021 15:47:44 +0200
+Subject: [PATCH] pkcs11-tool: load legacy provider for RIPEMD160 in test
+
+---
+ src/tools/pkcs11-tool.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c
+index 66f1acaf4e..53e7c7d75f 100644
+--- a/src/tools/pkcs11-tool.c
++++ b/src/tools/pkcs11-tool.c
+@@ -52,6 +52,7 @@
+ #include <openssl/asn1t.h>
+ #include <openssl/rsa.h>
+ #include <openssl/pem.h>
++#include <openssl/provider.h>
+ #if !defined(OPENSSL_NO_EC) && !defined(OPENSSL_NO_ECDSA)
+ #include <openssl/ec.h>
+ #include <openssl/ecdsa.h>
+@@ -71,6 +72,10 @@
+ #include "util.h"
+ #include "libopensc/sc-ossl-compat.h"
+ 
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++OSSL_PROVIDER *legacy_provider = NULL;
++#endif
++
+ #ifdef _WIN32
+ #ifndef STDOUT_FILENO
+ #define STDOUT_FILENO 1
+@@ -5766,7 +5771,6 @@ static int test_digest(CK_SESSION_HANDLE session)
+       CK_ULONG        hashLen1, hashLen2;
+       CK_MECHANISM_TYPE firstMechType;
+       CK_SESSION_INFO sessionInfo;
+-
+       CK_MECHANISM_TYPE mechTypes[] = {
+               CKM_MD5,
+               CKM_RIPEMD160,
+@@ -5868,6 +5872,11 @@ static int test_digest(CK_SESSION_HANDLE session)
+ #endif
+       for (; mechTypes[i] != 0xffffff; i++) {
+               ck_mech.mechanism = mechTypes[i];
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++              if (!legacy_provider) {
++                      legacy_provider = OSSL_PROVIDER_load(NULL, "legacy");
++              }
++#endif
+ 
+               rv = p11->C_DigestInit(session, &ck_mech);
+               if (rv == CKR_MECHANISM_INVALID)
+@@ -6065,6 +6074,11 @@ static int sign_verify_openssl(CK_SESSION_HANDLE 
session,
+               EVP_sha256(),
+       };
+ #endif
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++      if (!legacy_provider) {
++              legacy_provider = OSSL_PROVIDER_load(NULL, "legacy");
++      }
++#endif
+ 
+       rv = p11->C_SignInit(session, ck_mech, privKeyObject);
+       /* mechanism not implemented, don't test */

Reply via email to