{ stdenv, makeWrapper, makeDesktopItem, copyDesktopItems, wine, src, }: stdenv.mkDerivation { pname = "codesys2"; version = "2.3.8.1"; inherit src; sourceRoot = "."; nativeBuildInputs = [ makeWrapper copyDesktopItems ]; desktopItems = [ (makeDesktopItem { name = "codesys2"; desktopName = "CoDeSys 2"; genericName = "PLC Programming"; exec = "codesys2"; categories = [ "Development" ]; startupWMClass = "codesys.exe"; }) ]; installPhase = '' runHook preInstall app=$out/share/codesys2 install -d $app cp -r . $app/ makeWrapper ${wine}/bin/wine $out/bin/codesys2 \ --add-flags "$app/Codesys.exe" runHook postInstall ''; meta.mainProgram = "codesys2"; }