diff mbox

[1/7] gnu: Add KDE frameworkintegration.

Message ID 1479744699-27226-2-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 (frameworkintegration): New variable.
---
 gnu/packages/kde-frameworks.scm | 51 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

Comments

Marius Bakke Nov. 21, 2016, 5:25 p.m. UTC | #1
Hartmut Goebel <h.goebel@crazy-compilers.com> writes:

> * gnu/packages/kde-frameworks.scm (frameworkintegration): New variable.
> ---
>  gnu/packages/kde-frameworks.scm | 51 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 51 insertions(+)
>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index 9df37ac..0e6b8fb 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -2798,3 +2798,54 @@ setUrl, setUserAgent and call.")
>  script engines.")
>      ;; dual licensed
>      (license (list license:gpl2+ license:lgpl2.1+))))
> +
> +;; Tier 4
> +;;
> +;; Tier 4 frameworks can be mostly ignored by application programmers; this
> +;; tier consists of plugins acting behind the scenes to provide additional
> +;; functionality or platform integration to existing frameworks (including
> +;; Qt).
> +
> +(define-public frameworkintegration
> +  (package
> +    (name "frameworkintegration")
> +    (version "5.27.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "mirror://kde/stable/frameworks/"
> +                    (version-major+minor version) "/"
> +                    name "-" version ".tar.xz"))
> +              (sha256
> +               (base32
> +                "0zpv7wj2006f039wr1gp5bc4md8yq9ig5g3v5mx46sdjip5423p1"))))
> +    (build-system cmake-build-system)
> +    (native-inputs
> +     `(("extra-cmake-modules" ,extra-cmake-modules)
> +       ("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(("kconfig" ,kconfig)
> +       ("kconfigwidgets" ,kconfigwidgets)
> +       ("kcoreaddons" ,kcoreaddons)
> +       ("kiconthemes" ,kiconthemes)
> +       ("kitemviews" ,kitemviews)
> +       ("knotificantions" ,knotifications)
> +       ("kwidgetsaddons" ,kwidgetsaddons)
> +       ("qtbase" ,qtbase)
> +       ("qtx11extras" ,qtx11extras)))
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'check 'check-setup
> +           (lambda _
> +             (setenv "HOME" (getcwd))
> +             (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
> +             (setenv "QT_QPA_PLATFORM" "offscreen")

Could you add a comment explaining what this variable does?

> +             #t)))))
> +    (home-page "https://community.kde.org/Frameworks")
> +    (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
> +    (description "Framework Integration is a set of plugins responsible for
> +better integration of Qt applications when running on a KDE Plasma
> +workspace.")
> +    ;; triple licensed
> +    (license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+))))

Please clarify. Is it all of them, or either? Or is it mostly gpl2+, but
some files are covered by the other two?

Otherwise LGTM!
Hartmut Goebel Nov. 21, 2016, 6:01 p.m. UTC | #2
Am 21.11.2016 um 18:25 schrieb Marius Bakke:
>> > +    (license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+))))
> Please clarify. Is it all of them, or either? Or is it mostly gpl2+, but
> some files are covered by the other two?

Thansk for reviewing that quick.

The list of licenses is taken from Debian, which has a detailed lists of
all the licenses used in each package. And KDE often has a *fast* number
of different licenses in one package.
Marius Bakke Nov. 21, 2016, 6:20 p.m. UTC | #3
Hartmut Goebel <h.goebel@crazy-compilers.com> writes:

> Am 21.11.2016 um 18:25 schrieb Marius Bakke:
>>> > +    (license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+))))
>> Please clarify. Is it all of them, or either? Or is it mostly gpl2+, but
>> some files are covered by the other two?
>
> Thansk for reviewing that quick.
>
> The list of licenses is taken from Debian, which has a detailed lists of
> all the licenses used in each package. And KDE often has a *fast* number
> of different licenses in one package.

Thanks. Here is the Debian copyright file for this package:

http://metadata.ftp-master.debian.org/changelogs/main/f/frameworkintegration/frameworkintegration_5.28.0-1_copyright

Reading that, it seems this package is mostly gpl2 *OR* gpl3, and that
KDE invokes section 14 [0] of the GPL to decide whether later versions
are allowed.

[0] https://www.gnu.org/licenses/gpl-3.0.html#section14

I wonder if we should seek a statement from KDE allowing the use of
GPL3+ for our packages.

Meanwhile, the way I read it, this package should be '(gpl2 gpl3 lpgl2.0
lgpl2.0+). I would change the comment to something like:

;; This is distributed under either gpl2 or gpl3, but some files are
;; covered by other licenses.
Marius Bakke Nov. 21, 2016, 6:30 p.m. UTC | #4
Marius Bakke <mbakke@fastmail.com> writes:

> I wonder if we should seek a statement from KDE allowing the use of
> GPL3+ for our packages.
>
> Meanwhile, the way I read it, this package should be '(gpl2 gpl3 lpgl2.0
> lgpl2.0+). I would change the comment to something like:
>
> ;; This is distributed under either gpl2 or gpl3, but some files are
> ;; covered by other licenses.

Oops, I read the copyright file wrong, I thought the top section was
GPL, but it is in fact LGPL. So the license field should be

'(lgpl2.0 lgpl3.0 lgpl2.0+)

And the comment would be along the lines of "This package is
distributed under either LGPL2 or LGPL3, but some files are explicitly
LGPL2+.".

It would be nice to clarify this with KDE.
diff mbox

Patch

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 9df37ac..0e6b8fb 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2798,3 +2798,54 @@  setUrl, setUserAgent and call.")
 script engines.")
     ;; dual licensed
     (license (list license:gpl2+ license:lgpl2.1+))))
+
+;; Tier 4
+;;
+;; Tier 4 frameworks can be mostly ignored by application programmers; this
+;; tier consists of plugins acting behind the scenes to provide additional
+;; functionality or platform integration to existing frameworks (including
+;; Qt).
+
+(define-public frameworkintegration
+  (package
+    (name "frameworkintegration")
+    (version "5.27.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0zpv7wj2006f039wr1gp5bc4md8yq9ig5g3v5mx46sdjip5423p1"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("kconfig" ,kconfig)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kcoreaddons" ,kcoreaddons)
+       ("kiconthemes" ,kiconthemes)
+       ("kitemviews" ,kitemviews)
+       ("knotificantions" ,knotifications)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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 workspace and cross-framework integration plugins")
+    (description "Framework Integration is a set of plugins responsible for
+better integration of Qt applications when running on a KDE Plasma
+workspace.")
+    ;; triple licensed
+    (license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+))))