Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 669714 - www-client/netsurf is missing USE dependencies (sdl, vnc, xcb) on dev-libs/libnsfb
Summary: www-client/netsurf is missing USE dependencies (sdl, vnc, xcb) on dev-libs/li...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michael Weber (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-10-26 22:54 UTC by phkb
Modified: 2018-11-13 18:13 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description phkb 2018-10-26 22:54:57 UTC
www-client/netsurf has several fbcon frontends, which are enabled with the fbcon_frontend_* USE flags. In order to use the sdl, vnc and x frontends, the corresponding USE flags for dev-libs/libnsfb must be enabled (sdl, vnc, xcb). So I think the ebuild is missing the USE dependencies :

fbcon_frontend_sdl? ( dev-libs/libnsfb[sdl] )
fbcon_frontend_vnc? ( dev-libs/libnsfb[vnc] )
fbcon_frontend_x? ( dev-libs/libnsfb[xcb] )
Comment 1 Virgil Dupras (RETIRED) gentoo-dev 2018-10-30 23:17:42 UTC
Thanks for the report. I'm preparing an overhaul of the ebuild, I'll ensure that this is fixed.
Comment 2 Larry the Git Cow gentoo-dev 2018-11-07 19:48:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9eda6f0cb7caedb3b295c555d4f3557efe40e3c1

commit 9eda6f0cb7caedb3b295c555d4f3557efe40e3c1
Author:     Virgil Dupras <vdupras@gentoo.org>
AuthorDate: 2018-11-07 19:44:07 +0000
Commit:     Virgil Dupras <vdupras@gentoo.org>
CommitDate: 2018-11-07 19:45:52 +0000

    www-client/netsurf: drop netsurf eclass
    
    The netsurf project has tons of little single-purpose libraries that
    aren't used in any other project. That causes us to create many packages
    *and* maintain an eclass for a program that isn't the most popular (it
    had been completely broken for 3 months until a few weeks ago).
    
    In this commit, I take the worst offenders and bundle them directly in
    netsurf's ebuild. The long term goal is to eventually get rid of the
    netsurf eclass by reducing the number of packaged netsurf libs (and thus
    make the copy-paste of ebuild boilerplate less painful).
    
    Other changes:
    
    * Drop multilib. I really don't see the point of it and it adds needless
      complexity.
    * Drop fb.modes. This is related to directfb, which isn't supported in
      Gentoo any more.
    * Drop "linux" and "able" frontends. They aren't listed in libnsfb's
      supported frontends.
    * Allow more than one fb frontend to be selected.
    * Don't set NETSURF_FB_FRONTEND. It has no effect.
    
    Closes: https://bugs.gentoo.org/669714
    Signed-off-by: Virgil Dupras <vdupras@gentoo.org>
    Package-Manager: Portage-2.3.51, Repoman-2.3.11

 www-client/netsurf/Manifest              |   9 ++
 www-client/netsurf/netsurf-3.8-r1.ebuild | 219 +++++++++++++++++++++++++++++++
 2 files changed, 228 insertions(+)
Comment 3 phkb 2018-11-08 01:44:30 UTC
Thanks for your work on the ebuild. 

However I am not sure about grouping the libraries in one ebuild: while netsurf is the only package using them right now in the portage tree, other projects may be using them elsewhere (I'm using libcss in one of my project). Additionally, it makes the ebuild more complex (eg. building SRC_URI with a for loop, depending on the USE flags).
Comment 4 Virgil Dupras (RETIRED) gentoo-dev 2018-11-08 02:00:14 UTC
Yes, it makes the netsurf ebuild more complex, but it makes the whole think less complex overall. My goal is to get rid of netsurf.eclass, which is itself too complex. Gentoo rules makes changing eclasses very heavy (we have to submit the patch to gentoo-dev and wait a while), too heavy for a small app like netsurf.

However, removing the eclass without getting rid of a majority of library packages would mean copying a lot of boilerplate code (due to netsurf's build system).

Maybe I should introduce netsurf-buildsystem as a regular package as a mean to get rid of netsurf.eclass... I'll think about this...
Comment 5 phkb 2018-11-08 02:13:47 UTC
Yes, I think it makes sense to replace the eclass by a package for the build system.
Comment 6 Larry the Git Cow gentoo-dev 2018-11-13 18:13:15 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acb6f543e2c8c720a2a0ab1fd3760f2d1e64f674

commit acb6f543e2c8c720a2a0ab1fd3760f2d1e64f674
Author:     Virgil Dupras <vdupras@gentoo.org>
AuthorDate: 2018-11-13 16:52:36 +0000
Commit:     Virgil Dupras <vdupras@gentoo.org>
CommitDate: 2018-11-13 18:04:25 +0000

    www-client/netsurf: backtrack on the dep bundling idea
    
    The dep bundling idea introduced in 3.8-r1 wasn't a very good idea
    after all, as we can see in #669714. A better idea, which is what is
    being done in the commits preceding this one, is to drop netsurf eclass
    in all dependencies by introducing dev-util/netsurf-buildsystem as a
    regular package.
    
    Bug: https://bugs.gentoo.org/669714
    Signed-off-by: Virgil Dupras <vdupras@gentoo.org>
    Package-Manager: Portage-2.3.51, Repoman-2.3.11

 www-client/netsurf/Manifest              |  11 --
 www-client/netsurf/metadata.xml          |   5 +-
 www-client/netsurf/netsurf-3.8-r1.ebuild | 219 -------------------------------
 www-client/netsurf/netsurf-3.8-r2.ebuild | 136 +++++++++++++++++++
 www-client/netsurf/netsurf-3.8.ebuild    | 163 -----------------------
 5 files changed, 137 insertions(+), 397 deletions(-)