Subject: Re: [bug#43198] Add breeze icon assets

From: Prafulla Giri <[email-masked]>
Date: Tue, 8 Sep 2020 16:56:00 +0545

Mr. Courtes,

I have attached updated patches as per your review, sir.

Regarding the union-package `breeze`, it seems that `apt search breeze`
shows that there are packages like `breeze-icon-theme`,
`breeze-cursor-theme`, etc. and then there is one meta-package `breeze`.
Personally, as I am going to send in a patch for kdenlive that fixes the
breeze-icon-theme startup complaint issue, it'd make it easier if I could
just add the `breeze` union package. But I could probably define a union
input package in the (inputs ...) field.

On Mon, Sep 7, 2020 at 1:52 PM Ludovic Courtès <[email-masked]> wrote:

> Hi,
>
> Prafulla Giri <[email-masked]> skribis:
>
> > Yes, sir. It seems that breeze-assets is licensed under GPL2 only (I
> > couldn't find "or any later version" in their license file:
> > https://github.com/KDE/breeze/blob/master/COPYING
>
> Section 9, reads:
>
>   If the Program does not specify a version number of this License, you
>   may choose any version ever published by the Free Software Foundation.
>
> In this case, we use ‘gpl2+’ as the license.
>
> > I am also concerned regarding the naming of the `breeze` package. I
> wonder
> > if that is a good name. But I can't quite think of any other name.
> > `kde-breeze`? `breeze-style`? I don't know... I worry that this name (if
> it
> > is not the most convenient) might get stuck once it is merged and other
> > packages start to build on top of it. I don't know.
>
> The general convention is to stick to the upstream name:
>
>   https://guix.gnu.org/manual/en/html_node/Package-Naming.html
>
> Regarding the union package, perhaps we can actually leave it up to
> users to install both breeze-assets and breeze-icons if they want?
> After all, since these are separate packages upstream, we don’t have to
> provide a union of both.  WDYT?
>
> > From 464358cc945eeb4ffcb46b3ddfc36ee8894e9378 Mon Sep 17 00:00:00 2001
> > From: Prafulla Giri <[email-masked]>
> > Date: Fri, 4 Sep 2020 12:56:26 +0545
> > Subject: [PATCH 1/2] gnu: kde-frameworks: Add breeze-assets
> >
> > * gnu/packages/kde-frameworks.scm (breeze-assets): New variable.
>
> [...]
>
> > +(define-public breeze-assets
> > +  (package
> > +    (inherit breeze-icons)
> > +    (name "breeze-assets")
> > +    (version "5.19.5")
> > +    (source (origin
> > +              (method url-fetch)
> > +              (uri (string-append
> > +                    "https://codeload.github.com/KDE/breeze/tar.gz/v"
> > +                    version))
> > +              (sha256
> > +               (base32
> > +
> "12ffrm0nrhi2avq2z7jx3pdp0zgsxsary7gpfp60vvxs1jrvnk1b"))))
>
> Could you change the URL to a mirror://kde URL?
> <
> https://github.com/archlinux/svntogit-packages/blob/packages/breeze/trunk/PKGBUILD
> >
> shows that the official tarballs can be obtained from kde.org.
>
> With these last changes, we should be all set!
>
> Thanks,
> Ludo’.
>
From 8096401f6f977cf48b66914e161da0efd124931e Mon Sep 17 00:00:00 2001
From: Prafulla Giri <[email-masked]>
Date: Fri, 4 Sep 2020 12:56:26 +0545
Subject: [PATCH 1/2] gnu: kde-frameworks: Add breeze-assets

* gnu/packages/kde-frameworks.scm (breeze-assets): New variable.
---
 gnu/packages/kde-frameworks.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index a1abd7d46c..e0b5e8d06e 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -57,6 +57,7 @@
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages image)
   #:use-module (gnu packages kerberos)
+  #:use-module (gnu packages kde-plasma)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mp3)
@@ -325,6 +326,36 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
     ;; text.
     (license license:lgpl3+)))
 
+(define-public breeze-assets
+  (package
+    (inherit breeze-icons)
+    (name "breeze-assets")
+    (version "5.19.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/plasma/" version
+                    "/breeze-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0dpk1w7zcafrzf46j060i1qb0fwqpsflkfzr6gcar81llmjnc4b1"))))
+    (inputs
+     `(,@(package-inputs breeze-icons)
+       ("ki18n" ,ki18n)
+       ("kpackage" ,kpackage)
+       ("kguiaddons" ,kguiaddons)
+       ("kdecoration" ,kdecoration)
+       ("kcoreaddons" ,kcoreaddons)
+       ("kiconthemes" ,kiconthemes)
+       ("kwindowsystem" ,kwindowsystem)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("qtx11extras" ,qtx11extras)))
+    (home-page "https://github.com/KDE/breeze")
+    (synopsis "Artwork, styles and assets for the Breeze visual style")
+    (description "This package contains artwork, styles and assets associated
+with the Breeze visual style.")
+    (license license:gpl2+)))
+
 (define-public kapidox
   (package
     (name "kapidox")
-- 
2.28.0

From b7d4e572923a98cc4ff266e95a3bd247556fb834 Mon Sep 17 00:00:00 2001
From: Prafulla Giri <[email-masked]>
Date: Fri, 4 Sep 2020 12:59:28 +0545
Subject: [PATCH 2/2] gnu: kde-frameworks: Add breeze

* gnu/packages/kde-frameworks.scm (breeze): New variable.
---
 gnu/packages/kde-frameworks.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index e0b5e8d06e..fc1bfeba30 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -27,6 +27,7 @@
 (define-module (gnu packages kde-frameworks)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system qt)
+  #:use-module (guix build-system trivial)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -356,6 +357,32 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
 with the Breeze visual style.")
     (license license:gpl2+)))
 
+(define-public breeze
+  (package
+    (name "breeze")
+    (version (package-version breeze-assets))
+    (source #f)
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build union))
+       #:builder
+       (begin
+         (use-modules (ice-9 match)
+                      (guix build union))
+         (match %build-inputs
+                (((names . directories) ...)
+                 (union-build (assoc-ref %outputs "out")
+                              directories)
+                 #t)))))
+    (inputs
+     `(("breeze-icons" ,breeze-icons)
+       ("breeze-assets" ,breeze-assets)))
+    (home-page "https://github.com/KDE/breeze-icons")
+    (synopsis "Full Breeze Theme")
+    (description "The full Breeze visual style: a union-build of
+breeze-assets and breeze-icons.")
+    (license (list license:gpl2 license:gpl3+))))
+
 (define-public kapidox
   (package
     (name "kapidox")
-- 
2.28.0