Package Details: nsis 3.02.1-1

Git Clone URL: https://aur.archlinux.org/nsis.git (read-only)
Package Base: nsis
Description: A professional open source system to create Windows installers
Upstream URL: http://nsis.sourceforge.net
Licenses: custom:zlib
Submitter: None
Maintainer: xantares
Last Packager: xantares
Votes: 35
Popularity: 0.000007
First Submitted: 2006-10-28 14:40
Last Updated: 2017-10-21 07:29

Latest Comments

hschletz commented on 2017-10-31 11:24

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

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 https://git.archlinux.org/svntogit/packages.git/plain/trunk/PKGBUILD?h=packages/scons
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

Seems that SCons breaks Python2 style print statements in SCons 3.0.0.
They fixed it in https://github.com/SConsProject/scons/commit/2e0de3 .
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

I'm getting an error:

scons: Reading SConscript files ...
File "../nsis/src/nsis-3.01-src/SCons/utils.py", 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

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

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

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

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

grandchild commented on 2016-11-04 16:10

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

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

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

grandchild commented on 2016-11-02 23:16

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): https://gist.github.com/grandchild/c2bfdc41436487e7fa2cf66c5ac8239b

Ah, and I'm on 64bit Arch

lukasw commented on 2016-03-29 05:58

I'm experiencing segfaults with this build. The following patch fixes it (taken form https://bugzilla.redhat.com/show_bug.cgi?id=948074#c20):

--- 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

@emhs, patched!

emhs commented on 2015-04-26 02:47

According to Earnestly (who helped out when I was first experiencing this), this is the specific error: http://ix.io/hUn

emhs commented on 2015-04-26 02:42

On my machine, nsis fails to build. Here's the makepkg output: http://sprunge.us/bKSV

xantares commented on 2015-03-04 15:31

no, it's part of base-devel:
https://www.archlinux.org/groups/i686/base-devel/

mbeniamino commented on 2015-03-04 14:52

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

xantares commented on 2015-01-28 07:54

sorry, fixed.

zxtlpn commented on 2015-01-27 22:28

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

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

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
linux-vdso.so.1 (0x00007fff3b544000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fd97f0f2000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fd97ede3000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fd97eade000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fd97e8c8000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fd97e525000)
/lib64/ld-linux-x86-64.so.2 (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.

xantares commented on 2015-01-19 09:24

hello,

- 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

- /usr/i686-w64-mingw32/bin/makensis is a linux (elf) executable:
$ ldd /usr/i686-w64-mingw32/bin/makensis
linux-vdso.so.1 (0x00007fff3b544000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fd97f0f2000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fd97ede3000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fd97eade000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fd97e8c8000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fd97e525000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd97f30e000)
so it should not be packaged into /usr/i686-w64-mingw32/bin but /usr/bin,
like in debian, set PREFIX=/usr, the the symlink is useless

xan.


codestation commented on 2014-04-26 18:50

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

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

Hi, this is a new PKGBUILD which uses the mingw-w64 toolchain which now is in [community]: https://github.com/archlinuxcn/repo/blob/master/nsis/PKGBUILD

Anonymous comment on 2013-09-21 20:52

This fix freetoken shared works = http://pastebin.com/utKNxY9k.
Thanks!

delroth commented on 2013-08-03 16:02

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

Anonymous comment on 2013-06-09 04:07

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. http://pastebin.com/utKNxY9k

stilvoid commented on 2012-06-10 08:57

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

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

Oops, got the diff backwards :P

RazZziel commented on 2012-01-24 16:29

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
# http://cvs.fedoraproject.org/viewvc/rpms/mingw32-nsis/F-11/nsis-2.43-64bit-fixes.patch
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

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

Svenstaro commented on 2011-09-18 20:47

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

Anonymous comment on 2011-09-18 20:03

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: http://lists.fedoraproject.org/pipermail/scm-commits/2010-January/378650.html


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:
https://github.com/negativ/eiskaltdcpp/blob/master/win32/EiskaltDC++.nsi

line from NSIS script:
!define MUI_WELCOMEFINISHPAGE_BITMAP "installer\icon_164x314.bmp"

see screenshots:
http://img13.imageshost.ru/img/2011/09/18/image_4e764c61878c1.png - this is your nsis https://aur.archlinux.org/packages.php?ID=7294
http://img13.imageshost.ru/img/2011/09/18/image_4e764c747924a.png - this is nsis-debian https://aur.archlinux.org/packages.php?ID=32124

so I use nsis-debian:
https://aur.archlinux.org/packages.php?ID=32124
there is no this error.

Svenstaro commented on 2011-06-06 01:48

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

mosra commented on 2010-09-18 11:22

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: http://github.com/mosra/archlinux/blob/819f839bdf0d0c44da3c3318cbbba4ea61029dfa/nsis/PKGBUILD#L24 (see lines 24-26).

Thanks for updating.

Anonymous comment on 2010-08-14 17:24

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: http://lists.fedoraproject.org/pipermail/scm-commits/2010-January/378650.html

Anonymous comment on 2010-06-22 20:55

This depends on libmpc, please update dependencies.

Misery commented on 2010-04-10 09:58

Thanks...

LookTJ commented on 2010-04-10 07:58

http://downloads.sourceforge.net/project/nsis/NSIS%202/2.46/nsis-2.46-src.tar.bz2

LookTJ commented on 2010-04-10 07:41

http://prdownloads.sourceforge.net/nsis/nsis-2.46-src.tar.bz2?download

The current source in PKGBUILD does not exist.