Message ID | 1396296389-28821-16-git-send-email-bernd.kuhls@t-online.de |
---|---|
State | Superseded |
Headers | show |
Bernd, All,
Hihi! Gotham! :-)
On 2014-03-31 22:06 +0200, Bernd Kuhls spake thusly:
> - add support for uClibc, X.org, mesa3d, vaapi
For very large and complex beasts like XBMC, it would be better to
split the patch:
- a first patch to bump
- a second to add uClibc support
- a third to add mesa3d
- a fourth to add vaapi
This will make it easier to review.
As you said, we should consider this bump as an RFC: better wait for the
final release rather than bundle a beta release.
Regards,
Yann E. MORIN.
Hi, "Yann E. MORIN" <yann.morin.1998@free.fr> wrote in news:20140331220546.GD5004@free.fr: > - a first patch to bump > - a second to add uClibc support both is done by the version bump to Gotham. Frodo does not support uClibc, Gotham will do thanks to the two small patches[1] I sent to the xbmc team ;) Why I do not like the idea to split the Config.in patch? See next comment... > - a third to add mesa3d > - a fourth to add vaapi > > This will make it easier to review. I am not sure if the version bump alone creates a bisectable, that means buildable xbmc package. My time is limited, so I prefer not to test four different patches for "complex beasts like XBMC" and their ability, that each of them still compiles without errors. > As you said, we should consider this bump as an RFC: better wait for the > final release rather than bundle a beta release. Of course ;) But we should start testing, especially on non-intel platforms. If something is missing, we still have a chance to get it into Gotham release code. Regards, Bernd [1] https://github.com/xbmc/xbmc/pull/3920 https://github.com/xbmc/xbmc/pull/4427
On 2014-04-01 19:11 +0200, Bernd Kuhls spake thusly: > Hi, > > "Yann E. MORIN" <yann.morin.1998@free.fr> wrote in > news:20140331220546.GD5004@free.fr: > > > - a first patch to bump > > - a second to add uClibc support > > both is done by the version bump to Gotham. Frodo does not support uClibc, > Gotham will do thanks to the two small patches[1] I sent to the xbmc team ;) Great! Thanks! :-) > Why I do not like the idea to split the Config.in patch? See next comment... > > > - a third to add mesa3d > > - a fourth to add vaapi > > > > This will make it easier to review. > > I am not sure if the version bump alone creates a bisectable, that means > buildable xbmc package. My time is limited, so I prefer not to test four > different patches for "complex beasts like XBMC" and their ability, that each > of them still compiles without errors. I can understand that your time is precious. But so is mine, and all the other reviewers. Reviewing small patches is much easier than reviewing a single patch with many changes. We already have some difficulties finding time to review even simple patches, that when we see a large patch, it is just not that appealing. For example, you're saying that bumping to Gotham will enable us to build on uClibc. That's fine, but they are two different things: - a bump of version, which keeps the same feature-set - a new feature, which is to build with uClibc If something goes amiss with uClibc, we can just revert that and keep the bump. If it was a single change, we'd have to revert all of it just because of the failure of a single new feature. Ditto with mesa3d and vaapi. If only vaapi has a problem and it is in a single patch, we may have to revert the whole thing, while if vaapi is in its own patch, it is easy to revert [*]. Note also, that many of the XBMC sub-options have dependencies on toolchain features (eg. IPv6, threads, and so on...) which are not currently expressed, being implicit as XBMC depends on (e)glibc, and so those features are guaranteed to be present in this case. But when enabling building with uClibc, those dependencies will have to be added, which is not a trivial change. And your patch is missing all those new required dependencies. Having split-patches will make it easier to check those dependencies. But in the end, if you can't find the time to split the patch into atmic, semantically-separated patches, you are still welcome to post your work on the list. :-) Maybe someone will be interested enough that he'll get your patch, do the split himself, and resubmit the splitted patches. [*] revert: in case the fix is not obvious, the best approach is to revert changes until they are fixed. Of course, if the ix is trivial, there is no revert needed, but better safe than sorry. > > As you said, we should consider this bump as an RFC: better wait for the > > final release rather than bundle a beta release. > > Of course ;) But we should start testing, especially on non-intel platforms. > If something is missing, we still have a chance to get it into Gotham release > code. Yes. I'm sure Maxime will be very happy not to have to handle this bump! ;-) Regards, Yann E. MORIN.
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote in news:20140401183534.GB3291@free.fr: > Note also, that many of the XBMC sub-options have dependencies on > toolchain features (eg. IPv6, threads, and so on...) which are not > currently expressed, being implicit as XBMC depends on (e)glibc, and so > those features are guaranteed to be present in this case. But when > enabling building with uClibc, those dependencies will have to be added, > which is not a trivial change. And your patch is missing all those new > required dependencies. Having split-patches will make it easier to check > those dependencies. Hi, ok, you convinced me to split the patch, I already started work ;) efc3c8359e6493dbcdf32afd4f9d4075dd4b9f4a WIP: xbmc: needs host-gawk bbcfd437efa76bd358a287d0505dc98f2c9987e5 WIP: xbmc: Add option for Goom screensaver 3b33e850145ae59e1a51f14933b1d889a7ce8091 WIP: xbmc: Disable broken rsxs screensaver ca08b3b00d44a70cd65bedb5737254ff286b1c72 WIP: xbmc: Add lame support aaf2d1b40144266446d5764baf65b9ed1a44e7a3 WIP: xbmc: Add alsa support 7a4721ab543e705ced87f8e4dbeb38c91af14914 WIP: xbmc: Add VA-API support 21c7aa5957c8855a1b0ecbe5f2a8a16b583d4439 WIP: xbmc: Add X.org support 283da553c5fe11f64486e825e8d1975403fa633e WIP: xbmc: Allow compilation with uClibc 19018489f879c289b41de3013ea98724bb0c550c WIP: xbmc: Bump version to Gotham_beta3 Regards, Bernd
Hi Bernd, Yann, all On Tue, Apr 1, 2014 at 9:40 PM, Bernd Kuhls <berndkuhls@hotmail.com> wrote: > "Yann E. MORIN" <yann.morin.1998@free.fr> wrote in > news:20140401183534.GB3291@free.fr: > >> Note also, that many of the XBMC sub-options have dependencies on >> toolchain features (eg. IPv6, threads, and so on...) which are not >> currently expressed, being implicit as XBMC depends on (e)glibc, and so >> those features are guaranteed to be present in this case. But when >> enabling building with uClibc, those dependencies will have to be added, >> which is not a trivial change. And your patch is missing all those new >> required dependencies. Having split-patches will make it easier to check >> those dependencies. > > Hi, > > ok, you convinced me to split the patch, I already started work ;) > > efc3c8359e6493dbcdf32afd4f9d4075dd4b9f4a WIP: xbmc: needs host-gawk > bbcfd437efa76bd358a287d0505dc98f2c9987e5 WIP: xbmc: Add option for Goom > screensaver > 3b33e850145ae59e1a51f14933b1d889a7ce8091 WIP: xbmc: Disable broken rsxs > screensaver > ca08b3b00d44a70cd65bedb5737254ff286b1c72 WIP: xbmc: Add lame support > aaf2d1b40144266446d5764baf65b9ed1a44e7a3 WIP: xbmc: Add alsa support > 7a4721ab543e705ced87f8e4dbeb38c91af14914 WIP: xbmc: Add VA-API support > 21c7aa5957c8855a1b0ecbe5f2a8a16b583d4439 WIP: xbmc: Add X.org support > 283da553c5fe11f64486e825e8d1975403fa633e WIP: xbmc: Allow compilation with > uClibc > 19018489f879c289b41de3013ea98724bb0c550c WIP: xbmc: Bump version to > Gotham_beta3 > > Regards, Bernd Thanks a lot for putting this out there. I knew you'd be eager to do it, I did not expect you'd be *this* eager but I am really pleased to see this. Anyway, I will have a close look at your patch and test them out. As Yann said, the addition of uClibc will not be trivial but hey, that's no fun if there is no challenge ;). Looking forward to your following patches. > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Bernd, All, On 2014-04-01 21:40 +0200, Bernd Kuhls spake thusly: > "Yann E. MORIN" <yann.morin.1998@free.fr> wrote in > news:20140401183534.GB3291@free.fr: > > > Note also, that many of the XBMC sub-options have dependencies on > > toolchain features (eg. IPv6, threads, and so on...) which are not > > currently expressed, being implicit as XBMC depends on (e)glibc, and so > > those features are guaranteed to be present in this case. But when > > enabling building with uClibc, those dependencies will have to be added, > > which is not a trivial change. And your patch is missing all those new > > required dependencies. Having split-patches will make it easier to check > > those dependencies. > > Hi, > > ok, you convinced me to split the patch, I already started work ;) > > efc3c8359e6493dbcdf32afd4f9d4075dd4b9f4a WIP: xbmc: needs host-gawk > bbcfd437efa76bd358a287d0505dc98f2c9987e5 WIP: xbmc: Add option for Goom > screensaver > 3b33e850145ae59e1a51f14933b1d889a7ce8091 WIP: xbmc: Disable broken rsxs > screensaver > ca08b3b00d44a70cd65bedb5737254ff286b1c72 WIP: xbmc: Add lame support > aaf2d1b40144266446d5764baf65b9ed1a44e7a3 WIP: xbmc: Add alsa support > 7a4721ab543e705ced87f8e4dbeb38c91af14914 WIP: xbmc: Add VA-API support > 21c7aa5957c8855a1b0ecbe5f2a8a16b583d4439 WIP: xbmc: Add X.org support > 283da553c5fe11f64486e825e8d1975403fa633e WIP: xbmc: Allow compilation with > uClibc > 19018489f879c289b41de3013ea98724bb0c550c WIP: xbmc: Bump version to > Gotham_beta3 Wonderful! :-) Just to make sure: the bump to Gotham should be the first change, and then all other changes are additions to that? Regards, Yann E. MORIN.
diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in index e078d2f..758ad2d 100644 --- a/package/xbmc/Config.in +++ b/package/xbmc/Config.in @@ -1,11 +1,5 @@ -comment "xbmc needs an (e)glibc toolchain w/ C++, threads" - depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - -comment "xbmc requires an OpenGL ES and EGL backend" - depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES - depends on BR2_TOOLCHAIN_USES_GLIBC - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS +comment "xbmc requires an OpenGL backend" + depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES || !BR2_PACKAGE_HAS_OPENGL_GL menuconfig BR2_PACKAGE_XBMC bool "xbmc" @@ -23,6 +17,8 @@ menuconfig BR2_PACKAGE_XBMC select BR2_PACKAGE_LIBCDIO select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBFRIBIDI + select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XSERVER_XORG_SERVER select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBID3TAG select BR2_PACKAGE_LIBMAD @@ -35,6 +31,7 @@ menuconfig BR2_PACKAGE_XBMC select BR2_PACKAGE_LIBUNGIF select BR2_PACKAGE_LIBVORBIS select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LIBXSLT select BR2_PACKAGE_LZO select BR2_PACKAGE_NCURSES select BR2_PACKAGE_OPENSSL @@ -50,16 +47,21 @@ menuconfig BR2_PACKAGE_XBMC select BR2_PACKAGE_PYTHON_UNICODEDATA select BR2_PACKAGE_PYTHON_ZLIB select BR2_PACKAGE_READLINE + select BR2_PACKAGE_SDL if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_SDL_X11 if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_SDL_IMAGE if BR2_PACKAGE_XSERVER_XORG_SERVER select BR2_PACKAGE_SQLITE select BR2_PACKAGE_TAGLIB select BR2_PACKAGE_TIFF select BR2_PACKAGE_TINYXML + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XLIB_XMU if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XLIB_XRANDR if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XLIB_XT if BR2_PACKAGE_XSERVER_XORG_SERVER select BR2_PACKAGE_YAJL select BR2_PACKAGE_ZLIB - depends on BR2_TOOLCHAIN_USES_GLIBC - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES + depends on (BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES) || BR2_PACKAGE_HAS_OPENGL_GL help XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk index 9e346bd..974b4dd 100644 --- a/package/xbmc/xbmc.mk +++ b/package/xbmc/xbmc.mk @@ -4,7 +4,7 @@ # ################################################################################ -XBMC_VERSION = 12.3-Frodo +XBMC_VERSION = Gotham_beta3 XBMC_SITE = $(call github,xbmc,xbmc,$(XBMC_VERSION)) XBMC_LICENSE = GPLv2 XBMC_LICENSE_FILES = LICENSE.GPL @@ -12,10 +12,10 @@ XBMC_LICENSE_FILES = LICENSE.GPL # called TexturePacker. It is responsible to take all the images used in the # GUI and pack them in a blob. # http://wiki.xbmc.org/index.php?title=TexturePacker -XBMC_DEPENDENCIES = host-gperf host-lzo host-sdl_image host-swig +XBMC_DEPENDENCIES = host-gawk host-gperf host-lzo host-nasm host-sdl_image host-swig XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \ - libass libcdio libcurl libegl libfribidi libgcrypt libgles libmad libmodplug libmpeg2 \ - libogg libplist libpng libsamplerate libungif libvorbis libxml2 lzo ncurses \ + libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \ + libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \ openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib XBMC_CONF_ENV = \ @@ -27,11 +27,9 @@ XBMC_CONF_ENV = \ TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" XBMC_CONF_OPT += \ - --disable-alsa \ --disable-crystalhd \ --disable-debug \ --disable-dvdcss \ - --disable-gl \ --disable-hal \ --disable-joystick \ --disable-mysql \ @@ -39,14 +37,11 @@ XBMC_CONF_OPT += \ --disable-optical-drive \ --disable-projectm \ --disable-pulse \ - --disable-sdl \ --disable-ssh \ - --disable-vaapi \ --disable-vdpau \ --disable-vtbdecoder \ - --disable-x11 \ - --disable-xrandr \ - --enable-gles \ + --disable-rsxs \ + --enable-goom \ --enable-optimizations ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) @@ -60,6 +55,62 @@ ifeq ($(BR2_PACKAGE_DBUS),y) XBMC_DEPENDENCIES += dbus endif +ifeq ($(BR2_PACKAGE_LIBVA),y) +XBMC_DEPENDENCIES += libva +XBMC_CONF_OPT += --enable-vaapi +else +XBMC_CONF_OPT += --disable-vaapi +endif + +ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y) +XBMC_DEPENDENCIES += \ + libglew \ + libglu \ + mesa3d \ + sdl_image \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXmu \ + xlib_libXrandr \ + xlib_libXt +XBMC_CONF_OPT += \ + --enable-x11 \ + --enable-xrandr \ + --enable-gl \ + --enable-sdl +else +XBMC_CONF_OPT += \ + --disable-x11 \ + --disable-xrandr \ + --disable-gl \ + --disable-sdl +endif + +ifeq ($(BR2_PACKAGE_HAS_OPENGL_EGL),y) +XBMC_DEPENDENCIES += libegl +endif + +ifeq ($(BR2_PACKAGE_HAS_OPENGL_ES),y) +XBMC_DEPENDENCIES += libgles +XBMC_CONF_OPT += --enable-gles +else +XBMC_CONF_OPT += --disable-gles +endif + +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +XBMC_DEPENDENCIES += alsa-lib +XBMC_CONF_OPT += --enable-alsa +else +XBMC_CONF_OPT += --disable-alsa +endif + +ifeq ($(BR2_PACKAGE_LAME),y) +XBMC_DEPENDENCIES += lame +XBMC_CONF_OPT += --enable-libmp3lame +else +XBMC_CONF_OPT += --disable-libmp3lame +endif + ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y) XBMC_DEPENDENCIES += libusb-compat XBMC_CONF_OPT += --enable-libusb
- add support for uClibc, X.org, mesa3d, vaapi Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> --- package/xbmc/Config.in | 26 +++++++++-------- package/xbmc/xbmc.mk | 73 ++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 76 insertions(+), 23 deletions(-)