Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / video / hypnotix / default.nix
blob74d2389fce7b8c0d5244bcbf5a6cb3c5217ea7b6
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , substituteAll
5 , cinnamon
6 , circle-flags
7 , gettext
8 , gobject-introspection
9 , mpv
10 , python3
11 , wrapGAppsHook
14 stdenv.mkDerivation rec {
15   pname = "hypnotix";
16   version = "3.7";
18   src = fetchFromGitHub {
19     owner = "linuxmint";
20     repo = "hypnotix";
21     rev = version;
22     hash = "sha256-H8+KJ9+HLAorGIeljw8H3N8W3E2yYhAno1xy+jI54zM=";
23   };
25   patches = [
26     (substituteAll {
27       src = ./libmpv-path.patch;
28       libmpv = "${lib.getLib mpv}/lib/libmpv${stdenv.hostPlatform.extensions.sharedLibrary}";
29     })
30   ];
32   postPatch = ''
33     substituteInPlace usr/lib/hypnotix/hypnotix.py \
34       --replace __DEB_VERSION__ ${version} \
35       --replace /usr/share/circle-flags-svg ${circle-flags}/share/circle-flags-svg \
36       --replace /usr/share/hypnotix $out/share/hypnotix
37   '';
39   nativeBuildInputs = [
40     gettext
41     gobject-introspection
42     python3.pkgs.wrapPython
43     wrapGAppsHook
44   ];
46   dontWrapGApps = true;
48   buildInputs = [
49     cinnamon.xapp
50   ];
52   pythonPath = with python3.pkgs; [
53     cinemagoer
54     pygobject3
55     requests
56     setproctitle
57     unidecode
58     xapp
59   ];
61   installPhase = ''
62     runHook preInstall
64     mkdir -p $out
65     cp -r usr/lib $out
66     cp -r usr/share $out
68     glib-compile-schemas $out/share/glib-2.0/schemas
70     runHook postInstall
71   '';
73   preFixup = ''
74     buildPythonPath "$out $pythonPath"
75     makeWrapper ${python3.interpreter} $out/bin/hypnotix \
76       --add-flags $out/lib/hypnotix/hypnotix.py \
77       --prefix PYTHONPATH : "$program_PYTHONPATH" \
78       ''${gappsWrapperArgs[@]}
79   '';
81   meta = {
82     description = "IPTV streaming application";
83     homepage = "https://github.com/linuxmint/hypnotix";
84     changelog = "https://github.com/linuxmint/hypnotix/blob/${src.rev}/debian/changelog";
85     license = lib.licenses.gpl3Plus;
86     maintainers = with lib.maintainers; [ dotlambda bobby285271 ];
87     platforms = lib.platforms.linux;
88   };