67ad63c82d
This will pick the `lib` output if it exists, otherwise default to `out`.
69 lines
1.7 KiB
Nix
69 lines
1.7 KiB
Nix
{ alsaLib, autoPatchelfHook, fetchurl, gtk3, libnotify
|
|
, makeDesktopItem, makeWrapper, nss, stdenv, udev, xdg_utils
|
|
, xorg
|
|
}:
|
|
|
|
with stdenv.lib;
|
|
|
|
let
|
|
bits = "x86_64";
|
|
|
|
version = "4.11.3";
|
|
|
|
desktopItem = makeDesktopItem rec {
|
|
name = "Wavebox";
|
|
exec = "wavebox";
|
|
icon = "wavebox";
|
|
desktopName = name;
|
|
genericName = name;
|
|
categories = "Network;";
|
|
};
|
|
|
|
tarball = "Wavebox_${replaceStrings ["."] ["_"] (toString version)}_linux_${bits}.tar.gz";
|
|
|
|
in stdenv.mkDerivation {
|
|
pname = "wavebox";
|
|
inherit version;
|
|
src = fetchurl {
|
|
url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}";
|
|
sha256 = "0z04071lq9bfyrlg034fmvd4346swgfhxbmsnl12m7c2m2b9z784";
|
|
};
|
|
|
|
# don't remove runtime deps
|
|
dontPatchELF = true;
|
|
|
|
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
|
|
|
buildInputs = with xorg; [
|
|
libXdmcp libXScrnSaver libXtst
|
|
] ++ [
|
|
alsaLib gtk3 nss
|
|
];
|
|
|
|
runtimeDependencies = [ (getLib udev) libnotify ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin $out/opt/wavebox
|
|
cp -r * $out/opt/wavebox
|
|
|
|
# provide desktop item and icon
|
|
mkdir -p $out/share/applications $out/share/pixmaps
|
|
ln -s ${desktopItem}/share/applications/* $out/share/applications
|
|
ln -s $out/opt/wavebox/Wavebox-linux-x64/wavebox_icon.png $out/share/pixmaps/wavebox.png
|
|
'';
|
|
|
|
postFixup = ''
|
|
makeWrapper $out/opt/wavebox/Wavebox $out/bin/wavebox \
|
|
--prefix PATH : ${xdg_utils}/bin
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Wavebox messaging application";
|
|
homepage = "https://wavebox.io";
|
|
license = licenses.mpl20;
|
|
maintainers = with maintainers; [ rawkode ];
|
|
platforms = ["x86_64-linux"];
|
|
hydraPlatforms = [];
|
|
};
|
|
}
|