nixpkgs/pkgs/applications/networking/p2p/deluge/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

105 lines
2.4 KiB
Nix

{ lib
, fetchurl
, intltool
, libtorrent-rasterbar
, python3Packages
, gtk3
, glib
, gobject-introspection
, librsvg
, wrapGAppsHook
}:
let
inherit (lib) optionals;
pypkgs = python3Packages;
generic = { pname, withGUI }:
pypkgs.buildPythonPackage rec {
inherit pname;
version = "2.1.1";
src = fetchurl {
url = "http://download.deluge-torrent.org/source/${lib.versions.majorMinor version}/deluge-${version}.tar.xz";
hash = "sha256-do3TGYAuQkN6s3lOvnW0lxQuCO1bD7JQO61izvRC3/c=";
};
propagatedBuildInputs = with pypkgs; [
twisted
Mako
chardet
pyxdg
pyopenssl
service-identity
libtorrent-rasterbar.dev
libtorrent-rasterbar.python
setuptools
setproctitle
pillow
rencode
six
zope_interface
dbus-python
pycairo
librsvg
] ++ optionals withGUI [
gtk3
gobject-introspection
pygobject3
];
nativeBuildInputs = [
intltool
glib
] ++ optionals withGUI [
gobject-introspection
wrapGAppsHook
];
nativeCheckInputs = with pypkgs; [
pytestCheckHook
pytest-twisted
pytest-cov
mock
mccabe
pylint
];
doCheck = false; # tests are not working at all
postInstall = ''
install -Dm444 -t $out/lib/systemd/system packaging/systemd/*.service
'' + (if withGUI
then ''
mkdir -p $out/share
cp -R deluge/ui/data/{icons,pixmaps} $out/share/
install -Dm444 -t $out/share/applications deluge/ui/data/share/applications/deluge.desktop
'' else ''
rm -r $out/bin/deluge-gtk
rm -r $out/lib/${python3Packages.python.libPrefix}/site-packages/deluge/ui/gtk3
rm -r $out/share/{icons,man/man1/deluge-gtk*,pixmaps}
'');
postFixup = ''
for f in $out/lib/systemd/system/*; do
substituteInPlace $f --replace /usr/bin $out/bin
done
'';
meta = with lib; {
description = "Torrent client";
homepage = "https://deluge-torrent.org";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ domenkozar ebzzry ];
platforms = platforms.all;
};
};
in
rec {
deluge-gtk = generic { pname = "deluge-gtk"; withGUI = true; };
deluged = generic { pname = "deluged"; withGUI = false; };
deluge = deluge-gtk;
}