Commit graph

368 commits

Author SHA1 Message Date
Dirk Hohndel
9b63b6d5e1 update parse-descriptor.pl
libdivecomputer is a submodule. Just hardcode the path to descriptor.c.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-07-15 11:22:10 -07:00
Dirk Hohndel
f0307abf50 Travis: move storage to a cheaper service
It's surprising how much money this ended up costing...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-05-19 14:14:37 -07:00
Dirk Hohndel
b68b42bd2f Travis: build macOS test against Qt 5.12.3
The .app.zip should once again run on any Mac (ignoring the security issue of
unsigned binaries). The Qt binaries in that archive include the jpeg and png
libraries that were missing in the Qt 5.11.1 binaries we used until now.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-05-19 14:14:37 -07:00
Salvador Cuñat
d0d599470a windows-container: remove useless tarball download
0.9 docker image includes static libraries to build mdbtools so there is
no need for an aditional tarball.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-05-18 14:43:16 -07:00
Salvador Cuñat
ec287d87f4 docker-mxe: Fix tee command line for static build
Add -a parameter to tee  to avoid overwriting build.log when building
static libraries for smtk2ssrf

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-05-18 14:43:16 -07:00
Salvador Cuñat
aab658fc9f docker-mxe: Make Dockerfile reusable
Passing an argument on the docker build command line avoids the need to
modify the Dockerfile for each image build.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-05-18 14:43:16 -07:00
Salvador Cuñat
967f9fb590 Build static glib under mxe
mdbtools only builds static under mxe.
This should add static build of glib to the container with the mxe
libraries.

[Dirk Hohndel: merged with latest version of Dockerfile]

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-05-18 14:43:16 -07:00
Dirk Hohndel
68592ebc62 Travis: use version 0.9 of the MXE build container
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-05-18 14:43:16 -07:00
Dirk Hohndel
d1750b3fb3 MXE Docker build: clean up Dockerfile
Instead of trying to do it all in one step rely on --squash to do its
job. Don't try to be so aggressive in removing things, it saves very
little space and caused builds to fail.

This results in version 0.9 of the MXE build container

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-05-18 14:43:16 -07:00
Dirk Hohndel
643f4a5726 Remove partial support for QWebEngine
Printing never worked, none of this was ever included in test builds. Also, now
that there are official releases of QtWebKit again, this just doesn't seem worth
carrying along anymore.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-03-20 08:45:02 -07:00
Dirk Hohndel
3d193c7fdb build-system: add script to build only libdivecomputer
This is used on LGTM (and initially got lost when I merged those changes).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-03-16 21:54:55 -07:00
Rolf Eike Beer
0fb66fc91f simplfy scripts
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-16 10:06:26 -07:00
Rolf Eike Beer
17211acc53 remove obsolete workaround for libdivecomputer includes of libusb
This has been fixed in revision b1d434f0ea9a2958613da9bed32ff3ff3318065e there.

Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
2019-03-09 09:51:55 -08:00
Lubomir I. Ivanov
a1ffe115cf facebook: remove the featute from the code base
Remove from:
- unit tests
- desktop widgets
- preferences
- core intergration
- cmakefiles
- build scripts
- icons
- docs

Also remove the plugins and social network integration.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2019-02-01 17:16:43 -08:00
Dirk Hohndel
f218768638 build system: Docker image creation
Just like Android, Windows binaries are best created in a container.
I still need to push the latest version to docker hub and use it on
Travis, but this way at least the Dockerfile is here.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-25 10:46:39 +13:00
Jan Mulder
9a26225558 Travis: OpenSUSE 42.3 / Qt5.6 build issue, use openssl and no libressl
... and remove install of the default (old) libgit2 from OS. That old
(0.24.0) libgit2 will be replaced by a newer anyway, so useless to
install.

But the real change to get this Travis build running again is using
the well known openssl instead of libressl.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-10 08:19:07 -08:00
Dirk Hohndel
c7e3e4146e Travis: OpenSUSE 42.3 / Qt5.6, add missing curl
The install was missing curl.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl> Removed upgrade to newer libgit2.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-10 08:19:07 -08:00
Jan Mulder
cfc22d0702 Build: build libgit2 from source when less than 0.26.0
We currently require a minimal version of libgit2 of 0.24.0. From
issue #1926 it seems that this version is too old. So, a simple test on
Linux to see the behaviour with such an old libgit2, I tried that.
Interestingly, with the current version of openssl that old libgit2
version does not even compile from source (known error in libgit2).

So, bump our minimal version of libgit2 to 0.26.0. That is also the
version we currently use on the Travis and official builds, so well
tested.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-10 08:19:07 -08:00
Dirk Hohndel
7923507e76 build system: try harder to checkout the right version
And actually fail a build if that doesn't work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-09 20:53:26 -08:00
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