summaryrefslogtreecommitdiff
path: root/dev-libs/opensc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-libs/opensc
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-libs/opensc')
-rw-r--r--dev-libs/opensc/Manifest8
-rw-r--r--dev-libs/opensc/files/opensc-0.17.0-build.patch100
-rw-r--r--dev-libs/opensc/metadata.xml38
-rw-r--r--dev-libs/opensc/opensc-0.16.0.ebuild55
-rw-r--r--dev-libs/opensc/opensc-0.17.0.ebuild60
5 files changed, 261 insertions, 0 deletions
diff --git a/dev-libs/opensc/Manifest b/dev-libs/opensc/Manifest
new file mode 100644
index 000000000000..fd5fb224007c
--- /dev/null
+++ b/dev-libs/opensc/Manifest
@@ -0,0 +1,8 @@
+AUX opensc-0.17.0-build.patch 3577 SHA256 b5fcdbf7fb6936b4af5830fd1d9b604bd4027c5622435f68e68c1783d6a16d0d SHA512 0412a0d0ee3caca534098357e7778f2aa6800ef6d8d559614cd892de13c6dd05d3a6f78dc12cdf834ab6a4c0160234342b46efda0ac844e2411f54aa08a94016 WHIRLPOOL 1b8121276a59017aed152b455438f22c3460f1e6984d9d7accd0c0af67e7b82ccf266d02cae01e12b7dcbaa20df5be44b21d64ad527d36be60c24f5ca16fae87
+DIST opensc-0.16.0.tar.gz 1760418 SHA256 3ac8c29542bb48179e7086d35a1b8907a4e86aca3de3323c2f48bd74eaaf5729 SHA512 15f7d62388dde6dad226acab3cd54f8e2f2f53684dc0cb976c6fc6fbdb4487be931ca69bf965ab07c51efd16be64d5411f10bacea11a07fc823c92dd7bb25139 WHIRLPOOL 8207606e4994d7744fc93cc6aef1b0cde8a2073e791aebf71e82669013d261f82abc6e41ddf971fb136d4580c21ea475bb2e36bbdec600b354f5e1decec4b02a
+DIST opensc-0.17.0.tar.gz 1950547 SHA256 be73c6816867ab4721e6a9ae7dba8e890c5f169f0a2cbb4bf354e0f30a948300 SHA512 8991c1724d187d3c34a2ed591b21f0085f767c0d866edc2decfda85a2b3dedf717838f4937d1dda3e1bbc17f02e6eca6740299660128bc448a29e8bfc2962922 WHIRLPOOL 6ecb3e667b6b8f885e515cf9876673fcc46e4ef575d023e8e0199a6b703d739967cc2c58905e96f2314bc787917518014630b8516bded29ba663be31b3c3de96
+EBUILD opensc-0.16.0.ebuild 1390 SHA256 5041387bf374012f5b9998eac77f244dfece0e2b746ff83c6daf1d4448f14a15 SHA512 ab05e282f226d4c194b292330cdd132c23e92abff34aa8acdb75b3e2e97d5c1dad29089fe79f8e48d0ba93ed4150c7a287a497da20322ec9f44e8c6850230b4e WHIRLPOOL 2b26cbcd5e1e66f52cb5e50c3291fda68cd6a212db55d30dfac64852b73fe2d418ba7c088794d1fbd16f9c3a130c84d74c0d7c628dc13e4650593c35cb9f72d6
+EBUILD opensc-0.17.0.ebuild 1467 SHA256 193bc69f54b332404ba0ce8c969918502f2bc0a273b8c404b895aed779e5d793 SHA512 50b49c15558621c22addc53dd2ed3b5379e1c185b098c1b4caee9a3af8557f87dc1de3c0d4f6d8c6ae8c73399caf7780aa2a984ff1f64d30814eb2082c8792d4 WHIRLPOOL 8446b4f8f0e81c57a686813a188f34117f7b0487277bfbf68695a50be3db6fc34ba6f3d17d1c3445f5a7323ae7db97b4d58520ad7f4c225812aa9a708e15e5b6
+MISC ChangeLog 3222 SHA256 91f20cb6a1327434d050ed782597d02306957676179e66ff358f12b04bae84ef SHA512 49fe72f082cf344cd5bd1c73d4de2e15cc079dd11a97a13b568a1ca79534e1dcce59f5d56c16a20224627edafc82fb7bded154a1e2e8888f98785808b2d741ef WHIRLPOOL 5d18609fa4fa712bed8f0d35a89a88ca0e45157fb5b62ef1f0457909d70fdc162bb8a692ac8bb57be217c72e0b8a8862376ce1441e712ba686653cf39c88a662
+MISC ChangeLog-2015 21431 SHA256 9b94bdd124cf6b7acc6e855e2bde5fb40a53bed9ecd2b3be6f0021998aac2251 SHA512 7bc698a29de48ec57924f1f13d5bfd48c49c89b152a7d4224b878d5224f909ab72fdcf2db54f4198fa370f32572b2e49526d8cca3f6993b20ff17bca27c76b46 WHIRLPOOL ef5a2565e3c18d7bbd9b2de11a3a69259c5594f159f4870bd196eb7db02fd7c20121945de6e60c8f507de7b2fcb81bed76acc9fb31f431a2af1d2ca7abf36f71
+MISC metadata.xml 1243 SHA256 7f12885f3b38f8c6d2416fdf0d12807db3b1e207995595e26f70896fde744b80 SHA512 ad232305012ea07ed2bdfa4577a08932a574b3f9a6259a1b3f59cd653b8ac78443ad9a07e9e98bfc40e366033010fb02c785551f824c3419f89e51579e300db7 WHIRLPOOL 50890e20c9d685256cd843bd52caf90e0721cc6c232fe498f00268343f05fec81f2e91486e1e52ff9735d2b81b971f631d3c91fb1c46991b7bd5994bc4d94753
diff --git a/dev-libs/opensc/files/opensc-0.17.0-build.patch b/dev-libs/opensc/files/opensc-0.17.0-build.patch
new file mode 100644
index 000000000000..8a51d7ac4450
--- /dev/null
+++ b/dev-libs/opensc/files/opensc-0.17.0-build.patch
@@ -0,0 +1,100 @@
+From 65b302e33b710833d4d14bf8eaf00acdaa436c39 Mon Sep 17 00:00:00 2001
+From: Frank Morgner <frankmorgner@gmail.com>
+Date: Wed, 19 Jul 2017 00:09:36 +0200
+Subject: [PATCH] sc-hsm: fixed building with --disable-sm
+
+Closes https://github.com/OpenSC/OpenSC/pull/1103
+---
+ src/libopensc/card-sc-hsm.c | 21 ++++++++++++++++++++-
+ 1 file changed, 20 insertions(+), 1 deletion(-)
+
+diff --git a/src/libopensc/card-sc-hsm.c b/src/libopensc/card-sc-hsm.c
+index cfa084a06..1f61e0138 100644
+--- a/src/libopensc/card-sc-hsm.c
++++ b/src/libopensc/card-sc-hsm.c
+@@ -284,7 +284,9 @@ static int sc_hsm_soc_select_minbioclient(sc_card_t *card)
+ };
+
+ /* Select MinBioClient */
++#ifdef ENABLE_SM
+ sc_sm_stop(card);
++#endif
+ sc_format_apdu(card, &apdu, SC_APDU_CASE_3_SHORT, 0xA4, 0x04, 0x0C);
+ apdu.data = minBioClient_aid.value;
+ apdu.datalen = minBioClient_aid.len;
+@@ -533,7 +535,9 @@ static int sc_hsm_pin_cmd(sc_card_t *card, struct sc_pin_cmd_data *data,
+ sc_hsm_private_data_t *priv = (sc_hsm_private_data_t *) card->drv_data;
+ sc_apdu_t apdu;
+ u8 cmdbuff[16];
++#ifdef ENABLE_SM
+ u8 rbuf[SC_MAX_APDU_BUFFER_SIZE];
++#endif
+ int r;
+ int cmd = data->cmd;
+ size_t pin2_len = data->pin2.len;
+@@ -563,7 +567,10 @@ static int sc_hsm_pin_cmd(sc_card_t *card, struct sc_pin_cmd_data *data,
+ if ((card->type == SC_CARD_TYPE_SC_HSM_SOC || card->reader->uid.len
+ || cmd == SC_PIN_CMD_GET_SESSION_PIN)
+ && (data->cmd != SC_PIN_CMD_GET_INFO)
+- && card->sm_ctx.sm_mode != SM_MODE_TRANSMIT) {
++#ifdef ENABLE_SM
++ && card->sm_ctx.sm_mode != SM_MODE_TRANSMIT
++#endif
++ ) {
+ LOG_TEST_RET(card->ctx,
+ sc_hsm_perform_chip_authentication(card),
+ "Could not perform chip authentication");
+@@ -604,6 +611,7 @@ static int sc_hsm_pin_cmd(sc_card_t *card, struct sc_pin_cmd_data *data,
+ data->apdu = &apdu;
+ }
+
++#ifdef ENABLE_SM
+ if ((data->cmd == SC_PIN_CMD_GET_INFO)
+ && (card->sm_ctx.sm_mode == SM_MODE_TRANSMIT)) {
+ /* JCOP's SM accelerator is incapable of using case 1 APDU in SM */
+@@ -612,6 +620,7 @@ static int sc_hsm_pin_cmd(sc_card_t *card, struct sc_pin_cmd_data *data,
+ apdu.resplen = sizeof rbuf;
+ data->apdu = &apdu;
+ }
++#endif
+
+ data->pin1.offset = 5;
+ data->pin1.length_offset = 4;
+@@ -627,11 +636,17 @@ static int sc_hsm_pin_cmd(sc_card_t *card, struct sc_pin_cmd_data *data,
+ data->cmd = SC_PIN_CMD_GET_SESSION_PIN;
+ if (data->pin_reference == 0x81) {
+ u8 recvbuf[SC_MAX_APDU_BUFFER_SIZE];
++#ifdef ENABLE_SM
+ if (card->sm_ctx.sm_mode != SM_MODE_TRANSMIT) {
+ sc_debug(card->ctx, SC_LOG_DEBUG_NORMAL,
+ "Session PIN generation only supported in SM");
+ LOG_FUNC_RETURN(card->ctx, SC_SUCCESS);
+ }
++#else
++ sc_debug(card->ctx, SC_LOG_DEBUG_NORMAL,
++ "Session PIN generation only supported in SM");
++ LOG_FUNC_RETURN(card->ctx, SC_SUCCESS);
++#endif
+ sc_format_apdu(card, &apdu, SC_APDU_CASE_2_SHORT, 0x5A, 0x01, data->pin_reference);
+ apdu.cla = 0x80;
+ apdu.resp = recvbuf;
+@@ -669,7 +684,9 @@ static int sc_hsm_logout(sc_card_t * card)
+ sc_path_t path;
+ sc_hsm_private_data_t *priv = (sc_hsm_private_data_t *) card->drv_data;
+ memset(priv->sopin, 0, sizeof(priv->sopin));
++#ifdef ENABLE_SM
+ sc_sm_stop(card);
++#endif
+
+ sc_path_set(&path, SC_PATH_TYPE_DF_NAME, sc_hsm_aid.value, sc_hsm_aid.len, 0, 0);
+
+@@ -1586,7 +1603,9 @@ static int sc_hsm_init(struct sc_card *card)
+ static int sc_hsm_finish(sc_card_t * card)
+ {
+ sc_hsm_private_data_t *priv = (sc_hsm_private_data_t *) card->drv_data;
++#ifdef ENABLE_SM
+ sc_sm_stop(card);
++#endif
+ if (priv->serialno) {
+ free(priv->serialno);
+ }
diff --git a/dev-libs/opensc/metadata.xml b/dev-libs/opensc/metadata.xml
new file mode 100644
index 000000000000..709cad6d774d
--- /dev/null
+++ b/dev-libs/opensc/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>crypto@gentoo.org</email>
+ <name>Crypto</name>
+ </maintainer>
+ <longdescription>
+ OpenSC is a library for accessing SmartCard devices. It is also
+ the core library of the OpenSC project.
+
+ Basic functionality (e.g. SELECT FILE, READ BINARY) should work on
+ any ISO 7816-4 compatible SmartCard. Encryption and decryption
+ using private keys on the SmartCard is possible with PKCS #15
+ compatible cards, such as the FINEID (Finnish Electronic IDentity)
+ card.
+ </longdescription>
+ <use>
+ <flag name="openct">
+ Use <pkg>dev-libs/openct</pkg> (and CT-API) for accessing
+ Smartcard hardware.
+ </flag>
+ <flag name="ctapi">
+ Use CT-API for accessing Smartcard hardware.
+ </flag>
+ <flag name="pcsc-lite">
+ Use <pkg>sys-apps/pcsc-lite</pkg> (and PC/SC API) for accessing
+ Smartcard hardware.
+ </flag>
+ <flag name="secure-messaging">
+ Enable secure messaging.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">OpenSC/OpenSC</remote-id>
+ <remote-id type="sourceforge">opensc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/opensc/opensc-0.16.0.ebuild b/dev-libs/opensc/opensc-0.16.0.ebuild
new file mode 100644
index 000000000000..df55b1ce24bc
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.16.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit ltprune
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
+SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ppc ppc64 ~s390 ~sh sparc x86"
+IUSE="doc +pcsc-lite secure-messaging openct ctapi readline libressl ssl zlib"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0= )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct !ctapi )
+ openct? ( !pcsc-lite !ctapi )
+ ctapi? ( !pcsc-lite !openct )
+ || ( pcsc-lite openct ctapi )"
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ --disable-static \
+ $(use_enable doc) \
+ $(use_enable openct) \
+ $(use_enable readline) \
+ $(use_enable zlib) \
+ $(use_enable secure-messaging sm) \
+ $(use_enable ssl openssl) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_enable openct) \
+ $(use_enable ctapi)
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}
diff --git a/dev-libs/opensc/opensc-0.17.0.ebuild b/dev-libs/opensc/opensc-0.17.0.ebuild
new file mode 100644
index 000000000000..0612c40f2bb0
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.17.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit ltprune
+
+DESCRIPTION="Libraries and applications to access smartcards"
+HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
+SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc +pcsc-lite secure-messaging openct ctapi readline libressl ssl zlib"
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ readline? ( sys-libs/readline:0= )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ openct? ( >=dev-libs/openct-0.5.0 )
+ pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt"
+
+REQUIRED_USE="
+ pcsc-lite? ( !openct !ctapi )
+ openct? ( !pcsc-lite !ctapi )
+ ctapi? ( !pcsc-lite !openct )
+ || ( pcsc-lite openct ctapi )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-build.patch"
+)
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ --disable-static \
+ --disable-openpace \
+ $(use_enable doc) \
+ $(use_enable openct) \
+ $(use_enable readline) \
+ $(use_enable zlib) \
+ $(use_enable secure-messaging sm) \
+ $(use_enable ssl openssl) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_enable openct) \
+ $(use_enable ctapi)
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}