Commit graph

407 commits

Author SHA1 Message Date
Dirk Hohndel
9f1fde4794 Travis: don't edit Release info if this is a PR
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-17 12:21:13 -08:00
Anton Lundin
063aadd166 android: Add android build on travis-ci
This adds a android-apk-build which runs on travis-ci. This is using a
quite ugly trick, building in a docker container, basically just to get
a newer cmake. The cmake in trusty is way to old to work with android
builds.

A good side-effect is that this is a complete copy-paste for anyone who
would like to build android-binaries them self on Linux. All the
uglyness is hidden away in a docker container.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-11-16 10:23:00 -08:00
Dirk Hohndel
f02388d6b7 Travis: test more variations of the build
On Linux we want to test both desktop and mobile, and both the full
feature set as well as a build without BT and without WebKit.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 22:18:10 -08:00
Dirk Hohndel
d4f6773b27 Travis: use the correct version in release announcement
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 21:56:31 -08:00
Dirk Hohndel
533098980a Travis: update the release message to mention Mac
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 21:41:42 -08:00
Dirk Hohndel
9c3a45af95 Travis: add Mac build
This adds a -skip-googlemaps option to the build script since for some
reason trying to build the googlemaps plugin in the Travis mac
environment causes an error with a missing stack-protector-strong
feature.

The build relies on a custom build Qt and a cached homebrew environment.
And the result is of course not a DMG with a signed app but a zip file
with an unsigned app - so it's a bit harder to consume.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 21:39:15 -08:00
Dirk Hohndel
65e65272ce Travis: set better release message
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 08:34:45 -08:00
Dirk Hohndel
de3d6b5327 Travis: make AppImages follow our naming pattern
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 08:34:45 -08:00
Lubomir I. Ivanov
8adcc82656 MXE: reword echo text about uploading
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-13 20:43:35 -08:00
Lubomir I. Ivanov
7552690afa MXE: experiment with creating a RelWithDebInfo build
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-13 20:43:35 -08:00
Dirk Hohndel
4d04f74312 Travis: also build an MXE/Windows installer
In the process, simplify our dependency a bit by no longer building
against libssh2 (we don't support ssh based authentication for git
on Windows) and libcurl (since it's proxy implementation doesn't appear
to actually work on Windows, anyway).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-11 17:48:57 -08:00
Dirk Hohndel
8da57b59f1 Travis: don't do a redundant upload to transfer.sh
uploadtool already takes care of that.

Reported-by: Simon Peter <probono@puredarwin.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-11 14:00:25 -08:00
Dirk Hohndel
35c5016777 Travis AppImage: don't delete the copyright info
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-11 08:12:54 -08:00
Dirk Hohndel
db64ec0af0 Travis: make sure git describe can work
Travis only fetches the last 50 commits - which means that git describe
will usually fail and our version numbers would end up being wrong.
So let's fetch the whole repo and the tags as well to make sure that
git describe works as expected by our tools.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-10 22:45:52 -08:00
Dirk Hohndel
07b773ff58 Travis AppImage: remove more files that aren't needed
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-10 22:24:03 -08:00
Dirk Hohndel
687d98e6a7 Travis: stop wget verbose output from flooding log
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-10 22:07:36 -08:00
Simon Peter
29350ceecd Travis: remove linuxdeployqt workaround
Do not move around .so* files in order for linuxdeployqt to pick them up.

Signed-off-by: Simon Peter <probono@puredarwin.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-10 10:55:01 -08:00
Dirk Hohndel
6dd6764b6b Travis: find googlemaps plugin at the new spot
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-10 10:55:01 -08:00
Dirk Hohndel
bee160a9e2 Travis: work around the way build.sh looks for private headers
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
b425d5641d Travis: use our own Qt binaries for AppImage build
This is no longer based on the upstream Qt binaries but completely on
binaries built by ourselves, trying to remove some of the features that
we don't need and trying to avoid some of the issues with certain
libraries (like different OpenSSL dependencies).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
01cea42705 Travis: move deployment into script
And no longer use the Travis deploy mechanism - uploadtool does it all.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
35d5d7c8c7 Travis: move the before_install step into a script
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
96a3dd0001 Travis: start restructuring the build process
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-09 16:21:46 -08:00
Dirk Hohndel
087900b643 Only considered annotated/signed tags for version
This works around confusion with the 'continuous' tag that we now use
for the CI AppImage builds.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-06 13:45:00 -08:00
Dirk Hohndel
8c98386732 build.sh: fix typo that caused us to build Grantlee tests
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 15:50:11 -08:00
Dirk Hohndel
6ce4239884 build.sh: add option to create appdir
This makes it easier to create an AppImage from the build artifacts.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 13:16:23 -08:00
Dirk Hohndel
138f0255f8 build.sh: always install Subsurface
We had not done this on Linux as it was just as easy to run from the build
environment, but we need to install in order to be able to create an AppImage
on Travis.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 13:15:53 -08:00
Stefan Fuchs
76286c4ece Rename README to README.md in some scripts, makefiles,...
Was needed after the file itself was renamed.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-11-04 10:55:11 -07:00
Robert C. Helling
43b1a73022 Check arguments of translation strings
Make sure the arguments of placeholders agree

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-10-29 11:01:56 -07:00
Salvador Cuñat
15028fd299 smtk2ssrf-build.sh: add building command line mode
Add a flag to build with -DCOMMANDLINE=ON
2017-10-29 17:08:36 +01:00
Salvador Cuñat
d7d8434f4e sntk2ssrf-build.sh: minor fixes
- Reverse warning question logic.
- Remove marble related cmake flag.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-10-29 17:08:36 +01:00
Salvador Cuñat
1a0ea6cc97 smtk2ssrf-build.sh: Add warning and some style fixes
Add a warning about overriding subsurface binary and make some scripting
style changes.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-10-29 17:08:36 +01:00
Salvador Cuñat
c6d85838b5 smtk2ssrf-build.sh: Build a stripped version of subsurface
Till now we have been building against a previous built of subsurface.
This was handy and fast, but there is a huge drawback in this approach
because we were including a lot of unneeded dependencies (e.g. marble
or serial-ftdi), some of which are, indeed, optional.

With this patch, a stripped down version of susbsurface is built and
used to link in smtk2ssrf.

The bad news are that this - almost unusable - version of subsurface
overrides any preexisting binary, so the user has to rebuild.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-10-29 17:08:36 +01:00
Jan Mulder
bdf6dc7828 Kirigami: newer SHA
Switch to a newer SHA, so that at least my commit is in. Checked
the newer version, and no other artefacts seen. I think we
should try to follow master where we can (but controlled).

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-28 09:05:16 +02:00
Dirk Hohndel
ea577aa8f2 Fix stupid syntax errors
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-16 05:27:30 -04:00
Dirk Hohndel
972a4730c3 build.sh: add option for force BT support off
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-15 21:49:50 -04:00
Dirk Hohndel
8f6827ab12 Update known-good Kirigami SHA
This way we get the kirigami.pri fix for the iOS build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-15 21:36:06 -04:00
Dirk Hohndel
7f09a55c78 QML UI: pin known good Kirigami version
Following master is just not healthy. We need to be more deliberate
in which version we built against. An update in the last 24 hours
broke Subsurface-mobile again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-11 10:48:08 -07:00
Dirk Hohndel
6578588ad9 QML UI: add missing icon
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-09 22:01:12 -07:00
Dirk Hohndel
8e295db70e Revert "QML UIL: go back to older Kirigami"
This reverts commit 893ff019dbabf356a477da0bdf7d954123759018.

Thanks to the amazing support from Marco Martin the theming issue in
Kirigami master has been fixed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-06 23:22:12 -07:00
Dirk Hohndel
49101b9f04 QML UIL: go back to older Kirigami
This brings back correct theming.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-05 22:25:42 -07:00
Dirk Hohndel
f7f31c55cb QML UI: hide all buttons when keyboard is visible
This extends the hack in commit 2e057bc29a ("QML UI: hide action button
when keyboard is visible") to the left and right button as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-04 17:08:58 -07:00
Dirk Hohndel
d774b6cc49 Switch back to latest Kirigami
And fix the build issue.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-04 09:05:27 -07:00
Dirk Hohndel
53c1c3f26b current Kirigami master fails to build
Go back to v2.2.0.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-03 14:40:08 -07:00
Stefan Fuchs
dc0f011920 Correct incorrect variable qt_version instead of QT_VERSION in build.sh
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-09-16 08:36:30 -07:00
Lubomir I. Ivanov
2b40e15713 remove Marble from packaging and build scripts
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>

---
please note, that i have no way to test most of the scripts ATM.
2017-09-04 07:46:35 -07:00
Dirk Hohndel
c465ec586c On Fedora, qmake is qmake-qt5
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 15:12:43 -07:00
Dirk Hohndel
d3340fe9ae build.sh: make Qt private headers available if missing
This is based on a script that Lubomir worked on and sent to the mailing
list.

Suggested-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 11:51:53 -07:00
Dirk Hohndel
8cd4c73217 build.sh: find qmake earlier in the script
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 11:49:39 -07:00
Dirk Hohndel
dd9e5bb96f build.sh: qmake should pick up our INSTALL_ROOT
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-03 16:50:53 -07:00
Dirk Hohndel
1e62120534 build.sh: remove unsupported compiler options for googlemaps
Trusty (Travis) doesn't support -std=c++1z and -Wdate-time - and the
module doesn't need them.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-03 11:19:49 -07:00
Dirk Hohndel
4e2cada878 build.sh: clone from https
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-03 06:41:30 -07:00
Dirk Hohndel
f57f10eb8c build.sh: follow our build pattern a bit more
Build in a 'build' subdirectory and use the INSTALL_ROOT. Also make sure
you find qmake on custom Qt installations.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-02 19:05:16 -07:00
Lubomir I. Ivanov
ca37301cb5 build.sh: build the google maps geoservices plugin
The source code is pulled from the forked repository at:
git@github.com:Subsurface-divelog/googlemaps.git

It's rebased if needed, build using 'make -j4' and then
installed.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-08-02 23:38:52 +03:00
Joakim Bygdell
2e057bc29a QML UI: hide action button when keyboard is visible
Until we get some solution from upstream this patch to Kirigami hides the action button when the keyboard is visible.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2017-08-01 13:40:17 -07:00
Dirk Hohndel
2ca8d664d7 build.sh: add quotes to if clause
Otherwise this will cause error when the variable is undefined.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 07:55:25 -07:00
Dirk Hohndel
a1a833392d build.sh: don't build with WebKit unless explicitly requested
Even if WebKit may exist on Linux, by default we no longer should build against
it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 07:55:25 -07:00
Dirk Hohndel
8a35794632 build.sh: redo command line parsing
And in the process make NOT building against Marble the default.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-28 22:03:22 -07:00
Dirk Hohndel
c7e284369a Merge branch 'MobileUI' of git://github.com/jbygdell/subsurface 2017-07-17 07:39:48 -07:00
Dirk Hohndel
dd1bdd3f81 build.sh: don't fail if we can't find libusb or hidapi
Also remove a left behind debug printout.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 21:59:31 -07:00
Dirk Hohndel
20f5609a6c Mac build: correctly deal with no printing
Including working around a weird hack to install the Grantlee
plugins.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 21:51:42 -07:00
Dirk Hohndel
a629eb7070 Mac build: move Qt detection to outside level
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 21:41:47 -07:00
Dirk Hohndel
8c31a1705c Mac build: newer Qt comes without WebKit
Allow turning it on for those who have it, but by default
build without it on Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 21:39:54 -07:00
Dirk Hohndel
d943a843e5 Mac build: deal with libdivecomputer and pkg-config
libdivecomputer asks pkg-config for the include paths for libusb-1.0 and
hidapi, but then uses #include <libusb-1.0/libusb.h> and <hidapi/hidapi.h>
which fails as those directories are part of the include path. So we
manually add include paths without that last directory as well as a work
around.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 14:18:33 -07:00
Dirk Hohndel
5656509f61 Mac build: deal with SDK location and availability
I really want to build against 10.10 so as many people as
possible can use the binaries I create, but regular users
might not have the older SDKs installed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 10:39:44 -07:00
Joakim Bygdell
9f3a565601 QML UI: Add right handle icon
This adds the right handle icon that is needed for the swipe list items not to report an error when activated.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2017-07-14 15:41:04 +02:00
Dirk Hohndel
52d5172a70 Automate picking supported DCs on iOS and Android
We use a little script to create the code snippet. This script in return
relies on comments that were added to the latest libdivecomputer source
(in the Subsurface-branch).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-08 16:06:12 -07:00
Dirk Hohndel
b1f4a2975f QML UI: better icon for download from dive computer
Thanks to Davide for paying for professional icon design.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-08 10:29:10 -07:00
Dirk Hohndel
bd18b6b88f build.sh: add option to build all dependencies
Using the Homebrew dependencies is much easier and faster, but then
we run into the problem that Homebrew always builds against your current
OSX version. This instead allows us to build the dependencies ourselves
and set the SDK / minimum OSX version. This is mainly important for
binaries that we want to distribute.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-04 01:45:55 +09:00
Dirk Hohndel
acee6f4bec build.sh: build against older SDK / minimum OSX version
On Mac we want to make sure that we don't only run on the OS that
we were built on, but all the way back to 10.10 (that's the oldest
that Qt supports).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-04 01:45:55 +09:00
Dirk Hohndel
36d462e0f9 build.sh: don't override existing CMAKE_PREFIX_PATH
If we already explicitly point at one Qt installation, don't override
with another one.

Also, support all the way up to Qt 5.9.1

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-04 01:45:55 +09:00
Dirk Hohndel
b459ccbff7 QML UI: DiveList: make download from DC main action
Now that we support this for many dive computers, that seem reasonable.
I'm not happy with the icon, but couldn't figure out a better one in the
breeze icon set.

See #426

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-27 22:18:26 -07:00
Dirk Hohndel
f091b8b705 Fix Travis breakage (and overall breakage)
I can't believe this slipped through my review. How embarrassing.

Credit goes to Anton Lundin for spotting this.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-26 12:39:00 -07:00
Linus Torvalds
196adb591b Very early and likely quite broken BLE GATT code
This is some very early and hacky code to be able to access BLE-enabled
dive computers that use the GATT protocol to send packets back and forth
(which seems to be pretty much all of them: a vendor-specific GATT
service with a write characteristic and a notification characteristic
for reading).

For testing only.  But it does successfully let me download dives from
my EON Steel and my Scubapro G2.

NOTE! There are several very hacky pieces in here, including just
"knowing" that the write characteristic is the first one, and the
notification characteristic is second.  The code should actually check
the properties rather than have those kinds of hardcoded assumptions.

It also checks "vendor specific" by looking at the UUID string
representation, and knowing that the standard ones start with zero.
Crazily, there doesn't seem to be any normal way to test for this,
although I guess that maybe the uuid.minimumSize() function could be
used.

There are other nasty corners. Don't complain, send me patches.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-24 21:58:01 -07:00
Dirk Hohndel
001ff1b904 QML UI: switch to Kirigami master
That way we'll get access to the colored Action Button.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-22 09:05:43 -07:00
Dirk Hohndel
b1f7e3eae2 QML UI: add missing go-up icon
Now the 'Reachability' feature should be more obvious.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-22 09:05:43 -07:00
Robert C. Helling
6963b52d96 Let command line version not open an X window
So we can run it on a headless system

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-06-11 13:50:30 -07:00
Salvador Cuñat
3f4f2455d3 smtk-import: Add build script for smtk2ssrf
Add a bash script to build the linux version of smtk2ssrf tool.
It works mostly like build.sh, but have some flags avaliable.
2017-06-11 13:50:30 -07:00
Thiago Macieira
6bfb1f5200 Adapt build.sh if qmake is already in PATH on a Mac
Some people (like me) have Qt elsewhere. So long as qmake is in PATH,
we should be able to support it.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-20 12:20:48 -07:00
Dirk Hohndel
499a792a03 QML UI: use Kirigami 2.1
In order to avoid surprises with things suddenly breaking, check out
the release tag of Kirigami 2.1 for now. We still need to track what's
happening in Kirigami, but this was Marco's advise as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-03 07:55:43 -07:00
Dirk Hohndel
15c20a3c72 Update supported dive computers
I clearly forgot to do that prior to the last release - and of course
we needed to add special handling for Seabaer. And to make it more
obvious that the files themselves shouldn't be edited, let's add some
comment to that extend to the two files as well.

Closes #375

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-03 07:10:22 -07:00
Dirk Hohndel
a321b02d9f Add -nopush option to translation script
This way I can easily see if there are new strings - without causing an
unnecessary push to Transifex.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-22 11:09:16 -07:00
Stefan Fuchs
d82f8cbd3f Change protocoll for any git clone from Github to https
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-04-16 07:41:24 -07:00
Stefan Fuchs
d6f2658268 Change git clone remote for grantlee to Github steveire/grantlee
Change source for grantlee in build.sh to Github steveire/grantlee

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-04-16 07:41:24 -07:00
Stefan Fuchs
d661189b54 Change remotes for git clone for libdc, marble and Subsurface to Github
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-04-16 07:41:24 -07:00
Dirk Hohndel
5f9ca5f2ec Add Qt 5.7 and 5.8 for Darwin in build script
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-12 20:24:24 -07:00
Jan Mulder
fd40a29ec8 Use libdc from github now
The build script was cloning the Sursurface branch of libdivecomputer from the "old"
location. Use the new github based location from now on.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-04-12 17:50:44 -07:00
Marco Martin
751626eec5 QML UI: Fully port dive edit to Kirigami2
Completely adapt to the api changes of OverlaySheet in Kirigami2
in order to achieve the same look and behavior for the dive
edits that had with kirigami1

Port most components to QtQuickContrls2, except comboboxes
in the dive edit sheet that will need a new control type

Signed-off-by: Marco Martin <notmart@gmail.com>
2017-04-01 09:35:51 +02:00
Dirk Hohndel
9f470046ba Add hacky script to push translation source
This at least duplicates the numerusform lines.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-11 10:59:26 -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
31471b12c0 QML UI: don't use Kirigami 2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 14:38:13 -08:00
Dirk Hohndel
a69852e56d Add wrapper script to set up Android build
This then runs the script under packaging/android.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 14:27:49 -08:00
Dirk Hohndel
73641c4e73 build.sh: if new enough libgit2 is installed, use it
Right now this is only designed for Linux where current distros all should have
a new enough libgit2 (and our instructions tell people to install this with
system tools, so we should also use it).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-16 17:00:55 -08:00
Dirk Hohndel
c749498beb build.sh: fix potential autoreconf problem
It appears that sometimes autoreconf will not install ltmain.sh and
subsequently fail; simply running autoreconf again appears to be a
workaround.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-16 10:12:20 -08:00
Dirk Hohndel
cc8ee5ab96 Avoid duplicate entries when parsing libdivecomputer descriptors
This just fixes the tool used for the next commit.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-14 19:23:04 -08:00
Dirk Hohndel
dc438c5736 Kirigami integration: create missing link
This (plus an update to kirigami.pri, a patch for which I just sent
to the plasma-devel list) allows the iOS version of Subsurface-mobile
to build again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-02 13:00:18 -08:00
Dirk Hohndel
843482ac8b build.sh: use a more current version of libgit2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-01 14:23:49 +02:00
Dirk Hohndel
ce959fb757 build.sh: fix typo
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27 15:43:14 -08:00
Dirk Hohndel
083b7e83ae build.sh: Don't even clone marble if we don't build against it
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27 01:46:54 -08:00
Robert C. Helling
434c27525a Document the heat map in the manual.
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-27 21:32: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
Anton Lundin
11df8d9a90 scripts: Don't build marble for mobile
When only building the mobile version, we don't need to build marble.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:44:31 -07:00
Anton Lundin
04d8d7cb13 scripts: run all scripts with -e
Run all scripts with -e so they exit as soon as something breaks. That
way the build stops at the first error, not some other error.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:44:31 -07:00
Dirk Hohndel
a62e225e03 Hack to work around build issues with current kirigami
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 10:22:16 -07:00
Dirk Hohndel
af282a6061 Don't build kirigami in the source tree
Instead build it in its own build tree, where it belongs.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 09:35:12 -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
Dirk Hohndel
92e06007cc QML UI: update for latest Kirigami
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-12 07:31:53 -07:00
Robert C. Helling
70e3ec9e90 A script to find literal texts to be marked for translation in qml
in perl...

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-03 12:58:55 -07:00
Dirk Hohndel
7be962bfc2 Move subsurface-core to core and qt-mobile to mobile-widgets
Having subsurface-core as a directory name really messes with
autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an
autocomplete conflict and also was inconsistent with the desktop-widget
name for the directory containing the "other" UI.

And while cleaning up the resulting change in the path name for include
files, I decided to clean up those even more to make them consistent
overall.

This could have been handled in more commits, but since this requires a
make clean before the build, it seemed more sensible to do it all in one.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-04 22:33:58 -07:00
Dirk Hohndel
7d62ce5295 QML UI: add an "add" icon
Again, proudly borrowing from the breeze icon set.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 22:31:23 -05:00
Dirk Hohndel
f19ffb28c6 Minor tweak to script to pull Kirigami
This just allows the script to be used when you are working locally on
Kirigami to test changes - no point in waiting for a pull from upstream
then. The only goal is to copy the files over.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 20:13:33 -05:00
Dirk Hohndel
fba14709bc Disable kirigami plugin when copying the components
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-01 16:40:07 -05:00
Dirk Hohndel
2efa047999 Merge branch 'kirigamiPort' of https://github.com/sebasje/subsurface into mergeKirigamiPort
This merge was a bit more challenging given how far things had diverged,
but I hope I got it mostly right.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-31 22:36:15 -05:00
Dirk Hohndel
2069526e74 Update script to pull Kirigami
Now with it's own repository and slightly different paths.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-31 18:43:58 -05:00
Jeroen Massar
cfd3d8868b Verify that the Xcode Command Line Tools are installed
Otherwise /usr/include does not exist on a clean-ish install

Signed-off-by: Jeroen Massar <jeroen@massar.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16 09:00:50 -07:00
Jeroen Massar
0ddfd3a992 Detect Homebrew Qt5
And preserve that path in CMAKE_PREFIX_PATH and pass it along to cmake

Signed-off-by: Jeroen Massar <jeroen@massar.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16 09:00:31 -07:00
Robert C. Helling
3c7e14a18f Don't build libdivecomputer examples
... as those don't compile.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16 07:46:28 -07:00
Robert C. Helling
49bcbf39d5 Replace ~ by $HOME in build.sh
Somehow the file test with ~ interpolation does not work

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16 07:46:28 -07:00
Marco Martin
2480f21e5b correctly build on android 2016-03-10 14:40:19 +01:00
Dirk Hohndel
2b1812f2cb Build scripts: work with both Qt 5.5 and 5.6
This is all a bit hackish but seems to work

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-03 14:34:03 -08:00
Jan Mulder
e80284fcfc Simplify building of Android build from one source tree
Currently, when running the packaging/android/build.sh from a source
tree that has been used for desktop builds, libdivecomputer wants a
make distclean. This is inconvinient, and is caused by building
libdivecomputer in source. Now, configure and build libdivecomputer
in a new subdirectory, allowing to run the android build script
from the same source tree as the desktop (both desktop and mobile)
builds.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-02-02 09:28:47 -08:00
Dirk Hohndel
60115821a5 build.sh: fix logic when to build grantlee
Grmbl. SUBSURFACE_EXECUTABLE now doesn't get set until later in the
script. So let's just trigger this explicitly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-22 10:15:51 -08:00
Dirk Hohndel
040d3cd413 build.sh: fix broken logic to pull mobile components
In commit f28f03afe2 ("build.sh: make it easier to build
Subsurface-mobile") I mistakenly broke the logic that decides to run the
mobilecomponents.sh script.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-18 11:20:05 -08:00
Dirk Hohndel
f28f03afe2 build.sh: make it easier to build Subsurface-mobile
The script now takes a -mobile argument, or -both and then builds the
mobile version or both versions. To make things more consistent across
different invocations the desktop version is built in the "build"
directory and the mobile version is built in "build-mobile".

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-17 10:44:00 -08:00
Willem Ferguson
69eeb2bf5b Make default build for desktop.
Make the default build a DesktopExecutable, with an option to set a variable for doing a mobile build.

Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-17 08:42:14 -08:00
Sebastian Kügler
6540e95425 dive details navigation
This patch reworks the navigation of the dive details.

- The detailsview is now a list view with page-sized delegates. This
  allows horizontal swiping to the next and previous dive.
- The central button now allows to open the edit mode for the dive.

Original patch was done by Marco Martin, but needed to be reapplied by
hand.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
2016-01-12 03:06:09 +01:00
Dirk Hohndel
038cfcba91 QML UI: add second action to GPS list entries
This one will allow people to see the location on a map. Also not implemented,
yet.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-08 23:17:48 -08:00
Dirk Hohndel
f61b83301a QML UI: better icon for delete
The cancel picture was odd - the trash can is much more typical.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-08 23:16:19 -08:00
Dirk Hohndel
b34a507d51 QML UI: support sliding action to allow the user to delete GPS fixes
This is just the UI, the actual deletion is not yet implemented.

I really like this interaction with the list items. Slide them to the left and
you see icons for actions. Right now we have just one and that may seem like
overkill (hey, we could just have the delete icon instead of the application
menu icon, right?) but once we allow the ability to show the GPS location on a
map we'll have two operations and this will make more sense.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-08 21:48:53 -08:00
Dirk Hohndel
7c459f87cd Consolidate scripts
Since commit c496d5fa05 ("Add helper script to pull Plasma Mobile Components
and icons") we had three different spots where we retrieved the Plasma Mobile
Components. That's a wee bit of overkill. So instead have the other two scripts
just call this one.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-08 21:46:44 -08:00
Dirk Hohndel
c496d5fa05 Add helper script to pull Plasma Mobile Components and icons
Normally this is done in the build.sh script when building
Subsurface-mobile - but some people might have set up their build
enviroment differently and for them this allows to pull (and update) these
components from upstream without having to run build.sh

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-08 09:55:32 -08:00
Dirk Hohndel
0d9b22cf94 build.sh: don't build Grantlee for Subsurface-mobile
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-07 21:30:51 -08:00
Dirk Hohndel
bb687f7f8b Remove plasma mobile components, pull from upstream at build time
This prevents us from constantly having to worry about keeping them in sync.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-07 10:22:20 -08:00
Dirk Hohndel
7aab635585 Remove support for older libgit2 - we now require 0.23 or later
Also fixes a capitalization error that prevented finding libssh2 in some
circumstances. And adds a missing include when building with libzip on Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-15 13:33:00 -08:00
Dirk Hohndel
e714263e8a build.sh: don't build libssh2 anymore on Mac
I don't recall why this was needed, but things seem to work fine with the one
avaialable via Homebrew

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-09 15:19:47 -08:00
Robert C. Helling
facaa3e0cd CGI script wrapper for smtk2ssrf.pl
This script should go to the cgi-bin directory of the webserver to proivide
conversion of SmarTrack files as a web service. Paths need to be adopted
and more html to make it more beautiful should be added.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-24 09:20:24 -08:00
K. \"pestophagous\" Heller
5902a1aace Add perl function indent_ctor_init_lists to whitespace.pl
whitespace.pl can now do a better job (although surely
still not 100% perfect job) of formatting constructor
member initialization lists according to the rules
described in the current CodingStyle file.

Signed-off-by: K. Heller <pestophagous@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-19 07:37:35 -07:00
Robert C. Helling
16a36a117d A perl script to check format strings in translations
This script can be called on translations files, e.g.

> scripts/checktranslation.pl translations/*ts

and will report if the number of % signs in source and translation
differ.

It finds quite a few issues that need to be investigated.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-18 17:37:49 -07:00
Dirk Hohndel
1cada7847e Build script: make sure we find the cmake files for our libraries
This way cmake should pick the right libraries that we built earlier in the
process.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-06 07:53:18 -07:00
Dirk Hohndel
6917d021fb Fix perl warning in whitespce.pl
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-05 10:24:04 -07:00
Dirk Hohndel
73f2cc631c Build script: small updates around installation on Linux
Don't install by default (and don't configure Subsurface to install into
install-root).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-02 18:35:40 -07:00
Dirk Hohndel
84c8213e14 Fix build script
A git pull seems to cause things to go wrong. Just fetching the repository
and checking out the version that we want seems to work better.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27 13:28:25 -07:00
Dirk Hohndel
80e7213582 Update INSTALL and build.sh
They now reference the Subsurface-branch branches of Marble and
libdivecomputer and v0.23.1 of libgit2.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-26 11:44:56 -07:00
Dirk Hohndel
128493ae8a Build script: fix install_name for libssrfmarblewidget on Mac
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-16 17:39:25 -07:00
Dirk Hohndel
530c3a388b Build script: make sure cmake finds Qt on Mac
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-16 16:56:56 -07:00
Dirk Hohndel
0a67f7cc95 Build script: make sure we find any library that we installed
Somehow libssh2 wasn't found on Mac builds - this makes sure we always add
the $INSTALL_ROOT/lib as library path.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-16 12:35:25 -07:00
Henrik Brautaset Aronsen
2847fb4af5 Use git pull with rebase in build script
Without rebase, the build script would stop because it
couldn't complete a merge.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Dirk Hohndel
4fc4bbd9bc Build script: use mirror on our git server
gitorious is going away and the project doesn't appear to have migrated
anywhere, yet.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-07 12:45:59 -07:00
Dirk Hohndel
e60e133e76 Build script: switch to working URL for grantlee
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-09 16:09:30 -07:00
Dirk Hohndel
218ad95d7d Build script: fix several bugs
With this I can now successfully run this on Mac and Arch Linux, both running
"fresh" and running in an existing build directory (i.e., getting the updates
right).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04 13:52:13 -07:00
Dirk Hohndel
d9606022b4 Build script: Integrate Grantlee & build Subsurface with printing
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04 11:53:31 -07:00
Dirk Hohndel
a798bb010c Build script: make sure the versions we want to build exist
The script didn't do the right thing if it had been run before and was
re-run to create the latest build. We need to actually pull the latest
versions of the different git repositories and make sure that the branches
and commits that we want exist.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04 10:49:20 -07:00
Dirk Hohndel (Intel)
0ae40b4069 Build script: remove Subsurface.app before building on Mac
The make install step otherwise will give some odd warnings as it tries to
adjust things from build to deploy.

Signed-off-by: Dirk Hohndel (Intel) <dhohndel@dhohndel-mac02.jf.intel.com>
2015-06-02 10:43:13 -07:00
Dirk Hohndel (Intel)
5823683229 Build script: use Subsurface-testing branches of marble and libdivecomputer
While in a release we'd want to use the corresponding release branches, it
seems to make more sense to me to switch to the testing branches for Subsurface
master.

Signed-off-by: Dirk Hohndel (Intel) <dhohndel@dhohndel-mac02.jf.intel.com>
2015-06-02 10:41:29 -07:00
Dirk Hohndel (Intel)
3de62f5275 Build script: build libssh on Mac
Signed-off-by: Dirk Hohndel (Intel) <dhohndel@dhohndel-mac02.jf.intel.com>
2015-06-02 10:40:28 -07:00
Dirk Hohndel (Intel)
e8f9a7c502 Build script: create log file by default
Signed-off-by: Dirk Hohndel (Intel) <dhohndel@dhohndel-mac02.jf.intel.com>
2015-06-02 10:22:10 -07:00
Dirk Hohndel
a0b455582d Build script: use sufficiently new libgit2 and enable cloud storage
Turns out that as of a day ago or so tip of libgit2 master appears broken
(the in memory ssh key test in the cmake file fails). But the specific
commit that I'm picking here appears to work and is also new enough that
https and ssh based cloud storage works.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-01 12:54:28 -07:00
Jan Mulder
fdef2adfae Set the shared library file extenstion for the specific platform.
The shared library extension differs on MacOS.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-27 06:10:31 -07:00
Tomaz Canabrava
35a3ba0be0 Do not call install_name_tool for Marble library
Here on my Mac I had an issue that took a long time to understand.
The build.sh script was correctly creating Marble but did not
correctly run otool on it. So I fixed this by fixing CMake for
the marble library which means we don't need to worry about it
in the build script anymore.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 12:18:14 -07:00
Tomaz Canabrava
d7e08514f1 Always reconfigure libdivecomputer
After doing a make clean / make confclean the makefiles
were erased and running the configure script again didn't
created the makefile.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 12:17:17 -07:00
Tomaz Canabrava
6ace243a2a Don't deppend on CMake to find the right libraries.
We are compilling those libraries and we know where they are, so
pass the directories and the libraries in a go directly. CMake was
a bit random when choosing the correct ones, this way we are sure
we got them.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 12:17:12 -07:00
Dirk Hohndel
1f0bf92a34 build.sh: successfully build an App bundle on the Mac
Some install name magic on two of the libraries we build was necessary for
things to work out correctly.

And I added an install step to the default build that puts Subsurface in the
install_root on other OSs and creates the Subsurface.app under
subsurface/build/Subsurface.app on the Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-15 11:37:30 -07:00
Dirk Hohndel
435ec2cbc2 build.sh: use "install-root" for our local install destination
This seems less confusing then calling it just "install".
Also adjust our cmake/Modules/Find... files accordingly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-09 15:30:48 -07:00
Dirk Hohndel
20c1907adb When building from tar file, check .gitversion to get the correct version
Distribution builds on Linux tend to be made from tar files, not from git trees.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-08 14:15:42 -07:00
Tomaz Canabrava
c4a352af1f There's no need to search for a qmake anymore
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-07 16:27:39 -07:00
Tomaz Canabrava
fe37ce02d1 Small changes to the build-script
- libgits version bump to 0.22 (0.21.5 didn't worked here)
- call cmake in build.sh instead of qmake.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-07 16:27:39 -07:00
Dirk Hohndel
f1f02941c7 Merge branch 'v4.4-branch' back into master
The manuals all will need a careful read.
The changes to use lsb-release and the PCLinuxOS specific files got lost
because I didn't want to try to rewite this in the middle of a merge.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>

Conflicts:
	Documentation/50-pot/subsurface-manual.pot
	Documentation/fr/po/subsurface-manual.fr.po
	Documentation/user-manual.txt
	Documentation/user-manual_es.txt
	Documentation/user-manual_fr.html.git
	Documentation/user-manual_fr.txt
	Documentation/user-manual_ru.html.git
	Documentation/user-manual_ru.txt
	file.c
	qthelper.cpp
	subsurface.pro
	subsurfacesysinfo.cpp
	xslt/DiveLog.xslt
2015-02-19 19:44:37 -08:00
Dirk Hohndel
86274b603e build.sh: use setRpath and remove run.sh
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 23:07:53 -08:00
Dirk Hohndel
26f03be236 build.sh: figure out whether to use qmake or qmake-qt5
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 22:03:15 -08:00
Dirk Hohndel
0d70a597cd Add build and run script for people wanting to build from source
These scripts should make it easier to build from source on platforms
where we don't supply binaries. They should ensure the correct libraries
are build and then used at run time

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 13:10:45 -08:00
Lubomir I. Ivanov
f6dbed1fc6 qmake: use a dedicated build script to generate ssrf-version.h
- added ./scripts/write-version
- subsurface-gen-version.pri is much simpler now
- .git/HEAD is no longer used explicitly in .pro/.pri files
- the version_h rule is called on each 'make' invocation
but recompilation will occur only if ssrf-version.h
is updated by ./scripts/write-version
- qmake now depends on the existence of ssrf-version.h
so it creates an empty one on Makefile generation so
that a warning is not shown

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-15 06:19:33 -08:00
Dirk Hohndel
b9d146bab3 Fix more references to the ReleaseNotes
This should be all of them.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-17 12:45:45 -08:00
Dirk Hohndel
2b8043b82b Create better version numbering for Windows
I don't think this will be a problem for the other OSs, but it needs a bit
more testing, especially on the Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-29 13:01:26 -07:00
Dirk Hohndel
28800622f0 Minor changes to Windows build and packaging
With these changes we link statically against libusb and libdivecomputer
but don't add the .a files to our installers.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-09-25 20:50:14 -07:00
Dirk Hohndel
f80c3d8608 Make SupportedDivecomputer HTML more compact
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-09 12:04:48 -07:00
Dirk Hohndel
7129115999 Improve generation of list of supported dive computers
Get it straight from the libdivecomputer sources used...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-07 13:53:09 -07:00
Dirk Hohndel
6c15647858 Allow cross-building 64 bit binaries for Windows
This also makes sure that we package the Qt5 translations, not the Qt4
translations.

There was an odd issue that somehow a 32bit search path ended up being
used by win-dll which resulted in the wrong DLLs being packaged.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-02 15:08:22 -07:00
Dirk Hohndel
c7e7cebed6 Small tweaks to our whitespace handling
This is still not (and likely will never be) intended to just be blindly
run and mechanically applied to all files. It tries to implement our rules
but it is not perfect and more importantly, we have parts of the code
where we intentionally break our rules for various reasons of readability
in that particular situation.

But running this against the sources files you touch often will point out
things that are wrong and should be fixed.

This fixes the indentation for continuation lines and the handling of the
for each style loops (clang 3.5 should have this built in - I'll play with
the current development version of this later).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-22 11:20:04 -07:00
Cristian Ionescu-Idbohrn
4e94da46fd Make it executable and remove magic whitespace on shebang line.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-06 07:08:00 -08:00
Dirk Hohndel
1b103c5c69 Another small tweak to whitespace tool
clang-format doesn't appear to reindent multi line #define statements
correctly - so this hopefully will clean those up.

The included whitespace corrections to the code should stay in place when
using the updated tool.

This includes cleaning up some multi-line comments that were messed up the
last time around as well as a few other minor changes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-05 13:02:23 -08:00
Dirk Hohndel
7c535452f9 Whitespace cleanup
Minor change to the perl postprocessing script and resulting changes to
the affected source files.

This deals with two issues:
- "foreach"-like structures were not always treated correctly
- some longer calculations that ended on "+ constant" were reformatted in
  a rather unatractive manner

In one source file (divelist.c) I ended up adding braces to the sources...
trying to cascade the indentation further down without having the block
there seemed a lot more trouble than it's worth.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-03 13:29:22 -08:00
Dirk Hohndel
42f32671a8 Continue to improve whitespace cleanup helper
The more I try the cleanup helper, the more corner cases I find...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-16 15:58:13 -08:00
Dirk Hohndel
ebac81b784 Fine tuning of the whitespace / coding style post processing
The struct / class regex was way too relaxed.
Having the parent class on the same line usually looks better.
clang-format appears to do something odd with continuation strings - even
with UseTab: Always it indents those with four spaces.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-13 22:10:21 -08:00
Dirk Hohndel
933d44083e Add a simplistic tool to clean up whitespace
This hasn't been tested enought, but it seems to get really close.

It assumes that clang-format is in your patch.

Run

perl scripys/whitespace.pl FILENAME

and you'll get a diff of what it things is wrong with that file.
If you like what you see, simply pipe the output into patch -p0

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-12 22:33:01 -08:00
Dirk Hohndel
be7978679a Make the SupportedDivecomputers.html match web site
I had forgotten that I used <dl> and not <ul> for the dive computers on
the web site.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-15 08:16:06 -08:00
Dirk Hohndel
4a53c652e2 Convert structure list of supported dive computers to txt / html
This adds a silly perl script to create either a txt or html file from the
structured descriptor3.tsv file. This way we can maintain the structured
file and easily create both text and html output from it.

Instead of somehow adding this to qmake I decided to simply add the two
output files so that they are included in the source tar file.

Recreate them by running
perl scripts/parse-descriptor.pl descriptor3.tsv SupportedDivecomputers.html
perl scripts/parse-descriptor.pl descriptor3.tsv SupportedDivecomputers.txt

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-13 16:44:51 -08:00
Thiago Macieira
6026fef35e Fix two issues with directory searches on Windows
First, make sure we actually match /c/windows from the beginning, not
if it occurs in the middle of the path.

Second, make sure that directories containing the binaries are
searched first. Do that by using unshift (prepend) instead of push
(append).

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-12 10:30:00 -07:00
Thiago Macieira
4a213bba41 Tabify win-ldd.pl - subsurface coding style
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11 12:05:55 -07:00
Thiago Macieira
336acb3e18 Ignore the Windows system directories when searching for DLLs
We don't want to deploy kernel32.dll or such.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11 12:05:47 -07:00
Thiago Macieira
1fdbc2eaa4 Fix the DLL search path order
The correct order on Windows is:
 1. Local directory (relative to the binary)
 2. $PATH
 3. System dirs

We insert our -L flags between 1 and 2 above.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11 12:05:43 -07:00
Thiago Macieira
2a871fc3e4 Set the objdump default to "objdump" in win-ldd.pl
The environment variable is to be used if the caller knows that the
default objdump can't parse Windows DLL files (COFF-PE). On Fedora,
Debian, and OpenSUSE, the default objdump can, and obviously the
native one on Windows can too.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11 12:05:37 -07:00
Thiago Macieira
245e29a72e Use the $PATH environment variable to pass extra dirs for DLLs
Unix developers, look away... this is how it's done on Windows: the
binary loader searches $PATH for the DLLs, so let's reuse the same
variable. This simplifies the command-line a little.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08 23:29:43 -07:00
Thiago Macieira
2fedb100ca Add a tool to scan for dependencies on Windows
Similar to ldd on Linux.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08 23:29:43 -07:00
Cristian Ionescu-Idbohrn
9cae783703 Improved documentation; small code adjustments.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-12 07:23:57 -07:00
Cristian Ionescu-Idbohrn
b994b534c5 Match less; don't ignore case.
Still, some false positives show up ('Veo 3.0' is one of them).

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-12 07:23:55 -07:00
Cristian Ionescu-Idbohrn
6d19e9c7ea Whole text lines are easier to find.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-12 07:23:53 -07:00
Cristian Ionescu-Idbohrn
487b83d714 Escape dots in version string before grep-ing.
Less false positives that way.

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-12 07:23:51 -07:00
Cristian Ionescu-Idbohrn
7fcafe9c11 Color implies debug.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-12 07:23:48 -07:00
Cristian Ionescu-Idbohrn
76eb67a0a0 Show all files that may need updating.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-12 07:23:44 -07:00
Cristian Ionescu-Idbohrn
20f086c4a8 Correct parameter expansion expression.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-12 07:23:37 -07:00
Cristian Ionescu-Idbohrn
de101410cf A lame start for a `make release' helper.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-09 08:19:58 -07:00
Cristian Ionescu-Idbohrn
69062034b3 Remove more useless quotes.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-24 06:43:40 -08:00
Cristian Ionescu-Idbohrn
9ceb65a3ce Use a posix equivalent solution instead of the pattern substitution bashism.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-24 06:43:25 -08:00
Cristian Ionescu-Idbohrn
77a6b18a71 Replace the '==' bashism with the posix equivalent '='.
The quotes are not needed either (nothing to expand there).

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-24 06:42:14 -08:00
Dirk Hohndel
069c36c95c Expand the version magic even more
Someone who is better at shell script writing needs to review this.

Here's what it's supposed to do. Create version strings with three or four
values for darwin or win, respectively, that we can use as the versions of
the bundle or installer. The version that Subsurface reports isn't
affected by this. So in a way this is automating something that's mostly
cosmetic.

If we have a 2 digit version number (like 3.0), do the same the old script
did - add just zeroes if we are on a tag, otherwise add the number of
commits since the tag (and a last 0 if on win).

If we have a 3 digit version numner (like 3.0.1), leave it alone on mac
and add either the number of commits since the tag or a zero if we are on
the tag on win.

Now this can create the same version number for two different versions on
darwin: the first commit after 3.0 and the version tagged as 3.0.1 will
both get the same number. That's kinda silly but remember - the non-tagged
versions aren't supposed to be widely distributed (and the third digit in
them should be much larger than anything we'd ever release; we are
already on commit 16 since the last tag and hopefully will never release a
3.0.16 as tagged release). And of course the full version as displayed in
the About box is always able to tell things apart because of the SHA added
at the end if it's a non-tagged version.

So why all this magic? The reason we do this is so that during development
we are able to create Mac and Windows installers and they get reasonable
version numbers, based on the versioning that these vendors suppose. And
without manual intervention.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-23 20:45:29 -08:00
Cristian Ionescu-Idbohrn
727ee3aa98 Unified handling of version extraction.
Removed oddly named and ridiculously outdated documentation text (scripts).

Created new directory 'scripts'.

Added unified version extraction script (scripts/get-version). Yes, it's
more shell script code but faster and more maintainable than the sed commands
and the swearwords/regexps repeated over and over again.

Makefile and packaging/macosx/make-package.sh modified accordingly.

I don't do windos neither macos but, AFAICS my tests show, it should be safe.

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-16 15:41:58 -08:00
Linus Torvalds
857e153070 Start archiving the stupid XML files
(and add a reminder of how they came to be)

Gaah.  XML is *stupid*.  It's not easy to parse for humans or for
computers, and some of these XML files are just disgusting.  But maybe
they can be turned into something usable with libxml.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-08-28 16:18:53 -07:00