Commit graph

307 commits

Author SHA1 Message Date
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