vifino / vifino-overlay

My personal overlay for Gentoo. Contains openrazer ebuilds and friends mostly.
MIT License
10 stars 4 forks source link

lessc dependency breaks Polychromatic ebuild #4

Closed evanjs closed 4 years ago

evanjs commented 7 years ago

Polychromatic adds a dependency to lessc in cff4b080a244887c704971c2d0527040f57f2137d. No longer builds, but compiles fine with a less compiler installed. dev-lang/less (eva overlay) is one of the few examples I could find on Zugaina.

vifino commented 6 years ago

Damn. I dislike javascript/nodejs/npm stuff.

Depending on something across overlays is a big no-no, so I'd need to include an ebuild for less here. Boo. 👎

Do you know if https://github.com/BramvdKroef/clessc works as an alternative? Wouldn't require nodejs, which would be a big plus for me.

evanjs commented 6 years ago

Not quite, it seems. Seems to compile fine, but the controller looks pretty messed up.

dev-lang/less screenshot_20170924_002134

dev-cpp/clessc screenshot_20170924_002343

Going to assume it has something to do with the features clessc supports, but I honestly have no idea.

vifino commented 6 years ago

Damn, that is a shame. Guess there is no way around it.

The reason I don't really wanna do it with the javascript one is because it depends on nodejs, which is a pain to get working/compiling decently with LibreSSL, but oh well.

I'll take a look at making a less ebuild and marking it as a dependency soon. May not be today or tomorrow, I unfortunately am quite busy at the moment. It will be done eventually, however.

If you do want to help, I'd gladly appreciate it. :)

evanjs commented 6 years ago

Emerging nodejs-8.1.0 from libressl overlay (first ebuild in there that doesn't hack openssl in when using libressl) and less-1.3.3 from eva seems to work fine.

I just wonder how much work it would take to get the node ebuild to work with openssl and libressl. Though, if that's not a concern, I wonder if this would be enough.

vifino commented 6 years ago

Sorry for my late reply. I've had basically no time.

Since upstream has a nodejs ebuild, we can depend on that, libressl's overlay just replaces it.

I'll try to make a less ebuild for my overlay soon, since I don't want to require another overlay to be installed. No timeline promises, other than that I won't forget this issue. It's on my todo list.

bcoca commented 6 years ago

tried using dev-python/lesscpy instead but it cannot process the .less file.

vifino commented 6 years ago

Welp, I guess I gotta surrender for the greater good.

I'll add the (original, nodejs) less dependency as soon as I fix two other small issues.

aTosser commented 6 years ago

There has been no movement on this issue and it still causes build failures without manually installing nodejs and lessc.

vifino commented 6 years ago

Yeah, the whole thing got lost on my TODO list. Busy times.

Since a lot of time passed, clessc might be able to work now. The clessc repo has a lot of changes since then.

I need to set up a new Gentoo install, since the last one died due to hardware failure and I took the chance to install FreeBSD instead. Adding an ebuild for clessc and adding a dependency to the Polychromatic ebuild is pretty trivial.

With some luck, I'll find time rather soon. If you (or someone else) tests the latest clessc with ebuild, I could write the ebuild changes quite quickly.

llitz commented 6 years ago

Just tried it, the output is better but still not quite there. Also, cless isn't a drop-in replacement you need to create a wrapper doing 'clessc "${1}" > "${2}"'

Checking clessc repo I can not all features have been implemented yet, we are probably lacking some of these or we have a bug on one of the others.

llitz commented 6 years ago

Eva's less ebuild is also quite old, checking less.js repo they are on 3.8. I will try to make a -9999 ebuild generic enough to cover tags when named properly

vifino commented 6 years ago

I'd highly appreciate a PR! That way I don't have to write a less ebuild and users don't have to use more overlays.

vifino commented 6 years ago

I'm also probably gonna be able to write some things Sunday. No promises but if I get gentoo going by today, I can dedicate some of sunday to fixing this.

llitz commented 6 years ago

@vifino I got the build for node-js lessc working (it pulls a ton of dependencies) but it does looks like the same as with clessc overall.

I have not created one for clessc (just manual testing). I think we could add clessc as a euse flag so we don't need to use the lessc version (not kidding, lessc pulls ins 40 deps)

EDIT: a portion of these came from webkit

vifino commented 5 years ago

@llitz Ah, good. I'll try to package/steal clessc and add it as a dep.

Finally found some much needed time. Set up a new Gentoo install. Included a nodejs ebuild in the overlay now to get firefox building on libressl.

birkenfeld commented 5 years ago

Just built latest polychromatic - looks absolutely impossible when compiled with clessc master. With the npm installed version it's fine.

garyemiller commented 5 years ago

I'm stuck trying to install on Gentoo. Where do I get a lessc that works for this ebuild?

ppfeufer commented 5 years ago

I think it should be this » dev-nodejs/less

But it's from another overlay - ycUygB1

vifino commented 5 years ago

Since clessc doesn't seem to let Polychromatic build correctly, it'll have to be the nodejs version, I guess.

Could someone with access to a Gentoo machine PR a dev-nodejs/less ebuild in and make this depend on it? Mine broke while travelling and it'll be a while until I can get it fixed.

vifino commented 5 years ago

Thanks to @ppfeufer, we now have a dev-node/less ebuild and the Polychromatic ebuild depends on it. So, this issue should be fixed!

garyemiller commented 5 years ago

I just tried it and it failed. Maybe still propagating to the portage servers?

garyemiller commented 5 years ago

How do I attach my build.log? My desktop not setup for drag and drop.

dilbert /usr/local/src/GPS/gpsd # cat /tmp/app-misc\:polychromatic-9999\:20190120-003204.log

Install polychromatic-9999 into /u1/tmp/portage/app-misc/polychromatic-9999/image/ category app-misc make -j4 PREFIX=/usr DESTDIR=/u1/tmp/portage/app-misc/polychromatic-9999/image/ install lessc source/data/controller.less data/pages/controller.css make: lessc: Command not found make: *** [Makefile:24: css] Error 127

  • ERROR: app-misc/polychromatic-9999::vifino-overlay failed (install phase):
  • emake failed
  • If you need support, post the output of emerge --info '=app-misc/polychromatic-9999::vifino-overlay',
  • the complete build log and the output of emerge -pqv '=app-misc/polychromatic-9999::vifino-overlay'.
  • The complete build log is located at '/var/log/app-misc:polychromatic-9999:20190120-003204.log'.
  • For convenience, a symlink to the build log is located at '/u1/tmp/portage/app-misc/polychromatic-9999/temp/build.log'.
  • The ebuild environment file is located at '/u1/tmp/portage/app-misc/polychromatic-9999/temp/environment'.
  • Working directory: '/u1/tmp/portage/app-misc/polychromatic-9999/work/polychromatic-9999'
  • S: '/u1/tmp/portage/app-misc/polychromatic-9999/work/polychromatic-9999'
ppfeufer commented 5 years ago

» sync your overlays » emerge it

I don't know if you use eix, but after syncing your overlays you can check if dev-nodejs/less is available wit eix dev-nodejs/less

Output should be something like this...

ppfeufer@thor ~ $ eix dev-nodejs/less
[I] dev-nodejs/less [1]
     Verfügbare Versionen:   (~)2.7.1
     Installierte Versionen: 2.7.1(22:10:48 19.01.2019)
     Startseite:             http://lesscss.org/
     Beschreibung:           Leaner CSS

[1] "vifino-overlay" /var/lib/layman/vifino-overlay
garyemiller commented 5 years ago

This is a Gentoo Unstable ~amd64

I now see the dev-nodejs/less, sort of.

kong ~ # layman -s ALL

 * Fetching remote list...
 * Fetch Ok

 * Syncing selected overlay(s)...
 * Running Git... # ( cd /var/lib/layman/torbrowser  && /usr/bin/git pull )
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 5 (delta 3), reused 5 (delta 3), pack-reused 0
Unpacking objects: 100% (5/5), done.
From https://github.com/MeisterP/torbrowser-overlay
   3beb9e6..905ee2c  master     -> origin/master
Updating 3beb9e6..905ee2c
Fast-forward
 .../nautilus-python/nautilus-python-1.2.2.ebuild   | 23 +++++++++-------------
 1 file changed, 9 insertions(+), 14 deletions(-)
 * Running Git... # ( cd /var/lib/layman/vifino-overlay  && /usr/bin/git pull )
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 11 (delta 3), reused 7 (delta 2), pack-reused 0
Unpacking objects: 100% (11/11), done.
From https://github.com/vifino/vifino-overlay
   72ad78c..665e73a  master     -> origin/master
Updating 72ad78c..665e73a
Fast-forward
 app-misc/polychromatic/polychromatic-9999.ebuild |   1 +
 dev-nodejs/less/Manifest                         |   1 +
 dev-nodejs/less/less-2.7.1.ebuild                |  35 +++++++
 dev-nodejs/less/metadata.xml                     |   8 ++
 media-sound/mumble/metadata.xml                  |  11 ---
 media-sound/mumble/mumble-9999.ebuild            | 113 -----------------------
 6 files changed, 45 insertions(+), 124 deletions(-)
 create mode 100644 dev-nodejs/less/Manifest
 create mode 100644 dev-nodejs/less/less-2.7.1.ebuild
 create mode 100644 dev-nodejs/less/metadata.xml
 delete mode 100644 media-sound/mumble/metadata.xml
 delete mode 100644 media-sound/mumble/mumble-9999.ebuild
 * 
 * Succeeded:
 * ------
 * Successfully synchronized overlay "torbrowser".
 * Successfully synchronized overlay "vifino-overlay".
 * 

kong ~ # eix dev-nodejs/less
No matches found
kong ~ # eix-update
Reading Portage settings...
Building database (/var/cache/eix/portage.eix)...
[0] "gentoo" /usr/portage/ (cache: metadata-md5-or-flat)
     Reading category 166|166 (100) Finished             
[1] "brother-overlay" /u1/local/overlay/brother-overlay (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 166|166 (100) Finished     
[2] "local" /u1/local/portage (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 166|166 (100) Finished                           
[3] "torbrowser" /var/lib/layman/torbrowser (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 166|166 (100) Finished       
[4] "vifino-overlay" /var/lib/layman/vifino-overlay (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 166|166 (100) Finished           
Applying masks...
Calculating hash tables...
Writing database file /var/cache/eix/portage.eix...
Database contains 20128 packages in 166 categories
kong ~ # eix dev-nodejs/less
No matches found
kong ~ # emerge -a polychromatic

These are the packages that would be merged, in order:

Calculating dependencies |
!!! 'dev-nodejs/less' has a category that is not listed in /etc/portage/categories
... done!

emerge: there are no ebuilds to satisfy "dev-nodejs/less".
(dependency required by "app-misc/polychromatic-9999::vifino-overlay" [ebuild])
(dependency required by "polychromatic" [argument])
kong ~ # 

Do I have layman setup incorrectly?

vifino commented 5 years ago

No, it should be ok, but I think we might need to add dev-nodejs to /etc/portage/categories or rather make the overlay do this? I'm really unsure, @ppfeufer, if you would be so kind, could you check the overlay where you got the ebuild from if it contains any category change, and if it does, can you propagate it to here as well?

ppfeufer commented 5 years ago

Oh ya, my fault. (First time I'm doing stuff like this) New PR incoming

vifino commented 5 years ago

@ppfeufer No worries! Merged! 👍 It should be fixed now, then. Anyone wanna confirm?

vifino commented 4 years ago

This has been fixed for a while now.