<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi Jeremy,<div><br><div><div>On 18 Dec 2014, at 05:11 , Jeremy Whiting <<a href="mailto:jpwhiting@kde.org">jpwhiting@kde.org</a>> wrote:</div><blockquote type="cite"><div dir="ltr"><div>I appologize in advance for this rambling. tldr, I got kanagram to run with vanilla open source qt here,</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>but had to tweak/move some things to do it.</div><div></div></div></blockquote><div><br></div><div>hooohh… please, please, ramble on!!! You are very welcome! :-D</div><div><br></div><br><blockquote type="cite"><div dir="ltr">Starting a new thread because I have some progress and I see the QSP issue as orthogonal to running</div></blockquote><blockquote type="cite"><div dir="ltr">applications in an osx way (a way that they could possibly some time get into the mac app store and/or</div></blockquote><blockquote type="cite"><div dir="ltr">an installer with "drag the application to your Applications folder" style with their needed libraries and</div></blockquote><blockquote type="cite"><div dir="ltr">files bundled).</div></blockquote><div><br></div><div>Well, the QSP patch is there to run a KDE-Linux/CI-compatible OSX/CI system, for nothing else!!!</div><div><br></div><div>As Thiago wrote: if we want to introduce a new feature, like XDG paths on OSX, then it is another issue.</div><div>That could be accepted as new contribution for Qt5, but our KDE-internal OSX/CI-patch won’t get accepted</div><div>which is very understandable.</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>In testing kf5 and qt5 on mac osx here I found a couple of ways to make things work with vanilla Qt</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>open source version from <a href="http://qt-project.org/">qt-project.org</a> itself. Since kanagram is something I know very well I started</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>looking at it first.</div></div></blockquote><div><br></div><div>That’s just great news!</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>After getting all the frameworks to build with kdesrc-build on osx (by setting the right paths and compiler</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>arguments) </div></div></blockquote><div><br></div><div>Well, since you managed it so well, perhaps you can update the corresponding wiki page [1] which is quite</div><div>outdated (from 2012) and seems quite overloaded to me?! I think this might be very helpful for followers!</div><div>This page is shows on [2] in the section “Installing using MacPorts” and should surely mention that the </div><div>"development environment" is “kdesrc-build development environment”, I believe.</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>I built libkeduvocdocument, kdeedu-data and kanagram with kdesrc-build. It of course puts things in not</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>the places that QSP looks for them, but a copy or two later and kanagram is running.</div></div></blockquote><div><br></div>Well, I thought, it should be doing that! :-(</div><div><br></div><div><br><blockquote type="cite"><div dir="ltr"><div>First issue, kanagram looks for it's qml files in QStandardPaths::locate(QStandardPaths::DataLocation, "ui/main.qml”);</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>now according to Qt Assistant, DataLocation should include</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>~/Libraries/Application Support/<APPNAME> /Library/Application Support/<APPNAME></div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>and</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div><APPDIR>/../Resources yet for some reason QStandardPaths::standardLocations(QStandardPaths::DataLocation);</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>is giving the first two and then /Applications/KDE/kanagram.app not the Resources subdir. At any rate I</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>copied the ui folder which holds kanagram's qml files and images into /Applications/KDE/kanagram.app/</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>and it runs.</div></div></blockquote><div><br></div><div>The OSX/CI system doesn’t need these tweaks, but that’s due to the fact that all the installations are in their</div><div>own install roots and the XDG_*_DIRS point to it properly.</div><div><br></div><div>Good to know that you spotted this, as this requires an adaption of the CMake build system for OSX.</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>Second issue, it runs but doesn't find the kvtml files it is trying to find with</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "apps/kvtml", QStandardPaths::LocateDirectory);</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>which on linux are in /usr/share/apps/kvtml . If I move them from /usr/local/share/apps/kvtml to</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>~/Library/Application Support/apps/kvtml though kanagram starts and finds it's data files just fine.</div></div></blockquote><div><br></div><div>Same thing as above.</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div> <-- This is a case for the QSP patch imo so we can put the data files into /opt/local/share/apps/kvtml or</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>something for both kanagram and khangman to find and read them. They come from kdeedu-data.</div></div></blockquote><div><br></div><div>kdeedu-data is a separate project, which these two apps should depend on, if they want to share data.</div><div>If that is the case and the dependency is properly defined in the <span style="font-family: Menlo; font-size: 11px;">kde-build-metadata</span> repo then the</div><div>OSX/CI system will allow such sharing, just like on Linux.</div><div><br></div><div>Funny thing is, that here on the CI system I don’t see any dependency on it:</div><div>---</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">grep kdeedu-data dependency*</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><div style="font-family: Helvetica; font-size: 12px;">---</div><div style="font-family: Helvetica; font-size: 12px;">which is a bit weird.</div><div style="font-family: Helvetica; font-size: 12px;"><br></div><div style="font-family: Helvetica; font-size: 12px;">Well, I just build it on my OSX/CI system:</div><div style="font-family: Helvetica; font-size: 12px;">---</div><div><div style="margin: 0px;">$ ./install.sh kdeedu-data</div><div style="margin: 0px;">------------------------------------------</div><div style="margin: 0px;">Project  : kde/kdeedu/kdeedu-data</div><div style="margin: 0px;">Branch   : master</div><div style="margin: 0px;">Linux-CI : <span style="color: #c33720"><b>-</b></span></div><div style="margin: 0px;">Creating still missing build directory...</div><div style="margin: 0px;">Prep...  </div><div style="margin: 0px;">Build... <span style="color: #34bd26"><b>: SUCCESS</b></span></div><div style="margin: 0px;">==========================================</div></div><div style="margin: 0px;">---</div></div><div><br></div><div>So, the next step would be to include this in </div><div>---</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">$ git diff</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><b>diff --git a/dependency-data-kf5-qt5 b/dependency-data-kf5-qt5</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><b>index 9a5ecb0..19faeea 100644</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><b>--- a/dependency-data-kf5-qt5</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><b>+++ b/dependency-data-kf5-qt5</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><span style="color: #34bbc7">@@ -723,8 +723,10 @@</span> kde/kdegraphics/gwenview: frameworks/kdelibs4support</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> # KDE Edu</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> kde/kdeedu/kalgebra: kde/kdeedu/analitza</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> kde/kdeedu/kanagram: kde/kdeedu/libkeduvocdocument</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(52, 189, 38);">+kde/kdeedu/kanagram: kde/kdeedu/kdeedu-data</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> kde/kdeedu/parley: kde/kdeedu/libkeduvocdocument</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> kde/kdeedu/khangman: kde/kdeedu/libkeduvocdocument</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(52, 189, 38);">+kde/kdeedu/khangman: kde/kdeedu/kdeedu-data</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> kde/kdeedu/kwordquiz: kde/kdeedu/libkeduvocdocument</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">---</div><div><br></div><div>Shall I commit this change?</div><div><br></div><div>BTW, khangman showed its main window fine, let me guess the 1st word, drew happily the gallows and I</div><div>struggled to not get hanged which I failed because of “hedgehog”</div><div><br></div><div>This means: KHangman is the first word game that WORKS on OSX/CI somehow better then others,</div><div>although it still claims to not have found one file and the icon theme:</div><div>---</div><div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">Menu "applications-kmenuedit.menu" not found.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><div style="margin: 0px;">Icon theme "hicolor" not found.</div><div style="margin: 0px;">kf5.kiconthemes: "Theme tree: (Oxygen)"</div></div></div><div>---</div><div>I don’t know whether the last line means that it has successfully located the oxygen them or not.</div><div><br></div><div>I was able to switch the background themes, no problem.</div><div><br></div><div>But when I leave the app then it crashes with a segfault. (Let me know if you’re interested in the crash log.)</div><div><br></div><div>After restarting the app again I even see all menu items in the main menu instead of only “khangman”.</div><div>Downside is that the app consistently crashes at exit.</div><div><br></div><div>In the “Preferences” dialog I see that all the icons are indeed missing.</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>I can’t think of how these data files could be shared between two different applications the "Mac” way</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>either, are there other applications in OSX that put files into /Library/Application Support at all ? I mean</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>real mac app store types of applications, I'll check tomorrow I guess. I can't picture how an installer for</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>kanagram would work, it would have to let the user drag kanagram to Applications, but also drag data</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>files to /Library/Application Support ? I've never seen anything like that in the few mac software installers</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>I've used, though maybe it would work with Qt Installation Framework.</div></div></blockquote><div><br></div><div>Well, yes, all this is a complicated matter, especially since you’d have to share a lot of files, not only those</div><div>kdeedu-related files, but ALL KDE libraries and stuff would have to be shipped as well, if you don’t use a</div><div>system like MacPorts, but want to go to the AppStore and intend to build self-standing application packages</div><div>which should be drag-droppable wherever the user wants them to put...</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>After the above modifications/tweaks/workarounds, kanagram runs and is playable, though I have to</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>disable sound effects since phononqt5 crashes for some reason.</div></div></blockquote><div><br></div><div>Wow, yep, I don’t have sound here on OSX/CI either… :-(</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>If I use QtMultimedia in qml to play the sounds instead of a phonon MediaObject in C++ they work ok</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>though, and I was leaning towards doing that lately anyway. I did notice that the left and right arrow icons</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>are just white squares,</div></div></blockquote><div><br></div><div>White squares? Hmmm…</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div> and moving the mouse cursor gives it a white square background when I move it over kanagram's ui that</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>I don't see when using other applications so it's not because of the VirtualBox I'm running it in.</div></div></blockquote><div><br></div><div>… I don’t see this. As written in PM I have very bright buttons with a faint shadow of the arrows. If I click</div><div>the button the background becomes darker and I see the bright arrow better.</div><div><br></div><div>So, it could be that this is due to your VirtualBox rendering.</div><div><br></div><div>I could send you a screenshot of my OSX/CI’s kanagram, if you want.</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div> Also the window titlebar says only the category name, not Kanagram and the category name like it does</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>on windows and linux, not sure why that is.</div></div></blockquote><div><br></div><div>The window title bar is empty here, but probably because my kanagram can’t find its files anyway atm.</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>Any thoughts or suggestions about anything I've spewed out here is welcome. I'm very open to ideas for</div></div></blockquote><blockquote type="cite"><div dir="ltr"><div>how to make this work properly.</div></div></blockquote><div><br></div><div>I hope this and my PM post help to let us get further with all this.</div><div><br></div><div><br></div><div>I think you made amazing progress and I am confident now that we’ll now be able to straighten out all the</div><div>CMake configuration options of many projects currently leading to trouble finding data and config files on</div><div>the OSX platform. :-)</div><div><br></div><div>Greets,</div><div>Marko</div><div><br></div><div><br></div><br><br></div><div>[1] <a href="https://techbase.kde.org/Getting_Started/Build/Mac_OS_X/MacPorts">https://techbase.kde.org/Getting_Started/Build/Mac_OS_X/MacPorts</a></div><div>[2] <a href="https://community.kde.org/Mac">https://community.kde.org/Mac</a></div><br></div></body></html>