tor-arm: build recipe improvements
- Fix install of man page - Remove redundant for loop - Access python interpreter via pythonPackages - Remove redundant build inputs (captured via replacement anyway) - Fix install location of sample rc file. For whatever reason, the install script ends up thinking it needs to use tor-arm, so override it - Clarify meta.description
This commit is contained in:
parent
a84799fe8b
commit
3994a236bb
|
@ -1,19 +1,21 @@
|
|||
{ stdenv, fetchurl, python, setuptools, lsof, nettools, makeWrapper
|
||||
, pythonPackages, ncurses }:
|
||||
{ stdenv, fetchurl, makeWrapper
|
||||
, pythonPackages, ncurses, lsof, nettools
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tor-arm-${version}";
|
||||
name = "tor-arm-${version}";
|
||||
version = "1.4.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.atagar.com/arm/resources/static/arm-${version}.tar.bz2";
|
||||
url = "https://www.atagar.com/arm/resources/static/arm-${version}.tar.bz2";
|
||||
sha256 = "1yi87gdglkvi1a23hv5c3k7mc18g0rw7b05lfcw81qyxhlapf3pw";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ python pythonPackages.curses setuptools lsof nettools makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper pythonPackages.python ];
|
||||
|
||||
patchPhase = ''
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./setup.py --replace "/usr/bin" "$out/bin"
|
||||
substituteInPlace ./src/util/connections.py \
|
||||
--replace "lsof -wnPi" "${lsof}/bin/lsof"
|
||||
|
@ -22,28 +24,29 @@ stdenv.mkDerivation rec {
|
|||
--replace "lsof -wnPi" "${lsof}/bin/lsof"
|
||||
|
||||
substituteInPlace ./arm --replace '"$0" = /usr/bin/arm' 'true'
|
||||
substituteInPlace ./arm --replace "python" "${python}/bin/python"
|
||||
substituteInPlace ./arm --replace "python" "${pythonPackages.python}/bin/python"
|
||||
|
||||
for i in ./install ./arm ./src/gui/controller.py ./src/cli/wizard.py ./src/resources/torrcOverride/override.h ./src/resources/torrcOverride/override.py ./src/resources/arm.1 ./setup.py; do
|
||||
substituteInPlace $i --replace "/usr/share" "$out/share"
|
||||
done
|
||||
|
||||
# fixes man page installation
|
||||
substituteInPlace ./setup.py --replace "src/resoureces" "src/resources"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/arm $out/bin $out/libexec
|
||||
python setup.py install --prefix=$out
|
||||
python setup.py install --prefix=$out --docPath $out/share/doc/arm
|
||||
cp -R src/TorCtl $out/libexec
|
||||
|
||||
for i in $(cd $out/bin && ls); do
|
||||
wrapProgram $out/bin/$i \
|
||||
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pythonPackages.curses}):$out/libexec:$PYTHONPATH" \
|
||||
--set TERMINFO "${ncurses.out}/share/terminfo" \
|
||||
--set TERM "xterm"
|
||||
done
|
||||
wrapProgram $out/bin/arm \
|
||||
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pythonPackages.curses}):$out/libexec:$PYTHONPATH" \
|
||||
--set TERMINFO "${ncurses.out}/share/terminfo" \
|
||||
--set TERM "xterm"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Anonymizing relay monitor for Tor";
|
||||
description = "A terminal status monitor for Tor relays";
|
||||
homepage = "https://www.atagar.com/arm/";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
|
|
Loading…
Reference in a new issue