[svn] r6287 - in trunk/rpms: . nsis
packagers at lists.rpmforge.net
packagers at lists.rpmforge.net
Sun Apr 27 00:42:53 CEST 2008
Author: dag
Date: 2008-04-26 23:42:53 +0100 (Sat, 26 Apr 2008)
New Revision: 6287
Added:
trunk/rpms/nsis/
trunk/rpms/nsis/nsis-2.27-64bit.patch
trunk/rpms/nsis/nsis-2.27-RPM_OPT_FLAGS.patch
trunk/rpms/nsis/nsis.spec
Log:
Updates
Added: trunk/rpms/nsis/nsis-2.27-64bit.patch
===================================================================
--- trunk/rpms/nsis/nsis-2.27-64bit.patch (rev 0)
+++ trunk/rpms/nsis/nsis-2.27-64bit.patch 2008-04-26 22:42:53 UTC (rev 6287)
@@ -0,0 +1,274 @@
+diff -ur nsis-2.27-src/Source/DialogTemplate.cpp nsis-2.27-src-64bit/Source/DialogTemplate.cpp
+--- nsis-2.27-src/Source/DialogTemplate.cpp 2007-04-25 21:20:41.000000000 +0200
++++ nsis-2.27-src-64bit/Source/DialogTemplate.cpp 2007-05-28 01:11:05.000000000 +0200
+@@ -74,7 +74,7 @@
+ if (IS_INTRESOURCE(x)) { \
+ *(WORD*)seeker = 0xFFFF; \
+ seeker += sizeof(WORD); \
+- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \
++ *(WORD*)seeker = ConvertEndianness(WORD(long(x))); \
+ seeker += sizeof(WORD); \
+ } \
+ else { \
+@@ -613,7 +613,7 @@
+ }
+ }
+
+- assert((DWORD) seeker - (DWORD) pbDlg == dwSize);
++ assert((long) seeker - (long) pbDlg == dwSize);
+
+ // DONE!
+ return pbDlg;
+diff -ur nsis-2.27-src/Source/makenssi.cpp nsis-2.27-src-64bit/Source/makenssi.cpp
+--- nsis-2.27-src/Source/makenssi.cpp 2007-03-02 05:35:35.000000000 +0100
++++ nsis-2.27-src-64bit/Source/makenssi.cpp 2007-05-28 02:34:02.000000000 +0200
+@@ -152,11 +152,11 @@
+ {
+ if (build.display_info)
+ {
+- fprintf(g_output,"Size of first header is %d bytes.\n",sizeof(firstheader));
+- fprintf(g_output,"Size of main header is %d bytes.\n",sizeof(header));
+- fprintf(g_output,"Size of each section is %d bytes.\n",sizeof(section));
+- fprintf(g_output,"Size of each page is %d bytes.\n",sizeof(page));
+- fprintf(g_output,"Size of each instruction is %d bytes.\n",sizeof(entry));
++ fprintf(g_output,"Size of first header is %lu bytes.\n",(unsigned long)sizeof(firstheader));
++ fprintf(g_output,"Size of main header is %lu bytes.\n",(unsigned long)sizeof(header));
++ fprintf(g_output,"Size of each section is %lu bytes.\n",(unsigned long)sizeof(section));
++ fprintf(g_output,"Size of each page is %lu bytes.\n",(unsigned long)sizeof(page));
++ fprintf(g_output,"Size of each instruction is %lu bytes.\n",(unsigned long)sizeof(entry));
+ int x=build.definedlist.getnum();
+ fprintf(g_output,"\nDefined symbols: ");
+ for (int i=0; i<x; i++)
+diff -ur nsis-2.27-src/Source/mmap.cpp nsis-2.27-src-64bit/Source/mmap.cpp
+--- nsis-2.27-src/Source/mmap.cpp 2007-01-13 18:28:17.000000000 +0100
++++ nsis-2.27-src-64bit/Source/mmap.cpp 2007-05-28 01:43:48.000000000 +0200
+@@ -324,7 +324,7 @@
+ if (!pView)
+ return;
+
+- unsigned int alignment = ((unsigned int)pView) % m_iAllocationGranularity;
++ unsigned int alignment = ((unsigned long)pView) % m_iAllocationGranularity;
+ pView = (char *)pView - alignment;
+ size += alignment;
+ #ifdef _WIN32
+diff -ur nsis-2.27-src/Source/Platform.h nsis-2.27-src-64bit/Source/Platform.h
+--- nsis-2.27-src/Source/Platform.h 2007-04-26 20:24:35.000000000 +0200
++++ nsis-2.27-src-64bit/Source/Platform.h 2007-05-28 01:11:05.000000000 +0200
+@@ -184,7 +184,7 @@
+ # define MAKEINTRESOURCE MAKEINTRESOURCEA
+ # endif
+ # ifndef IMAGE_FIRST_SECTION
+-# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \
++# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (long) h + \
+ FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \
+ FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) )
+ # endif
+@@ -196,7 +196,7 @@
+ # endif
+ #endif
+ #ifndef IS_INTRESOURCE
+-# define IS_INTRESOURCE(_r) (((ULONG_PTR)(_r) >> 16) == 0)
++# define IS_INTRESOURCE(_r) (((unsigned long)(_r) >> 16) == 0)
+ #endif
+
+ // functions
+@@ -720,7 +720,7 @@
+ WORD e_oemid;
+ WORD e_oeminfo;
+ WORD e_res2[10];
+- LONG e_lfanew;
++ DWORD e_lfanew;
+ } IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER;
+ # pragma pack()
+ # pragma pack(4)
+diff -ur nsis-2.27-src/Source/Plugins.cpp nsis-2.27-src-64bit/Source/Plugins.cpp
+--- nsis-2.27-src/Source/Plugins.cpp 2007-01-13 18:28:13.000000000 +0100
++++ nsis-2.27-src-64bit/Source/Plugins.cpp 2007-05-28 01:11:05.000000000 +0200
+@@ -136,7 +136,7 @@
+ DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData);
+ PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va);
+ DWORD na = FIX_ENDIAN_INT32(exports->AddressOfNames);
+- unsigned long *names = (unsigned long*)((unsigned long) exports + (char *) na - ExportDirVA);
++ unsigned int *names = (unsigned int*)((unsigned long) exports + (char *) na - ExportDirVA);
+ for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)
+ {
+ const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA);
+diff -ur nsis-2.27-src/Source/ResourceEditor.cpp nsis-2.27-src-64bit/Source/ResourceEditor.cpp
+--- nsis-2.27-src/Source/ResourceEditor.cpp 2007-04-17 00:12:48.000000000 +0200
++++ nsis-2.27-src-64bit/Source/ResourceEditor.cpp 2007-05-28 01:19:35.000000000 +0200
+@@ -219,7 +219,7 @@
+
+ static WCHAR* ResStringToUnicode(const char *szString) {
+ if (IS_INTRESOURCE(szString))
+- return MAKEINTRESOURCEW((ULONG_PTR)szString);
++ return MAKEINTRESOURCEW((unsigned long)szString);
+ else
+ return winchar_fromansi(szString);
+ }
+@@ -611,7 +611,7 @@
+ rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries);
+
+ CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY));
+- crd->m_dwWrittenAt = DWORD(seeker);
++ crd->m_dwWrittenAt = long(seeker);
+ seeker += sizeof(IMAGE_RESOURCE_DIRECTORY);
+
+ for (int i = 0; i < crd->CountEntries(); i++) {
+@@ -632,7 +632,7 @@
+ rDirE.NameString.NameIsString = (crd->GetEntry(i)->HasName()) ? 1 : 0;
+
+ CopyMemory(seeker, &rDirE, sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY));
+- crd->GetEntry(i)->m_dwWrittenAt = DWORD(seeker);
++ crd->GetEntry(i)->m_dwWrittenAt = long(seeker);
+ seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY);
+ }
+ qDirs.pop();
+@@ -648,7 +648,7 @@
+ rDataE.Size = ConvertEndianness(cRDataE->GetSize());
+
+ CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY));
+- cRDataE->m_dwWrittenAt = DWORD(seeker);
++ cRDataE->m_dwWrittenAt = long(seeker);
+ seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY);
+
+ qDataEntries.pop();
+@@ -660,7 +660,7 @@
+ while (!qStrings.empty()) {
+ CResourceDirectoryEntry* cRDirE = qStrings.front();
+
+- PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(seeker) - DWORD(pbRsrcSec));
++ PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(long(seeker) - long(pbRsrcSec));
+
+ WCHAR* szName = cRDirE->GetName();
+ WORD iLen = winchar_strlen(szName) + 1;
+@@ -691,7 +691,7 @@
+ /*
+ * Set all of the directory entries offsets.
+ */
+- SetOffsets(m_cResDir, DWORD(pbRsrcSec));
++ SetOffsets(m_cResDir, long(pbRsrcSec));
+ }
+
+ // Sets the offsets in directory entries
+@@ -814,7 +814,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) (long) szName);
+ else
+ if (szName[0] == '#')
+ return Find(WORD(winchar_stoi(szName + 1)));
+@@ -892,7 +892,7 @@
+ if (IS_INTRESOURCE(szName)) {
+ m_bHasName = false;
+ m_szName = 0;
+- m_wId = (WORD) (DWORD) szName;
++ m_wId = (WORD) (long) szName;
+ }
+ else {
+ m_bHasName = true;
+@@ -906,7 +906,7 @@
+ if (IS_INTRESOURCE(szName)) {
+ m_bHasName = false;
+ m_szName = 0;
+- m_wId = (WORD) (DWORD) szName;
++ m_wId = (WORD) (long) szName;
+ }
+ else {
+ m_bHasName = true;
+diff -ur nsis-2.27-src/Source/strlist.cpp nsis-2.27-src-64bit/Source/strlist.cpp
+--- nsis-2.27-src/Source/strlist.cpp 2007-01-13 18:28:18.000000000 +0100
++++ nsis-2.27-src-64bit/Source/strlist.cpp 2007-05-28 03:39:14.000000000 +0200
+@@ -125,7 +125,7 @@
+ extern void quit();
+ if (g_display_errors)
+ {
+- fprintf(g_output,"\nInternal compiler error #12345: GrowBuf realloc/malloc(%d) failed.\n",strlen(value)+1);
++ fprintf(g_output,"\nInternal compiler error #12345: GrowBuf realloc/malloc(%lu) failed.\n",(unsigned long)strlen(value)+1ul);
+ fflush(g_output);
+ }
+ quit();
+diff -ur nsis-2.27-src/Source/strlist.h nsis-2.27-src-64bit/Source/strlist.h
+--- nsis-2.27-src/Source/strlist.h 2007-01-13 18:28:18.000000000 +0100
++++ nsis-2.27-src-64bit/Source/strlist.h 2007-05-28 03:39:39.000000000 +0200
+@@ -72,7 +72,7 @@
+ extern void quit();
+ if (g_display_errors)
+ {
+- fprintf(g_output,"\nInternal compiler error #12345: GrowBuf realloc/malloc(%d) failed.\n",strlen(name)+1);
++ fprintf(g_output,"\nInternal compiler error #12345: GrowBuf realloc/malloc(%lu) failed.\n",(unsigned long)strlen(name)+1ul);
+ fflush(g_output);
+ }
+ quit();
+diff -ur nsis-2.27-src/Source/util.cpp nsis-2.27-src-64bit/Source/util.cpp
+--- nsis-2.27-src/Source/util.cpp 2007-04-24 16:24:18.000000000 +0200
++++ nsis-2.27-src-64bit/Source/util.cpp 2007-05-28 01:11:05.000000000 +0200
+@@ -74,9 +74,9 @@
+ }
+
+ if (width != 0) {
+- LONG biWidth;
++ DWORD biWidth;
+ fseek(f, 18, SEEK_SET); // Seek to the width member of the header
+- fread(&biWidth, sizeof(LONG), 1, f);
++ fread(&biWidth, sizeof(DWORD), 1, f);
+ FIX_ENDIAN_INT32_INPLACE(biWidth);
+ if (width != biWidth) {
+ fclose(f);
+@@ -85,12 +85,12 @@
+ }
+
+ if (height != 0) {
+- LONG biHeight;
++ DWORD biHeight;
+ fseek(f, 22, SEEK_SET); // Seek to the height member of the header
+- fread(&biHeight, sizeof(LONG), 1, f);
++ fread(&biHeight, sizeof(DWORD), 1, f);
+ FIX_ENDIAN_INT32_INPLACE(biHeight);
+ // Bitmap height can be negative too...
+- if (height != abs(biHeight)) {
++ if (height != abs((long int)biHeight)) {
+ fclose(f);
+ return -3;
+ }
+@@ -329,7 +329,7 @@
+ FIX_ENDIAN_INT32_INPLACE(rdEntry.OffsetToData);
+ MY_ASSERT(!rdEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
+
+- PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));
++ PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + long(rdRoot));
+
+ MY_ASSERT((size_t)rdIcons - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
+
+@@ -342,7 +342,7 @@
+ FIX_ENDIAN_INT32_INPLACE(icoEntry.OffsetToData);
+
+ MY_ASSERT(!icoEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
+- PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));
++ PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + long(rdRoot));
+
+ MY_ASSERT((size_t)rd - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
+
+@@ -351,7 +351,7 @@
+
+ MY_ASSERT(datEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
+
+- PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + DWORD(rdRoot));
++ PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + long(rdRoot));
+
+ MY_ASSERT((size_t)rde - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
+
+@@ -372,10 +372,10 @@
+ }
+
+ // Set offset
+- DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + DWORD(rdRoot) - dwResourceSectionVA - DWORD(exeHeader);
++ DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + long(rdRoot) - dwResourceSectionVA - long(exeHeader);
+ *(LPDWORD) seeker = FIX_ENDIAN_INT32(dwOffset);
+
+- MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (DWORD)rdRoot - (DWORD)exeHeader, "invalid data offset - icon resource probably compressed");
++ MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (long)rdRoot - (long)exeHeader, "invalid data offset - icon resource probably compressed");
+ }
+
+ LPBYTE seeker = uninstIconData;
Added: trunk/rpms/nsis/nsis-2.27-RPM_OPT_FLAGS.patch
===================================================================
--- trunk/rpms/nsis/nsis-2.27-RPM_OPT_FLAGS.patch (rev 0)
+++ trunk/rpms/nsis/nsis-2.27-RPM_OPT_FLAGS.patch 2008-04-26 22:42:53 UTC (rev 6287)
@@ -0,0 +1,35 @@
+diff -ur nsis-2.27-src/SCons/Config/gnu nsis-2.27-src-RPM_OPT_FLAGS/SCons/Config/gnu
+--- nsis-2.27-src/SCons/Config/gnu 2007-04-13 12:28:49.000000000 +0200
++++ nsis-2.27-src-RPM_OPT_FLAGS/SCons/Config/gnu 2007-05-28 00:45:12.000000000 +0200
+@@ -1,5 +1,7 @@
+ print "Using GNU tools configuration"
+
++import os
++
+ Import('defenv')
+
+ ### imports
+@@ -80,13 +82,11 @@
+ makensis_env = defenv.Clone()
+
+ if not defenv['DEBUG']:
+- makensis_env.Append(CCFLAGS = '-O2') # optimize
++ makensis_env.Append(CCFLAGS = os.getenv('RPM_OPT_FLAGS')) # optimize
+ makensis_env.Append(CCFLAGS = '-Wall') # all warnings
+ makensis_env.Append(CCFLAGS = '-Wno-non-virtual-dtor') # ignore virtual dtor warnings
+
+ conf = FlagsConfigure(makensis_env)
+-conf.CheckLinkFlag('-m32') #
+-conf.CheckCompileFlag('-m32') #
+ conf.CheckLinkFlag('$MAP_FLAG') # generate map file
+ if not defenv['DEBUG'] and defenv['STRIP']:
+ TestStrip(conf) # strip
+@@ -113,7 +113,7 @@
+ cp_util_env = defenv.Clone()
+
+ if not defenv['DEBUG']:
+- cp_util_env.Append(CCFLAGS = '-O2') # optimize
++ cp_util_env.Append(CCFLAGS = os.getenv('RPM_OPT_FLAGS')) # optimize
+ cp_util_env.Append(CCFLAGS = '-Wall') # all warnings
+ cp_util_env.Append(CCFLAGS = '-fno-strict-aliasing') # not safe for strict aliasing
+
Added: trunk/rpms/nsis/nsis.spec
===================================================================
--- trunk/rpms/nsis/nsis.spec (rev 0)
+++ trunk/rpms/nsis/nsis.spec 2008-04-26 22:42:53 UTC (rev 6287)
@@ -0,0 +1,58 @@
+# $Id$
+# Authority: dag
+
+Summary: Open Source installer build tool for Windows applications
+Name: nsis
+Version: 2.34
+Release: 1
+License: zlib/libpng
+Group: Development/Tools
+URL: http://nsis.sourceforge.net/
+
+Source0: http://dl.sf.net/nsis/nsis-%{version}-src.tar.bz2
+Source1: http://dl.sf.net/nsis/nsis-%{version}.zip
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildRequires: scons >= 0.96.93
+Requires: nsis-data = %{version}
+
+%description
+NSIS (Nullsoft Scriptable Install System) is a professional Open Source
+system to create Windows installers. It is designed to be as small and
+flexible as possible and is therefore very suitable for Internet distribution.
+
+%prep
+%setup -n nsis-%{version}-src
+
+unzip %{SOURCE1}
+%{__cp} -auvx %{name}-%{version}/* .
+
+%build
+scons PREFIX="%{_prefix}" PREFIX_DEST="%{buildroot}" PREFIX_CONF="%{_sysconfdir}" SKIPSTUBS="all" SKIPPLUGINS="all" SKIPUTILS="Library/RegTool,UIs,Makensisw,zip2exe,MakeLangId,NSIS Menu" SKIPMISC="all" VERSION="%{version}" STRIP="false"
+
+%install
+%{__rm} -rf %{buildroot}
+scons PREFIX="%{_prefix}" PREFIX_DEST="%{buildroot}" PREFIX_CONF="%{_sysconfdir}" SKIPSTUBS="all" SKIPPLUGINS="all" SKIPUTILS="Library/RegTool,UIs,Makensisw,zip2exe,MakeLangId,NSIS Menu" SKIPMISC="all" VERSION="%{version}" STRIP="false" install
+
+%{__install} -d -m0755 %{buildroot}%{_datadir}/nsis/
+cp -fr Bin/ Contrib/ Include/ Menu/ Plugins/ Stubs/ %{buildroot}%{_datadir}/nsis/
+
+### Clean up document root
+%{__rm} -rf Docs/StrFunc/
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-, root, root, 0755)
+%doc COPYING Docs/ Examples/
+%config(noreplace) %{_sysconfdir}/nsisconf.nsh
+%{_bindir}/GenPat
+%{_bindir}/LibraryLocal
+%{_bindir}/makensis
+%{_datadir}/nsis/
+%exclude %{_datadir}/doc/nsis/
+
+%changelog
+* Fri Feb 15 2008 Dag Wieers <dag at wieers.com> - 2.34-1
+- Initial package. (using DAR)
Property changes on: trunk/rpms/nsis/nsis.spec
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
More information about the svn-commits
mailing list