openssl patch
by Farkas Levente
hi,
it a few fix for the original openssl package.
of course after this applied we'd have to update to the latest openssl
security fix too.
--
Levente "Si vis pacem para bellum!"
15 years, 2 months
Fedora MinGW status, reviews and F11 feature freeze
by Richard W.M. Jones
[Originally sent to the Fedora-MinGW mailing list, but CC'd to
fedora-devel-list for wider distribution]
It only seems like last week that Fedora 10 was released, and now
Fedora 11 Alpha Freeze is on us, next week.
https://fedoraproject.org/wiki/Releases/11/Schedule
There's no immediate danger of us missing out on the Windows cross-
compiler feature for Fedora 11, because the deadline is the middle of
April, BUT it would be better to get as many packages in sooner rather
than later, say by the Beta freeze (in about 6 weeks).
So here are some stats as to how we're doing ...
Packages added: 11
Packages being reviewed: 5
Packages waiting in review: 23
Packages not yet added to bugzilla: 30
Total: 69
If we discount the packages which are not yet in Bugzilla (mainly
these are C++ and OCaml libraries), and include the 4 packages which
are likely to get into Fedora with relative ease this week, then our
percentage progress is:
--> 38% <--
(We are well under 20% progress if you include a reasonable range of
C++ libraries in the total).
Any effort that people can make to take and review packages on the
list is always helpful. I am willing to swap reviews of non-MinGW
packages with anyone who wants to do a MinGW review.
https://bugzilla.redhat.com/buglist.cgi?quicksearch=mingw32
Some easy reviews (small packages, no/very few dependencies):
https://bugzilla.redhat.com/show_bug.cgi?id=467388 mingw32-pdcurses
https://bugzilla.redhat.com/show_bug.cgi?id=467399 mingw32-readline
https://bugzilla.redhat.com/show_bug.cgi?id=467391 mingw32-gdbm
https://bugzilla.redhat.com/show_bug.cgi?id=467396 mingw32-freetype
https://bugzilla.redhat.com/show_bug.cgi?id=467403 mingw32-libgpg-error
https://bugzilla.redhat.com/show_bug.cgi?id=467410 mingw32-libgcrypt
Some slightly harder ones, but still not too difficult:
https://bugzilla.redhat.com/show_bug.cgi?id=467414 mingw32-gnutls
https://bugzilla.redhat.com/show_bug.cgi?id=467402 mingw32-glib2
https://bugzilla.redhat.com/show_bug.cgi?id=467398 mingw32-gettext
Rich.
--
Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v
15 years, 2 months
Statement of Support (and some child-like giddiness)
by Ryan McDougall
I just happened to stumble across this while wondering when Fedora 11
might be out, and let me say you have set my poor heart a-flutter!
Extremely timely for me, as I am trying to build Telepathy framework
for windows. Its all portable C, but woven hard into autotools and
other assumptions, its a bit tedious to have to boot into windows then
massage it into Cmake. This would literally be a massive time saver.
You have my support and love.
What can I do to help out?
Cheers,
15 years, 2 months
nsis
by Farkas Levente
hi,
here is a patch for nsis for the latest version. it was a bit
complicated since i have to rewrite both patches. at the same time it's
a hg diff where i remove all old patches.
the resulted nsis can be run on linux (am i right?). but also contains
windows binary too so in this case it's a i386 + noarch rpm (as other
windows libs)?
but then how can we strip half of the binary with strip the others with
%{_mingw32_strip}?
that's why if you apply this patch, then it won't build since:
---------------------------------
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
/usr/bin/strip: Unable to recognise the format of the input file
`/var/tmp/mingw32-nsis-2.42-1-root-lfarkas/usr/share/doc/mingw32-nsis-2.42/Examples/Plugin/pluginapi.lib(pluginapi.o)'
---------------------------------
what's the solution?
anyway please apply this patch to the hg.
--
Levente "Si vis pacem para bellum!"
diff -r bc1c73331bcf nsis/mingw32-nsis.spec
--- a/nsis/mingw32-nsis.spec Tue Jan 13 13:00:19 2009 +0000
+++ b/nsis/mingw32-nsis.spec Wed Jan 14 18:30:14 2009 +0100
@@ -2,8 +2,8 @@
%define _default_patch_fuzz 2
Name: mingw32-nsis
-Version: 2.39
-Release: 5%{?dist}
+Version: 2.42
+Release: 1%{?dist}
Summary: Nullsoft Scriptable Install System
License: zlib and CPL
@@ -13,13 +13,13 @@ BuildRoot: %{_tmppath}/%{name}-%{ve
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Patches from Debian (mainly by Paul Wise).
-Patch0: nsis-2.39-debian-64bit-fixes.patch
-Patch1: nsis-2.39-debian-debug-opt.patch
+Patch0: nsis-2.42-debian-64bit-fixes.patch
+Patch1: nsis-2.42-debian-debug-opt.patch
# This patch is required for NSIS to find the correct cross-compiler.
Patch100: nsis-2.39-mingw32-search.patch
-BuildRequires: mingw32-filesystem >= 20
+BuildRequires: mingw32-filesystem >= 40
BuildRequires: mingw32-gcc
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-binutils
@@ -37,6 +37,8 @@ BuildRequires: /usr/include/gnu/stubs-3
# non-x86 architectures.
BuildRequires: /usr/lib/libwx_baseu-2.8.so
+# since the above two BR
+ExcludeArch: ppc, ppc64
%description
NSIS, the Nullsoft Scriptable Install System, is a script-driven
@@ -51,8 +53,8 @@ assembler code.
%prep
%setup -q -n nsis-%{version}-src
-%patch0 -p1
-%patch1 -p1
+%patch0 -p1 -b .64bit
+%patch1 -p1 -b .debug
%patch100 -p1
@@ -84,6 +86,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 14 2009 Levente Farkas <lfarkas(a)lfarkas.org> - 2.42-1
+- update to the latest upstream
+- a few small changes
+
* Fri Oct 17 2008 Richard W.M. Jones <rjones(a)redhat.com> - 2.39-5
- Fix the Summary line.
diff -r bc1c73331bcf nsis/nsis-2.19-debian-64bit-fixes.patch
--- a/nsis/nsis-2.19-debian-64bit-fixes.patch Tue Jan 13 13:00:19 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-01_64bit_fixes.patch
-Andreas Jochens <aj(a)andaco.de>, Andreas Barth <aba(a)not.so.argh.org>,
-Steve Langasek <vorlon(a)debian.org>, Paul Wise <pabs(a)debian.org>
-Fix some issues with building and running makensis on 64-bit platforms
-Index: Source/DialogTemplate.cpp
-===================================================================
---- Source/DialogTemplate.cpp.orig 2007-01-30 09:03:35.000000000 +0100
-+++ Source/DialogTemplate.cpp 2007-01-30 09:03:56.000000000 +0100
-@@ -93,7 +93,7 @@
- if (IS_INTRESOURCE(x)) { \
- *(WORD*)seeker = 0xFFFF; \
- seeker += sizeof(WORD); \
-- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \
-+ *(WORD*)seeker = ConvertEndianness(WORD(long(x))); \
- seeker += sizeof(WORD); \
- } \
- else { \
-@@ -629,7 +629,7 @@
- }
- }
-
-- assert((DWORD) seeker - (DWORD) pbDlg == dwSize);
-+ assert((long) seeker - (long) pbDlg == dwSize);
-
- // DONE!
- return pbDlg;
-Index: Source/Platform.h
-===================================================================
---- Source/Platform.h.orig 2007-01-30 09:03:35.000000000 +0100
-+++ Source/Platform.h 2007-01-30 09:05:35.000000000 +0100
-@@ -135,7 +135,7 @@
- # define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i)))
- # endif
- # ifndef IMAGE_FIRST_SECTION
--# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \
-+# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (long) h + \
- FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \
- FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) )
- # endif
-@@ -147,7 +147,7 @@
- # endif
- #endif
- #ifndef IS_INTRESOURCE
--# define IS_INTRESOURCE(_r) (((ULONG_PTR)(_r) >> 16) == 0)
-+# define IS_INTRESOURCE(_r) (((unsigned long)(_r) >> 16) == 0)
- #endif
-
- // functions
-@@ -666,7 +666,7 @@
- WORD e_oemid;
- WORD e_oeminfo;
- WORD e_res2[10];
-- LONG e_lfanew;
-+ DWORD e_lfanew;
- } IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER;
- # pragma pack()
- # pragma pack(4)
-Index: Source/ResourceEditor.cpp
-===================================================================
---- Source/ResourceEditor.cpp.orig 2007-01-30 09:03:35.000000000 +0100
-+++ Source/ResourceEditor.cpp 2007-01-30 09:03:56.000000000 +0100
-@@ -545,7 +545,7 @@
- rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries);
-
- CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY));
-- crd->m_dwWrittenAt = DWORD(seeker);
-+ crd->m_dwWrittenAt = long(seeker);
- seeker += sizeof(IMAGE_RESOURCE_DIRECTORY);
-
- for (int i = 0; i < crd->CountEntries(); i++) {
-@@ -566,7 +566,7 @@
- rDirE.NameString.NameIsString = (crd->GetEntry(i)->HasName()) ? 1 : 0;
-
- CopyMemory(seeker, &rDirE, sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY));
-- crd->GetEntry(i)->m_dwWrittenAt = DWORD(seeker);
-+ crd->GetEntry(i)->m_dwWrittenAt = long(seeker);
- seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY);
- }
- qDirs.pop();
-@@ -582,7 +582,7 @@
- rDataE.Size = ConvertEndianness(cRDataE->GetSize());
-
- CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY));
-- cRDataE->m_dwWrittenAt = DWORD(seeker);
-+ cRDataE->m_dwWrittenAt = long(seeker);
- seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY);
-
- qDataEntries.pop();
-@@ -594,7 +594,7 @@
- while (!qStrings.empty()) {
- CResourceDirectoryEntry* cRDirE = qStrings.front();
-
-- PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(seeker) - DWORD(pbRsrcSec));
-+ PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(long(seeker) - long(pbRsrcSec));
-
- char* szName = cRDirE->GetName();
- WORD iLen = strlen(szName) + 1;
-@@ -636,7 +636,7 @@
- /*
- * Set all of the directory entries offsets.
- */
-- SetOffsets(m_cResDir, DWORD(pbRsrcSec));
-+ SetOffsets(m_cResDir, long(pbRsrcSec));
- }
-
- // Sets the offsets in directory entries
-@@ -758,7 +758,7 @@
- // Returns -1 if can not be found
- int CResourceDirectory::Find(char* szName) {
- if (IS_INTRESOURCE(szName))
-- return Find((WORD) (DWORD) szName);
-+ return Find((WORD) (long) szName);
- else
- if (szName[0] == '#')
- return Find(WORD(atoi(szName + 1)));
-@@ -836,7 +836,7 @@
- if (IS_INTRESOURCE(szName)) {
- m_bHasName = false;
- m_szName = 0;
-- m_wId = (WORD) (DWORD) szName;
-+ m_wId = (WORD) (long) szName;
- }
- else {
- m_bHasName = true;
-@@ -851,7 +851,7 @@
- if (IS_INTRESOURCE(szName)) {
- m_bHasName = false;
- m_szName = 0;
-- m_wId = (WORD) (DWORD) szName;
-+ m_wId = (WORD) (long) szName;
- }
- else {
- m_bHasName = true;
-Index: Source/util.cpp
-===================================================================
---- Source/util.cpp.orig 2007-01-30 09:03:35.000000000 +0100
-+++ Source/util.cpp 2007-01-30 09:07:54.000000000 +0100
-@@ -57,9 +57,9 @@
- }
-
- if (width != 0) {
-- LONG biWidth;
-+ DWORD biWidth;
- fseek(f, 18, SEEK_SET); // Seek to the width member of the header
-- fread(&biWidth, sizeof(LONG), 1, f);
-+ fread(&biWidth, sizeof(DWORD), 1, f);
- FIX_ENDIAN_INT32_INPLACE(biWidth);
- if (width != biWidth) {
- fclose(f);
-@@ -68,12 +68,12 @@
- }
-
- if (height != 0) {
-- LONG biHeight;
-+ DWORD biHeight;
- fseek(f, 22, SEEK_SET); // Seek to the height member of the header
-- fread(&biHeight, sizeof(LONG), 1, f);
-+ fread(&biHeight, sizeof(DWORD), 1, f);
- FIX_ENDIAN_INT32_INPLACE(biHeight);
- // Bitmap height can be negative too...
-- if (height != abs(biHeight)) {
-+ if (height != abs((long int)biHeight)) {
- fclose(f);
- return -3;
- }
-@@ -312,7 +312,7 @@
- FIX_ENDIAN_INT32_INPLACE(rdEntry.OffsetToData);
- MY_ASSERT(!rdEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
-
-- PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));
-+ PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + long(rdRoot));
-
- MY_ASSERT((size_t)rdIcons - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
-
-@@ -325,7 +325,7 @@
- FIX_ENDIAN_INT32_INPLACE(icoEntry.OffsetToData);
-
- MY_ASSERT(!icoEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
-- PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));
-+ PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + long(rdRoot));
-
- MY_ASSERT((size_t)rd - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
-
-@@ -334,7 +334,7 @@
-
- MY_ASSERT(datEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
-
-- PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + DWORD(rdRoot));
-+ PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + long(rdRoot));
-
- MY_ASSERT((size_t)rde - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
-
-@@ -355,10 +355,10 @@
- }
-
- // Set offset
-- DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + DWORD(rdRoot) - dwResourceSectionVA - DWORD(exeHeader);
-+ DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + long(rdRoot) - dwResourceSectionVA - long(exeHeader);
- *(LPDWORD) seeker = FIX_ENDIAN_INT32(dwOffset);
-
-- MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (DWORD)rdRoot - (DWORD)exeHeader, "invalid data offset - icon resource probably compressed");
-+ MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (long)rdRoot - (long)exeHeader, "invalid data offset - icon resource probably compressed");
- }
-
- LPBYTE seeker = uninstIconData;
-Index: Source/Plugins.cpp
-===================================================================
---- Source/Plugins.cpp.orig 2007-01-30 09:05:50.000000000 +0100
-+++ Source/Plugins.cpp 2007-01-30 09:07:05.000000000 +0100
-@@ -120,7 +120,7 @@
- DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData);
- PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va);
- DWORD na = FIX_ENDIAN_INT32(exports->AddressOfNames);
-- unsigned long *names = (unsigned long*)((unsigned long) exports + (char *) na - ExportDirVA);
-+ unsigned int *names = (unsigned int*)((unsigned long) exports + (char *) na - ExportDirVA);
- for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)
- {
- const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA);
diff -r bc1c73331bcf nsis/nsis-2.19-debian-debug-opt.patch
--- a/nsis/nsis-2.19-debian-debug-opt.patch Tue Jan 13 13:00:19 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-02_debug_symbols.patch
-Paul Wise <pabs(a)debian.org>
-Add an option to generate debugging symbols
-without side-effects on optimisation flags
-and an option to enable/disable optimisation
-Index: SCons/Config/gnu
-===================================================================
---- SCons/Config/gnu.orig 2007-02-02 20:34:33.000000000 +1100
-+++ SCons/Config/gnu 2007-02-08 15:33:51.000000000 +1100
-@@ -81,13 +81,16 @@
-
- makensis_env = defenv.Copy()
-
--if not defenv['DEBUG']:
-- makensis_env.Append(CCFLAGS = '-O2') # optimize
-+if defenv['DEBUG_SYMBOLS']:
-+ makensis_env.Append(CCFLAGS = '-g') # debugging
-+ makensis_env.Append(LINKFLAGS = '-g') # debugging
-+if not defenv['DEBUG'] and defenv['OPT']:
-+ makensis_env.Append(CCFLAGS = '-O2') # optimize
- makensis_env.Append(CCFLAGS = '-Wall') # all warnings
-
- conf = FlagsConfigure(makensis_env)
- conf.CheckLinkFlag('$MAP_FLAG') # generate map file
--if not defenv['DEBUG']:
-+if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS']:
- TestStrip(conf) # strip
- conf.Finish()
-
-@@ -110,13 +113,16 @@
-
- cp_util_env = defenv.Copy()
-
--if not defenv['DEBUG']:
-+if defenv['DEBUG_SYMBOLS']:
-+ cp_util_env.Append(CCFLAGS = '-g') # debugging
-+ cp_util_env.Append(LINKFLAGS = '-g') # debugging
-+if not defenv['DEBUG'] and defenv['OPT']:
- cp_util_env.Append(CCFLAGS = '-O2') # optimize
- cp_util_env.Append(CCFLAGS = '-Wall') # all warnings
-
- conf = FlagsConfigure(cp_util_env)
- conf.CheckLinkFlag('$MAP_FLAG') # generate map file
--if not defenv['DEBUG']:
-+if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS']:
- TestStrip(conf) # strip
- conf.Finish()
-
-@@ -131,6 +137,9 @@
- ### test environment
-
- test_env = defenv.Copy()
-+if defenv['DEBUG_SYMBOLS']:
-+ test_env.Append(LINKFLAGS = '-g') # debugging
-+ test_env.Append(CCFLAGS = '-g') # debugging
-
- ### weird GCC requirements
-
-Index: SConstruct
-===================================================================
---- SConstruct.orig 2007-02-02 20:34:33.000000000 +1100
-+++ SConstruct 2007-02-08 15:48:40.000000000 +1100
-@@ -127,6 +127,8 @@
- opts.Add(PathOption('LIBPATH', 'Path to search for libraries', None))
- # build options
- opts.Add(BoolOption('DEBUG', 'Build executables with debugging information', 'no'))
-+opts.Add(BoolOption('DEBUG_SYMBOLS', 'Build with debugging information, but none of the side effects of DEBUG', 'no'))
-+opts.Add(BoolOption('OPT', 'Build with optimization', 'yes'))
- opts.Add(PathOption('CODESIGNER', 'A program used to sign executables', None))
- # path related build options
- opts.Add(('PREFIX_DEST', 'Intermediate installation prefix (extra install time prefix)', dirs['dest']))
diff -r bc1c73331bcf nsis/nsis-2.19-mingw-search.patch
--- a/nsis/nsis-2.19-mingw-search.patch Tue Jan 13 13:00:19 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
---- nsis-2.19-src/SCons/Tools/crossmingw.py.orig 2006-02-24 16:19:55.000000000 +0000
-+++ nsis-2.19-src/SCons/Tools/crossmingw.py 2008-09-22 12:03:34.000000000 +0100
-@@ -44,6 +44,7 @@
-
- # This is what we search for to find mingw:
- prefixes = SCons.Util.Split("""
-+ i686-pc-mingw32-
- mingw32-
- mingw32msvc-
- i386-mingw32-
diff -r bc1c73331bcf nsis/nsis-2.39-debian-64bit-fixes.patch
--- a/nsis/nsis-2.39-debian-64bit-fixes.patch Tue Jan 13 13:00:19 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-diff -ur nsis-2.34-src/SCons/Config/gnu nsis-2.34-src-64bit-fixes/SCons/Config/gnu
---- nsis-2.34-src/SCons/Config/gnu 2007-11-14 07:20:44.000000000 +0100
-+++ nsis-2.34-src-64bit-fixes/SCons/Config/gnu 2008-01-13 22:15:21.000000000 +0100
-@@ -85,8 +85,6 @@
- makensis_env.Append(CXXFLAGS = '-Wno-non-virtual-dtor') # ignore virtual dtor warnings
-
- conf = FlagsConfigure(makensis_env)
--conf.CheckCompileFlag('-m32') #
--conf.CheckLinkFlag('-m32') #
- conf.CheckLinkFlag('$MAP_FLAG') # generate map file
- if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']:
- TestStrip(conf) # strip
-diff -ur nsis-2.34-src/Source/DialogTemplate.cpp nsis-2.34-src-64bit-fixes/Source/DialogTemplate.cpp
---- nsis-2.34-src/Source/DialogTemplate.cpp 2007-11-30 10:54:13.000000000 +0100
-+++ nsis-2.34-src-64bit-fixes/Source/DialogTemplate.cpp 2008-01-13 19:01:02.000000000 +0100
-@@ -74,7 +74,7 @@
- if (IS_INTRESOURCE(x)) { \
- *(WORD*)seeker = 0xFFFF; \
- seeker += sizeof(WORD); \
-- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \
-+ *(WORD*)seeker = ConvertEndianness(WORD(long(x))); \
- seeker += sizeof(WORD); \
- } \
- else { \
-@@ -622,7 +622,7 @@
- }
- }
-
-- assert((DWORD) seeker - (DWORD) pbDlg == dwSize);
-+ assert((long) seeker - (long) pbDlg == dwSize);
-
- // DONE!
- return pbDlg;
-diff -ur nsis-2.34-src/Source/mmap.cpp nsis-2.34-src-64bit-fixes/Source/mmap.cpp
---- nsis-2.34-src/Source/mmap.cpp 2007-12-22 10:41:57.000000000 +0100
-+++ nsis-2.34-src-64bit-fixes/Source/mmap.cpp 2008-01-13 19:01:59.000000000 +0100
-@@ -324,7 +324,7 @@
- if (!pView)
- return;
-
-- unsigned int alignment = ((unsigned int)pView) % m_iAllocationGranularity;
-+ unsigned int alignment = ((unsigned long)pView) % m_iAllocationGranularity;
- pView = (char *)pView - alignment;
- size += alignment;
- #ifdef _WIN32
-diff -ur nsis-2.34-src/Source/Platform.h nsis-2.34-src-64bit-fixes/Source/Platform.h
---- nsis-2.34-src/Source/Platform.h 2007-12-22 10:41:57.000000000 +0100
-+++ nsis-2.34-src-64bit-fixes/Source/Platform.h 2008-01-13 19:36:04.000000000 +0100
-@@ -185,7 +185,7 @@
- # define MAKEINTRESOURCE MAKEINTRESOURCEA
- # endif
- # ifndef IMAGE_FIRST_SECTION
--# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \
-+# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (long) h + \
- FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \
- FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) )
- # endif
-@@ -217,7 +217,7 @@
- #endif
-
- #ifndef ULONG_PTR
--# define ULONG_PTR DWORD
-+# define ULONG_PTR ULONG
- #endif
-
- #ifndef IDC_HAND
-@@ -722,7 +722,7 @@
- WORD e_oemid;
- WORD e_oeminfo;
- WORD e_res2[10];
-- LONG e_lfanew;
-+ DWORD e_lfanew;
- } IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER;
- # pragma pack()
- # pragma pack(4)
-diff -ur nsis-2.34-src/Source/Plugins.cpp nsis-2.34-src-64bit-fixes/Source/Plugins.cpp
---- nsis-2.34-src/Source/Plugins.cpp 2007-12-22 10:41:57.000000000 +0100
-+++ nsis-2.34-src-64bit-fixes/Source/Plugins.cpp 2008-01-13 19:01:59.000000000 +0100
-@@ -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.34-src/Source/ResourceEditor.cpp nsis-2.34-src-64bit-fixes/Source/ResourceEditor.cpp
---- nsis-2.34-src/Source/ResourceEditor.cpp 2007-12-22 10:41:57.000000000 +0100
-+++ nsis-2.34-src-64bit-fixes/Source/ResourceEditor.cpp 2008-01-13 19:40:29.000000000 +0100
-@@ -665,7 +665,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++) {
-@@ -686,7 +686,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_dwWrittenAt = long(seeker);
- seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY);
- }
- qDirs.pop();
-@@ -702,7 +702,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();
-@@ -714,7 +714,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_dwWrittenAt)->UName.NameString.NameOffset = ConvertEndianness(long(seeker) - long(pbRsrcSec));
-
- WCHAR* szName = cRDirE->GetName();
- WORD iLen = winchar_strlen(szName) + 1;
-@@ -745,7 +745,7 @@
- /*
- * Set all of the directory entries offsets.
- */
-- SetOffsets(m_cResDir, DWORD(pbRsrcSec));
-+ SetOffsets(m_cResDir, long(pbRsrcSec));
- }
-
- // Sets the offsets in directory entries
-@@ -868,7 +868,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)));
-@@ -946,7 +946,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;
-@@ -960,7 +960,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.34-src/Source/util.cpp nsis-2.34-src-64bit-fixes/Source/util.cpp
---- nsis-2.34-src/Source/util.cpp 2007-12-22 10:41:57.000000000 +0100
-+++ nsis-2.34-src-64bit-fixes/Source/util.cpp 2008-01-13 19:01:59.000000000 +0100
-@@ -75,9 +75,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);
-@@ -86,12 +86,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;
- }
diff -r bc1c73331bcf nsis/nsis-2.39-debian-debug-opt.patch
--- a/nsis/nsis-2.39-debian-debug-opt.patch Tue Jan 13 13:00:19 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-diff -ur nsis-2.39-src.orig/SCons/Config/gnu nsis-2.39-src.debopt/SCons/Config/gnu
---- nsis-2.39-src.orig/SCons/Config/gnu 2008-03-03 16:33:56.000000000 +0000
-+++ nsis-2.39-src.debopt/SCons/Config/gnu 2008-09-22 12:53:18.000000000 +0100
-@@ -61,8 +61,11 @@
- stub_env = defenv.Clone()
- cross_env(stub_env)
-
--if not defenv['DEBUG']:
-- stub_env.Append(CCFLAGS = '-Os') # optimize for size
-+if not defenv['DEBUG_SYMBOLS']:
-+ stub_env.Append(CCFLAGS = '-g') # debugging
-+ stub_env.Append(LINKFLAGS = '-g') # debugging
-+if not defenv['DEBUG'] and defenv['OPT']:
-+ stub_env.Append(CCFLAGS = '-O2') # optimize
- stub_env.Append(CCFLAGS = '-Wall') # all warnings
- stub_env.Append(CCFLAGS = '-x c') # force compile as c
- stub_env.Append(CCFLAGS = '-fno-strict-aliasing') # not safe for strict aliasing
-@@ -88,7 +91,7 @@
- conf.CheckCompileFlag('-m32') #
- conf.CheckLinkFlag('-m32') #
- conf.CheckLinkFlag('$MAP_FLAG') # generate map file
--if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']:
-+if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_CP']:
- TestStrip(conf) # strip
- conf.Finish()
-
-@@ -112,7 +115,10 @@
-
- cp_util_env = defenv.Clone()
-
--if not defenv['DEBUG']:
-+if defenv['DEBUG_SYMBOLS']:
-+ cp_util_env.Append(CCFLAGS = '-g') # debugging
-+ cp_util_env.Append(LINKFLAGS = '-g') # debugging
-+if not defenv['DEBUG'] and defenv['OPT']:
- cp_util_env.Append(CCFLAGS = '-O2') # optimize
- cp_util_env.Append(CCFLAGS = '-Wall') # all warnings
- cp_util_env.Append(CCFLAGS = '-fno-strict-aliasing') # not safe for strict aliasing
-@@ -146,6 +152,10 @@
- ### test environment
-
- test_env = defenv.Clone()
-+if defenv['DEBUG_SYMBOLS']:
-+ test_env.Append(LINKFLAGS = '-g') # debugging
-+ test_env.Append(CCFLAGS = '-g') # debugging
-+
- conf = FlagsConfigure(test_env)
- conf.CheckCompileFlag('-m32')
- conf.CheckLinkFlag('-m32')
-diff -ur nsis-2.39-src.orig/SConstruct nsis-2.39-src.debopt/SConstruct
---- nsis-2.39-src.orig/SConstruct 2008-05-04 09:30:07.000000000 +0100
-+++ nsis-2.39-src.debopt/SConstruct 2008-09-22 12:55:55.000000000 +0100
-@@ -168,6 +168,8 @@
- opts.Add(('APPEND_LINKFLAGS', 'Additional linker flags'))
- # build options
- opts.Add(BoolOption('DEBUG', 'Build executables with debugging information', 'no'))
-+opts.Add(BoolOption('DEBUG_SYMBOLS', 'Build with debugging information, but none of the side effects of DEBUG', 'no'))
-+opts.Add(BoolOption('OPT', 'Build with optimization', 'yes'))
- opts.Add(PathOption('CODESIGNER', 'A program used to sign executables', None))
- opts.Add(BoolOption('STRIP', 'Strips executables of any unrequired data such as symbols', 'yes'))
- opts.Add(BoolOption('STRIP_CP', 'Strips cross-platform executables of any unrequired data such as symbols', 'yes'))
diff -r bc1c73331bcf nsis/nsis-2.42-debian-64bit-fixes.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nsis/nsis-2.42-debian-64bit-fixes.patch Wed Jan 14 17:09:50 2009 +0100
@@ -0,0 +1,186 @@
+--- ./Source/Plugins.cpp.lfarkas 2009-01-14 17:03:11.000000000 +0100
++++ ./Source/Plugins.cpp 2009-01-14 17:03:58.000000000 +0100
+@@ -136,7 +136,7 @@
+ DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData);
+ PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va);
+ 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);
+--- ./Source/ResourceEditor.cpp.lfarkas 2009-01-14 17:04:08.000000000 +0100
++++ ./Source/ResourceEditor.cpp 2009-01-14 17:07:47.000000000 +0100
+@@ -665,7 +665,7 @@
+ rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries);
+
+ 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++) {
+@@ -686,7 +686,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_dwWrittenAt = long(seeker);
+ seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY);
+ }
+ qDirs.pop();
+@@ -702,7 +702,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();
+@@ -714,7 +714,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_dwWrittenAt)->UName.NameString.NameOffset = ConvertEndianness(long(seeker) - long(pbRsrcSec));
+
+ WCHAR* szName = cRDirE->GetName();
+ WORD iLen = winchar_strlen(szName) + 1;
+@@ -745,7 +745,7 @@
+ /*
+ * Set all of the directory entries offsets.
+ */
+- SetOffsets(m_cResDir, DWORD(pbRsrcSec));
++ SetOffsets(m_cResDir, long(pbRsrcSec));
+ }
+
+ // Sets the offsets in directory entries
+@@ -868,7 +868,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)));
+@@ -946,7 +946,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;
+@@ -960,7 +960,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;
+--- ./Source/DialogTemplate.cpp.lfarkas 2009-01-14 16:56:31.000000000 +0100
++++ ./Source/DialogTemplate.cpp 2009-01-14 17:01:14.000000000 +0100
+@@ -74,7 +74,7 @@
+ if (IS_INTRESOURCE(x)) { \
+ *(WORD*)seeker = 0xFFFF; \
+ seeker += sizeof(WORD); \
+- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \
++ *(WORD*)seeker = ConvertEndianness(WORD(long(x))); \
+ seeker += sizeof(WORD); \
+ } \
+ else { \
+@@ -622,7 +622,7 @@
+ }
+ }
+
+- assert((DWORD) seeker - (DWORD) pbDlg == dwSize);
++ assert((long) seeker - (long) pbDlg == dwSize);
+
+ // DONE!
+ return pbDlg;
+--- ./Source/mmap.cpp.lfarkas 2009-01-14 17:00:12.000000000 +0100
++++ ./Source/mmap.cpp 2009-01-14 17:01:36.000000000 +0100
+@@ -322,7 +322,7 @@
+ if (!pView)
+ return;
+
+- unsigned int alignment = ((unsigned int)pView) % m_iAllocationGranularity;
++ unsigned int alignment = ((unsigned long)pView) % m_iAllocationGranularity;
+ pView = (char *)pView - alignment;
+ size += alignment;
+ #ifdef _WIN32
+--- ./Source/util.cpp.lfarkas 2009-01-14 17:07:59.000000000 +0100
++++ ./Source/util.cpp 2009-01-14 17:09:25.000000000 +0100
+@@ -75,9 +75,9 @@
+ }
+
+ 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);
+@@ -86,12 +86,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;
+ }
+--- ./Source/Platform.h.lfarkas 2009-01-14 17:01:43.000000000 +0100
++++ ./Source/Platform.h 2009-01-14 17:03:03.000000000 +0100
+@@ -165,7 +165,7 @@
+ # define MAKEINTRESOURCE MAKEINTRESOURCEA
+ # endif
+ # ifndef IMAGE_FIRST_SECTION
+-# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \
++# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (long) h + \
+ FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \
+ FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) )
+ # endif
+@@ -197,7 +197,7 @@
+ #endif
+
+ #ifndef ULONG_PTR
+-# define ULONG_PTR DWORD
++# define ULONG_PTR ULONG
+ #endif
+
+ #ifndef IDC_HAND
+@@ -702,7 +702,7 @@
+ WORD e_oemid;
+ WORD e_oeminfo;
+ WORD e_res2[10];
+- LONG e_lfanew;
++ DWORD e_lfanew;
+ } IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER;
+ # pragma pack()
+ # pragma pack(4)
+--- ./SCons/Config/gnu.lfarkas 2009-01-14 16:55:33.000000000 +0100
++++ ./SCons/Config/gnu 2009-01-14 16:56:21.000000000 +0100
+@@ -90,8 +90,6 @@
+ makensis_env.Append(CXXFLAGS = ['-Wno-non-virtual-dtor']) # ignore virtual dtor warnings
+
+ conf = FlagsConfigure(makensis_env)
+-conf.CheckCompileFlag('-m32') #
+-conf.CheckLinkFlag('-m32') #
+ conf.CheckLinkFlag('$MAP_FLAG') # generate map file
+ if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']:
+ TestStrip(conf) # strip
diff -r bc1c73331bcf nsis/nsis-2.42-debian-debug-opt.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nsis/nsis-2.42-debian-debug-opt.patch Wed Jan 14 17:33:51 2009 +0100
@@ -0,0 +1,92 @@
+--- ./SConstruct.debug 2008-12-12 17:33:25.000000000 +0100
++++ ./SConstruct 2009-01-14 17:29:41.000000000 +0100
+@@ -157,6 +157,8 @@
+ opts.Add(('APPEND_LINKFLAGS', 'Additional linker flags'))
+ # build options
+ opts.Add(BoolOption('DEBUG', 'Build executables with debugging information', 'no'))
++opts.Add(BoolOption('DEBUG_SYMBOLS', 'Build with debugging information, but none of the side effects of DEBUG', 'no'))
++opts.Add(BoolOption('OPT', 'Build with optimization', 'yes'))
+ opts.Add(PathOption('CODESIGNER', 'A program used to sign executables', None))
+ opts.Add(BoolOption('STRIP', 'Strips executables of any unrequired data such as symbols', 'yes'))
+ opts.Add(BoolOption('STRIP_CP', 'Strips cross-platform executables of any unrequired data such as symbols', 'yes'))
+--- ./SCons/Config/gnu.debug 2009-01-14 17:24:59.000000000 +0100
++++ ./SCons/Config/gnu 2009-01-14 17:29:02.000000000 +0100
+@@ -66,8 +66,11 @@
+ stub_env = defenv.Clone()
+ cross_env(stub_env)
+
+-if not defenv['DEBUG']:
+- stub_env.Append(CCFLAGS = ['-Os']) # optimize for size
++if defenv['DEBUG_SYMBOLS']:
++ stub_env.Append(LINKFLAGS = '-g') # debugging
++ stub_env.Append(CCFLAGS = '-g') # debugging
++if not defenv['DEBUG'] and defenv['OPT']:
++ stub_env.Append(CCFLAGS = ['-O2']) # optimize
+ stub_env.Append(CCFLAGS = ['-Wall']) # all warnings
+ stub_env.Append(CCFLAGS = ['-xc']) # force compile as c
+ stub_env.Append(CCFLAGS = ['-fno-strict-aliasing']) # not safe for strict aliasing
+@@ -83,15 +86,18 @@
+ ### makensis environment
+
+ makensis_env = defenv.Clone()
+-
+-if not defenv['DEBUG']:
+- makensis_env.Append(CCFLAGS = ['-O2']) # optimize
++
++if defenv['DEBUG_SYMBOLS']:
++ makensis_env.Append(LINKFLAGS = '-g') # debugging
++ makensis_env.Append(CCFLAGS = '-g') # debugging
++if not defenv['DEBUG'] and defenv['OPT']:
++ makensis_env.Append(CCFLAGS = ['-O2']) # optimize
+ makensis_env.Append(CCFLAGS = ['-Wall']) # all warnings
+ makensis_env.Append(CXXFLAGS = ['-Wno-non-virtual-dtor']) # ignore virtual dtor warnings
+
+ conf = FlagsConfigure(makensis_env)
+ conf.CheckLinkFlag('$MAP_FLAG') # generate map file
+-if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']:
++if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_CP']:
+ TestStrip(conf) # strip
+ conf.Finish()
+
+@@ -100,13 +106,16 @@
+ plugin_env = defenv.Clone()
+ cross_env(plugin_env)
+
+-if not defenv['DEBUG']:
+- plugin_env.Append(CCFLAGS = ['-Os']) # optimize for size
++if defenv['DEBUG_SYMBOLS']:
++ plugin_env.Append(LINKFLAGS = '-g') # debugging
++ plugin_env.Append(CCFLAGS = '-g') # debugging
++if not defenv['DEBUG'] and defenv['OPT']:
++ plugin_env.Append(CCFLAGS = ['-O2']) # optimize
+ plugin_env.Append(CCFLAGS = ['-Wall']) # level 3 warnings
+ plugin_env.Append(CCFLAGS = ['-fno-strict-aliasing']) # not safe for strict aliasing
+
+ if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_W32']:
+- plugin_env.Append(LINKFLAGS = ['-s']) # strip
++ plugin_env.Append(LINKFLAGS = ['-s']) # strip
+ 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
+@@ -115,7 +124,10 @@
+
+ cp_util_env = defenv.Clone()
+
+-if not defenv['DEBUG']:
++if defenv['DEBUG_SYMBOLS']:
++ cp_util_env.Append(LINKFLAGS = '-g') # debugging
++ cp_util_env.Append(CCFLAGS = '-g') # debugging
++if not defenv['DEBUG'] and defenv['OPT']:
+ cp_util_env.Append(CCFLAGS = ['-O2']) # optimize
+ cp_util_env.Append(CCFLAGS = ['-Wall']) # all warnings
+ cp_util_env.Append(CCFLAGS = ['-fno-strict-aliasing']) # not safe for strict aliasing
+@@ -149,6 +161,9 @@
+ ### test environment
+
+ test_env = defenv.Clone()
++if defenv['DEBUG_SYMBOLS']:
++ test_env.Append(LINKFLAGS = '-g') # debugging
++ test_env.Append(CCFLAGS = '-g') # debugging
+ conf = FlagsConfigure(test_env)
+ conf.CheckCompileFlag('-m32')
+ conf.CheckLinkFlag('-m32')
15 years, 2 months
filesystem patch
by Farkas Levente
hi,
i review this %_mingw32_make macro again. i can't find any better
solution than implement it separately from %_mingw32_makeinstall.
probably most of the case it's not used inside spec file, but even if i
used it will work and use the runtime used directories (the only
exception %_mingw32_make install, but there is the %_mingw32_makeinstall
macro for this).
it's working on fedora and rhel/centos too and mingw32-make outside of
spec also working.
i hope it'd be ok (and if you like i'll do the epel build).
yours.
--
Levente "Si vis pacem para bellum!"
Index: mingw32-filesystem.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mingw32-filesystem/devel/mingw32-filesystem.spec,v
retrieving revision 1.7
diff -u -u -r1.7 mingw32-filesystem.spec
--- mingw32-filesystem.spec 6 Dec 2008 14:33:41 -0000 1.7
+++ mingw32-filesystem.spec 17 Dec 2008 14:23:26 -0000
@@ -75,7 +75,7 @@
mkdir -p $RPM_BUILD_ROOT%{_bindir}
pushd $RPM_BUILD_ROOT%{_bindir}
-for i in mingw32-configure ; do
+for i in mingw32-configure mingw32-make; do
ln -s %{_libexecdir}/mingw32-scripts $i
done
popd
@@ -136,13 +136,16 @@
%config(noreplace) %{_sysconfdir}/rpm/macros.mingw32
%config(noreplace) %{_sysconfdir}/profile.d/mingw32.sh
#%config(noreplace) %{_sysconfdir}/profile.d/mingw32.csh
-%{_bindir}/mingw32-configure
+%{_bindir}/mingw32-*
%{_libexecdir}/mingw32-scripts
%{_prefix}/i686-pc-mingw32/
/usr/lib/rpm/mingw32-*
%changelog
+* Wed Dec 17 2008 Levente Farkas <lfarkas(a)lfarkas.org> - 40-3
+- Re-add mingw32-make
+
* Sat Dec 6 2008 Levente Farkas <lfarkas(a)lfarkas.org> - 40-2
- Rewrite mingw32-scripts to run in the current shell
- (Re-add mingw32-make) - Removed by RWMJ.
Index: mingw32-macros.mingw32
===================================================================
RCS file: /cvs/pkgs/rpms/mingw32-filesystem/devel/mingw32-macros.mingw32,v
retrieving revision 1.5
diff -u -u -r1.5 mingw32-macros.mingw32
--- mingw32-macros.mingw32 6 Dec 2008 14:33:41 -0000 1.5
+++ mingw32-macros.mingw32 17 Dec 2008 14:23:26 -0000
@@ -93,6 +93,22 @@
%_mingw32_make %{_mingw32_env} ; \
make \\\
+ prefix=%{_mingw32_prefix} \\\
+ exec_prefix=%{_mingw32_exec_prefix} \\\
+ bindir=%{_mingw32_bindir} \\\
+ sbindir=%{_mingw32_sbindir} \\\
+ sysconfdir=%{_mingw32_sysconfdir} \\\
+ datadir=%{_mingw32_datadir} \\\
+ includedir=%{_mingw32_includedir} \\\
+ libdir=%{_mingw32_libdir} \\\
+ libexecdir=%{_mingw32_libexecdir} \\\
+ localstatedir=%{_mingw32_localstatedir} \\\
+ sharedstatedir=%{_mingw32_sharedstatedir} \\\
+ mandir=%{_mingw32_mandir} \\\
+ infodir=%{_mingw32_infodir}
+
+%_mingw32_makeinstall %{_mingw32_env} ; \
+ make \\\
prefix=%{?buildroot:%{buildroot}}%{_mingw32_prefix} \\\
exec_prefix=%{?buildroot:%{buildroot}}%{_mingw32_exec_prefix} \\\
bindir=%{?buildroot:%{buildroot}}%{_mingw32_bindir} \\\
@@ -105,6 +121,6 @@
localstatedir=%{?buildroot:%{buildroot}}%{_mingw32_localstatedir} \\\
sharedstatedir=%{?buildroot:%{buildroot}}%{_mingw32_sharedstatedir} \\\
mandir=%{?buildroot:%{buildroot}}%{_mingw32_mandir} \\\
- infodir=%{?buildroot:%{buildroot}}%{_mingw32_infodir}
+ infodir=%{?buildroot:%{buildroot}}%{_mingw32_infodir} \\\
+ install
-%_mingw32_makeinstall %{_mingw32_make} install
15 years, 2 months
cflags
by Farkas Levente
hi,
what was the reason to not add -fstack-protector to mingw's cflags?
i didn't see the reason.
--
Levente "Si vis pacem para bellum!"
15 years, 2 months
windows installer
by Farkas Levente
hi,
what's the plan for the created binary usage on windows? ie. we now
create a lots of libs eg: gtk, openssl etc. and create some application
packages like virt-manager. how this will be installed on a real windows
machine at the end? of course there would be useful some installer. for
the final application it's trivial that someone have to create an
installer eg nsis or something like this. but what about the libs? you
assume each installer also package all required libs? imho it'd be
better if we can create some kind of installer for all libs too eg for
glib2 there will be a nsis-glib2.exe in tha package and this contain the
full executable or ...?
or that's the reason for nsiswrapper?
anyway nsiswrapper missing from the temporary repo. is there a reason
for this?
yours.
--
Levente "Si vis pacem para bellum!"
15 years, 2 months
mingw32-pthreads
by Farkas Levente
hi,
thoughts about mingw32-pthreads:
replace %{crazy_version} with `echo %{version}|tr . -`
in the build section put the clean after the first build:
make clean
make CROSS=%{_mingw32_host}- GC-inlined
make CROSS=%{_mingw32_host}- GCE-inlined
afais GCE-inlined has different defines so probably a clean would be
useful before it.
add -mms-bitfields or even better %_mingw32_cflags to OPT probably only
way to do this is a patch for the makefile. the same applys to the
CFLAGS in the test dir.
anyway it's a clear package.
--
Levente "Si vis pacem para bellum!"
15 years, 2 months