{ stdenv, # fetchTarball, buildFHSEnv, lib, makeDesktopItem, copyDesktopItems, }: let dist = stdenv.mkDerivation (final: { pname = "ens-intel-unite-dist"; version = "4.2.0.38"; src = fetchTarball { # url = "https://unite.ens-paris-saclay.fr/Intel_Unite_Linux_Manual_Install_${final.version}-amd64.tar.bz2"; url = "file:///home/lyes/Téléchargements/Intel_Unite_Linux_Manual_Install_${final.version}-amd64.tar.bz2"; sha256 = "0nm77yzdsgy882s32si4rywaqh0kjc9g14x384kar1pcrp1lb0km"; }; installPhase = '' mkdir -p $out/opt mv * $out/opt/ ''; dontFixup = true; }); fhs = buildFHSEnv { name = "ens-intel-unite-fhs"; runScript = "${dist}/opt/intel-unite-client"; targetPkgs = pkgs: (with pkgs; [ wayland nwjs glib nss nspr cups dbus expat libxkbcommon cairo pango at-spi2-atk libdrm mesa alsa-lib ]) ++ (with pkgs.xorg; [ libxcb libX11 libXcomposite libXdamage libXext libXfixes libXrandr ]); }; in stdenv.mkDerivation { pname = "ens-intel-unite"; inherit (dist) version; dontUnpack = true; nativeBuildInputs = [ copyDesktopItems ]; postInstall = '' mkdir -p $out/bin $out/share ln -s ${fhs}/bin/ens-intel-unite-fhs $out/bin/intel-unite ''; desktopItems = [ (makeDesktopItem { name = "ens-intel-unite"; exec = "${fhs}/bin/ens-intel-unite-fhs"; desktopName = "Intel Unite"; genericName = "ENS Paris-Saclay's Intel Unite"; icon = "${dist}/opt/icon128.png"; categories = [ "Network" "VideoConference" ]; terminal = false; startupNotify = true; }) ]; meta = with lib; { mainProgram = "intel-unite"; description = "ENS Paris-Saclay's Intel Unite client packaged for NixOS"; homepage = "https://unite.ens-paris-saclay.fr/"; platforms = [ "x86_64-linux" ]; license = licenses.unfree; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; }