vifm: 0.13 -> 0.14 (#380559)
[NixPkgs.git] / pkgs / by-name / vk / vk-messenger / package.nix
blobc63aaf1527e3fbf7200e7c37591fb18005ce5660
2   stdenv,
3   lib,
4   fetchurl,
5   rpmextract,
6   undmg,
7   autoPatchelfHook,
8   xorg,
9   gtk3,
10   nss,
11   alsa-lib,
12   udev,
13   libnotify,
14   wrapGAppsHook3,
17 let
18   pname = "vk-messenger";
19   version = "5.3.2";
21   src =
22     {
23       i686-linux = fetchurl {
24         url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm";
25         sha256 = "L0nE0zW4LP8udcE8uPy+cH9lLuQsUSq7cF13Gv7w2rI=";
26       };
27       x86_64-linux = fetchurl {
28         url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm";
29         sha256 = "spDw9cfDSlIuCwOqREsqXC19tx62TiAz9fjIS9lYjSQ=";
30       };
31       x86_64-darwin = fetchurl {
32         url = "https://web.archive.org/web/20220302083827/https://desktop.userapi.com/mac/master/vk.dmg";
33         sha256 = "hxK8I9sF6njfCxSs1KBCHfnG81JGKUgHKAeFLtuCNe0=";
34       };
35     }
36     .${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
38   meta = with lib; {
39     description = "Simple and Convenient Messaging App for VK";
40     homepage = "https://vk.com/messenger";
41     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
42     license = licenses.unfree;
43     maintainers = [ ];
44     platforms = [
45       "i686-linux"
46       "x86_64-linux"
47       "x86_64-darwin"
48     ];
49   };
51   linux = stdenv.mkDerivation {
52     inherit
53       pname
54       version
55       src
56       meta
57       ;
59     nativeBuildInputs = [
60       rpmextract
61       autoPatchelfHook
62       wrapGAppsHook3
63     ];
64     buildInputs =
65       (with xorg; [
66         libXdamage
67         libXtst
68         libXScrnSaver
69         libxkbfile
70       ])
71       ++ [
72         gtk3
73         nss
74         alsa-lib
75       ];
77     runtimeDependencies = [
78       (lib.getLib udev)
79       libnotify
80     ];
82     unpackPhase = ''
83       rpmextract $src
84     '';
86     buildPhase = ''
87       substituteInPlace usr/share/applications/vk.desktop \
88         --replace /usr/share/pixmaps/vk.png vk
89     '';
91     installPhase = ''
92       mkdir $out
93       cd usr
94       cp -r --parents bin $out
95       cp -r --parents share/vk $out
96       cp -r --parents share/applications $out
97       cp -r --parents share/pixmaps $out
98     '';
99   };
101   darwin = stdenv.mkDerivation {
102     inherit
103       pname
104       version
105       src
106       meta
107       ;
109     nativeBuildInputs = [ undmg ];
111     sourceRoot = ".";
113     installPhase = ''
114       mkdir -p $out/Applications
115       cp -r *.app $out/Applications
116     '';
117   };
119 if stdenv.hostPlatform.isDarwin then darwin else linux