119 lines
2.3 KiB
Nix
119 lines
2.3 KiB
Nix
{
|
|
stdenv,
|
|
lib,
|
|
fetchurl,
|
|
rpmextract,
|
|
undmg,
|
|
autoPatchelfHook,
|
|
xorg,
|
|
gtk3,
|
|
nss,
|
|
alsa-lib,
|
|
udev,
|
|
libnotify,
|
|
wrapGAppsHook3,
|
|
}:
|
|
|
|
let
|
|
pname = "vk-messenger";
|
|
version = "5.3.2";
|
|
|
|
src =
|
|
{
|
|
i686-linux = fetchurl {
|
|
url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm";
|
|
sha256 = "L0nE0zW4LP8udcE8uPy+cH9lLuQsUSq7cF13Gv7w2rI=";
|
|
};
|
|
x86_64-linux = fetchurl {
|
|
url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm";
|
|
sha256 = "spDw9cfDSlIuCwOqREsqXC19tx62TiAz9fjIS9lYjSQ=";
|
|
};
|
|
x86_64-darwin = fetchurl {
|
|
url = "https://web.archive.org/web/20220302083827/https://desktop.userapi.com/mac/master/vk.dmg";
|
|
sha256 = "hxK8I9sF6njfCxSs1KBCHfnG81JGKUgHKAeFLtuCNe0=";
|
|
};
|
|
}
|
|
.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
|
|
|
meta = with lib; {
|
|
description = "Simple and Convenient Messaging App for VK";
|
|
homepage = "https://vk.com/messenger";
|
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
|
license = licenses.unfree;
|
|
maintainers = [ ];
|
|
platforms = [
|
|
"i686-linux"
|
|
"x86_64-linux"
|
|
"x86_64-darwin"
|
|
];
|
|
};
|
|
|
|
linux = stdenv.mkDerivation {
|
|
inherit
|
|
pname
|
|
version
|
|
src
|
|
meta
|
|
;
|
|
|
|
nativeBuildInputs = [
|
|
rpmextract
|
|
autoPatchelfHook
|
|
wrapGAppsHook3
|
|
];
|
|
buildInputs =
|
|
(with xorg; [
|
|
libXdamage
|
|
libXtst
|
|
libXScrnSaver
|
|
libxkbfile
|
|
])
|
|
++ [
|
|
gtk3
|
|
nss
|
|
alsa-lib
|
|
];
|
|
|
|
runtimeDependencies = [
|
|
(lib.getLib udev)
|
|
libnotify
|
|
];
|
|
|
|
unpackPhase = ''
|
|
rpmextract $src
|
|
'';
|
|
|
|
buildPhase = ''
|
|
substituteInPlace usr/share/applications/vk.desktop \
|
|
--replace /usr/share/pixmaps/vk.png vk
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir $out
|
|
cd usr
|
|
cp -r --parents bin $out
|
|
cp -r --parents share/vk $out
|
|
cp -r --parents share/applications $out
|
|
cp -r --parents share/pixmaps $out
|
|
'';
|
|
};
|
|
|
|
darwin = stdenv.mkDerivation {
|
|
inherit
|
|
pname
|
|
version
|
|
src
|
|
meta
|
|
;
|
|
|
|
nativeBuildInputs = [ undmg ];
|
|
|
|
sourceRoot = ".";
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/Applications
|
|
cp -r *.app $out/Applications
|
|
'';
|
|
};
|
|
in
|
|
if stdenv.hostPlatform.isDarwin then darwin else linux
|