diff --git a/pkgs/tools/security/signing-party/default.nix b/pkgs/tools/security/signing-party/default.nix index e2e3955628d..ea6b7411c4e 100644 --- a/pkgs/tools/security/signing-party/default.nix +++ b/pkgs/tools/security/signing-party/default.nix @@ -1,16 +1,25 @@ -{stdenv, fetchurl, gnupg, perl, automake111x, autoconf}: +{ stdenv, fetchurl, makeWrapper, autoconf, automake +, gnupg, perl, python, libmd, qprint, coreutils, gnused, glibc, gnupg1compat +, perlPackages }: stdenv.mkDerivation rec { - version = "2.2"; + version = "2.5"; basename = "signing-party"; name = "${basename}-${version}"; + src = fetchurl { url = "mirror://debian/pool/main/s/${basename}/${basename}_${version}.orig.tar.gz"; - sha256 = "13qncdyadw1cnslc2xss9s2rpkalm7rz572b23p7mqcdqp30cpdd"; + sha256 = "1y2bxk01qiwaqaily0s6zi10ssv7l35vksib6fxzyl76pp693nv2"; }; sourceRoot = "."; + patches = [ ./gpgwrap_makefile.patch ]; + + postPatch = '' + substituteInPlace gpg-mailkeys/gpg-mailkeys --replace "/usr/sbin/sendmail" "sendmail" + ''; + preBuild = '' substituteInPlace sig2dot/Makefile --replace "\$(DESTDIR)/usr" "$out" substituteInPlace gpgsigs/Makefile --replace "\$(DESTDIR)/usr" "$out" @@ -19,19 +28,46 @@ stdenv.mkDerivation rec { substituteInPlace keyanalyze/Makefile --replace "\$(DESTDIR)/usr" "$out" ''; - # - perl is required for its pod2man (used in caff) - buildInputs = [ automake111x autoconf perl gnupg ]; - - patches = [ ./gpgwrap_makefile.patch ]; + nativeBuildInputs = [ autoconf automake makeWrapper ]; + buildInputs = [ gnupg perl python libmd ] ++ + (with perlPackages; [ GnuPGInterface TextTemplate MIMEtools NetIDNEncode MailTools ]); installFlags = [ "DESTDIR=\${out}" ]; - doCheck = false; # no check rule + postInstall = '' + install -m 755 \ + caff/caff caff/pgp-clean caff/pgp-fixkey \ + gpglist/gpglist \ + gpgparticipants/gpgparticipants \ + gpgparticipants/gpgparticipants-prefill \ + gpgsigs/gpgsigs \ + gpg-key2ps/gpg-key2ps \ + gpg-mailkeys/gpg-mailkeys \ + keyart/keyart \ + $out/bin + + install -m 644 \ + caff/caff.1 caff/pgp-clean.1 caff/pgp-fixkey.1 \ + gpglist/gpglist.1 \ + gpgparticipants/gpgparticipants-prefill.1 \ + gpgparticipants/gpgparticipants.1 \ + gpgsigs/gpgsigs.1 \ + gpg-key2ps/gpg-key2ps.1 \ + gpg-mailkeys/gpg-mailkeys.1 \ + $out/share/man/man1 + + wrapProgram $out/bin/caff --prefix PERL5LIB ":" "$PERL5LIB" \ + --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1compat ]}" + wrapProgram $out/bin/gpg-mailkeys --prefix PATH ":" "${stdenv.lib.makeBinPath [ qprint coreutils gnused glibc gnupg1compat ]}" + ''; + + doCheck = false; # no tests meta = { description = "A collection for all kinds of pgp related things, including signing scripts, party preparation scripts etc"; homepage = http://pgp-tools.alioth.debian.org; platforms = gnupg.meta.platforms; license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fpletz ]; }; } diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3e3bc8f3b45..0b4f53ac861 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2959,6 +2959,21 @@ let self = _self // overrides; _self = with self; { }; }; + DataPerl = buildPerlPackage rec { + name = "Data-Perl-0.002009"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MA/MATTP/${name}.tar.gz"; + sha256 = "b62b2225870c2c3b16fb78c429f8729ddb8ed0e342f4209ec3c261b764c36f8b"; + }; + buildInputs = [ TestDeep TestFatal TestOutput ]; + propagatedBuildInputs = [ ClassMethodModifiers ListMoreUtils ModuleRuntime RoleTiny strictures ]; + meta = { + homepage = https://github.com/mattp-/Data-Perl; + description = "Base classes wrapping fundamental Perl data types"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + DataSection = buildPerlPackage rec { name = "Data-Section-0.200006"; src = fetchurl { @@ -5687,6 +5702,21 @@ let self = _self // overrides; _self = with self; { }; }; + GnuPGInterface = buildPerlPackage rec { + name = "GnuPG-Interface-0.52"; + src = fetchurl { + url = "mirror://cpan/authors/id/A/AL/ALEXMV/${name}.tar.gz"; + sha256 = "247a9f5a88bb6745281c00d0f7d5d94e8599a92396849fd9571356dda047fd35"; + }; + buildInputs = with pkgs; [ which gnupg1compat ]; + propagatedBuildInputs = [ Moo MooXHandlesVia MooXlate ]; + doCheck = false; + meta = { + description = "Supply object methods for interacting with GnuPG"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + GoferTransporthttp = buildPerlPackage { name = "GoferTransport-http-1.017"; src = fetchurl { @@ -8545,6 +8575,20 @@ let self = _self // overrides; _self = with self; { }; }; + MooXHandlesVia = buildPerlPackage rec { + name = "MooX-HandlesVia-0.001008"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MA/MATTP/${name}.tar.gz"; + sha256 = "b0946f23b3537763b8a96b8a83afcdaa64fce4b45235e98064845729acccfe8c"; + }; + buildInputs = [ MooXTypesMooseLike TestException TestFatal ]; + propagatedBuildInputs = [ ClassMethodModifiers DataPerl ModuleRuntime Moo RoleTiny ]; + meta = { + description = "NativeTrait-like behavior for Moo"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + MooXTypesMooseLike = buildPerlPackage rec { name = "MooX-Types-MooseLike-0.27"; src = fetchurl { @@ -9571,6 +9615,18 @@ let self = _self // overrides; _self = with self; { }; }; + NetIDNEncode = buildPerlPackage { + name = "Net-IDN-Encode-2.400"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CF/CFAERBER/Net-IDN-Encode-2.400.tar.gz; + sha256 = "0a9knav5f9kjldrkxx1k47ivd3p23zkmi8aqgyhnxidhgasz1dlq"; + }; + buildInputs = [ TestNoWarnings ]; + meta = { + description = "Internationalizing Domain Names in Applications (IDNA)"; + }; + }; + NetIP = buildPerlPackage { name = "Net-IP-1.26"; src = fetchurl {