From c988ce5518967d3acd0edd5d71a44963f08dae7a Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 22 Sep 2012 13:44:54 +0200 Subject: emacs: fix X11DEPENDS and build without x11 enabled at all * also added copy for libcroco librsvg is linked to it by default after http://git.openembedded.org/openembedded-core/commit/?id=e177f1475c55c7d0bf3e2752e6502a7e8577a075 Signed-off-by: Martin Jansa --- meta-oe/recipes-support/emacs/emacs.inc | 114 +++++++++++++++------------- meta-oe/recipes-support/emacs/emacs_23.4.bb | 2 +- 2 files changed, 64 insertions(+), 52 deletions(-) diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc index 61761e8a71..b7a7b756a1 100644 --- a/meta-oe/recipes-support/emacs/emacs.inc +++ b/meta-oe/recipes-support/emacs/emacs.inc @@ -8,7 +8,13 @@ DEPENDS += "qemu-native" DEPENDS +=" liblockfile" -X11DEPENDS = "gtk+ libungif dbus" +X11DEPENDS = " \ + libice libsm atk cairo dbus expat libffi fontconfig freetype gconf giflib \ + jpeg xz pixman libpng librsvg tiff libcroco \ + libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \ + libxft libxpm libxrandr libxrender \ + gdk-pixbuf glib-2.0 gtk+ pango libxcb \ +" EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} " @@ -50,11 +56,24 @@ do_compile_prepend() { if [ -e $treedir ];then rm -rf $treedir fi + + mkdir -p $treedir/${base_libdir} + + if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then + cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir} + fi + if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then + cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir} + fi + # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails + # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one + if [ ! -f $treedir/${base_libdir}/libc.so ]; then + ln -s libc.so.6 $treedir/${base_libdir}/libc.so + fi # copy only as much stuff as we need # before: 5.5G ../../qemu-treedir/ - # after: 86M ../../qemu-treedir/ - mkdir -p $treedir/${base_libdir} + # after: 17M ../../qemu-treedir/ cp -pPR \ ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \ ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \ @@ -65,57 +84,50 @@ do_compile_prepend() { ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \ ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \ ${STAGING_DIR_TARGET}/${base_libdir}/librt* \ - ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \ ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \ - ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \ ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/ - cp -pPR \ - ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libpng12.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \ - ${STAGING_DIR_TARGET}/${libdir}/libz.so.* $treedir/${base_libdir}/ - - # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/ - - # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11 - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/ - - # pango pangocairo pangoft2 - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/ - - # xcb-render xcb-shm xcb - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/ - - #cp -pPR ${STAGING_DIR_TARGET}/* $treedir - if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then - cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/lib - fi - if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then - cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/lib - fi - # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails - # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one - if [ ! -f $treedir/${base_libdir}/libc.so ]; then - ln -s libc.so.6 $treedir/${base_libdir}/libc.so + if [ ! -z "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" ] ; then + echo "X11 build enabled" + # copy only as much stuff as we need + # before: 5.5G ../../qemu-treedir/ + # after: 86M ../../qemu-treedir/ + cp -pPR \ + ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libpng12.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \ + ${STAGING_DIR_TARGET}/${libdir}/libz.so.* $treedir/${base_libdir}/ + + # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender + cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/ + + # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11 + cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/ + + # pango pangocairo pangoft2 + cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/ + + # xcb-render xcb-shm xcb + cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/ fi } diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb index 65cc3a3347..5ad5644880 100644 --- a/meta-oe/recipes-support/emacs/emacs_23.4.bb +++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb @@ -1,6 +1,6 @@ require emacs.inc -PR = "r1" +PR = "r2" SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \ file://use-qemu.patch \ -- cgit 1.2.3-korg