From f875b1c6f2a98d205a2d38b15f639da1e49725ba Mon Sep 17 00:00:00 2001 From: Pedro Pombeiro Date: Wed, 6 Mar 2019 22:21:08 +0100 Subject: [PATCH 1/5] nsis: init at 3.04 --- maintainers/maintainer-list.nix | 5 +++ pkgs/development/tools/nsis/default.nix | 53 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 60 insertions(+) create mode 100644 pkgs/development/tools/nsis/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9cbee312f42..31af9b5f788 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 00000000000..83448cb4b51 --- /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 0a4c5ceec15..1bee5829382 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 { }; From dc04edc6aeee37d135acc1e7493b316508b28032 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Thu, 14 Mar 2019 12:53:36 -0400 Subject: [PATCH 2/5] nsis: refactor to use scons setup-hook --- pkgs/development/tools/nsis/default.nix | 42 ++++++++++++++----------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/pkgs/development/tools/nsis/default.nix b/pkgs/development/tools/nsis/default.nix index 83448cb4b51..ef097c84d8a 100644 --- a/pkgs/development/tools/nsis/default.nix +++ b/pkgs/development/tools/nsis/default.nix @@ -18,30 +18,34 @@ in stdenv.mkDerivation rec { sha256 = "1g31vz73x4d3cmsw2wfk43qa06bpqp5815fb5qq9vmwms6hym6y2"; }; + postUnpack = '' + mkdir -p $out/share/nsis + cp -avr ${srcWinDistributable}/{Contrib,Include,Plugins,Stubs} \ + $out/share/nsis + ''; + nativeBuildInputs = [ scons ]; buildInputs = [ zlib ]; - phases = [ "unpackPhase" "installPhase" ]; + sconsFlags = [ + "SKIPSTUBS=all" + "SKIPPLUGINS=all" + "SKIPUTILS=all" + "SKIPMISC=all" + "APPEND_CPPPATH=${ZLIB_HOME}/include" + "APPEND_LIBPATH=${ZLIB_HOME}/lib" + "NSIS_CONFIG_CONST_DATA=no" + "STRIP=no" + ]; + + preBuild = '' + sconsFlagsArray+=("PATH=$PATH") + ''; + + prefixKey = "PREFIX="; + installTargets = "install-compiler"; 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"; From f929120b1b6226d4baaa6e4836e1a429d9a74470 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Thu, 14 Mar 2019 12:56:03 -0400 Subject: [PATCH 3/5] nsis: don't disable stripping --- pkgs/development/tools/nsis/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/tools/nsis/default.nix b/pkgs/development/tools/nsis/default.nix index ef097c84d8a..ea2fa073e07 100644 --- a/pkgs/development/tools/nsis/default.nix +++ b/pkgs/development/tools/nsis/default.nix @@ -35,7 +35,6 @@ in stdenv.mkDerivation rec { "APPEND_CPPPATH=${ZLIB_HOME}/include" "APPEND_LIBPATH=${ZLIB_HOME}/lib" "NSIS_CONFIG_CONST_DATA=no" - "STRIP=no" ]; preBuild = '' @@ -45,8 +44,6 @@ in stdenv.mkDerivation rec { prefixKey = "PREFIX="; installTargets = "install-compiler"; - dontStrip = true; - 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/; From ec4bdc860ebf020983d8eb5e8be8a05ed0a7c52b Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Thu, 14 Mar 2019 12:59:21 -0400 Subject: [PATCH 4/5] nsis: use zlib outputs directly --- pkgs/development/tools/nsis/default.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/development/tools/nsis/default.nix b/pkgs/development/tools/nsis/default.nix index ea2fa073e07..f839223f729 100644 --- a/pkgs/development/tools/nsis/default.nix +++ b/pkgs/development/tools/nsis/default.nix @@ -1,9 +1,6 @@ -{ stdenv, symlinkJoin, fetchurl, fetchzip, scons, zlib }: +{ stdenv, fetchurl, fetchzip, scons, zlib }: -let - ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib zlib.dev ]; }; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "nsis-${version}"; version = "3.04"; @@ -32,8 +29,8 @@ in stdenv.mkDerivation rec { "SKIPPLUGINS=all" "SKIPUTILS=all" "SKIPMISC=all" - "APPEND_CPPPATH=${ZLIB_HOME}/include" - "APPEND_LIBPATH=${ZLIB_HOME}/lib" + "APPEND_CPPPATH=${zlib.dev}/include" + "APPEND_LIBPATH=${zlib}/lib" "NSIS_CONFIG_CONST_DATA=no" ]; From ab9f31114b3c1351d6555fffc35bc9c9a10e48de Mon Sep 17 00:00:00 2001 From: Pedro Pombeiro Date: Thu, 14 Mar 2019 20:32:53 +0100 Subject: [PATCH 5/5] nsis: use sourceforge mirrors --- pkgs/development/tools/nsis/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/nsis/default.nix b/pkgs/development/tools/nsis/default.nix index f839223f729..7117d7dd628 100644 --- a/pkgs/development/tools/nsis/default.nix +++ b/pkgs/development/tools/nsis/default.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation rec { src = fetchurl { - url = "https://vorboss.dl.sourceforge.net/project/nsis/NSIS%203/${version}/nsis-${version}-src.tar.bz2"; + url = "mirror://sourceforge/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"; + url = "mirror://sourceforge/project/nsis/NSIS%203/${version}/nsis-${version}.zip"; sha256 = "1g31vz73x4d3cmsw2wfk43qa06bpqp5815fb5qq9vmwms6hym6y2"; };