From: Andreas Oberritter <obi@opendreambox.org>
To: openembedded-core@lists.openembedded.org
Subject: Re: X11 as DISTRO_FEATURE
Date: Thu, 11 Aug 2011 16:19:32 +0200 [thread overview]
Message-ID: <4E43E4F4.4080902@opendreambox.org> (raw)
In-Reply-To: <1313065027.6733.127.camel@phil-desktop>
On 11.08.2011 14:17, Phil Blundell wrote:
> Right now, there are a bunch of recipes (e.g. dbus, cairo) which always
> build against X11 even though the underlying software can work without
> it. This makes it somewhat painful to build a display system using
> clutter (for example) without X.
>
> It's also moderately fiddly to stop X11 from leaking in by mistake; you
> can't just BBMASK the whole of "xorg-*" because things like pixman are
> still needed by cairo even when not using X11.
>
> So, to combat this, I would like to make X11 be a DISTRO_FEATURE and
> arrange for:
>
> a) libx11 to skip itself; and
>
> b) recipes for which x11 is optional to not depend on X stuff
>
> if that feature isn't selected.
>
> Any objections, better suggestions, ...?
That would be great!
My current workaround (using OE 2011.03, not OE-core) is rather
ugly, because it's hard to read and to extend and it creates tons
of warnings[1]:
# mask libx11 and related packages
BBMASK = "(/(nonworking|obsolete)/)|(/(efl1|gtk+|microwindows|preboot)/)|(/xorg-lib/lib.*)"
Plus, further workarounds in amend.inc or bbappend files are required, e.g.:
cairo/cairo/amend.inc:DEPENDS := "${@oe_filter_out('^(libsm|libxrender|virtual/libx11)$', '${DEPENDS}', d)}"
gnome/libsoup-2.4/amend.inc:DEPENDS := "${@oe_filter_out('^(gconf|gconf-native|gnome-common|gnome-keyring|libproxy)$', '${DEPENDS}', d)}"
gstreamer/gst-plugins-bad/amend.inc:DEPENDS := "${@oe_filter_out('^(librsvg|opencv)$', '${DEPENDS}', d)}"
gstreamer/gst-plugins-base/amend.inc:DEPENDS := "${@oe_filter_out('^(gnome-vfs|gtk\+|libsm|libxrandr|libxv|virtual/libx11)$', '${DEPENDS}', d)}"
gstreamer/gst-plugins-good/amend.inc:DEPENDS := "${@oe_filter_out('^(esound|gconf|hal|pulseaudio)$', '${DEPENDS}', d)}"
pango/pango/amend.inc:DEPENDS := "${@oe_filter_out('^(libxft|virtual/libx11)$', '${DEPENDS}', d)}"
Regards,
Andreas
[1]:
ERROR: Nothing PROVIDES 'libxext'
NOTE: Runtime target 'libsdl-x11' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libsdl-x11', 'libxext']
NOTE: Runtime target 'python-pygtk' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python-pygtk', 'gtk+', 'libxext']
NOTE: Runtime target 'avahi-python' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['avahi-python', 'python-pygtk', 'gtk+', 'libxext']
NOTE: Runtime target 'libglade' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libglade', 'gtk+', 'libxext']
NOTE: Runtime target 'gtk+' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['gtk+', 'libxext']
NOTE: Runtime target 'gtk+-fastscaling' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['gtk+-fastscaling', 'libxext']
ERROR: Nothing PROVIDES 'libxcursor'
ERROR: Nothing PROVIDES 'libxrandr'
...
prev parent reply other threads:[~2011-08-11 14:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-11 12:17 X11 as DISTRO_FEATURE Phil Blundell
2011-08-11 13:27 ` Anders Darander
2011-08-11 14:16 ` Phil Blundell
2011-08-11 14:19 ` Andreas Oberritter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E43E4F4.4080902@opendreambox.org \
--to=obi@opendreambox.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox