Hello there. All this is the result from some discussions with seemant about a package for GTK+ themes. Ultimately, this is my attempt to follow his suggestions. Have a look at bugs #1921 and #1294 for more related info. This is what I wrote: - 2 eclasses: gtk-engines and gtk-engines-basic - 13 gtk engines ebuilds: gtk-engines-* - A gtk themes ebuild: gtk-themes Any comments will be deeply estimated. I just love the Portage model... Thanks, Leonardo
Created attachment 670 [details] gtk-engines.eclass
Created attachment 671 [details] gtk-engines-basic.eclass
Created attachment 672 [details] gtk-engines-begtk-1.0.1.ebuild
Created attachment 673 [details] gtk-engines-cleanice-0.8.5.ebuild
Created attachment 674 [details] gtk-engines-eazel-0.3.ebuild
Created attachment 675 [details] gtk-engines-flat-0.1.ebuild
Created attachment 676 [details] gtk-engines-gtkstep-2.2.ebuild
Created attachment 677 [details] gtk-engines-icegradient-0.0.5.ebuild
Created attachment 678 [details] gtk-engines-metal-0.12.ebuild
Created attachment 679 [details] gtk-engines-notif-0.12.ebuild
Created attachment 680 [details] gtk-engines-pixmap-0.12.ebuild
Created attachment 681 [details] gtk-engines-raleigh-0.12.ebuild
Created attachment 682 [details] gtk-engines-redmond95-0.12.ebuild
Created attachment 683 [details] gtk-engines-thinice-1.0.4.ebuild
Created attachment 684 [details] gtk-engines-xenophilia-0.7.ebuild Is this ever gonna stop?
Created attachment 685 [details] gtk-themes-0.1.ebuild Ok, this was the last one
The one thing I don't like about these ebuilds is the way they override the P variable, which really shouldn't be done.
mm, how will we do with the gtk2 single engine thats in portage? Right now there will be some more coming up (gnome2-beta4 has a engines package in it) that will give us some further engines, I guess I could just as well merge it into the others :) gtk-thinice-engine is my work in progress, its really stable and usable, only masked because of the gtk+2 version globbing problems currently in portage. I do like the general idea here, good job.
Should we call the themes (ie, .gtkrc's and so on) in groups of the engine they depend on, or just globally glob them all together? gtk-themes-thinice gtk-themes-pixmap gtk-themes-eazel and a -themes-mixed for those themes that use multiple engines at the same time? or do we just bunch them together in a big blog?
Thank you all for your comments. > The one thing I don't like about these ebuilds is the way they override the P > variable, which really shouldn't be done. Yes, I agree. The thing is that all these packages (engines) do not unpack themselves into consistenly-named directories, so overriding $P (and sometimes $S) was my not-very-clean solution to the problem. I guess I can come up with a better way to fix this inside the eclass, so ebuilds don't have to override those variables. I'll give it a try. > mm, how will we do with the gtk2 single engine thats in portage? Right now there > will be some more coming up (gnome2-beta4 has a engines package in it) that will > give us some further engines, I guess I could just as well merge it into the others :) Yeah, it's not much of a problem, anyway. I'd be more than pleased to see gnome2 released and to reconsider how to handle engines then. > gtk-thinice-engine is my work in progress, its really stable and usable, only > masked because of the gtk+2 version globbing problems currently in portage. Yes, I've seen it. Very nice what you're doing with Gtk 2, BTW. You can be sure that I'll be very interested in helping you with GTK/Gnome 2 stuff... I'm dying to see gnome2 released! > I do like the general idea here, good job. Thanks. :) > Should we call the themes (ie, .gtkrc's and so on) in groups of the engine they > depend on, or just globally glob them all together? I'd say it should be a Good Thing to have them all together in a single ebuild. Maybe there could be different theme ebuilds grouped by the engine they depend on, and then a single ebuild that installs them altogether via DEPENDS. I don't know, you're the ones who have the power. :)
Spider, any further thoughts on this? Apologies for the delay Leonardo, we're just not sure at this point how to handle adding this into portage.
>Maybe there could be different theme ebuilds grouped by the engine they depend >on, and then a single ebuild that installs them altogether via DEPENDS. I don't >know, you're the ones who have the power. :) I quite like this idea, then a big depend sort of ebuild. What I'd also suggest is an x11-theme or the like cateogry for all such related things... since we have a lot of things that are themeable we can fill one up nicely :)
Created attachment 1195 [details] collection of files (1 eclass, 15 ebuilds) (quick note -- this file is intended to be processed with something like: cat portage-gtk-files | perl -e 'while(<STDIN>){if(/^=(.*)/){open(F,">$1")}else{print F}}' ) Hello, These are my modifications to all the gtk-themes related files. Let's see, changes include: * A new engine: mac2 * New version of the xenophilia engine: 0.8 * There's only one eclass now for all the engines ebuilds (there's no more gtk-engines-basic.eclass) * The gtk-engines-* ebuilds do not override variables like P, PN and S. Everything is handled inside the eclass. * The SRC_URI variable for the gtk-themes ebuild has been updated with freshmeat URLs. I think that's all. A couple of additional notes: * I'd suggest a new category too. x11-themes sounds quite good. * There's a couple of engines that are licensed under the Library General Public License V2 (you'll find about that on the eclass). I've noticed that there's the LGPL-2.1 in /usr/portage/licenses, but I'm not sure about what's the better thing to do here. Assign "LGPL-2.1" to the LICENSE of those packages or suggest a new license (the old LPGL-2) for its inclusion under the Portage licenses directory? Thanks, Leonardo
Leonardo, The last attachment is something I can't seem to see. Can you attach a tarball of all the ebuilds plus the eclass please? I'd like to add this to portage ASAP. Also, any ideas for GTK2 theemes? I will be moving gtk-engines and gtk-thinice-engines into x11-themes momentarily. Let's throw some more in. Spider, are there any other pre-existing themes that need to be migrated into x11-themes?
crux is one for gtk2 thinice-engines is gtk2 thinice theme is gtk 1.2
Created attachment 1914 [details] gtk-stuff.tar.gz Hi there, This is my latest revision to all these gtk themes stuff. A lot of changes have been made again, hoping that this collection of ebuilds (plus the eclass) would fit into the portage tree nice and easy with very little or no modification at all. First, let's sum up the contents of this tarball: * The gtk-engines.eclass * 21 ebuilds for several gtk-engines (which inherit from the eclass) - 14 GTK1 engines - 07 GTK2 engines * 2 `gtk-themes' ebuilds, one for GTK1 themes, and one for GTK2 themes. It should also be noted here that this collection of files include the work made by Spider, specifically with the following packages: * crux * gtk-engines * gtk-thinice-engine * gtk-thinice-theme and under the new model they have been relocated as follows: * crux -> gtk-engines-crux (this is the gtk engine formerly known as gtk-engines-eazel in GTK1) * gtk-engines -> this is a collection of 3 GTK2 engines, which exist now as gtk-engines-metal, gtk-engines-pixbuf (formerly known as gtk-engines-pixmap) and gtk-engines-redmond95 * gtk-thinice-engine -> gtk-engines-thinice (SLOT 2) * gtk-thinice-theme -> gtk-engines-thinice (SLOT 1) That's about it. BTW, I'm very happy with the announcement of Gnome 2, and I expect to make the jump to the new version soon, it's just that I'm going through a stressful moment here at job and I don't want to take any risks while I wrap up some critical projects. But I can't wait to help with Gnome2-related development inside Gentoo as soon as I possibly can. :) Thanks, Leonardo
Yay, Themes ! :)