diff options
author | Stanislav Brabec <utx@penguin.cz> | 2008-12-03 14:12:52 +0000 |
---|---|---|
committer | utx@penguin.cz <utx@penguin.cz> | 2008-12-03 14:12:52 +0000 |
commit | 7b4727f5e9da26203937596f74cc3be1a1ad6453 (patch) | |
tree | 00839e7d1d81524c686389e232f6d394edba17f4 | |
parent | e2417088f7da657af369962a2ed155707814f8f3 (diff) |
emacs: Update to version 22.3. Simplified build. Use GTK+.
-rw-r--r-- | packages/emacs/emacs-22.3/use-qemu.patch | 93 | ||||
-rw-r--r-- | packages/emacs/emacs-x11_20060801.bb | 2 | ||||
-rw-r--r-- | packages/emacs/emacs-x11_22.3.bb | 15 | ||||
-rw-r--r-- | packages/emacs/emacs.inc | 31 | ||||
-rw-r--r-- | packages/emacs/emacs_20060801.bb | 2 | ||||
-rw-r--r-- | packages/emacs/emacs_22.3.bb | 9 | ||||
-rw-r--r-- | packages/emacs/files/nostdlib-unwind.patch | 16 |
7 files changed, 166 insertions, 2 deletions
diff --git a/packages/emacs/emacs-22.3/use-qemu.patch b/packages/emacs/emacs-22.3/use-qemu.patch new file mode 100644 index 0000000000..3b85dc36fb --- /dev/null +++ b/packages/emacs/emacs-22.3/use-qemu.patch @@ -0,0 +1,93 @@ +Warning: When editing the patch, see the ugly hack (removal of pwd) when calling temacs and emacs. +For unknown reason, qemu-arm is not able to recognize binary correctly. + +Index: emacs-22.3/lib-src/Makefile.in +=================================================================== +--- emacs-22.3.orig/lib-src/Makefile.in 2008-04-24 05:38:12.000000000 +0000 ++++ emacs-22.3/lib-src/Makefile.in 2008-11-21 15:51:14.000000000 +0000 +@@ -24,7 +24,7 @@ + SHELL = /bin/sh + + # Following ../lisp/Makefile.in. +-EMACS = ../src/emacs ++EMACS = ${QEMU} emacs + EMACSOPT = -batch --no-site-file --multibyte + + # ==================== Things `configure' will edit ==================== +@@ -388,7 +388,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 + doesn't have one that works with the given compiler. */ +Index: emacs-22.3/lisp/Makefile.in +=================================================================== +--- emacs-22.3.orig/lisp/Makefile.in 2008-08-12 18:35:42.000000000 +0000 ++++ emacs-22.3/lisp/Makefile.in 2008-11-21 15:54:38.000000000 +0000 +@@ -63,7 +63,7 @@ + + # The actual Emacs command run in the targets below. + +-emacs = EMACSLOADPATH=$(lisp) $(EMACS) $(EMACSOPT) ++emacs = EMACSLOADPATH=$(lisp) ${QEMU} emacs $(EMACSOPT) + + # Common command to find subdirectories + +Index: emacs-22.3/src/Makefile.in +=================================================================== +--- emacs-22.3.orig/src/Makefile.in 2008-07-11 08:52:53.000000000 +0000 ++++ emacs-22.3/src/Makefile.in 2008-11-21 15:52:09.000000000 +0000 +@@ -497,7 +497,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 +@@ -949,7 +949,7 @@ + #define OBJECTS_MACHINE + #endif + +-RUN_TEMACS = ./temacs ++RUN_TEMACS = ${QEMU} temacs + + all: emacs${EXEEXT} OTHER_FILES + +@@ -964,7 +964,7 @@ + LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump + #endif /* ! defined (HAVE_SHM) */ + #endif /* ! defined (CANNOT_DUMP) */ +- -./emacs -q -batch -f list-load-path-shadows ++ -${QEMU} emacs -q -batch -f list-load-path-shadows + + /* We run make-docfile twice because the command line may get too long + on some systems. */ +@@ -976,8 +976,8 @@ + Likewise for ${SOME_MACHINE_LISP}. */ + ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${shortlisp} ${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} +Index: emacs-22.3/leim/Makefile.in +=================================================================== +--- emacs-22.3.orig/leim/Makefile.in 2008-01-07 08:09:43.000000000 +0000 ++++ emacs-22.3/leim/Makefile.in 2008-11-21 15:52:50.000000000 +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} emacs -batch --no-init-file --no-site-file --multibyte + + # Subdirectories to be made if ${srcdir} is different from the current + # directory. diff --git a/packages/emacs/emacs-x11_20060801.bb b/packages/emacs/emacs-x11_20060801.bb index 3878c42536..a6ed4e73f9 100644 --- a/packages/emacs/emacs-x11_20060801.bb +++ b/packages/emacs/emacs-x11_20060801.bb @@ -2,4 +2,4 @@ require emacs-x11_cvs.bb SRCDATE = "20060801" -DEFAULT_PREFERENCE = "0" +DEFAULT_PREFERENCE = "-1" diff --git a/packages/emacs/emacs-x11_22.3.bb b/packages/emacs/emacs-x11_22.3.bb new file mode 100644 index 0000000000..03102bf58a --- /dev/null +++ b/packages/emacs/emacs-x11_22.3.bb @@ -0,0 +1,15 @@ +require emacs.inc + +# full X (non-diet) is needed for X support +DEPENDS += "gtk+ libungif" + +EXTRA_OECONF = "--without-sound --with-x-toolkit=gtk" + +RREPLACES = "emacs" + +FILESPATH = "${FILE_DIRNAME}/emacs-${PV}:${FILE_DIRNAME}/files" +SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz \ + file://use-qemu.patch;patch=1 \ + file://nostdlib-unwind.patch;patch=1" + +S = "${WORKDIR}/emacs-${PV}" diff --git a/packages/emacs/emacs.inc b/packages/emacs/emacs.inc new file mode 100644 index 0000000000..95dd6e08e9 --- /dev/null +++ b/packages/emacs/emacs.inc @@ -0,0 +1,31 @@ +DESCRIPTION = "Emacs" +HOMEPAGE = "http://www.gnu.org/software/emacs/" +LICENSE = "GPLv2" +SECTION = "editor" +# and it needs to run some generated binaries.. +DEPENDS += "qemu-native" + +inherit autotools + +PACKAGES =+ "${PN}-el" + +FILES_${PN}-el = "${datadir}/emacs/*/*/*.el.gz \ + ${datadir}/emacs/*/*/*/*.el.gz" + +FILES_${PN} += "${datadir}/emacs" + +FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug" + +# Large stack is required at least on x86_64 host, otherwise random segfaults appear: +QEMU = "qemu-${TARGET_ARCH} -s 1048576 -L ${STAGING_DIR_TARGET}" + +do_compile_prepend() { + sed -i ':1;s:\(START.* \|LIB_STANDARD.* \|LIBES.* \)/usr/lib:\1${STAGING_LIBDIR}:;t1' ${S}/src/s/gnu-linux.h `find "${S}" -name Makefile` + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${CROSS_DIR}/${TARGET_SYS}/lib" +# Ugly hack, see files/use-qemu.patch for more: + ln -sf ../src/emacs lisp/emacs + ln -sf ../src/emacs lib-src/emacs + ln -sf ../src/emacs leim/emacs +} + +EXTRA_OEMAKE += 'QEMU="${QEMU}"' diff --git a/packages/emacs/emacs_20060801.bb b/packages/emacs/emacs_20060801.bb index 834e5b6239..fe472b4c5a 100644 --- a/packages/emacs/emacs_20060801.bb +++ b/packages/emacs/emacs_20060801.bb @@ -1,3 +1,3 @@ require emacs_cvs.bb SRCDATE = "20060801" -DEFAULT_PREFERENCE = "0" +DEFAULT_PREFERENCE = "-1" diff --git a/packages/emacs/emacs_22.3.bb b/packages/emacs/emacs_22.3.bb new file mode 100644 index 0000000000..da8de39eec --- /dev/null +++ b/packages/emacs/emacs_22.3.bb @@ -0,0 +1,9 @@ +require emacs.inc + +EXTRA_OECONF = "--without-sound --without-x" + +SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz \ + file://use-qemu.patch;patch=1 \ + file://nostdlib-unwind.patch;patch=1" + +S = "${WORKDIR}/emacs-${PV}" diff --git a/packages/emacs/files/nostdlib-unwind.patch b/packages/emacs/files/nostdlib-unwind.patch new file mode 100644 index 0000000000..4200301a3f --- /dev/null +++ b/packages/emacs/files/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 |