diff options
author | Artturi <Artturin@artturin.com> | 2024-04-25 17:41:27 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-25 17:41:27 +0300 |
commit | 14fefb3ffd538f26b5971ed6971d174d3d7e69e7 (patch) | |
tree | 7396382c1bf772a39ab24e71352497376b746931 /pkgs/by-name | |
parent | 204010679128c9462eeb68bf38a932789a226aff (diff) | |
parent | 69051936b2c1b3a10faec065dee9da1a7a8db85b (diff) |
Merge pull request #300740 from seanybaggins/new-package-iscc
iscc: init at 6.2.2
Diffstat (limited to 'pkgs/by-name')
-rw-r--r-- | pkgs/by-name/is/iscc/package.nix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/by-name/is/iscc/package.nix b/pkgs/by-name/is/iscc/package.nix new file mode 100644 index 0000000000000..1f3472d288ca6 --- /dev/null +++ b/pkgs/by-name/is/iscc/package.nix @@ -0,0 +1,63 @@ +{ stdenv +, fetchurl +, innoextract +, runtimeShell +, wineWow64Packages +, lib +}: + +let + version = "6.2.2"; + majorVersion = builtins.substring 0 1 version; +in +stdenv.mkDerivation rec { + pname = "iscc"; + inherit version; + src = fetchurl { + url = "https://files.jrsoftware.org/is/${majorVersion}/innosetup-${version}.exe"; + hash = "sha256-gRfRDQCirTOhOQl46jhyhhwzDgh5FEEKY3eyLExbhWM="; + }; + nativeBuildInputs = [ + innoextract + wineWow64Packages.stable + ]; + unpackPhase = '' + runHook preUnpack + innoextract $src + runHook postUnpack + ''; + dontBuild = true; + installPhase = '' + runHook preInstall + mkdir -p "$out/bin" + cp -r ./app/* "$out/bin" + + cat << 'EOF' > "$out/bin/${pname}" + #!${runtimeShell} + export PATH=${wineWow64Packages.stable}/bin:$PATH + export WINEDLLOVERRIDES="mscoree=" # disable mono + + # Solves PermissionError: [Errno 13] Permission denied: '/homeless-shelter/.wine' + export HOME=$(mktemp -d) + + wineInputFile=$(${wineWow64Packages.stable}/bin/wine winepath -w $1) + ${wineWow64Packages.stable}/bin/wine "$out/bin/ISCC.exe" "$wineInputFile" + EOF + + substituteInPlace $out/bin/${pname} \ + --replace "\$out" "$out" + + chmod +x "$out/bin/${pname}" + + runHook postInstall + ''; + + + meta = with lib; { + description = "A compiler for Inno Setup, a tool for creating Windows installers"; + homepage = "https://jrsoftware.org/isinfo.php"; + license = licenses.unfreeRedistributable; + maintainers = with maintainers; [ ]; + platforms = wineWow64Packages.stable.meta.platforms; + }; +} |