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

Comparing deliantra/Deliantra-Client/makebin.osx (file contents):
Revision 1.2 by root, Wed Aug 20 00:46:12 2008 UTC vs.
Revision 1.19 by root, Sat Apr 24 08:05:16 2010 UTC

1#!/bin/bash 1#!/bin/bash
2 2
3# Convert a gtk2-perl program to a standalone OS X binary 3# Convert a gtk2-perl program to a standalone OS X binary
4
5#port install libsdl libsdl_mixer libsdl_image libvorbis libpng jpeg pango db46 libogg p5-libwww-perl p5-yaml
6# need to patch libSDL_image from /opt/local/lib/libjpeg.dylib to ./libjpeg.8.dylib
7# ln -s db46/db.h /opt/local/include
8# ln -s db46/libdb.dylib /opt/local/lib
9# /opt/local/bin/cpan Pod::POM
10
11#export MACOSX_DEPLOYMENT_TARGET=10.3 # maybe it helps
12#export MACOSX_DEPLOYMENT_TARGET=10.5 # nope
13
14cvs update
4 15
5PERL=/opt/local 16PERL=/opt/local
6PERLLIB=/usr/lib/perl5 17PERLLIB=/usr/lib/perl5
7PANGO=1.6.0
8 18
9umask 022 19umask 022
10 20
11if false; then 21if true; then
12 for mod in AnyEvent EV JSON-XS Deliantra Compress-LZF BDB; do 22 for mod in common-sense AnyEvent EV JSON-XS Compress-LZF BDB Guard deliantra/Deliantra; do
13 ( 23 (
24 mkdir -p /root/src/$mod || exit 77
14 cd /root/src/$mod 25 cd /root/src/$mod
26 set -x
27 pwd
28 rsync -avPessh 10.0.0.1:src/$mod/. . --del --exclude "*.tar.gz" --delete-excluded
15 $PERL/bin/perl Makefile.PL </dev/null 29 $PERL/bin/perl Makefile.PL </dev/null
16 make clean 30 make clean
17 $PERL/bin/perl Makefile.PL </dev/null 31 $PERL/bin/perl Makefile.PL </dev/null
18 make install || exit 32 make install || exit
19 make clean 33 make clean
20 ) 34 ) || exit
21 done 35 done
22fi 36fi
23 37
24if true; then 38if true; then
25 39
27 perl -ne '/^(resources\/.*)/ and print "$1;root/Deliantra/Client/private/$1\n"' <MANIFEST 41 perl -ne '/^(resources\/.*)/ and print "$1;root/Deliantra/Client/private/$1\n"' <MANIFEST
28 42
29 echo "docwiki.pst;root/Deliantra/Client/private/resources/docwiki.pst" 43 echo "docwiki.pst;root/Deliantra/Client/private/resources/docwiki.pst"
30 44
31#pangoversion;root/pangoversion 45#pangoversion;root/pangoversion
32#/opt/local/lib/libglib-2.0.so.0;shlib/darwin-2level/libglib-2.0.dylib 46#/opt/local/lib/libglib-2.0.so.0;shlib/darwin-multi-2level/libglib-2.0.dylib
33#/lib/libgcc_s.so.1;shlib/darwin-2level/libgcc_s.so.1 47#/lib/libgcc_s.so.1;shlib/darwin-multi-2level/libgcc_s.so.1
34#/opt/local/lib/libstdc++.so.6;shlib/darwin-2level/libstdc++.so.6 48#/opt/local/lib/libstdc++.so.6;shlib/darwin-multi-2level/libstdc++.so.6
35#/opt/local/lib/libaudio.so.2;shlib/darwin-2level/libaudio.so.2 49#/opt/local/lib/libaudio.so.2;shlib/darwin-multi-2level/libaudio.so.2
36 50
37 ( echo "[Pango]"; echo "ModuleFiles = pango.modules" ) > pango.rc 51 ( echo "[Pango]"; echo "ModuleFiles = pango.modules" ) > pango.rc
38 echo "pango.rc;root/pango.rc" 52 echo "pango.rc;root/pango.rc"
39 53
40 ( 54 (
50 db-4.6 \ 64 db-4.6 \
51 glib-2.0.0 gobject-2.0.0 gmodule-2.0.0 \ 65 glib-2.0.0 gobject-2.0.0 gmodule-2.0.0 \
52 pango-1.0.0 pangoft2-1.0.0 \ 66 pango-1.0.0 pangoft2-1.0.0 \
53 SDL-1.2.0 SDL_mixer-1.2.0 SDL_image-1.2.0 \ 67 SDL-1.2.0 SDL_mixer-1.2.0 SDL_image-1.2.0 \
54 vorbisfile vorbis.0 ogg.0 \ 68 vorbisfile vorbis.0 ogg.0 \
55 png12 jpeg.62 z.1 \ 69 png12.0 jpeg.8 tiff.3 z.1 \
56 fontconfig.1 expat.1 freetype.6 intl.8 iconv.2; 70 fontconfig.1 expat.1 freetype.6 intl.8 iconv.2;
57 do 71 do
58 echo "/opt/local/lib/lib$lib.dylib;shlib/darwin-2level/lib$lib.dylib" 72 echo "/opt/local/lib/lib$lib.dylib;shlib/darwin-multi-2level/lib$lib.dylib"
59 done 73 done
60 74
61 cat >>fonts.conf <<EOF
62<?xml version="1.0"?>
63<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
64<fontconfig>
65
66 <match target="pattern"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="family" mode="assign"> <string>monospace</string> </edit> </match>
67
68 <match target="pattern"> <test qual="any" name="family"> <string>sans serif</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match>
69
70 <match target="pattern"> <test qual="any" name="family"> <string>sans</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match>
71
72 <cachedir>fontconfig-cache</cachedir>
73
74 <config>
75 <blank>
76 <int>0x0020</int><int>0x00A0</int><int>0x00AD</int><int>0x034F</int><int>0x0600</int><int>0x0601</int><int>0x0602</int><int>0x0603</int><int>0x06DD</int><int>0x070F</int><int>0x115F</int><int>0x1160</int><int>0x1680</int><int>0x17B4</int><int>0x17B5</int><int>0x180E</int><int>0x2000</int><int>0x2001</int><int>0x2002</int><int>0x2003</int><int>0x2004</int><int>0x2005</int><int>0x2006</int><int>0x2007</int><int>0x2008</int><int>0x2009</int><int>0x200A</int><int>0x200B</int><int>0x200C</int><int>0x200D</int><int>0x200E</int><int>0x200F</int><int>0x2028</int><int>0x2029</int><int>0x202A</int><int>0x202B</int><int>0x202C</int><int>0x202D</int><int>0x202E</int><int>0x202F</int><int>0x205F</int><int>0x2060</int><int>0x2061</int><int>0x2062</int><int>0x2063</int><int>0x206A</int><int>0x206B</int><int>0x206C</int><int>0x206D</int><int>0x206E</int><int>0x206F</int><int>0x2800</int><int>0x3000</int><int>0x3164</int><int>0xFEFF</int><int>0xFFA0</int><int>0xFFF9</int><int>0xFFFA</int><int>0xFFFB</int>
77 </blank>
78 </config>
79
80</fontconfig>
81EOF
82 echo "fonts.conf;root/fonts.conf"
83
84) >addlist 75) >addlist
85 76
86#cat pango.modules;exit 77#cat pango.modules;exit
87 78
88trap "rm -f addlist pango.rc pango.modules fonts.conf" 0 79trap "rm -f addlist pango.rc pango.modules fonts.conf" 0
89 80
90cd /root/src/deliantra/Deliantra-Client
91
92#$PERL/bin/perl Makefile.PL 81$PERL/bin/perl Makefile.PL
93#make clean 82make clean
94#$PERL/bin/perl Makefile.PL 83$PERL/bin/perl Makefile.PL
95make install || exit 84make install || exit
96 85
97DYLD_LIBRARY_PATH=/opt/local/lib \ 86DYLD_LIBRARY_PATH=/opt/local/lib \
98$PERL/bin/pp -C \ 87$PERL/bin/pp -C \
99 -z 9 \ 88 -z 9 \
151 <key>LSMinimumSystemVersion</key> 140 <key>LSMinimumSystemVersion</key>
152 <string>10.5</string> 141 <string>10.5</string>
153 <key>NSAppleScriptEnabled</key> 142 <key>NSAppleScriptEnabled</key>
154 <false/> 143 <false/>
155 <key>NSHumanReadableCopyright</key> 144 <key>NSHumanReadableCopyright</key>
156 <string>Deliantra MORPG Client - Copyright 2008 The Deliantra Team</string> 145 <string>Deliantra MORPG Client - Copyright 2008,2009 The Deliantra Team</string>
157</dict> 146</dict>
158</plist> 147</plist>
159EOF 148EOF
160 149
161rm -rf dmg 150rm -rf dmg
162mkdir dmg 151mkdir dmg
163 152
164mv "$APP.app" dmg/ 153mv "$APP.app" dmg/
165 154
155cat >dmg/README.txt <<EOF
156Hello!
157
158This disk image contains the Deliantra MORPG game client.
159
160The client has been compiled for Intel systems only.
161
162The client uses a lot of right mouse button click pop-up menus, to emulate
163a right-click with a mouse that has only one button, use ctrl-click.
164
165To play it, simply double-click it, then select a good graphics resolution
166in the Setup => Graphics tab and then go to Setup => Login, enter a nickname
167(no spaces, only ASCII letters supported) and a password, then hit Login.
168
169You can also install the client application by dragging it onto your
170harddisk or anywhere else, but it should play perfectly fine from the disk
171image.
172
173The game stores configuration settings, map data, music and other resources
174in a hidden directory called .deliantra in your home directory.
175
176The script "Reset Configuration" will reset the configuration and delete
177any downloaded resources. You can use this when you no longer want to play
178Deliantra, or when you have problems with the settings (window too large
179etc.).
180
181Unfortunately, Mac OS X has quite buggy OpenGL support: make sure your
182monitor cable is plugged in correctly when you can't go into fullscreen or
183when the graphics look broken.
184
185See http://www.deliantra.net/ for more info.
186
187EOF
188
189cat >dmg/"Reset Configuration" <<EOF
190#!/bin/sh
191
192rm -rf ~/.deliantra
193
194echo
195echo
196echo
197echo
198echo
199echo Configuration/Cache Cleared
200
201EOF
202chmod 755 dmg/"Reset Configuration"
203
166# now, the last third, putting all this into a dmg 204# now, the last third, putting all this into a dmg
167 205
206DMG="Deliantra_MORPG_Client-$VER".dmg
207
168hdiutil create -srcfolder dmg -volname "Deliantra MORPG Client" -ov -format UDZO ~user/"Deliantra_MORPG_Client-$VER".dmg 208hdiutil create -srcfolder dmg -volname "Deliantra MORPG Client" -ov -format UDZO ~user/"$DMG"
169ls -l ~user/"Deliantra_MORPG_Client-$VER".dmg 209ls -l ~user/"$DMG"
170rm -rf dmg 210rm -rf dmg
171 211
212chmod 644 ~user/$DMG
213echo http://data.plan9.de/"$DMG"
214rsync -avPessh ~user/"$DMG" ruth:/var/www/data.plan9.de/.
172 215
173 216
217

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines