sdk: add libp11 to SDK

this is the pkcs11 engine for OpenSSL

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
This commit is contained in:
Mathieu Tortuyaux 2023-12-14 14:01:09 +01:00
parent 018778e391
commit 9845627a43
No known key found for this signature in database
GPG Key ID: AC5CCFB52545D9B8
7 changed files with 152 additions and 0 deletions

View File

@ -197,6 +197,7 @@ dev-libs/libnl
dev-libs/libpcre dev-libs/libpcre
dev-libs/libpcre2 dev-libs/libpcre2
dev-libs/libpipeline dev-libs/libpipeline
dev-libs/libp11
dev-libs/libsodium dev-libs/libsodium
dev-libs/libtasn1 dev-libs/libtasn1
dev-libs/libunistring dev-libs/libunistring

View File

@ -95,6 +95,7 @@ RDEPEND="${RDEPEND}
# TODO: sys-apps/mosys # TODO: sys-apps/mosys
RDEPEND="${RDEPEND} RDEPEND="${RDEPEND}
sys-fs/squashfs-tools sys-fs/squashfs-tools
dev-libs/libp11
" "
# Host dependencies that are needed for delta_generator. # Host dependencies that are needed for delta_generator.

View File

@ -0,0 +1 @@
DIST libp11-0.4.12.tar.gz 516414 BLAKE2B a816749984753a1916dd58860c51b49d316946b59eb3bc839f6a21dcff14de48d7a4937f55fc7ad96a26b914591854d5cf11a1fbac2d5f2f5e04c833973c0e42 SHA512 674cfca2c9eaf162262204c94f9d59d3095dabbc348c1842e758b897e1a5bd4ba08b2d589ec3b2a2d1343a8760eab253e7008dc09ef5b499e2f16385efe5c8cc

View File

@ -0,0 +1,50 @@
https://github.com/OpenSC/libp11/pull/503
https://bugs.gentoo.org/910203
From 580c12b78b63d88010a6178d7c4c58186938c479 Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Tue, 6 Jun 2023 14:27:46 +0200
Subject: [PATCH] Detect openSSL 3.1; compatible to openSSL 3.0
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d6b0ee91..b96979d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ AC_C_BIGENDIAN
# issues with applications linking to new openssl, old libp11, and vice versa
case "`$PKG_CONFIG --modversion --silence-errors libcrypto || \
$PKG_CONFIG --modversion openssl`" in
- 3.0.*) # Predicted engines directory prefix for OpenSSL 3.x
+ 3.1.*|3.0.*) # Predicted engines directory prefix for OpenSSL 3.x
LIBP11_LT_OLDEST="3"
debian_ssl_prefix="openssl-3.0.0";;
1.1.*) # Predicted engines directory prefix for OpenSSL 1.1.x
From 0697773b403efb8e7fa9f0c0fddcb499fb9b6337 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Thu, 13 Jul 2023 13:52:54 -0400
Subject: [PATCH] configure: treat all openssl-3.x releases the same
OpenSSL's soversion will not change for any 3.x minor release.
https://www.openssl.org/policies/general/versioning-policy.html
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index b96979d9..c344e84a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ AC_C_BIGENDIAN
# issues with applications linking to new openssl, old libp11, and vice versa
case "`$PKG_CONFIG --modversion --silence-errors libcrypto || \
$PKG_CONFIG --modversion openssl`" in
- 3.1.*|3.0.*) # Predicted engines directory prefix for OpenSSL 3.x
+ 3.*) # Predicted engines directory prefix for OpenSSL 3.x
LIBP11_LT_OLDEST="3"
debian_ssl_prefix="openssl-3.0.0";;
1.1.*) # Predicted engines directory prefix for OpenSSL 1.1.x

View File

@ -0,0 +1,31 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Abstraction layer to simplify PKCS#11 API"
HOMEPAGE="https://github.com/opensc/libp11/wiki"
SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc static-libs"
RDEPEND="dev-libs/openssl:=[bindist(+)]"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig
doc? ( app-doc/doxygen )"
src_configure() {
econf \
--enable-shared \
$(use_enable static-libs static) \
$(use_enable doc api-doc)
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
}

View File

@ -0,0 +1,51 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools
DESCRIPTION="Abstraction layer to simplify PKCS#11 API"
HOMEPAGE="https://github.com/opensc/libp11/wiki"
SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
RDEPEND="
<dev-libs/openssl-3.1.4:=[bindist(+)]
"
DEPEND="${RDEPEND}
test? ( dev-libs/softhsm )
"
BDEPEND="
virtual/pkgconfig
doc? ( app-doc/doxygen )
test? ( >=dev-libs/opensc-0.23.0-r2 )
"
src_prepare() {
local PATCHES=(
"${FILESDIR}"/libp11-0.4.12-openssl-3.1.patch
)
default
eautoreconf
}
src_configure() {
local args=(
--enable-shared
$(use_enable static-libs static)
$(use_enable doc api-doc)
)
econf "${args[@]}"
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
}

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
Library implementing a small layer on top of PKCS#11 API to make
using PKCS#11 implementations easier.
</longdescription>
<use>
<flag name="doc">Generate and install API documentation for the package.</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:opensc-project:libp11</remote-id>
<remote-id type="github">opensc/libp11</remote-id>
<remote-id type="sourceforge">opensc</remote-id>
</upstream>
</pkgmetadata>