Hartmut Goebel writes: > * gnu/packages/kde-frameworks.scm (kdelibs4support): New variable. > --- > gnu/packages/kde-frameworks.scm | 88 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 88 insertions(+) > > diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm > index 0e6b8fb..a537aa4 100644 > --- a/gnu/packages/kde-frameworks.scm > +++ b/gnu/packages/kde-frameworks.scm > @@ -47,6 +47,7 @@ > #:use-module (gnu packages polkit) > #:use-module (gnu packages python) > #:use-module (gnu packages qt) > + #:use-module (gnu packages tls) > #:use-module (gnu packages version-control) > #:use-module (gnu packages web) > #:use-module (gnu packages xml) > @@ -2849,3 +2850,90 @@ better integration of Qt applications when running on a KDE Plasma > workspace.") > ;; triple licensed > (license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+)))) > + > +;; Porting Aids > +;; > +;; Porting Aids frameworks provide code and utilities to ease the transition > +;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this > +;; framework, new projects should avoid using these libraries. > + > +(define-public kdelibs4support > + (package > + (name "kdelibs4support") > + (version "5.27.0") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "mirror://kde/stable/frameworks/" > + (version-major+minor version) "/portingAids/" > + name "-" version ".tar.xz")) > + (sha256 > + (base32 "17b8d5b9w27251k4r5xc17115nc3k1agv7j7gkmdiybjyilj1n91")))) > + (build-system cmake-build-system) > + (native-inputs > + `(("dbus" ,dbus) > + ("docbook-xml" ,docbook-xml-4.4) ;; optional, but not found! Do you mean it's not found even when present? Perhaps just comment it out, with a "TODO" or "XXX" explaining what this would add, but the build system needs some changes to pick it up correctly. > + ("extra-cmake-modules" ,extra-cmake-modules) > + ("perl", perl) > + ("perl-uri" ,perl-uri) > + ("pkg-config" ,pkg-config))) ; to find headers of network manager I think most packagers knows what pkg-config is for, so the explanation seems unnecessary. Are you sure it's only used for network-manager? I feel bad for complaining about *too many* comments however :) > + (inputs > + `(("kcompletion" ,kcompletion) > + ("kconfig" ,kconfig) > + ("kconfigwidgets" ,kconfigwidgets) > + ("kcrash" ,kcrash) > + ("kdbusaddons" ,kdbusaddons) > + ("kded" ,kded) > + ("kdesignerplugin" ,kdesignerplugin) > + ("kdoctools" ,kdoctools) > + ("kglobalaccel" ,kglobalaccel) > + ("kguiaddons" ,kguiaddons) > + ("ki18n" ,ki18n) > + ("kiconthemes" ,kiconthemes) > + ("kio" ,kio) > + ("knotifications" ,knotifications) > + ("kparts" ,kparts) > + ("kservice" ,kservice) > + ("ktextwidgets" ,ktextwidgets) > + ("kunitconversion", kunitconversion) > + ("kwidgetsaddons" ,kwidgetsaddons) > + ("kwindowsystem" ,kwindowsystem) > + ("kxmlgui" ,kxmlgui) > + ("libsm", libsm) > + ("networkmanager-qt", networkmanager-qt) > + ("openssl", openssl) > + ("qtbase" ,qtbase) > + ("qtsvg" ,qtsvg) > + ("qttools" ,qttools) > + ("qtx11extras" ,qtx11extras))) > + (arguments > + `(#:tests? #f ; FIXME: 6/39 tests fail. > + #:phases > + (modify-phases %standard-phases > + (add-after 'unpack 'cmake-find-docbook > + (lambda* (#:key inputs #:allow-other-keys) > + (substitute* "cmake/FindDocBookXML4.cmake" > + (("^.*xml/docbook/schema/dtd.*$") > + "xml/dtd/docbook\n")) > + #t)) Is this related to the docbook-xml comment in native-inputs? Does this make it work? I would prefer to have the comment here in that case. E.g. "This is necessary to find schemas from docbook-xml" or similar. > + (add-before 'check 'check-setup > + (lambda _ > + (setenv "HOME" (getcwd)) > + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output > + (setenv "QT_QPA_PLATFORM" "offscreen") Is this variable common in the various KDE build phases? If it's explained somewhere else, it's probably not necessary to add the same comment (as I requested in the previous patch) to all of them. Otherwise LGTM! > + #t))))) > + (home-page "https://community.kde.org/Frameworks") > + (synopsis "KDE Frameworks 5 porting aid from KDELibs4") > + (description "This framework provides code and utilities to ease the > +transition from kdelibs 4 to KDE Frameworks 5. This includes CMake macros and > +C++ classes whose functionality has been replaced by code in CMake, Qt and > +other frameworks. > + > +Code should aim to port away from this framework eventually. The API > +documentation of the classes in this framework and the notes at > +http://community.kde.org/Frameworks/Porting_Notes should help with this.") > + ;; a variety of licenses > + (license (list license:gpl2 license:gpl2+ license:lgpl2.0 license:lgpl2.0+ > + license:lgpl2.1+ license:expat license:bsd-2 license:bsd-3 > + license:public-domain))))