Patchwork [1/2] alsa-tools: fix build when x11 and gtk+ not available

login
register
mail settings
Submitter Rogerio Nunes
Date April 3, 2013, 12:34 a.m.
Message ID <1364949284-32569-1-git-send-email-ronunes@gmail.com>
Download mbox | patch
Permalink /patch/47309/
State Accepted
Commit 70a599a5f188c3d077d23740e762075dec57ffa3
Headers show

Comments

Rogerio Nunes - April 3, 2013, 12:34 a.m.
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.

Signed-off-by: Rogerio Nunes <ronunes@gmail.com>
---
 .../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
Trevor Woerner - April 8, 2013, 1:33 p.m.
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.o
hda-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
Saul Wold - April 8, 2013, 6:20 p.m.
On 04/08/2013 06:33 AM, Trevor Woerner wrote:
> 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 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
> -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.o hda-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

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!

Patch

diff --git a/meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch b/meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch
new file mode 100644
index 0000000..51f934d
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch
@@ -0,0 +1,21 @@ 
+Remove some sub-components which need gtk+.
+
+Signed-off-by: Rogerio Nunes <ronunes@gmail.com>
+
+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:
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
index 2b46aaf..81ad55a 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
@@ -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)