about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--pkgs/development/tools/nsis/default.nix53
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 60 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 9cbee312f428..31af9b5f7884 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3727,6 +3727,11 @@
     github = "polyrod";
     name = "Maurizio Di Pietro";
   };
+  pombeirp = {
+    email = "nix@endgr.33mail.com";
+    github = "PombeirP";
+    name = "Pedro Pombeiro";
+  };
   pradeepchhetri = {
     email = "pradeep.chhetri89@gmail.com";
     github = "pradeepchhetri";
diff --git a/pkgs/development/tools/nsis/default.nix b/pkgs/development/tools/nsis/default.nix
new file mode 100644
index 000000000000..83448cb4b510
--- /dev/null
+++ b/pkgs/development/tools/nsis/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, symlinkJoin, fetchurl, fetchzip, scons, zlib }:
+
+let
+  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib zlib.dev ]; };
+
+in stdenv.mkDerivation rec {
+  name = "nsis-${version}";
+  version = "3.04";
+
+  src =
+    fetchurl {
+      url = "https://vorboss.dl.sourceforge.net/project/nsis/NSIS%203/${version}/nsis-${version}-src.tar.bz2";
+      sha256 = "1xgllk2mk36ll2509hd31mfq6blgncmdzmwxj3ymrwshdh23d5b0";
+    };
+  srcWinDistributable =
+    fetchzip {
+      url = "https://vorboss.dl.sourceforge.net/project/nsis/NSIS%203/${version}/nsis-${version}.zip";
+      sha256 = "1g31vz73x4d3cmsw2wfk43qa06bpqp5815fb5qq9vmwms6hym6y2";
+    };
+
+  nativeBuildInputs = [ scons ];
+  buildInputs = [ zlib ];
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  dontStrip = true;
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/nsis/Contrib $out/share/nsis/Include $out/share/nsis/Plugins $out/share/nsis/Stubs
+    cp -avr ${srcWinDistributable}/Contrib ${srcWinDistributable}/Include ${srcWinDistributable}/Plugins ${srcWinDistributable}/Stubs \
+      $out/share/nsis
+
+    scons \
+      SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all \
+      PATH="$PATH" \
+      APPEND_CPPPATH="${ZLIB_HOME}/include" \
+      APPEND_LIBPATH="${ZLIB_HOME}/lib" \
+      NSIS_CONFIG_CONST_DATA=no \
+      STRIP=no \
+      PREFIX=$out install-compiler
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "NSIS is a free scriptable win32 installer/uninstaller system that doesn't suck and isn't huge";
+    homepage = https://nsis.sourceforge.io/;
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pombeirp ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0a4c5ceec152..1bee5829382c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9343,6 +9343,8 @@ in
 
   mypy = with python3Packages; toPythonApplication mypy;
 
+  nsis = callPackage ../development/tools/nsis { };
+
   ### DEVELOPMENT / LIBRARIES
 
   a52dec = callPackage ../development/libraries/a52dec { };