Review Request 126618: Make CMake macro kcoreaddons_desktop_to_json() work on windows.

Kåre Särs kare.sars at iki.fi
Sun Jan 3 19:59:06 UTC 2016



> On Jan. 3, 2016, 3:22 p.m., Alex Richardson wrote:
> > According to the documentation AppLocalDataLocation is the following: "C:/Users/<USER>/AppData/Local/<APPNAME>", "C:/ProgramData/<APPNAME>", "<APPDIR>", "<APPDIR>/data"
> > 
> > In which directory are the desktop files? Unfortunately I can't check as my Windows machine broke a while back and I haven't compiled KF5 on Windows since.
> > 
> > Patch looks good to me otherwise as it will still check the same directories change behaviour on Linux. Only minor issue is that the error message is a little bit confusing now.
> 
> Christoph Cullmann wrote:
>     hi, same problem occurs on mac, too, i think a better fallback would be something install prefix relative, that would work on win + mac.
> 
> Alex Richardson wrote:
>     Would checking `${KDE_INSTALL_FULL_KSERVICETYPES5DIR} + path` first and then fall back to GenericDataLocation work on Windows and Mac? Or do we still need the AppDataLocation for runtime detection of the paths?
> 
> Ralf Habacker wrote:
>     From https://build.opensuse.org/build/home:rhabacker:branches:windows:mingw:win32:KF516/openSUSE_13.2/x86_64/mingw32-umbrello5/_log
>     ... 
>     Installing: /home/abuild/rpmbuild/BUILDROOT/mingw32-umbrello5-2.18.99.6f6891a-2.25.x86_64/usr/i686-w64-mingw32/sys-root/mingw/share/applications/org.kde.umbrello.desktop
> 
> Christoph Cullmann wrote:
>     KDE_INSTALL_FULL_KSERVICETYPES5DIR  should be good enough to have something working to be able to build KF5 on win/mac without patching. If the desktoptojson program should work even after packed into some installer/application bundle I guess we would need the appdata fallback, too. The question is: is that a use case needed. For me it is enough to be able to have it working in a devel setup.
> 
> Alex Richardson wrote:
>     This code can also be used at runtime through [KPluginMetaData::fromDesktopFile()](http://api.kde.org/frameworks-api/frameworks5-apidocs/kcoreaddons/html/classKPluginMetaData.html#ac6e87c110b4743ce1b16044c649838ba) although any users should probably be using JSON files directly.

The kpart.desktop file that KTextEditor was looking for is in <installdir>/share/kservicetypes5/.

I added AppLocalData to get the <APPDI> path which is normally "<installdir>/bin/" for KDE aplications. I could also live with KDE_INSTALL_FULL_KSERVICETYPES5DIR, but generally I would try to avoid absolute paths hardcoded into binaries...

I'll update the error printout.


- Kåre


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126618/#review90496
-----------------------------------------------------------


On Jan. 3, 2016, 1:22 p.m., Kåre Särs wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126618/
> -----------------------------------------------------------
> 
> (Updated Jan. 3, 2016, 1:22 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kcoreaddons
> 
> 
> Description
> -------
> 
> Without this patch kcoreaddons_desktop_to_json() will not find the destop file.
> 
> On windows GenericDataLocation returns "C:/Users/<USER>/AppData/Local" or "C:/ProgramData". That is not a path that contains any destip files ;)
> 
> This patch adds AppLocalDataLocation to the seach if the previous search does not return a match. 
> 
> Another option would be to hardcode the absolute path to all places that uses kcoreaddons_desktop_to_json(), but that does not feel too nice...
> 
> What other options do we have?
> 
> 
> Diffs
> -----
> 
>   src/lib/plugin/desktopfileparser.cpp 1122af8 
> 
> Diff: https://git.reviewboard.kde.org/r/126618/diff/
> 
> 
> Testing
> -------
> 
> KTextEditor compiles again on windows
> 
> 
> Thanks,
> 
> Kåre Särs
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160103/1bdeb86b/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list