commit:     bc18c616f9a7e080e08092b848032c5af38120f1
Author:     David Michael <david.michael <AT> coreos <DOT> com>
AuthorDate: Tue Feb  7 21:23:11 2017 +0000
Commit:     Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Thu Feb  9 23:41:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc18c616

app-crypt/pesign: Add an ebuild for 0.112 #608572

 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(+)

diff --git a/app-crypt/pesign/Manifest b/app-crypt/pesign/Manifest
index 4d114926bd..14a304d16b 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 0000000000..6271a99985
--- /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 <[email protected]>
+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 <[email protected]>
+---
+ 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 0000000000..b6147fe68e
--- /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 0000000000..7e59afdb78
--- /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
+}

Reply via email to