lol
1{
2 lib,
3 qt6,
4 python3,
5 fetchFromGitHub,
6 ffmpeg,
7 pkg-config,
8 meson,
9 ninja,
10}:
11python3.pkgs.buildPythonApplication rec {
12 pname = "persepolis";
13 version = "5.2.0";
14 format = "other";
15
16 src = fetchFromGitHub {
17 owner = "persepolisdm";
18 repo = "persepolis";
19 tag = version;
20 hash = "sha256-E295Y76EmG6H1nwu7d4+OVPRtoCthROqYY5sIsBvUPI=";
21 };
22
23 # prevent double wrapping
24 dontWrapQtApps = true;
25 nativeBuildInputs = [
26 meson
27 ninja
28 pkg-config
29 qt6.wrapQtAppsHook
30 qt6.qtbase
31 ];
32
33 # feed args to wrapPythonApp
34 makeWrapperArgs = [
35 "--prefix PATH : ${
36 lib.makeBinPath [
37 ffmpeg
38 ]
39 }"
40 "\${qtWrapperArgs[@]}"
41 ];
42
43 propagatedBuildInputs = [
44 (with python3.pkgs; [
45 psutil
46 pyside6
47 pysocks
48 urllib3
49 dasbus
50 requests
51 setproctitle
52 setuptools
53 yt-dlp
54 ])
55 ];
56
57 meta = with lib; {
58 description = "Download manager GUI written in Python";
59 mainProgram = "persepolis";
60 homepage = "https://persepolisdm.github.io/";
61 license = licenses.gpl3Plus;
62 maintainers = with maintainers; [
63 iFreilicht
64 L0L1P0P
65 ];
66 };
67}