aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2012-07-31 01:32:06 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2012-07-31 03:47:15 +0200
commitaa558bc2e839edc6dd816b2ce301d8fe0de87a69 (patch)
treed5c0bd553b9f809e3a6a5d74069bf501a2b62581
parentb980ffb8627595bf6d8a7269fa9035e16aa53f65 (diff)
downloadmeta-openembedded-contrib-aa558bc2e839edc6dd816b2ce301d8fe0de87a69.tar.gz
emacs: upgrade to 23.4
* package icons in PN * pass --with-crt-dir option to resolve crt* used from host system Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch16
-rw-r--r--meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch104
-rw-r--r--meta-oe/recipes-support/emacs/emacs.inc4
-rw-r--r--meta-oe/recipes-support/emacs/emacs_23.4.bb10
4 files changed, 132 insertions, 2 deletions
diff --git a/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch b/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch
new file mode 100644
index 0000000000..4200301a3f
--- /dev/null
+++ b/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch
@@ -0,0 +1,16 @@
+Fix linking problem:
+undefined reference to `__aeabi_unwind_cpp_pr0'
+undefined reference to `__aeabi_unwind_cpp_pr1'
+Index: emacs/src/Makefile.in
+===================================================================
+--- emacs.orig/src/Makefile.in 2008-08-16 14:20:18.000000000 +0000
++++ emacs/src/Makefile.in 2008-08-16 14:51:25.000000000 +0000
+@@ -443,7 +443,7 @@
+ ask GCC explicitly where to find libgcc.a. */
+
+ #ifndef LINKER
+-#define LINKER $(CC) -nostdlib
++#define LINKER $(CC) -nostdlib -lgcc_s
+ #endif
+
+ #ifndef LIB_GCC
diff --git a/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch b/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch
new file mode 100644
index 0000000000..c15207a437
--- /dev/null
+++ b/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch
@@ -0,0 +1,104 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+diff -uNr emacs-23.4/Makefile.in emacs-23.4.new/Makefile.in
+--- emacs-23.4/Makefile.in 2012-01-11 13:35:01.000000000 +0100
++++ emacs-23.4.new/Makefile.in 2012-07-31 00:54:07.223590866 +0200
+@@ -336,7 +336,7 @@
+ # all preloaded elisp files, and only then dump the actual src/emacs, which
+ # is not wrong, but is overkill in 99.99% of the cases.
+ src: Makefile FRC
+- boot=bootstrap-emacs$(EXEEXT); \
++ boot=${QEMU} bootstrap-emacs$(EXEEXT); \
+ if [ ! -x "src/$$boot" ]; then \
+ cd $@; $(MAKE) all $(MFLAGS) \
+ CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
+diff -uNr emacs-23.4/leim/Makefile.in emacs-23.4.new/leim/Makefile.in
+--- emacs-23.4/leim/Makefile.in 2012-01-11 13:35:01.000000000 +0100
++++ emacs-23.4.new/leim/Makefile.in 2012-07-31 00:54:07.179590866 +0200
+@@ -51,7 +51,7 @@
+
+ # How to run Emacs.
+ RUN-EMACS = EMACSLOADPATH=$(buildlisppath) LC_ALL=C \
+- ${BUILT-EMACS} -batch --no-init-file --no-site-file --multibyte
++ ${QEMU} ${BUILT-EMACS} -batch --no-init-file --no-site-file --multibyte
+
+ # Subdirectories to be made if ${srcdir} is different from the current
+ # directory.
+diff -uNr emacs-23.4/lib-src/Makefile.in emacs-23.4.new/lib-src/Makefile.in
+--- emacs-23.4/lib-src/Makefile.in 2012-01-11 13:35:01.000000000 +0100
++++ emacs-23.4.new/lib-src/Makefile.in 2012-07-31 00:54:07.180590866 +0200
+@@ -23,7 +23,7 @@
+ SHELL = /bin/sh
+
+ # Following ../lisp/Makefile.in.
+-EMACS = ../src/emacs
++EMACS = ${QEMU} ../src/emacs
+ EMACSOPT = -batch --no-site-file --multibyte
+
+ # ==================== Things `configure' will edit ====================
+@@ -372,7 +372,7 @@
+ clobbered too. */
+ test-distrib${EXEEXT}: ${srcdir}/test-distrib.c
+ $(CC) ${ALL_CFLAGS} -o test-distrib ${srcdir}/test-distrib.c
+- ./test-distrib ${srcdir}/testfile
++ ${QEMU} ./test-distrib ${srcdir}/testfile
+
+ /* We need the following in order to create a <getopt.h> when the system
+ does not have one that works with the given compiler. */
+diff -uNr emacs-23.4/lisp/Makefile.in emacs-23.4.new/lisp/Makefile.in
+--- emacs-23.4/lisp/Makefile.in 2012-01-11 13:35:01.000000000 +0100
++++ emacs-23.4.new/lisp/Makefile.in 2012-07-31 00:54:07.195590866 +0200
+@@ -26,8 +26,7 @@
+ # You can specify a different executable on the make command line,
+ # e.g. "make EMACS=../src/emacs ...".
+
+-EMACS = ../src/emacs
+-
++EMACS = "${QEMU} ../src/emacs"
+ # Command line flags for Emacs. This must include --multibyte,
+ # otherwise some files will not compile.
+
+diff -uNr emacs-23.4/src/Makefile.in emacs-23.4.new/src/Makefile.in
+--- emacs-23.4/src/Makefile.in 2012-01-12 11:27:54.000000000 +0100
++++ emacs-23.4.new/src/Makefile.in 2012-07-31 00:55:30.344593847 +0200
+@@ -482,7 +482,7 @@
+ this with the shell''s ``for'' construct.
+ Note that some people do not have '.' in their paths, so we must
+ use ./prefix-args. */
+-#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
++#define YMF_PASS_LDFLAGS(flags) `${QEMU} ./prefix-args -Xlinker flags`
+ #else
+ #define YMF_PASS_LDFLAGS(flags) flags
+ #endif
+@@ -919,9 +919,9 @@
+ $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
+
+ #ifdef HAVE_SHM
+-RUN_TEMACS = `/bin/pwd`/temacs -nl
++RUN_TEMACS = ${QEMU} temacs -nl
+ #else
+-RUN_TEMACS = `/bin/pwd`/temacs
++RUN_TEMACS = ${QEMU} temacs
+ #endif
+
+ all: emacs${EXEEXT} $(OTHER_FILES)
+@@ -936,7 +936,7 @@
+ @: This new Emacs is as functional and more efficient then
+ @: bootstrap-emacs, so let us replace it.
+ -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}
+- -./emacs -q -batch -f list-load-path-shadows
++ -${QEMU} ./emacs -q -batch -f list-load-path-shadows
+ #endif /* ! defined (CANNOT_DUMP) */
+
+ /* We run make-docfile twice because the command line may get too long
+@@ -954,8 +954,8 @@
+ only in order to reduce the command line length. --Stef */
+ ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP}
+ -rm -f ${etc}DOC
+- ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
+- ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
++ ${QEMU}${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
++ ${QEMU} ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
+
+ ${libsrc}make-docfile${EXEEXT}:
+ cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT}
diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc
index 5883719999..f6cd461984 100644
--- a/meta-oe/recipes-support/emacs/emacs.inc
+++ b/meta-oe/recipes-support/emacs/emacs.inc
@@ -10,7 +10,7 @@ DEPENDS +=" liblockfile"
X11DEPENDS = "gtk+ libungif dbus"
-EXTRA_OECONF = "--without-sound "
+EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x,${X11DEPENDS}"
@@ -22,7 +22,7 @@ PACKAGES =+ "${PN}-el"
FILES_${PN}-el = "${datadir}/emacs/*/*/*.el.gz \
${datadir}/emacs/*/*/*/*.el.gz"
-FILES_${PN} += "${datadir}/emacs"
+FILES_${PN} += "${datadir}/emacs ${datadir}/icons"
FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb
new file mode 100644
index 0000000000..3c97e9ebd3
--- /dev/null
+++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb
@@ -0,0 +1,10 @@
+require emacs.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
+ file://use-qemu.patch \
+ file://nostdlib-unwind.patch \
+"
+SRC_URI[tarball.md5sum] = "34405165fcd978fbc8b304cbd99ccf4f"
+SRC_URI[tarball.sha256sum] = "b9a2b8434052771f797d2032772eba862ff9aa143029efc72295170607289c18"