nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchPypi,
4 nixosTests,
5 python3,
6}:
7
8python3.pkgs.buildPythonApplication rec {
9 version = "0.5.0b3.dev88";
10 pname = "pyload-ng";
11 pyproject = true;
12
13 src = fetchPypi {
14 inherit version;
15 # The uploaded tarball uses an underscore in recent releases
16 pname = "pyload_ng";
17 hash = "sha256-6YVYXiYxUkpQmDG/aGEgBlJy2oUGCNDkIsUt0TRcaro=";
18 };
19
20 patches = [
21 # Makes it possible to change the default username/password in the module
22 ./declarative-default-user.patch
23 # Makes it possible to change the configuration through environment variables
24 # in the NixOS module (aimed mostly at listen address/port)
25 ./declarative-env-config.patch
26 ];
27
28 postPatch = ''
29 # relax version bounds
30 sed -i -E 's/([A-z0-9]*)~=[^;]*(.*)/\1\2/' setup.cfg
31 '';
32
33 dependencies = with python3.pkgs; [
34 bitmath
35 certifi
36 cheroot
37 cryptography
38 dukpy
39 filetype
40 flask
41 flask-babel
42 flask-caching
43 flask-compress
44 flask-session
45 flask-themes2
46 pycurl
47 semver
48 setuptools
49 ];
50
51 optional-dependencies = {
52 plugins = with python3.pkgs; [
53 beautifulsoup4 # for some plugins
54 colorlog # colorful console logging
55 pillow # for some CAPTCHA plugin
56 send2trash # send some files to trash instead of deleting them
57 slixmpp # XMPP plugin
58 ];
59 };
60
61 passthru.tests = {
62 inherit (nixosTests) pyload;
63 };
64
65 meta = {
66 description = "Free and open-source download manager with support for 1-click-hosting sites";
67 homepage = "https://github.com/pyload/pyload";
68 license = lib.licenses.agpl3Plus;
69 maintainers = with lib.maintainers; [ ruby0b ];
70 mainProgram = "pyload";
71 };
72}