app-crypt/pesign: Add an ebuild for 0.112 #608572
authorDavid Michael <david.michael@coreos.com>
Tue, 7 Feb 2017 21:23:11 +0000 (13:23 -0800)
committerGöktürk Yüksek <gokturk@gentoo.org>
Thu, 9 Feb 2017 23:41:17 +0000 (18:41 -0500)
app-crypt/pesign/Manifest
app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch [new file with mode: 0644]
app-crypt/pesign/files/pesign-0.112-fix-initializer.patch [new file with mode: 0644]
app-crypt/pesign/pesign-0.112.ebuild [new file with mode: 0644]

index 4d114926bda6b1ecbc78f4cd6ae7c6cd5e9b20a8..14a304d16b8aa9982d629d1bbc90c67bb0611b86 100644 (file)
@@ -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 (file)
index 0000000..6271a99
--- /dev/null
@@ -0,0 +1,73 @@
+From 5be0515dee24308fd7e270bf2e0fb5e5a7a78f32 Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau@debian.org>
+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 <jcristau@debian.org>
+---
+ 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 (file)
index 0000000..b6147fe
--- /dev/null
@@ -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 (file)
index 0000000..7e59afd
--- /dev/null
@@ -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
+}