summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/emacs
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2012-09-22 13:44:54 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2012-09-22 15:34:16 +0200
commitc988ce5518967d3acd0edd5d71a44963f08dae7a (patch)
tree1f92ff0f394e747721cfb332b8d46abcbc283e93 /meta-oe/recipes-support/emacs
parentac89f82dc84c9222318642f6b75d5a3dad324594 (diff)
downloadmeta-openembedded-c988ce5518967d3acd0edd5d71a44963f08dae7a.tar.gz
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 <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/emacs')
-rw-r--r--meta-oe/recipes-support/emacs/emacs.inc114
-rw-r--r--meta-oe/recipes-support/emacs/emacs_23.4.bb2
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 61761e8a7..b7a7b756a 100644
--- a/meta-oe/recipes-support/emacs/emacs.inc
+++ b/meta-oe/recipes-support/emacs/emacs.inc
@@ -8,7 +8,13 @@ DEPENDS += "qemu-native"
8 8
9DEPENDS +=" liblockfile" 9DEPENDS +=" liblockfile"
10 10
11X11DEPENDS = "gtk+ libungif dbus" 11X11DEPENDS = " \
12 libice libsm atk cairo dbus expat libffi fontconfig freetype gconf giflib \
13 jpeg xz pixman libpng librsvg tiff libcroco \
14 libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \
15 libxft libxpm libxrandr libxrender \
16 gdk-pixbuf glib-2.0 gtk+ pango libxcb \
17"
12 18
13EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} " 19EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
14 20
@@ -50,11 +56,24 @@ do_compile_prepend() {
50 if [ -e $treedir ];then 56 if [ -e $treedir ];then
51 rm -rf $treedir 57 rm -rf $treedir
52 fi 58 fi
59
60 mkdir -p $treedir/${base_libdir}
61
62 if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
63 cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir}
64 fi
65 if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
66 cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir}
67 fi
68 # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
69 # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
70 if [ ! -f $treedir/${base_libdir}/libc.so ]; then
71 ln -s libc.so.6 $treedir/${base_libdir}/libc.so
72 fi
53 73
54 # copy only as much stuff as we need 74 # copy only as much stuff as we need
55 # before: 5.5G ../../qemu-treedir/ 75 # before: 5.5G ../../qemu-treedir/
56 # after: 86M ../../qemu-treedir/ 76 # after: 17M ../../qemu-treedir/
57 mkdir -p $treedir/${base_libdir}
58 cp -pPR \ 77 cp -pPR \
59 ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \ 78 ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \
60 ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \ 79 ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \
@@ -65,57 +84,50 @@ do_compile_prepend() {
65 ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \ 84 ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
66 ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \ 85 ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \
67 ${STAGING_DIR_TARGET}/${base_libdir}/librt* \ 86 ${STAGING_DIR_TARGET}/${base_libdir}/librt* \
68 ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
69 ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \ 87 ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
70 ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
71 ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/ 88 ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
72 89
73 cp -pPR \ 90 if [ ! -z "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" ] ; then
74 ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \ 91 echo "X11 build enabled"
75 ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \ 92 # copy only as much stuff as we need
76 ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \ 93 # before: 5.5G ../../qemu-treedir/
77 ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \ 94 # after: 86M ../../qemu-treedir/
78 ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \ 95 cp -pPR \
79 ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \ 96 ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
80 ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \ 97 ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \
81 ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \ 98 ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \
82 ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \ 99 ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \
83 ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \ 100 ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \
84 ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \ 101 ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \
85 ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \ 102 ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \
86 ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \ 103 ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \
87 ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \ 104 ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \
88 ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \ 105 ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \
89 ${STAGING_DIR_TARGET}/${libdir}/libpng12.so.* \ 106 ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \
90 ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \ 107 ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \
91 ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \ 108 ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \
92 ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \ 109 ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \
93 ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \ 110 ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \
94 ${STAGING_DIR_TARGET}/${libdir}/libz.so.* $treedir/${base_libdir}/ 111 ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \
95 112 ${STAGING_DIR_TARGET}/${libdir}/libpng12.so.* \
96 # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender 113 ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \
97 cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/ 114 ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \
98 115 ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \
99 # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11 116 ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \
100 cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/ 117 ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \
101 118 ${STAGING_DIR_TARGET}/${libdir}/libz.so.* $treedir/${base_libdir}/
102 # pango pangocairo pangoft2 119
103 cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/ 120 # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender
104 121 cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/
105 # xcb-render xcb-shm xcb 122
106 cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/ 123 # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11
107 124 cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/
108 #cp -pPR ${STAGING_DIR_TARGET}/* $treedir 125
109 if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then 126 # pango pangocairo pangoft2
110 cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/lib 127 cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/
111 fi 128
112 if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then 129 # xcb-render xcb-shm xcb
113 cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/lib 130 cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/
114 fi
115 # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
116 # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
117 if [ ! -f $treedir/${base_libdir}/libc.so ]; then
118 ln -s libc.so.6 $treedir/${base_libdir}/libc.so
119 fi 131 fi
120} 132}
121 133
diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb
index 65cc3a334..5ad564488 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 @@
1require emacs.inc 1require emacs.inc
2 2
3PR = "r1" 3PR = "r2"
4 4
5SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \ 5SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
6 file://use-qemu.patch \ 6 file://use-qemu.patch \