[prev in list] [next in list] [prev in thread] [next in thread]
List: calligra-devel
Subject: Re: Review Request 129800: [Mac] : prepare for "linuxy" vs. standalone app bundle builds
From: Dag Andersen <danders () get2net ! dk>
Date: 2017-01-17 10:36:33
Message-ID: 20170117103633.31352.97397 () mimi ! kde ! org
[Download RAW message or body]
--===============3186261429390452704==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
> On Jan. 10, 2017, 8:28 p.m., Anthony Fieroni wrote:
> > So when Karbon works, i'm +1, please try words / sheets are they worked as well as Karbon?
>
> René J.V. Bertin wrote:
> I cannot tell yet, but I'm not expecting any issues because of this patch. As you can see it only \
> touches common/shared code at the moment, and I am NOT building with `-DAPPLE_STANDALONE_BUILD`.
> I *think* I should have most external dependencies installed for Words and Sheets, so I'll be looking \
> at building them in the near future, and update this ticket accordingly.
> I'm my point of view that's icing on the cake that can come after we've reached feature parity with \
> Linux. I can imagine others think different (that's what Macs are for ;)). Hence this patch, it'll make \
> it easier to follow both approaches simultaneously.
> René J.V. Bertin wrote:
> BTW: I do hope for some collaborative brainstorming w.r.t. using info from KoResourcePaths.h more \
> widely, instead of using QStandardPaths types directly. That's a rather delicate intervention which I'd \
> prefer not to take the sole responsibility for.
> René J.V. Bertin wrote:
> I can confirm Words works too with this patch.
>
> (I did have to fix a small issue in the words-odf filter, I've taken the liberty to push the fix: \
> https://cgit.kde.org/calligra.git/commit/?id=a8fd10d8b0a24e581eeb4754b458ba98ddbf0167)
> René J.V. Bertin wrote:
> Sheets works nicely too!
>
> Anthony Fieroni wrote:
> I response for only Karbon, wait for Camilla and Dag Andersen.
>
> René J.V. Bertin wrote:
> Evidently.
>
> Plan also works as far as I can tell (I never used it before).
>
> There is an issue with `calligraplanwork` however, but given the error I think it has nothing to do \
> with my changes. If anything, I may have missed a location where a change is required, for instance to \
> install required DBus service files.
> Dag Andersen wrote:
> Afaics this should be ok.
> The defines in KoResourcePaths.h doesn't seem to be used?
> Can't comment on apple stuff, never seen one close up ;)
>
> René J.V. Bertin wrote:
> > The defines in KoResourcePaths.h doesn't seem to be used?
>
> No indeed. As I tried to explain in the description, they're more a proposal:
>
> > the change to KoResourcePathsImpl::mapTypeToQStandardPaths() only has a real interest if it's used \
> > throughout the code to replace the explicit use of QStandardPaths locations. For now I have set this \
> > up through build-type specific preprocessor macros in KoResourcePaths.h [...]
>
> I don't want to start changing a huge amount of unknown code to use those macros because there are lots \
> of places that would have to be changed, and I don't think it can be done by a few simple \
> search-and-replace runs in an editor. Above all, I want to be sure that you agree about this approach.
> And let me repeat: this isn't necessary for the kind of build that interests me on Mac, so there's no \
> hurry as far as I'm concerned ;)
Afaik KoResourcePaths is used in all calligra.
There are issues and I have a patch waiting (https://phabricator.kde.org/D2577) that didn't get into 3.0.
It's fairly big so I'm waiting for 3.1 to look at it again.
Different thing: in KoApplication line 242 you added a comment:
// add the paths that Krita5 sets in XDG_DATA_DIRS
Krita is not using any calligra libs anymore, so this could possibly be removed but I don't know if any \
other app depends on this, so...
- Dag
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129800/#review101926
-----------------------------------------------------------
On Jan. 10, 2017, 4:34 p.m., René J.V. Bertin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129800/
> -----------------------------------------------------------
>
> (Updated Jan. 10, 2017, 4:34 p.m.)
>
>
> Review request for Calligra and Camilla Boemann.
>
>
> Repository: calligra
>
>
> Description
> -------
>
> This proposal is an initial implementation of things discussed on the ML a short while back.
>
> Building KF5 software on Mac as if on any Unix variant (with "Cocoa" instead of X11) is possible and is \
> what you get without specific changes to the build system. With a few tweaks to Qt's QStandardPaths \
> (provided by MacPorts) this kind of build works flawlessly and with an identical feature set as on \
> Linux c.s.
> NB: this build also puts applications in an app bundle "wrapper", but one that contains just the \
> minimal resources (executable, app icon and Info.plist).
> One can also tweak the build so that a relocatable and standalone app bundle results which contains the \
> application and all its 3rd-party dependencies (Qt5, KF5 frameworks, etc.). This works with a stock Qt5 \
> build but still requires patches throughout KF5 code and build systems. Several projects already \
> provide "official" builds of this type for Mac: Kate, KDevelop, Marble and Krita to name a few.
> The current patch prepares for allowing a choice for either a standalone app bundle build or a more \
> traditional build via a CMake option `APPLE_STANDALONE_BUNDLE` and preprocessor token of the same name. \
> This makes it easy to dissociate the Apple build types from general Apple build requirements. Testing \
> for build flavour is done by checking `APPLE_STANDALONE_BUNDLE`, testing for build platform by checking \
> `APPLE` (CMake) or `Q_OS_MACOS` (Qt/C++) (or `__APPLE__` in code not using Qt).
> In addition to the introduction of the CMake option, the patch
>
> - updates `KoApplication::start()`. Judging from Kate's approach it shouldnt' be necessary on Mac to \
> set `XDG_DATA_DIRS`, which isn't used anywhere in code (except in MacPorts tweaked QStandardPaths!). \
> The `PATH` env. variable also shouldn't be *re*set and only needs changing (potentially!) in a \
> standalone app bundle build. I don't have a MS Windows dev. system so I've merged Krita's way of \
> setting `XDG_DATA_DIRS` with Calligra's current code. Note that Qt/Win also doesn't seem to use that \
> variable in `QStandardPaths`.
> - rewrites `KoResourcePathsImpl::mapTypeToQStandardPaths()` to use a much more efficient static `QHash` \
> table. *A priori* it should be possible to use `QStandardPaths::AppDataLocation` to obtain the location \
> of the app bundle resources directory; it could be populated with symlinks into \
> `/path/to/foo.app/Contents/share` so resources can be found with minimum changes to the build system \
> (install locations). This will need to be established going forward (knowing that my own main interest \
> is with "linuxy builds").
> - the change to `KoResourcePathsImpl::mapTypeToQStandardPaths()` only has a real interest if it's used \
> throughout the code instead of explicit use of QStandardPaths locations. For now I have set this up \
> through build-type specific preprocessor macros in KoResourcePaths.h (because an enum would probably \
> have to be cast to work with the QSP methods). I haven't changed any code to use those macros.
> Not yet incorporated: tweaks to the `ecm_add_app_icon` calls to use its new capability to generate an \
> app icon from an SVG file (currently tested with Karbon).
>
> Diffs
> -----
>
> CMakeLists.txt 13ac88f
> libs/main/KoApplication.cpp 7b23f8d
> libs/widgets/KoResourcePaths.h 8830a5a
> libs/widgets/KoResourcePaths.cpp 7df9dc6
>
> Diff: https://git.reviewboard.kde.org/r/129800/diff/
>
>
> Testing
> -------
>
> Karbon works as expected with this patch on Mac OS X 10.9.5 (and Linux) with Qt 5.7.1 and KF5 5.29.0 \
> installed under /opt/local .
> Without the patch Karbon crashes or aborts immediately on Mac because it doesn't find a single resource \
> in the locations indicated by the inappropriate `XDG_DATA_DIRS` value.
>
> Thanks,
>
> René J.V. Bertin
>
>
--===============3186261429390452704==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; \
border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;"> <tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/129800/">https://git.reviewboard.kde.org/r/129800/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On January 10th, 2017, 8:28 p.m. UTC, <b>Anthony Fieroni</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">So when Karbon works, i'm +1, please try words / sheets are they worked as \
well as Karbon?</p></pre> </blockquote>
<p>On January 10th, 2017, 9 p.m. UTC, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">I cannot tell yet, but I'm not expecting any issues because of this patch. \
As you can see it only touches common/shared code at the moment, and I am NOT building with <code \
style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">-DAPPLE_STANDALONE_BUILD</code>.</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">I <em style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: normal;">think</em> I should have most external dependencies \
installed for Words and Sheets, so I'll be looking at building them in the near future, and update this \
ticket accordingly.</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">I'm my point of view that's icing on the cake that can come after we've \
reached feature parity with Linux. I can imagine others think different (that's what Macs are for ;)). \
Hence this patch, it'll make it easier to follow both approaches simultaneously.</p></pre> </blockquote>
<p>On January 10th, 2017, 9:03 p.m. UTC, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">BTW: I do hope for some collaborative brainstorming w.r.t. using info from \
KoResourcePaths.h more widely, instead of using QStandardPaths types directly. That's a rather delicate \
intervention which I'd prefer not to take the sole responsibility for.</p></pre> </blockquote>
<p>On January 11th, 2017, 3:54 p.m. UTC, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">I can confirm Words works too with this patch.</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">(I did have to fix a \
small issue in the words-odf filter, I've taken the liberty to push the fix: \
https://cgit.kde.org/calligra.git/commit/?id=a8fd10d8b0a24e581eeb4754b458ba98ddbf0167)</p></pre> \
</blockquote>
<p>On January 14th, 2017, 2:22 p.m. UTC, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Sheets works nicely too!</p></pre> </blockquote>
<p>On January 14th, 2017, 2:45 p.m. UTC, <b>Anthony Fieroni</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">I response for only Karbon, wait for Camilla and Dag Andersen.</p></pre> \
</blockquote>
<p>On January 14th, 2017, 7:43 p.m. UTC, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Evidently.</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">Plan also works as far as I can tell (I never used it \
before).</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">There is an issue with <code style="text-rendering: inherit;color: #4444cc;padding: \
0;white-space: normal;margin: 0;line-height: inherit;">calligraplanwork</code> however, but given the \
error I think it has nothing to do with my changes. If anything, I may have missed a location where a \
change is required, for instance to install required DBus service files.</p></pre> </blockquote>
<p>On January 16th, 2017, 12:38 p.m. UTC, <b>Dag Andersen</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Afaics this should be ok. The defines in KoResourcePaths.h doesn't seem to \
be used? Can't comment on apple stuff, never seen one close up ;)</p></pre>
</blockquote>
<p>On January 16th, 2017, 5:06 p.m. UTC, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 \
1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;"> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The \
defines in KoResourcePaths.h doesn't seem to be used?</p> </blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">No \
indeed. As I tried to explain in the description, they're more a proposal:</p> <blockquote \
style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: \
0 0 0 0.5em;line-height: inherit;"> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">the change to KoResourcePathsImpl::mapTypeToQStandardPaths() only has a \
real interest if it's used throughout the code to replace the explicit use of QStandardPaths locations. \
For now I have set this up through build-type specific preprocessor macros in KoResourcePaths.h [...]</p> \
</blockquote> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">I don't want to start changing a huge amount of unknown code to use those macros because there \
are lots of places that would have to be changed, and I don't think it can be done by a few simple \
search-and-replace runs in an editor. Above all, I want to be sure that you agree about this \
approach.</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">And let me repeat: this isn't necessary for the kind of build that interests me on Mac, so \
there's no hurry as far as I'm concerned ;)</p></pre> </blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Afaik KoResourcePaths is used in all calligra. There are issues and I have \
a patch waiting (https://phabricator.kde.org/D2577) that didn't get into 3.0. It's fairly big so I'm \
waiting for 3.1 to look at it again.</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">Different thing: in KoApplication line 242 you added a \
comment: // add the paths that Krita5 sets in XDG_DATA_DIRS
Krita is not using any calligra libs anymore, so this could possibly be removed but I don't know if any \
other app depends on this, so...</p></pre> <br />
<p>- Dag</p>
<br />
<p>On January 10th, 2017, 4:34 p.m. UTC, René J.V. Bertin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; \
border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;"> <tr>
<td>
<div>Review request for Calligra and Camilla Boemann.</div>
<div>By René J.V. Bertin.</div>
<p style="color: grey;"><i>Updated Jan. 10, 2017, 4:34 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
calligra
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid \
#b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">This proposal is an initial implementation \
of things discussed on the ML a short while back.</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">Building KF5 software on Mac as if on any \
Unix variant (with "Cocoa" instead of X11) is possible and is what you get without specific changes to \
the build system. With a few tweaks to Qt's QStandardPaths (provided by MacPorts) this kind of build \
works flawlessly and with an identical feature set as on Linux c.s.</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">NB: this build also puts \
applications in an app bundle "wrapper", but one that contains just the minimal resources (executable, \
app icon and Info.plist).</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">One can also tweak the build so that a relocatable and standalone app \
bundle results which contains the application and all its 3rd-party dependencies (Qt5, KF5 frameworks, \
etc.). This works with a stock Qt5 build but still requires patches throughout KF5 code and build \
systems. Several projects already provide "official" builds of this type for Mac: Kate, KDevelop, Marble \
and Krita to name a few.</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">The current patch prepares for allowing a choice for either a standalone \
app bundle build or a more traditional build via a CMake option <code style="text-rendering: \
inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">APPLE_STANDALONE_BUNDLE</code> and preprocessor token of the same name. This makes it easy to \
dissociate the Apple build types from general Apple build requirements. Testing for build flavour is done \
by checking <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: \
0;line-height: inherit;">APPLE_STANDALONE_BUNDLE</code>, testing for build platform by checking <code \
style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">APPLE</code> (CMake) or <code style="text-rendering: inherit;color: #4444cc;padding: \
0;white-space: normal;margin: 0;line-height: i nherit;">Q_OS_MACOS</code> (Qt/C++) (or <code \
style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">__APPLE__</code> in code not using Qt).</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">In addition to the introduction of the \
CMake option, the patch</p> <ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: \
inherit;white-space: normal;"> <li style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: normal;">updates <code style="text-rendering: inherit;color: #4444cc;padding: \
0;white-space: normal;margin: 0;line-height: inherit;">KoApplication::start()</code>. Judging from Kate's \
approach it shouldnt' be necessary on Mac to set <code style="text-rendering: inherit;color: \
#4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">XDG_DATA_DIRS</code>, which isn't \
used anywhere in code (except in MacPorts tweaked QStandardPaths!). The <code style="text-rendering: \
inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">PATH</code> env. \
variable also shouldn't be <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: normal;">re</em>set and only needs changing (potentially!) in a standalone app \
bundle build. I don't have a MS Windows dev. system so I've merged Krita's way of setting <code \
style="text-rendering: inher it;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">XDG_DATA_DIRS</code> with Calligra's current code. Note that Qt/Win also doesn't seem to use \
that variable in <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: \
normal;margin: 0;line-height: inherit;">QStandardPaths</code>.</li> <li style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: normal;">rewrites <code style="text-rendering: \
inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">KoResourcePathsImpl::mapTypeToQStandardPaths()</code> to use a much more efficient static <code \
style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">QHash</code> table. <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: normal;">A priori</em> it should be possible to use <code style="text-rendering: \
inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">QStandardPaths::AppDataLocation</code> to obtain the location of the app bundle resources \
directory; it could be populated with symlinks into <code style="text-rendering: inherit;color: \
#4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">/path/to/foo.app/Contents/share< \
/code> so resources can be found with minimum changes to the build system (install locations). This will \
need to be established going forward (knowing that my own main interest is with "linuxy builds").</li> \
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">the \
change to <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: \
0;line-height: inherit;">KoResourcePathsImpl::mapTypeToQStandardPaths()</code> only has a real interest \
if it's used throughout the code instead of explicit use of QStandardPaths locations. For now I have set \
this up through build-type specific preprocessor macros in KoResourcePaths.h (because an enum would \
probably have to be cast to work with the QSP methods). I haven't changed any code to use those \
macros.</li> </ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Not \
yet incorporated: tweaks to the <code style="text-rendering: inherit;color: #4444cc;padding: \
0;white-space: normal;margin: 0;line-height: inherit;">ecm_add_app_icon</code> calls to use its new \
capability to generate an app icon from an SVG file (currently tested with Karbon).</p></pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">Karbon works as expected with this patch on \
Mac OS X 10.9.5 (and Linux) with Qt 5.7.1 and KF5 5.29.0 installed under /opt/local . </p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Without \
the patch Karbon crashes or aborts immediately on Mac because it doesn't find a single resource in the \
locations indicated by the inappropriate <code style="text-rendering: inherit;color: #4444cc;padding: \
0;white-space: normal;margin: 0;line-height: inherit;">XDG_DATA_DIRS</code> value.</p></pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>CMakeLists.txt <span style="color: grey">(13ac88f)</span></li>
<li>libs/main/KoApplication.cpp <span style="color: grey">(7b23f8d)</span></li>
<li>libs/widgets/KoResourcePaths.h <span style="color: grey">(8830a5a)</span></li>
<li>libs/widgets/KoResourcePaths.cpp <span style="color: grey">(7df9dc6)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/129800/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
--===============3186261429390452704==--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic