diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 7ec31f0aad3d..fcc78723f4b3 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -102,6 +102,7 @@ jirkamarsik = "Jirka Marsik "; joachifm = "Joachim Fasting "; joamaki = "Jussi Maki "; + joelmo = "Joel Moberg "; joelteon = "Joel Taylor "; jpbernardy = "Jean-Philippe Bernardy "; jwiegley = "John Wiegley "; diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix new file mode 100644 index 000000000000..088e8e8de7fa --- /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 4eb921b84429..57eba0ebcd56 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 { };