guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#43198] Questions about "Add breeze icon assets"


From: Prafulla Giri
Subject: [bug#43198] Questions about "Add breeze icon assets"
Date: Tue, 27 Oct 2020 10:20:27 +0545

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. (https://issues.guix.gnu.org/43200)

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-icons and 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:

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 |

reply via email to

[Prev in Thread] Current Thread [Next in Thread]