summary refs log tree commit diff
path: root/pkgs/tools/security
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2018-09-08 22:08:32 +0000
committerJan Malakhovski <oxij@oxij.org>2018-09-08 22:08:32 +0000
commitb7bd0561be4e95edd69a5b42d5aedc5e909db01f (patch)
treebd82469f1c93ce6d4d03c0b0e8ad0c32b0251e24 /pkgs/tools/security
parent16650af8c34e468cee61d6826c72cbc79eb114c2 (diff)
parentfb0e0dcbc65a7b54bcf98b37b16b06412f0b042f (diff)
downloadnixlib-b7bd0561be4e95edd69a5b42d5aedc5e909db01f.tar
nixlib-b7bd0561be4e95edd69a5b42d5aedc5e909db01f.tar.gz
nixlib-b7bd0561be4e95edd69a5b42d5aedc5e909db01f.tar.bz2
nixlib-b7bd0561be4e95edd69a5b42d5aedc5e909db01f.tar.lz
nixlib-b7bd0561be4e95edd69a5b42d5aedc5e909db01f.tar.xz
nixlib-b7bd0561be4e95edd69a5b42d5aedc5e909db01f.tar.zst
nixlib-b7bd0561be4e95edd69a5b42d5aedc5e909db01f.zip
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/tools/security')
-rw-r--r--pkgs/tools/security/monkeysphere/default.nix57
-rw-r--r--pkgs/tools/security/monkeysphere/monkeysphere.patch100
2 files changed, 58 insertions, 99 deletions
diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix
index d1266ca495ed..f4def72b728c 100644
--- a/pkgs/tools/security/monkeysphere/default.nix
+++ b/pkgs/tools/security/monkeysphere/default.nix
@@ -1,35 +1,53 @@
-{ stdenv, fetchurl, perl, makeWrapper, perlPackages }:
+{ stdenv, fetchurl, makeWrapper
+, perl, libassuan, libgcrypt
+, perlPackages, lockfileProgs, gnupg
+}:
 
 stdenv.mkDerivation rec {
   name = "monkeysphere-${version}";
-  version = "0.37";
+  version = "0.41";
 
   src = fetchurl {
-    url = "http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_0.37.orig.tar.gz";
-    sha256 = "0nbfd220miflah5l2y20qlmgfpbqi0j8h7qgx1b06h7v2jjbh45m";
+    url = "http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${version}.orig.tar.gz";
+    sha256 = "0jz7kwkwgylqprnl8bwvl084s5gjrilza77ln18i3f6x48b2y6li";
   };
 
-  buildInputs = [ makeWrapper perl ];
-
   patches = [ ./monkeysphere.patch ];
 
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl libassuan libgcrypt ];
+
   makeFlags = ''
     PREFIX=/
     DESTDIR=$(out)
   '';
 
-  postInstall = ''
-    wrapProgram $out/bin/openpgp2ssh --prefix PERL5LIB : \
-      "${with perlPackages; stdenv.lib.makePerlPath [
-        CryptOpenSSLRSA
-        CryptOpenSSLBignum
-      ]}"
-    wrapProgram $out/bin/monkeysphere --prefix PERL5LIB :\
-      "${with perlPackages; stdenv.lib.makePerlPath [
-        CryptOpenSSLRSA
-        CryptOpenSSLBignum
-      ]}"
-  '';
+  postFixup =
+    let wrapperArgs = runtimeDeps:
+          "--prefix PERL5LIB : "
+          + (with perlPackages; stdenv.lib.makePerlPath [
+              CryptOpenSSLRSA
+              CryptOpenSSLBignum
+            ])
+          + stdenv.lib.optionalString
+              (builtins.length runtimeDeps > 0)
+              " --prefix PATH : ${stdenv.lib.makeBinPath runtimeDeps}";
+        wrapMonkeysphere = runtimeDeps: program:
+          "wrapProgram $out/bin/${program} ${wrapperArgs runtimeDeps}\n";
+        wrapPrograms = runtimeDeps: programs: stdenv.lib.concatMapStrings
+          (wrapMonkeysphere runtimeDeps)
+          programs;
+    in wrapPrograms [ gnupg ] [ "monkeysphere-authentication" "monkeysphere-host" ]
+      + wrapPrograms [ lockfileProgs ] [ "monkeysphere" ]
+      + ''
+        # These 4 programs depend on the program name ($0):
+        for program in openpgp2pem openpgp2spki openpgp2ssh pem2openpgp; do
+          rm $out/bin/$program
+          ln -sf keytrans $out/share/monkeysphere/$program
+          makeWrapper $out/share/monkeysphere/$program $out/bin/$program \
+            ${wrapperArgs [ ]}
+        done
+      '';
 
   meta = with stdenv.lib; {
     homepage = http://web.monkeysphere.info/;
@@ -43,7 +61,8 @@ stdenv.mkDerivation rec {
       TLS/SSL communications through the normal use of tools you are
       familiar with, such as your web browser0 or secure shell.
     '';
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.all;
+    maintainers = with maintainers; [ primeos ];
   };
 }
diff --git a/pkgs/tools/security/monkeysphere/monkeysphere.patch b/pkgs/tools/security/monkeysphere/monkeysphere.patch
index 8b343b93454f..fdf4b9335b19 100644
--- a/pkgs/tools/security/monkeysphere/monkeysphere.patch
+++ b/pkgs/tools/security/monkeysphere/monkeysphere.patch
@@ -1,92 +1,32 @@
-diff -rupN monkeysphere-0.37/Makefile monkeysphere-0.37-patched/Makefile
---- monkeysphere-0.37/Makefile	2014-08-06 19:27:38.000000000 +0200
-+++ monkeysphere-0.37-patched/Makefile	2015-07-31 19:51:57.539373097 +0200
-@@ -42,11 +42,11 @@ install: all installman
- 	mkdir -p $(DESTDIR)$(PREFIX)/share/doc/monkeysphere
- 	printf "Monkeysphere %s\n" $(MONKEYSPHERE_VERSION) > $(DESTDIR)$(PREFIX)/share/monkeysphere/VERSION
- 	install src/monkeysphere $(DESTDIR)$(PREFIX)/bin
--	sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/bin/monkeysphere
-+	sed -i 's:__SYSSHAREDIR_PREFIX__:$(DESTDIR):' $(DESTDIR)$(PREFIX)/bin/monkeysphere
- 	install src/monkeysphere-host $(DESTDIR)$(PREFIX)/sbin
--	sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/sbin/monkeysphere-host
-+	sed -i 's:__SYSSHAREDIR_PREFIX__:$(DESTDIR):' $(DESTDIR)$(PREFIX)/sbin/monkeysphere-host
- 	install src/monkeysphere-authentication $(DESTDIR)$(PREFIX)/sbin
--	sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/sbin/monkeysphere-authentication
-+	sed -i 's:__SYSSHAREDIR_PREFIX__:$(DESTDIR):' $(DESTDIR)$(PREFIX)/sbin/monkeysphere-authentication
- 	install src/monkeysphere-authentication-keys-for-user $(DESTDIR)$(PREFIX)/share/monkeysphere
- 	install -m 0755 src/share/common $(DESTDIR)$(PREFIX)/share/monkeysphere
- 	install -m 0644 src/share/defaultenv $(DESTDIR)$(PREFIX)/share/monkeysphere
-@@ -59,8 +59,8 @@ install: all installman
- 	ln -sf ../share/monkeysphere/keytrans $(DESTDIR)$(PREFIX)/bin/openpgp2pem
- 	ln -sf ../share/monkeysphere/keytrans $(DESTDIR)$(PREFIX)/bin/openpgp2spki
- 	install -m 0744 src/transitions/* $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions
--	sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions/0.23
--	sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions/0.28
-+	sed -i 's:__SYSSHAREDIR_PREFIX__:$(DESTDIR):' $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions/0.23
-+	sed -i 's:__SYSSHAREDIR_PREFIX__:$(DESTDIR):' $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions/0.28
- 	install -m 0644 src/transitions/README.txt $(DESTDIR)$(PREFIX)/share/monkeysphere/transitions
- 	install -m 0644 src/share/m/* $(DESTDIR)$(PREFIX)/share/monkeysphere/m
- 	install -m 0644 src/share/mh/* $(DESTDIR)$(PREFIX)/share/monkeysphere/mh
-diff -rupN monkeysphere-0.37/src/share/checkperms monkeysphere-0.37-patched/src/share/checkperms
---- monkeysphere-0.37/src/share/checkperms	2014-08-06 19:27:38.000000000 +0200
-+++ monkeysphere-0.37-patched/src/share/checkperms	2015-07-31 19:52:18.170675985 +0200
+diff --git a/Makefile b/Makefile
+--- a/Makefile
++++ b/Makefile
+@@ -52,7 +52,7 @@ clean:
+ replaced/%: %
+ 	mkdir -p $(dir $@)
+ 	sed < $< > $@ \
+-	-e 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' \
++	-e 's:__SYSSHAREDIR_PREFIX__:$(DESTDIR):' \
+ 	-e 's:__SYSCONFDIR_PREFIX__:$(ETCPREFIX):' \
+ 	-e 's:__SYSDATADIR_PREFIX__:$(LOCALSTATEDIR):'
+ 
+diff --git a/src/share/checkperms b/src/share/checkperms
+--- a/src/share/checkperms
++++ b/src/share/checkperms
 @@ -1,4 +1,4 @@
 -#!/usr/bin/perl -T
 +#!/usr/bin/perl
  
  # checkperms: ensure as best we can that a given file can only be
  # modified by the given user (or the superuser, naturally).  This
-diff -rupN monkeysphere-0.37/src/share/keytrans monkeysphere-0.37-patched/src/share/keytrans
---- monkeysphere-0.37/src/share/keytrans	2014-08-06 19:27:38.000000000 +0200
-+++ monkeysphere-0.37-patched/src/share/keytrans	2015-07-31 20:13:36.664514290 +0200
+diff --git a/src/share/keytrans b/src/share/keytrans
+--- a/src/share/keytrans
++++ b/src/share/keytrans
 @@ -1,4 +1,4 @@
 -#!/usr/bin/perl -T
 +#!/usr/bin/perl
  
  # keytrans: this is an RSA key translation utility; it is capable of
  # transforming RSA keys (both public keys and secret keys) between
-@@ -1069,7 +1069,7 @@ sub packetwalk {
- 
- 
- for (basename($0)) {
--  if (/^pem2openpgp$/) {
-+  if (/pem2openpgp/) {
-     my $rsa;
-     my $stdin;
- 
-@@ -1107,7 +1107,7 @@ for (basename($0)) {
- 		      }
- 		     );
-   }
--  elsif (/^openpgp2ssh$/) {
-+  elsif (/openpgp2ssh/) {
-       my $fpr = shift;
-       my $instream;
-       open($instream,'-');
-@@ -1123,7 +1123,7 @@ for (basename($0)) {
- 	die "No matching key found.\n";
-       }
-   }
--  elsif (/^openpgp2pem$/) {
-+  elsif (/openpgp2pem/) {
-       my $fpr = shift;
-       my $instream;
-       open($instream,'-');
-@@ -1139,7 +1139,7 @@ for (basename($0)) {
- 	die "No matching key found.\n";
-       }
-   }
--  elsif (/^openpgp2spki$/) {
-+  elsif (/openpgp2spki/) {
-       my $fpr = shift;
-       my $instream;
-       open($instream,'-');
-@@ -1151,7 +1151,7 @@ for (basename($0)) {
- 	die "No matching key found.\n";
-       }
-   }
--  elsif (/^keytrans$/) {
-+  elsif (/keytrans/) {
-     # subcommands when keytrans is invoked directly are UNSUPPORTED,
-     # UNDOCUMENTED, and WILL NOT BE MAINTAINED.
-     my $subcommand = shift;
+-- 
+2.16.3