jnsh / arc-theme

A flat theme with transparent elements (actively maintained fork)
GNU General Public License v3.0
901 stars 77 forks source link

Also make available the built themes #52

Closed jumpinggoofballs closed 4 years ago

jumpinggoofballs commented 4 years ago

Trying to get this built on Clear Linux and I have to pull down gigabytes of dev dependencies that I will not use for anything else.

Would it not make sense to have a folder with all the built themes in the root directory of this repo for casual users who are not packaging these themes for distros? Would save a lot of computing cycles for your users.

jnsh commented 4 years ago

It would be great to able to have single prebuilt tarball of the full theme available for download, but since some of the themes have to be built for specific target versions, this is not possible.

Having a prebuilt tarball of each individual theme would technically be possible, but gets quite complicated, since you'd have to have the the individual themes built for transparent and -solid variant of each of the color variants, and each of those variants built for all of the available versions of the versioned themes.

Also, I don't think any prebuilt themes should ever be included in the source tree, but would have to be available from some separate, but still official and verifiable source.

I have been hoping to find a replacement for the inkscape build dependency, but so far there doesn't seem to be better alternative. The dependency could also be avoided by having pre-rendered png assets available on the source tree, but this isn't the most optimal option either.

Apart from inkscape, are there other build dependencies that you find particularly problematic when building on Clear Linux?

jumpinggoofballs commented 4 years ago

The next dependency missing is optipng.

And under Clear, the only way to add that is with the os-utils-gui-dev bundle. Which pulls in literally gigabytes of stuff. Like... it pulls in the entire XFCE desktop for example.

Now I know I should moan about it to the Clear devs, but all I wanted was the default GTK3 theme with the default colours, so I could use a nice theme that is also present under the flatpak runtime, so my desktop looks entirely coherent.

I have managed a work-around by extracting the theme from the flatpak runtime installation, but it required manually editing a .theme file. Clearly not ideal either.

jnsh commented 4 years ago

I could certainly make optipng an optional build dependency, as it's not really required for building the theme, but only used to optimize the build-time rendered PNG assets. I'm not even sure whether optimizing the PNGs makes much difference to the file size anyway.

I've been meaning to investigate this for some time, but it hasn't been the highest priority since I thought optipng was small enough dependency that it wouldn't matter to most people. Thank you for bringing this to my attention. I'll have a look at this in the near future.

You should be able to extract the complete theme from any distribution package without issues, as long as it is built for the same GTK3 (and GNOME Shell, and Cinnamon) version that your distribution uses.

jumpinggoofballs commented 4 years ago

I can close this issue then?

Shoot me an email if you remove optipng as a dependency and you want me to test the outcome on Clear. Temporarily installing inkscape is not an issue. It's <30mb.

jnsh commented 4 years ago

The optipng dependency is now optional after https://github.com/jnsh/arc-theme/commit/7f111462921f679f5a811b74d9ab927a0ecc4c7e.

Feel free to close the issue if there are no more problematic dependencies, or other suggestions related to this. Thank you for the help.

jumpinggoofballs commented 4 years ago

sigh... next thing missing in Clear is sassc.

Honestly, just having a canonical tarball available to download from releases seems like the only way to approach "special" distributions.

jnsh commented 4 years ago

Unfortunately I don't think avoiding the sassc dependency would be practically possible. Technically there could be precompiled CSS files that have to be generated and updated to the repo every time the SASS source code is modified. However, this repo is for the source code and IMHO including anything precompiled to the source would be extremely counterintuitive.

Again, due to the versioned themes, providing a prebuilt tarball of the theme isn't possible. I'd suggest extracting the theme from some distribution package (e.g. the Arch package is pretty much a simple .tar.xz archive), if you're using a distro that doesn't have the build dependencies easily available. As long as the package was built for matching GTK3, GNOME Shell, and Cinnamon versions on your distro, there shouldn't be any issues.

jumpinggoofballs commented 4 years ago

Aye, I think this is the end of the road for this idea.

Thanks for taking the time though!