Hi,
In the course of cross-building a Qt and Gtk version of Transmission I had to patch nsiswrapper as follows, only 2 changes: add case insensitive option to grep, add more system libraries; still left undone check_path should be made into a case insensitive search (had to use a workaround linking Qt's libraries with all lowercase names).
--- /usr/bin/nsiswrapper.orig 2009-05-23 16:21:13.343406085 +0000 +++ /usr/bin/nsiswrapper 2009-05-26 07:40:43.493333337 +0000 @@ -443,7 +443,7 @@ if (m/.exe$/i || m/.dll$/i) { my $cmd = "$objdump -p '$file' | grep 'DLL Name:' | - grep -Eo '[-._[:alnum:]]+.dll' | + grep -Eio '[-._[:alnum:]]+.dll' | sort -u"; # XXX quoting open DEPS, "$cmd |" or die "$cmd: $!"; foreach (<DEPS>) { @@ -493,7 +493,19 @@ $_ eq 'ole32.dll' || $_ eq 'mscoree.dll' || $_ eq 'msvcrt.dll' || - $_ eq 'user32.dll' + $_ eq 'user32.dll' || + $_ eq 'advapi32.dll' || + $_ eq 'comctl32.dll' || + $_ eq 'comdlg32.dll' || + $_ eq 'imm32.dll' || + $_ eq 'msimg32.dll' || + $_ eq 'oleaut32.dll' || + $_ eq 'shell32.dll' || + $_ eq 'shlwapi.dll' || + $_ eq 'winmm.dll' || + $_ eq 'wsock32.dll' || + $_ eq 'ws2_32.dll' || + $_ eq 'wldap32.dll' }
# Add Gtk dependencies, if --with-gtk.
The version in the subject is what 'yum info ming32-nsiswrapper' shows as version.release (the file itself doesn't have anything to identify it inside).
On Thu, Jun 04, 2009 at 11:30:41AM -0500, René Berber wrote:
Hi,
In the course of cross-building a Qt and Gtk version of Transmission I had to patch nsiswrapper as follows, only 2 changes: add case insensitive option to grep, add more system libraries; still left undone check_path should be made into a case insensitive search (had to use a workaround linking Qt's libraries with all lowercase names).
--- /usr/bin/nsiswrapper.orig 2009-05-23 16:21:13.343406085 +0000 +++ /usr/bin/nsiswrapper 2009-05-26 07:40:43.493333337 +0000 @@ -443,7 +443,7 @@ if (m/.exe$/i || m/.dll$/i) { my $cmd = "$objdump -p '$file' | grep 'DLL Name:' |
grep -Eo '[-._[:alnum:]]+\.dll' |
grep -Eio '[-._[:alnum:]]+\.dll' | sort -u"; # XXX quoting open DEPS, "$cmd |" or die "$cmd: $!"; foreach (<DEPS>) {
@@ -493,7 +493,19 @@ $_ eq 'ole32.dll' || $_ eq 'mscoree.dll' || $_ eq 'msvcrt.dll' ||
$_ eq 'user32.dll'
$_ eq 'user32.dll' ||
$_ eq 'advapi32.dll' ||
$_ eq 'comctl32.dll' ||
$_ eq 'comdlg32.dll' ||
$_ eq 'imm32.dll' ||
$_ eq 'msimg32.dll' ||
$_ eq 'oleaut32.dll' ||
$_ eq 'shell32.dll' ||
$_ eq 'shlwapi.dll' ||
$_ eq 'winmm.dll' ||
$_ eq 'wsock32.dll' ||
$_ eq 'ws2_32.dll' ||
$_ eq 'wldap32.dll'
}
# Add Gtk dependencies, if --with-gtk.
The version in the subject is what 'yum info ming32-nsiswrapper' shows as version.release (the file itself doesn't have anything to identify it inside).
+1.
I will commit unless anyone has any objections.
Rich.
Richard W.M. Jones wrote:
On Thu, Jun 04, 2009 at 11:30:41AM -0500, René Berber wrote:
Hi,
In the course of cross-building a Qt and Gtk version of Transmission I had to patch nsiswrapper as follows, only 2 changes: add case insensitive option to grep, add more system libraries; still left undone check_path should be made into a case insensitive search (had to use a workaround linking Qt's libraries with all lowercase names).
--- /usr/bin/nsiswrapper.orig 2009-05-23 16:21:13.343406085 +0000 +++ /usr/bin/nsiswrapper 2009-05-26 07:40:43.493333337 +0000 @@ -443,7 +443,7 @@ if (m/.exe$/i || m/.dll$/i) { my $cmd = "$objdump -p '$file' | grep 'DLL Name:' |
grep -Eo '[-._[:alnum:]]+\.dll' |
grep -Eio '[-._[:alnum:]]+\.dll' | sort -u"; # XXX quoting open DEPS, "$cmd |" or die "$cmd: $!"; foreach (<DEPS>) {
@@ -493,7 +493,19 @@ $_ eq 'ole32.dll' || $_ eq 'mscoree.dll' || $_ eq 'msvcrt.dll' ||
$_ eq 'user32.dll'
$_ eq 'user32.dll' ||
$_ eq 'advapi32.dll' ||
$_ eq 'comctl32.dll' ||
$_ eq 'comdlg32.dll' ||
$_ eq 'imm32.dll' ||
$_ eq 'msimg32.dll' ||
$_ eq 'oleaut32.dll' ||
$_ eq 'shell32.dll' ||
$_ eq 'shlwapi.dll' ||
$_ eq 'winmm.dll' ||
$_ eq 'wsock32.dll' ||
$_ eq 'ws2_32.dll' ||
$_ eq 'wldap32.dll'
}
# Add Gtk dependencies, if --with-gtk.
The version in the subject is what 'yum info ming32-nsiswrapper' shows as version.release (the file itself doesn't have anything to identify it inside).
+1.
I will commit unless anyone has any objections.
Just tried today the new version, one problem I did not see before, PATH needs to include /usr/i686-pc-mingw32/sys-root/mingw/bin or nsiswrapper doesn't quite work (I had it set manually before).
Should we add this inside nsiswrapper? Any thoughts?
On Wed, Jun 17, 2009 at 04:48:39PM -0500, René Berber wrote:
Richard W.M. Jones wrote:
I will commit unless anyone has any objections.
[Just to note that I did commit this]
Just tried today the new version, one problem I did not see before, PATH needs to include /usr/i686-pc-mingw32/sys-root/mingw/bin or nsiswrapper doesn't quite work (I had it set manually before).
Should we add this inside nsiswrapper? Any thoughts?
Yes, this is a(-nother) horrible limitation of nsiswrapper. If you have a suggested patch, please post it here.
Rich.
Richard W.M. Jones wrote:
[snip]
Yes, this is a(-nother) horrible limitation of nsiswrapper. If you have a suggested patch, please post it here.
This seems to work:
--- /usr/bin/nsiswrapper.orig 2009-06-17 04:33:02.884503149 +0000 +++ /usr/bin/nsiswrapper 2009-06-17 07:05:50.298151454 +0000 @@ -330,7 +330,7 @@
sub check_prereqs { - my @paths = split (/:/, $ENV{PATH}); + my @paths = split (/:/, $mingw32_bindir . ':' . $ENV{PATH});
if (! $objdump) { $objdump = check_path ("i686-pc-mingw32-objdump", @paths); @@ -365,7 +365,7 @@ sub print_config { print "Configuration:\n"; - print "\t$PATH = $ENV{PATH}\n"; + print "\t$PATH = $mingw32_bindir:$ENV{PATH}\n"; print "\t$objdump = $objdump\n"; print "\t$verbose = $verbose\n"; print "\t$name = "$name"\n"; @@ -429,7 +429,7 @@ sub get_deps_for_file { my $file = shift; - my @paths = split (/:/, $ENV{PATH}); + my @paths = split (/:/, $mingw32_bindir . ':' . $ENV{PATH});
# If we already fetched the dependencies for this file, just # return that list now.
Regards.