summaryrefslogtreecommitdiff
path: root/app-crypt/pesign
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/pesign')
-rw-r--r--app-crypt/pesign/Manifest5
-rw-r--r--app-crypt/pesign/files/pesign-113-nss.patch47
-rw-r--r--app-crypt/pesign/metadata.xml11
-rw-r--r--app-crypt/pesign/pesign-113.ebuild52
4 files changed, 105 insertions, 10 deletions
diff --git a/app-crypt/pesign/Manifest b/app-crypt/pesign/Manifest
index 78cd24ee9063..bb28254bf8d3 100644
--- a/app-crypt/pesign/Manifest
+++ b/app-crypt/pesign/Manifest
@@ -1,5 +1,8 @@
AUX pesign-0.112-fix-cli-opts.patch 2228 BLAKE2B 6037340b1bc0c659ec2be5358d781b29f0fe755a17e7c17f612ef7c8dc514dc5d5ed2c49121463caa269e01a206a160ec725f7545a004fe10ffc35841f23625a SHA512 62d2ec0059ff518b576b6399a217f47b1f361c41292055b8a7326e81cda30190b4a62dad7dd8150855b2025af1ad25458a2cbbfd3ae89ca6c870067224662695
AUX pesign-0.112-fix-initializer.patch 388 BLAKE2B e5beacd2503dbde5c6e4ba748c4dc5151747028b3448e91fcb2e52f6e2622ba5f84cb29a816c67979dcf7ab40b9f3d2ea10ff31033027c18b68c863ab2eed86e SHA512 1b76c6dfe7ddc76a2051038894b7e2da72c01ebc05a46d4b6ebc05a092a55d699161e04c4df73d1afb7752e6a138ed8c9c28eda55897c82934ca852be42dae84
+AUX pesign-113-nss.patch 2092 BLAKE2B f75730c2ab48f0ff6af4237fc46c535b3ceead357e31a548c28b78648fec7d52a5cc1bc9dfdb9db4e6cf22b7312cc452afb04a3088810140055ae88b55fb2f1d SHA512 7a4ebd4c875cf6678a6d2ca4083eafea552259e2c1692d167d0b948ac73d50244db3feea1c6d7c403e152236421609da5d92cd6405fb3107e1c3933c2f94fece
DIST pesign-0.112.tar.gz 107632 BLAKE2B 737b75aec7efa9f41dbdb509405dede914cd5aa563572f0d2ede96a321f4a669170c696c7bd93bad1a5c1a6f2c65715b66317544fa6fc55d6b7f85436d778e8a SHA512 9a0cd266f973fbd7bbbd23939d0be3c34dbccd9ab20941bf967ca1b18aa5bf5d2c41cdef0799399e09e7b0fc59a0b34bc660afb6da292eb1c127db2893362018
+DIST pesign-113.tar.gz 124618 BLAKE2B 36cdface6ecdf9003251da3058b21b2ee8e94eb655e47a8668b38c4ea576d990a71860952eea277d5e029bb007039c8e3ded9918e89d47f6db404423acbd1cc7 SHA512 e71dc90c2ab8085d1b000c0d2cf9cb00ddaed1ea1393db75c2d19a96f1b1c188a26b76850533ba97ec254a3b48db6b07a69b597c329ac891e64422780a358c24
EBUILD pesign-0.112.ebuild 1222 BLAKE2B c72e2506d5a391db63c12f2f299772d3531aa029eb4116ce731e6608f9f10496c64489475d56473e5896b2649c0312359c3f6ea009cb3a1c9357a9d34c53b60c SHA512 17314da5a476af1543bb5ce71e764e0a93bd4ddd7ea61f0ced626aebf5abb9683f204af08845d13b7e84f591c580cb8fb4ef205134cb38c1087d717585a6f00a
-MISC metadata.xml 466 BLAKE2B f7c15efd0e75918931fb23acd033a3273820cd449e397af5dd1195e3de85e9b5b9510ac22fef9bcc3be820cfc2f09f61cb5e4fd8742797aa28d915cb275c098f SHA512 cffb289b804411ba72b52113ac4784e2873c0c0730496eb3b29a35c2d2a8891031f579e70cb7a64f0da685fedbcf3f0787ed2c630664cb6c363ddbd66e0d1364
+EBUILD pesign-113.ebuild 1177 BLAKE2B 2ac7fc3a2197194d5e1518ea110789054947eb94b2001190c34dcc6883559052681517361152ffdf39b807572d338f7764511a3dc109b27daf11c47ea557c8f7 SHA512 42308998cf9546dc4e844c96688c3c9990e51ee001925783e2e985cec4ec5470e63d62302cd8d81a5ae55492fc64e15eec8ff07a03da56c0bc53d1239a2ffdb1
+MISC metadata.xml 248 BLAKE2B 53654091f15005bbc49262b840fd687c88b36450646c7639f9767a891a973f393dbbdc093143b3b120e50b1263e383d674e227c44de4c204b34a3a7892ed59e7 SHA512 c77276afdf688db707b87d976aa741c359c9152d0de1ffbdb9d3202a3b62aa2797cd8beb86354dad9fa2158be17948f53995ab9b92ea04ef79e6dd8ac3ede1fa
diff --git a/app-crypt/pesign/files/pesign-113-nss.patch b/app-crypt/pesign/files/pesign-113-nss.patch
new file mode 100644
index 000000000000..5a227a87268b
--- /dev/null
+++ b/app-crypt/pesign/files/pesign-113-nss.patch
@@ -0,0 +1,47 @@
+From b535d1ac5cbcdf18a97d97a92581e38080d9e521 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Tue, 14 May 2019 11:28:38 -0400
+Subject: [PATCH] efikeygen: Fix the build with nss 3.44
+
+NSS 3.44 adds some certificate types, which changes a type and makes
+some encoding stuff weird. As a result, we get:
+
+gcc8 -I/wrkdirs/usr/ports/sysutils/pesign/work/pesign-0.110/include -O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc8 -isystem /usr/local/include -fno-strict-aliasing -g -O0 -g -O0 -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function -I../include/ -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr -Werror -fPIC -isystem /usr/local/include -DCONFIG_amd64 -DCONFIG_amd64 -c efikeygen.c -o efikeygen.o
+In file included from /usr/local/include/nss/nss/cert.h:22,
+ from efikeygen.c:39:
+efikeygen.c: In function 'add_cert_type':
+/usr/local/include/nss/nss/certt.h:445:5: error: unsigned conversion from 'int' to 'unsigned char' changes value from '496' to '240' [-Werror=overflow]
+ (NS_CERT_TYPE_SSL_CLIENT | NS_CERT_TYPE_SSL_SERVER | NS_CERT_TYPE_EMAIL | \
+ ^
+efikeygen.c:208:23: note: in expansion of macro 'NS_CERT_TYPE_APP'
+ unsigned char type = NS_CERT_TYPE_APP;
+ ^~~~~~~~~~~~~~~~
+cc1: all warnings being treated as errors
+
+This is fixed by just making it an int.
+
+Fixes github issue #48.
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Upstream-Status: Accepted
+[https://github.com/rhboot/pesign/commit/b535d1ac5cbcdf18a97d97a92581e38080d9e521]
+---
+ src/efikeygen.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/efikeygen.c b/src/efikeygen.c
+index ede76ef..2cd953e 100644
+--- a/src/efikeygen.c
++++ b/src/efikeygen.c
+@@ -208,7 +208,7 @@ static int
+ add_cert_type(cms_context *cms, void *extHandle, int is_ca)
+ {
+ SECItem bitStringValue;
+- unsigned char type = NS_CERT_TYPE_APP;
++ int type = NS_CERT_TYPE_APP;
+
+ if (is_ca)
+ type |= NS_CERT_TYPE_SSL_CA |
+--
+2.22.0
+
diff --git a/app-crypt/pesign/metadata.xml b/app-crypt/pesign/metadata.xml
index ac456968425e..05b4bfdb6570 100644
--- a/app-crypt/pesign/metadata.xml
+++ b/app-crypt/pesign/metadata.xml
@@ -1,15 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>david.michael@coreos.com</email>
- <name>David Michael</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+ <!--maintainer-needed-->
<upstream>
- <remote-id type="github">vathpela/pesign</remote-id>
+ <remote-id type="github">rhboot/pesign</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-crypt/pesign/pesign-113.ebuild b/app-crypt/pesign/pesign-113.ebuild
new file mode 100644
index 000000000000..40d481c35cc5
--- /dev/null
+++ b/app-crypt/pesign/pesign-113.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Tools for manipulating signed PE-COFF binaries"
+HOMEPAGE="https://github.com/rhboot/pesign"
+SRC_URI="https://github.com/rhboot/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl"
+
+RDEPEND="
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/popt
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ sys-apps/util-linux
+ sys-libs/efivar
+"
+DEPEND="${RDEPEND}
+ sys-apps/help2man
+ sys-boot/gnu-efi
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-113-nss.patch )
+
+src_compile() {
+ emake AR="$(tc-is-gcc && echo "$(tc-getCC)-ar" || tc-getAR)" \
+ ARFLAGS="-cvqs" \
+ AS="$(tc-getAS)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ RANLIB="$(tc-getRANLIB)"
+}
+
+src_install() {
+ emake DESTDIR="${ED}" VERSION="${PVR}" install
+ einstalldocs
+
+ # remove some files that don't make sense for Gentoo installs
+ rm -rf "${ED%/}/etc/" "${ED%/}/var/" \
+ "${ED%/}/usr/share/doc/${PF}/COPYING" || die
+}