[[PageOutline]] = Problems of KDE software on MacPorts = == Why these pages? == When software is ported from one hardware or operating-system environment to another, problems arise that are nobody's fault. The original software writers can try their best to avoid such problems, but they cannot be expected to foresee every issue. These pages are a place where issues of KDE software on MacPorts can be gathered together for easy visibility and people from KDE and MacPorts can co-operate to narrow each issue down to a point where it can be assigned to a specific area on the KDE Bugtracking System or the MacPorts Ticket System for action. Also, co-operation is needed to set up a continuous testing system, in the longer term, to minimize problems in the future. These pages were initiated by [http://mail.kde.org/pipermail/kde-mac/2014-February/000849.html this post on KDE-MAC] and a PM discussion regarding [http://randa-meetings.ch/2014/02/19/randa-meetings-2014-the-date-is-set-please-register Randa Meetings participation] of MacPorts developers. Special maintainer/developer information - which is not covered in the [wiki:KDE KDE wiki page] - could also be gathered here. ---- == Tickets for specific KDE software issues == Information regarding specific tickets has been moved to a [wiki:KDEProblems/KDETickets dedicated page]. All other tickets of category "kde4" can be listed in [wiki:KDEProblems/KDETickets/KDE4-Category one big table.] (Be aware that the generation of this table needs a few seconds on MacPorts' trac.) == New version of KDE applications == We're working on keeping the KDE applications distributed via MacPorts in sync with [https://techbase.kde.org/Schedules KDE's official release schedule]. However, on MacPorts the current version of KDE libraries and applications is usually a little behind, as only one of us (nicos) is maintaining all these ports. If you want to support us, please find our up-to-date list of problems for some KDE software ports kept in [http://quickgit.kde.org/?p=macports-kde.git&a=blob&h=436abdca248f90d92831ec69235b2d2f5adedbc6&hb=ad8924f55548ba4df2e12c81c55c5f1b6350cc15&f=dports%2Fkde%2FTODO.txt dports/kde/TODO.txt] and report any issues found on [https://mail.kde.org/mailman/listinfo/kde-mac KDE-MAC] or [https://lists.macosforge.org/mailman/listinfo/macports-dev MacPorts-Devel] mailing lists or [https://bugs.kde.org KDE's bug tracker]. == Continuous Integration of KDE software == KDE's developers are running a [http://build.kde.org/ Jenkins-based CI system] for the most of the KDE software. This is fully functioning for Linux (and close to that for OSX) as of now. A Windows-CI system is in development at the moment. There is also a set of [http://ebn.kde.org/ code-vetting software called English Breakfast Network] (EBN, for short) which supports all developers in writing cleaner code and documentation. An overview regarding KDE/CI can be found on a dedicated [wiki:KDEProblems/KDEMacPortsCI KDE/MacPorts CI page]. If you're interested in setting up an alternative CI system, you can check the [wiki:KDEProblems/KDEMacPortsCI/Status current status of an OSX/CI system based on MacPorts] which doesn't require Jenkins in order to function. == Qt5 and KF5 == Qt5 eventually leads to the new [http://community.kde.org/Frameworks KDE Frameworks]. This means that we can soon start adding KF5 frameworks as new ports. An important issue is that the introduction of KF5 will take a while and thus needs to be made in such a way, that Qt4/KDE4 and Qt5/KF5 frameworks and applications can coexist with one another. The initial qt4-mac and qt5-mac ports couldn't be co-installed, however. This is why René has put a lot of effort into bringing a concurrent variant into qt4-mac and qt5-mac. This was eventually superseded by non-exclusive versions of port:qt4-mac and a new port:qt5 developed independently by their original maintainers, taking the simpler approach of installing all of Qt into dedicated sandboxes and without any of the proposed adaptations for improving the KDE experience (or even making it possible, for KF5, see below). It was thus decided to convert René's port:qt5-mac into a dedicated port:qt5-kde (see #48967), designed to act as a drop-in replacement for port:qt5, much like a more usual port:qt5-devel would act. This is stable and reliable in our testing, currently pending submission and would benefit a lot from more widespread testing "in the wild". The KDE4 ports all install and expect their shared resources in "XDG-compliant" directories, mostly under ${prefix}/share, just as they would in their native ecosystem under Linux. This is handled automatically and works because Qt4 doesn't do anything to point running KDE4 applications elsewhere. With KF5, those resources are still installed to similar locations unless the build system is patched extensively, but the information where to find them (in running applications) now comes from a Qt5 class (QStandardPaths). On Mac, this class is hardwired to provide Mac-like paths like /Library/Application Support. In itself this is not an issue, but it's not the way things are installed in MacPorts, and it would also mean that other XDG-compliant applications not based on Qt5 will not know about services provided by KF5 applications - this includes DBus. We have thus chosen the approach of patching QStandardPaths in port:qt5-kde . More details are given in the qt5-kde ticket on trac, but suffice it to say that this patch has been done properly; whether or not QStandardPaths actually returns different (XDG-compliant) paths depends on a token used while building a dependent port. By default the change is dormant, and native, Mac-like paths are used. '''So, if you're enthusiastic about Qt5 and/or KF5 on MacPorts, please support us! Some relevant tickets: #48967 - submission: port:qt5-kde [[BR]] #50966 - Qt5 PortGroup files; preparing for port:qt5-kde and the KF5 port family [[BR]] #46240 - kde4 1.1 PortGroup file adaptation to qt4-mac +concurrent [[BR]] Some older tickets: #46238 - co-installable qt4-mac and qt5-mac step1 : qt4-mac +concurrent [[BR]] #46496 - co-installable qt4-mac and qt5-mac step2 : qt5-mac [[BR]] #46536 - qt5-mac-devel submission: provides Qt 5.4.x [[BR]] #47047 - qt5-mac-mysql-plugins [[BR]] #46239 - qca and qca-ossl adaptations to qt4-mac +concurrent [[BR]] Other stuff: #46558 - phonon-backend-gstreamer update to 4.8.2 and qt5 support [[BR]] #46552 - phonon update to 4.8.3, with Qt5 support [[BR]] This is the starting point for KF5: #46978 - extra-cmake-modules (being the basis for creating KF5 ports) [[BR]] #48184 - kf5-attica (exemplarily) plus new {{{kf5}}} port group [[BR]] ---- == Additional information == * [wiki:WikiStart MacPorts-Wiki] * [wiki:KDE KDE] - Installing KDE applications with MacPorts * [https://community.kde.org/Mac KDE Community wiki for Mac] * [http://techbase.kde.org/Getting_Started/Build/Mac_OS_X/MacPorts KDE Techbase Wiki: Installing a development environment using MacPorts] (somewhat outdated, still needs to be tested with current versions of OSX and KDE software) * [https://community.kde.org/KDE_Applications/Cross_Platform_Issues KDE Applications/Cross Platform Issues] page on the "KDE Community Wiki" ---- == Other resources == * [https://mail.kde.org/mailman/listinfo/kde-mac KDE-MAC mailing list] * [http://quickgit.kde.org/?p=macports-kde.git Git repository] of a dedicated MacPorts tree for tests of KDE software on [https://projects.kde.org/projects/playground/sdk/macports-kde/repository KDE Projects playground] which also contains helpful [https://projects.kde.org/projects/playground/sdk/macports-kde/repository/revisions/master/show/contrib environment and bash files] for MacPorts users and port maintainers * [https://projects.kde.org/projects/playground/base/osx-patches/activity Ian's git repository] dedicated to "Fixes for KDE problems that occur on Apple OS X" * [https://git.reviewboard.kde.org/dashboard/?group=kde-mac&view=to-group kde-mac group on KDE's ReviewBoard]