nixpkgs/pkgs/tools/networking/i2p/default.nix

83 lines
2.3 KiB
Nix
Raw Normal View History

{ stdenv, ps, coreutils, fetchurl, jdk, jre, ant, gettext, which }:
2015-04-01 16:12:40 +03:00
let wrapper = stdenv.mkDerivation rec {
2019-08-28 20:01:35 +03:00
pname = "wrapper";
version = "3.5.35";
2019-08-28 20:01:35 +03:00
src = fetchurl {
url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
sha256 = "0mjyw9ays9v6lnj21pmfd3qdvd9b6rwxfmw3pg6z0kyf2jadixw2";
};
2019-08-28 20:01:35 +03:00
buildInputs = [ jdk ];
2019-08-28 20:01:35 +03:00
buildPhase = ''
export ANT_HOME=${ant}
export JAVA_HOME=${jdk}/lib/openjdk/jre/
export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
sed 's/ testsuite$//' -i src/c/Makefile-linux-x86-64.make
${if stdenv.isi686 then "./build32.sh" else "./build64.sh"}
'';
2019-08-28 20:01:35 +03:00
installPhase = ''
mkdir -p $out/{bin,lib}
cp bin/wrapper $out/bin/wrapper
cp lib/wrapper.jar $out/lib/wrapper.jar
cp lib/libwrapper.so $out/lib/libwrapper.so
'';
};
in
2015-04-01 16:12:40 +03:00
stdenv.mkDerivation rec {
2019-08-28 20:01:35 +03:00
pname = "i2p";
version = "0.9.42";
2015-04-01 16:12:40 +03:00
src = fetchurl {
2019-08-28 20:01:35 +03:00
url = "https://download.i2p2.de/releases/${version}/i2psource_${version}.tar.bz2";
sha256 = "04y71hzkdpjzbac569rhyg1zfx37j0alggbl9gnkaqfbprb2nj1h";
2015-04-01 16:12:40 +03:00
};
2019-08-28 20:01:35 +03:00
buildInputs = [ jdk ant gettext which ];
2015-07-22 03:33:35 +03:00
patches = [ ./i2p.patch ];
2019-08-28 20:01:35 +03:00
2015-04-01 16:12:40 +03:00
buildPhase = ''
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
ant preppkg-linux-only
2019-08-28 20:01:35 +03:00
'';
2015-04-01 16:12:40 +03:00
installPhase = ''
set -B
mkdir -p $out/{bin,share}
cp -r pkg-temp/* $out
2017-06-16 08:59:04 +03:00
cp ${wrapper}/bin/wrapper $out/i2psvc
cp ${wrapper}/lib/wrapper.jar $out/lib
cp ${wrapper}/lib/libwrapper.so $out/lib
2017-06-16 08:59:04 +03:00
2015-04-01 16:12:40 +03:00
sed -i $out/i2prouter -i $out/runplain.sh \
2015-07-22 03:33:35 +03:00
-e "s#uname#${coreutils}/bin/uname#" \
-e "s#which#${which}/bin/which#" \
-e "s#%gettext%#${gettext}/bin/gettext#" \
-e "s#/usr/ucb/ps#${ps}/bin/ps#" \
2015-04-01 16:12:40 +03:00
-e "s#/usr/bin/tr#${coreutils}/bin/tr#" \
2015-07-22 03:33:35 +03:00
-e "s#%INSTALL_PATH#$out#" \
2015-04-01 16:12:40 +03:00
-e 's#%USER_HOME#$HOME#' \
2015-04-15 13:59:25 +03:00
-e "s#%SYSTEM_java_io_tmpdir#/tmp#" \
2015-07-22 03:33:35 +03:00
-e "s#%JAVA%#${jre}/bin/java#"
2015-04-01 16:12:40 +03:00
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}
2019-08-28 20:01:35 +03:00
'';
2015-04-01 16:12:40 +03:00
meta = with stdenv.lib; {
description = "Applications and router for I2P, anonymity over the Internet";
2019-08-28 20:01:35 +03:00
homepage = "https://geti2p.net";
2015-04-21 19:05:19 +03:00
license = licenses.gpl2;
2017-06-16 08:59:04 +03:00
platforms = [ "x86_64-linux" "i686-linux" ];
2019-08-28 20:01:35 +03:00
maintainers = [ maintainers.joelmo ];
2015-04-01 16:12:40 +03:00
};
}