[OE-core] [PATCH] alsa-tools: Fix build without x11

Otavio Salvador otavio at ossystems.com.br
Tue Apr 1 16:18:42 UTC 2014


There is no way to disable the x11 without mangling the source code so
instead using a patch we now used a 'sed' in do_configure so it is
easier to maintain and extend. The patch had some new tools missing
which were triggering build failures in O.S. Systems' builder as:

,----[ Build error in a clean tmp, without x11 ]
| checking for GTK3... no
| configure: error: Package requirements (gtk+-3.0) were not met:
|
| No package 'gtk+-3.0' found
|
| Consider adjusting the PKG_CONFIG_PATH environment variable if you
| installed software in a non-standard prefix.
|
| Alternatively, you may set the environment variables GTK3_CFLAGS
| and GTK3_LIBS to avoid the need to call pkg-config.
| See the pkg-config man page for more details.
| make: *** [all] Error 1
`----

Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 .../alsa/alsa-tools/makefile_no_gtk.patch           | 21 ---------------------
 meta/recipes-multimedia/alsa/alsa-tools_1.0.27.bb   | 18 ++++++++++++++----
 2 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 100644 meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.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
deleted file mode 100644
index c6cb5b1..0000000
--- a/meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Remove some sub-components which need gtk+.
-
-Signed-off-by: Rogerio Nunes <ronunes at gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
-
-diff --git a/Makefile b/Makefile
---- a/Makefile
-+++ b/Makefile
-@@ -1,8 +1,8 @@
- VERSION = 1.0.27
- TOP = .
--SUBDIRS = as10k1 envy24control \
--	  mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \
--	  us428control usx2yloader vxloader echomixer \
-+SUBDIRS = as10k1 \
-+	  mixartloader pcxhrloader sb16_csp seq sscape_ctl \
-+	  us428control usx2yloader vxloader \
- 	  hwmixvolume hdajackretask hda-verb
- 
- all:
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.0.27.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.0.27.bb
index 492f8a4..23f9360 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.0.27.bb
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.0.27.bb
@@ -3,15 +3,14 @@ HOMEPAGE = "http://www.alsa-project.org"
 BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php"
 SECTION = "console/utils"
 LICENSE = "GPLv2 & LGPLv2+"
-DEPENDS = "alsa-lib ncurses ${@base_contains('DISTRO_FEATURES', 'x11', 'gtk+3', '', d)}"
+DEPENDS = "alsa-lib ncurses"
 
 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 \
-           ${@base_contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)}"
+           file://autotools.patch"
 
 SRC_URI[md5sum] = "1ea381d00a6069a98613aa7effa4cb51"
 SRC_URI[sha256sum] = "6562611b5a6560712f109e09740a9d4fa47296b07ed9590cb44139c5f154ada2"
@@ -21,11 +20,22 @@ inherit autotools-brokensep
 EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST} --prefix=${prefix}'"
 
 PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk+', '', d)}"
-PACKAGECONFIG[gtk+] = ",,gtk+,"
+PACKAGECONFIG[gtk+] = ",,gtk+ gtk+3,"
 
 # configure.ac/.in doesn't exist so force copy
 AUTOTOOLS_COPYACLOCAL = "1"
 
+do_configure_prepend () {
+    # Disable tools which require gtk+-2.0 and gtk+-3.0
+    if [ "${@base_contains('DISTRO_FEATURES', 'x11', 'yes', 'no', d)}" = "no" ]; then
+        sed -e 's/echomixer//g' \
+            -e 's/envy24control//g' \
+            -e 's/hdajackretask//g' \
+            -e 's/rmedigicontrol//g' \
+            -i ${S}/Makefile
+    fi
+}
+
 do_compile_prepend () {
     #Automake dir is not correctly detected in cross compilation case
     export AUTOMAKE_DIR="$(automake --print-libdir)"
-- 
1.9.1




More information about the Openembedded-core mailing list