Package Details: nsis 3.08-1

Git Clone URL: (read-only, click to copy)
Package Base: nsis
Description: A professional open source system to create Windows installers
Upstream URL:
Licenses: custom:zlib
Submitter: None
Maintainer: xantares
Last Packager: xantares
Votes: 39
Popularity: 0.010235
First Submitted: 2006-10-28 14:40 (UTC)
Last Updated: 2021-10-05 18:42 (UTC)

Latest Comments

CyberShadow commented on 2021-08-22 10:23 (UTC)

Please do not pipe curl into patch. Instead, include the patch in the repository and add it to source (and sha256sums).

exuvo commented on 2021-08-04 18:26 (UTC) (edited on 2021-08-04 18:30 (UTC) by exuvo)

This does not build for me:

AttributeError: 'SConsEnvironment' object has no attribute 'has_key':
  File "/home/build/.cache/yay/nsis/src/nsis-3.06.1-src/SConstruct", line 765:
    defenv.SConscript(dirs = srcpath, variant_dir = vdir, duplicate = False, exports = exports)
  File "/usr/lib/python3.9/site-packages/SCons/Script/", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/usr/lib/python3.9/site-packages/SCons/Script/", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "/home/build/.cache/yay/nsis/src/nsis-3.06.1-src/Contrib/ExDLL/SConscript", line 59:
    if env.has_key('PREFIX_PLUGINAPI_LIB'):

From what i can gather from they removed that function in favor of something else (which they left unspecified).

For now i used an older scons 4.1.0 from which builds.

lazka commented on 2020-02-13 21:21 (UTC)

3.05 + this patch makes it work with Python 3 scons on Windows. Maybe worth a try.

xantares commented on 2019-08-31 09:52 (UTC)

fixed, switched to python2-scons

idbentley commented on 2019-08-27 19:39 (UTC)

I'm having the same problem as andreymal. Looking for a fix or workaround?

andreymal commented on 2019-08-23 00:24 (UTC) (edited on 2019-08-23 00:24 (UTC) by andreymal)

Failed to build (scons 3.1.1)

TypeError: cannot use a string pattern on a bytes-like object:
File "/home/andreymal/aur/yaourt-tmp-andreymal/aur-nsis/src/nsis-3.04-src/SConstruct", line 263:
for v in re.compile(r'^\H{[v]?(\S+)}', re.M).finditer(File('#/Docs/src/history.but').get_contents()): # Try to parse the Halibut history file

SecT0uch commented on 2019-02-27 09:28 (UTC)

Install with yay now requires mingw-w64-gcc-base as a dependency.

hschletz commented on 2017-10-31 11:24 (UTC)

scons 3.0.0-3 switched back to python 2.7. I successfully built nsis with the official package.

hschletz commented on 2017-10-18 07:32 (UTC)

The print statements are not the only incompatibility. Running 2to3 over the build scripts did not fix all of the issues either. In fact, I was unable to build the package with Scons 3. Even with SCons built against Python 2.7, the build scripts were still invoked with Python 3 and blew up. I had to revert to SCons 2.5.1. Since this is no longer available as an Arch package, I had to build it myself: 1. Download the PKGBUILD from 2. Change pkgver to 2.5.1 3. Change the "python" command in package() to "python2" 4. Run "makepkg --skipchecksums --install" This replaces the installed scons package with the older version, and the nsis package gets built successfully. Until the NSIS build packages get fixed, maybe the PKGBUILD could download SCons 2.5.1, build it to a temporary location and use that instead of a system-wide scons command.

grandchild commented on 2017-10-18 06:08 (UTC)

Seems that SCons breaks Python2 style print statements in SCons 3.0.0. They fixed it in . So either build SCons from git until they release 3.0.1, or change all lines with print statements in the NSIS SCons files to use the print function instead.

nathan-osman commented on 2017-10-18 02:13 (UTC) (edited on 2017-10-18 02:14 (UTC) by nathan-osman)

I'm getting an error: scons: Reading SConscript files ... File "../nsis/src/nsis-3.01-src/SCons/", line 30 print 'Please specify folder of zlib for Win32 via ZLIB_W32' SyntaxError: Missing parentheses in call to 'print'

grandchild commented on 2016-11-14 17:23 (UTC) (edited on 2016-11-14 17:24 (UTC) by grandchild)

I got it to work. I removed mingw-w64-{zlib,gcc,...}, then tried nsis again and it runs through. So perhaps it was some necessary to rebuild mingw-w64-zlib like you said..

grandchild commented on 2016-11-07 13:39 (UTC)

okay, i've now installed it on a different 64bit archlinux machine and it builds and installs without problem. i will have a look what the difference is. consider this not your problem for now - and sorry for the noise.

xantares commented on 2016-11-04 21:48 (UTC) (edited on 2016-11-04 22:07 (UTC) by xantares)

could you try reinstalling mingw-w64-zlib, maybe it should be rebuilt after the gcc update. or else, could you try install mingw-w64-bzip2 ?

xantares commented on 2016-11-04 21:41 (UTC)

that's ok, I have no libzdll.a neither

grandchild commented on 2016-11-04 16:10 (UTC)

I have an idea. I looked at the strace again, and it seems the configure is looking for /usr/i686-w64-mingw32/lib/libzdll.a but i have (from latest mingw-w64-zlib) /usr/i686-w64-mingw32/lib/libz.dll.a So it seems it's either a problem in mingw-w64-zlib or in the scons files of nsis.

grandchild commented on 2016-11-04 15:59 (UTC)

core/perl 5.24.0-2 (base) [installed] core/zlib 1.2.8-4 [installed] multilib/lib32-zlib 1.2.8-1 [installed] aur/mingw-w64-zlib 1.2.8-5 [installed] (33) (1.84)

xantares commented on 2016-11-03 17:57 (UTC)

hi, what's the ouput of: yaourt -Ss zlib|grep installed xan.

grandchild commented on 2016-11-02 23:16 (UTC) (edited on 2016-11-02 23:17 (UTC) by grandchild)

I'm getting: Checking for C library gdi32... no Checking for C library user32... no Checking for C library pthread... yes Checking for C library iconv... no Checking for C library shlwapi... no Checking for C library z... yes Checking for C library iconv... no Checking for C library z... yes Checking for C library zdll... no Checking for C library z... no zlib (win32) is missing! ... dependencies are installed. I also made a trace if that helps in any way (filtered though, because the full trace is 12mb): Ah, and I'm on 64bit Arch

lukasw commented on 2016-03-29 05:58 (UTC)

I'm experiencing segfaults with this build. The following patch fixes it (taken form --- ResourceEditor.h.64bit 2009-02-01 09:44:30.000000000 -0500 +++ ResourceEditor.h 2014-07-23 17:12:20.000000000 -0400 @@ -180,7 +180,7 @@ void Destroy(); - DWORD m_dwWrittenAt; + long m_dwWrittenAt; private: IMAGE_RESOURCE_DIRECTORY m_rdDir; @@ -204,7 +204,7 @@ CResourceDataEntry* GetDataEntry(); - DWORD m_dwWrittenAt; + long m_dwWrittenAt; private: bool m_bHasName; @@ -232,7 +232,7 @@ DWORD GetCodePage(); DWORD GetOffset(); - DWORD m_dwWrittenAt; + long m_dwWrittenAt; private: BYTE* m_pbData; @xantares could you include this patch?

xantares commented on 2015-04-27 10:11 (UTC)

@emhs, patched!

emhs commented on 2015-04-26 02:47 (UTC)

According to Earnestly (who helped out when I was first experiencing this), this is the specific error:

emhs commented on 2015-04-26 02:42 (UTC)

On my machine, nsis fails to build. Here's the makepkg output:

xantares commented on 2015-03-04 15:31 (UTC)

no, it's part of base-devel:

mbeniamino commented on 2015-03-04 14:52 (UTC)

I think "patch" is missing from the building dependencies.

xantares commented on 2015-01-28 07:54 (UTC)

sorry, fixed.

commented on 2015-01-27 22:28 (UTC)

Doesn't work with CMake because the program returns an invalid version string, it should be: scons VERSION=$pkgver

stilvoid commented on 2015-01-23 10:34 (UTC)

Yep, point taken - I just haven't had time to deal with this! Disowning so xantares can pick it up. Thanks :)

xantares commented on 2015-01-19 09:34 (UTC)

hello, - This is not supposed to be mingw-w64-nsis: - /usr/i686-w64-mingw32/bin/makensis is a linux (elf) executable: $ ldd /usr/i686-w64-mingw32/bin/makensis (0x00007fff3b544000) => /usr/lib/ (0x00007fd97f0f2000) => /usr/lib/ (0x00007fd97ede3000) => /usr/lib/ (0x00007fd97eade000) => /usr/lib/ (0x00007fd97e8c8000) => /usr/lib/ (0x00007fd97e525000) /lib64/ (0x00007fd97f30e000) so it should not be packaged into /usr/i686-w64-mingw32/bin but /usr/bin, like in debian, set PREFIX=/usr, then the symlink is useless - the same files are installed into /usr/i686-w64-mingw32/ AND /usr/i486-mingw32 however /usr/bin/makensis links to /usr/i686-w64-mingw32/bin/makensis. so the line "PLATFORM=linux scons PREFIX_DEST="${srcdir}/$pkgname-build/" PREFIX=/usr/i486-mingw32 SKIPUTILS='NSIS Menu' install" is useless - the sed line: # Patch version from DD-MM-YYY.cvs to 2.46 (makes CPack working again) sed -i "s/'Version of NSIS', cvs_version)/'Version of NSIS', '${pkgver}')/" \ "${srcdir}/${pkgname}-${pkgver}-src/SConstruct" must occur before the build xan.

codestation commented on 2014-04-26 18:50 (UTC)

Sadly the installers generated by makensis are broken, for example ${RunningX64} always returns true, even on 32bit Windows. Also the file on /usr/i686-w64-mingw32/bin/makensis is a 64bit executable (should be 32bit, or be located at /usr/x86_64-w64-mingw32/bin).

stilvoid commented on 2014-01-21 13:47 (UTC)

Hi guys, sorry it's taken me so long to look at this! I've incorporated the fixes from freetoken and lilydjwg Enjoy.

lilydjwg commented on 2013-12-05 07:23 (UTC)

Hi, this is a new PKGBUILD which uses the mingw-w64 toolchain which now is in [community]:

commented on 2013-09-21 20:52 (UTC)

This fix freetoken shared works = Thanks!

delroth commented on 2013-08-03 16:02 (UTC)

This package cannot be built (see comment from freetoken 2 months ago). Please update.

commented on 2013-06-09 04:07 (UTC)

Had some issues installing(permissions) because it's building directly to the ${pkgdir}, added a package() function and it works ok now, please update PKGBUILD.

stilvoid commented on 2012-06-10 08:57 (UTC)

Seems there's a bug in the source. I've included a patch just to get it building ok.

Samsagax commented on 2012-06-10 04:23 (UTC)

I can't build the package: Source/script.cpp:6460:1: required from here Source/util.h:145:1: error: 'close' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] In file included from Source/script.cpp:46:0: /usr/include/unistd.h:354:12: note: 'int close(int)' declared here, later in the translation unit scons: *** [build/release/makensis/script.o] Error 1 scons: building terminated because of errors.

RazZziel commented on 2012-01-24 16:30 (UTC)

Oops, got the diff backwards :P

RazZziel commented on 2012-01-24 16:29 (UTC)

I added logging support, you may upload it as a new "nsis-log" package, or attach the patch @@ -22,7 +21,7 @@ # Patch taken from # patch -p1 -i "$srcdir/nsis-2.43-64bit-fixes.patch" - scons PREFIX_DEST="$pkgdir/" PREFIX=/usr/i486-mingw32 SKIPUTILS='NSIS Menu' NSIS_CONFIG_LOG=yes install + scons PREFIX_DEST="$pkgdir/" PREFIX=/usr/i486-mingw32 SKIPUTILS='NSIS Menu' install # Patch version from DD-MM-YYY.cvs to 2.46 (makes CPack working again) sed -i "s/'Version of NSIS', cvs_version)/'Version of NSIS', '${pkgver}')/" \

Shanto commented on 2011-11-03 12:15 (UTC)

Information: NSIS for Windows works perfectly on WINE (both installer and makensis*)

Svenstaro commented on 2011-09-18 20:47 (UTC)

Feel free to adopt, can't maintain this right now.

commented on 2011-09-18 20:03 (UTC)

to Svenstaro: You ignore this: Comment by: denis on Sat, 14 Aug 2010 17:24:13 +0000 Plugins don't load unless libgcc dlls are available. err:module:import_dll Library libgcc_s_sjlj-1.dll (which is needed by L"C:\\users\\denis\\Temp\\nsl5ef.tmp\\System.dll") not found err:module:import_dll Library libgcc_s_sjlj-1.dll (which is needed by L"C:\\users\\denis\\Temp\\nsl5ef.tmp\\System.dll") not found Please apply this: my problem: $ wine EiskaltDC++-2.2.4-x86.exe err:module:import_dll Library libgcc_s_sjlj-1.dll (which is needed by L"C:\\users\\pavel\\Temp\\nsrc41.tmp\\System.dll") not found NSIS script: line from NSIS script: !define MUI_WELCOMEFINISHPAGE_BITMAP "installer\icon_164x314.bmp" see screenshots: - this is your nsis - this is nsis-debian so I use nsis-debian: there is no this error.

Svenstaro commented on 2011-06-06 01:48 (UTC)

Adopted and updated with changes by mosra. Thanks for that.

mosra commented on 2010-09-18 11:22 (UTC)

This version doesn't work with CMake/CPack, problem is with version string (CPack expects 2.46, but nsis prints build date). Fixed PKGBUILD to make CPack working again: (see lines 24-26). Thanks for updating.

commented on 2010-08-14 17:24 (UTC)

Plugins don't load unless libgcc dlls are available. err:module:import_dll Library libgcc_s_sjlj-1.dll (which is needed by L"C:\\users\\denis\\Temp\\nsl5ef.tmp\\System.dll") not found err:module:import_dll Library libgcc_s_sjlj-1.dll (which is needed by L"C:\\users\\denis\\Temp\\nsl5ef.tmp\\System.dll") not found Please apply this:

commented on 2010-06-22 20:55 (UTC)

This depends on libmpc, please update dependencies.

Misery commented on 2010-04-10 09:58 (UTC)


LookTJ commented on 2010-04-10 07:58 (UTC)