[oe] emacs: Add emacs 23.2

Khem Raj raj.khem at gmail.com
Fri Nov 19 04:42:21 UTC 2010


On Thu, Nov 18, 2010 at 8:34 PM, Sean Cross <sean at chumby.com> wrote:
> Emacs 23.2 is the first version that cleanly builds with gcc-4.5.  This patch adds support for Emacs 23.2.

.

Thanks for doing this

>
> ---
>  recipes/emacs/emacs_23.2.bb                  |   15 ++++
>  recipes/emacs/files/emacs23.2-use-qemu.patch |  102 ++++++++++++++++++++++++++
>  2 files changed, 117 insertions(+), 0 deletions(-)
>  create mode 100644 recipes/emacs/emacs_23.2.bb
>  create mode 100644 recipes/emacs/files/emacs23.2-use-qemu.patch
>
> diff --git a/recipes/emacs/emacs_23.2.bb b/recipes/emacs/emacs_23.2.bb
> new file mode 100644
> index 0000000..d57351a
> --- /dev/null
> +++ b/recipes/emacs/emacs_23.2.bb
> @@ -0,0 +1,15 @@
> +require emacs.inc
> +
> +EXTRA_OECONF = "--without-sound --without-x"
> +
> +#/!\warning untested recipe
> +DEFAULT_PREFERENCE = "-2"

Why not make it default. ?



> +
> +SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
> +          file://emacs23.2-use-qemu.patch \
> +          file://nostdlib-unwind.patch"
> +SRC_URI[tarball.md5sum] = "b6691852dae0bc142b3c12749f6b7ade"
> +SRC_URI[tarball.sha256sum] = "1617b8289e403bc6345f8fcc4b3ec01755962cf8842b505d971efe08c9bf7919"
> +
> +
> +S = "${WORKDIR}/emacs-${PV}"
> diff --git a/recipes/emacs/files/emacs23.2-use-qemu.patch b/recipes/emacs/files/emacs23.2-use-qemu.patch
> new file mode 100644
> index 0000000..2c3c195
> --- /dev/null
> +++ b/recipes/emacs/files/emacs23.2-use-qemu.patch
> @@ -0,0 +1,102 @@
> +diff -ur emacs-23.2-stock/Makefile.in emacs-23.2/Makefile.in
> +--- emacs-23.2-stock/Makefile.in       2010-11-19 02:52:08.102072074 +0000
> ++++ emacs-23.2/Makefile.in     2010-11-19 02:52:15.282048950 +0000
> +@@ -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 -ur emacs-23.2-stock/leim/Makefile.in emacs-23.2/leim/Makefile.in
> +--- emacs-23.2-stock/leim/Makefile.in  2010-11-19 02:52:08.202082146 +0000
> ++++ emacs-23.2/leim/Makefile.in        2010-11-19 02:52:15.282048950 +0000
> +@@ -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 -ur emacs-23.2-stock/lib-src/Makefile.in emacs-23.2/lib-src/Makefile.in
> +--- emacs-23.2-stock/lib-src/Makefile.in       2010-11-19 02:52:08.082052237 +0000
> ++++ emacs-23.2/lib-src/Makefile.in     2010-11-19 02:52:15.282048950 +0000
> +@@ -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 -ur emacs-23.2-stock/lisp/Makefile.in emacs-23.2/lisp/Makefile.in
> +--- emacs-23.2-stock/lisp/Makefile.in  2010-11-19 02:52:07.922057070 +0000
> ++++ emacs-23.2/lisp/Makefile.in        2010-11-19 02:52:15.282048950 +0000
> +@@ -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 -ur emacs-23.2-stock/src/Makefile.in emacs-23.2/src/Makefile.in
> +--- emacs-23.2-stock/src/Makefile.in   2010-11-19 02:52:08.182079361 +0000
> ++++ emacs-23.2/src/Makefile.in 2010-11-19 02:55:09.762049503 +0000
> +@@ -479,7 +479,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
> +@@ -916,9 +916,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)
> +@@ -933,7 +933,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
> +@@ -951,8 +951,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}
> --
> 1.7.0.4
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>




More information about the Openembedded-devel mailing list