debian/0000755000000000000000000000000011701364701007166 5ustar debian/GenPat.xml0000644000000000000000000001062411562742435011102 0ustar Paul"> Wise"> October 5, 2005"> 1"> pabs@debian.org"> NSIS"> ]> &package; &package; manual
&email;
&firstname; &surname; Created man page 2005 &username; &date;
&ucpackage; §ion; &package; A program to create patch files in VPatch format. &package; DESCRIPTION This manual page documents briefly the &package; command. This manual page was written for the &debian; distribution because the original program does not have a manual page. Instead, it has documentation in the HTML format; see below. &package; is a program that creates installer programs for Windows. OPTIONS Replace a patch with same contents as source silently if it already exists. Set blocksize (default=64), multiple of 2 is required. More verbose information during patch creation. Deactivate match limit of the -A switch (sometimes smaller patches). Maximum number of block matches per block (improves performance). Default is 500, larger is slower. Use -V to see the cut-off aborts. EXIT STATUS 0 Success 1 Arguments missing 2 Other error 3 Source file already has a patch in specified patch file (=error) SEE ALSO GenPat is documented more fully in the HTML file /usr/share/doc/nsis/Docs/VPatch/Readme.html. AUTHOR This manual page was written by &username; &email; for the &debian; system.
debian/TODO0000644000000000000000000000042511562742435007670 0ustar Remove VPatch, package. Port to more architectures. Switch to non-forked halibut. [http://sf.net/support/tracker.php?aid=1651225] Port makensisw/etc to wxWidgets. Create a NEWS file in release.py. Get crossmingw.py merged into scons. Encourage upstream to add Unicode support. debian/nsis-doc.doc-base0000644000000000000000000000044411562742435012317 0ustar Document: nsis Title: Debian nsis Manual Author: Nullsoft, Inc. Abstract: This manual describes what nsis is and how it can be used to create Windows installer programs. Section: Programming Format: HTML Index: /usr/share/doc/nsis/Docs/Contents.html Files: /usr/share/doc/nsis/Docs/*.html debian/nsis-common.lintian-overrides0000644000000000000000000000012511562742435015017 0ustar nsis-common: extra-license-file usr/share/nsis/Contrib/Modern UI 2/Pages/License.nsh debian/control0000644000000000000000000000477611616531611010610 0ustar Source: nsis Section: devel Priority: optional Maintainer: Thomas Gaugler Uploaders: Didier Raboud Build-Depends: debhelper (>= 7.0.50~), scons (>= 1.2.0), xmlto, html2text, libcppunit-dev, zlib1g-dev, mingw-w64 (>= 1.0), libstdc++6-4.6-dev Standards-Version: 3.9.2 Homepage: http://nsis.sourceforge.net/ Vcs-Git: git://git.debian.org/collab-maint/nsis.git Vcs-Browser: http://git.debian.org/?p=collab-maint/nsis.git Package: nsis Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, nsis-common (>= ${source:Version}) Suggests: nsis-doc (>= ${source:Version}), nsis-pluginapi (>= ${source:Version}), mingw-w64 (>= 1.0), wine 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. . NSIS creates installers that are capable of installing, uninstalling, setting system settings, extracting files, etc. Because it's based on script files, you can fully control every part of your installers. The script language supports variables, functions, string manipulation, just like a normal programming language - but designed for the creation of installers. Even with all these features, NSIS is still the smallest installer system available. With the default options, it has an overhead of only 34 KB. Package: nsis-common Architecture: all Depends: ${misc:Depends} Replaces: nsis (<< 2.46-4) Breaks: nsis (<< 2.46-4) Description: Nullsoft Scriptable Install System stubs and plugins NSIS is a tool for creating quick and user friendly installers for Microsoft Windows (Win32) operating systems. . This package contains the stubs and plugins of NSIS. Package: nsis-pluginapi Architecture: all Depends: ${misc:Depends} Replaces: nsis (<< 2.46-4) Breaks: nsis (<< 2.46-4) Recommends: mingw-w64 (>= 1.0) Enhances: nsis (>= ${source:Version}) Description: Nullsoft Scriptable Install System plugin API NSIS is a tool for creating quick and user friendly installers for Microsoft Windows (Win32) operating systems. . This package contains the header and library files for developing NSIS plugins. Package: nsis-doc Section: doc Architecture: all Depends: ${misc:Depends} Replaces: nsis (<< 2.46-4) Breaks: nsis (<< 2.46-4) Description: Nullsoft Scriptable Install System documentation NSIS is a tool for creating quick and user friendly installers for Microsoft Windows (Win32) operating systems. . This package contains examples and the documentation in HTML format. debian/patches/0000755000000000000000000000000011701045544010616 5ustar debian/patches/makensis_native_64bit.patch0000644000000000000000000004623711562742435016053 0ustar Description: Build makensis and portable utilities natively for 64-bit systems Forwarded: http://sf.net/support/tracker.php?aid=1753070 Author: Thomas Gaugler diff -urd nsis-2.46-src.orig/SCons/Config/gnu nsis-2.46-src/SCons/Config/gnu --- nsis-2.46-src.orig/SCons/Config/gnu 2009-02-05 00:52:28.000000000 +0000 +++ nsis-2.46-src/SCons/Config/gnu 2010-05-04 18:15:54.000000000 +0000 @@ -95,8 +95,6 @@ makensis_env.Append(CXXFLAGS = ['-Wall']) # all 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 @@ -149,8 +147,6 @@ ### cross-platform util environment adjustments conf = FlagsConfigure(cp_util_env) -conf.CheckCompileFlag('-m32') -conf.CheckLinkFlag('-m32') if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']: TestStrip(conf) # strip conf.Finish() @@ -160,8 +156,6 @@ test_env = defenv.Clone() test_env.Append(CPPPATH = ['#$BUILD_CONFIG']) conf = FlagsConfigure(test_env) -conf.CheckCompileFlag('-m32') -conf.CheckLinkFlag('-m32') conf.Finish() ### weird GCC requirements diff -urd nsis-2.46-src.orig/Source/DialogTemplate.cpp nsis-2.46-src/Source/DialogTemplate.cpp --- nsis-2.46-src.orig/Source/DialogTemplate.cpp 2007-11-30 09:54:13.000000000 +0000 +++ nsis-2.46-src/Source/DialogTemplate.cpp 2010-05-04 18:15:46.000000000 +0000 @@ -74,7 +74,7 @@ if (IS_INTRESOURCE(x)) { \ *(WORD*)seeker = 0xFFFF; \ seeker += sizeof(WORD); \ - *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \ + *(WORD*)seeker = ConvertEndianness(WORD((ULONG_PTR)(x))); \ seeker += sizeof(WORD); \ } \ else { \ @@ -444,7 +444,7 @@ szClass = winchar_toansi(m_vItems[i]->szClass); // Button - if (long(m_vItems[i]->szClass) == 0x80) { + if ((ULONG_PTR)(m_vItems[i]->szClass) == 0x80) { m_vItems[i]->dwStyle ^= BS_LEFTTEXT; m_vItems[i]->dwStyle ^= BS_RIGHT; m_vItems[i]->dwStyle ^= BS_LEFT; @@ -458,13 +458,13 @@ } } // Edit - else if (long(m_vItems[i]->szClass) == 0x81) { + else if ((ULONG_PTR)(m_vItems[i]->szClass) == 0x81) { if ((m_vItems[i]->dwStyle & ES_CENTER) == 0) { m_vItems[i]->dwStyle ^= ES_RIGHT; } } // Static - else if (long(m_vItems[i]->szClass) == 0x82) { + else if ((ULONG_PTR)(m_vItems[i]->szClass) == 0x82) { if ((m_vItems[i]->dwStyle & SS_TYPEMASK) == SS_LEFT || (m_vItems[i]->dwStyle & SS_TYPEMASK) == SS_LEFTNOWORDWRAP) { m_vItems[i]->dwStyle &= ~SS_TYPEMASK; @@ -571,7 +571,7 @@ // Write all of the items for (unsigned int i = 0; i < m_vItems.size(); i++) { // DLGITEMTEMPLATE[EX]s must be aligned on DWORD boundary - if (DWORD(seeker - pbDlg) % sizeof(DWORD)) + if ((seeker - pbDlg) % sizeof(DWORD)) seeker += sizeof(WORD); if (m_bExtended) { @@ -622,7 +622,7 @@ } } - assert((DWORD) seeker - (DWORD) pbDlg == dwSize); + assert((DWORD)(seeker - pbDlg) == dwSize); // DONE! return pbDlg; diff -urd nsis-2.46-src.orig/Source/Platform.h nsis-2.46-src/Source/Platform.h --- nsis-2.46-src.orig/Source/Platform.h 2009-06-06 16:22:25.000000000 +0000 +++ nsis-2.46-src/Source/Platform.h 2010-05-04 18:15:54.000000000 +0000 @@ -53,6 +53,7 @@ typedef const char *LPCCH, *PCSTR, *LPCSTR; typedef unsigned short WCHAR, OLECHAR, *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR, *BSTR; typedef const unsigned short *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR, *LPCOLESTR; +typedef int INT_PTR; typedef unsigned int UINT_PTR; // basic stuff typedef void * HANDLE; @@ -60,8 +72,8 @@ typedef HANDLE HMODULE; typedef unsigned long HKEY; // some gdi -typedef unsigned long COLORREF; -typedef unsigned long HBRUSH; +typedef DWORD COLORREF; +typedef UINT32 HBRUSH; // bool # define FALSE 0 # define TRUE 1 @@ -166,7 +183,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( (ULONG_PTR) h + \ FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \ FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) ) # endif @@ -174,7 +191,7 @@ # define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16))) # endif # ifndef MAKELONG -# define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16))) +# define MAKELONG(a,b) ((DWORD)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16))) # endif #endif #ifndef IS_INTRESOURCE @@ -197,8 +214,10 @@ # define FOF_NOERRORUI 0x0400 #endif -#ifndef ULONG_PTR -# define ULONG_PTR DWORD +// mingw32 and w64-mingw32 do not define ULONG_PTR +// but rather declare ULONG_PTR via typedef (see basetsd.h) +#if !defined(__MINGW32__) && !defined(ULONG_PTR) +# define ULONG_PTR unsigned long #endif #ifndef IDC_HAND @@ -238,7 +257,7 @@ # undef INVALID_FILE_ATTRIBUTES #endif #ifndef INVALID_FILE_ATTRIBUTES -# define INVALID_FILE_ATTRIBUTES ((unsigned long) -1) +# define INVALID_FILE_ATTRIBUTES ((DWORD) -1) #endif // shell folders diff -urd nsis-2.46-src.orig/Source/Plugins.cpp nsis-2.46-src/Source/Plugins.cpp --- nsis-2.46-src.orig/Source/Plugins.cpp 2009-02-01 14:44:30.000000000 +0000 +++ nsis-2.46-src/Source/Plugins.cpp 2010-05-04 18:15:54.000000000 +0000 @@ -29,7 +29,7 @@ #include "dirreader.h" #ifdef _WIN32 -# include +# include #else # include #endif @@ -136,8 +136,8 @@ 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); - for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++) + LPDWORD names = (LPDWORD)((ULONG_PTR)exports + na - ExportDirVA); + for (DWORD j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++) { const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA); const string signature = dllName + "::" + name; diff -urd nsis-2.46-src.orig/Source/ResourceEditor.cpp nsis-2.46-src/Source/ResourceEditor.cpp --- nsis-2.46-src.orig/Source/ResourceEditor.cpp 2009-02-05 00:50:12.000000000 +0000 +++ nsis-2.46-src/Source/ResourceEditor.cpp 2010-05-04 18:15:46.000000000 +0000 @@ -27,20 +27,10 @@ #define ALIGN(dwToAlign, dwAlignOn) dwToAlign = (dwToAlign%dwAlignOn == 0) ? dwToAlign : dwToAlign - (dwToAlign%dwAlignOn) + dwAlignOn #define RALIGN(dwToAlign, dwAlignOn) ((dwToAlign%dwAlignOn == 0) ? dwToAlign : dwToAlign - (dwToAlign%dwAlignOn) + dwAlignOn) -#ifndef _WIN32 -static inline ULONG ConvertEndianness(ULONG u) { - return FIX_ENDIAN_INT32(u); -} -#endif - static inline DWORD ConvertEndianness(DWORD d) { return FIX_ENDIAN_INT32(d); } -static inline LONG ConvertEndianness(LONG l) { - return FIX_ENDIAN_INT32(l); -} - static inline WORD ConvertEndianness(WORD w) { return FIX_ENDIAN_INT16(w); } @@ -52,7 +42,7 @@ throw runtime_error("PE file contains invalid DOS header"); // Get NT headers - PIMAGE_NT_HEADERS ntHeaders = (PIMAGE_NT_HEADERS)(pbPE + ConvertEndianness(dosHeader->e_lfanew)); + PIMAGE_NT_HEADERS ntHeaders = (PIMAGE_NT_HEADERS)(pbPE + ConvertEndianness((DWORD)dosHeader->e_lfanew)); if (ntHeaders->Signature != IMAGE_NT_SIGNATURE) throw runtime_error("PE file missing NT signature"); @@ -684,7 +674,7 @@ rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries); CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY)); - crd->m_dwWrittenAt = DWORD(seeker); + crd->m_ulWrittenAt = (ULONG_PTR)(seeker); seeker += sizeof(IMAGE_RESOURCE_DIRECTORY); for (int i = 0; i < crd->CountEntries(); i++) { @@ -705,7 +695,7 @@ rDirE.UName.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_ulWrittenAt = (ULONG_PTR)(seeker); seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY); } qDirs.pop(); @@ -721,7 +711,7 @@ rDataE.Size = ConvertEndianness(cRDataE->GetSize()); CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY)); - cRDataE->m_dwWrittenAt = DWORD(seeker); + cRDataE->m_ulWrittenAt = (ULONG_PTR)(seeker); seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY); qDataEntries.pop(); @@ -733,7 +723,7 @@ while (!qStrings.empty()) { CResourceDirectoryEntry* cRDirE = qStrings.front(); - PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->UName.NameString.NameOffset = ConvertEndianness(DWORD(seeker) - DWORD(pbRsrcSec)); + PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_ulWrittenAt)->UName.NameString.NameOffset = ConvertEndianness((DWORD) (seeker - pbRsrcSec)); WCHAR* szName = cRDirE->GetName(); WORD iLen = winchar_strlen(szName) + 1; @@ -754,7 +744,7 @@ while (!qDataEntries2.empty()) { CResourceDataEntry* cRDataE = qDataEntries2.front(); CopyMemory(seeker, cRDataE->GetData(), cRDataE->GetSize()); - PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_dwWrittenAt)->OffsetToData = ConvertEndianness(seeker - pbRsrcSec + m_dwResourceSectionVA); + PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_ulWrittenAt)->OffsetToData = ConvertEndianness((DWORD)(seeker - pbRsrcSec) + m_dwResourceSectionVA); seeker += RALIGN(cRDataE->GetSize(), 8); @@ -764,21 +754,21 @@ /* * Set all of the directory entries offsets. */ - SetOffsets(m_cResDir, DWORD(pbRsrcSec)); + SetOffsets(m_cResDir, (ULONG_PTR)(pbRsrcSec)); } // Sets the offsets in directory entries -void CResourceEditor::SetOffsets(CResourceDirectory* resDir, DWORD newResDirAt) { +void CResourceEditor::SetOffsets(CResourceDirectory* resDir, ULONG_PTR newResDirAt) { for (int i = 0; i < resDir->CountEntries(); i++) { - PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY rde = PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(resDir->GetEntry(i)->m_dwWrittenAt); + PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY rde = PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(resDir->GetEntry(i)->m_ulWrittenAt); if (resDir->GetEntry(i)->IsDataDirectory()) { rde->UOffset.DirectoryOffset.DataIsDirectory = 1; - rde->UOffset.DirectoryOffset.OffsetToDirectory = resDir->GetEntry(i)->GetSubDirectory()->m_dwWrittenAt - newResDirAt; + rde->UOffset.DirectoryOffset.OffsetToDirectory = resDir->GetEntry(i)->GetSubDirectory()->m_ulWrittenAt - newResDirAt; rde->UOffset.OffsetToData = ConvertEndianness(rde->UOffset.OffsetToData); SetOffsets(resDir->GetEntry(i)->GetSubDirectory(), newResDirAt); } else { - rde->UOffset.OffsetToData = ConvertEndianness(resDir->GetEntry(i)->GetDataEntry()->m_dwWrittenAt - newResDirAt); + rde->UOffset.OffsetToData = ConvertEndianness((DWORD)(resDir->GetEntry(i)->GetDataEntry()->m_ulWrittenAt - newResDirAt)); } } } @@ -887,7 +877,7 @@ // Returns -1 if can not be found int CResourceDirectory::Find(WCHAR* szName) { if (IS_INTRESOURCE(szName)) - return Find((WORD) (DWORD) szName); + return Find((WORD) (ULONG_PTR) szName); else if (szName[0] == '#') return Find(WORD(winchar_stoi(szName + 1))); @@ -965,7 +955,7 @@ if (IS_INTRESOURCE(szName)) { m_bHasName = false; m_szName = 0; - m_wId = (WORD) (DWORD) szName; + m_wId = (WORD) (ULONG_PTR) szName; } else { m_bHasName = true; @@ -979,7 +969,7 @@ if (IS_INTRESOURCE(szName)) { m_bHasName = false; m_szName = 0; - m_wId = (WORD) (DWORD) szName; + m_wId = (WORD) (ULONG_PTR) szName; } else { m_bHasName = true; diff -urd nsis-2.46-src.orig/Source/ResourceEditor.h nsis-2.46-src/Source/ResourceEditor.h --- nsis-2.46-src.orig/Source/ResourceEditor.h 2009-02-01 14:44:30.000000000 +0000 +++ nsis-2.46-src/Source/ResourceEditor.h 2010-05-04 18:19:00.000000000 +0000 @@ -27,7 +27,7 @@ #include "Platform.h" #ifdef _WIN32 -# include +# include #else // all definitions for non Win32 platforms were taken from MinGW's free Win32 library # define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 @@ -156,7 +156,7 @@ CResourceDirectory* ScanDirectory(PRESOURCE_DIRECTORY rdRoot, PRESOURCE_DIRECTORY rdToScan); void WriteRsrcSec(BYTE* pbRsrcSec); - void SetOffsets(CResourceDirectory* resDir, DWORD newResDirAt); + void SetOffsets(CResourceDirectory* resDir, ULONG_PTR newResDirAt); DWORD AdjustVA(DWORD dwVirtualAddress, DWORD dwAdjustment); DWORD AlignVA(DWORD dwVirtualAddress); @@ -180,7 +180,7 @@ void Destroy(); - DWORD m_dwWrittenAt; + ULONG_PTR m_ulWrittenAt; private: IMAGE_RESOURCE_DIRECTORY m_rdDir; @@ -204,7 +204,7 @@ CResourceDataEntry* GetDataEntry(); - DWORD m_dwWrittenAt; + ULONG_PTR m_ulWrittenAt; private: bool m_bHasName; @@ -232,7 +232,7 @@ DWORD GetCodePage(); DWORD GetOffset(); - DWORD m_dwWrittenAt; + ULONG_PTR m_ulWrittenAt; private: BYTE* m_pbData; diff -urd nsis-2.46-src.orig/Source/ResourceVersionInfo.cpp nsis-2.46-src/Source/ResourceVersionInfo.cpp --- nsis-2.46-src.orig/Source/ResourceVersionInfo.cpp 2009-03-28 10:20:04.000000000 +0000 +++ nsis-2.46-src/Source/ResourceVersionInfo.cpp 2010-05-04 18:15:29.000000000 +0000 @@ -146,7 +146,7 @@ p += sizeof(WORD); szKey = (WCHAR*)p; p += (winchar_strlen(szKey) + 1) * sizeof (WCHAR); - while ( ((long)p % 4) != 0 ) + while ( ((ULONG_PTR)p % 4) != 0 ) p++; return p - baseP; } diff -urd nsis-2.46-src.orig/Source/fileform.cpp nsis-2.46-src/Source/fileform.cpp --- nsis-2.46-src.orig/Source/fileform.cpp 2009-02-01 14:44:30.000000000 +0000 +++ nsis-2.46-src/Source/fileform.cpp 2010-05-04 18:15:29.000000000 +0000 @@ -149,7 +149,7 @@ m_sink->write_int(data->text); m_sink->write_int(data->bkc); m_sink->write_int(data->lbStyle); - m_sink->write_int((int) data->bkb); + m_sink->write_int((INT_PTR) data->bkb); m_sink->write_int(data->bkmode); m_sink->write_int(data->flags); } diff -urd nsis-2.46-src.orig/Source/mmap.cpp nsis-2.46-src/Source/mmap.cpp --- nsis-2.46-src.orig/Source/mmap.cpp 2009-02-01 14:44:30.000000000 +0000 +++ nsis-2.46-src/Source/mmap.cpp 2010-05-04 18:15:46.000000000 +0000 @@ -322,7 +322,7 @@ if (!pView) return; - unsigned int alignment = ((unsigned int)pView) % m_iAllocationGranularity; + unsigned int alignment = ((ULONG_PTR)pView) % m_iAllocationGranularity; pView = (char *)pView - alignment; size += alignment; #ifdef _WIN32 diff -urd nsis-2.46-src.orig/Source/script.cpp nsis-2.46-src/Source/script.cpp --- nsis-2.46-src.orig/Source/script.cpp 2009-06-10 21:26:01.000000000 +0000 +++ nsis-2.46-src/Source/script.cpp 2010-05-04 18:15:54.000000000 +0000 @@ -2129,7 +2129,7 @@ int k=line.gettoken_enum(1,rootkeys[0]); if (k == -1) k=line.gettoken_enum(1,rootkeys[1]); if (k == -1) PRINTHELP() - build_header.install_reg_rootkey=(int)rootkey_tab[k]; + build_header.install_reg_rootkey=(INT_PTR)rootkey_tab[k]; if (!build_header.install_reg_rootkey) PRINTHELP() // SHCTX is invalid here build_header.install_reg_key_ptr = add_string(line.gettoken_str(2),0); if (line.gettoken_str(2)[0] == '\\') @@ -5184,7 +5184,7 @@ int k=line.gettoken_enum(2,rootkeys[0]); if (k == -1) k=line.gettoken_enum(2,rootkeys[1]); if (ent.offsets[0] == -1 || k == -1) PRINTHELP() - ent.offsets[1]=(int)rootkey_tab[k]; + ent.offsets[1]=(INT_PTR)rootkey_tab[k]; ent.offsets[2]=add_string(line.gettoken_str(3)); ent.offsets[3]=add_string(line.gettoken_str(4)); if (which_token == TOK_READREGDWORD) ent.offsets[4]=1; @@ -5216,7 +5216,7 @@ if (k == -1) k=line.gettoken_enum(a,rootkeys[1]); if (k == -1) PRINTHELP() ent.which=EW_DELREG; - ent.offsets[1]=(int)rootkey_tab[k]; + ent.offsets[1]=(INT_PTR)rootkey_tab[k]; ent.offsets[2]=add_string(line.gettoken_str(a+1)); ent.offsets[3]=(which_token==TOK_DELETEREGKEY)?0:add_string(line.gettoken_str(a+2)); if (line.gettoken_str(a+1)[0] == '\\') @@ -5236,7 +5236,7 @@ if (k == -1) k=line.gettoken_enum(1,rootkeys[1]); if (k == -1) PRINTHELP() ent.which=EW_WRITEREG; - ent.offsets[0]=(int)rootkey_tab[k]; + ent.offsets[0]=(INT_PTR)rootkey_tab[k]; ent.offsets[1]=add_string(line.gettoken_str(2)); if (line.gettoken_str(2)[0] == '\\') warning_fl("%s: registry path name begins with \'\\\', may cause problems",line.gettoken_str(0)); @@ -5305,7 +5305,7 @@ int k=line.gettoken_enum(2,rootkeys[0]); if (k == -1) k=line.gettoken_enum(2,rootkeys[1]); if (ent.offsets[0] == -1 || k == -1) PRINTHELP() - ent.offsets[1]=(int)rootkey_tab[k]; + ent.offsets[1]=(INT_PTR)rootkey_tab[k]; ent.offsets[2]=add_string(line.gettoken_str(3)); ent.offsets[3]=add_string(line.gettoken_str(4)); ent.offsets[4]=which_token == TOK_ENUMREGKEY; diff -urd nsis-2.46-src.orig/Source/util.cpp nsis-2.46-src/Source/util.cpp --- nsis-2.46-src.orig/Source/util.cpp 2009-03-28 09:56:49.000000000 +0000 +++ nsis-2.46-src/Source/util.cpp 2010-05-04 18:15:54.000000000 +0000 @@ -77,9 +77,9 @@ } if (width != 0) { - LONG biWidth; + INT32 biWidth; fseek(f, 18, SEEK_SET); // Seek to the width member of the header - fread(&biWidth, sizeof(LONG), 1, f); + fread(&biWidth, sizeof(INT32), 1, f); FIX_ENDIAN_INT32_INPLACE(biWidth); if (width != biWidth) { fclose(f); @@ -88,9 +88,9 @@ } if (height != 0) { - LONG biHeight; + INT32 biHeight; fseek(f, 22, SEEK_SET); // Seek to the height member of the header - fread(&biHeight, sizeof(LONG), 1, f); + fread(&biHeight, sizeof(INT32), 1, f); FIX_ENDIAN_INT32_INPLACE(biHeight); // Bitmap height can be negative too... if (height != abs(biHeight)) { @@ -689,8 +689,8 @@ } // Find the beginning of the NT header at offset e_lfanew. - pNtExeHdr = (PIMAGE_NT_HEADERS) ( (DWORD) pView - + (DWORD) pDosExeHdr->e_lfanew ); + pNtExeHdr = (PIMAGE_NT_HEADERS) ( (ULONG_PTR) pView + + pDosExeHdr->e_lfanew ); // Check to make sure the file is a VxD. if ( (DWORD) pNtExeHdr->Signature != IMAGE_VXD_SIGNATURE ) @@ -728,8 +728,8 @@ } // e32_winresoff contains the offset of the resource in the VxD. - pVerRes = (VXD_VERSION_RESOURCE *) ( (DWORD) pView - + (DWORD) pLEHdr->e32_winresoff ); + pVerRes = (VXD_VERSION_RESOURCE *) ( (ULONG_PTR) pView + + pLEHdr->e32_winresoff ); dwSize = pVerRes->dwResSize; pRawRes = &(pVerRes->bVerData); @@ -780,7 +780,7 @@ // GetVxdVersion() will fail with ERROR_INSUFFICIENT_BUFFER and // the required buffer size will be returned in dwResult. - if ( GetLastError() == ERROR_INSUFFICIENT_BUFFER ) + if ( dwError == ERROR_INSUFFICIENT_BUFFER ) { SetLastError( 0 ); return dwResult; debian/patches/zmemcpy.patch0000644000000000000000000000270711700553427013334 0ustar Description: Use zmemcpy function of the same calling convention. The zmemcpy function used to be mapped to the standard C library memcpy function for POSIX systems. However the prototype of the standard C library memcpy function differ from the expected one. Therefore zmemcpy is mapped to mini_memcpy for consistency. The NSISCALL define is evaluated for setting the calling convention. Author: Thomas Gaugler Index: nsis-2.46/Source/zlib/ZUTIL.H =================================================================== --- nsis-2.46/Source/zlib/ZUTIL.H +++ nsis-2.46/Source/zlib/ZUTIL.H @@ -59,12 +59,8 @@ #ifdef EXEHEAD -# ifdef _WIN32 -# include "../exehead/util.h" -# define zmemcpy mini_memcpy -# else -# define zmemcpy memcpy -# endif +# include "../exehead/util.h" +# define zmemcpy mini_memcpy #else # define zmemcpy memcpy # define zmemzero(a,b) memset(a,0,b) Index: nsis-2.46/Source/exehead/util.h =================================================================== --- nsis-2.46/Source/exehead/util.h +++ nsis-2.46/Source/exehead/util.h @@ -19,7 +19,15 @@ #include "../Platform.h" #include "config.h" + +#ifdef _WIN32 #include +#else +typedef LPCSTR LPCTSTR; +struct _WIN32_FIND_DATAA; +typedef struct _WIN32_FIND_DATAA WIN32_FIND_DATAA; +typedef WIN32_FIND_DATAA WIN32_FIND_DATA; +#endif /* _WIN32 */ extern char ps_tmpbuf[NSIS_MAX_STRLEN*2]; char * NSISCALL GetNSISString(char *outbuf, int strtab); debian/patches/static-libgcc-libstdc++.patch0000644000000000000000000000231611701045543016120 0ustar Description: Make plugins not depend on libgcc_s_sjlj-1.dll nor libdtdc++-6.dll. . Plugins must not depend on a shared libgcc. Newer MinGW GCC builds now also default to a shared libstdc++, so plugins now also require -static-libstdc++. . Without this patch, C++ plugins such as NSISdl fail to load. Origin: upstream, http://sf.net/support/tracker.php?aid=3406350 Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=734905 Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=553971 Bug-Debian: http://bugs.debian.org/654380 Author: Kevin Kofler Acked-by: Didier Raboud Last-Update: 2012-01-03 --- a/SCons/Config/gnu +++ b/SCons/Config/gnu @@ -115,6 +115,8 @@ plugin_env.Append(LINKFLAGS = ['-mwindows']) # build windows executables plugin_env.Append(LINKFLAGS = ['$ALIGN_FLAG']) # 512 bytes align plugin_env.Append(LINKFLAGS = ['$MAP_FLAG']) # generate map file +plugin_env.Append(LINKFLAGS = ['-static-libgcc']) # Make sure libgcc is statically linked in, for the plugins to work. +plugin_env.Append(LINKFLAGS = ['-static-libstdc++']) # Make sure libstdc++ is statically linked in, for the plugins to work. ### cross-platform util environment debian/patches/sconstruct_variant_dir.patch0000644000000000000000000000626711562742435016453 0ustar Description: Use variant_dir instead of build_dir keyword in SConstruct file The use of the build_dir keyword has been declared deprecated since scons version 0.98. The variant_dir keyword should be used instead. Forwarded: http://sf.net/support/tracker.php?aid=3075573 Author: Thomas Gaugler diff -urd nsis-2.46-src.orig/SConstruct nsis-2.46-src/SConstruct --- nsis-2.46-src.orig/SConstruct 2010-09-25 17:08:49.000000000 +0200 +++ nsis-2.46-src/SConstruct 2010-09-25 17:27:37.000000000 +0200 @@ -470,7 +470,7 @@ exports = { 'env' : env, 'compression' : compression, 'solid_compression' : solid } - target = defenv.SConscript(dirs = 'Source/exehead', build_dir = build_dir, duplicate = False, exports = exports) + target = defenv.SConscript(dirs = 'Source/exehead', variant_dir = build_dir, duplicate = False, exports = exports) env.SideEffect('%s/stub_%s.map' % (build_dir, stub), target) env.DistributeStubs(target, names=compression+suffix) @@ -494,7 +494,7 @@ build_dir = '$BUILD_PREFIX/makensis' exports = { 'env' : makensis_env } -makensis = defenv.SConscript(dirs = 'Source', build_dir = build_dir, duplicate = False, exports = exports) +makensis = defenv.SConscript(dirs = 'Source', variant_dir = build_dir, duplicate = False, exports = exports) makensis_env.SideEffect('%s/makensis.map' % build_dir, makensis) @@ -581,7 +581,7 @@ build_dir = '$BUILD_PREFIX/' + plugin exports = {'BuildPlugin' : BuildPlugin, 'env' : plugin_env.Clone()} - defenv.SConscript(dirs = path, build_dir = build_dir, duplicate = False, exports = exports) + defenv.SConscript(dirs = path, variant_dir = build_dir, duplicate = False, exports = exports) ###################################################################### ####### Utilities ### @@ -651,7 +651,7 @@ build_dir = '$BUILD_PREFIX/' + util exports = {'BuildUtil' : BuildUtil, 'BuildUtilEnv' : BuildUtilEnv, 'env' : util_env} - defenv.SConscript(dirs = path, build_dir = build_dir, duplicate = False, exports = exports) + defenv.SConscript(dirs = path, variant_dir = build_dir, duplicate = False, exports = exports) ###################################################################### ####### Documentation ### @@ -659,7 +659,7 @@ halibut = defenv.SConscript( dirs = 'Docs/src/bin/halibut', - build_dir = '$BUILD_PREFIX/halibut', + variant_dir = '$BUILD_PREFIX/halibut', duplicate = False, exports = {'env' : defenv.Clone()} ) @@ -667,14 +667,14 @@ if defenv['CHMDOCS']: defenv.SConscript( dirs = 'Docs/src', - build_dir = '$BUILD_PREFIX/Docs/chm', + variant_dir = '$BUILD_PREFIX/Docs/chm', duplicate = False, exports = {'halibut' : halibut, 'env' : defenv.Clone(), 'build_chm' : True} ) else: defenv.SConscript( dirs = 'Docs/src', - build_dir = '$BUILD_PREFIX/Docs/html', + variant_dir = '$BUILD_PREFIX/Docs/html', duplicate = False, exports = {'halibut' : halibut, 'env' : defenv.Clone(), 'build_chm' : False} ) @@ -720,7 +720,7 @@ dirs = 'Source/Tests', duplicate = False, exports = exports, - build_dir = build_dir + variant_dir = build_dir ) defenv.Ignore('$BUILD_PREFIX', '$BUILD_PREFIX/tests') debian/patches/nsis_system_zlib.patch0000644000000000000000000006625711562742435015267 0ustar Description: Usage of the zlib compression library provided by the system The changes were cherry-picked from the following upstream svn revisions 6030, 6039, 6044 and 6063. Furthermore the NSIS embedded inflate function was made compatible with the one from zlib. Forwarded: http://sf.net/support/tracker.php?aid=2918870 Forwarded: http://sf.net/support/tracker.php?aid=2995455 Author: Thomas Gaugler Index: nsis-2.46/Source/zlib/INFBLOCK.C =================================================================== --- nsis-2.46/Source/zlib/INFBLOCK.C +++ nsis-2.46/Source/zlib/INFBLOCK.C @@ -424,7 +424,7 @@ } break; case LENS: - NEEDBITS(16) + NEEDBITS(32) s->sub.left = (uInt)b & 0xffff; b = k = 0; /* dump bits */ Tracev((stderr, "inflate: stored length %u\n", s->sub.left)); Index: nsis-2.46/INSTALL =================================================================== --- nsis-2.46/INSTALL (revision 6038) +++ nsis-2.46/INSTALL (revision 6044) @@ -6,7 +6,8 @@ - Requirements * Python version 1.6 and above (http://www.python.org/) - * SCons version 0.96.93 and above (http://www.scons.org/) + * SCons version 1.2.0 and above (http://www.scons.org/) + * zlib version 1.2.3 and above (http://www.zlib.net/) * C compiler - Optional Tools @@ -16,6 +17,14 @@ * wxWidgets 2.8 for NSIS Menu (http://www.wxwidgets.org) WXWIN environment variable must be set to wxWidgets directory on Windows + - Preparation + + * Unpack the zip archive of the downloaded zlib compiled DLL package + to a folder of your choice, e.g. C:\Dev\zlib-1.2.4 and set the + ZLIB_W32 environment variable, type: + + set ZLIB_W32=C:\Dev\zlib-1.2.4 + - Installing * type: Index: nsis-2.46/Contrib/VPatch/Source/GenPat/SConscript =================================================================== --- nsis-2.46/Contrib/VPatch/Source/GenPat/SConscript (revision 6029) +++ nsis-2.46/Contrib/VPatch/Source/GenPat/SConscript (revision 6030) @@ -13,6 +13,7 @@ """) libs = Split(""" + z """) Import('BuildUtil') Index: nsis-2.46/Contrib/VPatch/Source/GenPat/adler32.cpp =================================================================== --- nsis-2.46/Contrib/VPatch/Source/GenPat/adler32.cpp (revision 6029) +++ nsis-2.46/Contrib/VPatch/Source/GenPat/adler32.cpp (revision 6030) @@ -24,69 +24,14 @@ */ #include "adler32.h" +namespace zlib { +#include +} -#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ - -#define BASE 65521UL /* largest prime smaller than 65536 */ -#define NMAX 5552 -/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ - -#define DO1(buf,i) {s1 += buf[i]; s2 += s1;} -#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1); -#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2); -#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4); -#define DO16(buf) DO8(buf,0); DO8(buf,8); - -#ifdef NO_DIVIDE -# define MOD(a) \ - do { \ - if (a >= (BASE << 16)) a -= (BASE << 16); \ - if (a >= (BASE << 15)) a -= (BASE << 15); \ - if (a >= (BASE << 14)) a -= (BASE << 14); \ - if (a >= (BASE << 13)) a -= (BASE << 13); \ - if (a >= (BASE << 12)) a -= (BASE << 12); \ - if (a >= (BASE << 11)) a -= (BASE << 11); \ - if (a >= (BASE << 10)) a -= (BASE << 10); \ - if (a >= (BASE << 9)) a -= (BASE << 9); \ - if (a >= (BASE << 8)) a -= (BASE << 8); \ - if (a >= (BASE << 7)) a -= (BASE << 7); \ - if (a >= (BASE << 6)) a -= (BASE << 6); \ - if (a >= (BASE << 5)) a -= (BASE << 5); \ - if (a >= (BASE << 4)) a -= (BASE << 4); \ - if (a >= (BASE << 3)) a -= (BASE << 3); \ - if (a >= (BASE << 2)) a -= (BASE << 2); \ - if (a >= (BASE << 1)) a -= (BASE << 1); \ - if (a >= BASE) a -= BASE; \ - } while (0) -#else -# define MOD(a) a %= BASE -#endif - namespace Checksum { /* ========================================================================= */ uLong adler32(uLong adler, const Byte *buf, uInt len) { - unsigned long s1 = adler & 0xffff; - unsigned long s2 = (adler >> 16) & 0xffff; - int k; - - if (buf == Z_NULL) return 1L; - - while (len > 0) { - k = len < NMAX ? (int)len : NMAX; - len -= k; - while (k >= 16) { - DO16(buf); - buf += 16; - k -= 16; - } - if (k != 0) do { - s1 += *buf++; - s2 += s1; - } while (--k); - MOD(s1); - MOD(s2); - } - return (s2 << 16) | s1; + return zlib::adler32(adler, buf, len); } } Index: nsis-2.46/Contrib/zip2exe/zlib/ioapi.c =================================================================== --- nsis-2.46/Contrib/zip2exe/zlib/ioapi.c (revision 6029) +++ nsis-2.46/Contrib/zip2exe/zlib/ioapi.c (revision 6030) @@ -10,7 +10,7 @@ #include #include -#include "zlib.h" +#include #include "ioapi.h" Index: nsis-2.46/Contrib/zip2exe/zlib/unzip.c =================================================================== --- nsis-2.46/Contrib/zip2exe/zlib/unzip.c (revision 6029) +++ nsis-2.46/Contrib/zip2exe/zlib/unzip.c (revision 6030) @@ -38,7 +38,7 @@ #include #include #include -#include "zlib.h" +#include #include "unzip.h" #ifdef STDC Index: nsis-2.46/Contrib/zip2exe/zlib/unzip.h =================================================================== --- nsis-2.46/Contrib/zip2exe/zlib/unzip.h (revision 6029) +++ nsis-2.46/Contrib/zip2exe/zlib/unzip.h (revision 6030) @@ -50,7 +50,7 @@ #endif #ifndef _ZLIB_H -#include "zlib.h" +#include #endif #ifndef _ZLIBIOAPI_H Index: nsis-2.46/Contrib/zip2exe/SConscript =================================================================== --- nsis-2.46/Contrib/zip2exe/SConscript (revision 6029) +++ nsis-2.46/Contrib/zip2exe/SConscript (revision 6030) @@ -2,14 +2,8 @@ files = Split(""" main.cpp - zlib/adler32.c - zlib/crc32.c - zlib/inffast.c - zlib/inflate.c - zlib/inftrees.c zlib/ioapi.c zlib/unzip.c - zlib/zutil.c """) resources = Split(""" @@ -26,6 +20,7 @@ comdlg32 advapi32 shell32 + z """) headers = Split(""" Index: nsis-2.46/Contrib/SubStart/SConscript =================================================================== --- nsis-2.46/Contrib/SubStart/SConscript (revision 0) +++ nsis-2.46/Contrib/SubStart/SConscript (revision 6063) @@ -0,0 +1,16 @@ +Import('env') + +target = "substart" + +files = Split(""" + substart.c +""") + +libs = Split(""" +""") + +Import('BuildUtil') + +substart = BuildUtil(target, files, libs) + +env.DistributeBin(substart, names=['makensis.exe'], alias='install-compiler') # install as makensis Index: nsis-2.46/Contrib/SubStart/substart.c =================================================================== --- nsis-2.46/Contrib/SubStart/substart.c (revision 0) +++ nsis-2.46/Contrib/SubStart/substart.c (revision 6030) @@ -0,0 +1,109 @@ +/* + * substart.c + * + * Copyright (c) 2010 Thomas Gaugler + * + * Licensed under the zlib/libpng license (the "License"); + * you may not use this file except in compliance with the License. + * + * Licence details can be found in the file COPYING. + * + * This software is provided 'as-is', without any express or implied + * warranty. + */ + +#include +#include +#include + +/* Macro to determine the string length of a constant */ +#define CONST_STRLEN(x) ((sizeof(x) / sizeof(*x)) - 1) + +/* Name of the sub folder containing the executable + invoked by this stub executable. + */ +static const TCHAR SUBFOLDER[] = _T("Bin"); + +/* Redirect to an executable located in a sub folder relative to + this starter executable. Name of the stub executable has to + match with the one in the sub folder. + The command line parameters are passed along. + */ +int main( int argc, char *argv[] ) +{ + int err = ERROR_SUCCESS; + TCHAR szPath[MAX_PATH]; + + /* Get the full path of the running executable */ + if ( GetModuleFileName( NULL, szPath, MAX_PATH ) ) + { + size_t len = _tcslen(szPath); + size_t offset = len + CONST_STRLEN(SUBFOLDER) + 1; + + err = ERROR_BAD_PATHNAME; + if (offset < MAX_PATH) + { + /* Move file name part of full path by length of sub folder + name and thereafter fill in the sub folder name in the + newly created gap. + */ + register TCHAR *p = szPath + len; + register TCHAR *q = szPath + offset; + + while (p > szPath) + { + *(q--) = *(p--); + if (*p == '\\') + { + /* Fill in sub folder name */ + *q = *p; + q = ++p; + p = (TCHAR *)SUBFOLDER; + while (*p) + { + *(q++) = *(p++); + } + err = ERROR_SUCCESS; + break; + } + } + } + + if (err) + { + _tprintf( _T("Path too long: %s\n"), szPath ); + } + else + { + STARTUPINFO si; + PROCESS_INFORMATION pi; + + ZeroMemory( &si, sizeof(si) ); + si.cb = sizeof(si); + ZeroMemory( &pi, sizeof(pi) ); + + /* Start a subprocess running the executable of the + sub folder of the cuand wait for its completion */ + if ( CreateProcess( szPath, GetCommandLine(), NULL, NULL, + FALSE, 0, NULL, NULL, &si, &pi ) ) + { + WaitForSingleObject( pi.hProcess, INFINITE ); + CloseHandle( pi.hProcess ); + CloseHandle( pi.hThread ); + } + else + { + err = GetLastError(); + _tprintf( _T("CreateProcess (%s) failed (%d).\n"), szPath, err ); + } + } + } + else + { + err = GetLastError(); + _tprintf( _T("GetModuleFileName failed (%d).\n"), err ); + } + + return err; +} + Index: nsis-2.46/Contrib/SubStart/ReadMe.txt =================================================================== --- nsis-2.46/Contrib/SubStart/ReadMe.txt (revision 0) +++ nsis-2.46/Contrib/SubStart/ReadMe.txt (revision 6030) @@ -0,0 +1,34 @@ +substart - Redirect to an executable located in the 'Bin' sub folder + relative to the starter executable. +------------------------------------------------------------------------ + +Copyright (C) 2010 Thomas Gaugler +Licensed under the zlib/libpng license + +This tool runs the executable of the same name in the 'Bin' sub folder +and passes along the command line options. + +The main purpose of the tool is that scripts expecting an executable in +the root of the program installation folder continue to run. + +USAGE +----- + +The original executable has to go into the 'Bin' sub folder and the +the substart executable renamed to the original executable name needs +to be placed at the original location. + +EXAMPLE +------- + +Directory hierarchy: +C:\Program Files\NSIS +C:\Program Files\NSIS\Bin\makensis.exe +C:\Program Files\NSIS\makensis.exe (-> substart.exe renamed to makensis.exe) + +C:\Program Files\NSIS\makensis.exe /VERSION + + +Please be aware that the name of the substart executable has to match +with the one in the sub folder. + Index: nsis-2.46/Source/czlib.h =================================================================== --- nsis-2.46/Source/czlib.h (revision 6029) +++ nsis-2.46/Source/czlib.h (revision 6030) @@ -18,7 +18,7 @@ #define __CZLIB_H__ #include "compressor.h" -#include "zlib/ZLIB.H" +#include class CZlib : public ICompressor { public: @@ -27,7 +27,13 @@ int Init(int level, unsigned int dict_size) { stream = new z_stream; if (!stream) return Z_MEM_ERROR; - return deflateInit(stream, level); + + stream->zalloc = (alloc_func)Z_NULL; + stream->zfree = (free_func)Z_NULL; + stream->opaque = (voidpf)Z_NULL; + + return deflateInit2(stream, level, + Z_DEFLATED, -MAX_WBITS, MAX_MEM_LEVEL, Z_DEFAULT_STRATEGY); } int End() { Index: nsis-2.46/Source/build.cpp =================================================================== --- nsis-2.46/Source/build.cpp (revision 6029) +++ nsis-2.46/Source/build.cpp (revision 6030) @@ -414,7 +414,7 @@ if (dir) nsis_dir = dir; else { #ifndef NSIS_CONFIG_CONST_DATA_PATH - nsis_dir = get_executable_dir(makensis_path); + nsis_dir = get_dir_name(get_executable_dir(makensis_path)); #else nsis_dir = PREFIX_DATA; #endif Index: nsis-2.46/Source/SConscript =================================================================== --- nsis-2.46/Source/SConscript (revision 6029) +++ nsis-2.46/Source/SConscript (revision 6030) @@ -46,11 +46,6 @@ 7zip/Common/CRC.cpp """) -zlib_files = Split(""" - zlib/deflate.c - zlib/trees.c -""") - libs = Split(""" gdi32 user32 @@ -58,7 +53,7 @@ iconv """) -Import('env AddAvailableLibs') +Import('env AddAvailableLibs AddZLib') ##### Use available libraries @@ -68,6 +63,7 @@ libs += ['version'] AddAvailableLibs(env, libs) +AddZLib(env, env['PLATFORM'], 'install-compiler') ##### Defines @@ -87,7 +83,7 @@ ##### Compile makensis -files = makensis_files + bzip2_files + lzma_files + zlib_files +files = makensis_files + bzip2_files + lzma_files makensis = env.Program(target, files) Index: nsis-2.46/Source/makenssi.cpp =================================================================== --- nsis-2.46/Source/makenssi.cpp (revision 6029) +++ nsis-2.46/Source/makenssi.cpp (revision 6030) @@ -442,7 +442,7 @@ char* env_var = getenv("NSISCONFDIR"); if(env_var == NULL) #ifndef NSIS_CONFIG_CONST_DATA_PATH - main_conf = get_executable_dir(argv[0]); + main_conf = get_dir_name(get_executable_dir(argv[0])); #else main_conf = PREFIX_CONF; #endif Index: nsis-2.46/Source/Tests/SConscript =================================================================== --- nsis-2.46/Source/Tests/SConscript (revision 6029) +++ nsis-2.46/Source/Tests/SConscript (revision 6030) @@ -56,16 +56,10 @@ required += bzip2_files required_exehead += bzip2_exehead_files -zlib_files = Split(""" - zlib/deflate.c - zlib/trees.c -""") - zlib_exehead_files = Split(""" zlib/INFBLOCK.C """) -required += zlib_files required_exehead += zlib_exehead_files cppunitlibs = Split(""" @@ -87,7 +81,7 @@ winver.nsi """) -Import('env AddAvailableLibs') +Import('env AddAvailableLibs AddZLib') # Test scripts env.TestScript(scripts) @@ -99,6 +93,7 @@ extralibs += ['version'] AddAvailableLibs(env, extralibs) +AddZLib(env, env['PLATFORM']) # compile using msvcrt (that's how cppunit.lib is built) if 'msvc' in env['TOOLS'] or 'mstoolkit' in env['TOOLS']: @@ -146,6 +141,11 @@ # build test program tests = env.Program(target, tests + required_obj) + if env['PLATFORM'] == 'win32' and 'ZLIB_W32_DLL' in env: + import os.path + env.Depends(tests, env.InstallAs( + os.path.basename(str(env['ZLIB_W32_DLL'])), + env['ZLIB_W32_DLL'])) # alias running the test to 'test' test = env.Alias('test-code', [tests], tests[0].abspath) Index: nsis-2.46/SCons/utils.py =================================================================== --- nsis-2.46/SCons/utils.py (revision 6029) +++ nsis-2.46/SCons/utils.py (revision 6030) @@ -1,6 +1,6 @@ def AddAvailableLibs(env, libs): """ - Scans through a list list of libraries and adds + Scans through a list of libraries and adds available libraries to the environment. """ conf = env.Configure() @@ -10,6 +10,32 @@ conf.Finish() +def AddZLib(env, platform, alias='install-utils'): + """ + Checks for platform specific zlib and adds the + appropriate compiler and linker options to the environment + """ + zlib = 'z' + if platform == 'win32': + if 'ZLIB_W32' in env: + # Add include and library path of zlib for Win32 + env.Append(CPPPATH = env['ZLIB_W32_INC']) + env.Append(LIBPATH = env['ZLIB_W32_LIB']) + zlib = ['zdll', 'z'] + if 'ZLIB_W32_DLL' in env: + env.DistributeW32Bin(env['ZLIB_W32_DLL'], alias=alias) + else: + print 'Please specify folder of zlib for Win32 via ZLIB_W32' + Exit(1) + + conf = env.Configure() + if not conf.CheckLibWithHeader(zlib, 'zlib.h', 'c'): + print 'zlib (%s) is missing!' % (platform) + Exit(1) + + env = conf.Finish() + + def GetAvailableLibs(env, libs): """ Scans through a list list of libraries and adds @@ -87,4 +113,4 @@ """ return env.Configure(custom_tests = { 'CheckCompileFlag' : check_compile_flag, 'CheckLinkFlag': check_link_flag }) -Export('AddAvailableLibs FlagsConfigure GetAvailableLibs') +Export('AddAvailableLibs AddZLib FlagsConfigure GetAvailableLibs') Index: nsis-2.46/SConstruct =================================================================== --- nsis-2.46/SConstruct (revision 6029) +++ nsis-2.46/SConstruct (revision 6030) @@ -1,4 +1,4 @@ -EnsureSConsVersion(0,98) +EnsureSConsVersion(1,2) stubs = [ 'bzip2', @@ -36,6 +36,7 @@ 'Makensisw', 'NSIS Menu', 'UIs', + 'SubStart', 'VPatch/Source/GenPat', 'zip2exe' ] @@ -156,6 +157,7 @@ opts.Add(('APPEND_CCFLAGS', 'Additional C/C++ compiler flags')) opts.Add(('APPEND_LINKFLAGS', 'Additional linker flags')) opts.Add(PathVariable('WXWIN', 'Path to wxWindows library folder (e.g. C:\\Dev\\wxWidgets-2.8.10)', os.environ.get('WXWIN'))) +opts.Add(PathVariable('ZLIB_W32', 'Path to Win32 zlib library folder (e.g. C:\\Dev\\zlib-1.2.3)', os.environ.get('ZLIB_W32'))) # build options opts.Add(BoolVariable('DEBUG', 'Build executables with debugging information', 'no')) opts.Add(PathVariable('CODESIGNER', 'A program used to sign executables', None)) @@ -306,6 +308,14 @@ def DistributeExamples(files, names=[], path='', alias=None): return defenv.Distribute(files, names, 'doc', 'Examples', path, alias, 'examples') +def FindMakeNSIS(env, path): + exename = 'makensis_not_found' + file = env.FindFile('makensis$PROGSUFFIX', + [os.path.join(path, '.'), os.path.join(path, 'Bin')]) + if file: + exename = str(file) + return exename + def Sign(targets): if defenv.has_key('CODESIGNER'): for t in targets: @@ -344,6 +354,30 @@ defenv.Default('$BUILD_PREFIX') +if 'ZLIB_W32' in defenv: + defenv['ZLIB_W32_INC'] = os.path.dirname(str( + defenv.FindFile('zlib.h', + [ + defenv['ZLIB_W32'], + os.path.join(defenv['ZLIB_W32'], 'include') + ] + ) + )) + # Search for import library of zlib for VisualC or mingw + for importlib in ['zdll.lib', 'libzdll.a']: + defenv['ZLIB_W32_LIB'] = os.path.dirname(str( + defenv.FindFile(importlib, + [ + defenv['ZLIB_W32'], + os.path.join(defenv['ZLIB_W32'], 'lib') + ] + ) + )) + if defenv['ZLIB_W32_LIB']: + break + defenv['ZLIB_W32_DLL'] = defenv.FindFile('zlib1.dll', + [defenv['ZLIB_W32'], defenv['ZLIB_W32_LIB']]) + tools = defenv['TOOLS'] envs = [] @@ -393,17 +427,21 @@ inst_env['NSISDIR'] = os.path.abspath(str(defenv['INSTDISTDIR'])) inst_env['NSISCONFDIR'] = os.path.abspath(str(defenv['INSTDISTDIR'])) +def build_installer(target, source, env): + cmdline = FindMakeNSIS(env, str(env['INSTDISTDIR'])) + ' %sDOUTFILE=%s %s' % (optchar, target[0].abspath, env['INSTVER']) + cmd = env.Command(None, source, cmdline + ' $SOURCE') + AlwaysBuild(cmd) + AlwaysBuild(env.AddPostAction(cmd, Delete('$INSTDISTDIR'))) + env.Alias('dist-installer', cmd) + installer_target = defenv.Command('nsis-${VERSION}-setup${DISTSUFFIX}.exe', - '$INSTDISTDIR' + os.sep + 'Examples' + os.sep + 'makensis.nsi', - '$INSTDISTDIR' + os.sep + 'makensis$PROGSUFFIX ' + - '%sDOUTFILE=$TARGET.abspath $INSTVER $SOURCE' % optchar, + os.path.join('$INSTDISTDIR', 'Examples', 'makensis.nsi'), + build_installer, ENV = inst_env) defenv.Depends(installer_target, '$INSTDISTDIR') defenv.Sign(installer_target) defenv.Alias('dist-installer', installer_target) -AlwaysBuild(defenv.AddPostAction(installer_target, Delete('$INSTDISTDIR'))) - defenv.Alias('dist', ['dist-zip', 'dist-installer']) ###################################################################### @@ -462,7 +500,10 @@ defenv.Alias('makensis', makensis) -ins = defenv.DistributeBin(makensis,alias='install-compiler') +if defenv['PLATFORM'] == 'win32': + defenv.DistributeW32Bin(makensis, alias='install-compiler') +else: + defenv.DistributeBin(makensis, alias='install-compiler') ###################################################################### ####### Common Functions ### @@ -546,13 +587,21 @@ ####### Utilities ### ###################################################################### +Import('AddZLib') + def BuildUtilEnv(defines = None, flags = None, libs = None, entry = None, nodeflib = None, cross_platform = False): if not cross_platform: env = util_env.Clone() + platform = 'win32' else: env = cp_util_env.Clone() + platform = env['PLATFORM'] + + if libs and 'z' in libs: + libs.remove('z') + AddZLib(env, platform) AddEnvStandardFlags(env, defines, flags, libs, entry, nodeflib) @@ -692,6 +741,8 @@ skipped_tests = env['SKIPTESTS'].split(',') ignored_tests = env['IGNORETESTS'].split(',') + compiler = FindMakeNSIS(env, env.subst('$TESTDISTDIR')) + for root, dirs, files in walk(instdir): for file in files: if file[-4:] == '.nsi': @@ -702,9 +753,9 @@ continue if nsif in ignored_tests: - cmd = env.Command(None, nsi, '-makensis $SOURCE') + cmd = env.Command(None, nsi, '-' + compiler + ' $SOURCE') else: - cmd = env.Command(None, nsi, 'makensis $SOURCE') + cmd = env.Command(None, nsi, compiler + ' $SOURCE') AlwaysBuild(cmd) env.Alias('test-scripts', cmd) Index: nsis-2.46/Docs/src/build.but =================================================================== --- nsis-2.46/Docs/src/build.but (revision 6029) +++ nsis-2.46/Docs/src/build.but (revision 6030) @@ -6,7 +6,32 @@ Source code is available in \W{http://nsis.svn.sourceforge.net/viewvc/nsis/}{SVN} and as a separate package with every \W{http://sourceforge.net/project/showfiles.php?group_id=22049}{NSIS distribution}. -To build NSIS \W{http://www.python.org/}{Python} and \W{http://www.scons.org/}{SCons} must be installed. Currently, the supported version of SCons is version 0.96.93. Any version of Python above 1.6 is supported. +To build NSIS \W{http://www.python.org/}{Python}, \W{http://www.scons.org/}{SCons} must be installed. Currently, the supported version of SCons is version 1.2.0 and above. Any version of Python above 1.6 is supported. + +NSIS uses the \W{http://zlib.net}{zlib} compression library. As a +consequence the header and library files of zlib must be installed. + +In case these zlib development files aren't present then they could be +installed via a package manager (apt-get, aptitude, rpm, yum) on POSIX +platforms. Another option is to build zlib from scratch and install it. + +For Windows it is recommended to download \W{http://zlib.net}{zlib} from +\W{http://prdownloads.sourceforge.net/libpng/zlib124-dll.zip?download}{http://prdownloads.sourceforge.net/libpng/zlib124-dll.zip?download}. +Extract the contents of this zip archive to a folder of your choice, e.g. +\c{C:\\dev\\zlib-1.2.4} and set an environment variable named \c{ZLIB_W32} +containingt his path. + +\c C:\>set ZLIB_W32=C:\dev\zlib-1.2.4 + +Alternatively the command line option ZLIB_W32 specifying the path +could be passed with scons instead of the environment variable. + +\c C:\dev\nsis>scons ZLIB_W32=C:\dev\zlib-1.2.4 + +The header and library files are assumed to be in %ZLIB_W32%. In addition +scons checks for zlib header files in %ZLIB_W32%\\include, the +import library zdll.lib in %ZLIB_W32%\\lib and the dynamic link library +zlib1.dll in %ZLIB_W32% respectively %ZLIB_W32%\\lib. To build, open a console, change the working directory to the root directory of NSIS and type \c{scons}. That's it. For example: @@ -69,7 +94,7 @@ To build NSIS Menu, install \W{http://www.wxwidgets.org/}{wxWidgets 2.8}, create an environment variable named \c{WXWIN} containing the path to the installation directory of wxWidgets, run \c{Contrib\\NSIS Menu\\wx\\wxbuild.bat} and build NSIS as usual. -\\Important notes for Microsoft Visual C++ 6.0 users:\\ The latest \W{http://www.microsoft.com/msdownload/platformsdk/sdkupdate/}{Platform SDK} must be installed before building. Because of flaws in the libraries distributed with Microsoft Visual C++ 6.0, not installing the Platform SDK will result in crashes when using the \R{copyfiles}{CopyFiles} command. See \W{http://forums.winamp.com/showthread.php?s=&threadid=131964}{this forum topic} for more information. Installing the \W{http://msdn.microsoft.com/vstudio/downloads/tools/ppack/download.aspx}{Processor Pack} is highly recommended to decrease the size of the installer overhead. +\\Important notes for Microsoft Visual C++ 6.0 users:\\ The latest \W{http://www.microsoft.com/msdownload/platformsdk/sdkupdate/}{Platform SDK} must be installed before building. Because of flaws in the libraries distributed with Microsoft Visual C++ 6.0, not installing the Platform SDK will result in crashes when using the \R{copyfiles}{CopyFiles} command. See \W{http://forums.winamp.com/showthread.php?s=&threadid=131964}{this forum topic} for more information. Installing the \W{http://msdn.microsoft.com/vstudio/aa718349.aspx}{Processor Pack} is highly recommended xto decrease the size of the installer overhead. \H{build_posix} Building on POSIX Index: nsis-2.46/Examples/makensis.nsi =================================================================== --- nsis-2.46/Examples/makensis.nsi (revision 6029) +++ nsis-2.46/Examples/makensis.nsi (revision 6030) @@ -115,12 +115,15 @@ RMDir /r $SMPROGRAMS\NSIS SetOverwrite on - File ..\makensis.exe + File /oname=makensis.exe ..\Bin\substart.exe File ..\makensisw.exe File ..\COPYING File ..\NSIS.chm File ..\NSIS.exe File /nonfatal ..\NSIS.exe.manifest + SetOutPath $INSTDIR\Bin + File ..\Bin\makensis.exe + File ..\Bin\zlib1.dll IfFileExists $INSTDIR\nsisconf.nsi "" +2 Rename $INSTDIR\nsisconf.nsi $INSTDIR\nsisconf.nsh @@ -955,7 +958,7 @@ ExecWait '$R1 _?=$INSTDIR' IfErrors no_remove_uninstaller - IfFileExists "$INSTDIR\makensis.exe" no_remove_uninstaller + IfFileExists "$INSTDIR\Bin\makensis.exe" no_remove_uninstaller Delete $R1 RMDir $INSTDIR @@ -996,7 +999,7 @@ DetailPrint "Uninstalling NSI Development Shell Extensions..." SetDetailsPrint listonly - IfFileExists $INSTDIR\makensis.exe nsis_installed + IfFileExists $INSTDIR\Bin\makensis.exe nsis_installed MessageBox MB_YESNO "It does not appear that NSIS is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES nsis_installed Abort "Uninstall aborted by user" nsis_installed: @@ -1030,6 +1033,7 @@ Delete $INSTDIR\makensis.exe Delete $INSTDIR\makensisw.exe Delete $INSTDIR\NSIS.exe + Delete $INSTDIR\NSIS.exe.manifest Delete $INSTDIR\license.txt Delete $INSTDIR\COPYING Delete $INSTDIR\uninst-nsis.exe debian/patches/parallel_build.patch0000644000000000000000000000172611640564720014624 0ustar Description: Avoid a clash when scons is run in parallel operation. This patch skips the unnecessary configuring when cleaning targets and as a result avoids a clash when scons is run in parallel operation. Forwarded: http://sf.net/support/tracker.php?aid=3295528 Author: Thomas Gaugler --- nsis-2.46.orig/SCons/utils.py +++ nsis-2.46/SCons/utils.py @@ -28,12 +28,15 @@ print 'Please specify folder of zlib for Win32 via ZLIB_W32' Exit(1) - conf = env.Configure() - if not conf.CheckLibWithHeader(zlib, 'zlib.h', 'c'): - print 'zlib (%s) is missing!' % (platform) - Exit(1) + # Avoid unnecessary configuring when cleaning targets + # and a clash when scons is run in parallel operation. + if not env.GetOption('clean'): + conf = env.Configure() + if not conf.CheckLibWithHeader(zlib, 'zlib.h', 'c'): + print 'zlib (%s) is missing!' % (platform) + Exit(1) - env = conf.Finish() + env = conf.Finish() def GetAvailableLibs(env, libs): debian/patches/series0000644000000000000000000000035411700577017012041 0ustar # list of patch file names in the order they are applied nsis_system_zlib.patch makensis_native_64bit.patch sconstruct_variant_dir.patch nsi_scripts.patch mingw_w64.patch parallel_build.patch zmemcpy.patch static-libgcc-libstdc++.patch debian/patches/nsi_scripts.patch0000644000000000000000000000227711562742435014217 0ustar Description: Use relative paths in .nsi script examples The patch replaces the absolute paths in the example scripts of System and nsDialogs with relative paths. Forwarded: http://sf.net/support/tracker.php?aid=3293899 Author: Thomas Gaugler --- nsis-2.46.orig/Contrib/System/SysFunc.nsh.orig 2007-12-01 12:43:02.000000000 +0100 +++ nsis-2.46/Contrib/System/SysFunc.nsh 2011-04-27 09:35:22.000000000 +0200 @@ -7,7 +7,7 @@ !ifndef SysFunc.NSH.Included !define SysFunc.NSH.Included -!include "${NSISDIR}\Examples\System\System.nsh" +!include "System.nsh" !verbose 3 ; For WinMessages especially !include "WinMessages.nsh" --- nsis-2.46.orig/Contrib/nsDialogs/InstallOptions.nsi.orig 2007-12-01 12:43:02.000000000 +0100 +++ nsis-2.46/Contrib/nsDialogs/InstallOptions.nsi 2011-04-27 09:38:06.000000000 +0200 @@ -17,7 +17,7 @@ Function nsDialogsIO InitPluginsDir - File /oname=$PLUGINSDIR\io.ini "${NSISDIR}\Examples\InstallOptions\test.ini" + File /oname=$PLUGINSDIR\io.ini "..\InstallOptions\test.ini" ${If} ${Cmd} `MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Test the right-to-left version?" IDYES` WriteINIStr $PLUGINSDIR\io.ini Settings RTL 1 debian/patches/mingw_w64.patch0000644000000000000000000000267611562742435013503 0ustar Description: Allow building with mingw-w64 This patch enables building NSIS with the mingw-w64 compiler. Author: Thomas Gaugler , Stephen Kitt --- nsis-2.46.orig/SCons/Tools/crossmingw.py 2009-01-11 10:48:07.000000000 +0100 +++ nsis-2.46/SCons/Tools/crossmingw.py 2011-04-27 14:30:41.000000000 +0200 @@ -61,6 +61,11 @@ """) def find(env): + # Explicitly specified toolchain to build Windows executables + # takes predominance. + prefix = SCons.Script.ARGUMENTS.get('XGCC_W32_PREFIX', None) + if prefix: + prefixes.insert(0, prefix) for prefix in prefixes: # First search in the SCons path and then the OS path: if env.WhereIs(prefix + 'gcc') or SCons.Util.WhereIs(prefix + 'gcc'): --- 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 + #include // 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) debian/README.Debian0000644000000000000000000000246211562742435011244 0ustar The menu thing isn't included because it requires wxWidgets 2.8 to build. To build nsis plugins you have to install the nsis-pluginapi package and follow the given below instructions. If your package manager did not install the recommended package(s) of nsis-pluginapi then you would need to manually install a cross compiler targeting the win32 platform. Ideally you should install the recommended package(s) which you could query with the following command: dpkg-query -W -f'${Recommends}\n' nsis-pluginapi Nevertheless you are free to take your favorite cross compiler targeting the win32 platform as long as it can handle the application binary interface (ABI) used by the nsis plugin api library. In that case you need to explicitly specify the include and library path as mentioned below. You should include the header like so: #include By default the include and library files of the nsis plugin api are installed in the standard search paths of the recommended win32 cross compiler package. If that is not the case then the include and library path need to be explicitly specified for example in a Makefile such as: CPPFLAGS += -I $(shell dpkg-query -L nsis-pluginapi \ | sed -n '/include$$/p') LDFLAGS += -L $(shell dpkg-query -L nsis-pluginapi \ | sed -n '/lib\/nsis$$/p') -lpluginapi debian/source/0000755000000000000000000000000011562742435010477 5ustar debian/source/format0000644000000000000000000000001411562742435011705 0ustar 3.0 (quilt) debian/NEWS0000644000000000000000000000070711562742435007702 0ustar nsis (2.46-4) unstable; urgency=low This version split the NSIS package into four packages: - nsis: compiler and utilities - nsis-common: plugins, stubs and resource files - nsis-pluginapi: header and library files for developing NSIS plugins - nsis-doc: examples and HTML documentation The details for building nsis plugins are described in README.Debian. -- Thomas Gaugler Tue, 19 Apr 2011 19:20:38 +0000 debian/LibraryLocal.xml0000644000000000000000000000637611562742435012314 0ustar Paul"> Wise"> July 28, 2007"> 1"> pabs@debian.org"> NSIS"> ]> &package; &package; manual
&email;
&firstname; &surname; Created man page 2007 &username; &date;
&ucpackage; §ion; &package; A program to get version numbers from DLL files for use with NSIS. &package; DESCRIPTION This manual page documents briefly the &package; command. This manual page was written for the &debian; distribution because the original program does not have a manual page. &package; is a part of NSIS, which is a system for creating installer programs for Windows. OPTIONS All three arguments are required. 'D' for DLLs or 'T' for TLBs (only supported on Windows). The DLL/TLB file to get the version number from. The name of the NSIS script file to output for use by the Library.nsh files. EXIT STATUS 0 Success 1 Incorrect number of arguments AUTHOR This manual page was written by &username; &email; for the &debian; system.
debian/copyright0000644000000000000000000005304111562742435011135 0ustar This package was debianized by Paul Wise on Tue, 8 Mar 2005 21:49:09 +0800. It was downloaded from http://nsis.sourceforge.net -------------------------------------------------------------------------------- Copyright: Copyright 1999-2009 Contributors Copyright breakdown: --| Source Copyright 1999-2009 Nullsoft and Contributors Copyright 2002-2008 Amir Szekely Copyright 2003 Ramon --| Source/exehead Copyright 1999-2009 Nullsoft, Jeff Doozan and Contributors --| Source/zlib http://www.zlib.net/ Copyright 1995-1998 Jean-loup Gailly and Mark Adler Modifications Copyright (C) 1999-2009 Nullsoft and Contributors --| Source/7zip http://www.7-zip.org/sdk.html Copyright 1999-2006 Igor Pavlov Modifications Copyright 2003-2009 Amir Szekely --| Source/boost http://www.boost.org/libs/utility/checked_delete.html Copyright (c) 1999, 2000, 2001, 2002 boost.org Copyright (c) 2002, 2003 Peter Dimov Copyright (c) 2003 Daniel Frey Copyright (c) 2003 Howard Hinnant http://www.boost.org/libs/smart_ptr/scoped_array.htm http://www.boost.org/libs/smart_ptr/scoped_ptr.htm Copyright 1998, 1999 Greg Colvin and Beman Dawes Copyright 2001, 2002 Peter Dimov detail/workaround.hhp Copyright 2002 David Abrahams --| Source/bzip2 http://www.bzip.org/ Copyright 1996-2000 Julian R Seward Modifications Copyright 1999-2009 Nullsoft and Contributors --| Contrib/Modern UI Copyright 2002-2009 Joost Verburg --| Contrib/Modern UI 2 Copyright 2002-2009 Joost Verburg --| Contrib/MultiUser Copyright 2008-2009 Joost Verburg --| Contrib/NSISdl JNetLib Copyright 2000-2001 Nullsoft, Inc. Copyright 2001-2002 Yaroslav Faybishenko and Justin Frankel --| Contrib/VPatch Copyright 2001-2005 Van de Sande Productions Copyright 2001-2005 Koen van de Sande --| Contrib/VPatch/Source/Plugin/md5.h & Contrib/VPatch/Source/GenPat/md5.h Copyright 1999, 2002 Aladdin Enterprises --| Contrib/VPatch/Source/Plugin/md5.c & Contrib/VPatch/Source/GenPat/md5.c Copyright 1999, 2000, 2002 Aladdin Enterprises --| Contrib/VPatch/Source/GenPat/adler32.cpp Copyright 1995-2003 Mark Adler --| Contrib/VPatch/Source/GUI/vdsp_crc.pas Copyright 2002-2003 Van de Sande Productions --| Contrib/nsExec Copyright 2002 Robert Rainwater --| Contrib/System Copyright 2002 Nik Medved Copyright 2008 Thomas Gaugler --| Contrib/InstallOptions Original version Copyright 2001 Michael Bishop DLL version 1 Copyright 2001-2002 Nullsoft, Inc., ORTIM DLL version 2 Copyright 2003-2009 Amir Szekely, Joost Verburg, Dave Laundon --| Contrib/Math Copyright 2003 Nik Medved --| Contrib/zip2exe Portions Copyright 1999-2001 Miguel Garrido --| Contrib/zip2exe/zlib Copyright 1995-2005 Jean-loup Gailly and Mark Adler Copyright 1998-2005 Gilles Vollant --| Contrib/Makensisw Copyright 2002 Robert Rainwater Copyright 2003 Sunil Kamath --| Contrib/Makensisw/jnetlib Copyright 2000-2001 Nullsoft, Inc. --| Contrib/ExDLL Portions Copyright 2001 Peter Windridge Portions Copyright 2003 Bernhard Mayer --| Contrib/NSIS Menu Portions Copyright Julian Smart and Markus Holzem Portions Copyright 1999 Vaclav Slavik --| Docs/src/bin/halibut Copyright 1999-2001 Simon Tatham and James Aylett Note: This version is modified by Robert Rainwater and Amir Szekely --| SCons/Tools/crossmingw.py Copyright 2001-2004 The SCons Foundation --| SCons/Tools/mstoolkit.py Copyright 2004 John Connors --| Include/LangFile.nsh Copyright 2008-2009 Joost Verburg --| Include/VB6RunTime.nsh Copyright 2008-2009 Joost Verburg -------------------------------------------------------------------------------- The zlib/libpng license applies to everything in the NSIS package, except where otherwise noted. License: This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Licence breakdown: --| Source/7zip Licensed under the Common Public License version 1.0 (the "License"); you may not use this file except in compliance with the License. SPECIAL EXCEPTION FOR LZMA COMPRESSION MODULE --------------------------------------------- Igor Pavlov and Amir Szekely, the authors of the LZMA compression module for NSIS, expressly permit you to statically or dynamically link your code (or bind by name) to the files from the LZMA compression module for NSIS without subjecting your linked code to the terms of the Common Public license version 1.0. Any modifications or additions to files from the LZMA compression module for NSIS, however, are subject to the terms of the Common Public License version 1.0. This software is provided 'as-is', without any express or implied warranty. THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. DEFINITIONS "Contribution" means: a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor: i) changes to the Program, and ii) additions to the Program; where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. "Contributor" means any person or entity that distributes the Program. "Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. "Program" means the Contributions distributed in accordance with this Agreement. "Recipient" means anyone who receives the Program under this Agreement, including all Contributors. 2. GRANT OF RIGHTS a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 3. REQUIREMENTS A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: a) it complies with the terms and conditions of this Agreement; and b) its license agreement: i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. When the Program is made available in source code form: a) it must be made available under this Agreement; and b) a copy of this Agreement must be included with each copy of the Program. Contributors may not remove or alter any copyright notices contained within the Program. Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. 4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. --| Source/boost Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose. --| Source/bzip2 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --| Contrib/NSIS Menu Portions are licenced under the wxWindows license: This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public Licence for more details. On Debian systems this can be found at /usr/share/common-licenses/GPL-2. EXCEPTION NOTICE 1. As a special exception, the copyright holders of this library give permission for additional uses of the text contained in this release of the library as licenced under the wxWindows Library Licence, applying either version 3 of the Licence, or (at your option) any later version of the Licence as published by the copyright holders of version 3 of the Licence document. 2. The exception is that you may use, copy, link, modify and distribute under the user's own terms, binary object code versions of works based on the Library. 3. If you copy code from files distributed under the terms of the GNU General Public Licence or the GNU Library General Public Licence into a copy of this library, as this licence permits, the exception does not apply to the code that you add in this way. To avoid misleading anyone as to the status of such modified files, you must delete this exception notice from such code and/or adjust the licensing conditions notice accordingly. 4. If you write modifications of your own for this library, it is your choice whether to permit this exception to apply to your modifications. If you do not wish that, you must delete the exception notice from such code and/or adjust the licensing conditions notice accordingly. --| Docs/src/bin/halibut & SCons/Tools/crossmingw.py & SCons/Tools/mstoolkit.py Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. debian/changelog0000644000000000000000000005506611701363267011062 0ustar nsis (2.46-7) unstable; urgency=low * Make plugins not depend on libgcc_s_sjlj-1.dll nor libdtdc++-6.dll by forcing static compilation of both libgcc and libstdc++. (Closes: #654380) -- Didier Raboud Thu, 05 Jan 2012 19:06:42 +0100 nsis (2.46-6) unstable; urgency=low * Corrected command line options passed to scons for build/NEWS target. * Use zmemcpy function of the same calling convention. -- Thomas Gaugler Fri, 07 Oct 2011 10:28:21 +0200 nsis (2.46-5) unstable; urgency=low * Add Replaces/Breaks against nsis to the new packages (Closes: #630620) -- Thomas Gaugler Sat, 18 Jun 2011 16:41:54 +0000 nsis (2.46-4) unstable; urgency=low [ Thomas Gaugler ] * Run architecture independent build process only when demanded. * Split NSIS package into four packages: - compiler and utilities (architecture dependent) - plugins, stubs and resource files (win32) - header and library files for developing NSIS plugins (win32) - examples and HTML documentation (architecture independent) * Updated to Standards-Version 3.9.2 * Support building with mingw-w64 (Closes: #620099) * Support parallel build [ Didier Raboud ] * Don't hide output from scons in clean. * Move packaging from Subversion to Git, update Vcs-* fields. * Add explicit libstdc++6-4.6-dev Build-Depend. -- Thomas Gaugler Sat, 11 Jun 2011 15:24:40 +0000 nsis (2.46-3) experimental; urgency=low * Fixed warnings of missing elements occuring in man page generation * Use variant_dir instead of build_dir keyword in SConstruct file * Run complete set of tests independent of architecture * Removed the option to build with the orphaned gcc-mingw32 * Removed architecture restrictions * Updated to Standards-Version 3.9.1 -- Thomas Gaugler Sun, 07 Nov 2010 17:30:30 +0000 nsis (2.46-2) unstable; urgency=low * Updated zlib patch with changes from upstream subversion repository * Made embedded inflate function compatible with zlib (Closes: #579407) * Exclude unneeded win32-only utilities from building * Build makensis and portable utilities natively for amd64 -- Thomas Gaugler Wed, 05 May 2010 20:39:58 +0000 nsis (2.46-1) unstable; urgency=low [ Thomas Gaugler ] * New upstream release * Switch to 3.0 (quilt) source format * Use the system provided compression library of zlib * Switch to debhelper 7's minimal rules file mode [ Paul Wise ] * Link against the 32-bit zlib on amd64 to prevent FTBFS -- Thomas Gaugler Tue, 22 Dec 2009 18:53:50 +0000 nsis (2.45-1) unstable; urgency=low * New upstream release * Adopted package from Paul Wise with his permission * Allow building with either gcc-mingw32 (>= 4.4.0-3) or mingw32 * Fixed occurring access violation in Math plugin once the installer window is closed. -- Thomas Gaugler Mon, 17 Aug 2009 19:04:01 +0000 nsis (2.44-4) unstable; urgency=low * Brown paper bag upload * Actually give the option to dh_strip (closes: #519703) -- Paul Wise Fri, 20 Mar 2009 12:07:00 +0900 nsis (2.44-3) unstable; urgency=low * Don't let dh_strip work on (and break) the libpluginapi.a file (Closes: #519703). * Support new nocheck option in DEB_BUILD_OPTIONS * Bump Standards-Version, nsis now complies -- Paul Wise Mon, 16 Mar 2009 01:26:29 +0900 nsis (2.44-2) unstable; urgency=low * Woops, actually upload to unstable * Use dh_lintian instead of manually installing overrides * Switch to debhelper compat level 7 * Switch from dh_clean -k to dh_prep -- Paul Wise Wed, 25 Feb 2009 01:03:19 +0900 nsis (2.44-1) experimental; urgency=low * New upstream bugfix release - drop merged fix-Library.nsi-test.patch * Move to unstable now that lenny is released * Add missing System Call.S copyright info -- Paul Wise Tue, 24 Feb 2009 17:51:13 +0900 nsis (2.43-1) experimental; urgency=low * New upstream release (w00t) - Finally makes the System plugin fully functional. Thanks a lot to Thomas Gaugler for implementing this (Closes: #319999, LP: #157356) - Compiles Resource.dll from an icon and a short .rc (Closes: #442192) - Building nsis plugins changes with this release, add details to README.Debian and a notification in NEWS.Debian. * Add some more items to the TODO file. * Apply upstream patch to fix the Library.nsi test * Refer to the correct GPL version in the copyright file -- Paul Wise Thu, 05 Feb 2009 17:52:53 +0900 nsis (2.39-1) experimental; urgency=low * New upstream release -- Paul Wise Wed, 27 Aug 2008 13:09:09 +0800 nsis (2.38-1) experimental; urgency=low * New upstream release - all patches included * Put in experimental because it breaks win32-loader -- Paul Wise Wed, 16 Jul 2008 16:16:58 +0800 nsis (2.37-2) unstable; urgency=medium * Ensure the package will FTBFS when makensis is not built * The rebuild should create makensis on amd64 (Closes: #484938) * Don't run the patch, build and test process twice * Run the tests as well as the test scripts on i386 only * Fix FTBFS when converted to dpkg source format 3.0 (Closes: #485350) * Bump Standards-Version (no changes needed) -- Paul Wise Mon, 09 Jun 2008 15:42:38 +0800 nsis (2.37-1) unstable; urgency=low * New upstream release - all patches included * Apply upstream patch to fix the HeaderBitmap test failure -- Paul Wise Sun, 18 May 2008 18:32:18 +0800 nsis (2.36-1) unstable; urgency=low * New upstream release - all patches included -- Paul Wise Mon, 07 Apr 2008 13:35:41 +0800 nsis (2.35-2) unstable; urgency=low * Brown paper bag release * Fix FTBFS on amd64: add an amd64 build-dep on g++-multilib -- Paul Wise Tue, 11 Mar 2008 16:38:10 +0900 nsis (2.35-1) unstable; urgency=low * New upstream release - MUI2 is now declared stable and should be preferred * Bump Standards-Version (no changes) * Properly capitalise Debian in the short description * Accept defeat; drop the amd64 patch since upstream says it a hack and it is a hassle to update for new upstreams. For now, we only support i386 and amd64 via upstream's use of -m32. The right way to fix this is to rewrite some of the internal parts and get that upstreamed, but this is a big and very complex task I have no time for yet. - nsis has also been added to Packages-arch-specific - This effectively closes: #451900 since we don't support s390/etc - Apply patch to add some more -m32 since upstream doesn't use enough yet * Apply upstream patch to ignore tests failing on Linux (Closes: #464311) * Apply upstream patch to fix FTBFS with GCC 4.3 (Closes: #456082) * Fix FTBFS with -j2 due to a race in build/patch target dependencies * Generate a couple of new README files and link a new changelog file * Update the doc-base section to the latest doc-base spec -- Paul Wise Fri, 07 Mar 2008 00:34:11 +0900 nsis (2.33-1) unstable; urgency=low * New upstream release - Fixes showing the welcome page on Win95 - Includes 02_better_strip.patch, drop -- Paul Wise Sun, 18 Nov 2007 20:03:57 +0930 nsis (2.32-1) unstable; urgency=low * New upstream release * Improve package metadata (thanks to enrico's debtags talk): - Suggest mingw32 for cross-compiling Win32 apps - add Win32 keyword to the description - Move Homepage from description to new dpkg field - wine is now available on amd64, suggest it there -- Paul Wise Wed, 14 Nov 2007 15:43:53 +0930 nsis (2.31-1) unstable; urgency=low * New upstream release - Builds with new mingw32 (Closes: #444504) -- Paul Wise Wed, 03 Oct 2007 17:44:54 +1000 nsis (2.30-1) unstable; urgency=low * New upstream release - MUI language changes, Catalan is back - Includes the new Modern UI 2 - Drop manual IGNORETESTS, upstream uses it now * Add a manual page for the LibraryLocal utility * Don't strip executables with nostrip build option (Closes: #437654) - Also let DEB_BUILD_OPTIONS=nostripfull prevent plugin/stub stripping -- Paul Wise Tue, 28 Aug 2007 15:22:48 +1000 nsis (2.29-1) unstable; urgency=low * New upstream release - adds nsDialogs, a replacement for InstallOptions - Drop Catalan hack, upstream fixed it * System plugin patch was accepted upstream, fix README.Debian -- Paul Wise Tue, 17 Jul 2007 18:28:57 +1000 nsis (2.28-1) unstable; urgency=low * New upstream release - Drop 02_build_system_plugin, applied upstream - Use new IGNORETESTS option instead of SKIPTESTS - Hack around a quilt bug and the Catalan translation being removed See http://sourceforge.net/support/tracker.php?aid=1558822 - Again update 64-bit fixes patch for the new upstream, also drop use of -m32 (Closes: #426381) -- Paul Wise Thu, 14 Jun 2007 19:41:16 +0100 nsis (2.27-2) unstable; urgency=low * Update 64-bit fixes patch for the new upstream, possibly closes: #423415 -- Paul Wise Sat, 26 May 2007 21:12:10 +1000 nsis (2.27-1) unstable; urgency=low * New upstream release - builds with newer scons (Closes: #422829) * Disable some functions of System plugin, builds now * Document the differing location of plugin header -- Paul Wise Wed, 09 May 2007 20:15:51 +1000 nsis (2.25-1) experimental; urgency=low * New upstream release - requires scons 0.96.93, update build-depends - 04_changelog: drop, upstream generates a ChangeLog now - 02_debug_opt: drop, use APPEND_CCFLAGS/APPEND_LINKFLAGS - Distributes the example plugin and header (Closes: #408646) - 7-zip code is relicenced under the Common Public Licence 1.0 * XX_old_scons_compat: drop, new scons will soon be in stable * Disable building the new menu item, needs wxWidgets 2.8 not in Debian * Install the plugin header into the mingw32 include dir * Bump debhelper compatability level -- Paul Wise Mon, 02 Apr 2007 23:34:54 +0800 nsis (2.19-3) unstable; urgency=low * Create and use DEBUG_SYMBOLS and OPT instead of DEBUG, which has side effects and modifying CFLAGS, which does not work. -- Paul Wise Thu, 8 Feb 2007 15:50:43 +1100 nsis (2.19-2) unstable; urgency=low * Incorporate changes from NMUs (thanks everyone) * Enable DEBUG=1 when building, to get the CFLAGS required by policy. * Fix outstanding 64-bit issues in makensis. Closes: #398421. * Change my email address now that I'm a Debian Developer -- Paul Wise Tue, 30 Jan 2007 19:20:01 +1100 nsis (2.19-1.1) unstable; urgency=high * Non-maintainer upload. * apply patch to build correctly on 64bit-systems. Closes: #383336, #398421 -- Andreas Barth Tue, 28 Nov 2006 10:10:52 +0100 nsis (2.19-1) unstable; urgency=low * New upstream release - 04_changelog: update to v219 cvs tag -- Paul Wise Wed, 9 Aug 2006 13:55:57 +0800 nsis (2.18-1) unstable; urgency=low * New upstream release - 04_changelog: update to v218 cvs tag - 03_docs_fixes: drop (applied upstream) * Only suggest wine on i386 and kfreebsd-i386 -- Paul Wise Sun, 2 Jul 2006 22:41:35 +0800 nsis (2.17-1) unstable; urgency=low * New upstream release - Update patches: - 04_changelog: update to v217 cvs tag * Use quilt instead of dpatch * Use the new scons in unstable: - Update scons build-dependency - Move diff.gz stuff to XX_old_scons_compat (still useful for backports) - Add an extra fix to XX_old_scons_compat for the NSIS Menu SConscript * 03_docs_fixes: - Replace most of 03_docs_fixes with commands to detect .gz files - Fix nsis ViewCVS url - SF.net changed its CVS URLs - Fix VPatch Readme.html example.nsi link * Remove 01_menu_fixes, since it is not used and probably bitrotten * Update README.Debian: add URL to System.dll work and fix download URL * Fix 2.16-1 changelog: replace 64-bit with big-endian * Bump Standards-Version (no changes) -- Paul Wise Sun, 21 May 2006 22:18:35 +0800 nsis (2.16-1) unstable; urgency=low * New upstream release - Finally supports big-endian platforms - Update patches: - 04_changelog: update to v216 cvs tag - Drop parts of the diff.gz integrated upstream * Upload to unstable (works with old scons now) - Add patch to allow the scons stuff to work with scons 0.96.1. This is in the diff.gz so that debian/rules clean works. Thanks to Amir Szekely from upstream for helping with this. - Reduce scons build-dependency to >= 0.96 - Clean .sconsign files at the appropriate moments * debian/rules: prevent the tests from being run twice -- Paul Wise Sun, 9 Apr 2006 23:37:45 +0800 nsis (2.15-2) experimental; urgency=low * Brown paper bag release * Fix broken search path for stubs/etc due to upstream changes related to the introduction of Source/exehead/sconf.h -- Paul Wise Fri, 10 Mar 2006 23:24:35 +0800 nsis (2.15-1) experimental; urgency=low * New upstream release - Update patches: - 04_changelog: update to v215 cvs tag - Drop parts of the diff.gz integrated upstream * debian/rules: Remove new generated files in clean target: Source/exehead/sconf.h and Source/version.h -- Paul Wise Sun, 5 Mar 2006 12:32:44 +0800 nsis (2.14-3) experimental; urgency=low * Properly convert paths passed to !addincludedir. Closes: #352259 -- Paul Wise Thu, 23 Feb 2006 19:29:16 +0800 nsis (2.14-2) experimental; urgency=low * Add a build-stamp target so that the tests only run once on buildds * For the tests, install licence.txt, since one test needs it * Use CPPDEFINES not CPPFLAGS to define __BIG_ENDIAN__ (Closes: #350112) -- Paul Wise Sat, 28 Jan 2006 00:00:57 +0800 nsis (2.14-1) experimental; urgency=low * New upstream release - Fixes plugin breakage on Win9X and WinNT in 2.13 - Update patches: - 04_changelog: update to v214 cvs tag -- Paul Wise Wed, 25 Jan 2006 10:05:16 +0800 nsis (2.13-1) UNRELEASED; urgency=low * New upstream release - Update patches: - 04_changelog: update to v213 cvs tag - 03_docs_fixes: drop parts fixed by the POSIX install patch - Drop patches: - 02_config_dirs: upstream accepted my POSIX install patch for scons - debian/rules: adapt install/etc to POSIX install patch - debian/copyright: update copyright years - debian/README.Debian: update upstream url * debian/rules: in the clean target, only ignore missing scons * debian/control: make the homepage comply to the developers reference -- Paul Wise Sun, 22 Jan 2006 12:09:43 +0800 nsis (2.12-2) UNRELEASED; urgency=low * 05_examples_fixes: replace with some sed calls * debian/control: scons build-dependency doesn't need debian version * debian/rules: tell scons to ignore tests that fail -- Paul Wise Tue, 3 Jan 2006 17:50:11 +0800 nsis (2.12-1) experimental; urgency=low * New upstream release - Update patches: - 04_changelog: update to v212 cvs tag - 05_examples_fixes: Fix MultiLanguage.nsi from the MUI -- Paul Wise Sun, 18 Dec 2005 13:47:11 +0800 nsis (2.11-1) experimental; urgency=low * New upstream release - Update patches: - 04_changelog: update to v211 cvs tag - Drop patches: - 06_logiclib_fixes: fixed properly by upstream * debian/rules: Use dpkg-parsechangelog to get the version * debian/rules: Enable tests, but ignore the results * debian/watch: use sf.net instead of the real url * 01_menu_fixes: disable for now, not needed and a pain to update -- Paul Wise Mon, 14 Nov 2005 10:41:26 +0800 nsis (2.10-1-1) experimental; urgency=low * New upstream release - VPatch 3 included upstream, we now have GenPat, so fix README.Debian - Now requires scons 0.96.91 for building - Update patches: - 04_changelog: update to v210 cvs tag * debian/rules: Ignore some failures in the clean target, motivated by http://lists.debian.org/debian-mentors/2005/09/msg00009.html * debian/README.Debian: Add note about System plugin plans to README.Debian * debian/rules: Convert html files to README files using the pretty style * debian/GenPat.xml: add manual page for GenPat * debian/rules: Convert html to text README during build target instead * debian/makensis.xml: Fix path to HTML docs and DTD version -- Paul Wise Wed, 5 Oct 2005 18:39:53 +0800 nsis (2.09-1) experimental; urgency=low * New upstream release - Update patches: - 04_changelog: update to v209 cvs tag - Drop patches included upstream: - 07_fix_ndata_rsrc_order - 08_extern_c_c++_plugins - parts of 05_examples_fixes * debian/watch: use uupdate when new releases are found * 03_docs_fixes: remove reference to NSIS dir in tutorial.but -- Paul Wise Mon, 29 Aug 2005 08:48:23 +0800 nsis (2.08-4) experimental; urgency=low * 08_extern_c_c++_plugins: Change the C++ plugins to use extern "C" for their DllMain, so that it gets called. Fixes crash with the BgImage plugin -- Paul Wise Wed, 10 Aug 2005 17:40:09 +0800 nsis (2.08-3) experimental; urgency=medium * debian/watch: use sourceforge support from uscan in devscripts 2.9 * Don't ship *.def and *.lib files for plugins * 05_examples_fixes: change Luxembourgish.nsh macro case (Closes: #320557) * 07_fix_ndata_rsrc_order: New patch from upstream to fix installers broken by the interaction between .ndata and .rsrc sections in mingw32 http://forums.winamp.com/showthread.php?threadid=212630 http://forums.winamp.com/showthread.php?threadid=222992 (Closes: #319929) * debian/makensis.xml: - workaround xmlto using non-utf8 trademark symbol - update to latest docbook version since sarge fixed it -- Paul Wise Sat, 6 Aug 2005 19:25:04 +0800 nsis (2.08-2) experimental; urgency=low * New patches: (Closes: #319936) - 05_examples_fixes: fix some minor problems with the examples - 06_logiclib_fixes: fix non-portable !system commands * Add a note about not-built stuff in the package description -- Paul Wise Wed, 27 Jul 2005 14:11:13 +0800 nsis (2.08-1) experimental; urgency=low * New upstream release - Several files are now generated from proper source * Update patches: - 01_menu_fixes.dpatch: update case of some dirs - 02_config_dirs.dpatch: parts replaced upstream - 04_changelog.dpatch: update to v2.08 cvs tag * Fix section in debian/doc-base * Remove workaround for dh_strip bug from debian/rules * Switch NEWS generation to AppendixF.html * Update some years in debian/copyright * Ship NEWS in the .deb (oops) -- Paul Wise Sun, 24 Jul 2005 13:47:33 +0800 nsis (2.07-2) UNRELEASED; urgency=low * Add README.Debian explaining about removed stuff -- Paul Wise Sat, 9 Jul 2005 17:18:19 +0800 nsis (2.07-1) experimental; urgency=low * New upstream release - Update patches: - Update my email address - 02_config_dirs.dpatch: one function name changed - 04_changelog.dpatch: update to v2.07 cvs tag - Drop stuff (integrated/replaced upstream): - 01_fix_makefiles.dpatch - 03_compile_fixes.dpatch - 05_amd64_fixes.dpatch - 06_halibut_fixes.dpatch - 07_fix_examples.dpatch * Use lolando's sfdlr.php in debian/watch * Remove debian/README.Debian-source * New patches: - 01_menu_fixes.dpatch fixes Menu files for use in normal browsers - 03_docs_fixes.dpatch fixes paths in Docs files -- Paul Wise Thu, 23 Jun 2005 20:56:42 +0800 nsis (2.06-6) unstable; urgency=low * Bump version number for gcc4 transition and sparc rebuild -- Paul Wise Thu, 7 Jul 2005 13:12:08 +0800 nsis (2.06-5) unstable; urgency=low * Brown paper bag release * Use $^ instead of $< in Contrib Makefiles (Closes: #312564) * Update maintainer address (v3.com discontinued email forwards) -- Paul Wise Mon, 13 Jun 2005 21:34:53 +0800 nsis (2.06-4) unstable; urgency=low * 01_fix_makefiles.dpatch - Include the exe files from Contrib/UIs/ since upstream considers them to be source code (Closes: #304678): http://forums.winamp.com/showthread.php?postid=1642451#post1642451 - Create some symlinks due to incorrect filename case in some examples - Change the magic to use /bin/bash instead of /bin/sh - Install some extra files needed by the VPatch example * 01_fix_makefiles.dpatch, debian/rules, debian/lintian.overrides - Include /usr/share/nsis/Contrib/Modern UI/Licence.txt because the example files require it, and create lintian/linda overrides too * 07_fix_examples.dpatch New patch: fix some issues in the example .nsi scripts * debian/patches/* - Update authorship and descriptions -- Paul Wise Sun, 17 Apr 2005 17:20:52 +0800 nsis (2.06-3) unstable; urgency=low * 06_halibut_fixes.dpatch - New patch: fix FTBFS caused by halibut segfaults, thanks to Blars Blarson and finn/mentat (Closes: #303881) * debian/control - Merge the first two paragraphs of the Description, and remove redundant information (Closes: #304102) -- Paul Wise Tue, 12 Apr 2005 00:27:00 +0800 nsis (2.06-2) unstable; urgency=low * Change the generated ChangeLog to a generated NEWS * 04_changelog.dpatch - New patch: Adds cvs logs from upstream (using cvs2cl) as ChangeLog * debian/watch - New file - use heanet.sf.net, because it allows direct downloads * 05_amd64_fixes.dpatch - New patch: Add amd64 FTBFS patch from Andreas Jochens (Closes: #303709) -- Paul Wise Fri, 8 Apr 2005 19:00:18 +0800 nsis (2.06-1) unstable; urgency=low * New upstream release * Move patches to dpatch * Fix spelling error in description * Remove cruft from debian/rules * Convert Appendix E from the docs to a changelog -- Paul Wise Wed, 30 Mar 2005 19:53:45 +0800 nsis (2.05-1) unstable; urgency=low * Initial Release. (Closes: #276148, #276153) * Grab halibut (builds docs) from upstream CVS -- Paul Wise Tue, 15 Feb 2005 21:49:09 +0800 debian/nsis-pluginapi.lintian-overrides0000644000000000000000000000021711562742435015521 0ustar nsis-pluginapi: arch-independent-package-contains-binary-or-object nsis-pluginapi: non-standard-dir-in-usr nsis-pluginapi: file-in-unusual-dir debian/nsis.manpages0000644000000000000000000000006511562742435011671 0ustar build/makensis.1 build/GenPat.1 build/LibraryLocal.1 debian/makensis.xml0000644000000000000000000001340711562742435011540 0ustar Paul"> Wise"> October 5, 2005"> 1"> pabs@debian.org"> NSIS"> ]> &package; &package; manual
&email;
&firstname; &surname; Created man page 2005 &username; &date;
&ucpackage; §ion; &package; A program to create Windows installers. &package; DESCRIPTION This manual page documents briefly the &package; command. This manual page was written for the &debian; distribution because the original program does not have a manual page. Instead, it has documentation in the HTML format; see below. &package; is a program that creates installer programs for Windows. OPTIONS Parameters are processed by order (-Ddef ins.nsi != ins.nsi -Ddef) for script file name, you can use - to read from the standard input. For a complete description, see the HTML files. Verbosity where x is 4=all, 3=no script, 2=no info, 1=no warnings, 0=none. Specifies a text file to log compiler output (default is stdout). Pauses after execution. Disables inclusion of /etc/nsisconf.nsh. Disable changing the current directory to that of the .nsi file. Defines the symbol "define" for the script to [value]. Executes scriptcmd in the script (i.e. "-XOutFile poop.exe") Prints out help for 'item', or lists all commands. Prints information about what options makensis was compiled with. Prints the makensis software license. Prints the makensis version and exits. FILES /etc/nsisconf.nsh System wide configuration file. ~/.nsisconf.nsh Per-user configuration file. SEE ALSO NSIS is documented more fully in the HTML files in /usr/share/doc/nsis/Docs. AUTHOR This manual page was written by &username; &email; for the &debian; system.
debian/rules0000755000000000000000000001622311641307456010261 0ustar #!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # Exclude .svn directories from packages export DH_ALWAYS_EXCLUDE=.svn VERSION=${shell dpkg-parsechangelog | sed -n 's/^Version: *//p'} PREFIX=/usr # Variables for Win32 cross compiler XGCC_W32 = $(shell which i686-w64-mingw32-gcc) ifneq ($(strip $(XGCC_W32)),) XGCC_W32_PATH = $(abspath $(shell $(XGCC_W32) -print-file-name=libkernel32.a)/../..) XGCC_W32_PREFIX = $(subst -gcc,-,$(notdir $(XGCC_W32))) endif ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) TEST= else TEST=test endif ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) SCONSFLAGS = -j $(NUMJOBS) endif SCONSOPTS = $(SCONSFLAGS) VERSION=$(VERSION) \ PREFIX=$(PREFIX) PREFIX_CONF=/etc \ CHMDOCS=0 \ APPEND_CCFLAGS="-Wall -g -O$(if $(findstring noopt,$(DEB_BUILD_OPTIONS)),0,2)" \ APPEND_LINKFLAGS="-Wall -g -O$(if $(findstring noopt,$(DEB_BUILD_OPTIONS)),0,2)"\ STRIP_CP=no $(if $(findstring nostripfull,$(DEB_BUILD_OPTIONS)),STRIP_W32=no,) ifdef XGCC_W32_PATH SCONSOPTS := $(SCONSOPTS) \ PREFIX_PLUGINAPI_INC=$(XGCC_W32_PATH)/include/ \ PREFIX_PLUGINAPI_LIB=$(XGCC_W32_PATH)/lib/ \ XGCC_W32_PREFIX=$(XGCC_W32_PREFIX) endif COMMA := , UTILS_ALL = 'Library/LibraryLocal,Library/RegTool,MakeLangId,Makensisw,NSIS Menu,UIs,SubStart,VPatch/Source/GenPat,zip2exe' IGNORE_UTILS_NSIS := $(subst Library/LibraryLocal$(COMMA),,$(UTILS_ALL)) IGNORE_UTILS_NSIS := $(subst $(COMMA)VPatch/Source/GenPat,,$(IGNORE_UTILS_NSIS)) IGNORE_UTILS_CLEAN := $(subst Library/LibraryLocal$(COMMA)Library/RegTool$(COMMA),,$(UTILS_ALL)) IGNORE_UTILS_CLEAN := $(subst $(COMMA)UIs,,$(IGNORE_UTILS_CLEAN)) IGNORE_UTILS_COMMON := $(IGNORE_UTILS_CLEAN) IGNORE_UTILS_CLEAN := $(subst $(COMMA)SubStart,,$(IGNORE_UTILS_CLEAN)) IGNORE_UTILS_CLEAN := $(subst $(COMMA)VPatch/Source/GenPat,,$(IGNORE_UTILS_CLEAN)) SCONSOPTS_NSIS := $(SCONSOPTS) SKIPUTILS=$(IGNORE_UTILS_NSIS) SKIPDOC=COPYING SCONSOPTS_COMMON := $(SCONSOPTS) SKIPUTILS=$(IGNORE_UTILS_COMMON) \ SKIPDOC=COPYING SCONSOPTS_CLEAN := $(SCONSOPTS) SKIPUTILS=$(IGNORE_UTILS_CLEAN) SCONSOPTS_TEST := $(SCONSOPTS) SKIPUTILS=$(IGNORE_UTILS_COMMON) INSTALL_nsis = install-utils install-compiler install-conf INSTALL_nsis-common = install-stubs install-plugins install-data install-utils INSTALL_nsis-pluginapi = install-pluginapi INSTALL_nsis-doc = install-examples install-doc # Exclude test scripts not appropriate for POSIX platforms. IGNORE_TESTS = makensis.nsi|gfx.nsi # Path to .nsi scripts SCRIPTS_PATH = $(PREFIX)/share/doc/nsis/Examples # Release notes NEWS = $(PREFIX)/share/doc/nsis/Docs/AppendixF.html define DO_SCONS_INSTALL scons $(1) PREFIX_DEST="$(CURDIR)/debian/$(2)" $(INSTALL_$(2)) || exit 1; endef clean build: dh "$@" build/NEWS: if [ -e "$(CURDIR)/debian/nsis-doc$(NEWS)" ]; then \ news_file="$(CURDIR)/debian/nsis-doc$(NEWS)"; \ else \ scons $(SCONSOPTS_COMMON) Docs/src; \ news_file="build/*/Docs/html/AppendixF.html"; \ fi; \ html2text -nobs "$${news_file}" | sed -e '0,/^\*\*\*\*\*/c\NSIS Release Notes (automatically converted from AppendixF.html)' -e 's/F\.[.0-9]* //g' -e 's/^\*\*\*\** *\([^*]*\) *\**\*\*\*/\n\1\n/g' -e '/Changelog/d' -e '/^NSIS_1.x_version_history/,/^=/c\ http://nsis.sourceforge.net/download/nsis1/' -e 's/^\(Released.*\)/ \1\n/g' | cat -s > "$@" override_dh_auto_clean: scons -c $(SCONSOPTS_CLEAN) 2>&1 -rm -rf .sconf_temp .sconsign.dblite SCons/Tools/crossmingw.pyc build config.log .test -rm -f Source/exehead/sconf.h Source/version.h Source/defines.h config.log build-indep: ifdef XGCC_W32_PATH scons $(SCONSOPTS_COMMON) Docs/src stubs plugins utils html2text -style pretty -nobs -o "build/README.Modern UI" "Contrib/Modern UI/Readme.html" html2text -style pretty -nobs -o "build/README.Modern UI 2" "Contrib/Modern UI 2/Readme.html" html2text -style pretty -nobs -o build/README.VPatch Contrib/VPatch/Readme.html html2text -style pretty -nobs -o build/README.InstallOptions Contrib/InstallOptions/Readme.html html2text -style pretty -nobs -o build/README.MultiUser Contrib/MultiUser/Readme.html html2text -style pretty -nobs -o build/README.nsDialogs Contrib/nsDialogs/Readme.html endif build-arch: scons $(SCONSOPTS_NSIS) utils makensis xmlto -o build man debian/makensis.xml xmlto -o build man debian/GenPat.xml xmlto -o build man debian/LibraryLocal.xml test: if [ x$(TEST) != x ] ; then \ if [ -d "$(CURDIR)/debian/nsis-common$(PREFIX)/share/nsis" ] ; then \ scons $(SCONSOPTS_TEST) $(TEST); \ else \ scons $(SCONSOPTS_NSIS) PREFIX_DEST="$(CURDIR)/.test" $(INSTALL_nsis); \ for script_path in $(SCRIPTS_PATH)/*.nsi \ $(SCRIPTS_PATH)/*/*.nsi; do \ script=$${script_path#$(SCRIPTS_PATH)/}; \ if [ "$${script%/*}" != "$${script}" ]; then \ mkdir -p ".test/$${script%/*}"; \ fi; \ case $${script} in \ $(IGNORE_TESTS)) ;; \ *) \ if [ -f "$${script_path}" ]; then \ PATH=$(PATH):$(CURDIR)/.test$(PREFIX)/bin ".test$(PREFIX)/bin/makensis" \ "$${script_path}" \ -X"OutFile \"$(CURDIR)/.test/$${script%.nsi}.exe\"" || exit 1; \ fi;; \ esac; \ done; \ fi; \ fi install-indep: dh "install" --before dh_auto_install ifdef XGCC_W32_PATH $(foreach p,$(PKGS),$(call DO_SCONS_INSTALL,$(SCONSOPTS_COMMON),$(p))) # Exclude any architecture dependent binaries from nsis-common rm -rf "$(CURDIR)/debian/nsis-common/usr/bin" # Fix permissions for plugin API find "$(CURDIR)/debian/nsis-pluginapi$(MINGW32_PATH)" \ "$(CURDIR)/debian/nsis-common/usr/share/nsis" \ -type f -perm +111 -exec chmod a-x {} \; # Clean up examples and documentation # The docs file can't seem to have spaces within the file name(s) dh_installdocs -pnsis-doc "build/README.Modern UI" \ "build/README.Modern UI 2" rm "debian/nsis-doc/usr/share/doc/nsis/Docs/Modern UI/License.txt" rm "debian/nsis-doc/usr/share/doc/nsis/Docs/Modern UI 2/License.txt" rm "debian/nsis-doc/usr/share/doc/nsis/Docs/NSISdl/License.txt" # Remove reference to License text file in Modern UI examples # to enable their compilation with makensis cd "$(CURDIR)/debian/nsis-doc/usr/share/doc/nsis/Examples/Modern UI"; \ ls *.nsi | xargs -i{} sed -i -e 's/$${NSISDIR}\\Docs\\Modern UI\\License.txt/{}/g' "{}" endif install-arch: dh "install" --before dh_auto_install $(foreach p,$(PKGS),$(call DO_SCONS_INSTALL,$(SCONSOPTS_NSIS),$(p))) find "$(CURDIR)/debian/nsis/etc" \ -type f -perm +111 -exec chmod a-x {} \; override_dh_compress: dh_compress -X.nlf -X.nsh -X.nsi -X.dll # Adapt links to documents with those of their compressed version if [ -d debian/nsis-doc/usr/share/doc/nsis ]; then \ cd debian/nsis-doc/usr/share/doc/nsis ; \ find ./ -mindepth 2 -iname \*.gz | \ sed -e 's,.gz$$,,g' -e 's, ,%20,g' | \ xargs -i88 sh -c 'fgrep -rl "88\"" . | \ xargs -i{} sed -i -e "s|88\"|88.gz\"|g" "{}"'; \ fi binary-indep: PKGS = $(shell dh_listpackages -i) binary-indep: build-indep install-indep dh "$@" binary-arch: PKGS = $(shell dh_listpackages -a) binary-arch: build-arch build/NEWS test install-arch dh "$@" binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep build build-arch build-indep clean install-arch install-indep test .NOTPARALLEL: binary debian/watch0000644000000000000000000000010611562742435010225 0ustar version=3 http://sf.net/nsis/nsis-([\d.]*)-src.tar.bz2 debian uupdate debian/nsis.links0000644000000000000000000000013211562742435011211 0ustar /usr/bin/GenPat /usr/bin/genpat /usr/share/man/man1/GenPat.1 /usr/share/man/man1/genpat.1 debian/nsis.docs0000644000000000000000000000002411562742435011021 0ustar TODO.txt build/NEWS debian/compat0000644000000000000000000000000211562742435010375 0ustar 7 debian/nsis-common.docs0000644000000000000000000000013611562742435012313 0ustar build/README.VPatch build/README.InstallOptions build/README.MultiUser build/README.nsDialogs