Commit graph

399 commits

Author SHA1 Message Date
Jan Mulder
4b7b0f2dec Build: remove --skip-googlemaps build option
The scripts/build.sh script has an option --skip-googlemaps. Introduced
in 2017 at a moment the Travis Mac build failed on this. Interestingly,
when Mac building of the maps plugin was possible again (commit 79e3f69f48)
the --skip-googlemaps stayed. Obviously, this hack was never intended
to be used for anything else then getting it passed Travis on
some point in time for a specific Mac build.

So, remove this option.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-07 09:27:38 -08:00
Dirk Hohndel
bae683ad53 Travis: use 5.12.03 Docker image for Android
With this we have working arm and arm64 images (except that the arm64
image crashes when using Bluetooth).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
ad84a96fdb Android Dockerfile: add latest cmake 3.13.2
cmake 3.10 (which comes with Ubuntu 18.04) in combination with Qt 5.12
and the current qt-android-cmake causes an odd bug. Paths are set with a
double slash at the start '//' and later in the process this causes
garbled path names for some of the objects which in return causes the
APKs built in the container to fail.

Upgrading the cmake inside the container to 3.13.2 fixes that problem.

All the credit for identifying the problem and figuring out a solution
goes to Jan Mulder.

The resulting container was pushed to Docker hub as version to 5.12.03.

Reported-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Jan Mulder
63498df1bc Android Docker: give the docker build its own output tree
Again, this is relevant for developers that do local docker android
builds, and normal android builds. A normal build uses the directory
subsurface-mobile-build-arm(64), and when doing a docker android build
this directory is shared between host and container. That sharing is
good, as it nicely exposes the build tree to the host (for easy compare,
inspection, etc.). But reusing the same tree as the local one is
inconvenient (and possibly dangerous due to all kinds of caching
issues).

So, give the docker build its own output tree for the shared
subsurface-mobile-build-arm(64) build output.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-12-30 11:20:34 -08:00
Jan Mulder
1e1457318c Android Docker: give the android builder its own name
Users that use docker locally for Windows style build and Android style
builds will (probably) not like that we use the same name for both
docker containers. So, give the android builder its own name.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
6fb135eb46 Android: build both 32 and 64 bit binaries
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
ed32331640 Travis: find the Android apk in the right spot
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
bc23e37f01 Android Dockerfile: ugly hack to deal with current NDK compile problems
As explained in commit 449d4ee33d ("Android build: add explanation for
huge hack").

It seems reasonable to add this to our Travis image as that is custom
made just to build our Android binaries.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
7eaffcf6fe Android Dockerfile: add comments and try to shrink the image more
This image is downloaded on every Travis run. Making it smaller is important.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
40ff86ab75 Travis: build against the Qt 5.12 Android image
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
2d7ffd4eff Android: update for Qt 5.12.0
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
f11f4dc139 Travis: use Android docker image for build
This should make it easier to make changes to our build environment.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
b0e81ff978 Android: create docker container
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
54549b8a9b Android: add Dockerfile for build environment
We'll use that on Travis, but anyone can use that on their system.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-30 11:20:34 -08:00
Dirk Hohndel
7a0e26609b Travis: use homebrew addon instead of doing it manually
This should make our mac builds on Travis faster.

This also switches to the latest xcode / VM image which helps speed things up
(less to update for Homebrew). It turned out that that app directories that we
were creating here didn't run for people, anyway, so why even bother with an
old image.

We still create / upload that image (simply in order to be able to peek into it
in case something goes wrong).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-22 23:13:44 -08:00
Dirk Hohndel
094ab67d23 Travis: fix the windows-container build
Call apt update before trying to install things.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-12-11 19:06:20 -08:00
Miika Turkia
76a68f71a4 Support for copy-pasting specific fields on mobile
Initial implementation/prototype of copy-paste support for
Subsurface-mobile. The UI part is really lacking; right now the copy
button is initially visible and paste is achieved by long press on a
dive and clicking the paste button when it appears. Delete is currently
not possible at all, as I just failed to layout the buttons properly
using QML. It just sounds so simple, to put all the copy-paste-delete
buttons next to each other...

The data to be copied is currently hard-coded. A dialog to choose
inteded fields would be nice, but it'll take quite a bit effort to get
used to QML enough to be able to hack something together.

Anyway, this seems to work, even though the UI is not always reflecting
the paste without switching dives (when testing on laptop).

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-11-18 06:31:44 +08:00
Dirk Hohndel
15c7ee5db0 MXE: respect an MXE build type already defined
And use that to have our Travis build still work with the existing MXE
build container as well as the even older, pre-compiled MXE binaries
used in the windows build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-11-14 17:06:10 +08:00
Dirk Hohndel
651f63282f build-system: switch back to upstream qt-android-cmake
And in the process use our script to do the work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-27 10:38:39 -04:00
Salvador Cuñat
604d563a87 Fix after_success.sh for windows container build
Ooops. Forgot to fix this before sent the patches, as this part doesn't
works on my travis builds.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-10-15 06:35:14 -04:00
Salvador Cuñat
faca48f2b6 windows-container: enable smtk2ssrf building
Enable building of SmartTrak divelogs importer.
A new, lighter, tarball for mxe static libraries has been built, as it
seems impossible to build mdbtools with shared libraries (see mxe's
build matrix). The tarball doesn't include prebuilt mdbtools and we
build from source via build script.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-10-15 06:35:14 -04:00
Dirk Hohndel
7a1ceee4e7 Travis: build Subsurface-mobile against Qt57 as well
Simply adding another OS / environment on which we test building of
Subsurface-mobile

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-09 10:03:38 -07:00
Dirk Hohndel
4a0beab2a4 Travis: build Subsurface-mobile on macOS
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-09 10:03:38 -07:00
Murillo Bernardes
2b3dc46c86 macOS: check for system headers in SDK
Starting with Xcode 10, system headers are located inside the
macOS SDK.

Add this location to the check for command line tools.

Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-10-08 15:34:16 -07:00
Dirk Hohndel
9dac90c6bf Travis: don't upload the MXE Subsurface binaries
More specifically, don't upload them from the old Windows build - we
just keep that one around for the smtk2ssrf binaries. The Subsurface
binaries are now created in the container based Windows build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
c330659df6 Travis: build old style Windows without FTDI support
This way we can still get an smtk2ssrf build until that is added to the
windows-container target.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
450f654063 Travis: add Windows build in a container
I expect this to become the default way to test Windows builds and
create installers on Travis. The idea is that instead of downloading the
pre-built MXE binaries we might as well use a container that has all
this installed and can be used locally to test if things fail on Travis;
which will allow us to have the exact same environment for testing
locally as runs on Travis.

At this point the container used is way too big - more effort needs to
be spent on shrinking it.

Right now this only deals with Subsurface and not with smtk2ssrf.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
6b9e77ba01 build-system: minor cleanup of build.sh
That qmake -query was added for debugging a long time ago.

Since the comment clearly indicate that the edit of the Makefile is only
for Travis, let's only do it when running on Travis.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
5c2181daa7 build-system: remove support for local cloning in build.sh
It wasn't documented in the first place (magic first argument, anyone?).

This used to be available for quite a few of the dependency and had
somehow kept around only for Grantlee and Googlemaps. Let's just kill
this and be consistent for all dependencies.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
a83a2d8b1f build-system: add Grantlee to our get dependency script
I actually don't know why this was missing...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
1ac90199e5 build-system: fix libdivecomputer build on macOS
In some Mac environments autotools somehow think that we have clock_gettime(),
even though it isn't supported. Somehow the previous workaround stopped working
as make ended up re-running ../configure and overwriting our change. This tries
to work around that problem.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-03 16:35:25 +02:00
Jan Mulder
5681f686ba Revert "Revert "QML UI: newer Kirigami and fallout""
This reverts commit a5db03c2b3.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-10-01 05:29:46 -07:00
Dirk Hohndel
b80fd26e81 build-system: fix appdata creation
The pipe in the  execution apparently didn't fail, so the date wasn't set
when building from a tar file.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-29 12:09:11 -07:00
Dirk Hohndel
a5db03c2b3 Revert "QML UI: newer Kirigami and fallout"
Turns out that Jan found an issue with the latest Kirigami, so let's go back to
the known good one.

This reverts commit 17ec95e70c.

Suggested-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-28 14:53:22 -07:00
Dirk Hohndel
e99df4af2c Revert "build-system: fix kirigami.pri for iOS build"
Turns out that Jan found an issue with the latest Kirigami, so let's go back to
the known good one.

This reverts commit 40766db459.

Suggested-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-28 14:51:54 -07:00
Dirk Hohndel
40766db459 build-system: fix kirigami.pri for iOS build
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-27 10:44:37 -07:00
Jan Mulder
17ec95e70c QML UI: newer Kirigami and fallout
Update to the master of today, and no issues detected on mobile-on-desktop
and Android.

Only, the ugly border is back as the magic hack of 0b16b547ae failed
due to the patch file that errored. So that is fixed too.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-27 08:42:47 -07:00
Dirk Hohndel
83079c92df build-system: fix appdata creation on OBS
Build systems that run from tar balls and not git fail to create valid
.appdata.xml This solves the problem for tar balls that we create for
OBS via our own make-package script. It doesn't solve the problem for
Arch or Gentoo who I believe take our tar files created via git archive.
One way to fix this would be to change the process by which I create
those tar files, I guess.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-20 10:02:54 -07:00
Dirk Hohndel
26d8beb766 build-system: don't modify a file under git control
Instead of editing appdata/subsurface.appdata.xml in place, switch to our usual
pattern of modifying a .in file and add the resulting file to .gitignore.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-15 15:51:47 -07:00
Dirk Hohndel
d94f813623 Mac: hard code macosx-version-min as 10.11, regardless of available SDKs
This should never be wrong, and should avoid the warnings on Travis.

Fixes #1654

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-13 09:26:44 -07:00
Dirk Hohndel
dc68c3e7bd Travis: build export-html on Mac and Linux
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-09 19:52:14 -07:00
Alexander Wilms
bcf568586d Fix appdata
Use correct format, create script to update the version and release date in the
appdata.

[Dirk Hohndel: call said script during the build process]

Signed-off-by: Alexander Wilms <f.alexander.wilms@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-09 18:43:30 -07:00
Dirk Hohndel
dd633119bb Travis: use system libgit2 on OpenSUSE for Qt56 build
This is libgit2 0.24 which is new enough for our purposes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-05 21:43:58 -07:00
Dirk Hohndel
11993b59ca build-system: don't show spurious errors looking for qmake
And improve the message if we do indeed not find it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-05 21:43:58 -07:00
Dirk Hohndel
fde266860e Travis: fix qt56 builds
This seems very strange - but it appears that we are missing the 'which'
command.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-05 21:43:58 -07:00
Dirk Hohndel
4e1f806d02 Travis: show performance test results
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-31 06:33:46 -07:00
Dirk Hohndel
9083404981 Travis: put large test data in place for TestParsePerformance
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-31 06:33:46 -07:00
Dirk Hohndel
32a630ece3 Android: build latest libzip
Small hacks needed, but otherwise this seems to work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-05 15:08:19 -07:00
Dirk Hohndel
93983b7e4c Android: build libzip 1.1.3
Switching to GitHub as source for libzip means that we need to encode
the version number differently. Newer versions of libzip don't compile
cleanly on Android and this one seems new enough.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-04 14:32:16 -07:00
Dirk Hohndel
8df6789a9d build-system: update libzip to 1.5.1
This also switches us to libzip's new official home on GitHub, and takes into
account that libzip no longer supports autotools and instead now is cmake
based.

Building against that, on my Mac build system, Subsurface once again correctly
opens DLD files downloaded from divelogs.de.

Fixes #1534

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-04 12:23:47 -07:00
Dirk Hohndel
68b5fe9ccb Small edit of whitespace script
This makes sure we don't end up indenting macro invocations.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-26 16:32:51 +03:00
Berthold Stoeger
6b9380efb0 Fetch sqlite from https:// site
The http:// version is down an makes Travis fail.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-07-21 00:14:49 +03:00
Jocke
a56a7c51f6 Add comment to get-dep-lib.sh
Add a comment so we remember to change the version number in versions.sh also.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2018-07-12 07:58:08 -07:00
Dirk Hohndel
45c19fd11e Travis: add Qt 5.9 testing
This is done via Fedora 27 which seemed the easiest way to get a 5.9 based
distro.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-11 13:49:25 -07:00
Dirk Hohndel
8fa9eabb47 Travis: add Qt 5.7 testing
This is done via Fedora 26 which seemed the easiest way to get a 5.7 based
distro.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-11 13:49:25 -07:00
Dirk Hohndel
0a4dcd59b0 Travis: add Qt 5.6 testing
This is done via OpenSUSE Leap/42.3 which seemed the easiest way to
get a 5.6 based distro.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-10 19:41:43 -07:00
Dirk Hohndel
7ab9bf3ad7 Travis: build iOS against Qt 5.11.1
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-09 15:23:49 -07:00
Dirk Hohndel
066e01f66d Travis: build macOS against Qt 5.11.1
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-09 15:23:49 -07:00
Dirk Hohndel
e928c829d3 Travis: install from Homebrew instead of using a cache
Clearly something has changed here. When I first tried to use Homebrew on
Travis the update would take often so long that the build would time out. Now
it is nice and fast. So instead of wasting time with the cache let's just use
Homebrew directly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-09 15:23:49 -07:00
Dirk Hohndel
25b78d7379 build.sh: provide usage message and exit on unknown arg
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-09 15:23:49 -07:00
Dirk Hohndel
e15b41827c build-system: allow selection of Debug or Release build
So far we did a rather odd mix by default.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-09 15:23:49 -07:00
Dirk Hohndel
2de5b95acf build-system/macOS: don't get libgit2 from pkgconfig when building it ourselves
Doing that confuses the build setup and as a result the library isn't found at
runtime without some fixups.

Fixes #1469

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-07 11:32:43 -07:00
Dirk Hohndel
5c403edf79 build-system/macOS: fix up the id of libssh2 as well
For some reason we only tried to fix libgit2 but not the libssh2 that it depend
on. Weird.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-07 11:32:14 -07:00
Dirk Hohndel
c0a08b889e build-system/macOS: correctly test if we need to adjust the id of libgit2
The existing test was backwards and never worked.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-07 10:59:53 -07:00
Dirk Hohndel
d6b043cd37 build-system: tell Travis to wait longer for downloads
But simply ignore when building outside of Travis.
Of course since we are building Android in a container, we need to first pass
the environment variable to the container...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-03 14:24:18 -07:00
Dirk Hohndel
0661c74880 build-system: add travis_wait shell functions
These come originally from https://github.com/travis-ci/travis-build and are
available when running on Travis, but not when running inside a Docker
container on Travis as we do in order to build for Android.

The goal is to provide a quasi heart-beat on STDOUT during very long running
commands - without this the wget to download Qt often times out, so that's
where we are going to use this.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-07-03 14:24:18 -07:00
Dirk Hohndel
f61ac686fd tools: keep the log of translation extraction
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-25 20:21:13 +08:00
Anton Lundin
207c752396 build-system: Use the correct library name, libftdi1
The library name is actually libftdi1 , not libftdi.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-06-22 02:47:58 -07:00
Anton Lundin
1157ad3faf build-system: Use a list instead of string + regexp
There are actually more datatypes in bash than just strings. One can for
example hold a list of strings in a list, and use that to keep track of
what we're expected to do.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-06-22 02:47:58 -07:00
Anton Lundin
c4bf9e6d6e build-system: Don't fail if tarball is there but no dir
The previous code assumed everything was good to go if just the tar ball
was there, but if it wasn't unpacked, it all went sideways.

This makes it more robust and to actually handle that the tarball might
just be there.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-06-22 02:47:58 -07:00
Anton Lundin
5f4006ae4f build-system: Cleanup script with shellcheck
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-06-22 02:47:58 -07:00
Dirk Hohndel
fca06fd865 Travis: build mobile on Linux with newer gcc
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18 06:32:23 +09:00
Dirk Hohndel
0b16b547ae build-system: add another Kirigami hack
We want to be able to roll our own banner image, logo, title, and other
information in the GlobalDrawer - but Kirigami adds an ugly margin
around that. This attempts to remove that margin (but for some reason
there is still a margin on the left side).

This requires the patch command to be installed, but because of the
context sensitivity of the changes, I couldn't figure out how to do
this with sed or perl (which we already require).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18 06:32:23 +09:00
Dirk Hohndel
1501c8fbc7 QML UI: update to newer Kirigami
This seems equally stable to what we have and doesn't appear to
introduce any new breakage.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18 06:32:23 +09:00
Murillo Bernardes
c64f421006 build-system: use common code to download tarballs
Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-06-17 20:41:38 +09:00
Murillo Bernardes
7d92f5f811 build-system: avoid checkout when unneeded
Checkout only if current checked out version differs from
expected.

Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-06-17 08:25:59 +09:00
Murillo Bernardes
550b6f179f build-system: add function to checkout from git
git clone/checkout code was mostly the same copied over and over.

Move code to a single common function

Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-06-17 08:25:59 +09:00
Dirk Hohndel
085774d10c build-system: download libzip from our own server
The libzip.org server often times out and causes build failures.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-09 19:47:34 +02:00
jan Iversen
b18b10b467 build-system: added missing .git in get-dep-lib.sh
For unknown reasons cloning from github is slower to start if .git
is omitted.

Add .git to all "git clone" statements

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-25 07:39:08 -07:00
jan Iversen
b1b5028917 build-system: update get-dep-lib to not check double on iOS
Only mobilecomponents.sh download breeze-icons and kirigami.
This patch is merely to avoid confusion.

Before get-dep-lib in ios/download would download those, and
mobilecomponents would see that they were already downloaded.

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-25 07:39:08 -07:00
jan Iversen
ee86fecbbf build-system: integrate get-dep-lib in mobilecomponents
use get-dep-lib in mobilecomponents to do git clone of
kirigami and breeze-icons.

Remove -no-pull option

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-24 08:24:53 -07:00
jan Iversen
d18ede2cff build-system: get-dep-lib add support for kirigami and breeze-icons
mobilecomponents.sh do git clone of kirigami and breeze-icons.
should be centralized with get-dep-lib

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-24 08:24:53 -07:00
Dirk Hohndel
d8fa24dcd8 Travis: don't fail Linux build when .zsync is missing
It seems that sometimes the AppImage tooling gets confused and doesn't
create a .zsync file. That should cause Travis to fail.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-20 11:35:28 -07:00
jan Iversen
96079d7e6a build-system: libgit2 depends on libcurl and libssh2
When building with -builddeps on a "virgin" mac, configure
of libgit2 could not find libcurl and libssh2

moved building of libcurl and libssh2 in front of libgit2

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-20 08:12:10 -07:00
jan Iversen
aab33694f2 build-system: corrected -build-deps problem
Missed a "cd $SRC" so when building with
-build-deps the script broke

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-20 08:12:10 -07:00
Dirk Hohndel
dce7e46766 Mac: don't try to copy libraries we got from Homebrew
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 21:22:31 -07:00
Dirk Hohndel
d417d717b9 build-system: change the logic when to build what
Specifically, don't conflate needing libgit2 with the Mac -builddep
argument, and when determining if we need to build libgit2 on Linux,
make sure to also check for a version that we may have built in a
previous run of the build.sh script.

This commit is much easier to understand with
  git show -w
as it contains quite a bit of simple indentation change.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 21:22:31 -07:00
Dirk Hohndel
14d18276e4 Travis: add secondary Linux build target
The goal is to reduce the overall wall clock time of our test builds.

This secondary Linux target uses the no-sudo container setup with a Qt
5.10.1 backport and tests the build without BT support as well as the
mobile build (but not the full desktop build and doesn't create an
AppImage as the pre-built Qt5.10.1 is missing QtWebKit).

In exchange we remove the no-bt and mobile build from the existing linux
target.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 21:21:46 -07:00
Dirk Hohndel
6a91611e90 build-system: updated OpenSSL and libusb for Android
These are the latest, supported versions for OpenSSL. I have not tested
if Android would work with OpenSSL 1.1.

The lower versio for libzip is still required as libzip 1.2.0 doesn't
compile for Android.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 14:15:11 -07:00
jan Iversen
8e2aaa4242 build-system: update get-dep-lib with Android fix.
Android build uses wget and not curl.

Currently android uses older versions of some libs, due to that
a new switch is added temporary.

Old version tested for curl and if not found set the different versions,
however this is not a stable method for obvious reasons

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-18 16:58:16 -07:00
jan Iversen
1a86c17e28 build-system: changed build.sh to use get-dep-lib
get-dep-lib has been integrated into build.sh, which
ensures different platforms use the same versions etc.

travis is a frequent user of build.sh, but on a mac it runs
without -build-deps and instead used cached versions of the
library. This setup is alo supported

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-17 11:16:50 -07:00
jan Iversen
1ed8c87d63 build-system: enhanced get-dep-lib with "single"
Added the posibility to fetch a single third lib.

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-17 11:16:50 -07:00
jan Iversen
6d3637fce0 build-system: made get-dep-lib faster and more robust.
Secured git work only happens when cloning a dir.

There is a version for hidapi, but scripts/build.sh
(which are the source for that part of depend) has a
line:
	# there is no good tag, so just build master
and then continues with master, so it should be good
enough for get-dep-lib as well.

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-17 11:16:50 -07:00
Anton Lundin
b55c5d55e6 android-build: Build on ubuntu bionic on travis
This way we ensure we can build on the latest LTS, and not just a old
lts.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-05-17 07:36:44 -07:00
Anton Lundin
75205240df android-build: Stop installing ant, we're using grade
Since about a year ago qt-android-cmake shifted to using gradle instead
of ant, and the android sdk's stopped supporting ant to.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-05-17 07:36:44 -07:00
Murillo Bernardes
d2d2e3af3d mobile: prevent Action buttons hijack after delete
This gets delete dive working properly.

Kirigami passive notification ends up hijacking area where the
"Add dive" or "Delete" or "Discard" buttons are shown. So after
deleting a dive the "Undo" button from the notification
keeps handling the touch events even when not visible.

Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-05-13 07:03:15 -07:00
Cristian Ionescu-Idbohrn
aa96aa3ac3 Simplier way to get QT_VERSION
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-05-12 19:45:28 +03:00
Dirk Hohndel
387aee4cdf Mac: update build.sh to hack around autotools problem
For reasons I cannot explain, running configure for libdivecomputer claims that
certain feature tests pass, even though those features demonstrably aren't
there. This is happening for two compiler warning flags (-Wrestrict &
-Wno-unused-but-set-variable) as well as the test for clock_gettime.

To work around this, we manually edit the config.h file and the created
Makefile before building libdivecomputer.

This happened on macOS 10.11.6 with clang-800.0.42.1 (part of Xcode 8.2.1).

Tangentially related to:
See #1263

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-11 21:08:41 -07:00
jan Iversen
2408134014 Add script to download/clone 3rd party libs
Using one script instead of having the downloads in all build.sh ensures
consistency and lowers maintenance.

Note: this script is not intented to be run directly, it is intented to be
integrated in the various build.sh

Signed-off-by: Jan Iversen <jani@apache.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-11 10:44:55 -07:00
Dirk Hohndel
c67fe97ba1 Travis: remove flag for iOS that is no longer necessary
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-10 20:41:58 -07:00