alsa-tools: fix build when x11 and gtk+ not available
PATCH 1/2 alsa-tools: fix build when x11 and gtk+ not available
Current verion of gtk+ (2.15.24) does not accept pure framebuffer as backend and some alsa-tools sub-modules depend on gtk+.
This patch removes those sub-modules from the build only when x11 is not set in DISTRO_FEATURES.
--- .../alsa/alsa-tools/makefile_no_gtk.patch | 21 ++++++++++++++++++++ .../recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb | 8 ++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch
meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch new file +21 -0
@@ -0,0 +1,21 @@ +Remove some sub-components which need gtk+. + +Signed-off-by: Rogerio Nunes <[email protected]> + +Upstream-Status: Inappropriate [configuration] + +diff --git a/Makefile b/Makefile +--- a/Makefile ++++ b/Makefile +@@ -1,8 +1,8 @@ + VERSION = 1.0.26.1 + TOP = . +-SUBDIRS = ac3dec as10k1 envy24control \ +- mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \ +- us428control usx2yloader vxloader echomixer \ ++SUBDIRS = ac3dec as10k1 \ ++ mixartloader pcxhrloader sb16_csp seq sscape_ctl \ ++ us428control usx2yloader vxloader \ + hwmixvolume hda-verb + + all:
meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb +6 -2
@@ -5,14 +5,15 @@ SECTION = "console/utils" LICENSE = "GPLv2 & LGPLv2+" DEPENDS = "alsa-lib ncurses" -PR = "r0" +PR = "r1" LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://ld10k1/COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34" SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/alsa-tools-${PV}.tar.bz2 \ file://mips_has_no_io_h.patch \ - file://autotools.patch" + file://autotools.patch \ + ${@base_contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)}" SRC_URI[md5sum] = "805526ea5d6c40e1f2c94cee86141230" SRC_URI[sha256sum] = "553338693707fe6ddfc430b9edc4cd2677390e200c9e38de82ede3394e733841"
@@ -21,6 +22,9 @@ inherit autotools EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST} --prefix=${prefix}' ACLOCAL_FLAGS='-I ${STAGING_DATADIR}/aclocal'" +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk+', '', d)}" +PACKAGECONFIG[gtk+] = ",,gtk+," + do_compile_prepend () { #Automake dir is not correctly detected in cross compilation case export AUTOMAKE_DIR=${STAGING_DATADIR_NATIVE}/$(ls ${STAGING_DATADIR_NATIVE} | grep automake)
Signature · 1 line
1.7.9.5
PATCH 2/2 gst-plugins-bad: disable librsvg when x11 is disabled
librsvg depends on gtk+, which in turn does not support framebuffer as backend in current version (2.15.24). This patch disables librsvg when x11 is not in the distro.
--- .../gstreamer/gst-plugins-bad_0.10.23.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb +5 -2
@@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \ file://gst/tta/crc32.h;beginline=12;endline=29;md5=71a904d99ce7ae0c1cf129891b98145c" -DEPENDS += "gst-plugins-base tremor librsvg curl" +DEPENDS += "gst-plugins-base tremor curl" -PR = "r3" +PR = "r4" inherit gettext
@@ -16,6 +16,9 @@ EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disab --with-plugins=wavpack,ivorbis,mpegvideoparse --disable-vdpau --disable-apexsink \ --disable-orc" +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'librsvg', '', d)}" +PACKAGECONFIG[librsvg] = "--enable-librsvg,--disable-librsvg,librsvg," + ARM_INSTRUCTION_SET = "arm" do_configure_prepend() {
Signature · 1 line
1.7.9.5
Re: [PATCH 2/2] gst-plugins-bad: disable librsvg when x11 is disabled
Quoted 3 lines · Rogerio Nunes
librsvg depends on gtk+, which in turn does not support framebuffer as backend in current version (2.15.24). This patch disables librsvg when x11 is not in the distro.
One of my plans is to make every optional dependency a packageconfig option in the long term, so feel free to do the rest whilst you're there! :)
Ross
Re: [PATCH 2/2] gst-plugins-bad: disable librsvg when x11 is disabled
Quoted 8 lines · Ross
Quoted 3 lines · Rogerio Nunes
librsvg depends on gtk+, which in turn does not support framebuffer as backend in current version (2.15.24). This patch disables librsvg when x11 is not in the distro.
One of my plans is to make every optional dependency a packageconfig option in the long term, so feel free to do the rest whilst you're there! :)
I agree with the longterm goal but let's not hold this until the goal is accomplished. This fixes a real issue and delay it won't help.
--
Otavio Salvador O.S. Systems
E-mail: [email protected] http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
Re: [PATCH 2/2] gst-plugins-bad: disable librsvg when x11 is disabled
Quoted 7 lines · Otavio Salvador
Quoted 5 lines · Ross
Quoted 3 lines · Rogerio Nunes
librsvg depends on gtk+, which in turn does not support framebuffer as backend in current version (2.15.24). This patch disables librsvg when x11 is not in the distro.
Quoted 6 lines
Quoted 3 lines
One of my plans is to make every optional dependency a packageconfig option in the long term, so feel free to do the rest whilst you're there! :)
I agree with the longterm goal but let's not hold this until the goal is accomplished. This fixes a real issue and delay it won't help.
I agree with both. This is a real issue and I like the long term plan. Hope I can help to execute it :)
With a rather recent HEAD
Build Configuration:
BB_VERSION = "1.17.1" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "openSUSE-project-12.3" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "1.3+snapshot-20130407" TUNE_FEATURES = "m64" TARGET_FPU = ""
meta
meta-yocto
meta-yocto-bsp = "master:813127247a1100b1abe179dfba25795560eac864"
I am able to successfully perform a "bitbake world" on a number of different targets:
- qemux86
- qemuarm
- qemumips
- qemux86-64
Unfortunately qemuppc fails when building alsa-tools. Is anyone else seeing the same thing?
| make[1]: Entering directory /home/trevor/build/yocto/fullbuild/qemuppc/work/ppc603e-poky-linux/alsa-tools/1.0.26.1-r1/alsa-tools-1.0.26.1/hda-verb' | make[1]: warning: jobserver unavailable: using -j1. Add +' to parent
make rule.
| powerpc-poky-linux-gcc -m32 -mhard-float -mcpu=603e --sysroot=/home/trevor/build/yocto/fullbuild/qemuppc/sysroots/qemuppc
-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\"
-DPACKAGE=\"hda-verb\" -DVERSION=\"0.4\" -DSTDC_HEADERS=1 -I. -O2 -Wall
-pipe -g -MT hda-verb.o -MD -MP -MF .deps/hda-verb.Tpo -c -o hda-verb.ohda-verb.c
| hda-verb.c:17:20: fatal error: sys/io.h: No such file or directory | compilation terminated. | make[1]: *** [hda-verb.o] Error 1 | make[1]: Leaving directory
`/home/trevor/build/yocto/fullbuild/qemuppc/work/ppc603e-poky-linux/alsa-tools/1.0.26.1-r1/alsa-tools-1.0.26.1/hda-verb' | make: *** [all] Error 1
| ERROR: oe_runmake failed
Quoted 38 lines · Trevor Woerner
With a rather recent HEAD
Build Configuration:
BB_VERSION = "1.17.1" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "openSUSE-project-12.3" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "1.3+snapshot-20130407" TUNE_FEATURES = "m64" TARGET_FPU = ""meta
meta-yocto
meta-yocto-bsp = "master:813127247a1100b1abe179dfba25795560eac864"I am able to successfully perform a "bitbake world" on a number of different targets:
- qemux86
- qemuarm
- qemumips
- qemux86-64Unfortunately qemuppcfails when building alsa-tools. Is anyone else seeing the same thing?
| make[1]: Entering directory
/home/trevor/build/yocto/fullbuild/qemuppc/work/ppc603e-poky-linux/alsa-tools/1.0.26.1-r1/alsa-tools-1.0.26.1/hda-verb' | make[1]: warning: jobserver unavailable: using -j1. Add+' to parent
make rule.
| powerpc-poky-linux-gcc -m32 -mhard-float -mcpu=603e --sysroot=/home/trevor/build/yocto/fullbuild/qemuppc/sysroots/qemuppc(quoted diff) +0
-4-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"hda-verb\" -DVERSION=\"0.4\" -DSTDC_HEADERS=1 -I. -O2 -Wall -pipe -g -MT hda-verb.o -MD -MP -MF .deps/hda-verb.Tpo -c -ohda-verb.o
hda-verb.c
Quoted 7 lines
| hda-verb.c:17:20: fatal error: sys/io.h: No such file or directory | compilation terminated. | make[1]: *** [hda-verb.o] Error 1 | make[1]: Leaving directory`/home/trevor/build/yocto/fullbuild/qemuppc/work/ppc603e-poky-linux/alsa-tools/1.0.26.1-r1/alsa-tools-1.0.26.1/hda-verb' | make: *** [all] Error 1
| ERROR:oe_runmakefailed
I recall doing a patch for this, I just reviewed it and it seems I did not do the right #if directive.
I was fixing the mips build which had the same problem and did not correctly retest.
Patch out shortly.
Sau!