diff --git a/srcpkgs/gnupg/template b/srcpkgs/gnupg/template deleted file mode 100644 index 80d96da518c..00000000000 --- a/srcpkgs/gnupg/template +++ /dev/null @@ -1,24 +0,0 @@ -# Template file for 'gnupg' -pkgname=gnupg -version=1.4.23 -revision=3 -build_style=gnu-configure -configure_args="--enable-threads=posix --enable-noexecstack gnupg_cv_regex_broken=no" -makedepends="bzip2-devel zlib-devel libldap-devel libcurl-devel readline-devel libusb-compat-devel" -short_desc="The GNU Privacy Guard" -maintainer="Orphaned " -license="GPL-3.0-or-later" -homepage="https://www.gnupg.org/" -distfiles="https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-${version}.tar.bz2" -checksum=c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba - -CFLAGS="-fcommon" - -post_extract() { - case "$XBPS_TARGET_MACHINE" in - i686-musl) sed -i Makefile* -e"s;checks = checks;checks =;" ;; - esac -} -post_install() { - rm ${DESTDIR}/usr/bin/gpgsplit -} diff --git a/srcpkgs/gnupg/update b/srcpkgs/gnupg/update deleted file mode 100644 index 6bfa7d9a00b..00000000000 --- a/srcpkgs/gnupg/update +++ /dev/null @@ -1 +0,0 @@ -ignore="2.*" diff --git a/srcpkgs/gnupg1/patches/0001-avoid-looking-for-git-info-during-autoreconf.patch b/srcpkgs/gnupg1/patches/0001-avoid-looking-for-git-info-during-autoreconf.patch new file mode 100644 index 00000000000..803c3635798 --- /dev/null +++ b/srcpkgs/gnupg1/patches/0001-avoid-looking-for-git-info-during-autoreconf.patch @@ -0,0 +1,28 @@ +From: Daniel Kahn Gillmor +Date: Fri, 1 Apr 2016 06:04:20 -0400 +Subject: avoid looking for git info during autoreconf + +--- + configure.ac | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b92440c..6222be6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -32,13 +32,10 @@ m4_define([mym4_version], [1.4.23]) + # the decimalized short revision number, a beta version string and a + # flag indicating a development version (mym4_isgit). Note that the + # m4 processing is done by autoconf and not during the configure run. +-m4_define([mym4_revision], +- m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r'])) ++m4_define([mym4_revision],[]) + m4_define([mym4_revision_dec], + m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))])) +-m4_define([mym4_betastring], +- m4_esyscmd_s([git describe --match 'gnupg-1.[0-9].*[0-9]' --long|\ +- awk -F- '$3!=0{print"-beta"$3}'])) ++m4_define([mym4_betastring],[]) + m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes])) + m4_define([mym4_full_version],[mym4_version[]mym4_betastring]) + diff --git a/srcpkgs/gnupg1/patches/0003-change-package-name-to-gnupg1.patch b/srcpkgs/gnupg1/patches/0003-change-package-name-to-gnupg1.patch new file mode 100644 index 00000000000..3e00a986537 --- /dev/null +++ b/srcpkgs/gnupg1/patches/0003-change-package-name-to-gnupg1.patch @@ -0,0 +1,23 @@ +From: Daniel Kahn Gillmor +Date: Fri, 1 Apr 2016 01:58:00 -0400 +Subject: change package name to gnupg1 + +We're moving to calling this gnupg1; this change should affect libexec +(where the keyserver helpers live), gettext, and other places. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6222be6..53f2ca6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -39,7 +39,7 @@ m4_define([mym4_betastring],[]) + m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes])) + m4_define([mym4_full_version],[mym4_version[]mym4_betastring]) + +-AC_INIT([gnupg],[mym4_full_version], [https://bugs.gnupg.org]) ++AC_INIT([gnupg1],[mym4_full_version], [https://bugs.gnupg.org]) + + + development_version=mym4_isgit diff --git a/srcpkgs/gnupg1/patches/0004-doc-Enable-SOURCE_DATE_EPOCH-for-reproducibility.patch b/srcpkgs/gnupg1/patches/0004-doc-Enable-SOURCE_DATE_EPOCH-for-reproducibility.patch new file mode 100644 index 00000000000..5a535b25fc9 --- /dev/null +++ b/srcpkgs/gnupg1/patches/0004-doc-Enable-SOURCE_DATE_EPOCH-for-reproducibility.patch @@ -0,0 +1,220 @@ +From: Daniel Kahn Gillmor +Date: Mon, 29 Aug 2016 10:13:47 -0400 +Subject: doc: Enable $SOURCE_DATE_EPOCH for reproducibility + +* doc/yat2m.c: update to version from 2.1.15 +* doc/Makefile.am: pass SOURCE_DATE_EPOCH through when building + documentation if provided. + +The goal of this changeset is to make it easier to make GnuPG build +reproducibly. + +Debian-bug-id: 806494 +--- + doc/Makefile.am | 1 + + doc/yat2m.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++-------- + 2 files changed, 60 insertions(+), 9 deletions(-) + +diff --git a/doc/Makefile.am b/doc/Makefile.am +index 4294f83..13933af 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -59,6 +59,7 @@ yat2m-stamp: $(myman_sources) + @touch yat2m-stamp.tmp + for file in $(myman_sources) ; do \ + ./yat2m $(YAT2M_OPTIONS) --store \ ++ `test -z "$(SOURCE_DATE_EPOCH)" || echo '--date' "$(SOURCE_DATE_EPOCH)"` \ + `test -f '$$file' || echo '$(srcdir)/'`$$file ; done + @mv -f yat2m-stamp.tmp $@ + +diff --git a/doc/yat2m.c b/doc/yat2m.c +index 86c3c70..9b76f19 100644 +--- a/doc/yat2m.c ++++ b/doc/yat2m.c +@@ -1,5 +1,5 @@ + /* yat2m.c - Yet Another Texi 2 Man converter +- * Copyright (C) 2005, 2013 g10 Code GmbH ++ * Copyright (C) 2005, 2013, 2015, 2016 g10 Code GmbH + * Copyright (C) 2006, 2008, 2011 Free Software Foundation, Inc. + * + * This program is free software; you can redistribute it and/or modify +@@ -13,7 +13,7 @@ + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License +- * along with this program; if not, see . ++ * along with this program; if not, see . + */ + + /* +@@ -104,6 +104,29 @@ + #include + + ++#if __GNUC__ ++# define MY_GCC_VERSION (__GNUC__ * 10000 \ ++ + __GNUC_MINOR__ * 100 \ ++ + __GNUC_PATCHLEVEL__) ++#else ++# define MY_GCC_VERSION 0 ++#endif ++ ++#if MY_GCC_VERSION >= 20500 ++# define ATTR_PRINTF(f, a) __attribute__ ((format(printf,f,a))) ++# define ATTR_NR_PRINTF(f, a) __attribute__ ((noreturn, format(printf,f,a))) ++#else ++# define ATTR_PRINTF(f, a) ++# define ATTR_NR_PRINTF(f, a) ++#endif ++#if MY_GCC_VERSION >= 30200 ++# define ATTR_MALLOC __attribute__ ((__malloc__)) ++#else ++# define ATTR_MALLOC ++#endif ++ ++ ++ + #define PGM "yat2m" + #define VERSION "1.0" + +@@ -120,6 +143,7 @@ static int quiet; + static int debug; + static const char *opt_source; + static const char *opt_release; ++static const char *opt_date; + static const char *opt_select; + static const char *opt_include; + static int opt_store; +@@ -213,8 +237,16 @@ static const char * const standard_sections[] = + static void proc_texi_buffer (FILE *fp, const char *line, size_t len, + int *table_level, int *eol_action); + ++static void die (const char *format, ...) ATTR_NR_PRINTF(1,2); ++static void err (const char *format, ...) ATTR_PRINTF(1,2); ++static void inf (const char *format, ...) ATTR_PRINTF(1,2); ++static void *xmalloc (size_t n) ATTR_MALLOC; ++static void *xcalloc (size_t n, size_t m) ATTR_MALLOC; + + ++ ++/*-- Functions --*/ ++ + /* Print diagnostic message and exit with failure. */ + static void + die (const char *format, ...) +@@ -323,8 +355,12 @@ isodatestring (void) + { + static char buffer[11+5]; + struct tm *tp; +- time_t atime = time (NULL); ++ time_t atime; + ++ if (opt_date && *opt_date) ++ atime = strtoul (opt_date, NULL, 10); ++ else ++ atime = time (NULL); + if (atime < 0) + strcpy (buffer, "????" "-??" "-??"); + else +@@ -553,7 +589,7 @@ get_section_buffer (const char *name) + for (i=0; i < thepage.n_sections; i++) + if (!thepage.sections[i].name) + break; +- if (i < thepage.n_sections) ++ if (thepage.n_sections && i < thepage.n_sections) + sect = thepage.sections + i; + else + { +@@ -679,6 +715,7 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len, + } cmdtbl[] = { + { "command", 0, "\\fB", "\\fR" }, + { "code", 0, "\\fB", "\\fR" }, ++ { "url", 0, "\\fB", "\\fR" }, + { "sc", 0, "\\fB", "\\fR" }, + { "var", 0, "\\fI", "\\fR" }, + { "samp", 0, "\\(aq", "\\(aq" }, +@@ -699,6 +736,7 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len, + { "emph", 0, "\\fI", "\\fR" }, + { "w", 1 }, + { "c", 5 }, ++ { "efindex", 1 }, + { "opindex", 1 }, + { "cpindex", 1 }, + { "cindex", 1 }, +@@ -708,7 +746,7 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len, + { "subsection", 6, "\n.SS " }, + { "chapheading", 0}, + { "item", 2, ".TP\n.B " }, +- { "itemx", 2, ".TP\n.B " }, ++ { "itemx", 2, ".TQ\n.B " }, + { "table", 3 }, + { "itemize", 3 }, + { "bullet", 0, "* " }, +@@ -755,6 +793,8 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len, + { + if ((*table_level)-- > 1) + fputs (".RE\n", fp); ++ else ++ fputs (".P\n", fp); + } + else if (n >= 7 && !memcmp (s, "example", 7) + && (!n || s[7] == ' ' || s[7] == '\t' || s[7] == '\n')) +@@ -846,7 +886,7 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len, + } + else + inf ("texinfo command '%s' not supported (%.*s)", command, +- ((s = memchr (rest, '\n', len)), (s? (s-rest) : len)), rest); ++ (int)((s = memchr (rest, '\n', len)), (s? (s-rest) : len)), rest); + } + + if (*rest == '{') +@@ -958,7 +998,7 @@ proc_texi_buffer (FILE *fp, const char *line, size_t len, + assert (n <= len); + s += n; len -= n; + s--; len++; +- in_cmd = 0; ++ /* in_cmd = 0; -- doc only */ + } + } + +@@ -1367,7 +1407,7 @@ parse_file (const char *fname, FILE *fp, char **section_name, int in_pause) + } + + if (!incfp) +- err ("can't open include file '%s':%s", ++ err ("can't open include file '%s': %s", + incname, strerror (errno)); + else + { +@@ -1466,13 +1506,14 @@ main (int argc, char **argv) + "Extract man pages from a Texinfo source.\n\n" + " --source NAME use NAME as source field\n" + " --release STRING use STRING as the release field\n" ++ " --date EPOCH use EPOCH as publication date\n" + " --store write output using @manpage name\n" + " --select NAME only output pages with @manpage NAME\n" + " --verbose enable extra informational output\n" + " --debug enable additional debug output\n" + " --help display this help and exit\n" + " -I DIR also search in include DIR\n" +- " -D gpgone the only useable define\n\n" ++ " -D gpgone the only usable define\n\n" + "With no FILE, or when FILE is -, read standard input.\n\n" + "Report bugs to ."); + exit (0); +@@ -1519,6 +1560,15 @@ main (int argc, char **argv) + argc--; argv++; + } + } ++ else if (!strcmp (*argv, "--date")) ++ { ++ argc--; argv++; ++ if (argc) ++ { ++ opt_date = *argv; ++ argc--; argv++; ++ } ++ } + else if (!strcmp (*argv, "--store")) + { + opt_store = 1; diff --git a/srcpkgs/gnupg1/patches/0005-gpg-Change-default-digest-algorithm-to-SHA256.patch b/srcpkgs/gnupg1/patches/0005-gpg-Change-default-digest-algorithm-to-SHA256.patch new file mode 100644 index 00000000000..edceb00e952 --- /dev/null +++ b/srcpkgs/gnupg1/patches/0005-gpg-Change-default-digest-algorithm-to-SHA256.patch @@ -0,0 +1,55 @@ +From: Daniel Kahn Gillmor +Date: Mon, 14 Nov 2016 07:57:20 +0900 +Subject: gpg: Change default digest algorithm to SHA256 + +* g10/main.h: set DEFAULT_DIGEST_ALGO to DIGEST_ALGO_SHA256 + +-- + +gnupg 2.x defaults to making signatures and certifications with +sha256, and has for quite some time; i know of no problems with that +decision today (it's 2016!). We should emulate it in the 1.4.x +branch. + +Debian-Bug-Id: 824084 +Signed-off-by: Daniel Kahn Gillmor +--- + g10/main.h | 2 +- + g10/sign.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/g10/main.h b/g10/main.h +index a0b96f9..a5500cc 100644 +--- a/g10/main.h ++++ b/g10/main.h +@@ -38,7 +38,7 @@ + # define DEFAULT_CIPHER_ALGO CIPHER_ALGO_3DES + #endif + +-#define DEFAULT_DIGEST_ALGO DIGEST_ALGO_SHA1 ++#define DEFAULT_DIGEST_ALGO DIGEST_ALGO_SHA256 + #define DEFAULT_COMPRESS_ALGO COMPRESS_ALGO_ZIP + #define DEFAULT_S2K_DIGEST_ALGO DIGEST_ALGO_SHA1 + +diff --git a/g10/sign.c b/g10/sign.c +index ed8ac73..81c5452 100644 +--- a/g10/sign.c ++++ b/g10/sign.c +@@ -1396,7 +1396,7 @@ make_keysig_packet( PKT_signature **ret_sig, PKT_public_key *pk, + + if( !digest_algo ) + { +- /* Basically, this means use SHA1 always unless it's a v3 RSA ++ /* Basically, this means use the default digest algo always unless it's a v3 RSA + key making a v3 cert (use MD5), or the user specified + something (use whatever they said), or it's DSA (use the + best match). They still can't pick an inappropriate hash +@@ -1412,7 +1412,7 @@ make_keysig_packet( PKT_signature **ret_sig, PKT_public_key *pk, + else if(sk->pubkey_algo==PUBKEY_ALGO_DSA) + digest_algo = match_dsa_hash(mpi_get_nbits(sk->skey[1])/8); + else +- digest_algo = DIGEST_ALGO_SHA1; ++ digest_algo = DEFAULT_DIGEST_ALGO; + } + + md = md_open( digest_algo, 0 ); diff --git a/srcpkgs/gnupg1/template b/srcpkgs/gnupg1/template new file mode 100644 index 00000000000..6979b35d0d4 --- /dev/null +++ b/srcpkgs/gnupg1/template @@ -0,0 +1,39 @@ +# Template file for 'gnupg1' +pkgname=gnupg1 +version=1.4.23 +revision=1 +wrksrc=gnupg-${version} +build_style=gnu-configure +configure_args="--enable-threads=posix --enable-noexecstack + gnupg_cv_regex_broken=no" +hostmakedepends="automake gettext-devel-tools" +makedepends="bzip2-devel zlib-devel libldap-devel libcurl-devel readline-devel + libusb-compat-devel" +short_desc="GNU Privacy Guard v1" +maintainer="Orphaned " +license="GPL-3.0-or-later" +homepage="https://www.gnupg.org/" +distfiles="https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-${version}.tar.bz2" +checksum=c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba + +CFLAGS="-fcommon" + +pre_configure() { + autoreconf -fi +} + +post_extract() { + case "$XBPS_TARGET_MACHINE" in + i686-musl) sed -i Makefile* -e"s;checks = checks;checks =;" ;; + esac +} + +post_install() { + rm ${DESTDIR}/usr/bin/gpgsplit + mv ${DESTDIR}/usr/bin/gpg ${DESTDIR}/usr/bin/gpg1 + mv ${DESTDIR}/usr/bin/gpgv ${DESTDIR}/usr/bin/gpgv1 + mv ${DESTDIR}/usr/share/man/man1/gpg.1 \ + ${DESTDIR}/usr/share/man/man1/gpg1.1 + mv ${DESTDIR}/usr/share/man/man1/gpgv.1 \ + ${DESTDIR}/usr/share/man/man1/gpgv1.1 +} diff --git a/srcpkgs/gnupg1/update b/srcpkgs/gnupg1/update new file mode 100644 index 00000000000..2576122722a --- /dev/null +++ b/srcpkgs/gnupg1/update @@ -0,0 +1,2 @@ +pkgname=gnupg +ignore="2.*"