From: Ming Liu Date: Sun, 5 May 2019 20:14:51 +0000 (+0200) Subject: libx11: split out libx11-locale X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=dace8a3d1dbfe048468ad26cce2d91b3267b1832;p=openembedded-core.git libx11: split out libx11-locale So far libx11-locale is also being required by some non-X11 recipes, like weston -> libxkbcommon -> libx11-locale. But the libx11-locale could not build without x11 distro feature enabled. This is not reasonable. To fix it, we split out libx11-locale from libx11 to be a standalone recipe, and drop the X11 dependencies, this makes it to be able to build without x11 distro feature. [RP: Add maintainers entry] Signed-off-by: Ming Liu Signed-off-by: Richard Purdie --- diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index a9a689fb09..67a51cdecc 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -401,6 +401,7 @@ RECIPE_MAINTAINER_pn-libvorbis = "Tanu Kaskinen " RECIPE_MAINTAINER_pn-libwebp = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libx11 = "Armin Kuster " RECIPE_MAINTAINER_pn-libx11-diet = "Armin Kuster " +RECIPE_MAINTAINER_pn-libx11-locale = "Armin Kuster " RECIPE_MAINTAINER_pn-libxau = "Armin Kuster " RECIPE_MAINTAINER_pn-libxcb = "Armin Kuster " RECIPE_MAINTAINER_pn-libxcomposite = "Armin Kuster " diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb b/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb index 9c773a09dd..5f99d40e51 100644 --- a/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb +++ b/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb @@ -9,7 +9,6 @@ SRC_URI += "file://X18NCMSstubs.patch \ " RPROVIDES_${PN}-dev = "libx11-dev" -RPROVIDES_${PN}-locale = "libx11-locale" EXTRA_OECONF += "--disable-xlocale" diff --git a/meta/recipes-graphics/xorg-lib/libx11-locale/0001-Drop-x11-dependencies.patch b/meta/recipes-graphics/xorg-lib/libx11-locale/0001-Drop-x11-dependencies.patch new file mode 100644 index 0000000000..e6e179e575 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-locale/0001-Drop-x11-dependencies.patch @@ -0,0 +1,86 @@ +From a60f5058136aeadceebfccadf606d8210f8d3ca6 Mon Sep 17 00:00:00 2001 +From: Ming Liu +Date: Sun, 5 May 2019 11:55:14 +0200 +Subject: [PATCH] Drop x11 dependencies + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Ming Liu +--- + configure.ac | 44 -------------------------------------------- + 1 file changed, 44 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3090845..d14063f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -66,27 +66,8 @@ fi + AC_SUBST(LDFLAGS_FOR_BUILD) + + # Checks for pkg-config packages +- +-# Always required +-X11_REQUIRES='xproto >= 7.0.17 xextproto xtrans xcb >= 1.11.1' +-X11_EXTRA_DEPS="xcb >= 1.11.1" +- + PKG_PROG_PKG_CONFIG() + +-AC_SUBST(X11_EXTRA_DEPS) +- +-# Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro +-# was not expanded, since libX11 with no transport types is rather useless. +-# +-# If you're seeing an error here, be sure you installed the lib/xtrans module +-# first and if it's not in the default location, that you set the ACLOCAL +-# environment variable to find it, such as: +-# ACLOCAL="aclocal -I ${PREFIX}/share/aclocal" +-m4_pattern_forbid([^XTRANS_CONNECTION_FLAGS$]) +- +-# Transport selection macro from xtrans.m4 +-XTRANS_CONNECTION_FLAGS +- + # Check for dlopen + AC_MSG_CHECKING([if run-time linking is supported]) + AC_SEARCH_LIBS(dlopen,[dl svld]) +@@ -226,30 +207,6 @@ AC_SUBST(XTHREAD_CFLAGS) + + AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) + +-# +-# Find keysymdef.h +-# +-AC_MSG_CHECKING([keysym definitions]) +-AC_ARG_WITH([keysymdefdir], +- [AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h (defaults to xproto include dir)])], +- [KEYSYMDEFDIR=$withval], +- [KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11]) +- +-if test ! -d "$KEYSYMDEFDIR"; then +- AC_MSG_ERROR([$KEYSYMDEFDIR doesn't exist or isn't a directory]) +-fi +- +-FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" +-for i in $FILES; do +- if test -f "$KEYSYMDEFDIR/$i"; then +- KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i" +- elif test "x$i" = "xkeysymdef.h"; then +- AC_MSG_ERROR([Cannot find keysymdef.h]) +- fi +-done +-AC_MSG_RESULT([$KEYSYMDEFS]) +-AC_SUBST(KEYSYMDEFS) +- + AC_ARG_ENABLE(xcms, + AS_HELP_STRING([--disable-xcms], + [Disable Xlib support for CMS *EXPERIMENTAL*]), +@@ -329,7 +286,6 @@ X11_LIBDIR="${libdir}/X11" + AX_DEFINE_DIR(X11_LIBDIR, X11_LIBDIR, [Location of libX11 library data]) + AC_SUBST(X11_LIBDIR) + +-PKG_CHECK_MODULES(X11, [$X11_REQUIRES]) + X11_CFLAGS="$X11_CFLAGS $XTHREAD_CFLAGS" + + # +-- +2.7.4 + diff --git a/meta/recipes-graphics/xorg-lib/libx11-locale_1.6.7.bb b/meta/recipes-graphics/xorg-lib/libx11-locale_1.6.7.bb new file mode 100644 index 0000000000..5bf1ca6631 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-locale_1.6.7.bb @@ -0,0 +1,32 @@ +SUMMARY = "Xlib: locale data files for libx11" +DESCRIPTION = "This package provides the locale data files for libx11." + +require xorg-lib-common.inc + +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +SRC_URI[md5sum] = "034fdd6cc5393974d88aec6f5bc96162" +SRC_URI[sha256sum] = "910e9e30efba4ad3672ca277741c2728aebffa7bc526f04dcfa74df2e52a1348" + +SRC_URI += "file://0001-Drop-x11-dependencies.patch" + +XORG_PN = "libX11" + +EXTRA_OECONF += "--disable-xkb" + +PACKAGES = "${PN}" + +FILES_${PN} = "${datadir}/X11/locale ${libdir}/X11/locale" + +do_compile() { + oe_runmake -C nls +} + +do_install() { + oe_runmake DESTDIR=${D} -C nls install +} + +REQUIRED_DISTRO_FEATURES = "" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/libx11.inc b/meta/recipes-graphics/xorg-lib/libx11.inc index ea2ebfb8b9..8ad0523936 100644 --- a/meta/recipes-graphics/xorg-lib/libx11.inc +++ b/meta/recipes-graphics/xorg-lib/libx11.inc @@ -32,7 +32,13 @@ PACKAGECONFIG[xcms] = "--enable-xcms,--disable-xcms" CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE" PACKAGES =+ "${PN}-xcb" +PACKAGES_remove = "${PN}-locale" FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt" FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" -FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" + +# locale data files would be provided by libx11-locale recipe +do_install_append() { + rm -rf ${D}${datadir}/X11/locale + rm -rf ${D}${libdir}/X11/locale +}