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>
... 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>