Package: nsis
Version: 2.46-3
Severity: normal
Tags: patch

Hi,

In preparation for the forthcoming upload of mingw-w64, I've prepared
a patch allowing nsis to build with it. Notably the old
i586-mingw32msvc target is gone, replaced with the official
i686-w64-mingw32 triplet (even for Win32 builds).

You may ignore this bug until #594371 is closed (I'll tag this bug
appropriately).

Regards,

Stephen
diff -Nru nsis-2.46/debian/changelog nsis-2.46/debian/changelog
--- nsis-2.46/debian/changelog	2010-09-21 03:45:53.000000000 +0200
+++ nsis-2.46/debian/changelog	2011-03-30 02:20:09.000000000 +0200
@@ -1,3 +1,10 @@
+nsis (2.46-3.1) experimental; urgency=low
+
+  * Non-maintainer upload.
+  * Build with mingw-w64.
+
+ -- Stephen Kitt <st...@sk2.org>  Wed, 30 Mar 2011 02:20:09 +0200
+
 nsis (2.46-3) experimental; urgency=low
 
   * Removed architecture restrictions
diff -Nru nsis-2.46/debian/control nsis-2.46/debian/control
--- nsis-2.46/debian/control	2010-09-21 03:45:53.000000000 +0200
+++ nsis-2.46/debian/control	2011-03-30 02:19:52.000000000 +0200
@@ -2,7 +2,7 @@
 Section: devel
 Priority: optional
 Maintainer: Thomas Gaugler <tho...@dadie.net>
-Build-Depends: debhelper (>= 7.0.50~), scons (>= 1.2.0), gcc-mingw32 (>= 4.4.0-3) | mingw32, mingw32-runtime, mingw32-binutils, xmlto, html2text, libcppunit-dev, zlib1g-dev
+Build-Depends: debhelper (>= 7.0.50~), scons (>= 1.2.0), mingw-w64 (>= 1.0), xmlto, html2text, libcppunit-dev, zlib1g-dev
 Standards-Version: 3.9.1
 Homepage: http://nsis.sourceforge.net/
 Vcs-Svn: svn://svn.debian.org/collab-maint/ext-maint/nsis/trunk
@@ -11,7 +11,7 @@
 Package: nsis
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Suggests: wine, gcc-mingw32
+Suggests: wine, mingw-w64
 Description: Nullsoft Scriptable Install System (modified for Debian)
  NSIS is a tool for creating quick and user friendly installers for
  Microsoft Windows (Win32) operating systems.
diff -Nru nsis-2.46/debian/patches/mingw-w64.patch nsis-2.46/debian/patches/mingw-w64.patch
--- nsis-2.46/debian/patches/mingw-w64.patch	1970-01-01 01:00:00.000000000 +0100
+++ nsis-2.46/debian/patches/mingw-w64.patch	2011-03-30 02:20:16.000000000 +0200
@@ -0,0 +1,33 @@
+--- nsis-2.46.orig/Contrib/InstallOptions/InstallerOptions.cpp
++++ nsis-2.46/Contrib/InstallOptions/InstallerOptions.cpp
+@@ -14,6 +14,8 @@
+ #include "resource.h"
+ #include "shellapi.h"
+ 
++#include <algorithm>
++
+ #include <nsis/pluginapi.h> // nsis plugin
+ 
+ // Use for functions only called from one place to possibly reduce some code
+@@ -759,7 +761,7 @@
+       DrawText(lpdis->hDC, pField->pszText, -1, &rc, DT_VCENTER | DT_WORDBREAK | DT_CALCRECT);
+ 
+       // Make some more room so the focus rect won't cut letters off
+-      rc.right = min(rc.right + 2, lpdis->rcItem.right);
++      rc.right = std::min(rc.right + 2, lpdis->rcItem.right);
+ 
+       // Move rect to right if in RTL mode
+       if (bRTL)
+--- nsis-2.46.orig/SCons/Tools/crossmingw.py
++++ nsis-2.46/SCons/Tools/crossmingw.py
+@@ -58,6 +58,10 @@
+     i486-pc-mingw32-
+     i586-pc-mingw32-
+     i686-pc-mingw32-
++    i386-w64-mingw32-
++    i486-w64-mingw32-
++    i586-w64-mingw32-
++    i686-w64-mingw32-
+ """)
+ 
+ def find(env):
diff -Nru nsis-2.46/debian/patches/series nsis-2.46/debian/patches/series
--- nsis-2.46/debian/patches/series	2010-05-06 04:15:31.000000000 +0200
+++ nsis-2.46/debian/patches/series	2011-03-30 02:16:07.000000000 +0200
@@ -1,3 +1,4 @@
 # list of patch file names in the order they are applied
 nsis_system_zlib.patch
 makensis_native_64bit.patch
+mingw-w64.patch
diff -Nru nsis-2.46/debian/README.Debian nsis-2.46/debian/README.Debian
--- nsis-2.46/debian/README.Debian	2009-07-24 12:31:20.000000000 +0200
+++ nsis-2.46/debian/README.Debian	2011-03-30 02:18:15.000000000 +0200
@@ -9,12 +9,12 @@
 The mingw32 include dir should be in the include path and it
 usually is there by default, if not, add this to CPPFLAGS:
 
- -I /usr/i586-mingw32msvc/include
+ -I /usr/i686-w64-mingw32/include
 
 The nsis subdir of the mingw32 library dir should be in the
 linker path, you'll need the following in LDFLAGS:
 
- -L /usr/i586-mingw32msvc/lib/nsis
+ -L /usr/i686-w64-mingw32/lib/nsis
 
 The nsis pluginapi static library needs to be linked against,
 you'll need the following in LDFLAGS:
diff -Nru nsis-2.46/debian/rules nsis-2.46/debian/rules
--- nsis-2.46/debian/rules	2010-05-06 04:15:32.000000000 +0200
+++ nsis-2.46/debian/rules	2011-03-30 02:19:20.000000000 +0200
@@ -4,7 +4,7 @@
 #export DH_VERBOSE=1
 
 VERSION=${shell dpkg-parsechangelog | sed -n 's/^Version: *//p'}
-MINGW32_PATH=/usr/i586-mingw32msvc
+MINGW32_PATH=/usr/i686-w64-mingw32
 
 SCONSOPTS = VERSION=$(VERSION) \
   PREFIX=/usr PREFIX_CONF=/etc \

Reply via email to