ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/util/gatherer
(Generate patch)

Comparing deliantra/Deliantra-Client/util/gatherer (file contents):
Revision 1.3 by root, Fri Dec 30 06:31:41 2011 UTC vs.
Revision 1.5 by root, Fri Dec 30 10:59:00 2011 UTC

1#!/bin/bash 1#!/bin/bash
2
3# this gem of a hack gathers all fiels required by the client for the platform
4# by deep magic, it works on osx, linux and windows. on MY osx, linux
5# and windows, that is.
2 6
3STRIP="strip" 7STRIP="strip"
4LIBEXT=so 8LIBEXT=so
5LIB0=so.? 9LIB0=so.?
6SO=so 10SO=so
7SYSLIB=/usr/lib 11SYSLIB=/usr/lib
8MAKE=make 12MAKE=make
9ARCHNAME=x86 13ARCHNAME=x86
10GENPACK_ENVVARS= 14GENPACK_ENVVARS="LD_LIBRARY_PATH=."
11 15
12umask 022 16umask 022
13 17
14if [ "$(uname -s)" = CYGWIN_NT-5.0 ]; then 18if [ "$(uname -s)" = CYGWIN_NT-5.0 ]; then
15 . ~/.setenv 19 . ~/.setenv
36elif [ "$(uname -s)" = Darwin ]; then 40elif [ "$(uname -s)" = Darwin ]; then
37 OS=darwin 41 OS=darwin
38 URLADER=-osx105 42 URLADER=-osx105
39 PANGO=1.6.0 43 PANGO=1.6.0
40 PERL=/opt/local/bin/perl 44 PERL=/opt/local/bin/perl
45 GENPACK_ENVVARS="DYLD_LIBRARY_PATH=."
41 46
42 SYSLIB=/opt/local/lib 47 SYSLIB=/opt/local/lib
43 LIB0=dylib 48 LIB0=dylib
44 SO=bundle 49 SO=bundle
45 STRIP="strip -x" 50 STRIP="strip -x"
67export EV_EVENTFD=0 72export EV_EVENTFD=0
68export EV_INOTIFY=0 73export EV_INOTIFY=0
69export EV_SIGNALFD=0 74export EV_SIGNALFD=0
70 75
71if true; then 76if true; then
72 for mod in Deliantra CFPlus; do 77 for mod in deliantra/Deliantra deliantra/Deliantra-Client; do
73# for mod in common-sense AnyEvent EV JSON-XS Deliantra Compress-LZF BDB Guard CFPlus; do 78# for mod in common-sense AnyEvent EV JSON-XS deliantra/Deliantra Compress-LZF BDB Guard deliantra/Deliantra-Client; do
74# for mod in CFPlus; do 79# for mod in CFPlus; do
75 ( 80 (
76 cd /root/src/$mod 81 cd /root/src/$mod || exit
77 cvs update -qAdP 82 cvs update -AdP
83 rm -rf blib
84 set -x
78 $PERL Makefile.PL </dev/null >/dev/null 85 $PERL Makefile.PL </dev/null >/dev/null
79 $MAKE clean >/dev/null 86 $MAKE clean >/dev/null
80 $PERL Makefile.PL </dev/null >/dev/null 87 $PERL Makefile.PL </dev/null >/dev/null
81 if ! $MAKE install >log 2>&1; then 88 if ! $MAKE install >log 2>&1; then
89 echo
90 echo error while building $mod
82 cat log 91 cat log
83 exit 92 exit
84 fi 93 fi
85 rm -f log 94 rm -f log
86 $MAKE clean >/dev/null 95 $MAKE clean >/dev/null
87 ) 96 ) || exit
88 done 97 done
89fi 98fi
90 99
91cat <<EOF >"$DIST"/pango.rc 100cat <<EOF >"$DIST"/pango.rc
92[Pango] 101[Pango]
251 260
252 # convert perl to a non-console-app 261 # convert perl to a non-console-app
253 $PERL -MWin32::Exe -e '$e = new Win32::Exe"perl.exe"; $e->set_subsystem_windows; $e->write' 262 $PERL -MWin32::Exe -e '$e = new Win32::Exe"perl.exe"; $e->set_subsystem_windows; $e->write'
254 263
255 else 264 else
256 # patch braindamaged pango
257 perl -pe 's{/u(?=sr/lib(32)?/pango)}{/\x00}g; s{\Q'$PANGO'\E\x00}{y.t.u\x00}g' <$SYSLIB/libpango-1.0.$LIB0 >libpango-1.0.$LIB0
258 chmod 755 libpango-1.0.$LIB0
259
260 for lib in mikmod vorbisfile; do 265 for lib in mikmod vorbisfile; do
261 cp -p $SYSLIB/lib$lib.$LIB0 . 266 cp -p $SYSLIB/lib$lib.$LIB0 .
262 chmod 755 lib$lib.$LIB0 267 chmod 755 lib$lib.$LIB0
263 done 268 done
264 fi 269 fi
272 for lib in \ 277 for lib in \
273 dl c m rt pthread nsl crypt \ 278 dl c m rt pthread nsl crypt \
274 X11 Xext Xau Xdmcp ICE SM Xrandr Xrender Xxf86vm drm GL \ 279 X11 Xext Xau Xdmcp ICE SM Xrandr Xrender Xxf86vm drm GL \
275 z 280 z
276 do 281 do
277 rm -f lib"$lib".$SO0 282 rm -f lib"$lib".$LIB0
278 done 283 done
284
285 if [ "$OS" != windows ]; then
286 # patch braindamaged pango
287 set libpango-1.0.$LIB0
288 perl -pe 's{/u(?=sr/lib(32)?/pango)}{/\x00}g; s{\Q'$PANGO'\E\x00}{y.t.u\x00}g' <"$1" >"$1~" && mv "$1~" "$1"
289 chmod 755 "$1"
290 fi
279 291
280 if [ "$OS" = darwin ]; then 292 if [ "$OS" = darwin ]; then
281 # "dll hell" is most severe on os x, because apple 293 # "dll hell" is most severe on os x, because apple
282 # does not generally give a shit for backwards compatibility, 294 # does not generally give a shit for backwards compatibility,
283 # alwayss ships outdated libraries and often provides libraries 295 # alwayss ships outdated libraries and often provides libraries

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines