From 8ec72bec37a89be5de4bb1645847f7ae8d65e90c Mon Sep 17 00:00:00 2001 From: David Michael Date: Tue, 7 Feb 2017 13:23:11 -0800 Subject: [PATCH] app-crypt/pesign: Add an ebuild for 0.112 --- app-crypt/pesign/Manifest | 1 + .../pesign/files/pesign-0.112-fix-cli-opts.patch | 73 ++++++++++++++++++++++ .../files/pesign-0.112-fix-initializer.patch | 13 ++++ app-crypt/pesign/pesign-0.112.ebuild | 47 ++++++++++++++ 4 files changed, 134 insertions(+) create mode 100644 app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch create mode 100644 app-crypt/pesign/files/pesign-0.112-fix-initializer.patch create mode 100644 app-crypt/pesign/pesign-0.112.ebuild diff --git a/app-crypt/pesign/Manifest b/app-crypt/pesign/Manifest index 4d11492..14a304d 100644 --- a/app-crypt/pesign/Manifest +++ b/app-crypt/pesign/Manifest @@ -1 +1,2 @@ DIST pesign-0.108.tar.gz 96838 SHA256 2019882be0286df1c58efa8c588332106b89418a6bd0fce3de8da4ca16636986 SHA512 f72fb9c3e843341300b68e06bb153690734f6e506cdd9f0d9362c760ff48194ed1ed29e0b58a5050e7331069ad47a9902cc9e34bf616667baf84208f2b69a918 WHIRLPOOL 0af005d0b6dbdff23787c009153cae07c6907d111f57831611e85c49656e29e150ffd71683f349880cfb8975547ea3a3e655cdce31b047b355ecf097e7c7ba77 +DIST pesign-0.112.tar.gz 107632 SHA256 df4f5459137126e2fdb06484d755a81b6ec9a7b50099dcc3088ea2d41047cd06 SHA512 9a0cd266f973fbd7bbbd23939d0be3c34dbccd9ab20941bf967ca1b18aa5bf5d2c41cdef0799399e09e7b0fc59a0b34bc660afb6da292eb1c127db2893362018 WHIRLPOOL e5f3d3801ff7df7d643e87bc851f2645931e18df140b25a7add4136db1bd89c2a8da75d8f018533d5b16ab80695740d00ac379e166993a1912ba9ad2abee6791 diff --git a/app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch b/app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch new file mode 100644 index 00000000..6271a99 --- /dev/null +++ b/app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch @@ -0,0 +1,73 @@ +From 5be0515dee24308fd7e270bf2e0fb5e5a7a78f32 Mon Sep 17 00:00:00 2001 +From: Julien Cristau +Date: Thu, 9 Jun 2016 14:30:37 +0200 +Subject: [PATCH 2/2] Fix command line parsing + +The gettext translation domain should be passed as .arg, not .descrip, +otherwise popt won't process any of the command line options (it stops +looping over the struct poptOption array when an entry has unset +longName, shortName and arg). + +Signed-off-by: Julien Cristau +--- + src/client.c | 2 +- + src/efikeygen.c | 2 +- + src/efisiglist.c | 2 +- + src/pesigcheck.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/client.c b/src/client.c +index 028419f..575c873 100644 +--- a/src/client.c ++++ b/src/client.c +@@ -555,7 +555,7 @@ main(int argc, char *argv[]) + + struct poptOption options[] = { + {.argInfo = POPT_ARG_INTL_DOMAIN, +- .descrip = "pesign" }, ++ .arg = "pesign" }, + {.longName = "token", + .shortName = 't', + .argInfo = POPT_ARG_STRING|POPT_ARGFLAG_SHOW_DEFAULT, +diff --git a/src/efikeygen.c b/src/efikeygen.c +index 6278849..8a515a5 100644 +--- a/src/efikeygen.c ++++ b/src/efikeygen.c +@@ -486,7 +486,7 @@ int main(int argc, char *argv[]) + poptContext optCon; + struct poptOption options[] = { + {.argInfo = POPT_ARG_INTL_DOMAIN, +- .descrip = "pesign" }, ++ .arg = "pesign" }, + /* global nss-ish things */ + {.longName = "dbdir", + .shortName = 'd', +diff --git a/src/efisiglist.c b/src/efisiglist.c +index cd3f1ae..40d6a93 100644 +--- a/src/efisiglist.c ++++ b/src/efisiglist.c +@@ -126,7 +126,7 @@ main(int argc, char *argv[]) + + struct poptOption options[] = { + {.argInfo = POPT_ARG_INTL_DOMAIN, +- .descrip = "pesign" }, ++ .arg = "pesign" }, + {.longName = "infile", + .shortName = 'i', + .argInfo = POPT_ARG_STRING, +diff --git a/src/pesigcheck.c b/src/pesigcheck.c +index 1328fe9..0d49c1a 100644 +--- a/src/pesigcheck.c ++++ b/src/pesigcheck.c +@@ -214,7 +214,7 @@ main(int argc, char *argv[]) + poptContext optCon; + struct poptOption options[] = { + {.argInfo = POPT_ARG_INTL_DOMAIN, +- .descrip = "pesign" }, ++ .arg = "pesign" }, + {.longName = "dbfile", + .shortName = 'D', + .argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_POST, +-- +2.9.2 + diff --git a/app-crypt/pesign/files/pesign-0.112-fix-initializer.patch b/app-crypt/pesign/files/pesign-0.112-fix-initializer.patch new file mode 100644 index 00000000..b6147fe --- /dev/null +++ b/app-crypt/pesign/files/pesign-0.112-fix-initializer.patch @@ -0,0 +1,13 @@ +This addresses a -Werror=missing-braces build failure from GCC bug #53119. + +--- a/libdpe/pe_allocspace.c ++++ b/libdpe/pe_allocspace.c +@@ -61,7 +61,7 @@ + struct pe32plus_opt_hdr *opthdr = pe->state.pe32plus_exe.opthdr; + + Pe_Scn *scn = NULL; +- struct section_header shdr = { 0, }, tmp_shdr; ++ struct section_header shdr = { { 0, } }, tmp_shdr; + if (pehdr->sections < 1) + return -1; + diff --git a/app-crypt/pesign/pesign-0.112.ebuild b/app-crypt/pesign/pesign-0.112.ebuild new file mode 100644 index 00000000..7e59afd --- /dev/null +++ b/app-crypt/pesign/pesign-0.112.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils toolchain-funcs + +DESCRIPTION="Tools for manipulating signed PE-COFF binaries" +HOMEPAGE="https://github.com/vathpela/pesign" +SRC_URI="https://github.com/vathpela/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="libressl" + +RDEPEND=" + dev-libs/nspr + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + sys-apps/util-linux +" +DEPEND="${RDEPEND} + sys-apps/help2man + sys-boot/gnu-efi + sys-libs/efivar + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.112-fix-cli-opts.patch + "${FILESDIR}"/${PN}-0.112-fix-initializer.patch +) + +src_compile() { + emake CC="$(tc-getCC)" +} + +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 +} -- 2.7.4