[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