Commit graph

87 commits

Author SHA1 Message Date
Cristian Ionescu-Idbohrn
9470278e87 Use `command' (shell builtin and POSIX) instead
The `which' command is a fork and possible not standard in various
distributions, or builtin in certain (odd)? shells, like `zsh'.

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-09 21:31:11 -08:00
Willem Ferguson
b912880707 Fix syntax error in android/build.sh
Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-07 07:42:00 -08:00
Anton Lundin
56b518d956 android: Rework build.sh
This reworks build.sh for proper argument parsing and variable quoting.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:16:10 -08:00
Anton Lundin
bed5ad31e6 android-wrapper: Auto install Qt
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:15:33 -08:00
Anton Lundin
9d235d165e android: Upgrade Qt to 5.8
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:15:08 -08:00
Anton Lundin
c345702d1b android: Move suggested/expected Qt install to just Qt
In the Qt installer, there is a MaintenanceTool which can upgrade your
install, so don't install in a "versioned" directory, just install in a
plain Qt-directory.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:14:53 -08:00
Anton Lundin
9f7c3c31f7 android-wrapper: Auto accept android sdk license
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:13:49 -08:00
Anton Lundin
b7a1b2dbf6 android-wrapper: Quiet down unzip
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:13:44 -08:00
Anton Lundin
cf5c9d371e android-wrapper: Quiet down wget
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:12:26 -08:00
Anton Lundin
2c160534eb android-wrapper: Add unzip as prerequisite
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:12:05 -08:00
Anton Lundin
2b89d9ead0 android-wrapper: Add wget as prerequisite
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:11:40 -08:00
Anton Lundin
82c972574b android-wrapper: Fail fast and at point
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:11:27 -08:00
Anton Lundin
6fd438e053 android-wrapper: Give a negative exit code on error
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:11:14 -08:00
Dirk Hohndel
911d2798cd Android build wrapper: sometimes quotes hurt you
Shellcheck wanted quotes around "$USE_X" - but that makes the script
fail if you run it without the '-x' argument.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-04 07:02:11 -08:00
Dirk Hohndel
9a754b663a Extend Android wrapper shell to be smarter
Move it to packaging/android where it belongs
Use direct URLs to download Android components
Make sure required packages are installed (only tested on Ubuntu)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-03 17:45:26 -08:00
Dirk Hohndel
273550b4e8 Android build.sh: fix libcrypto dependency in libssl
Using a binary patch seems harch, but it also seems to work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 14:28:35 -08:00
Dirk Hohndel
8adcc406c7 Android build.sh: don't try to link against host http_parser
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 14:28:26 -08:00
Dirk Hohndel
3fd26a80dc Small fix for Android build.sh
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 14:27:38 -08:00
Anton Lundin
0253addb9e android: Document controlling env-vars
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-01-12 14:15:53 -08:00
Anton Lundin
450092cdb9 android: build.sh white space cleanup
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-01-12 14:15:53 -08:00
Anton Lundin
9ec28966f0 android: Introduce propper quoting in build.sh
This where quoting issues found by shellcheck.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-01-12 14:15:53 -08:00
Dirk Hohndel
346f4d4f12 Android build: add comments on filesystem layout
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-02 04:46:51 -08:00
Anton Lundin
ca1349241b android: Copy android files to the expected name
android-mobile nowadays hardcoded in CMakeLists.txt, so workaround it
here.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-28 22:40:18 -08:00
Anton Lundin
6203433ff3 android: Upgrade suggested ndk
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-28 22:40:18 -08:00
Dirk Hohndel
79ab41dfd8 Android build: don't try to bundle libssh2, either
Since we don't link against it, no need to bundle it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28 19:20:18 -07:00
Dirk Hohndel
7a55eeeb07 Android build: don't link against libssh2
We don't use ssh-based git in Subsurface-mobile, so there's no reason to
link against it.

This should hopefully fix the current issues with the Android APK on some
devices.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28 19:14:06 -07:00
Dirk Hohndel
a5cf8aaa21 Android build: try to create APK that works on Android 7.0
It appears that instead of statically linking against ssl/crypto/ssh2, you
instead have to dynamically link against it and then bundle the library in
the APK. The documentation is not 100% clear and I don't have an Android
Nougat device to test this with, so for now this is an attempt.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-24 13:36:32 -07:00
Dirk Hohndel
7dd8a62ced Don't build Kirigami as a library
Just link it directly into Subsurface-mobile. That's what we already do
with the qmake file for iOS, now the cmake based builds do the same. This
should remove a lot of issues.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-18 21:38:13 -07:00
Joakim Bygdell
925fd8d4c1 Android build: compile kirigami
Build kirkigami plugin out of source and make sure that we use the same QT
version for the plugin and the app.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:29:05 -07:00
Marco Martin
24718adfc3 Use kirigami built in static mode
Now kirigami needs to be built with a C++ plugin.
In cases of mobile operating systems such as iOS (and in a lesser measuse,
Android) having a proper plugin loaded at runtime may be difficult, so
statically link it together with all of its qml files compiled as a
qresource inside the static library.

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 07:56:05 -07:00
Anton Lundin
4ed6101c5c android: Fix typo in patching of libssh2
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-07-09 12:07:09 -07:00
Anton Lundin
b8e3ad7319 android: Update all our dependencies
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:35:59 -07:00
Anton Lundin
b2b29c00ec android: Enable config via env vars
This creates the possibility to pass configuration, where the ndk and
sdk is installed, to the build.sh script via environment variables.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:35:21 -07:00
Anton Lundin
7386d0b5b4 android: Set version and build for desktop app
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:34:41 -07:00
Anton Lundin
4ef90638d4 android: Remove obsolete comment
Since c78e4f we build the mobile and desktop versions with different
package id's.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:34:15 -07:00
Anton Lundin
2aa9841213 android: Prioritize newer Qt version if found
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:34:00 -07:00
Anton Lundin
9443b0b86c android: Use a ndk toolchain matching sdk version
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:33:32 -07:00
Anton Lundin
f28dfce50f android: Update to latest NDK
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:32:49 -07:00
Anton Lundin
f3cde0357f android: Correct README
We don't depend on Qt5.5, we depend on Qt for android.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:32:24 -07:00
Anton Lundin
4f850e2aa5 Build Subsurface c++ as c++11 code
With Qt 5.7, they started to require c++11 support, and in 5.6.1 some
nullptr's showed up in QtAndroidExtras/qandroidfunctions.h, so now we
need to compile our c++ code with c++11 support in our compiler.

As Thiago pointed out, this effectively "downgrades" GCC 6 from c++14
support to c++11.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:32:10 -07:00
Dirk Hohndel
4d4faecd67 Allow building Android package against Qt 5.7
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-22 13:25:26 -07:00
Dirk Hohndel
2c60e87b09 Qt 5.7 requires C++11
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-22 13:23:10 -07:00
Dirk Hohndel
8408cbe3a4 Android build: we don't need the Qt translations
Only the Subsurface translation files as needed as the QML UI
doesn't display any Qt internal strings.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-04 14:02:05 -07:00
Dirk Hohndel
e47327c87a Android build: prepare and copy translations into the APK
And then load them at runtime.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-03 17:20:53 -07:00
Dirk Hohndel
d7103f97f7 Android build: use static libssl / libcrypto
Android M does not allow using those as shared libraries.

See #1029

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20 15:29:09 -07:00
Miika Turkia
95292ac560 Set default build number for apk building
Having build number as mandatory parameter seems unnecessary, thus
setting default value (used for andoird:versionCode) to 0.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14 11:02:19 -07:00
Miika Turkia
454a62c835 Fix initial build of APK
Running subsurface/packaging/android/build.sh after deleting
subsurface-mobile-build-arm directory fails for me due to missing
ssrf-version.h file. Just ignore if it doesn't exist.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14 10:59:56 -07:00
Dirk Hohndel
557eb744a3 Make sure version is freshly generated before extracting
Oops, so Subsurface-mobile 1.0 (4.5.2.1048)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-10 06:35:40 -08:00
Dirk Hohndel
6be0800704 Update Subsurface-mobile version to 1.0.0
And make sure the version displayed for Android includes both that version
and the build version, which is our regular canonical 4 part version
number - so this release will be something like "1.0.0 (4.5.2.1047)"

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-10 06:29:26 -08:00
Dirk Hohndel
e9e453b009 Android build: pass in build nr
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-05 21:23:27 -08:00