1
1
#! /bin/bash
2
+ set -e
3
+
2
4
dir=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd ) "
3
5
if [ $# -ne 1 ]; then
4
6
echo " Usage: $0 <build directory>"
@@ -11,99 +13,100 @@ packagedir=$builddir/packages
11
13
libdir=$builddir /libs
12
14
13
15
toolchain_file=$dir /toolchain_mingw.cmake
14
- openal_stripped_file=$dir /openal_stripped.zip
15
- mingwm10_dll_file=$dir /mingwm10.dll
16
- irrlicht_version=1.7.2
16
+ irrlicht_version=1.8.1
17
17
ogg_version=1.2.1
18
18
vorbis_version=1.3.3
19
19
curl_version=7.18.0
20
-
21
- # unzip -l $openal_stripped_file:
22
- # 0 2012-04-03 00:25 openal_stripped/
23
- # 0 2012-04-03 00:25 openal_stripped/bin/
24
- # 109080 2012-04-03 00:03 openal_stripped/bin/OpenAL32.dll
25
- # 0 2012-04-03 00:29 openal_stripped/include/
26
- # 26443 2006-12-08 17:30 openal_stripped/include/al.h
27
- # 8282 2007-04-13 17:02 openal_stripped/include/alc.h
28
- # 0 2012-04-03 00:07 openal_stripped/lib/
29
- # 20552 2005-08-02 08:53 openal_stripped/lib/OpenAL32.lib
20
+ gettext_version=0.14.4
21
+ freetype_version=2.3.5-1
22
+ luajit_version=2.0.1
23
+ leveldb_version=1.15
30
24
31
25
mkdir -p $packagedir
32
26
mkdir -p $libdir
33
27
34
28
cd $builddir
35
29
36
30
# Get stuff
37
- [ -e $packagedir /irrlicht-$irrlicht_version .zip ] || wget http://downloads.sourceforge.net /irrlicht/irrlicht -$irrlicht_version .zip \
38
- -c -O $packagedir /irrlicht-$irrlicht_version .zip || exit 1
31
+ [ -e $packagedir /irrlicht-$irrlicht_version .zip ] || wget http://sfan5.pf-control.de /irrlicht-$irrlicht_version -win32 .zip \
32
+ -c -O $packagedir /irrlicht-$irrlicht_version .zip
39
33
[ -e $packagedir /zlib125.zip ] || wget http://www.winimage.com/zLibDll/zlib125.zip \
40
- -c -O $packagedir /zlib125.zip || exit 1
34
+ -c -O $packagedir /zlib125.zip
41
35
[ -e $packagedir /zlib125dll.zip ] || wget http://www.winimage.com/zLibDll/zlib125dll.zip \
42
- -c -O $packagedir /zlib125dll.zip || exit 1
43
- [ -e $packagedir /libogg-$ogg_version -dev.7z ] || wget http://mirror.transact.net.au/sourceforge/w/project/wi/winlibs/libogg /libogg-$ogg_version -dev.7z \
44
- -c -O $packagedir /libogg-$ogg_version -dev.7z || exit 1
45
- [ -e $packagedir /libogg-$ogg_version -dll.7z ] || wget http://mirror.transact.net.au/sourceforge/w/project/wi/winlibs/libogg /libogg-$ogg_version -dll.7z \
46
- -c -O $packagedir /libogg-$ogg_version -dll.7z || exit 1
47
- [ -e $packagedir /libvorbis-$vorbis_version -dev.7z ] || wget http://minetest.ru/bin /libvorbis-$vorbis_version -dev.7z \
48
- -c -O $packagedir /libvorbis-$vorbis_version -dev.7z || exit 1
49
- [ -e $packagedir /libvorbis-$vorbis_version -dll.7z ] || wget http://minetest.ru/bin /libvorbis-$vorbis_version -dll.7z \
50
- -c -O $packagedir /libvorbis-$vorbis_version -dll.7z || exit 1
36
+ -c -O $packagedir /zlib125dll.zip
37
+ [ -e $packagedir /libogg-$ogg_version -dev.7z ] || wget http://sfan5.pf-control.de /libogg-$ogg_version -dev.7z \
38
+ -c -O $packagedir /libogg-$ogg_version -dev.7z
39
+ [ -e $packagedir /libogg-$ogg_version -dll.7z ] || wget http://sfan5.pf-control.de /libogg-$ogg_version -dll.7z \
40
+ -c -O $packagedir /libogg-$ogg_version -dll.7z
41
+ [ -e $packagedir /libvorbis-$vorbis_version -dev.7z ] || wget http://sfan5.pf-control.de /libvorbis-$vorbis_version -dev.7z \
42
+ -c -O $packagedir /libvorbis-$vorbis_version -dev.7z
43
+ [ -e $packagedir /libvorbis-$vorbis_version -dll.7z ] || wget http://sfan5.pf-control.de /libvorbis-$vorbis_version -dll.7z \
44
+ -c -O $packagedir /libvorbis-$vorbis_version -dll.7z
51
45
[ -e $packagedir /libcurl-$curl_version -win32-msvc.zip ] || wget http://curl.haxx.se/download/libcurl-$curl_version -win32-msvc.zip \
52
- -c -O $packagedir /libcurl-$curl_version -win32-msvc.zip || exit 1
53
- wget http://github.com/minetest/minetest/zipball/master \
54
- -c -O $packagedir /minetest.zip --tries=3 || (echo " Please download http://github.com/minetest/minetest/zipball/master manually and save it as $packagedir /minetest.zip" ; read -s)
55
- [ -e $packagedir /minetest.zip ] || (echo " minetest.zip not found" ; exit 1)
56
- wget http://github.com/minetest/minetest_game/zipball/master \
57
- -c -O $packagedir /minetest_game.zip --tries=3 || (echo " Please download http://github.com/minetest/minetest_game/zipball/master manually and save it as $packagedir /minetest_game.zip" ; read -s)
58
- [ -e $packagedir /minetest_game.zip ] || (echo " minetest_game.zip not found" ; exit 1)
46
+ -c -O $packagedir /libcurl-$curl_version -win32-msvc.zip
47
+ [ -e $packagedir /gettext-$gettext_version .zip ] || wget http://sfan5.pf-control.de/gettext-$gettext_version .zip \
48
+ -c -O $packagedir /gettext-$gettext_version .zip
49
+ [ -e $packagedir /freetype-$freetype_version .zip ] || wget http://sfan5.pf-control.de/freetype-$freetype_version .zip \
50
+ -c -O $packagedir /freetype-$freetype_version .zip
51
+ [ -e $packagedir /luajit-$luajit_version -static-win32.zip ] || wget http://sfan5.pf-control.de/luajit-$luajit_version -static-win32.zip \
52
+ -c -O $packagedir /luajit-$luajit_version -static-win32.zip
53
+ [ -e $packagedir /libleveldb-$leveldb_version -win32.zip ] || wget http://sfan5.pf-control.de/libleveldb-$leveldb_version -win32.zip \
54
+ -c -O $packagedir /libleveldb-$leveldb_version -win32.zip
59
55
[ -e $packagedir /openal_stripped.zip ] || wget http://minetest.ru/bin/openal_stripped.zip \
60
- -c -O $packagedir /openal_stripped.zip || exit 1
56
+ -c -O $packagedir /openal_stripped.zip
61
57
[ -e $packagedir /mingwm10.dll ] || wget http://minetest.ru/bin/mingwm10.dll \
62
- -c -O $packagedir /mingwm10.dll || exit 1
63
-
64
-
65
- # Figure out some path names from the packages
66
- minetestdirname=` unzip -l $packagedir /minetest.zip | head -n 7 | tail -n 1 | sed -e ' s/^[^m]*//' -e ' s/\/.*$//' `
67
- minetestdir=$builddir /$minetestdirname || exit 1
68
- git_hash=` echo $minetestdirname | sed -e ' s/minetest-minetest-//' `
69
- minetest_gamedirname=` unzip -l $packagedir /minetest_game.zip | head -n 7 | tail -n 1 | sed -e ' s/^[^m]*//' -e ' s/\/.*$//' `
58
+ -c -O $packagedir /mingwm10.dll
70
59
71
60
# Extract stuff
72
- cd $libdir || exit 1
73
- unzip -o $packagedir /irrlicht-$irrlicht_version .zip || exit 1
74
- unzip -o $packagedir /zlib125.zip || exit 1
75
- unzip -o $packagedir /zlib125dll.zip -d zlib125dll || exit 1
76
- 7z x -y -olibogg $packagedir /libogg-$ogg_version -dev.7z || exit 1
77
- 7z x -y -olibogg $packagedir /libogg-$ogg_version -dll.7z || exit 1
78
- 7z x -y -olibvorbis $packagedir /libvorbis-$vorbis_version -dev.7z || exit 1
79
- 7z x -y -olibvorbis $packagedir /libvorbis-$vorbis_version -dll.7z || exit 1
80
- unzip -o $packagedir /libcurl-$curl_version -win32-msvc.zip -d libcurl || exit 1
81
- unzip -o $packagedir /openal_stripped.zip || exit 1
82
- cd $builddir || exit 1
83
- unzip -o $packagedir /minetest.zip || exit 1
61
+ cd $libdir
62
+ [ -d irrlicht-$irrlicht_version ] || unzip -o $packagedir /irrlicht-$irrlicht_version .zip
63
+ [ -d zlib-1.2.5 ] || unzip -o $packagedir /zlib125.zip
64
+ [ -d zlib125dll ] || unzip -o $packagedir /zlib125dll.zip -d zlib125dll
65
+ [ -d libogg/include ] || 7z x -y -olibogg $packagedir /libogg-$ogg_version -dev.7z
66
+ [ -d libogg/bin ] || 7z x -y -olibogg $packagedir /libogg-$ogg_version -dll.7z
67
+ [ -d libvorbis/include ] || 7z x -y -olibvorbis $packagedir /libvorbis-$vorbis_version -dev.7z
68
+ [ -d libvorbis/bin ] || 7z x -y -olibvorbis $packagedir /libvorbis-$vorbis_version -dll.7z
69
+ [ -d libcurl ] || unzip -o $packagedir /libcurl-$curl_version -win32-msvc.zip -d libcurl
70
+ [ -d gettext ] || unzip -o $packagedir /gettext-$gettext_version .zip -d gettext
71
+ [ -d freetype ] || unzip -o $packagedir /freetype-$freetype_version .zip -d freetype
72
+ [ -d openal_stripped ] || unzip -o $packagedir /openal_stripped.zip
73
+ [ -d luajit ] || unzip -o $packagedir /luajit-$luajit_version -static-win32.zip -d luajit
74
+ [ -d leveldb ] || unzip -o $packagedir /libleveldb-$leveldb_version -win32.zip -d leveldb
84
75
85
- # Symlink minetestdir
86
- rm -rf $builddir /minetest
87
- ln -s $minetestdir $builddir /minetest
76
+ # Get minetest
77
+ cd $builddir
78
+ [ -d minetest ] && (cd minetest && git pull) || (git clone https://github.com/minetest/minetest)
79
+ cd minetest
80
+ git_hash=` git show | head -c14 | tail -c7`
88
81
89
- # Extract minetest_game
90
- cd $minetestdir /games || exit 1
91
- rm -rf minetest_game || exit 1
92
- unzip -o $packagedir /minetest_game.zip || exit 1
93
- minetest_gamedir=$minetestdir /games/$minetest_gamedirname || exit 1
94
- mv $minetest_gamedir $minetestdir /games/minetest_game || exit 1
82
+ # Get minetest_game
83
+ cd games
84
+ [ -d minetest_game ] && (cd minetest_game && git pull) || (git clone https://github.com/minetest/minetest_game)
85
+ cd ../..
95
86
96
87
# Build the thing
97
- cd $minetestdir || exit 1
98
- mkdir -p build || exit 1
99
- cd build || exit 1
100
- cmake $minetestdir -DCMAKE_TOOLCHAIN_FILE=$toolchain_file -DENABLE_SOUND=1 \
88
+ cd minetest
89
+ [ -d build ] && rm -Rf build/
90
+ mkdir build
91
+ cd build
92
+ cmake .. \
93
+ -DCMAKE_INSTALL_PREFIX=/tmp \
94
+ -DVERSION_EXTRA=$git_hash \
95
+ -DBUILD_CLIENT=1 -DBUILD_SERVER=0 \
96
+ -DCMAKE_TOOLCHAIN_FILE=$toolchain_file \
97
+ -DENABLE_SOUND=1 \
98
+ -DENABLE_CURL=1 \
99
+ -DENABLE_GETTEXT=1 \
100
+ -DENABLE_FREETYPE=1 \
101
+ -DENABLE_LEVELDB=1 \
101
102
-DIRRLICHT_INCLUDE_DIR=$libdir /irrlicht-$irrlicht_version /include \
102
103
-DIRRLICHT_LIBRARY=$libdir /irrlicht-$irrlicht_version /lib/Win32-gcc/libIrrlicht.dll.a \
103
104
-DIRRLICHT_DLL=$libdir /irrlicht-$irrlicht_version /bin/Win32-gcc/Irrlicht.dll \
104
105
-DZLIB_INCLUDE_DIR=$libdir /zlib-1.2.5 \
105
106
-DZLIB_LIBRARIES=$libdir /zlib125dll/dll32/zlibwapi.lib \
106
107
-DZLIB_DLL=$libdir /zlib125dll/dll32/zlibwapi.dll \
108
+ -DLUA_INCLUDE_DIR=$libdir /luajit/include \
109
+ -DLUA_LIBRARY=$libdir /luajit/libluajit.a \
107
110
-DOGG_INCLUDE_DIR=$libdir /libogg/include \
108
111
-DOGG_LIBRARY=$libdir /libogg/lib/libogg.dll.a \
109
112
-DOGG_DLL=$libdir /libogg/bin/libogg-0.dll \
@@ -115,18 +118,22 @@ cmake $minetestdir -DCMAKE_TOOLCHAIN_FILE=$toolchain_file -DENABLE_SOUND=1 \
115
118
-DOPENAL_INCLUDE_DIR=$libdir /openal_stripped/include \
116
119
-DOPENAL_LIBRARY=$libdir /openal_stripped/lib/OpenAL32.lib \
117
120
-DOPENAL_DLL=$libdir /openal_stripped/bin/OpenAL32.dll \
118
- -DENABLE_CURL=1 \
121
+ -DMINGWM10_DLL= $packagedir /mingwm10.dll \
119
122
-DCURL_DLL=$libdir /libcurl/libcurl.dll \
120
123
-DCURL_INCLUDE_DIR=$libdir /libcurl/include \
121
124
-DCURL_LIBRARY=$libdir /libcurl/libcurl.lib \
122
- -DMINGWM10_DLL=$packagedir /mingwm10.dll \
123
- -DCMAKE_INSTALL_PREFIX=/tmp \
124
- -DVERSION_EXTRA=$git_hash \
125
- || exit 1
126
- make -j2 package || exit 1
125
+ -DCUSTOM_GETTEXT_PATH=$libdir /gettext \
126
+ -DGETTEXT_MSGFMT=` which msgfmt` \
127
+ -DGETTEXT_DLL=$libdir /gettext/bin/libintl3.dll \
128
+ -DGETTEXT_ICONV_DLL=$libdir /gettext/bin/libiconv2.dll \
129
+ -DGETTEXT_INCLUDE_DIR=$libdir /gettext/include \
130
+ -DGETTEXT_LIBRARY=$libdir /gettext/lib/libintl.dll.a \
131
+ -DFREETYPE_INCLUDE_DIR_freetype2=$libdir /freetype/include/freetype \
132
+ -DFREETYPE_INCLUDE_DIR_ft2build=$libdir /freetype/include \
133
+ -DFREETYPE_LIBRARY=$libdir /freetype/lib/freetype.lib \
134
+ -DLEVELDB_INCLUDE_DIR=$libdir /leveldb/include \
135
+ -DLEVELDB_LIBRARY=$libdir /leveldb/lib/libleveldb.dll.a
127
136
128
- # pubdir=/home/celeron55/public_html/random/`date +%Y-%m` || exit 1
129
- # mkdir -p $pubdir || exit 1
130
- # cp *autobuild*.zip $pubdir/ || exit 1
137
+ make package -j2
131
138
132
139
# EOF
0 commit comments