about summary refs log tree commit diff
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2024-04-25 17:41:27 +0300
committerGitHub <noreply@github.com>2024-04-25 17:41:27 +0300
commit14fefb3ffd538f26b5971ed6971d174d3d7e69e7 (patch)
tree7396382c1bf772a39ab24e71352497376b746931 /pkgs/by-name
parent204010679128c9462eeb68bf38a932789a226aff (diff)
parent69051936b2c1b3a10faec065dee9da1a7a8db85b (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.nix63
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;
+  };
+}