nixpkgs/pkgs/applications/networking/p2p/tremc/default.nix
2022-09-19 16:06:09 +02:00

61 lines
1.4 KiB
Nix

{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages
, x11Support ? !stdenv.isDarwin
, xclip ? null
, pbcopy ? null
, useGeoIP ? false # Require /var/lib/geoip-databases/GeoIP.dat
}:
let
wrapperPath = with lib; makeBinPath (
optional x11Support xclip ++
optional stdenv.isDarwin pbcopy
);
in
python3Packages.buildPythonApplication rec {
pname = "tremc";
version = "0.9.2";
format = "other";
src = fetchFromGitHub {
owner = "tremc";
repo = pname;
rev = version;
sha256 = "1fqspp2ckafplahgba54xmx0sjidx1pdzyjaqjhz0ivh98dkx2n5";
};
patches = [
# Remove when version >0.9.2 is released
(fetchpatch {
url = "https://github.com/tremc/tremc/commit/bdffff2bd76186a4e3488b83f719fc7f7e3362b6.patch";
sha256 = "1zip2skh22v0yyv2hmszxn5jshp9m1jpw0fsyfvmqfxzq7m3czy5";
name = "replace-decodestring-with-decodebytes.patch";
})
];
buildInputs = with python3Packages; [
python
wrapPython
];
pythonPath = with python3Packages; [
ipy
pyperclip
] ++
lib.optional useGeoIP GeoIP;
dontBuild = true;
doCheck = false;
makeWrapperArgs = ["--prefix PATH : ${lib.escapeShellArg wrapperPath}"];
installPhase = ''
make DESTDIR=$out install
wrapPythonPrograms
'';
meta = with lib; {
description = "Curses interface for transmission";
homepage = "https://github.com/tremc/tremc";
license = licenses.gpl3Plus;
};
}