Commit graph

560 commits

Author SHA1 Message Date
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
Ivan Habunek
bccbdccdfa Added version info to NSI installer script.
Also bumped version number to 1.2 (current release).

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

More whitespace cleanup

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-09-13 09:38:19 -07:00
Ivan Habunek
5cf89b4d28 Created a modern windows installer script
The existing windows installer looks very archaic and offers very few
configuration options. This script offers the following benefits:
* A modern appearence using NSIS Modern UI 2.0
* Shows the GPL license before install
* User can choose the target install folder
* Stores chosen installation folder in registry
* When installing a newer version on top of existing one, the existing
  installation folder is offered by default
* It is possible to opt out of creating start menu shortcuts

Additional bug fixes:
* Added iconv.dll which was missing from the installer
* Replaced all path separators with backwars slashes, so that the script
  works on both linux and windows

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

Cleaned up whitespace

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-09-13 09:24:50 -07:00
Henrik Brautaset Aronsen
854391419f More Mac improvements
The startup shell script workaround isn't needed anymore. The preferences
hotkey didn't work. Remove left-over menu separators.

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
2012-01-03 20:19:57 +01:00
Dirk Hohndel
605e063203 Turn subsurface into a real Mac application
To do this a few things needed to move into the os specific files, but the
overall change is fairly small and the difference on the Mac is amazing.

Subsurface now becomes a Mac app with Mac toolbar and useful default
fonts.

Changed the CFBundleIdentifier to be the reverse DNS of the subsurface
site (sadly, 'torvalds' is not yet a TLD).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2012-01-01 14:01:38 -08:00
Dirk Hohndel
210781e7be Fixes for the Windows installer
Add missing files and update a library version number.

The library version thing seems to indicate that this is much more fragile
than I'd want it to be...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-12-26 16:07:03 -08:00
Dirk Hohndel
549ad65bcb Add libxslt to Windows packaging file
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-12-12 09:24:54 -08:00
Dirk Hohndel
9b9355c770 Fix mingw-make.sh to find correct xslt-config
I hadn't noticed that xslt was available as cross built library as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-11-27 09:08:55 -08:00
Dirk Hohndel
a9d1f318b5 Update the Windows installer creation script
This now works with a straight out of the box MinGW install on OpenSUSE.
A simple shell script that shows how to invoke the cross build is
included.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-11-25 19:48:09 -08:00
Miika Turkia
350462949d Use XSLT file to open JDiveLog logs
Open JDiveLog files by translating them to subsurface format using XSLT.
These files are identified by the name of the first element (JDiveLog)
and transform is applied to only these.

The XSLT feature is compiled in only if libxslt is installed. The
transformation files are installed globally in Linux under
/usr/share/subsurface/xslt. Windows and OSX still need appropriate Makefile
changes and testing.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-11-05 13:24:53 -07:00
Lubomir I. Ivanov
904f1ad4c5 win32/nsi: added confirmation to store registry settings
a yes/no dialog to clear or store data in HKCU "SOFTWARE\subsurface"
"Do you wish to store subsurface's settings?"

fixed small whitespace issue

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-10-31 20:43:33 -07:00
Linus Torvalds
5076397df0 Merge branch 'macosx-app-bundle-1' of git://github.com/henrik242/subsurface
* 'macosx-app-bundle-1' of git://github.com/henrik242/subsurface:
  Use the new packaging directory for MacOSX specific files, and provide shell script workaround to make the svg icon reachable.
  Ignore process serial number argument when run as native MacOSX app
  Add basic MacOSX app bundle install target
2011-10-31 17:12:59 -07:00
Roland Dreier
06ddeba47e Add Debian packaging
Add support for building .deb packages; to use, one can do

    $ cp -r packaging/debian debian
    $ dpkg-buildpackage -b

This of course requires a libdivecomputer package as a build prerequisite.

Signed-off-by: Roland Dreier <roland@digitalvampire.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-10-31 17:06:41 -07:00
Henrik Brautaset Aronsen
b1a1376f3b Use the new packaging directory for MacOSX specific files, and provide shell script workaround to make the svg icon reachable.
- Make use of the new packaging directory.
- Set a current directory for subsurface to find the svg icon.  There might be a pretter solution to this.
- Somehow subsurface doesn't behave properly in the Dock.  Running it in the background without Dock integration until we figure out why.

Signed-Off-By: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
2011-10-31 09:49:13 +01:00
Dirk Hohndel
28d4075746 Fix Windows install destination
I used Desktop for trying things out and forgot to switch back to the more
traditional "Program Files"

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-10-29 12:04:52 -07:00
Dirk Hohndel
667f07d281 Add first cut of the mingw cross build spec file + nsi file
These need more work but I'd rather have them here under version control.
The spec file appears to successfully build the Windows binaries, given
the right tar file to start with. Those binaries are then packed into an
rpm file (extermely useless to Windows users).

Once the rpm is unpacked one can then use the NSIS compiler and the .nsi
file to create a Windows installer. This all is still extremely fragile,
but it worked at least once...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-10-29 10:02:40 -07:00
Dirk Hohndel
7f0c866f48 Get icons working correctly under Windows
With this we are able to include both a separate .ico file that the
program can load at runtime and a .res file (that is created from the .rc
file, both in the packaging/windows directory) that is linked into the
executable and makes the Windows Explorer show the correct icon for
subsurface.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-10-29 09:14:15 -07:00
Dirk Hohndel
4cf4b9ca28 Updated changes file
Turns out that I forgot the -a in the last commit. Sorry

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-10-24 04:37:26 -07:00
Dirk Hohndel
47ba2ace28 Create packaging directory and add spec and changes file
These work for me on OBS

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2011-10-24 04:26:17 -07:00