diff mbox

[2/7] gnu: Add kdelibs4support.

Message ID 1479744699-27226-3-git-send-email-h.goebel@crazy-compilers.com
State New
Headers show

Commit Message

Hartmut Goebel Nov. 21, 2016, 4:11 p.m. UTC
* gnu/packages/kde-frameworks.scm (kdelibs4support): New variable.
---
 gnu/packages/kde-frameworks.scm | 88 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)

Comments

Marius Bakke Nov. 21, 2016, 5:40 p.m. UTC | #1
Hartmut Goebel <h.goebel@crazy-compilers.com> 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))))
diff mbox

Patch

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!
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("perl", perl)
+       ("perl-uri" ,perl-uri)
+       ("pkg-config" ,pkg-config))) ; to find headers of network manager
+    (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))
+         (add-before 'check 'check-setup
+           (lambda _
+             (setenv "HOME" (getcwd))
+             (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #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))))