evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / on / onthespot / package.nix
blobebda24f086969f4ca8fee0982852647e1bff5d82
2   lib,
3   copyDesktopItems,
4   fetchFromGitHub,
5   makeDesktopItem,
6   python3,
7   libsForQt5,
8   ffmpeg,
9 }:
11 python3.pkgs.buildPythonApplication rec {
12   pname = "onthespot";
13   version = "0.5";
14   pyproject = true;
16   src = fetchFromGitHub {
17     owner = "casualsnek";
18     repo = "onthespot";
19     rev = "refs/tags/v${version}";
20     hash = "sha256-VaJBNsT7uNOGY43GnzhUqDQNiPoFZcc2UaIfOKgkufg=";
21   };
23   pythonRemoveDeps = [
24     "PyQt5-Qt5"
25     "PyQt5-stubs"
26     # Doesn't seem to be used in the sources and causes
27     # build issues
28     "PyOgg"
29   ];
31   pythonRelaxDeps = true;
33   nativeBuildInputs = with python3.pkgs; [
34     copyDesktopItems
35     libsForQt5.wrapQtAppsHook
36   ];
38   dependencies = with python3.pkgs; [
39     async-timeout
40     charset-normalizer
41     defusedxml
42     ffmpeg
43     librespot
44     music-tag
45     packaging
46     pillow
47     protobuf
48     pyqt5
49     pyqt5-sip
50     pyxdg
51     requests
52     setuptools
53     show-in-file-manager
54     urllib3
55     zeroconf
56   ];
58   postInstall = ''
59     install -Dm444 $src/src/onthespot/resources/icon.png $out/share/icons/hicolor/256x256/apps/onthespot.png
60   '';
62   preFixup = ''
63     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
64   '';
66   desktopItems = [
67     (makeDesktopItem {
68       name = "Onthespot";
69       exec = "onthespot_gui";
70       icon = "onthespot";
71       desktopName = "Onthespot";
72       comment = meta.description;
73       categories = [ "Audio" ];
74     })
75   ];
77   meta = {
78     description = "QT based Spotify music downloader written in Python";
79     homepage = "https://github.com/casualsnek/onthespot";
80     changelog = "https://github.com/casualsnek/onthespot/releases/tag/v${version}";
81     license = lib.licenses.gpl2Only;
82     maintainers = with lib.maintainers; [ onny ];
83     platforms = lib.platforms.linux;
84     mainProgram = "onthespot_gui";
85   };