Commit graph

568 commits

Author SHA1 Message Date
Anton Lundin
82c972574b android-wrapper: Fail fast and at point
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:11:27 -08:00
Anton Lundin
6fd438e053 android-wrapper: Give a negative exit code on error
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-06 21:11:14 -08:00
Dirk Hohndel
911d2798cd Android build wrapper: sometimes quotes hurt you
Shellcheck wanted quotes around "$USE_X" - but that makes the script
fail if you run it without the '-x' argument.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-02-04 07:02:11 -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
Stefan Fuchs
3b67bc25a3 MXE windows build script mxe-based-build.sh updates
Updates mainly in the comments of the MXE build script:
- File system layout: different proposal
- Hint to not use MXE current version from git
- MXE build JOBS setting to (very) safe value of 1
- export CXXFLAGS=-std=c++11 added for marble build
2017-01-29 14:59:08 -08:00
Dirk Hohndel
273550b4e8 Android build.sh: fix libcrypto dependency in libssl
Using a binary patch seems harch, but it also seems to work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 14:28:35 -08:00
Dirk Hohndel
8adcc406c7 Android build.sh: don't try to link against host http_parser
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 14:28:26 -08:00
Dirk Hohndel
3fd26a80dc Small fix for Android build.sh
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21 14:27:38 -08:00
Anton Lundin
0253addb9e android: Document controlling env-vars
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-01-12 14:15:53 -08:00
Anton Lundin
450092cdb9 android: build.sh white space cleanup
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-01-12 14:15:53 -08:00
Anton Lundin
9ec28966f0 android: Introduce propper quoting in build.sh
This where quoting issues found by shellcheck.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-01-12 14:15:53 -08:00
Dirk Hohndel
4abf619dc4 MXE build script: update to match current mxe
Many of the hacks I used to need are no longer necessary.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-02 08:22:22 -08:00
Dirk Hohndel
346f4d4f12 Android build: add comments on filesystem layout
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-02 04:46:51 -08:00
Henrik Brautaset Aronsen
ba23989e6b Update from 2016 to 2017. Happy new year!
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-01 10:28:25 -08:00
Dirk Hohndel
ca7f5935be Fix MacOS make-package script
We need the full path to the local libssh in order to replace it with the
correct path.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-01 14:23:49 +02:00
Anton Lundin
ca1349241b android: Copy android files to the expected name
android-mobile nowadays hardcoded in CMakeLists.txt, so workaround it
here.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-28 22:40:18 -08:00
Anton Lundin
6203433ff3 android: Upgrade suggested ndk
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-28 22:40:18 -08:00
Dirk Hohndel
2aeb2b8d8b Small fix for Ubuntu builds
This makes the code slightly less error prone, I hope.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 21:01:29 +09:00
Miika Turkia
1f19abdd4f Add yakkety (16.10) to Ubuntu packaging
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 20:36:37 +09:00
Dirk Hohndel
fd27c3fa23 iOS build: add required key for iOS 10
This one's weird. We actually don't access the Photo Library. But
maybe it's the access to the local files (in order to store the
dive data) that causes this?

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-20 07:36:33 -07:00
Dirk Hohndel
e1a2074cb3 iOS build: adjust configure flag for libdivecomputer
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-19 17:09:27 -07:00
Dirk Hohndel
33f006194b iOS build: no longer request location information
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-10 08:38:19 -07:00
Dirk Hohndel
f40d5ff0a1 Update the README for building the iOS version
This still isn't quite straight forward, but at least now the README matches
the process that I use again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04 11:17:44 -07:00
Dirk Hohndel
055276f1ba iOS build: re-enable building libraries for the simulator
We now build Kirigami as part of Subsurface-mobile itself, so the simulator
builds work again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-04 07:54:22 -07:00
Dirk Hohndel
79ab41dfd8 Android build: don't try to bundle libssh2, either
Since we don't link against it, no need to bundle it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28 19:20:18 -07:00
Dirk Hohndel
7a55eeeb07 Android build: don't link against libssh2
We don't use ssh-based git in Subsurface-mobile, so there's no reason to
link against it.

This should hopefully fix the current issues with the Android APK on some
devices.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28 19:14:06 -07:00
Dirk Hohndel
a5cf8aaa21 Android build: try to create APK that works on Android 7.0
It appears that instead of statically linking against ssl/crypto/ssh2, you
instead have to dynamically link against it and then bundle the library in
the APK. The documentation is not 100% clear and I don't have an Android
Nougat device to test this with, so for now this is an attempt.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-24 13:36: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
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
Joakim Bygdell
925fd8d4c1 Android build: compile kirigami
Build kirkigami plugin out of source and make sure that we use the same QT
version for the plugin and the app.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:29:05 -07:00
Dirk Hohndel
2779f9198a iOS build: no need to build kirigami library anymore
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-16 07:51:35 -07:00
Dirk Hohndel
81166bc971 iOS build: directly include Kirigami
Instead of building a library that we link against, let's just use the .pri
file and include Kirigami in the primary build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-16 07:50:45 -07:00
Dirk Hohndel
f23c2d8192 Remove hacks around Kirigami issues
Those were fixed upstream.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-15 13:42:03 -07:00
Dirk Hohndel
d408939076 IOS build: compile kirigami plugin
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 15:48:48 -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
545c60a517 Add new files to qmake
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-13 20:11:20 -07:00
Guillaume GARDET
493fefef71 Update OBS spec file to fix build
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-07-23 10:54:20 +09:00
Anton Lundin
4ed6101c5c android: Fix typo in patching of libssh2
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-07-09 12:07:09 -07:00
Anton Lundin
b8e3ad7319 android: Update all our dependencies
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:35:59 -07:00
Anton Lundin
b2b29c00ec android: Enable config via env vars
This creates the possibility to pass configuration, where the ndk and
sdk is installed, to the build.sh script via environment variables.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:35:21 -07:00
Anton Lundin
7386d0b5b4 android: Set version and build for desktop app
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:34:41 -07:00
Anton Lundin
4ef90638d4 android: Remove obsolete comment
Since c78e4f we build the mobile and desktop versions with different
package id's.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:34:15 -07:00
Anton Lundin
2aa9841213 android: Prioritize newer Qt version if found
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:34:00 -07:00
Anton Lundin
9443b0b86c android: Use a ndk toolchain matching sdk version
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:33:32 -07:00
Anton Lundin
f28dfce50f android: Update to latest NDK
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:32:49 -07:00
Anton Lundin
f3cde0357f android: Correct README
We don't depend on Qt5.5, we depend on Qt for android.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:32:24 -07:00
Anton Lundin
4f850e2aa5 Build Subsurface c++ as c++11 code
With Qt 5.7, they started to require c++11 support, and in 5.6.1 some
nullptr's showed up in QtAndroidExtras/qandroidfunctions.h, so now we
need to compile our c++ code with c++11 support in our compiler.

As Thiago pointed out, this effectively "downgrades" GCC 6 from c++14
support to c++11.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23 16:32:10 -07:00
Dirk Hohndel
4d4faecd67 Allow building Android package against Qt 5.7
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-22 13:25:26 -07:00
Dirk Hohndel
2c60e87b09 Qt 5.7 requires C++11
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-22 13:23:10 -07:00
Dirk Hohndel
24bd2eab43 iOS build: add another dependency to dummy.qml
This way the required plugins get automagically added to the bundle.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-17 04:07:37 -07:00
Dirk Hohndel
10833e32ed iOS build: use the Qt version that is available
Simply have the Qt link in packagin/ios point to whatever Qt version
you want to build against and the script picks the right one.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-17 04:06:51 -07:00
Dirk Hohndel
818031e604 updated build scripts for Mac
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-11 10:37:30 -07:00
Dirk Hohndel
329a632ed9 iOS build: dummy qml file to pull in the right dependencies
The iOS build process is rather stupid - it scans all .qml files
in the root directory of the project to determine which QML dependencies
are required.

This is why we had the weird leftover fake QML project in our sources.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-04 14:42:07 -07:00
Dirk Hohndel
8408cbe3a4 Android build: we don't need the Qt translations
Only the Subsurface translation files as needed as the QML UI
doesn't display any Qt internal strings.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-04 14:02:05 -07:00
Dirk Hohndel
42eee8a2e1 iOS build: create the translations to be bundled
And add them to the bundle.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-04 14:00:43 -07:00
Dirk Hohndel
e47327c87a Android build: prepare and copy translations into the APK
And then load them at runtime.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-03 17:20:53 -07:00
Miika Turkia
bc28944abb Add Ubuntu Xenial to be built (16.04)
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-26 09:26:41 -07:00
Dirk Hohndel
d7103f97f7 Android build: use static libssl / libcrypto
Android M does not allow using those as shared libraries.

See #1029

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-20 15:29:09 -07:00
Dirk Hohndel
5e42909964 iOS build: include the libraries for the phone simulator
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-17 22:36:29 -07:00
Miika Turkia
95292ac560 Set default build number for apk building
Having build number as mandatory parameter seems unnecessary, thus
setting default value (used for andoird:versionCode) to 0.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14 11:02:19 -07:00
Miika Turkia
454a62c835 Fix initial build of APK
Running subsurface/packaging/android/build.sh after deleting
subsurface-mobile-build-arm directory fails for me due to missing
ssrf-version.h file. Just ignore if it doesn't exist.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-14 10:59:56 -07:00
Robert C. Helling
c0a4ffead8 Build instructions to deplay on you own iOS device
... so others might have less trouble.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-11 12:42:59 -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
246422d03f iOS build: fix typos
Can't believe I didn't notice them earlier... I must have stared at these
strings countless times.

Reported-by: Scott Ireland <scott@sdj.ca>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-24 21:36:42 -07:00
Dirk Hohndel
dc1cd40721 Revert "iOS build: enable access to GPS location"
This reverts commit 78a8137963.

These keys don't enable access, they require the device to have GPS support.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-24 17:28:47 -07:00
Dirk Hohndel
2a65eab745 iOS build: add another Info.plist key to enable positioning
This key is needed so that the iOS app asks the user for permission to use the
GPS position information.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-24 07:54:48 -07:00
Dirk Hohndel
78a8137963 iOS build: enable access to GPS location
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-24 05:41:44 -07:00
Dirk Hohndel
f9e68f13f3 iOS build: add missing icon
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-23 23:31:12 -07:00
Dirk Hohndel
fb157b873a iOS build: fix executable name
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-23 19:45:07 -07:00
Dirk Hohndel
41bc8003d5 iOS build: update the README
A lot of this is still black magic, but at least this now documents what I
understand about the process.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-23 17:26:46 -07:00
Dirk Hohndel
a4a9edcd0f iOS build: create Info.plist with correct version information
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-23 17:26:46 -07:00
Dirk Hohndel
9028c807b2 Change names of iOS build files
The name subsurface-ios was used in many places and that was just not helpful
to fight against. This should work much better.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-23 17:26:46 -07:00
Dirk Hohndel
557eb744a3 Make sure version is freshly generated before extracting
Oops, so Subsurface-mobile 1.0 (4.5.2.1048)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-10 06:35:40 -08:00
Dirk Hohndel
6be0800704 Update Subsurface-mobile version to 1.0.0
And make sure the version displayed for Android includes both that version
and the build version, which is our regular canonical 4 part version
number - so this release will be something like "1.0.0 (4.5.2.1047)"

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-10 06:29:26 -08:00
Dirk Hohndel
1e8b0874ab iOS build: show correct program name on launch screen
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 19:35:37 -08:00
Dirk Hohndel
8a96f6e90b iOS build: bundle application icons and Info.plist
This way the iDevice will show the correct name and icon for
Subsurface-mobile.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 17:51:09 -08:00
Dirk Hohndel
ba8014eb5c iOS build: restructure build.sh to create fat libraries
This way QtCreator can successfully link and deploy the app.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 17:49:35 -08:00
Dirk Hohndel
7ae4eed734 iOS build: more build.sh hacking
This now can create all the support libraries in armv7, but that isn't
sufficient for QtCreator which wants fat libraries with both armv7 and arm64 in
them.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 15:11:49 -08:00
Dirk Hohndel
8a6728eb08 Revert "iOS build: add the pri file for generating the version"
This reverts commit 7fac2a38b2.

Oops, that should have been dropped in the rebase before pushing the
changes. I did this instead in commit 99d1d8876e ("iOS build: create
ssrf-version.h by hand")
2016-03-06 11:13:04 -08:00
Dirk Hohndel
99d1d8876e iOS build: create ssrf-version.h by hand
It grabs the mobile version from the cmake file via grep.
🤦

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 11:03:11 -08:00
Tomaz Canabrava
7fac2a38b2 iOS build: add the pri file for generating the version
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 11:03:11 -08:00
Dirk Hohndel
8d9bffff64 iOS build: fix libdivecomputer build
This uses new configure options added to the Subsurface-branch of
libdivecomputer.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 11:03:11 -08:00
Tomaz Canabrava
c27a2b47f4 iOS build: fix loading icons
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 11:03:00 -08:00
Tomaz Canabrava
710b3615fe iOS build: add various support files
It's unclear why the build fails if we don't add the sample app files as
well.

[Dirk Hohndel: refactored the patches]

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 11:02:48 -08:00
Tomaz Canabrava
74e6e0ed37 iOS build: Updated build script
This now only builds all the prerequisits but not the actual Subsurface
binaries - that will be done with qmake (oh the irony) in a later commit.

[Dirk Hohndel: refactored the patches]

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-06 11:02:31 -08:00
Dirk Hohndel
e9e453b009 Android build: pass in build nr
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-05 21:23:27 -08:00
Dirk Hohndel
a64eef7f82 Android build: automate setting the right version number
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-05 17:14:33 -08: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
62f7a2a8f0 Build Android mobile app against latest OpenSSL
No reasons not to upgrade to the latest OpenSSL lib. The currently used
1.0.1 branch is ending end of 2016, so a switch to 1.0.2 is useful
anyway.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-02-02 09:28:44 -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
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
6051bf9f89 Android build: we should build Subsurface-mobile by default
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-29 17:38:55 -08:00
Dirk Hohndel
320ff2eba3 Android build: use better sed syntax
There is no reason to use '!' as separator and in some shell environments this
can cause problems.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-25 21:58:30 -08:00
Dirk Hohndel
b747e1bc72 Android build: more tweaking
Don't ever link against a shared libcrypt. One of the recent changes to
make things build on the various Linux build systems apparently broke the
Android build as it now adds an extra -lcrypt right after the correct
static link to libcrypt.a. Instead of fiddling even more with this and
re-breaking all the other builds I just hack around it here and remove any
calls to a simply -lcrypt as that won't work on Android.

This also passes through the remaining options on the command line to make
so we can do things like VERBOSE=1 or -j12

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-24 09:52:56 -08:00
Dirk Hohndel
697bd94198 Android build: allow selecting Debug / Release build
And never build the tests. Makes no sense to do so when cross building for
Android.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-24 09:48:44 -08:00
Dirk Hohndel
a7cf7eb967 iOS build: more progress
Most of the dependencies build now.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 14:46:59 -08:00
Dirk Hohndel
0873d46a64 iOS build: only build the parts of openssl that we need
No point in creating the apps, etc.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 13:36:12 -08:00
Tomaz Canabrava
63b01b7510 iOS build: make it possible to compile openssl
It compiles but the link stage fails because of a missing -LSystem
but its a baby step.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 12:16:12 -08:00
Dirk Hohndel
813e49d202 iOS build: baby steps
Get a couple more dependencies built. These were easy.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 10:25:13 -08:00
Dirk Hohndel
8ddb2ebd6b iOS build: hack to build and install libsqlite3.a
Building the iOS command line utility fails. But frankly, we don't need that,
anyway. I cannot figure out how to tell sqlite that all I want is the library,
so I'm working around that by first building the library, then pretending that
sqlite3 was indeed built in order to be able to run make install. Horrible,
ugly, stupid. But it seems to work.

Also cleaned up the whitespace.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 10:25:10 -08:00
Dirk Hohndel
b5c30971b6 iOS build: make the README a bit more useful
Still not all that useful, though.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 08:28:53 -08:00
Dirk Hohndel
55b6eaae0b iOS build: fix typo in CFLAGS argument
This way the gethostuuid workaround actually works. It still doesn't compile,
though.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 08:26:30 -08:00
Tomaz Canabrava
2316390c1f Rework the env - variables to produce a working cross compile script
The cross compile script kind of works right now, it's missing
something that I'm really not sure where or what it is.

currently sqlite will not build because:
	error: gethostuuid is not defined in iOS

This bug was already opened on sqlite bugtracker for about a year, the
workaround is to pass -DDSQLITE_ENABLE_LOCKING_STYLE=0 to the compilation
flags, which I did but did not work for some reason.

Which is a good error - it shows us that we are actually trying to compile
for iOS.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 08:07:11 -08:00
Tomaz Canabrava
105d698759 Start the iOS cross compile
The build.sh and readme files are the same as the Android ones
and I'll be changing them over time.

The configure-for-ios.sh script is a file that manages to set
everything, compilers frameworks and such, for iOS compilation.

I'll probably dissecate the configure-for-ios.sh file and put it
back on the build.sh, but not now.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-20 08:06:29 -08:00
Dirk Hohndel
e2d5bef073 Switch the Android build.sh to set up mobile build correctly
We now need to set SUBSURFACE_TARGET_EXECUTABLE to MobileExecutable.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-18 07:46:00 -08:00
Tomaz Canabrava
d0b526eda4 Do not try to compile FTDI_EPROM
this was requiring libconfuse and we don't need it.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17 11:48:31 -08:00
Tomaz Canabrava
cbe06cca8f Use newer libraries
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17 11:48:24 -08:00
Tomaz Canabrava
9d805bea4a Simplify MXE script
The MXE script still tried to run things using the qmake project
file and we removed that ages ago.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-16 09:20:53 -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
c8be04edad Mac build: move the QtXml hack into Cmake
This way build.sh can build a Subsurface.app that the user can use via

	open subsurface/build/Subsurface.app

after running build.sh.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-09 15:24:25 -08:00
Dirk Hohndel
7d2a7da079 Small change to the Mac make package script
It still is rather specific to my system layout, but at least removes a
reference to my home directory path...

It also removes @rpath references from the executable. This should in theory
work, but it failed for me on one machine that I tested on and doing things
this way doesn't appear to cause problems.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-03 12:47:50 -08:00
Anton Lundin
c1f8ecd67a Correct Qt version in README for android building
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-02 09:21:14 -08:00
Anton Lundin
58901690dd Remove defaults for Android from cmake
Some of the flags needed to build for android was set in cmake. There
are many more that needs to be set correctly for things to work, so
having some in cmake and some in the Android build.sh is just confusing.

This removes the bits from cmake and moves everything into build.sh.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-02 09:20:50 -08:00
Dirk Hohndel
f66e3a4489 Update Mac bundle build & sign scripts
These are mostly a convenience for me, they'd obviously have to be updated for
someone else trying to use them.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-08 15:34:15 -08:00
Joakim Bygdell
3c2179fea9 Android: ask which pkg-config to use
Since pkg-config is installed in different places on linux and mac,
let's ask where it is.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-08 09:46:18 -08:00
Joakim Bygdell
bc1473b1a0 Android: disable ftdi on mac
Until we can get libftdi to build on mac we are better of just diabeling it.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-08 09:46:01 -08:00
Joakim Bygdell
f44d47325d Android: Clean up variable export
Removes duplicate variable export.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-08 09:45:48 -08:00
Sebastian Kügler
10b68dad96 android build: remote -u flag from git pull
git pull -u isn't known on my systems (recent Debian and Ubuntu), so
better not use this flag.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-06 14:07:43 -08:00
Lubomir I. Ivanov
0196ac1568 NSIS: add a couple of uninstaller checkboxes
Add a new dialog/page which is shown right before
the final "uninstall" click.

The dialog may contains two checkboxes - for registry
entries and for the user path. These checkboxes will not be
created if the user has not run the application yet,
as no registry keys will be available.

Selecting the user directory checkbox shows a warning message box,
that the user should make sure no important files are present there.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-03 09:06:07 -08:00
Dirk Hohndel
3b419b3d07 Make libtool versioning happy
This way we find the versioned libdivecomputer.dll

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-26 15:19:05 -07:00
Dirk Hohndel
47c7958ed3 Build Windows installer with shared libdivecomputer
Since we ship it all in one piece there is no reason to use a static
libdivecomputer (like there is on Linux). This allows us to give the user
a different libdivecomputer.dll for testing when tracking down a bug.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-26 14:27:16 -07:00
Dirk Hohndel
c6ec742d11 Build libzip with cmake when cross building for Windows
This seems to fix our issues with being able to create zip files on the
fly (needed for the divelogs.de access).

Fixes #955

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-26 14:24:34 -07:00
Dirk Hohndel
148b30849a MXE build script: more cleanups
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23 12:25:14 -07:00
Dirk Hohndel
c7ae8c8655 Update MXE cross build script
Small addition for completeness

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23 05:01:19 -07:00
Dirk Hohndel
3b15ab5f28 MXE build: small tweaks
While this should be fixed in cmake, for now just manuallt get
libssrfmarblewidget.dll and QtXml.dll in place

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-22 20:23:30 -07:00
Dirk Hohndel
7351ff62d7 More updates to MXE build script
Two more changes that are needed for this to build successfully.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21 22:22:03 -07:00
Dirk Hohndel
5982092858 Update MXE cross build script
Instructions how to use it are in the script.
As of today this doesn't create working binaries - this worked perfectly
fine back when MXE was still based on Qt5.4

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21 21:39:41 -07:00
Miika Turkia
692ef8f141 Add wily to Ubuntu packaging
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21 13:11:12 -07:00
Dirk Hohndel
cb1aac0c4d Update the script to build Mac Bundle
This is trying to clean things up quite a bit and make it less specific to
my directory layout.

It still calls the signing script that tries to sign things with my keys,
so it won't work for others without tuning, but this should get you
closer.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-08 11:42:14 -07:00
Anton Lundin
8d73e4f81c Connect up serial_ftdi custom serial
This connects the serial_ftdi implementation to subsurface, and builds
libftdi1 for the android builds.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-20 22:59:54 -07:00
Anton Lundin
72872bd7fd Enable android logging from libusb
This makes libusb to log straight to the android logging system. This
makes sure we can reach the logs and debug things.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-20 22:53:01 -07:00
Anton Lundin
676c1b319f Patch libusb for android custom open function
This idea was inspired by:
https://github.com/PointCloudLibrary/mobile/blob/master/3rdparty/android/patches/libusb.patch

The whole thing is re-written from scratch but the idea came from there,
and its a way simpler way of getting a system-opened fd to the right
place than patching every call in the stack to pass a fd down.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-20 22:52:21 -07:00
Joakim Bygdell
7baa18db5f Enable Android build on Mac
This Changes the NDK, SDK, JAVA_HOME and ant to the appropriate versions
and locations when the script runs on a Mac.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-20 05:52:11 -07:00
Dirk Hohndel
8590c6dc33 Remove cmake hack that wasn't supposed to go upstream
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-18 06:03:12 -07:00
Anton Lundin
86bd9c7a90 Build libssh for android
Now when we build openssl for https support, its easy to add libssh2 to
get ssh support to, so this does that.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 14:09:37 -07:00
Anton Lundin
17bab9554d Build openssl without legacy protocols.
SSL2 and SSL3 are deprecated, and we can gladly leave them out of our
build.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 14:09:25 -07:00
Anton Lundin
b8b597ec72 Sanitize openssl building for android
The openssl build step polluted the variable space, and overrode the CC
env, thus breaking the build if you did build openssl in the same
session.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 14:09:19 -07:00
Dirk Hohndel
eb9f07c789 Android build script: minor adjustments
When retrying a clean build several libraries failed to build and I
finally tracked this down to the cross build tools not finding their
sysroot.

Also, on my main build server I have an older cmake version and one of the
tools claims to require cmake 3 but I see no actual incompatibility, so
I'm patching out that check.

Hackish? Yes. But it seems to work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-15 10:37:57 -07:00
Dirk Hohndel
ad79476f54 Update Android build script
This now includes OpenSSL so we can actually use cloud storage (which
requires https transport).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 15:21:30 -07:00
Anton Lundin
9217a03ef3 Teach android build about subsurface-mobile
This teaches android build.sh and cmake about how to build the qml ui of
subsurface-mobile as a apk.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 15:10:48 -07:00
Anton Lundin
5cbbff0084 Use qt-android-cmake to produce a android apk
This introduces code to use qt-android-cmake to produce a working apk.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 15:48:42 -07:00
Anton Lundin
1f112c7738 Make the libssh linking optional
Due to bugs in libgit2, we force linking with libssh2 to add
git-over-ssh support. On android we currency don't want libssh2 due to
its dependency chain, so this makes the libssh2 force linking opt-out.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 15:48:30 -07:00
Anton Lundin
a558f09f8d Update suggested versions in android build script
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 15:48:10 -07:00
Anton Lundin
016c56a210 Teach android build script out of tree builds
This teaches the android build script how to do out of tree builds.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 15:47:55 -07:00
Anton Lundin
b560dc6293 Upgrade libgit2 for android
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 15:47:47 -07:00
Anton Lundin
4c0f6a0ac0 Update android build script for CMake
This updates the android build script to something that uses CMake.

This can't produce a working APK yet, but it at least builds the shared
object which should be wrapped into the APK.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01 09:01:04 -07:00
Dirk Hohndel
8ab7b5ea7f Windows installer: include grantlee plugins and printing templates
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-19 22:24:18 -07:00
Dirk Hohndel
1a97d011bf Remove rules and control files for Ubuntu 12.04
Since we got rid of all the Qt4 support there is no point in having those
files around anymore, either.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-24 09:52:10 -07:00
Tomaz Canabrava
38456cbaac Remove support for Qt4 (part 8)
Also remove some of the code for building on Ubuntu 12.04.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-24 09:37:23 -07:00
Dirk Hohndel
c519d0b32f Debian/Ubuntu packaging files: give correct credit in copyright notice
That was an embarrassing oversight on my part.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-28 10:45:03 -07:00
Dirk Hohndel
93559e81e2 Update the mxe based sample script
Working on making the different ways we build things more consistent

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-09 15:36:20 -07:00
Dirk Hohndel
3a06bb37d4 Update build script to cross build Windows using mxe
The MinGW based script is still there for reference, but that's no
longer how I build the Windows binaries.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-08 14:24:03 -07:00
Dirk Hohndel
5b1d7541dd Update the packaging script to my latest version
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-08 14:15:42 -07:00
Dirk Hohndel
dc47003e5b Update the build rules for .deb based builds
With this we also give up on building daily builds on Ubuntu 12.04
The cmake based infrastructure very much assumes Qt5 at this point.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-08 14:15:42 -07:00
Dirk Hohndel
9f532edb67 Update OBS spec file to current version
The old one was
a) outdated and
b) didn't work with cmake so it was rather misleading to have here.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-08 13:34:27 -07:00
Dirk Hohndel
069b4b2b5e Remove the outdated and mislreading README
It's been a LONG time since this was correct

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-08 13:32:23 -07:00
Dirk Hohndel
1ed1e188fd Update Mac convenience shell script
This script likely is useless for anyone but me, but I like having it in the
source tree in case others can benefit from seeing how the packages are built.

This now is based on out-of-tree cmake builds.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-04 16:32:15 -07:00
Claudiu Olteanu
d3d3cd9e35 Update the documentation with dependencies for cross-building on Linux to Windows
Update the documentation with dependencies for cross-building on Linux
to Windows for OpenSuse platform and correct some building instructions.
Moreover fix the windows building script to use the architectural specific
binary.

Signed-off-by: Claudiu Olteanu <olteanu.claudiu@ymail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-03-17 13:59:59 -07:00
Anton Lundin
deb2caf3e0 Import subsurface-android build script
Over one year ago i started with a crazy idea, "Wouldn't Subsurface on
android be nice?" when i read about Android support in Qt.

After playing around with it and doing some quite ugly hacks i got it to
build and run.

Now are all the patches upstream and this imports the quite crude build
script, for others to continue on.

This is a squash-import of what have have happened in
https://github.com/glance-/subsurface-android during 2014.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
CC: Joseph W. Joshua <joejoshw@gmail.com>
CC: Venkatesh Shukla <venkatesh.shukla.eee11@iitbhu.ac.in>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-03-09 12:53:01 -07:00
Dirk Hohndel
6dc2d7ba18 Start building packages for vivid
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-22 08:38:58 -08:00
Dirk Hohndel
b9aa52e6b0 Update Qt4 patch
This time really just the patch

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-22 08:31:55 -08:00
Dirk Hohndel
2866a604b4 Revert "Update Qt4 patch"
This reverts commit 762315e7ee.

Oops, this was supposed to update the patch, not update and apply it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-22 08:30:34 -08:00
Dirk Hohndel
762315e7ee Update Qt4 patch
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-19 21:52:41 -08:00
Dirk Hohndel
ea2eb6afe3 Update the ubuntu / debian build rules
Dang. I didn't pay attention that commit 2677f3ca79 ("LIBMARBLEDEVEL
points to an install dir, not a build dir") broke the way I build the
Linux binaries.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-18 10:37:48 -08:00
Dirk Hohndel
0fb84b8a8a Updated Qt4 patch
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 13:40:57 -08:00
Dirk Hohndel
82f216faa0 Once again update the Qt4 patch for Ubuntu 12.04 build
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-31 13:35:32 -08:00
Dirk Hohndel
edc2d40350 Fix stupid typo
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-28 14:55:46 -08:00
Dirk Hohndel
5f01321ae1 Update qt4 patch
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-28 14:43:30 -08:00
Dirk Hohndel
aaa34a1de7 Update the Qt4 patch
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-25 14:28:21 -08:00
Dirk Hohndel
b8b15165f0 Add the hackish patch used to still compile with Qt4
We only use this for the Ubuntu 12.04 builds. The goal is to move away
from Qt4 support, so this is mainly an afterthought.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-24 20:00:54 +12:00
Dirk Hohndel
31a6f3c383 Handle building beta packages
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-23 16:51:58 -08:00
Dirk Hohndel
d8830ad31c Need to use qmake-qt4 for building Ubuntu 12.04 packages
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 19:55:22 -08:00
Dirk Hohndel
400cc01c26 Add patch to the Ubuntu build process for 12.04
We need to build with Qt4 on 12.04.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 17:42:32 -08:00
Dirk Hohndel
5e0abd8829 Finally deal with incrementing the serial number of the build
I know, I know. This should never have been hard coded.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 14:15:30 -08:00
Dirk Hohndel
90f931dabe Attempt to build for Ubuntu 12.04 as well
And fix a silly typo in the Debian/Ubuntu control file

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-15 13:02:52 -08:00
Dirk Hohndel
3212bfdf99 Small tweaks to the Mac package making scripts
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-02 22:26:36 -08:00
Dirk Hohndel
4ce3c1e8b8 Remove the 32/64 bit warning in the Windows installer
We now have perfectly fine 32bit binaries with Qt5 so no more reason to
steer people towards 64bit binaries. Actually, I don't plan to make 64bit
binaries for the next release.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-01 16:45:24 -08:00
Dirk Hohndel
b8af46a33e Another tiny change for OBS
As expected, switching to subsurfacedaily as package name turned out to be a
massive PITA.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 12:24:16 -08:00
Dirk Hohndel
72a78f6c2d Next attempt to get the OBS subsurfacedaily naming right
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 11:41:06 -08:00
Dirk Hohndel
1d39df0922 Add a new script to create cross built Windows installer
This script is based on the mxe package and builds everything from source
instead of using the mingw packages from Fedora as I did in the past.

I'm keeping the old script around for now, but eventually I should remove it as
this is the current way to create a working installer that supports both 32 and
64 bit Windows and is Qt5 based.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 10:20:28 -08:00
Dirk Hohndel
1169d7dd35 Add the current OBS spec file for daily builds
This is simply here for people to look at. It will age immediately and it makes
no sense to try to keep it current here as it is maintained in OBS. But I think
it might be a useful starting point for others who want to package daily builds
of Subsurface.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 10:05:28 -08:00
Dirk Hohndel
38278c9c71 Revert "Make the daily builds on OBS distinct from the releases"
This reverts commit 7a7ce2c5e0.

Shouldn't have pushed that one :-)

The fix was to modify the spec file, not the name of the directory and tar
file.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 10:03:47 -08:00
Dirk Hohndel
7a7ce2c5e0 Make the daily builds on OBS distinct from the releases
This way there should be less confusion

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 09:19:06 -08:00
Dirk Hohndel
c246432092 Remove some way way way outdated files
From the very earliest packaging attempts. Definitely not useful anymore.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 08:48:27 -08:00
Dirk Hohndel
f42a83f4b2 Linux package generation: integrate and automate OBS and Ubuntu PPA
This is still quite fragile and isn't enough for anyone to run it, but it
captures where I am in the automation process.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 08:48:27 -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
fb500f7056 Update Mac make package script
This reflects the switch to the custom name for the marble widget.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-17 11:29:40 -08:00
Dirk Hohndel
028bd1e235 Ubuntu packaging: this works better for changelog
Tiny change, specify the version as the tools get it wrong by default

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-15 14:52:32 -08:00
Dirk Hohndel
6da5775c05 Ubuntu packaging: more tweaks
* only build a static libdivecomputer
* only build the libgit2 library, not the executable
* don't echo all the symlinks when fake-installing libmarblewidget

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-15 12:09:38 -08:00
Dirk Hohndel
5e9c491f19 Ubuntu packaging: add support for better changelog tracking
This now assumes that a running changelog is maintained in
src/debian.changelog, i.e., at the same level as the subsurface tree; the
organization now should look like this:

src/debian.changelog
src/subsurface                 # subsurface git checkout
src/subsurface/libdivecomputer # libdivecomputer git Subsurface-xx branch
src/subsurface/marble-source   # marble git Subsurface-xx branch
src/subsurface/libgit2         # libgit2 git checkout

Instead of running dh_make to create all new debian build files, we add the
necessary files in our script.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-15 10:21:23 -08:00
Dirk Hohndel
f559f6c870 Ubuntu packaging: Create the correct libdivecomputer version
Since we strip the .git data from the source tree (to conserve space and not
violate the packaging guidelines - or at least not violate THAT packaging
guideline) we need to create the correct revision before the tar file of sources
is packaged.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12 11:39:46 -08:00
Dirk Hohndel
c9f927d547 Updates to Ubuntu package building process
Marble can't be static, so instead we build a shared library but give it a
different name so it can be installed in parallel with the "real"
libmarblewidget.so.

Also make sure that the correct libusb is installed so that Atomics Aquatics
dive computers are supported.

Fixes #782

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10 13:08:35 -08:00
Dirk Hohndel
18159b6265 Minor tweak to Ubuntu package building
12.04 can't build our Qt5 based package, so let's just drop it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10 09:45:53 -07:00
Miika Turkia
bac2b92860 Add utopic and precise to Ubuntu packaging
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-07 09:42:14 -06:00
Dirk Hohndel
8f224c1737 Ubuntu packaging: move support files into debian directory
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-03 09:39:57 -08:00
Dirk Hohndel
89c333e4b6 Ubuntu packaging: remove .git trees from sources
Oops, I thought I had done that but that was flat out wrong.
Now the source upload shrinks from over 70MB to around 26MB. Much better.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 22:11:23 -08:00
Dirk Hohndel
43a8287779 Ubuntu packaging: switch to Qt5
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 21:03:06 -08:00
Dirk Hohndel
eba18ff5e9 Ubuntu packaging: get git version without including the full git tree
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 18:31:42 -08:00
Dirk Hohndel
a1cd230625 Ubuntu packaging: include static libmarblewidget
Still all Qt4 based. Baby steps.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 18:31:36 -08:00
Dirk Hohndel
fabdb6b65c Make sure Ubuntu package built script is started from the right directory
I kept starting it from within the subsurface directory which of course failed
but left clutter around.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 11:04:37 -08:00
Dirk Hohndel
589f277477 Adjust version numbering for Ubuntu package
Let's use all four digits as 'version'.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 10:55:52 -08:00
Dirk Hohndel
ebd22b9abc Allow static libgit2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 08:51:32 -08:00
Dirk Hohndel
74447d6389 Add Ubuntu packaging instructions
These files knowingly (one might say, intentionally) violate the spirit
and letter of the Debian / Ubuntu packaging rules. They are intended to be
able to create our own packages that include their own libdivecomputer,
libgit2 and (later) libmarble. Especially for daily builds this is WAY
easier than fighting with whatever may be the current version of these
packages in Ubuntu (especially since this allows us to use our private
libdivecomputer branch).

This assumes that the user runs the make-package.sh script from a
directory below which we have
subsurface/                <- Subsurface checked out git tree
subsurface/libdivecomputer <- desired libdivecomputer sources
subsurface/libgit2         <- desired libgit2 source

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02 08:51:32 -08:00
Dirk Hohndel
d2567f761a Windows installer: move the 32/64 bit check earlier
It makes more sense to do this on init and not have the user go through
any other screens in case this is the wrong binary.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-30 12:40:03 -07:00
Dirk Hohndel
1291d100f6 Ugly hack to work around broken Qt5.3.2 for Windows cross builds
Checking this in to make sure I don't end up creating broken installers
again. I doubt that this is useful for anyone but me - but then, I don't
think anyone but me creates Windows installers.

Background - when Fedora 20 updated the cross-built version of Qt for
Win64 something broke. Subsurfae installed with those DLLs will crash.
Replacing the older 5.3.1 DLLs fixes this for now, so I have a directory
with just those DLLs and simply replace them in the staging directory
before calling makensis.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-29 15:10:32 -07:00
Dirk Hohndel
0e0d6135af Don't install Windows 64bit binaries on 32bit system
Also warn people installing 32bit binaries on a 64bit system

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-29 13:01:19 -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
c477f56029 Update my Mac packaging scripts for Qt5
I have no idea why libmarble isn't handled correctly by macdeployqt...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-04 22:54:02 -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
Miika Turkia
c43708bc8e Remove theme directory when uninstalling on Windows
I assume the theme directory should be deleted on uninstall the same way
e.g. Documentation directory is deleted.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-07-13 21:39:42 -07:00
Dirk Hohndel
bded22f2f6 HTML export: fix packaging of theme dir
I was confused by the function name getSubsurfaceDataPath() - it does not
find paths relative to the "data" folder, if finds the path where we might
install folders like "data", "translations", or "theme".
"data" is for some reason where we install the "marbledata" files.
Therefore on both Mac and Windows we need to put the "theme" directory
next to the "data" directory, not below it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08 07:54:11 -07:00
Dirk Hohndel
72362d0993 Build tools: allow debuggable cross builds for Windows
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-07 19:39:50 -07:00
Dirk Hohndel
049b6c0426 Prepare for Qt4 / Qt5 cross builds of Windows binaries
Admittedly I believe I'm the only one using this script (and related .nsi
file), it still seems to make sense to keep it up to date in the
repository.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-06 09:18:13 -07:00
Dirk Hohndel
d461780369 Windows out of tree cross build: stage package in correct folder
When doing an out of tree build you don't want to stage the package with
the source but under your current directory. So let's make sure we
distinguish between source and target here... and instead of putting
things into packaging/windows they now end up in staging which is much
more consistent. And to make my life even easier, the installer .exe ends
up in the base dir in which you build the package.

Also, we link statically against libdivecomputer, so don't pack the dll.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-21 12:16:56 -07:00
Dirk Hohndel
986309b108 Windows cross build: use the correct objdump
This one was silly but took me a while to track down.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-21 11:08:10 -07:00
Dirk Hohndel
4c8369a7ba More cross building stuff
This is all mostly to make my life easier.
I'm not thrilled with the marble changes - as Linus pointed out before the
way we do these "LIBxxxDEVEL" changes is broken as it will still first
link against any library installed in the system. But since I have removed
any globally installed copies of these libraries this actually works for
me and it does help when experimenting with different build options for
the main libraries that we depend on.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-21 08:54:04 -07:00
Dirk Hohndel
01a185979e Out of tree cross build for Windows
This way I can have a different directory from where I build Windows
binary without interfering with my native build in the source directory.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-19 11:46:50 -07:00
Dirk Hohndel
4edf37f9be Update cross building for Windows on Linux
This updates the instructions and the plumbing to be able to link against
a locally built libgit2

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-07 16:33:00 -08:00
Thiago Macieira
68d80e7a9d Update the Mac Info.plist structure
The bundle signature is not a necessary property in any of the OS X
versions we support. And the current bundle version identifier is 6.0,
not 1.0.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-26 17:17:50 -08:00
Thiago Macieira
28d0cb8e2c Set the NSPrincipalClass in Info.plist
This is required to enable HiDPI support for the Retina displays. The
Info.plist that comes with Qt had this, but the one we supply with
Subsurface didn't.

Done-with: Jake Petroules <jake.petroules@petroules.com>
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-25 17:35:20 -08:00
Dirk Hohndel
7c8a39015a Enable https for Windows binaries
This requires the ssleay32.dll and libeay32.dll to be copied into
packaging/windows, first.

Fixes #367

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28 21:04:07 -08:00
Dirk Hohndel
a0b9daf63b Improve signing script, adjust flags for gcc-4.2
On one of my machines codesign doesn't find my signing key by hash, but
does find it by name. Go figure.
Also on that same system (32bit Mac Mini with running Snow Leopard / 10.6)
gcc 4.2 doesn't support the -unused-result warning. So let's only turn
that on for more modern versions of gcc

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-19 20:42:59 -08:00
Thiago Macieira
ca8aee4701 Move the XSLT files into a Qt resource
This means we no longer need to keep them on disk and worry about
installing / uninstalling them. They will always be kept in-memory
(compressed).

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-16 16:20:52 -08:00
Dirk Hohndel
5c2ded5840 Disable https on Windows for 4.0
We appear to be missing the correct dll. I'm out of time trying to track
this down, so I just switched Subsurface to access divelogs.de via http on
Windwos.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-15 14:24:30 -08:00
Dirk Hohndel
d3065d811a Tools to create nice signed DMG
These are only useful for me, but having them in git makes my life so much
easier...

Instead of using macdeployqt to create my DMG I use the tool that I used for
Subsurface 3. This allows for much prettier DMG content as well.

Fixes #329

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-15 11:22:57 -08:00
Thiago Macieira
ee5d8e3cfc Don't install the actual icon files
They are loaded into a Qt resource and always accessed via it.

[Dirk Hohndel: had to hand edit / apply the changes to the .pri file]

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-12 08:00:41 +01:00
Dirk Hohndel
9cb9dba7b6 Fix the Windwos installer
Install the Documentation and include it in the installer.
Try and get all the directories and files removed in the uninstaller.
Where the heck does 'oldshare' come from?

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-06 21:46:15 -08:00
Thiago Macieira
51c519f624 Include the translations in the Windows installer
Fixes #324

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-05 20:09:24 -08:00
Lubomir I. Ivanov
d0f807f0ed subsurface.nsi.in: set icons for the executable shortcuts
The executable shortcuts were lacking icons. This should
do the trick, by using the packaged subsurface.ico.

Perhaps it would be better if we hardcode the icon into
the executable as a resource.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-28 15:29:13 -08:00
Thiago Macieira
d2de5afd02 Include qt.conf in the Windows installer
Otherwise, Qt won't find its plugins.

No plugins -> no JPEG decoding -> very ugly maps (an understatement)

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27 17:55:54 -08:00
Thiago Macieira
1080e5ca35 Fix plugin deployment on Windows
And increase our list of plugins to be deployed to include the GIF and
SVG image plugins, the SVG icon engine and the CJK text codecs.

The install rules now iterate over the plugin list and deploy the
plugins in the right path in the staging area. The plugins must also
be scanned for dependencies (Fedora's qjpeg4.dll depends on
libjpeg-62.dll, which neds to be copied to the staging area).

Finally, fix qt.conf needed to be fixed.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27 17:55:24 -08:00
Thiago Macieira
4b4e59a7e8 Use wildcards in the NSIS installer rules for Qt DLLs
That way, the NSIS rules also work for creating an installer for debug
builds. Which you'd do by running:
  make -f Makefile.Debug installer

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27 17:55:05 -08:00
Thiago Macieira
9befbe4109 Search for different versions of libzip DLL
My system has libzip-1.dll, but Dirk's is probably newer and has
libzip-2.dll

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27 17:54:32 -08:00
Thiago Macieira
34c77db506 Don't try to deploy libintl DLL on Windows
We don't use it for translations anymore.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27 17:54:28 -08:00
Thiago Macieira
08f4f42e1e Tell NSIS to search for the DLLs in packaging/windows
The "make install" step will copy all we depend on DLLs there.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27 17:54:24 -08:00
Dirk Hohndel
06bf0e1849 Include icons in the Windows installer
Also fix the dependency / ordering issue with running makensis

Fixes #252

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-15 15:02:45 -08:00
Dirk Hohndel
9383693928 Create installer with qmake
This is seriously flawed. makensis is run twice for some reason. I also
noticed that the data and xslt directories under packaging/windows aren't
created when running make install. Running
	make -f Makefile.Release install_marbledir install_deploy
works, but obviously this should be taken care of by the dependency.

The installed binary under Windows is not finding its icon, the
translations are missing... lots of work left to do here.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-05 13:05:14 +09:00
Dirk Hohndel
35952a59d0 Get cross build to work again
...and re-enable silent mode by default for cross builds

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11 13:33:38 -07:00
Thiago Macieira
57994fa7a1 And let qmake create the Mac bundle on its own
It will even parse the Info.plist.in file for us and run sed on it.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08 23:29:43 -07:00
Thiago Macieira
88b34b56db Add information that goes into the Windows .exe file
And drop the unnecessary .rc file.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08 23:29:43 -07:00
Dirk Hohndel
b473604ee8 Update installer so we can cross-build for Windows
Marble doesn't work, yet (Google Maps aren't loaded), but at least
Subsurface starts under Windows with the installer built.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-09-17 15:05:10 -04:00
Dirk Hohndel
f3f7bf51fa Merge branch 'Qt'
After the 3.1 release it is time to shift the focus on the Qt effort - and
the best way to do this is to merge the changes in the Qt branch into
master.

Linus was extremely nice and did a merge for me. I decided to do my own
merge instead (which by accident actually based on a different version of
the Qt branch) and then used his merge to double check what I was doing.

I resolved a few things differently but overall what we did was very much
the same (and I say this with pride since Linus is a professional git
merger)

Here's his merge commit message:

    This is a rough and tumble merge of the Qt branch into 'master',
    trying to sort out the conflicts as best as I could.

    There were two major kinds of conflicts:

     - the Makefile changes, in particular the split of the single
       Makefile into Rules.mk and Configure.mk, along with the obvious Qt
       build changes themselves.

       Those changes conflicted with some of the updates done in mainline
       wrt "release" targets and some helper macros ($(NAME) etc).

       Resolved by largely taking the Qt branch versions, and then editing
       in the most obvious parts of the Makefile updates from mainline.

       NOTE! The script/get_version shell script was made to just fail
       silently on not finding a git repository, which avoided having to
       take some particularly ugly Makefile changes.

     - Various random updates in mainline to support things like dive tags.

       The conflicts were mainly to the gtk GUI parts, which obviously
       looked different afterwards.  I fixed things up to look like the
       newer code, but since the gtk files themselves are actually dead in
       the Qt branch, this is largely irrelevant.

       NOTE! This does *NOT* introduce the equivalent Qt functionality.
       The fields are there in the code now, but there's no Qt UI for the
       whole dive tag stuff etc.

    This seems to compile for me (although I have to force
    "QMAKE=qmake-qt4" on f19), and results in a Linux binary that seems to
    work, but it is otherwise largely untested.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-17 22:01:41 -07:00
Lubomir I. Ivanov
72636deee3 Windows installer: append the package version to registry
On installation, set the "DisplayVersion" registry value
to ${SUBSURFACE_VERSION}, so that a version is displayed
when browsing the list of installed programs.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-15 17:35:52 -04:00
Lubomir I. Ivanov
41373e467a Windows installer: add an "Add/Remove Programs" entry
The NSIS script on installation will write a key to the registry
that will be shown to the user as a "Subsurface" entry (with icon)
in the list of installed programs that can be uninstalled
(e.g. in the Control Panel).
On uninstall, said registry key will be removed.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-14 13:32:06 -04:00
Dirk Hohndel
ce46a60caf Fix Windows cross build
commit 59294029f3d1 ("Capitalize package name and add capitalized tar-ball
prefix") had an unintended side effect: the cross build for Windows on
Linux no longer worked (as it set NAME=subsurface.exe).

Fixed this by introducing a TARGET variable that is derived from $(NAME).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-14 06:27:45 -04:00
Dirk Hohndel
5775905727 Try to add required dependencies to get https working on Windows
This clearly isn't enough. But I simply can't seem to get this to work...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-11 21:54:04 -07:00
Dirk Hohndel
4dfaccccb3 Report error string for libsoup connection to divelogs.de
Just reporting a default string that something went wrong is kind of
pointless...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-11 21:53:29 -07:00
Dirk Hohndel
060e5c764c Matching build fixes for cross built Windows
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-03 13:34:55 -07:00
Dirk Hohndel
80c8d08d8b Make Qt branch cross-build for Windows
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-04-09 07:01:20 -07:00
Dirk Hohndel
eba62d3cf1 Windows installer needs libsqlite
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-04-03 14:22:53 -07:00
Dirk Hohndel
07b2c204c9 Remove ancient (and unwanted) Debian packaging directory
The Debian maintainers prefer this to be separate from the upstream
sources

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-05 12:05:42 -08:00
Dirk Hohndel
1be9467231 Mac bundle: include the XSLT files
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-23 16:20:19 -08:00
Dirk Hohndel
cdef0e4555 Windows: add libzip dll to installer package
This was missing in the first set of Subsurface 3.0 binaries

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-22 07:08:36 -08:00
Lubomir I. Ivanov
65b6941e7c Some small changes to the Windows NSI script
- on uninstall, delete all XSLT files and the "$instdir\xslt" folder itself
- manage a desktop icon (i believe we had that before?)
- ignore SVG files, as we are now embedding them as static resources

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-21 05:50:26 -08:00
Dirk Hohndel
678dafbe67 Update MacOS make-package script
The three digit number is needed for the Info.plist, not for the dmg and
volume names.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 22:45:11 -08:00
Dirk Hohndel
78dda16d1c Add missing library to Windows installer
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 22:39:53 -08:00
Dirk Hohndel
bb44e108a3 Force recreation of the Windows .nsi file when cross building
This way we make sure that the version number for the installer is correct.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-16 15:53:53 -08:00
Cristian Ionescu-Idbohrn
155228004e Consistent syntax.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-16 15:46:14 -08:00
Cristian Ionescu-Idbohrn
99159f06cc Remove useless whitespace.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-16 15:45:55 -08:00
Cristian Ionescu-Idbohrn
44c7e02c94 Remove useless curly brackets.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-16 15:43:30 -08:00
Cristian Ionescu-Idbohrn
576d5a22ca Remove useless quotes.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-16 15:43:11 -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
Cristian Ionescu-Idbohrn
2d8a203026 No bashisms in this script, AFAICS.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-16 15:35:29 -08:00
Dirk Hohndel
41256531b8 Further automization of the Mac build process
This improves the Plist.info and automates the version data that it uses
utilizing the same git magic that the Makefile uses.

It also makes the complete DMG creation a matter of simply running
packaging/macosx/make-package.sh

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-15 22:30:02 -08:00
Dirk Hohndel
abbea98344 Update the NSI installer script for Windows
This grabs the whole XSLT directory, adds osm-gps-map and removes the
OpenSSL dependency.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-15 19:55:19 -08:00
Dirk Hohndel
306d503528 Add Mac DMG background file
This is actually used in commit b354a4d61d2a ("Update tools and
instructions for building a signed Mac DMG") but I forgot to include it
there.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-15 02:39:29 -08:00
Dirk Hohndel
61066b9ea9 Update tools and instructions for building a signed Mac DMG
This updates the bundle to include the mime.cache and a library that
somehow isn't picked up by the bundle tool.

It also updates the README on how all this is supposed to work and puts
some of the automation into the existing shell script.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-15 02:32:41 -08:00
Henrik Brautaset Aronsen
459130009b Rename subsurface.svg to subsurface-icon.svg
In preparation for a subsurface-icon.h, this should avoid confusion
about whether "subsurface.h" is a core header file.

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
2013-02-02 21:27:15 +01:00
Dirk Hohndel
5d9ed3f1b4 Bump version number to 2.9
This is intended as a visual sign that we are getting closer to 3.0.

We should consider this a "soft" code freeze / string freeze - I'm still
looking for a bunch of fixes, small additions and of course documentation,
but no new major features.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-01 17:48:55 +11:00
Dirk Hohndel
002fe45dfd Try to automate the version number used in the windows installer
This adds a Makefile target to create the .nsi file from a template and to
hopefully create the right strings to magically get the correct version
strings in the Windows installer

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-24 15:58:35 -08:00
Dirk Hohndel
4ea90fcb0b Add modules file for building prerequisites on MacOS X
This should allow the user to build osm-gps-map with jhbuild (all other
required components are already build by the jhbuild default modules).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-19 16:19:11 -08:00
Dirk Hohndel
edfdef1bbc Add libsoup to Windows installer
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-18 10:39:05 -08:00
Dirk Hohndel
969ab7f121 Add crypto library to Windows installer file
This dependency was brought in by commit 3e51d56f87a3 "Improve on
divecomputer data handling".

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-12-11 16:04:17 -08:00
Dirk Hohndel
48e7575741 Bump version to 2.1
Getting ready for the release

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-22 20:57:57 -07:00
Dirk Hohndel
79d204dde8 Add quick script to automate Mac dmg creation
This basically automates what is documented in the README

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-21 13:40:35 -07:00
Dirk Hohndel
e47b52ecdb Bump version to 2.1-rc3
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-21 01:27:49 -07:00
Dirk Hohndel
e6454f1773 Finally a fully working Mac dmg
The Makefile change simply gets us the same setup with make install-macosx
that we are getting from the gtk-mac-bundler - with the launcher script
and subsurface installed as subsurface-bin.

The changes in the README are what make the difference for getting a
working dmg - there are a bunch of .so files that are part of gtk that
didn't have their dependency load paths updated - and those made the
application either crash or at least not display its own icon correctly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-20 21:06:35 -07:00
Dirk Hohndel
f481622156 Yet more changes to create localized builds for Mac
It turns out that we need aliases for all the languages. And more fiddling
when creating the dmg. And a specialized MacPorts build with the install
path as prefix. What this basically means is that our app will be
correctly localized iff run as /Applications/Subsurface.app
Otherwise the gtk default texts (on buttons for example) may or may not be
translated.

One remaining issue is that apparently Gtk's Mac integration triggers on
the untranslated name Help the Menu tree in order to work. Yet we can't
easily tell the app not to translate that word as the translations are
done internally in gtk - we'd basicall have to build special subsurface.mo
files for Mac that don't contain a translation of the word "Help" for this
to work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-19 12:58:59 -07:00
Dirk Hohndel
4d649151b5 Bumped version to 2.1-rc2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-18 22:33:36 -07:00
Dirk Hohndel
40ae90920a Fix typo and make variable name more logical
[the macos/macosx typo was also found and a patch submitted by
 Henrik Brautaset Aronsen <subsurface@henrik.synth.no>]

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-16 23:55:35 -07:00
Dirk Hohndel
04c5e65b8c Redoing the Mac bundling
With the right tools in place you can now create a bundle from the
Makefile by calling "make create-macos-bundle"

In the process of this I also moved the locale directory where we stage
our .mo files to share/locale (which is much more logical).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-16 21:37:43 -07:00
Dirk Hohndel
faff4d29dd Update version to 2.1-rc1
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-16 09:15:03 -07:00
Dirk Hohndel
a9f3655d1a Improved packaging for Windows
This commit adds an install-cross-windows target to the Makefile that
creates a staging directory for us under packaging/windows that contains
the required .mo files. This currently fails for the Norwegian translation
because of the no_NO.UTF-8 vs nb issue - right now we just use the first
component of our own localization filename to find the matching Windows
localization and that fails.

The subsurface.nsi file is updated accordingly and this now appears to
create working installers with sane paths for the localization files.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-16 04:08:33 -07:00
Lubomir I. Ivanov
cc08e03678 subsurface.nsi: call RMDir for the 'share' and 'locale' subfolders
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-16 02:16:42 -07:00
Dirk Hohndel
fada2f6bc6 Better Windows installer .nsi file
This still requires on carefully staged files in the packaging/windows
directory. Specifically:

- the dll directory (or symlink) points to the installed gtk Windows DLLs
- the mydll directory (or symlink) contains six other DLLs (where the
  cross built DLLs from Fedora for some reason file, but can be
  transparently replaced with the ones from the upstream binary
  package
- the share directory contains the Windows gtk locale files (but only for
  the locales that we support, anyway)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-15 21:27:16 -07:00
Dirk Hohndel
4b9a59a154 Merge branch 'gettext'
Bring all the localization changes into master in preparation for
Subsurface 2.1
2012-10-15 09:37:09 -07:00
Dirk Hohndel
efb1928d51 Add translation files to the Windows installer package
A lot more needs to happen for localization on Windows, but this is the
first step.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-12 12:33:24 +09:00
Henrik Brautaset Aronsen
21dec2a134 More gtk-mac-bundler improvements
Without "-headerpad_max_install_names", gtk-mac-bundler would complain
with "changing install names or rpaths can't be redone for:
/Applications/.subsurface.app/Contents/MacOS/subsurface-bin (for
architecture x86_64) because larger updated load commands do not fit"

Also, libdivecomputer needs to be configured with --with-prefix=/opt/local

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-11 21:37:54 +09:00
Lubomir I. Ivanov
ffd3b8591d subsurface.nsi: install program shortcuts for all users
http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.7.7:
"Sets the context of $SMPROGRAMS and other shell folders. If set
to 'current' (the default), the current user's shell folders are used.
If set to 'all', the 'all users' shell folder is used"

Specific to the Windows installer.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-09 16:32:05 +09:00
Dirk Hohndel
14856aab4b Bump version to 2.0.1
That crash is far too easy to hit for people just trying out subsurface.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-07 21:02:48 +09:00
Dirk Hohndel
3917e7b2f7 Force subsurface.sh on Mac to use bash
This was in a patch set from Henrik but got dropped at first while we
explored a different solution. So now it comes back as maybe the most
trivial commit, ever :-)

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-04 03:07:22 -07:00
Henrik Brautaset Aronsen
29e19cdfb7 Add readme file for MacOSX package
There are a couple of gothas on MacOSX involving GateKeeper on
Mountain Lion, and dialogues that sometimes doesn't pop up.  This
file explains that.  The file should be included in the DMG, but that's
for a different commit.

[Dirk Hohndel: fix whitespace and some rephrasing]

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-04 03:01:27 -07:00
Dirk Hohndel
f3b9a37fb2 More fixes to MacOS bundle file and README
This still seems to fail to open the icon in the About screen in some
cases, but we don't quite understand why...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-02 12:13:19 -07:00
Henrik Brautaset Aronsen
eba4b86788 Fix typos for MacOSX packaging scripts
Fixed a couple of typos.

[Dirk Hohndel:	I took the typo fixes, but not the change of shell used;
		rewrote the commit message accordingly]

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-02 11:12:28 -07:00
Dirk Hohndel
73f290be8f Add packaging files for MacOS
I couldn't figure out how the current packaging infrastructure was supposed to
work, but with not too much work I could get the more standard gtk-mac-bundler
to do what I wanted, so I added the support files needed for that and a little
README on how to use them.

The subsurface.sh and subsurface.bundle files are based on the launcher.sh
and gtk-demo.bundle files from the gtk-mac-bundler release which is under GPLv2.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-10-01 20:47:50 -07:00
Dirk Hohndel
58ba24b84e Getting ready for the 2.0 release
Changing the version to 2.0-rc1

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-09-26 20:50:23 -07:00
Ivan Habunek
0cf3a11645 Cosmetic changes to the NSIS installer script
Removed redundant /oname settings when copying files. This is not required
since the file name is not changed.

Signed-off-by: Ivan Habunek <ivan.habunek@gmail.com>
2012-09-18 13:43:48 +02:00
Ivan Habunek
94bcb3fa36 Fixed permissions in NSIS installer
Windows Vista and later require admin privileges to install to the Program
Files folder. Updated RequestExecutionLevel accordingly.

Signed-off-by: Ivan Habunek <ivan.habunek@gmail.com>
2012-09-18 13:39:24 +02:00
Ivan Habunek
52e35b3aa8 Minor improvements to the NSIS installer script
VIProductVersion requires to have the version number in x.x.x.x format
so I added a separate constant SUBSURFACE_VIPRODUCTVERSION for that
purpose. Also renamed VERSION to SUBSURFACE_VERSION for consistency.

As Lubomir suggested on the mailing list, the installer will now delete
any DLL files found in the target folder to prevent buildup of old
versions of libraries when upgrading subsurface.

Signed-Off-By: Ivan Habunek <ivan.habunek@gmail.com>

Cleaned up whitespace issues

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-09-13 09:39:31 -07:00
Ivan Habunek
791edd78b4 Minor fix for the NSIS installer script
Forgot to add "Uninstall.exe" to the uninstaller section, so the file and
the installation folder weren't being deleted on uninstall.

Signed-Off-By: Ivan Habunek <ivan.habunek@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-09-13 09:39:18 -07:00