{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, makeDesktopItem }: { name, src, binary-basename, ... }: stdenv.mkDerivation rec { inherit name src binary-basename; pharo-share = import ./share.nix { inherit stdenv fetchurl unzip; }; desktopItem = makeDesktopItem { inherit name; desktopName = "Pharo VM"; genericName = "Pharo Virtual Machine"; exec = "${binary-basename}-x %F"; icon = "pharo"; terminal = "false"; type="Application"; startupNotify = "false"; categories = "Development;"; mimeType = "application/x-pharo-image"; }; hardeningDisable = [ "format" ]; # Building preConfigure = '' cd build/ ''; resources = ./resources; installPhase = '' mkdir -p "$prefix/lib/$name" cd ../../results mv vm-display-null vm-display-null.so mv vm-display-X11 vm-display-X11.so mv vm-sound-null vm-sound-null.so mv vm-sound-ALSA vm-sound-ALSA.so mv pharo pharo-vm cp * "$prefix/lib/$name" mkdir -p "$prefix/share/applications" cp "${desktopItem}/share/applications/"* $prefix/share/applications mkdir $prefix/bin chmod u+w $prefix/bin cat > $prefix/bin/${binary-basename}-x < $prefix/bin/${binary-basename}-nox <