Added ScummVM

This commit is contained in:
AlexanderR 2013-09-25 12:59:39 +11:00
parent 0cefdfe440
commit b6a65b425e
3 changed files with 155 additions and 13 deletions

View file

@ -1,24 +1,49 @@
Category:Games
License:GPLv2
Web Site:http://wiki.scummvm.org/index.php/Android
Source Code:https://github.com/scummvm/scummvm
License:GPLv3
Web Site:http://scummvm.org
Source Code:https://github.com/scummvm/scummvm/
Issue Tracker:http://sourceforge.net/tracker/?group_id=37116&atid=418820
Donate:http://sourceforge.net/donate/index.php?group_id=37116
Auto Name:ScummVM
Summary:Game emulator
Summary:Adventure game player
Description:
ScummVM is a program which allows you to run certain classic graphical point-and-click adventure
games, provided you already have their data files. List of supported engines include:
* SCUMM (Classic 2D [http://wiki.scummvm.org/index.php/LucasArts LucasArts] games: Full Throttle, Day of the Tentacle, etc.)
* AGI (Early [http://wiki.scummvm.org/index.php/Sierra Sierra] adventure games: King's Quest, Leisure Suit Larry etc.)
* SCI (Newer Sierra adventure games: Space Quest, Police Quest etc.)
* Kyra (Eye of the Beholder, The Legend of Kyrandia etc.)
* Gob (Urban Runner, Gobliiins series)
* SwordX (Broken Sword series)
* Sky (Beneath a Steel Sky)
and numerous others.
[https://raw.github.com/scummvm/scummvm/master/README Documentation]
[https://raw.github.com/scummvm/scummvm/master/dists/android/README.Android README of Android port]
Unlike upstream build, this one has all plugins bundled together in single apk. External plugin apks
(e.g. from Google Play) won't work with this version and must be removed before installing it.
.
Repo Type:git
Repo:https://github.com/scummvm/scummvm.git
Repo:git://github.com/scummvm/scummvm.git
#No sound in this so far. Need to stop make from running ant
Build Version:1.6.0,13,!needs work 6387e3bca7,forcerversion=yes,forcevercode=yes,subdir=dists/android,\
prebuild=export ANDROID_SDK="$$SDK$$ && export ANDROID_NDK="$$NDK$$" && \
export PATH=${PATH}:$$NDK$$/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin && \
./configure --host=android && make
Build Version:1.5.0,6,v1.5.0,extlibs=libmad/libmad-0.15.1b.tar.gz,srclibs=FLAC@1.2.1;Tremor@b31465b840,\
update=no,target=android-17,patch=fdroid_build.patch;latest_sdk.patch,bindir=.,antcommand="-p",\
init=echo -e '<project>\n<target name="Creating scummvm.apk for release..."/>\n</project>' > build.xml,\
build=export ANDROID_SDK="$$SDK$$" && export ANDROID_NDK="$$NDK$$" \
&& chmod +x fdroid_build \
&& ./fdroid_build tremor $$Tremor$$ \
&& ./fdroid_build mad \
&& ./fdroid_build flac $$FLAC$$ \
&& ./fdroid_build scummvm
# Releases are tagged, but according to backends/platform/android/android.mk (which also contains
# version codes), Market uploads take priority. They may lag notably behind general development,
# so checking http://sourceforge.net/projects/scummvm/files/scummvm/ is advisable as well.
Auto Update Mode:None
Update Check Mode:Static
Update Check Mode:None
Current Version:1.5.0
Current Version Code:6

View file

@ -0,0 +1,83 @@
commit 9dc92cd51b3f93d58709f1c5758d1f4b240de5e2
Author: AlexanderR <alexander.r@gmx.com>
Date: Sat Sep 21 19:59:26 2013 +1100
Added fdroid_build
diff --git a/fdroid_build b/fdroid_build
new file mode 100755
index 0000000..f9a86f4
--- /dev/null
+++ b/fdroid_build
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+BIN="$ANDROID_NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin"
+
+export PATH="$BIN:$PATH"
+export SYSROOT="$ANDROID_NDK/platforms/android-4/arch-arm/"
+export PREFIX="$BIN/arm-linux-androideabi-"
+export CC="${PREFIX}gcc --sysroot=$SYSROOT"
+export CXX="${PREFIX}g++ --sysroot=$SYSROOT"
+#export CPP="${PREFIX}cpp"
+export AS=${PREFIX}gcc
+export LD=${PREFIX}gcc
+export AR=${PREFIX}ar cru
+export RANLIB=${PREFIX}ranlib
+export STRIP=${PREFIX}strip
+export OBJCOPY=${PREFIX}objcopy
+
+#export BOOTCLASSPATH="$$SDK$$/opt/android-sdk/platforms/android-10/android.jar"
+#export BOOTCLASSPATH="$$SDK$$/opt/android-sdk/platforms/android-17/android.jar"
+
+export MACHDEP="--sysroot=$SYSROOT -mandroid -mthumb-interwork -D GL_GLEXT_PROTOTYPES"
+export CFLAGS="${MACHDEP} -Os -Wall -msoft-float -march=armv5te -mtune=xscale -D GL_GLEXT_PROTOTYPES"
+export CXXFLAGS="${CFLAGS}"
+export LDFLAGS="${MACHDEP}"
+
+mkdir -p scummvm_libs && export PREF=`realpath ./scummvm_libs`
+
+mad() {
+tar xfz libs/libmad-0.15.1b.tar.gz
+cd libmad-0.15.1b/
+./configure --host=arm --prefix="$PREF" --enable-speed --enable-fpm=arm --disable-aso
+# They use some really old GCC options..
+CFLAGS="$CFLAGS -Wno-error=unknown-warning" make
+make install
+}
+
+flac() {
+cd $1
+cp /usr/share/gettext/config.rpath .
+./autogen.sh --prefix="$PREF" --host=arm-linux-androideabi \
+--disable-largefile \
+--disable-thorough-tests \
+--disable-doxygen-docs \
+--disable-xmms-plugin \
+--disable-cpplibs \
+--disable-ogg \
+--disable-oggtest \
+--disable-rpath
+make -C src/libFLAC
+make -C src/libFLAC install
+make -C include install
+}
+
+tremor() {
+cd $1
+./autogen.sh --prefix="$PREF" --host=arm-linux-androideabi \
+--enable-low-accuracy \
+--enable-64kHz-limit \
+--disable-sanity-checks
+make
+make install
+}
+
+# "--default-dynamic" is too much of pain to distribute, so all plugins are bundled together
+scummvm() {
+./configure --host=android --enable-plugins \
+--with-tremor-prefix="$PREF" --with-mad-prefix="$PREF" --with-flac-prefix="$PREF"
+make
+}
+
+$1 $2

View file

@ -0,0 +1,34 @@
diff --git a/backends/platform/android/android.mk b/backends/platform/android/android.mk
index e24d797..ec63b91 100644
--- a/backends/platform/android/android.mk
+++ b/backends/platform/android/android.mk
@@ -40,10 +40,10 @@ PLUGIN_RESOURCES = \
#LDFLAGS += -Wl,--gc-sections
#CXXFLAGS += -ffunction-sections -fdata-sections -fvisibility=hidden -fvisibility-inlines-hidden
-AAPT = $(ANDROID_SDK)/platform-tools/aapt
+AAPT = $(ANDROID_SDK)/build-tools/*/aapt
ADB = $(ANDROID_SDK)/platform-tools/adb
-DX = $(ANDROID_SDK)/platform-tools/dx
-APKBUILDER = $(ANDROID_SDK)/tools/apkbuilder
+DX = $(ANDROID_SDK)/build-tools/*/dx
+APKBUILDER = java -cp $(ANDROID_SDK)/tools/lib/sdklib.jar com.android.sdklib.build.ApkBuilderMain
JAVAC ?= javac
JAVACFLAGS = -source 1.5 -target 1.5
@@ -154,13 +154,13 @@ $(APK_MAIN): $(EXECUTABLE) $(FILE_RESOURCES_MAIN) $(FILE_DEX)
$(INSTALL) -d $(PATH_STAGE_MAIN)/common/mylib/armeabi
$(INSTALL) -c -m 644 libscummvm.so $(PATH_STAGE_MAIN)/common/mylib/armeabi/
$(STRIP) $(PATH_STAGE_MAIN)/common/mylib/armeabi/libscummvm.so
- $(APKBUILDER) $@ -z $(FILE_RESOURCES_MAIN) -f $(FILE_DEX) -rf $(PATH_STAGE_MAIN)/common || { $(RM) $@; exit 1; }
+ $(APKBUILDER) $@ -u -z $(FILE_RESOURCES_MAIN) -f $(FILE_DEX) -rf $(PATH_STAGE_MAIN)/common || { $(RM) $@; exit 1; }
scummvm-engine-%.apk: plugins/lib%.so $(PATH_BUILD)/%/$(FILE_RESOURCES) $(FILE_DEX_PLUGIN)
$(INSTALL) -d $(PATH_STAGE_PREFIX).$*/apk/mylib/armeabi/
$(INSTALL) -c -m 644 plugins/lib$*.so $(PATH_STAGE_PREFIX).$*/apk/mylib/armeabi/
$(STRIP) $(PATH_STAGE_PREFIX).$*/apk/mylib/armeabi/lib$*.so
- $(APKBUILDER) $@ -z $(PATH_BUILD)/$*/$(FILE_RESOURCES) -f $(FILE_DEX_PLUGIN) -rf $(PATH_STAGE_PREFIX).$*/apk || { $(RM) $@; exit 1; }
+ $(APKBUILDER) $@ -u -z $(PATH_BUILD)/$*/$(FILE_RESOURCES) -f $(FILE_DEX_PLUGIN) -rf $(PATH_STAGE_PREFIX).$*/apk || { $(RM) $@; exit 1; }
all: $(APK_MAIN) $(APK_PLUGINS)