summaryrefslogtreecommitdiffstats
path: root/packaging
AgeCommit message (Collapse)Author
2021-01-10build-system: compile stats code on mobile OSsGravatar Dirk Hohndel
Android and iOS use qmake, so add the code to the .pro file. This also removes all remnants of QCharts includes and uses and all the references to QCharts in our various build systems. That was a brief but extremely useful detour. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-03build-system/Windows: package the QtCharts QML resourcesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-30cleanup: fix typoGravatar Dirk Hohndel
Sorry about that. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-30build-system: update OBS spec fileGravatar Dirk Hohndel
Contrary to the Launchpad builds, OBS isn't actually using the spec file that is included in the Subsurface source but instead maintains its own. So this is just updating to the version that has been tracked over there, mostly for reference. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-30build-system: fix Launchpad packagingGravatar Dirk Hohndel
There are just so many places where I need to remember to update the package lists. Turns out I had forgotten to add libmtp to the Linux builds when we add the Garmin Descent mk2 support... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-30cleanup: remove obsolete macOS packaging filesGravatar Dirk Hohndel
Several of these stem back from when Subsurface was a Gtk2 app. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-30cleanup: remove obsolete iOS packaging filesGravatar Dirk Hohndel
These have all been replaced with the current build process. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-30cleanup: remove obsolete Android scriptsGravatar Dirk Hohndel
These have all been replaced with the current qmake based build process. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-29update Windows READMEGravatar Dirk Hohndel
Pointing at the current build container. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-23build-system/Android: adapt the Google maps plugin nameGravatar Dirk Hohndel
This appears to be needed only for Android with Qt 5.15. Which means that this commit creates odd breakage in case someone were to try to build for Android with an older Qt version - but given that the current build process only works with Qt 5.14 or 5.15, I think this is an acceptable flaw. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17build-system/iOS: fix minimum iOS version supportedGravatar Dirk Hohndel
Qt requires iOS 10, let's not pretend that we can support ancient iOS 6. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17build-system/iOS: remove outdated build-ios directoriesGravatar Dirk Hohndel
The places we build things are still rather inconsistent for historic reasons - this definitely deserves some more cleaning up. The top level build-ios dir was completely unused, and the build location for the googlemaps plugin was inconsistent with all of the other build dirs. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17Android: improve documentation and setup scriptGravatar Dirk Hohndel
This has now been verified to work on a fresh clean Ubuntu 20.04 install, both using the docker image route as well as the full local build system. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17build-system/iOS: remove obsolete .pro fileGravatar Dirk Hohndel
We now use a shared one in the root directory. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17build-system/iOS: create the build directory parallel to subsurfaceGravatar Dirk Hohndel
This seems more consistent with how we do things elsewhere. Also make sure that the ssrf-version.h file is created in the correct directory. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17build-system/iOS: build Kirigami separately for iOS as wellGravatar Dirk Hohndel
Since the integrated build no longer seems to work, this creates a separate Kirigami build using qmake (as I couldn't make Kirigami's cmake build work). The install target tries to install into the Qt install which may not be possible with a user account, so this instead uses the built library directly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17build-system/iOS: ensure cmake works for Qt buildsGravatar Dirk Hohndel
I stumbled across needing this when trying to build Kirigami via cmake (just like on Android). I abandoned that attempt, but there seems to be no harm in adding this. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17build-system/Android: we need to collect the ABIs earlierGravatar Dirk Hohndel
That's what happens if you develop a script like this sequentially. We need to have the ABIs picked in order to build googlemaps, otherwise this fails with the build container as that only includes the ARM libraries and tools. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17build-system/mobile: force using our own ECM buildGravatar Dirk Hohndel
If the OS has an older one installed, that is found first and the build fails. This way we know that ours is used. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17android/build-system: build kirigami as libraryGravatar Dirk Hohndel
Doing it this way using the cmake build system at least gets us to the point where everything links and appears to fit together. It still doesn't work at all, but hey, progress. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-12profile: move DiveHandler to profile-widget folderGravatar Berthold Stoeger
These are the small dots that describe dragable points on the profile when in the planner. It makes no sense to have them in desktop's planner-widget code. They belong to the profile. Therefore, move the code there and compile on mobile. Not everything can be compiled on mobile for now, but it is a start. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-03Shorten the packages listGravatar Robert C. Helling
I compared the packages to those that come with a fresh Raspian install and also removed those that are dependencies of others. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-12-03downloader: make cgi-script functional and add documentationGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2020-11-19android: ensure that gradle can handle UTF8 filesGravatar Dirk Hohndel
This should be the case automatically, but appears to fail when run as part of the GitHub Action. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system: update Android builder docker containerGravatar Dirk Hohndel
This adjusts the docker setup to create a container with the correct NDK, SDK, tools, Qt version, etc, and updates the helper scripts that are needed in order to do that. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: ensure all required pieces are in place for the buildGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: move the build of googleaps pluginGravatar Dirk Hohndel
We want to build the googlemaps plugin once we know with architectures we are building for. So let's do that right before we build Subsurface-mobile. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19iOS: adjust GitHub Action to new build formatGravatar Dirk Hohndel
It's frustrating that I can't get the translation.qrc support the translation files to be created in the build directory. Having them as part of the sources just feels wrong. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system/iOS: no longer build in packaging/iosGravatar Dirk Hohndel
That always was such a weird choice. This also adjusts to a minor change in the layout of libgit2 sources. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19build-system: combine iOS and Android Subsurface-mobile.proGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: add qmake based build for Subsurface-mobileGravatar Dirk Hohndel
Several features that are needed to create Android bundles with the current NDK and QT 5.15 aren't easily available when using cmake. Given that we already do a qmake based build for iOS, I decided to simply switch Android to that as well. An added complication is that some of the magic that qmake uses to do the right things fails if the .pro file isn't in the root directory of your project. So this is right now somewhat inconsistent with the way we build for iOS. Something that should get cleaned up in the near future as it makes no sense to maintain two separate .pro files. This commits also adds a new build shell script to drive the assembly of all the dependencies. Once again this is a new file with the old one left in place for now (but to be removed fairly soon). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19android: add new build setup scriptGravatar Dirk Hohndel
This installs the required versions for most components, switches us to Qt 5.15, current SDK, NDK, and the current OpenSSL version. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19ios: correct capitalization of filenameGravatar Dirk Hohndel
This was changed in commit 9ed886e4be ("Cleanup: lower-case filenames in core/subsurface-qt/") but since iOS builds happen on a case-insensitive file system, no one ever noticed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-12build-system: allow building only a 64bit Windows installerGravatar Dirk Hohndel
This is simply a time optimization that is sometimes useful Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-31cleanup: fix stupid hack for MXE build scriptGravatar Dirk Hohndel
This is much easier. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30build-system: enable both 32 & 64 bit Windows buildsGravatar Dirk Hohndel
The 32bit build won't include libmtp and therefore won't support the Garmin Descent Mk2/Mk2i. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30build-system: Docker build for 64bit MXEGravatar Dirk Hohndel
We previously tried to build the MXE Docker container on GitHub using an Action, but that really didn't work well and was a lot more trouble than it was worth. So this goes back to an offline build mechanism where I simply create an updated Docker image when needed and push that to Docker Hub. But this nearly hides the most interesting change here - we are finally switching to using 64bit binaries on Windows. It's 2020 and fewer than 1% of our users use 32bit Windows machines. We'll need to expand this to be able to have both a 32bit and a 64bit version of Subsurface for Windows. But for now, this solves the problem for 99% of our users. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30build-system: adapt the smtk2ssrf script for 64bit WindowsGravatar Dirk Hohndel
Quite analogous to the Subsurface Windows build script. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30build-system: first steps towards a 64bit Windows buildGravatar Dirk Hohndel
This is barely scratching the surface (no put intended), and of course the container needs to be updated, first, to have a 64bit version of MXE installed, but this seems to help make libmtp build correctly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30build-system: add libmtp for our Windows buildsGravatar Dirk Hohndel
This uses latest master (as that's the only one that has the explicit Descent Mk2i support in it). Right now, unfortunately the MXE build fails. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-25cleanup: move interpolate inline function to its own header fileGravatar Berthold Stoeger
This is not really related to struct dive, so let's move it. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-10-25cleanup: split out divecomputer functions from dive.cGravatar Berthold Stoeger
Since dive.c is so huge, split out divecomputer-related functions into divecomputer.[c|h], sample.[c|h] and extradata.[c|h]. This does not give huge compile time improvements, since struct dive contains a struct divecomputer and therefore dive.h has to include divecomputer.h. However, it make things distinctly more clear. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-10-25cleanup: break out event-related code into event.[c|h]Gravatar Berthold Stoeger
In an effort to reduce the size of dive.h and dive.c, break out the event related functions. Moreover event-names were handled by the profile-code, collect that also in the new source files. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-10-25undo: add device related undo commandsGravatar Berthold Stoeger
Add commands for deleting devices and editing device nicknames to include the device-handling in the undo system. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-10-24build-system: switch to using C++17 as default C++ dialectGravatar Berthold Stoeger
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-23core: add a small helper-struct that keeps track of xml-parametersGravatar Berthold Stoeger
The XML-parameter code is a mess. Ownership is unclear. Allocation and freeing of strings is in different functions. Sometimes only every second string is free()d, because keys are not copied. But this is done inconsistently. The caller has to know how many parameters the callee may add. Instead, let's add a small helper-struct that uses C++ memory management, but exports a C-API. The array for the XML-library is generated on the fly. This is only the implementation, the old code is not yet replaced. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-10-09packaging/windows: add the /styles folderGravatar Lubomir I. Ivanov
For Windows, the Subsurface installers do not include the file "qwindowsvistastyle.dll" required to make the applications that are published to have a native look. Modify the MXE *build.sh scripts to include the file as "plugins/styles/qwindowsvistastyle.dll". Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2020-10-08build-system: remove Grantlee from the packaging scriptsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-29filter: add filter preset undo commandsGravatar Berthold Stoeger
Add undo commands to add / edit / delete filter presets. These are styled after the other undo commands: On changes, the UI is informed by DiveListNotifier signals. Editing is a simple std::swap of values. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-09-29filter: add (very primitive) filterpresetmodelGravatar Berthold Stoeger
Implement a trivial model to provide the filter preset names to the UI. Sadly, for now this features the QWidget/QML column / name dichotomy. However, in this simple case that shouldn't be too much of an issue. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>