From: Richard W.M. Jones <"Richard W.M. Jones "> Date: Fri, 13 Feb 2009 14:37:28 +0000 (+0000) Subject: Updated NSIS to 2.43 (Levente Farkas). X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=3718db2a3dbcbf17861914146ad480bee4c3b170;p=fedora-mingw.git Updated NSIS to 2.43 (Levente Farkas). --- diff --git a/.hgignore b/.hgignore index 6073f97..a656870 100644 --- a/.hgignore +++ b/.hgignore @@ -91,6 +91,7 @@ mingw64-gcc/gcc-g++-4.4-20090206.tar.bz2 mpfr/mpfr-2.3.2.tar.bz2 nsis/nsis-2.19-src.tar.bz2 nsis/nsis-2.39-src.tar.bz2 +nsis/nsis-2.43-src.tar.bz2 nspr/nspr-4.7.2.tar.gz nss/nss-3.12.2.0-stripped.tar.bz2 nss/nss-pem-20080124.tar.bz2 diff --git a/nsis/mingw32-nsis.spec b/nsis/mingw32-nsis.spec index 5d78d00..5d299f6 100644 --- a/nsis/mingw32-nsis.spec +++ b/nsis/mingw32-nsis.spec @@ -2,8 +2,8 @@ %define _default_patch_fuzz 2 Name: mingw32-nsis -Version: 2.39 -Release: 5%{?dist} +Version: 2.43 +Release: 1%{?dist} Summary: Nullsoft Scriptable Install System License: zlib and CPL @@ -13,30 +13,19 @@ Source0: http://dl.sourceforge.net/sourceforge/nsis/nsis-%{version}-src.t BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # Patches from Debian (mainly by Paul Wise). -Patch0: nsis-2.39-debian-64bit-fixes.patch -Patch1: nsis-2.39-debian-debug-opt.patch +Patch0: nsis-2.42-debian-64bit-fixes.patch +Patch1: nsis-2.43-debian-debug-opt.patch -# This patch is required for NSIS to find the correct cross-compiler. -Patch100: nsis-2.39-mingw32-search.patch - -BuildRequires: mingw32-filesystem >= 20 +BuildRequires: mingw32-filesystem >= 40 BuildRequires: mingw32-gcc BuildRequires: mingw32-gcc-c++ BuildRequires: mingw32-binutils BuildRequires: python -BuildRequires: scons >= 0.96.93 - -# We build with 'gcc -m32' and that fails on 64 bit platforms when we -# include . On x86-64, this is provided by -# glibc-devel.i386. Depend on the file explicitly, since only recent -# versions of RPM let you require a package by architecture. -BuildRequires: /usr/include/gnu/stubs-32.h - -# We really need the 32 bit version of this library. The 64 bit -# version will definitely not work. XXX Need to do the right thing on -# non-x86 architectures. -BuildRequires: /usr/lib/libwx_baseu-2.8.so +BuildRequires: scons +BuildRequires: wxGTK-devel +# since nsis a 32 bit only apps +ExclusiveArch: i386 ppc %description NSIS, the Nullsoft Scriptable Install System, is a script-driven @@ -51,10 +40,8 @@ assembler code. %prep %setup -q -n nsis-%{version}-src -%patch0 -p1 -%patch1 -p1 - -%patch100 -p1 +%patch0 -p1 -b .64bit +%patch1 -p1 -b .debug %build @@ -76,14 +63,21 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) -%{_bindir}/* -%config(noreplace) %{_sysconfdir}/nsisconf.nsh -%{_includedir}/nsis %doc %{_docdir}/%{name}-%{version} +%config(noreplace) %{_sysconfdir}/nsisconf.nsh +%{_bindir}/* +#{_includedir}/nsis %{_datadir}/nsis %changelog +* Fri Feb 13 2009 Levente Farkas - 2.43-1 +- update to the latest upstream + +* Wed Jan 14 2009 Levente Farkas - 2.42-1 +- update to the latest upstream +- a few small changes + * Fri Oct 17 2008 Richard W.M. Jones - 2.39-5 - Fix the Summary line. diff --git a/nsis/nsis-2.19-debian-64bit-fixes.patch b/nsis/nsis-2.19-debian-64bit-fixes.patch deleted file mode 100644 index 83e7721..0000000 --- a/nsis/nsis-2.19-debian-64bit-fixes.patch +++ /dev/null @@ -1,218 +0,0 @@ -01_64bit_fixes.patch -Andreas Jochens , Andreas Barth , -Steve Langasek , Paul Wise -Fix some issues with building and running makensis on 64-bit platforms -Index: Source/DialogTemplate.cpp -=================================================================== ---- Source/DialogTemplate.cpp.orig 2007-01-30 09:03:35.000000000 +0100 -+++ Source/DialogTemplate.cpp 2007-01-30 09:03:56.000000000 +0100 -@@ -93,7 +93,7 @@ - if (IS_INTRESOURCE(x)) { \ - *(WORD*)seeker = 0xFFFF; \ - seeker += sizeof(WORD); \ -- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \ -+ *(WORD*)seeker = ConvertEndianness(WORD(long(x))); \ - seeker += sizeof(WORD); \ - } \ - else { \ -@@ -629,7 +629,7 @@ - } - } - -- assert((DWORD) seeker - (DWORD) pbDlg == dwSize); -+ assert((long) seeker - (long) pbDlg == dwSize); - - // DONE! - return pbDlg; -Index: Source/Platform.h -=================================================================== ---- Source/Platform.h.orig 2007-01-30 09:03:35.000000000 +0100 -+++ Source/Platform.h 2007-01-30 09:05:35.000000000 +0100 -@@ -135,7 +135,7 @@ - # define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i))) - # endif - # ifndef IMAGE_FIRST_SECTION --# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \ -+# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (long) h + \ - FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \ - FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) ) - # endif -@@ -147,7 +147,7 @@ - # endif - #endif - #ifndef IS_INTRESOURCE --# define IS_INTRESOURCE(_r) (((ULONG_PTR)(_r) >> 16) == 0) -+# define IS_INTRESOURCE(_r) (((unsigned long)(_r) >> 16) == 0) - #endif - - // functions -@@ -666,7 +666,7 @@ - WORD e_oemid; - WORD e_oeminfo; - WORD e_res2[10]; -- LONG e_lfanew; -+ DWORD e_lfanew; - } IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER; - # pragma pack() - # pragma pack(4) -Index: Source/ResourceEditor.cpp -=================================================================== ---- Source/ResourceEditor.cpp.orig 2007-01-30 09:03:35.000000000 +0100 -+++ Source/ResourceEditor.cpp 2007-01-30 09:03:56.000000000 +0100 -@@ -545,7 +545,7 @@ - rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries); - - CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY)); -- crd->m_dwWrittenAt = DWORD(seeker); -+ crd->m_dwWrittenAt = long(seeker); - seeker += sizeof(IMAGE_RESOURCE_DIRECTORY); - - for (int i = 0; i < crd->CountEntries(); i++) { -@@ -566,7 +566,7 @@ - rDirE.NameString.NameIsString = (crd->GetEntry(i)->HasName()) ? 1 : 0; - - CopyMemory(seeker, &rDirE, sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY)); -- crd->GetEntry(i)->m_dwWrittenAt = DWORD(seeker); -+ crd->GetEntry(i)->m_dwWrittenAt = long(seeker); - seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY); - } - qDirs.pop(); -@@ -582,7 +582,7 @@ - rDataE.Size = ConvertEndianness(cRDataE->GetSize()); - - CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY)); -- cRDataE->m_dwWrittenAt = DWORD(seeker); -+ cRDataE->m_dwWrittenAt = long(seeker); - seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY); - - qDataEntries.pop(); -@@ -594,7 +594,7 @@ - while (!qStrings.empty()) { - CResourceDirectoryEntry* cRDirE = qStrings.front(); - -- PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(seeker) - DWORD(pbRsrcSec)); -+ PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(long(seeker) - long(pbRsrcSec)); - - char* szName = cRDirE->GetName(); - WORD iLen = strlen(szName) + 1; -@@ -636,7 +636,7 @@ - /* - * Set all of the directory entries offsets. - */ -- SetOffsets(m_cResDir, DWORD(pbRsrcSec)); -+ SetOffsets(m_cResDir, long(pbRsrcSec)); - } - - // Sets the offsets in directory entries -@@ -758,7 +758,7 @@ - // Returns -1 if can not be found - int CResourceDirectory::Find(char* szName) { - if (IS_INTRESOURCE(szName)) -- return Find((WORD) (DWORD) szName); -+ return Find((WORD) (long) szName); - else - if (szName[0] == '#') - return Find(WORD(atoi(szName + 1))); -@@ -836,7 +836,7 @@ - if (IS_INTRESOURCE(szName)) { - m_bHasName = false; - m_szName = 0; -- m_wId = (WORD) (DWORD) szName; -+ m_wId = (WORD) (long) szName; - } - else { - m_bHasName = true; -@@ -851,7 +851,7 @@ - if (IS_INTRESOURCE(szName)) { - m_bHasName = false; - m_szName = 0; -- m_wId = (WORD) (DWORD) szName; -+ m_wId = (WORD) (long) szName; - } - else { - m_bHasName = true; -Index: Source/util.cpp -=================================================================== ---- Source/util.cpp.orig 2007-01-30 09:03:35.000000000 +0100 -+++ Source/util.cpp 2007-01-30 09:07:54.000000000 +0100 -@@ -57,9 +57,9 @@ - } - - if (width != 0) { -- LONG biWidth; -+ DWORD biWidth; - fseek(f, 18, SEEK_SET); // Seek to the width member of the header -- fread(&biWidth, sizeof(LONG), 1, f); -+ fread(&biWidth, sizeof(DWORD), 1, f); - FIX_ENDIAN_INT32_INPLACE(biWidth); - if (width != biWidth) { - fclose(f); -@@ -68,12 +68,12 @@ - } - - if (height != 0) { -- LONG biHeight; -+ DWORD biHeight; - fseek(f, 22, SEEK_SET); // Seek to the height member of the header -- fread(&biHeight, sizeof(LONG), 1, f); -+ fread(&biHeight, sizeof(DWORD), 1, f); - FIX_ENDIAN_INT32_INPLACE(biHeight); - // Bitmap height can be negative too... -- if (height != abs(biHeight)) { -+ if (height != abs((long int)biHeight)) { - fclose(f); - return -3; - } -@@ -312,7 +312,7 @@ - FIX_ENDIAN_INT32_INPLACE(rdEntry.OffsetToData); - MY_ASSERT(!rdEntry.DirectoryOffset.DataIsDirectory, "bad resource directory"); - -- PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot)); -+ PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + long(rdRoot)); - - MY_ASSERT((size_t)rdIcons - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer"); - -@@ -325,7 +325,7 @@ - FIX_ENDIAN_INT32_INPLACE(icoEntry.OffsetToData); - - MY_ASSERT(!icoEntry.DirectoryOffset.DataIsDirectory, "bad resource directory"); -- PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot)); -+ PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + long(rdRoot)); - - MY_ASSERT((size_t)rd - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer"); - -@@ -334,7 +334,7 @@ - - MY_ASSERT(datEntry.DirectoryOffset.DataIsDirectory, "bad resource directory"); - -- PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + DWORD(rdRoot)); -+ PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + long(rdRoot)); - - MY_ASSERT((size_t)rde - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer"); - -@@ -355,10 +355,10 @@ - } - - // Set offset -- DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + DWORD(rdRoot) - dwResourceSectionVA - DWORD(exeHeader); -+ DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + long(rdRoot) - dwResourceSectionVA - long(exeHeader); - *(LPDWORD) seeker = FIX_ENDIAN_INT32(dwOffset); - -- MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (DWORD)rdRoot - (DWORD)exeHeader, "invalid data offset - icon resource probably compressed"); -+ MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (long)rdRoot - (long)exeHeader, "invalid data offset - icon resource probably compressed"); - } - - LPBYTE seeker = uninstIconData; -Index: Source/Plugins.cpp -=================================================================== ---- Source/Plugins.cpp.orig 2007-01-30 09:05:50.000000000 +0100 -+++ Source/Plugins.cpp 2007-01-30 09:07:05.000000000 +0100 -@@ -120,7 +120,7 @@ - DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData); - PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va); - DWORD na = FIX_ENDIAN_INT32(exports->AddressOfNames); -- unsigned long *names = (unsigned long*)((unsigned long) exports + (char *) na - ExportDirVA); -+ unsigned int *names = (unsigned int*)((unsigned long) exports + (char *) na - ExportDirVA); - for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++) - { - const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA); diff --git a/nsis/nsis-2.19-debian-debug-opt.patch b/nsis/nsis-2.19-debian-debug-opt.patch deleted file mode 100644 index f7e5ef8..0000000 --- a/nsis/nsis-2.19-debian-debug-opt.patch +++ /dev/null @@ -1,71 +0,0 @@ -02_debug_symbols.patch -Paul Wise -Add an option to generate debugging symbols -without side-effects on optimisation flags -and an option to enable/disable optimisation -Index: SCons/Config/gnu -=================================================================== ---- SCons/Config/gnu.orig 2007-02-02 20:34:33.000000000 +1100 -+++ SCons/Config/gnu 2007-02-08 15:33:51.000000000 +1100 -@@ -81,13 +81,16 @@ - - makensis_env = defenv.Copy() - --if not defenv['DEBUG']: -- makensis_env.Append(CCFLAGS = '-O2') # optimize -+if defenv['DEBUG_SYMBOLS']: -+ makensis_env.Append(CCFLAGS = '-g') # debugging -+ makensis_env.Append(LINKFLAGS = '-g') # debugging -+if not defenv['DEBUG'] and defenv['OPT']: -+ makensis_env.Append(CCFLAGS = '-O2') # optimize - makensis_env.Append(CCFLAGS = '-Wall') # all warnings - - conf = FlagsConfigure(makensis_env) - conf.CheckLinkFlag('$MAP_FLAG') # generate map file --if not defenv['DEBUG']: -+if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS']: - TestStrip(conf) # strip - conf.Finish() - -@@ -110,13 +113,16 @@ - - cp_util_env = defenv.Copy() - --if not defenv['DEBUG']: -+if defenv['DEBUG_SYMBOLS']: -+ cp_util_env.Append(CCFLAGS = '-g') # debugging -+ cp_util_env.Append(LINKFLAGS = '-g') # debugging -+if not defenv['DEBUG'] and defenv['OPT']: - cp_util_env.Append(CCFLAGS = '-O2') # optimize - cp_util_env.Append(CCFLAGS = '-Wall') # all warnings - - conf = FlagsConfigure(cp_util_env) - conf.CheckLinkFlag('$MAP_FLAG') # generate map file --if not defenv['DEBUG']: -+if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS']: - TestStrip(conf) # strip - conf.Finish() - -@@ -131,6 +137,9 @@ - ### test environment - - test_env = defenv.Copy() -+if defenv['DEBUG_SYMBOLS']: -+ test_env.Append(LINKFLAGS = '-g') # debugging -+ test_env.Append(CCFLAGS = '-g') # debugging - - ### weird GCC requirements - -Index: SConstruct -=================================================================== ---- SConstruct.orig 2007-02-02 20:34:33.000000000 +1100 -+++ SConstruct 2007-02-08 15:48:40.000000000 +1100 -@@ -127,6 +127,8 @@ - opts.Add(PathOption('LIBPATH', 'Path to search for libraries', None)) - # build options - opts.Add(BoolOption('DEBUG', 'Build executables with debugging information', 'no')) -+opts.Add(BoolOption('DEBUG_SYMBOLS', 'Build with debugging information, but none of the side effects of DEBUG', 'no')) -+opts.Add(BoolOption('OPT', 'Build with optimization', 'yes')) - opts.Add(PathOption('CODESIGNER', 'A program used to sign executables', None)) - # path related build options - opts.Add(('PREFIX_DEST', 'Intermediate installation prefix (extra install time prefix)', dirs['dest'])) diff --git a/nsis/nsis-2.39-debian-debug-opt.patch b/nsis/nsis-2.39-debian-debug-opt.patch deleted file mode 100644 index fa112ac..0000000 --- a/nsis/nsis-2.39-debian-debug-opt.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -ur nsis-2.39-src.orig/SCons/Config/gnu nsis-2.39-src.debopt/SCons/Config/gnu ---- nsis-2.39-src.orig/SCons/Config/gnu 2008-03-03 16:33:56.000000000 +0000 -+++ nsis-2.39-src.debopt/SCons/Config/gnu 2008-09-22 12:53:18.000000000 +0100 -@@ -61,8 +61,11 @@ - stub_env = defenv.Clone() - cross_env(stub_env) - --if not defenv['DEBUG']: -- stub_env.Append(CCFLAGS = '-Os') # optimize for size -+if not defenv['DEBUG_SYMBOLS']: -+ stub_env.Append(CCFLAGS = '-g') # debugging -+ stub_env.Append(LINKFLAGS = '-g') # debugging -+if not defenv['DEBUG'] and defenv['OPT']: -+ stub_env.Append(CCFLAGS = '-O2') # optimize - stub_env.Append(CCFLAGS = '-Wall') # all warnings - stub_env.Append(CCFLAGS = '-x c') # force compile as c - stub_env.Append(CCFLAGS = '-fno-strict-aliasing') # not safe for strict aliasing -@@ -88,7 +91,7 @@ - conf.CheckCompileFlag('-m32') # - conf.CheckLinkFlag('-m32') # - conf.CheckLinkFlag('$MAP_FLAG') # generate map file --if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']: -+if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_CP']: - TestStrip(conf) # strip - conf.Finish() - -@@ -112,7 +115,10 @@ - - cp_util_env = defenv.Clone() - --if not defenv['DEBUG']: -+if defenv['DEBUG_SYMBOLS']: -+ cp_util_env.Append(CCFLAGS = '-g') # debugging -+ cp_util_env.Append(LINKFLAGS = '-g') # debugging -+if not defenv['DEBUG'] and defenv['OPT']: - cp_util_env.Append(CCFLAGS = '-O2') # optimize - cp_util_env.Append(CCFLAGS = '-Wall') # all warnings - cp_util_env.Append(CCFLAGS = '-fno-strict-aliasing') # not safe for strict aliasing -@@ -146,6 +152,10 @@ - ### test environment - - test_env = defenv.Clone() -+if defenv['DEBUG_SYMBOLS']: -+ test_env.Append(LINKFLAGS = '-g') # debugging -+ test_env.Append(CCFLAGS = '-g') # debugging -+ - conf = FlagsConfigure(test_env) - conf.CheckCompileFlag('-m32') - conf.CheckLinkFlag('-m32') -diff -ur nsis-2.39-src.orig/SConstruct nsis-2.39-src.debopt/SConstruct ---- nsis-2.39-src.orig/SConstruct 2008-05-04 09:30:07.000000000 +0100 -+++ nsis-2.39-src.debopt/SConstruct 2008-09-22 12:55:55.000000000 +0100 -@@ -168,6 +168,8 @@ - opts.Add(('APPEND_LINKFLAGS', 'Additional linker flags')) - # build options - opts.Add(BoolOption('DEBUG', 'Build executables with debugging information', 'no')) -+opts.Add(BoolOption('DEBUG_SYMBOLS', 'Build with debugging information, but none of the side effects of DEBUG', 'no')) -+opts.Add(BoolOption('OPT', 'Build with optimization', 'yes')) - opts.Add(PathOption('CODESIGNER', 'A program used to sign executables', None)) - opts.Add(BoolOption('STRIP', 'Strips executables of any unrequired data such as symbols', 'yes')) - opts.Add(BoolOption('STRIP_CP', 'Strips cross-platform executables of any unrequired data such as symbols', 'yes')) diff --git a/nsis/nsis-2.39-mingw32-search.patch b/nsis/nsis-2.39-mingw32-search.patch deleted file mode 100644 index 83d5cc2..0000000 --- a/nsis/nsis-2.39-mingw32-search.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- nsis-2.39-src/SCons/Tools/crossmingw.py.orig 2008-09-05 13:58:14.000000000 +0100 -+++ nsis-2.39-src/SCons/Tools/crossmingw.py 2008-09-05 13:58:32.000000000 +0100 -@@ -44,6 +44,7 @@ - - # This is what we search for to find mingw: - prefixes = SCons.Util.Split(""" -+ i686-pc-mingw32- - mingw32- - mingw32msvc- - i386-mingw32- diff --git a/nsis/nsis-2.39-debian-64bit-fixes.patch b/nsis/nsis-2.42-debian-64bit-fixes.patch similarity index 75% rename from nsis/nsis-2.39-debian-64bit-fixes.patch rename to nsis/nsis-2.42-debian-64bit-fixes.patch index 936c80d..b46f7e8 100644 --- a/nsis/nsis-2.39-debian-64bit-fixes.patch +++ b/nsis/nsis-2.42-debian-64bit-fixes.patch @@ -1,81 +1,5 @@ -diff -ur nsis-2.34-src/SCons/Config/gnu nsis-2.34-src-64bit-fixes/SCons/Config/gnu ---- nsis-2.34-src/SCons/Config/gnu 2007-11-14 07:20:44.000000000 +0100 -+++ nsis-2.34-src-64bit-fixes/SCons/Config/gnu 2008-01-13 22:15:21.000000000 +0100 -@@ -85,8 +85,6 @@ - makensis_env.Append(CXXFLAGS = '-Wno-non-virtual-dtor') # ignore virtual dtor warnings - - conf = FlagsConfigure(makensis_env) --conf.CheckCompileFlag('-m32') # --conf.CheckLinkFlag('-m32') # - conf.CheckLinkFlag('$MAP_FLAG') # generate map file - if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']: - TestStrip(conf) # strip -diff -ur nsis-2.34-src/Source/DialogTemplate.cpp nsis-2.34-src-64bit-fixes/Source/DialogTemplate.cpp ---- nsis-2.34-src/Source/DialogTemplate.cpp 2007-11-30 10:54:13.000000000 +0100 -+++ nsis-2.34-src-64bit-fixes/Source/DialogTemplate.cpp 2008-01-13 19:01:02.000000000 +0100 -@@ -74,7 +74,7 @@ - if (IS_INTRESOURCE(x)) { \ - *(WORD*)seeker = 0xFFFF; \ - seeker += sizeof(WORD); \ -- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \ -+ *(WORD*)seeker = ConvertEndianness(WORD(long(x))); \ - seeker += sizeof(WORD); \ - } \ - else { \ -@@ -622,7 +622,7 @@ - } - } - -- assert((DWORD) seeker - (DWORD) pbDlg == dwSize); -+ assert((long) seeker - (long) pbDlg == dwSize); - - // DONE! - return pbDlg; -diff -ur nsis-2.34-src/Source/mmap.cpp nsis-2.34-src-64bit-fixes/Source/mmap.cpp ---- nsis-2.34-src/Source/mmap.cpp 2007-12-22 10:41:57.000000000 +0100 -+++ nsis-2.34-src-64bit-fixes/Source/mmap.cpp 2008-01-13 19:01:59.000000000 +0100 -@@ -324,7 +324,7 @@ - if (!pView) - return; - -- unsigned int alignment = ((unsigned int)pView) % m_iAllocationGranularity; -+ unsigned int alignment = ((unsigned long)pView) % m_iAllocationGranularity; - pView = (char *)pView - alignment; - size += alignment; - #ifdef _WIN32 -diff -ur nsis-2.34-src/Source/Platform.h nsis-2.34-src-64bit-fixes/Source/Platform.h ---- nsis-2.34-src/Source/Platform.h 2007-12-22 10:41:57.000000000 +0100 -+++ nsis-2.34-src-64bit-fixes/Source/Platform.h 2008-01-13 19:36:04.000000000 +0100 -@@ -185,7 +185,7 @@ - # define MAKEINTRESOURCE MAKEINTRESOURCEA - # endif - # ifndef IMAGE_FIRST_SECTION --# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \ -+# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (long) h + \ - FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \ - FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) ) - # endif -@@ -217,7 +217,7 @@ - #endif - - #ifndef ULONG_PTR --# define ULONG_PTR DWORD -+# define ULONG_PTR ULONG - #endif - - #ifndef IDC_HAND -@@ -722,7 +722,7 @@ - WORD e_oemid; - WORD e_oeminfo; - WORD e_res2[10]; -- LONG e_lfanew; -+ DWORD e_lfanew; - } IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER; - # pragma pack() - # pragma pack(4) -diff -ur nsis-2.34-src/Source/Plugins.cpp nsis-2.34-src-64bit-fixes/Source/Plugins.cpp ---- nsis-2.34-src/Source/Plugins.cpp 2007-12-22 10:41:57.000000000 +0100 -+++ nsis-2.34-src-64bit-fixes/Source/Plugins.cpp 2008-01-13 19:01:59.000000000 +0100 +--- ./Source/Plugins.cpp.lfarkas 2009-01-14 17:03:11.000000000 +0100 ++++ ./Source/Plugins.cpp 2009-01-14 17:03:58.000000000 +0100 @@ -136,7 +136,7 @@ DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData); PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va); @@ -85,9 +9,8 @@ diff -ur nsis-2.34-src/Source/Plugins.cpp nsis-2.34-src-64bit-fixes/Source/Plugi for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++) { const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA); -diff -ur nsis-2.34-src/Source/ResourceEditor.cpp nsis-2.34-src-64bit-fixes/Source/ResourceEditor.cpp ---- nsis-2.34-src/Source/ResourceEditor.cpp 2007-12-22 10:41:57.000000000 +0100 -+++ nsis-2.34-src-64bit-fixes/Source/ResourceEditor.cpp 2008-01-13 19:40:29.000000000 +0100 +--- ./Source/ResourceEditor.cpp.lfarkas 2009-01-14 17:04:08.000000000 +0100 ++++ ./Source/ResourceEditor.cpp 2009-01-14 17:07:47.000000000 +0100 @@ -665,7 +665,7 @@ rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries); @@ -160,9 +83,39 @@ diff -ur nsis-2.34-src/Source/ResourceEditor.cpp nsis-2.34-src-64bit-fixes/Sourc } else { m_bHasName = true; -diff -ur nsis-2.34-src/Source/util.cpp nsis-2.34-src-64bit-fixes/Source/util.cpp ---- nsis-2.34-src/Source/util.cpp 2007-12-22 10:41:57.000000000 +0100 -+++ nsis-2.34-src-64bit-fixes/Source/util.cpp 2008-01-13 19:01:59.000000000 +0100 +--- ./Source/DialogTemplate.cpp.lfarkas 2009-01-14 16:56:31.000000000 +0100 ++++ ./Source/DialogTemplate.cpp 2009-01-14 17:01:14.000000000 +0100 +@@ -74,7 +74,7 @@ + if (IS_INTRESOURCE(x)) { \ + *(WORD*)seeker = 0xFFFF; \ + seeker += sizeof(WORD); \ +- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \ ++ *(WORD*)seeker = ConvertEndianness(WORD(long(x))); \ + seeker += sizeof(WORD); \ + } \ + else { \ +@@ -622,7 +622,7 @@ + } + } + +- assert((DWORD) seeker - (DWORD) pbDlg == dwSize); ++ assert((long) seeker - (long) pbDlg == dwSize); + + // DONE! + return pbDlg; +--- ./Source/mmap.cpp.lfarkas 2009-01-14 17:00:12.000000000 +0100 ++++ ./Source/mmap.cpp 2009-01-14 17:01:36.000000000 +0100 +@@ -322,7 +322,7 @@ + if (!pView) + return; + +- unsigned int alignment = ((unsigned int)pView) % m_iAllocationGranularity; ++ unsigned int alignment = ((unsigned long)pView) % m_iAllocationGranularity; + pView = (char *)pView - alignment; + size += alignment; + #ifdef _WIN32 +--- ./Source/util.cpp.lfarkas 2009-01-14 17:07:59.000000000 +0100 ++++ ./Source/util.cpp 2009-01-14 17:09:25.000000000 +0100 @@ -75,9 +75,9 @@ } @@ -191,3 +144,43 @@ diff -ur nsis-2.34-src/Source/util.cpp nsis-2.34-src-64bit-fixes/Source/util.cpp fclose(f); return -3; } +--- ./Source/Platform.h.lfarkas 2009-01-14 17:01:43.000000000 +0100 ++++ ./Source/Platform.h 2009-01-14 17:03:03.000000000 +0100 +@@ -165,7 +165,7 @@ + # define MAKEINTRESOURCE MAKEINTRESOURCEA + # endif + # ifndef IMAGE_FIRST_SECTION +-# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \ ++# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (long) h + \ + FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \ + FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) ) + # endif +@@ -197,7 +197,7 @@ + #endif + + #ifndef ULONG_PTR +-# define ULONG_PTR DWORD ++# define ULONG_PTR ULONG + #endif + + #ifndef IDC_HAND +@@ -702,7 +702,7 @@ + WORD e_oemid; + WORD e_oeminfo; + WORD e_res2[10]; +- LONG e_lfanew; ++ DWORD e_lfanew; + } IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER; + # pragma pack() + # pragma pack(4) +--- ./SCons/Config/gnu.lfarkas 2009-01-14 16:55:33.000000000 +0100 ++++ ./SCons/Config/gnu 2009-01-14 16:56:21.000000000 +0100 +@@ -90,8 +90,6 @@ + makensis_env.Append(CXXFLAGS = ['-Wno-non-virtual-dtor']) # ignore virtual dtor warnings + + conf = FlagsConfigure(makensis_env) +-conf.CheckCompileFlag('-m32') # +-conf.CheckLinkFlag('-m32') # + conf.CheckLinkFlag('$MAP_FLAG') # generate map file + if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']: + TestStrip(conf) # strip diff --git a/nsis/nsis-2.43-debian-debug-opt.patch b/nsis/nsis-2.43-debian-debug-opt.patch new file mode 100644 index 0000000..ca31827 --- /dev/null +++ b/nsis/nsis-2.43-debian-debug-opt.patch @@ -0,0 +1,116 @@ +diff -up ./SCons/Config/gnu.debug ./SCons/Config/gnu +--- ./SCons/Config/gnu.debug 2009-02-13 12:41:42.000000000 +0100 ++++ ./SCons/Config/gnu 2009-02-13 12:42:37.000000000 +0100 +@@ -68,13 +68,16 @@ cross_env(stub_env) + + stub_env.Append(CPPPATH = ['#$BUILD_CONFIG']) + +-if not defenv['DEBUG']: +- stub_env.Append(CCFLAGS = ['-Os']) # optimize for size ++if defenv['DEBUG_SYMBOLS']: ++ stub_env.Append(LINKFLAGS = '-g') # debugging ++ stub_env.Append(CCFLAGS = '-g') # debugging ++if not defenv['DEBUG'] and defenv['OPT']: ++ stub_env.Append(CCFLAGS = ['-O2']) # optimize + stub_env.Append(CCFLAGS = ['-Wall']) # all warnings + stub_env.Append(CCFLAGS = ['-xc']) # force compile as c + stub_env.Append(CCFLAGS = ['-fno-strict-aliasing']) # not safe for strict aliasing + +-if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_W32']: ++if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_W32']: + stub_env.Append(LINKFLAGS = ['-s']) # strip + stub_env.Append(LINKFLAGS = ['-mwindows']) # build windows executables + stub_env.Append(LINKFLAGS = ['$NODEFLIBS_FLAG']) # no standard libraries +@@ -88,15 +91,18 @@ makensis_env = defenv.Clone() + + makensis_env.Append(CPPPATH = ['#$BUILD_CONFIG']) + +-if not defenv['DEBUG']: +- makensis_env.Append(CCFLAGS = ['-O2']) # optimize ++if defenv['DEBUG_SYMBOLS']: ++ makensis_env.Append(LINKFLAGS = '-g') # debugging ++ makensis_env.Append(CCFLAGS = '-g') # debugging ++if not defenv['DEBUG'] and defenv['OPT']: ++ makensis_env.Append(CCFLAGS = ['-O2']) # optimize + makensis_env.Append(CFLAGS = ['-Wall']) # all warnings + makensis_env.Append(CXXFLAGS = ['-Wno-non-virtual-dtor']) # ignore virtual dtor warnings + makensis_env.Append(CXXFLAGS = ['-Wall']) # all warnings + + conf = FlagsConfigure(makensis_env) + conf.CheckLinkFlag('$MAP_FLAG') # generate map file +-if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']: ++if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_CP']: + TestStrip(conf) # strip + conf.Finish() + +@@ -105,12 +111,15 @@ conf.Finish() + plugin_env = defenv.Clone() + cross_env(plugin_env) + +-if not defenv['DEBUG']: +- plugin_env.Append(CCFLAGS = ['-Os']) # optimize for size ++if defenv['DEBUG_SYMBOLS']: ++ plugin_env.Append(LINKFLAGS = '-g') # debugging ++ plugin_env.Append(CCFLAGS = '-g') # debugging ++if not defenv['DEBUG'] and defenv['OPT']: ++ plugin_env.Append(CCFLAGS = ['-O2']) # optimize + plugin_env.Append(CCFLAGS = ['-Wall']) # level 3 warnings + plugin_env.Append(CCFLAGS = ['-fno-strict-aliasing']) # not safe for strict aliasing + +-if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_W32']: ++if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_W32']: + plugin_env.Append(LINKFLAGS = ['-s']) # strip + plugin_env.Append(LINKFLAGS = ['-mwindows']) # build windows executables + plugin_env.Append(LINKFLAGS = ['$ALIGN_FLAG']) # 512 bytes align +@@ -122,7 +131,10 @@ cp_util_env = defenv.Clone() + + cp_util_env.Append(CPPPATH = ['#$BUILD_CONFIG']) + +-if not defenv['DEBUG']: ++if defenv['DEBUG_SYMBOLS']: ++ cp_util_env.Append(LINKFLAGS = '-g') # debugging ++ cp_util_env.Append(CCFLAGS = '-g') # debugging ++if not defenv['DEBUG'] and defenv['OPT']: + cp_util_env.Append(CCFLAGS = ['-O2']) # optimize + cp_util_env.Append(CCFLAGS = ['-Wall']) # all warnings + cp_util_env.Append(CCFLAGS = ['-fno-strict-aliasing']) # not safe for strict aliasing +@@ -140,7 +152,7 @@ util_env.Append(LINKFLAGS = ['-mwindows' + util_env.Append(LINKFLAGS = ['$ALIGN_FLAG']) # 512 bytes align + + conf = FlagsConfigure(util_env) +-if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_W32']: ++if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_W32']: + util_env.Append(LINKFLAGS = ['-s']) # strip + conf.Finish() + +@@ -149,7 +161,7 @@ conf.Finish() + conf = FlagsConfigure(cp_util_env) + conf.CheckCompileFlag('-m32') + conf.CheckLinkFlag('-m32') +-if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']: ++if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_CP']: + TestStrip(conf) # strip + conf.Finish() + +@@ -157,6 +169,9 @@ conf.Finish() + + test_env = defenv.Clone() + test_env.Append(CPPPATH = ['#$BUILD_CONFIG']) ++if defenv['DEBUG_SYMBOLS']: ++ test_env.Append(LINKFLAGS = '-g') # debugging ++ test_env.Append(CCFLAGS = '-g') # debugging + conf = FlagsConfigure(test_env) + conf.CheckCompileFlag('-m32') + conf.CheckLinkFlag('-m32') +diff -up ./SConstruct.debug ./SConstruct +--- ./SConstruct.debug 2009-02-04 15:05:48.000000000 +0100 ++++ ./SConstruct 2009-02-13 12:41:42.000000000 +0100 +@@ -157,6 +157,8 @@ opts.Add(('APPEND_CCFLAGS', 'Additional + opts.Add(('APPEND_LINKFLAGS', 'Additional linker flags')) + # build options + opts.Add(BoolVariable('DEBUG', 'Build executables with debugging information', 'no')) ++opts.Add(BoolOption('DEBUG_SYMBOLS', 'Build with debugging information, but none of the side effects of DEBUG', 'no')) ++opts.Add(BoolOption('OPT', 'Build with optimization', 'yes')) + opts.Add(PathVariable('CODESIGNER', 'A program used to sign executables', None)) + opts.Add(BoolVariable('STRIP', 'Strips executables of any unrequired data such as symbols', 'yes')) + opts.Add(BoolVariable('STRIP_CP', 'Strips cross-platform executables of any unrequired data such as symbols', 'yes'))