summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoel Moberg <joel.moberg@gmail.com>2015-04-01 15:12:40 +0200
committerJoel Moberg <joel.moberg@gmail.com>2015-04-01 18:15:54 +0200
commit243ec61c4f83fb162bbdd62402353c56f6d554be (patch)
treecb217fd2e6bad98f4dd36dde7114650096950da0
parente2bc785fe19834cd907ecd36435518d3f630bca8 (diff)
downloadnixpkgs-243ec61c4f83fb162bbdd62402353c56f6d554be.tar
nixpkgs-243ec61c4f83fb162bbdd62402353c56f6d554be.tar.gz
nixpkgs-243ec61c4f83fb162bbdd62402353c56f6d554be.tar.bz2
nixpkgs-243ec61c4f83fb162bbdd62402353c56f6d554be.tar.lz
nixpkgs-243ec61c4f83fb162bbdd62402353c56f6d554be.tar.xz
nixpkgs-243ec61c4f83fb162bbdd62402353c56f6d554be.tar.zst
nixpkgs-243ec61c4f83fb162bbdd62402353c56f6d554be.zip
i2p: initial
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/tools/networking/i2p/default.nix41
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 44 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 7ec31f0aad3..fcc78723f4b 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -102,6 +102,7 @@
   jirkamarsik = "Jirka Marsik <jiri.marsik89@gmail.com>";
   joachifm = "Joachim Fasting <joachifm@fastmail.fm>";
   joamaki = "Jussi Maki <joamaki@gmail.com>";
+  joelmo = "Joel Moberg <joel.moberg@gmail.com>";
   joelteon = "Joel Taylor <me@joelt.io>";
   jpbernardy = "Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>";
   jwiegley = "John Wiegley <johnw@newartisans.com>";
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
new file mode 100644
index 00000000000..088e8e8de7f
--- /dev/null
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, procps, coreutils, fetchurl, openjdk8, ant, gcj, gettext }:
+
+# TODO: support other systems, just copy appropriate lib/wrapper.. to $out
+assert stdenv.system != "x86_64-linux";
+
+stdenv.mkDerivation rec {
+  name = "i2p-0.9.18";
+  src = fetchurl {
+    url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
+    sha256 = "1hahdzvfh1zqb8qdc59xbjpqm8qq95k2xx22mpnhcdh90lb6xqnl";
+  };
+  buildInputs = [ openjdk8 ant gcj gettext ];
+  buildPhase = ''
+    export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
+    ant preppkg-linux-only
+    '';
+  installPhase = ''
+    set -B
+    mkdir -p $out/{bin,share}
+    cp -r pkg-temp/* $out
+    cp installer/lib/wrapper/linux64/* $out
+    sed -i $out/i2prouter -i $out/runplain.sh \
+      -e "s#%INSTALL_PATH#$out#" \
+      -e "s#/usr/ucb/ps#${procps}/bin/ps#" \
+      -e "s#/usr/bin/tr#${coreutils}/bin/tr#" \
+      -e 's#%USER_HOME#$HOME#' \
+      -e "s#%SYSTEM_java_io_tmpdir#/tmp#"
+    mv $out/runplain.sh $out/bin/i2prouter-plain
+    mv $out/man $out/share/
+    chmod +x $out/bin/* $out/i2psvc
+    rm $out/{osid,postinstall.sh,INSTALL-headless.txt}
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://geti2p.net";
+    description = "Applications and router for I2P, anonymity over the Internet";
+    maintainers = [ stdenv.lib.maintainers.joelmo ];
+    licenses = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4eb921b8442..57eba0ebcd5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1655,6 +1655,8 @@ let
 
   httptunnel = callPackage ../tools/networking/httptunnel { };
 
+  i2p = callPackage ../tools/networking/i2p {};
+
   i2pd = callPackage ../tools/networking/i2pd {};
 
   iasl = callPackage ../development/compilers/iasl { };