@@ -17,26 +17,6 @@ die() {
1717 exit 1
1818}
1919
20- create_archive_metadata () {
21- md5=$( md5sum " $1 " 2>&3 | grep -oE " [0-9a-f]{32}" )
22- test -n " ${md5} " || die
23- sha1=$( sha1sum " $1 " 2>&3 | grep -oE " [0-9a-f]{40}" )
24- test -n " ${sha1} " || die
25- filename=$( basename " $1 " )
26- cat > " $2 " 2>&3 << EOF
27- {
28- "url" : "${UPDATE_SERVER}${filename} ",
29- "name" : "${filename} ",
30- "version" : $3 ,
31- "archiver" : "$4 ",
32- "compression" : "$5 ",
33- "platform" : "android${api} .${abi} ",
34- "md5" : "${md5} ",
35- "sha1" : "${sha1} "
36- }
37- EOF
38- }
39-
4020test -d " ${oldpwd} " || die
4121
4222exec 3> build.log
@@ -101,9 +81,11 @@ check_ndk() {
10181}
10282
10383delete_core_packages () {
104- for f in ../dist/core* ; do
105- rm " $f "
106- done
84+ find ../dist/ -name " core*" -type f -exec rm " {}" \;
85+ }
86+
87+ delete_ruby_packages () {
88+ find ../dist/ -name " ruby*" -type f -exec rm " {}" \;
10789}
10890
10991build_core () {
@@ -252,15 +234,10 @@ pack_core() {
252234
253235 mv /tmp/core.tar.xz $core_path >&3 2>&1 || die
254236
255- echo -ne " ok\n[core] - creating archive manifest..."
256-
257- create_archive_metadata $core_path $core_json $CORE_VERSION tar xz
258-
259237 echo " ok"
260238}
261239
262240build_cores () {
263-
264241 check_ndk
265242 delete_core_packages
266243
@@ -272,69 +249,94 @@ build_cores() {
272249 done
273250}
274251
252+ build_ruby () {
253+ check_ndk
254+ delete_ruby_packages
255+
256+ for api in $apis ; do
257+ build_core
258+ for abi in $abis ; do
259+ pack_ruby
260+ done
261+ done
262+ }
263+
275264build_jni () {
276265 check_ndk
277266 select_lower_api
278267
279268 build_jni_libs
280269}
281270
282-
283- build_ruby () {
284- echo -e " *** creating ruby package ***"
285-
271+ pack_ruby () {
286272 system_ruby=" "
287-
273+
274+ echo
275+ echo " [ruby] building android${api} .${abi} package"
276+
288277 for bin in ruby ruby19; do
289278 bin=$( which " $bin " )
290- test -n " $bin " && grep -q " 1.9" <<< $( $bin -v) && system_ruby=" ${bin} "
279+
280+ test -n " $bin " && { $bin -v | grep -q " 1.9" ; } && system_ruby=" ${bin} "
291281 done
292282
293283 test -n " ${system_ruby} " || { echo " ruby 1.9 not found" >&2 ; echo " ruby 1.9 not found" >&3 ; die ; }
294284
295- echo -n " creating rubyroot ..."
285+ echo -n " [ruby] - creating root ..."
296286
297287 rm -rf rubyroot >&3 2>&1 || die
298288 rubyroot=$( readlink -f rubyroot) || die
299289 echo " rubyroot='${rubyroot} '" >&3
300290 test -n " ${rubyroot} " || die
291+
301292 for d in $directories ; do
302293 echo " making \` ${rubyroot} /lib/ruby/1.9.1/arm-linux-androideabi$d '" >&3
303294 mkdir -p " ${rubyroot} /lib/ruby/1.9.1/arm-linux-androideabi$d " >&3 2>&1 || die
304295 done
296+
305297 mkdir -p " ${rubyroot} /lib/ruby/site_ruby/1.9.1/arm-linux-androideabi" || die
306298 mkdir -p " ${rubyroot} /lib/ruby/vendor_ruby/1.9.1/arm-linux-androideabi" || die
307299 mkdir -p " ${rubyroot} /bin" >&3 2>&1 || die
308300 mkdir -p " ${rubyroot} /etc" >&3 2>&1 || die
309301 mkdir -p " ${rubyroot} /home/ruby" >&3 2>&1 || die
310- echo -ne " ok\ndisabling documentation install for gems..."
302+
303+ echo -ne " ok\n[ruby] - disabling documentation when installing gems..."
304+
311305 echo -e ' install: --no-document\nupdate: --no-document' > " ${rubyroot} /etc/gemrc" 2>&3 || die
312306 cp " ${rubyroot} /etc/gemrc" " ${rubyroot} /home/ruby/.gemrc" || die
313- echo -ne " ok\ncopying binaries..."
307+
308+ echo -ne " ok\n[ruby] - copying binaries..."
309+
314310 rsync -va ruby/bin/ rubyroot/bin/ >&3 2>&1 || die
315311 for prog in clear infocmp tabs tic toe tput; do
316- cp " ../libs/armeabi /${prog} " " ${rubyroot} /bin/" >&3 2>&1 || die
312+ cp " ../libs/${abi} /${prog} " " ${rubyroot} /bin/" >&3 2>&1 || die
317313 done
318- cp ../libs/armeabi/ruby " ${rubyroot} /bin/" >&3 2>&1 || die
319- echo -ne " ok\ncopying libraries..."
314+ cp " ../libs/${abi} /ruby" " ${rubyroot} /bin/" >&3 2>&1 || die
315+
316+ echo -ne " ok\n[ruby] - copying libraries..."
317+
320318 for d in $directories ; do
321319 base=" libRUBY${d// \/ / _} "
322320 search_name=" ${base} *.so"
323321 dest=" ${oldpwd} /rubyroot/lib/ruby/1.9.1/arm-linux-androideabi$d "
324- find " ${oldpwd} /../libs/armeabi /" -name " ${search_name} " | while read file; do
322+ find " ${oldpwd} /../libs/${abi} /" -name " ${search_name} " | while read file; do
325323 newname=$( basename " $file " )
326324 newname=${newname/ $base / }
327325 echo " copying \` ${file} ' to \` ${dest}${newname} '" >&3
328326 cp " $file " " ${dest}${newname} " >&3 2>&1 || die
329327 done
330328 done
331- echo -ne " ok\ncopying script libraries..."
329+
330+ echo -ne " ok\n[ruby] - copying script libraries..."
331+
332332 cd ruby/lib >&3 2>&1 || die
333333 ( find . -name " *.rb" -print0 | rsync -va --files-from=- --from0 ./ ../../rubyroot/lib/ruby/1.9.1/ ) >&3 2>&1 || die
334334 cd ../.ext/common >&3 2>&1 || die
335335 ( find . -name " *.rb" -print0 | rsync -va --files-from=- --from0 ./ ../../../rubyroot/lib/ruby/1.9.1/ ) >&3 2>&1 || die
336336 cp " ${oldpwd} /ruby/rbconfig.rb" " ${rubyroot} /lib/ruby/1.9.1/arm-linux-androideabi/" >&3 2>&1 || die
337- echo -ne " ok\nupdating rubygems..."
337+
338+ echo -ne " ok\n[ruby] - updating rubygems..."
339+
338340 echo -e " require 'arm-linux-androideabi/rbconfig'" > " ${rubyroot} /lib/ruby/1.9.1/rbconfig.rb" 2>&3 || die
339341 unset RUBYOPT
340342 export RUBYLIB=" ${rubyroot} /lib/ruby/site_ruby/1.9.1:${rubyroot} /lib/ruby/site_ruby:${rubyroot} /lib/ruby/vendor_ruby/1.9.1:${rubyroot} /lib/ruby/vendor_ruby:${rubyroot} /lib/ruby/1.9.1"
@@ -350,19 +352,15 @@ build_ruby() {
350352 mv " ${rubyroot} /bin/ruby.arm" " ${rubyroot} /bin/ruby" >&3 2>&1 || die
351353 cd " ${rubyroot} "
352354 sed -i " 1s,^#!${rubyroot} /bin/ruby,#!/usr/bin/env ruby," $( find . -type f) >&3 2>&1 || die
353- echo -ne " ok\ncreating archive..."
355+
356+ echo -ne " ok\n[ruby] - creating archive..."
357+
354358 cd " ${oldpwd} "
355-
356359 mkdir -p ../dist >&3 2>&1 || die
357-
358360 cd rubyroot
359- tar -cJf ../../dist/ruby. tar.xz . >&3 2>&1 || die
361+ tar -cJf " ../../dist/ruby- ${RUBY_VERSION} +android ${api} . ${abi} . tar.xz" . >&3 2>&1 || die
360362 cd " ${oldpwd} "
361363 rm -rf rubyroot
362-
363- echo -ne " ok\ncreating archive manifest..."
364-
365- create_archive_metadata ../dist/ruby.tar.xz ../dist/ruby.json $RUBY_VERSION tar xz
366364
367365 echo " ok"
368366}
0 commit comments