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

57 lines
1.8 KiB
Nix
Raw Normal View History

{ stdenv, procps, coreutils, fetchurl, jdk, jre, ant, gettext, which }:
2015-04-01 13:12:40 +00:00
stdenv.mkDerivation rec {
2017-06-16 11:13:52 +00:00
name = "i2p-0.9.30";
2015-04-01 13:12:40 +00:00
src = fetchurl {
url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
2017-06-16 11:13:52 +00:00
sha256 = "03hrirmah3ba9ygql487jy233nsxkfjyz82mmyppazi0mcgiass1";
2015-04-01 13:12:40 +00:00
};
buildInputs = [ jdk ant gettext which ];
2015-07-22 00:33:35 +00:00
patches = [ ./i2p.patch ];
2015-04-01 13:12:40 +00:00
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
2017-06-16 05:59:04 +00:00
'' +
# TODO: Compile wrapper ourselves, see https://geti2p.net/en/misc/manual-wrapper
(if stdenv.system == "i686-linux"
then ''
cp installer/lib/wrapper/linux/* $out
'' else ''
cp installer/lib/wrapper/linux64/* $out
'')
# */ # comment end for vim
+ ''
2015-04-01 13:12:40 +00:00
sed -i $out/i2prouter -i $out/runplain.sh \
2015-07-22 00:33:35 +00:00
-e "s#uname#${coreutils}/bin/uname#" \
-e "s#which#${which}/bin/which#" \
-e "s#%gettext%#${gettext}/bin/gettext#" \
2015-04-01 13:12:40 +00:00
-e "s#/usr/ucb/ps#${procps}/bin/ps#" \
-e "s#/usr/bin/tr#${coreutils}/bin/tr#" \
2015-07-22 00:33:35 +00:00
-e "s#%INSTALL_PATH#$out#" \
2015-04-01 13:12:40 +00:00
-e 's#%USER_HOME#$HOME#' \
2015-04-15 10:59:25 +00:00
-e "s#%SYSTEM_java_io_tmpdir#/tmp#" \
2015-07-22 00:33:35 +00:00
-e "s#%JAVA%#${jre}/bin/java#"
2015-04-01 13:12:40 +00: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}
'';
meta = with stdenv.lib; {
homepage = https://geti2p.net;
2015-04-01 13:12:40 +00:00
description = "Applications and router for I2P, anonymity over the Internet";
maintainers = [ maintainers.joelmo ];
2015-04-21 16:05:19 +00:00
license = licenses.gpl2;
2015-04-15 10:38:17 +00:00
# TODO: support other systems, just copy appropriate lib/wrapper.. to $out
2017-06-16 05:59:04 +00:00
platforms = [ "x86_64-linux" "i686-linux" ];
2015-04-01 13:12:40 +00:00
};
}