Add breeze icon assets

DoneSubmitted by Prafulla Giri.
Details
3 participants
  • Hartmut Goebel
  • Ludovic Courtès
  • Prafulla Giri
Owner
unassigned
Severity
normal
P
P
Prafulla Giri wrote on 4 Sep 2020 10:22
(address . guix-patches@gnu.org)
CAFw+=j1+2NZqGtOSGsvGKaZgpLe6CcEcCkxa07rZm3oJ8=pKtA@mail.gmail.com
Esteemed maintainers,

I submit the following two patches to you for review.

They add breeze-assets and breeze packages.

Currently, guix only has `breeze-icons`, and this package only supplies the
icons, and not the entire breeze theme.

I have, however, a few concerns/comments regarding the patches.

# Regarding the first patch:
1. Regarding `breeze-assets`, I am not entirely sure if that is the right
name for the package. If there are any better suggestions, perhaps it
should be changed (?)
2. The `breeze-assets` package inheriting from `breeze-icons` package is
intentional: so as to show the relationship. I started with `guix
environment breeze-icons --ad-hoc stuffs` to package breeze-assets,
anyways. I think this makes it more read-able. (Can we keep it, please?)
3. I could not really find a proper home-page for the package.
4. I wonder if there should be better synopsis/description? But I'm not
sure. But if I get an 'it's all right', I'd like to run with it as-is,
please.

# Regarding the second patch:
1. I intentionally used (inherit, again, and used (@ to inherit from
mate.scm. Probably a bad idea. And it got me thinking, since union-builds
aren't all that common yet, perhaps a boilerplate union-build package could
be created. I saw that `mate` and `xfce` use almost identical package
definitions. Perhaps abstracting that away into some hidden package like
(@@ (guix some place) union-build-boilerplate) or something would keep us
from repeating ourselves? I understand that inheriting from something from
an entirely different desktop-environment might be too much spaghetti code.
And I am in favour of changing this. However, I send this patch in as a
sample of how having union-build boilerplate might help us.
2. I am not entirely certain what the version number should be. It seems
`breeze-icons` and `breeze-assets` differ in their latest version. But
since `breeze-assets` is the bigger of the two packages, I decided to go
with `breeze-assets`'s version number.

I hope to learn a lot from the review of these patches, and will try to
send updated/polished patches - as per the reviews - as promptly as
possible.

Thank you
Attachment: file
From ac4c48493cff931d8f04abf8f52236e49bc818ae Mon Sep 17 00:00:00 2001
From: Prafulla Giri <pratheblackdiamond@gmail.com>
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 | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index a1abd7d46c..7fd17d92b7 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,35 @@ 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
+                           "https://codeload.github.com/KDE/breeze/tar.gz/v"
+                           version))
+                     (sha256
+                      (base32
+                       "12ffrm0nrhi2avq2z7jx3pdp0zgsxsary7gpfp60vvxs1jrvnk1b"))))
+           (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 "Artwork, styles and assets associated with the Breeze
+visual style.")
+           (license license:gpl2)))
+
 (define-public kapidox
   (package
     (name "kapidox")
-- 
2.28.0
From 468f64cd140bf38b6142fa0e4e1d6cae22c2b8df Mon Sep 17 00:00:00 2001
From: Prafulla Giri <pratheblackdiamond@gmail.com>
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 | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 7fd17d92b7..2ff90fb915 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -355,6 +355,20 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
 visual style.")
            (license license:gpl2)))
 
+(define-public breeze
+  (package (inherit (@ (gnu packages mate) mate)) ;; union-build boilerplate
+           (name "breeze")
+           (version (package-version breeze-assets))
+           (native-inputs '()) ;; over-write inherited native-inputs
+           (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 icon theme: a union-build of
+breeze-assets and breeze-icons.")
+           (license (list license:gpl2 license:gpl3+))))
+
 (define-public kapidox
   (package
     (name "kapidox")
-- 
2.28.0
L
L
Ludovic Courtès wrote on 4 Sep 2020 11:29
(name . Prafulla Giri)(address . pratheblackdiamond@gmail.com)(address . 43198@debbugs.gnu.org)
878sdpvqj6.fsf@gnu.org
Hi,

Prafulla Giri <pratheblackdiamond@gmail.com> skribis:

Toggle quote (7 lines)
> From ac4c48493cff931d8f04abf8f52236e49bc818ae Mon Sep 17 00:00:00 2001
> From: Prafulla Giri <pratheblackdiamond@gmail.com>
> 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.

[...]

Toggle quote (4 lines)
> +(define-public breeze-assets
> + (package (inherit breeze-icons)
> + (name "breeze-assets")

Please indent like this:

(package
(inherit breeze-icons)
(name …)
…)

Toggle quote (4 lines)
> + (synopsis "Artwork, styles and assets for the Breeze visual style")
> + (description "Artwork, styles and assets associated with the Breeze
> +visual style.")

Please write full sentences for the description:


Toggle quote (2 lines)
> + (license license:gpl2)))

Is it GPL-version-2-only? That’d mean that source file headers (or
similar) explicitly omit the “or any later version” wording.

Toggle quote (22 lines)
> From 468f64cd140bf38b6142fa0e4e1d6cae22c2b8df Mon Sep 17 00:00:00 2001
> From: Prafulla Giri <pratheblackdiamond@gmail.com>
> 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 | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index 7fd17d92b7..2ff90fb915 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -355,6 +355,20 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
> visual style.")
> (license license:gpl2)))
>
> +(define-public breeze
> + (package (inherit (@ (gnu packages mate) mate)) ;; union-build boilerplate
> + (name "breeze")

In general, use of ‘@’ must be avoided: it’s better to just import the
modules you need.

More importantly though, you must not inherit from a package defined in
another module as that would prevent modules from being loaded.

The solution here is probably to duplicate all the fields instead of
inheriting. In this case, that’s probably not going to be much longer
anyway. And if you want, you can add a comment saying that breeze is
based on MATE or something.

HTH!

Thank you,
Ludo’.
P
P
Prafulla Giri wrote on 4 Sep 2020 13:00
Fwd: [bug#43198] Add breeze icon assets
(address . 43198@debbugs.gnu.org)
CAFw+=j0wQ2LMoX3GHiMwRK=Jy_oiokQFYMpPEtGZ9-ObH8xsuw@mail.gmail.com
---------- Forwarded message ---------
From: Prafulla Giri <pratheblackdiamond@gmail.com>
Date: Fri, Sep 4, 2020 at 4:43 PM
Subject: Re: [bug#43198] Add breeze icon assets
To: Ludovic Courtès <ludo@gnu.org>


Thank you for the review, Mr. Courtès.

Attached are the updated patches.

Yes, sir. It seems that breeze-assets is licensed under GPL2 only (I
couldn't find "or any later version" in their license file:

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.

On Fri, Sep 4, 2020 at 3:14 PM Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (80 lines)
> Hi,
>
> Prafulla Giri <pratheblackdiamond@gmail.com> skribis:
>
> > From ac4c48493cff931d8f04abf8f52236e49bc818ae Mon Sep 17 00:00:00 2001
> > From: Prafulla Giri <pratheblackdiamond@gmail.com>
> > 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")
>
> Please indent like this:
>
> (package
> (inherit breeze-icons)
> (name …)
> …)
>
> > + (synopsis "Artwork, styles and assets for the Breeze visual
> style")
> > + (description "Artwork, styles and assets associated with the
> Breeze
> > +visual style.")
>
> Please write full sentences for the description:
>
> https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html
>
> > + (license license:gpl2)))
>
> Is it GPL-version-2-only? That’d mean that source file headers (or
> similar) explicitly omit the “or any later version” wording.
>
> > From 468f64cd140bf38b6142fa0e4e1d6cae22c2b8df Mon Sep 17 00:00:00 2001
> > From: Prafulla Giri <pratheblackdiamond@gmail.com>
> > 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 | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/gnu/packages/kde-frameworks.scm
> b/gnu/packages/kde-frameworks.scm
> > index 7fd17d92b7..2ff90fb915 100644
> > --- a/gnu/packages/kde-frameworks.scm
> > +++ b/gnu/packages/kde-frameworks.scm
> > @@ -355,6 +355,20 @@ It is the default icon theme for the KDE Plasma 5
> desktop.")
> > visual style.")
> > (license license:gpl2)))
> >
> > +(define-public breeze
> > + (package (inherit (@ (gnu packages mate) mate)) ;; union-build
> boilerplate
> > + (name "breeze")
>
> In general, use of ‘@’ must be avoided: it’s better to just import the
> modules you need.
>
> More importantly though, you must not inherit from a package defined in
> another module as that would prevent modules from being loaded.
>
> The solution here is probably to duplicate all the fields instead of
> inheriting. In this case, that’s probably not going to be much longer
> anyway. And if you want, you can add a comment saying that breeze is
> based on MATE or something.
>
> HTH!
>
> Thank you,
> Ludo’.
>
Attachment: file
L
L
Ludovic Courtès wrote on 7 Sep 2020 10:06
Re: [bug#43198] Add breeze icon assets
(name . Prafulla Giri)(address . pratheblackdiamond@gmail.com)(address . 43198@debbugs.gnu.org)
87a6y2rowu.fsf@gnu.org
Hi,

Prafulla Giri <pratheblackdiamond@gmail.com> skribis:

Toggle quote (4 lines)
> 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.

Toggle quote (6 lines)
> 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:


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?

Toggle quote (7 lines)
> From 464358cc945eeb4ffcb46b3ddfc36ee8894e9378 Mon Sep 17 00:00:00 2001
> From: Prafulla Giri <pratheblackdiamond@gmail.com>
> 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.

[...]

Toggle quote (14 lines)
> +(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?
shows that the official tarballs can be obtained from kde.org.

With these last changes, we should be all set!

Thanks,
Ludo’.
P
P
Prafulla Giri wrote on 8 Sep 2020 13:25
Fwd: [bug#43198] Add breeze icon assets
(address . 43198@debbugs.gnu.org)
CAFw+=j24KYXj75KNZ1eE6-L7zKYh-Kni6pEBJW2NXbGTRhFY=A@mail.gmail.com
---------- Forwarded message ---------
From: Prafulla Giri <pratheblackdiamond@gmail.com>
Date: Tue, Sep 8, 2020 at 4:56 PM
Subject: Re: [bug#43198] Add breeze icon assets
To: Ludovic Courtès <ludo@gnu.org>


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 <ludo@gnu.org> wrote:

Toggle quote (67 lines)
> Hi,
>
> Prafulla Giri <pratheblackdiamond@gmail.com> 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 <pratheblackdiamond@gmail.com>
> > 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’.
>
Attachment: file
P
P
Prafulla Giri wrote on 8 Sep 2020 13:11
Re: [bug#43198] Add breeze icon assets
(name . Ludovic Courtès)(address . ludo@gnu.org)
CAFw+=j0Nyv58hcC_6mtzeYt=wgETcPYyRKBj4acba4rgZaw5zg@mail.gmail.com
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 <ludo@gnu.org> wrote:

Toggle quote (67 lines)
> Hi,
>
> Prafulla Giri <pratheblackdiamond@gmail.com> 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 <pratheblackdiamond@gmail.com>
> > 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’.
>
Attachment: file
From 8096401f6f977cf48b66914e161da0efd124931e Mon Sep 17 00:00:00 2001
From: Prafulla Giri <pratheblackdiamond@gmail.com>
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(+)

Toggle diff (51 lines)
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 <pratheblackdiamond@gmail.com>
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(+)

Toggle diff (47 lines)
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
L
L
Ludovic Courtès wrote on 9 Sep 2020 09:26
(name . Prafulla Giri)(address . pratheblackdiamond@gmail.com)(address . 43198-done@debbugs.gnu.org)
87zh5zmmvp.fsf@gnu.org
Hi,

Prafulla Giri <pratheblackdiamond@gmail.com> skribis:

Toggle quote (7 lines)
> From 8096401f6f977cf48b66914e161da0efd124931e Mon Sep 17 00:00:00 2001
> From: Prafulla Giri <pratheblackdiamond@gmail.com>
> 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.

Applied.

Toggle quote (7 lines)
> From b7d4e572923a98cc4ff266e95a3bd247556fb834 Mon Sep 17 00:00:00 2001
> From: Prafulla Giri <pratheblackdiamond@gmail.com>
> 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.

[...]

Toggle quote (4 lines)
> + (synopsis "Full Breeze Theme")
> + (description "The full Breeze visual style: a union-build of
> +breeze-assets and breeze-icons.")

I tweaked these and applied it.

Thank you!

Ludo’.

PS: Please keep the bug Cc’d.
Closed
P
P
Prafulla Giri wrote on 9 Sep 2020 10:27
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 43198-done@debbugs.gnu.org)
CAFw+=j2ZnBgLZfAs-oDki=GV5GHHtpuB7es2sxjQ6M56Vo-HTg@mail.gmail.com
Thank you, Mr. Courtes.

I will try to remember to keep the bug CC'd. Sorry for the inconvenience.

On Wed, Sep 9, 2020 at 1:11 PM Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (34 lines)
> Hi,
>
> Prafulla Giri <pratheblackdiamond@gmail.com> skribis:
>
> > From 8096401f6f977cf48b66914e161da0efd124931e Mon Sep 17 00:00:00 2001
> > From: Prafulla Giri <pratheblackdiamond@gmail.com>
> > 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.
>
> Applied.
>
> > From b7d4e572923a98cc4ff266e95a3bd247556fb834 Mon Sep 17 00:00:00 2001
> > From: Prafulla Giri <pratheblackdiamond@gmail.com>
> > 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.
>
> [...]
>
> > + (synopsis "Full Breeze Theme")
> > + (description "The full Breeze visual style: a union-build of
> > +breeze-assets and breeze-icons.")
>
> I tweaked these and applied it.
>
> Thank you!
>
> Ludo’.
>
> PS: Please keep the bug Cc’d.
>
Attachment: file
Closed
H
H
Hartmut Goebel wrote on 26 Oct 2020 19:02
(no subject)
(address . control@debbugs.gnu.org)
cf9c907b-3240-4f19-c24b-6b7fe1c05712@crazy-compilers.com
unarchive 43198
H
H
Hartmut Goebel wrote on 26 Oct 2020 20:07
Questions about "Add breeze icon assets"
bae9c62d-5411-0d72-e472-5c15f17b960c@crazy-compilers.com
Hi Prafulla,

sorry, I'm late for the show and this is already merged. I packages
quite a lot KDE packages and also made several attempts to make
plasma-desktop run on guix.

I'm curious about breeze-artwork and breeze and have some questions:

1. What is the reason you broke up breeze into breeze-assets and
breeze? What is the use of having a package "breeze-assets"?

I'm asking since in guix we typically do not split up packages this
way, but are using different "outputs".

2. What is the reason you inherit breeze(-artwork) from breeze-icons?

I'm asking since

a) breeze-icons are part of KDE Frameworks, whereas breeze is part
of KDE Plasma. So I expect these to be somewhat independent of each
other, as one can see by quite different version numbers.

b) While breeze-assets inherits breeze-icons, it overwrites all
information inherited from except of the build-system and some
inputs. Even the version is different.

3. What is the reason for breeze becoming unified with breeze-icons?

I'm asking since, as explained above, I'd expect these to be
somewhat independent of each other. (breeze of course requires
breeze-icons).


--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
Attachment: file
P
P
Prafulla Giri wrote on 27 Oct 2020 05:35
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)(address . 43198@debbugs.gnu.org)
CAFw+=j24zUKvb9fTch5Em3QRjGttN1xn+QcMZmO-W0L-XRKrbA@mail.gmail.com
Hello Mr. Goebel,

To be really honest, I do not know much about KDE and all. I am just some
random guy who knows a little bit of guix/guile/scheme/gnu/linux, and I
just wanted to use Kdenlive, and really wanted a dark theme. (

I looked for the breeze icon theme in guix and found that we only had the
breeze-icons package, and not the entire breeze theme, and adding that to
kdenlive's dependencies did not supply the breeze theme in it's entirety. I
looked around for a solution and bumped into this:
https://github.com/KDE/breeze-iconsand this: https://github.com/KDE/breeze

Seeing these two repos led me to conclude that the breeze-icons package
merely supplied the icons, whereas the breeze repository held the entire
breeze theme: what I was looking for in order to make the theme available
in Kdenlive (this was the end goal).

So, I decided to package the contents of the breeze repo (
https://github.com/KDE/breeze)into a package, and (reluctantly) decided to
call it breeze-assets. The reason that I inherited breeze-icons for this
was because I thought that since they were both "basically the same" thing,
or rather, parts of the same theme, they must share their dependencies. And
I thought that since I don't know much about KDE, and setting up it's build
environment, I started my packaging with: `guix environment breeze-icons &&
cd breeze # the breeze repo clone` and then went on adding more and more
missing dependencies. Hence, the inheritance. So, it is not a well thought
out decision on my part, but rather just what I started the whole thing
with. I understand that this might be causing breeze-assets to have as
inputs things that it does not require at all.

Once that was done, I tried adding breeze-icons and breeze-assets as
dependencies for KdenLive but that was still not working correctly. At run
time, some parts of the breeze theme were missing because the icons that
should have been available in the Breeze Theme were not available as they
were in separate /gnu/store/xxx-package directories. In order to resolve
this issue, I had two choices: I could either declare breeze-assets and
breeze-icons as propagated-inputs of kdenlive, or I could declare a
union-build of breeze-assets and breeze-icons as a union build in the
inputs of kdenlive itself. Being a (wannabe)
guix/functional-package-management purist, I chose to go the second route.
But then, I thought that perhaps other packages would also benefit from
having the union of breeze-icons and breeze-assets readily available to
just include in their input list. Hence, I added the union package:
`breeze`. And with that added as an input for Kdenlive, and the runtime
variable XDG_DATA_DIRS pointing to /gnu/store/xxx-breeze/share during
runtime, kdenlive has the breeze theme available (Commit:
e33a1e546a52aa70ffe0c8389f29ff3288cc4510).

Now, I can see that my solution is inelegant. And I should have not mixed
two different things together. But because of my lack of knowledge
regarding the matter, and my end goal of getting kdenlive's breeze theme
working, it appears that I've implemented a kludge. Please do go ahead and
make the corrective changes.

I have one request, however: that you please retain the union build of
breeze-assets and breeze-icon as it makes it easier to get the entire theme
without creating union-builds in every single package's input list. If that
is acceptable to you (to keep the union build `breeze` package) - and
please do correct me if I am wrong - am I correct in thinking that this
must be a matter of only cleaning `breeze-assets` up (removing the
inheritance, perhaps moving the package to another file altogether
(kde-plasma.scm, perhaps) ?

If you do not have the time, and want me to clean this up, please do give
me the instructions and I will be happy to make the necessary changes.

Again, please forgive me for the inconvenience caused.

On Tue, Oct 27, 2020 at 12:52 AM Hartmut Goebel <
h.goebel@crazy-compilers.com> wrote:

Toggle quote (42 lines)
> Hi Prafulla,
>
> sorry, I'm late for the show and this is already merged. I packages quite
> a lot KDE packages and also made several attempts to make plasma-desktop
> run on guix.
>
> I'm curious about breeze-artwork and breeze and have some questions:
>
> 1. What is the reason you broke up breeze into breeze-assets and
> breeze? What is the use of having a package "breeze-assets"?
>
> I'm asking since in guix we typically do not split up packages this way,
> but are using different "outputs".
>
>
> 1. What is the reason you inherit breeze(-artwork) from breeze-icons?
>
> I'm asking since
>
> a) breeze-icons are part of KDE Frameworks, whereas breeze is part of KDE
> Plasma. So I expect these to be somewhat independent of each other, as one
> can see by quite different version numbers.
>
> b) While breeze-assets inherits breeze-icons, it overwrites all
> information inherited from except of the build-system and some inputs. Even
> the version is different.
>
>
> 1. What is the reason for breeze becoming unified with breeze-icons?
>
> I'm asking since, as explained above, I'd expect these to be somewhat
> independent of each other. (breeze of course requires breeze-icons).
>
>
> --
> Regards
> Hartmut Goebel
>
> | Hartmut Goebel | h.goebel@crazy-compilers.com |
> | www.crazy-compilers.com | compilers which you thought are impossible |
>
>
Attachment: file
?
Your comment

This issue is archived.

To comment on this conversation send email to 43198@debbugs.gnu.org