#!/bin/bash # Convert a gtk2-perl program to a standalone linux binary EV_EVENTFD= PERL=/usr PERLLIB=/usr/lib/perl5/ PANGO=1.5.0 #PERL=/opt/perl #PERLLIB=/opt/perl/lib/perl5/ #PANGO=1.6.0 for mod in AnyEvent EV JSON-XS Deliantra Compress-LZF BDB; do ( cd /root/src/$mod $PERL/bin/perl Makefile.PL pango-1.0.so.0 printf "%s" "$PANGO" >pangoversion #pangoversion;root/pangoversion cat <pango.rc [Pango] ModuleFiles = pango.modules EOF echo "pango.rc;root/pango.rc" cat >fonts.conf < mono monospace sans serif sans-serif sans sans-serif fontconfig-cache 0x00200x00A00x00AD0x034F0x06000x06010x06020x06030x06DD0x070F0x115F0x11600x16800x17B40x17B50x180E0x20000x20010x20020x20030x20040x20050x20060x20070x20080x20090x200A0x200B0x200C0x200D0x200E0x200F0x20280x20290x202A0x202B0x202C0x202D0x202E0x202F0x205F0x20600x20610x20620x20630x206A0x206B0x206C0x206D0x206E0x206F0x28000x30000x31640xFEFF0xFFA00xFFF90xFFFA0xFFFB EOF echo "fonts.conf;root/fonts.conf" ( cat /usr/lib/pango/$PANGO/module-files.d/* | grep ^/usr | while read so rest; do base=$(basename "$so") echo "$so;root/$base" echo "$base $rest" >&5 done ) 5>pango.modules echo "pango.modules;root/pango.modules" perl -ne '/^(resources\/.*)/ and print "$1;root/Deliantra/Client/private/$1\n"' addlist trap "rm addlist pangoversion pango-1.0.so.0 fonts.conf" 0 $PERL/bin/perl Makefile.PL make clean $PERL/bin/perl Makefile.PL make install || exit wait LD_LIBRARY_PATH=/lib:/usr/lib \ $PERL/bin/pp -C -I /root/src/Deliantra \ -M AnyEvent::Impl::EV \ -M attributes \ -a "blib/arch/auto/Deliantra/Client/Client.so;lib/auto/Deliantra/Client/Client.so" \ -l db-4.6 \ -l glib-2.0 -l gobject-2.0 -l gmodule-2.0 \ -l pangoft2-1.0 \ -l SDL -l asound \ -l SDL_mixer -l vorbisfile -l vorbis -l ogg -l smpeg -l stdc++ \ -l SDL_image -l png12 -l z \ -o deliantra-gnu-linux-x86 -A addlist bin/deliantra || exit make clean tar cf deliantra-gnu-linux-x86.tar deliantra-gnu-linux-x86 gzip -9vf deliantra-gnu-linux-x86.tar todata deliantra-gnu-linux-x86.tar.gz