Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,311 @@
|
||||
SUMMARY = "Emacs is the extensible, customizable, self-documenting real-time display editor"
|
||||
HOMEPAGE = "https://www.gnu.org/software/emacs/"
|
||||
|
||||
LICENSE = "GPL-3.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
|
||||
|
||||
SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz \
|
||||
"
|
||||
SRC_URI:append:class-target = " \
|
||||
file://use-emacs-native-tools-for-cross-compiling.patch \
|
||||
file://avoid-running-host-binaries-for-sanity.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "d2f881a5cc231e2f5a03e86f4584b0438f83edd7598a09d24a21bd8d003e2e01"
|
||||
|
||||
CVE_STATUS[CVE-2007-6109] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
|
||||
|
||||
PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls"
|
||||
PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5"
|
||||
PACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp"
|
||||
PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
|
||||
|
||||
PACKAGECONFIG ??= "gnutls kerberos libgmp"
|
||||
|
||||
# We could use --without-all but its better to
|
||||
# split it into several packages (size of minimal doesnt change)
|
||||
EXTRA_OECONF = " --with-x=no --with-dumping=none --disable-build-details"
|
||||
|
||||
# Disable seccomp, as its a default dependency for gnutls but it doesnt work when cross-compiling emacs
|
||||
EXTRA_OECONF:append = " ${@bb.utils.contains('PACKAGECONFIG', 'gnutls', 'ac_cv_have_decl_SECCOMP_FILTER_FLAG_TSYNC=no ac_cv_have_decl_SECCOMP_SET_MODE_FILTER=no', '', d)}"
|
||||
|
||||
|
||||
DEPENDS = "ncurses"
|
||||
DEPENDS:append:class-target = " emacs-native"
|
||||
|
||||
inherit autotools mime-xdg pkgconfig
|
||||
|
||||
|
||||
# Create the required native tools for the target build
|
||||
do_compile:class-native (){
|
||||
cd ${B}/lib-src
|
||||
oe_runmake make-docfile
|
||||
oe_runmake make-fingerprint
|
||||
cd ${B}/src
|
||||
oe_runmake bootstrap-emacs
|
||||
}
|
||||
|
||||
do_install:class-native(){
|
||||
install -d ${D}${bindir}
|
||||
install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/
|
||||
install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/
|
||||
install -m 755 ${B}/src/bootstrap-emacs ${D}/${bindir}/
|
||||
}
|
||||
|
||||
do_compile:prepend:class-target () {
|
||||
# export EMACS env variables for the native tools to use to allow calling bootstrap-emacs
|
||||
export EMACSLOADPATH=${S}/lisp
|
||||
export EMACSDATA=${S}/etc
|
||||
}
|
||||
|
||||
|
||||
do_install:prepend:class-target(){
|
||||
# export EMACS env variables for the native tools to use to allow calling bootstrap-emacs
|
||||
export EMACSLOADPATH=${S}/lisp
|
||||
export EMACSDATA=${S}/etc
|
||||
}
|
||||
|
||||
# Remove build host references to avoid target pollution
|
||||
do_compile:prepend () {
|
||||
sed -i -e 's|${TMPDIR}||g' ${B}/src/config.h
|
||||
sed -i -e 's|${B}||g' ${B}/src/epaths.h
|
||||
}
|
||||
|
||||
do_install:append(){
|
||||
# Delete systemd stuff, extend using DISTRO_FEATURES?
|
||||
rm -rf ${D}/${libdir}
|
||||
# Extra stuff which isnt needed
|
||||
rm -rf ${D}/${datadir}/metainfo
|
||||
rm -rf ${D}/${datadir}/info
|
||||
# Emacs copies files to ${D} while building, which were unpacked
|
||||
# by a different user, we need to restore those
|
||||
chown -R root:root ${D}${datadir}
|
||||
}
|
||||
|
||||
# Use a similar strategy to how we build python:
|
||||
# Create three packages
|
||||
# minimal - A working lisp based text editor
|
||||
# base - What would probably work for most
|
||||
# full - A fully working emacs
|
||||
# The lists of files are long but are worth it
|
||||
# Installing "emacs" installs the base package
|
||||
PACKAGE_BEFORE_PN = "${PN}-minimal ${PN}-base ${PN}-full"
|
||||
RPROVIDES:${PN}-base = "${PN}"
|
||||
RDEPENDS:${PN}-base:class-target = "${PN}-minimal"
|
||||
RDEPENDS:${PN}-full:class-target = "${PN}"
|
||||
|
||||
|
||||
# A minimal version of emacs that works
|
||||
# These are kept sorted in alphabetical order
|
||||
FILES:${PN}-minimal = " \
|
||||
${bindir}/emacs* \
|
||||
${datadir}/${BPN}/${PV}/etc/charsets/ \
|
||||
${datadir}/${BPN}/${PV}/lisp/abbrev.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/bindings.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/buff-menu.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/button.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/case-table.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/composite.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/cus-face.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/cus-start.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/custom.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/disp-table.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/electric.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/backquote.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-opt.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-run.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/debug-early.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easy-mmode.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/oclosure.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/rmc.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/rx.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/shorthands.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/syntax.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/tabulated-list.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/timer.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/vc/warnings.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/env.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/epa-hook.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/facemenu.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/faces.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/files.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/font-core.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/font-lock.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/format.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/frame.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/help.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/image.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/indent.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/characters.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/charprop.el \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/charscript.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/cp51932.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/emoji-zwj.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/eucjp-ms.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/iso-transl.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/mule-cmds.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/mule-conf.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/mule.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/international/uni*.el \
|
||||
${datadir}/${BPN}/${PV}/lisp/isearch.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/jka-compr.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/keymap.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/cham.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/cyrillic.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/czech.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/english.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/ethiopic.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/european.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/georgian.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/greek.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/indian.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/indonesian.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/korean.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/lao.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/philippine.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/tai-viet.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/thai.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/tibetan.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/utf-8-lang.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/language/vietnamese.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/ldefs-boot.el \
|
||||
${datadir}/${BPN}/${PV}/lisp/loaddefs.el \
|
||||
${datadir}/${BPN}/${PV}/lisp/loadup.el \
|
||||
${datadir}/${BPN}/${PV}/lisp/menu-bar.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/minibuffer.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/mouse.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/newcomment.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/obarray.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/paren.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/elisp-mode.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/prog-mode.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/register.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/replace.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/select.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/simple.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/startup.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/subr.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/term/tty-colors.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/term/xterm.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/textmodes/fill.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/thingatpt.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/tooltip.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/uniquify.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/vc/vc-hooks.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/version.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/widget.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/window.elc \
|
||||
${prefix}/libexec \
|
||||
"
|
||||
|
||||
# What works for "most" is relative, but this can be easily extended if needed
|
||||
FILES:${PN}-base = " \
|
||||
${datadir}/${BPN}/${PV}/etc/e \
|
||||
${datadir}/${BPN}/${PV}/etc/forms \
|
||||
${datadir}/${BPN}/${PV}/etc/srecode \
|
||||
${datadir}/${BPN}/${PV}/etc/themes/adwaita-theme.el \
|
||||
${datadir}/${BPN}/${PV}/etc/themes/deeper-blue-theme.el \
|
||||
${datadir}/${BPN}/${PV}/etc/themes/light-blue-theme.el \
|
||||
${datadir}/${BPN}/${PV}/etc/themes/misterioso-theme.el \
|
||||
${datadir}/${BPN}/${PV}/etc/themes/tango-theme.el \
|
||||
${datadir}/${BPN}/${PV}/etc/themes/wheatgrass-theme.el \
|
||||
${datadir}/${BPN}/${PV}/etc/themes/wombat-theme.el \
|
||||
${datadir}/${BPN}/${PV}/lisp/ansi-color.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/auth-source.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/calendar/iso8601.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/calendar/parse-time.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/calendar/time-date.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/cedet \
|
||||
${datadir}/${BPN}/${PV}/lisp/comint.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio-core.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/ring.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/emacs-lisp/smie.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/files-x.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/format-spec.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/json.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/ls-lisp.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/net/tramp-compat.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/net/tramp-integration.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/net/tramp-loaddefs.el \
|
||||
${datadir}/${BPN}/${PV}/lisp/net/tramp-sh.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/net/tramp.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/net/trampver.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/password-cache.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/pcomplete.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/*asm* \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/*perl* \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-align.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-cmds.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-defs.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-engine.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-fonts.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-guess.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-menus.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-mode.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-styles.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cc-vars.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/cpp* \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/executable* \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/make* \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/prog* \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/python* \
|
||||
${datadir}/${BPN}/${PV}/lisp/progmodes/sh-script* \
|
||||
${datadir}/${BPN}/${PV}/lisp/shell.elc \
|
||||
${datadir}/${BPN}/${PV}/lisp/subdirs.el \
|
||||
${datadir}/${BPN}/${PV}/site-lisp/ \
|
||||
"
|
||||
|
||||
# Restore FILES for the full package to catch everything left
|
||||
FILES:${PN}-full = "${FILES:${PN}}"
|
||||
FILES:${PN}-full:append = " ${datadir}/icons"
|
||||
|
||||
|
||||
# The following does NOT build a native emacs.
|
||||
# It only builds some parts of it that are
|
||||
# required to by the build for target emacs.
|
||||
BBCLASSEXTEND = "native"
|
||||
@@ -0,0 +1,38 @@
|
||||
Upstream-Status: Inappropriate [OE-Specific]
|
||||
|
||||
Emacs introduced a sanity-check for the build artifacts, where it
|
||||
runs the newly built emacs to perform some checks.
|
||||
|
||||
This is not going to work for us since we are cross-compiling,
|
||||
we need to avoid running target binaries on the host
|
||||
|
||||
Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
|
||||
|
||||
Index: emacs-29.1/Makefile.in
|
||||
===================================================================
|
||||
--- emacs-29.1.orig/Makefile.in
|
||||
+++ emacs-29.1/Makefile.in
|
||||
@@ -416,19 +416,10 @@ advice-on-failure:
|
||||
@exit ${exit-status}
|
||||
|
||||
sanity-check:
|
||||
- @[ -f .no-advice-on-failure ] && exit 0; true
|
||||
- @v=$$(src/emacs${EXEEXT} --batch --eval \
|
||||
- '(progn (defun f (n) (if (= 0 n) 1 (* n (f (- n 1))))) (princ (f 10)))' \
|
||||
- 2> /dev/null); \
|
||||
- [ "X$$v" = "X3628800" ] && exit 0; \
|
||||
- echo >&2 '***'; \
|
||||
- echo >&2 '*** '"\"make ${make-target}\" succeeded, but Emacs is not functional."; \
|
||||
- echo >&2 '***'; \
|
||||
- cat Makefile | \
|
||||
- sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q;};' | \
|
||||
- sed 's/^# /*** /' | grep -v '^\*\*\* ADVICE-ON-FAILURE-' >&2; \
|
||||
- echo >&2 '***'; \
|
||||
- exit 1
|
||||
+# The Makefile will try to call the newly built emacs to perform some checks
|
||||
+# this is not going to work since it was (probably) built for a different architecture.
|
||||
+# Avoid calling target binaries from the host and simply assume our build artifacts work.
|
||||
+ exit 0
|
||||
|
||||
.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 epaths-force-ns-self-contained etc-emacsver
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
Upstream-Status: Inappropriate [OE-Specific]
|
||||
|
||||
When building emacs, it builds some tools for the HOST
|
||||
that are then used to build for target, such as
|
||||
make-fingerprint and make-docfile and bootstrap-emacs,
|
||||
this needs to be adapted to be used by bitbake, otherwise
|
||||
the compiled executables arent compatible with the HOST.
|
||||
|
||||
We also need to be able to use emacs env variables to
|
||||
control how bootstrap-emacs is used when cross-compiling.
|
||||
|
||||
Use the above mentioned tools provided by the native
|
||||
version of the recipe instead.
|
||||
|
||||
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
|
||||
|
||||
Index: emacs-29.1/src/Makefile.in
|
||||
===================================================================
|
||||
--- emacs-29.1.orig/src/Makefile.in
|
||||
+++ emacs-29.1/src/Makefile.in
|
||||
@@ -1,3 +1,4 @@
|
||||
+
|
||||
### @configure_input@
|
||||
|
||||
# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2023 Free Software
|
||||
@@ -508,7 +509,7 @@ ifeq ($(CHECK_STRUCTS),true)
|
||||
pdumper.o: dmpstruct.h
|
||||
endif
|
||||
dmpstruct.h: $(srcdir)/dmpstruct.awk
|
||||
-dmpstruct.h: $(libsrc)/make-fingerprint$(EXEEXT) $(dmpstruct_headers)
|
||||
+dmpstruct.h: $(dmpstruct_headers)
|
||||
$(AM_V_GEN)POSIXLY_CORRECT=1 awk -f $(srcdir)/dmpstruct.awk \
|
||||
$(dmpstruct_headers) > $@
|
||||
|
||||
@@ -610,8 +611,7 @@ SYSTEM_TYPE = @SYSTEM_TYPE@
|
||||
## Strictly speaking, emacs does not depend directly on all of $lisp,
|
||||
## since not all pieces are used on all platforms. But DOC depends
|
||||
## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
|
||||
-emacs$(EXEEXT): temacs$(EXEEXT) \
|
||||
- lisp.mk $(etc)/DOC $(lisp) \
|
||||
+emacs$(EXEEXT): lisp.mk $(etc)/DOC $(lisp) \
|
||||
$(lispsource)/international/charprop.el ${charsets}
|
||||
ifeq ($(SYSTEM_TYPE),cygwin)
|
||||
find ${top_builddir} -name '*.eln' | rebase -v -O -T -
|
||||
@@ -654,7 +654,7 @@ endif
|
||||
$(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(doc_obj)
|
||||
$(AM_V_GEN)$(MKDIR_P) $(etc)
|
||||
$(AM_V_at)rm -f $(etc)/DOC
|
||||
- $(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \
|
||||
+ make-docfile -d $(srcdir) \
|
||||
$(SOME_MACHINE_OBJECTS) $(doc_obj) > $(etc)/DOC
|
||||
|
||||
$(libsrc)/make-docfile$(EXEEXT) $(libsrc)/make-fingerprint$(EXEEXT): \
|
||||
@@ -671,7 +671,7 @@ buildobj.h: Makefile
|
||||
GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m)
|
||||
|
||||
gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
|
||||
- $(AM_V_GLOBALS)$(libsrc)/make-docfile -d $(srcdir) -g $(doc_obj) > globals.tmp
|
||||
+ make-docfile -d $(srcdir) -g $(doc_obj) > globals.tmp
|
||||
$(AM_V_at)$(top_srcdir)/build-aux/move-if-change globals.tmp globals.h
|
||||
$(AM_V_at)echo timestamp > $@
|
||||
|
||||
@@ -685,7 +685,7 @@ $(LIBEGNU_ARCHIVE): $(config_h)
|
||||
$(MAKE) -C $(dir $@) all
|
||||
|
||||
ifeq ($(HAVE_PDUMPER),yes)
|
||||
-MAKE_PDUMPER_FINGERPRINT = $(libsrc)/make-fingerprint$(EXEEXT)
|
||||
+MAKE_PDUMPER_FINGERPRINT = make-fingerprint
|
||||
else
|
||||
MAKE_PDUMPER_FINGERPRINT =
|
||||
endif
|
||||
Index: emacs-29.1/lisp/Makefile.in
|
||||
===================================================================
|
||||
--- emacs-29.1.orig/lisp/Makefile.in
|
||||
+++ emacs-29.1/lisp/Makefile.in
|
||||
@@ -53,7 +53,7 @@ FIND_DELETE = @FIND_DELETE@
|
||||
# We never change directory before running Emacs, so a relative file
|
||||
# name is fine, and makes life easier. If we need to change
|
||||
# directory, we can use emacs --chdir.
|
||||
-EMACS = ../src/emacs${EXEEXT}
|
||||
+EMACS = bootstrap-emacs
|
||||
|
||||
# Command line flags for Emacs.
|
||||
|
||||
@@ -109,7 +109,7 @@ MAIN_FIRST = ./emacs-lisp/eieio.el ./ema
|
||||
./org/oc.el ./org/ol.el ./emacs-lisp/cl-lib.el
|
||||
|
||||
# Prevent any settings in the user environment causing problems.
|
||||
-unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH
|
||||
+unexport EMACSDOC EMACSPATH
|
||||
|
||||
# The actual Emacs command run in the targets below.
|
||||
emacs = '$(EMACS)' $(EMACSOPT)
|
||||
Index: emacs-29.1/Makefile.in
|
||||
===================================================================
|
||||
--- emacs-29.1.orig/Makefile.in
|
||||
+++ emacs-29.1/Makefile.in
|
||||
@@ -328,7 +328,7 @@ GLIB_COMPILE_SCHEMAS = glib-compile-sche
|
||||
TRANSFORM = @program_transform_name@
|
||||
|
||||
# Prevent any settings in the user environment causing problems.
|
||||
-unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH
|
||||
+unexport EMACSDOC EMACSPATH
|
||||
|
||||
# What emacs should be called when installed.
|
||||
EMACS_NAME = `echo emacs | sed '$(TRANSFORM)'`
|
||||
Reference in New Issue
Block a user