blob: ae35367ac41838e41514c7f7552318f924925b1c [file] [log] [blame]
Andrew Geisslerd688a012020-09-18 13:36:00 -05001SUMMARY = "Emacs is the extensible, customizable, self-documenting real-time display editor"
2HOMEPAGE = "https://www.gnu.org/software/emacs/"
3
Andrew Geissler9aee5002022-03-30 16:27:02 +00004LICENSE = "GPL-3.0-only"
Andrew Geisslerd688a012020-09-18 13:36:00 -05005LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
6
Andrew Geisslerf103a7f2021-05-07 16:09:40 -05007SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz \
Andrew Geisslerf103a7f2021-05-07 16:09:40 -05008 "
Andrew Geissler5082cc72023-09-11 08:41:39 -04009SRC_URI:append:class-target = " \
10 file://use-emacs-native-tools-for-cross-compiling.patch \
11 file://avoid-running-host-binaries-for-sanity.patch \
12"
Andrew Geisslerd688a012020-09-18 13:36:00 -050013
Andrew Geissler5082cc72023-09-11 08:41:39 -040014SRC_URI[sha256sum] = "d2f881a5cc231e2f5a03e86f4584b0438f83edd7598a09d24a21bd8d003e2e01"
Andrew Geisslerd688a012020-09-18 13:36:00 -050015
Patrick Williams2a254922023-08-11 09:48:11 -050016CVE_STATUS[CVE-2007-6109] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050017
Andrew Geisslerd688a012020-09-18 13:36:00 -050018PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls"
19PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5"
20PACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp"
21
22PACKAGECONFIG ??= "gnutls kerberos libgmp"
23
24# We could use --without-all but its better to
25# split it into several packages (size of minimal doesnt change)
Andrew Geissler87f5cff2022-09-30 13:13:31 -050026EXTRA_OECONF = " --with-x=no --with-dumping=none --disable-build-details"
27
28# Disable seccomp, as its a default dependency for gnutls but it doesnt work when cross-compiling emacs
29EXTRA_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)}"
30
Andrew Geisslerd688a012020-09-18 13:36:00 -050031
32DEPENDS = "ncurses"
Patrick Williams213cb262021-08-07 19:21:33 -050033DEPENDS:append:class-target = " emacs-native"
Andrew Geisslerd688a012020-09-18 13:36:00 -050034
Andrew Geissler5199d832021-09-24 16:47:35 -050035inherit autotools mime-xdg pkgconfig
Andrew Geisslerd688a012020-09-18 13:36:00 -050036
Andrew Geissler5082cc72023-09-11 08:41:39 -040037
38# Create the required native tools for the target build
39do_compile:class-native (){
40 cd ${B}/lib-src
41 oe_runmake make-docfile
42 oe_runmake make-fingerprint
43 cd ${B}/src
44 oe_runmake bootstrap-emacs
45}
46
47do_install:class-native(){
48 install -d ${D}${bindir}
49 install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/
50 install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/
51 install -m 755 ${B}/src/bootstrap-emacs ${D}/${bindir}/
52}
53
54do_compile:prepend:class-target () {
55 # export EMACS env variables for the native tools to use to allow calling bootstrap-emacs
56 export EMACSLOADPATH=${S}/lisp
57 export EMACSDATA=${S}/etc
58}
59
60
61do_install:prepend:class-target(){
62 # export EMACS env variables for the native tools to use to allow calling bootstrap-emacs
63 export EMACSLOADPATH=${S}/lisp
64 export EMACSDATA=${S}/etc
65}
66
Andrew Geissler87f5cff2022-09-30 13:13:31 -050067# Remove build host references to avoid target pollution
68do_compile:prepend () {
69 sed -i -e 's|${TMPDIR}||g' ${B}/src/config.h
70 sed -i -e 's|${B}||g' ${B}/src/epaths.h
71}
72
Patrick Williams213cb262021-08-07 19:21:33 -050073do_install:append(){
Andrew Geisslerd688a012020-09-18 13:36:00 -050074 # Delete systemd stuff, extend using DISTRO_FEATURES?
75 rm -rf ${D}/${libdir}
76 # Extra stuff which isnt needed
77 rm -rf ${D}/${datadir}/metainfo
78 rm -rf ${D}/${datadir}/info
79 # Emacs copies files to ${D} while building, which were unpacked
80 # by a different user, we need to restore those
81 chown -R root:root ${D}${datadir}
82}
83
Andrew Geisslerd688a012020-09-18 13:36:00 -050084# Use a similar strategy to how we build python:
85# Create three packages
86# minimal - A working lisp based text editor
87# base - What would probably work for most
88# full - A fully working emacs
89# The lists of files are long but are worth it
90# Installing "emacs" installs the base package
91PACKAGE_BEFORE_PN = "${PN}-minimal ${PN}-base ${PN}-full"
Patrick Williams213cb262021-08-07 19:21:33 -050092RPROVIDES:${PN}-base = "${PN}"
93RDEPENDS:${PN}-base:class-target = "${PN}-minimal"
94RDEPENDS:${PN}-full:class-target = "${PN}"
Andrew Geisslerd688a012020-09-18 13:36:00 -050095
96
97# A minimal version of emacs that works
Andrew Geissler87f5cff2022-09-30 13:13:31 -050098# These are kept sorted in alphabetical order
Patrick Williams213cb262021-08-07 19:21:33 -050099FILES:${PN}-minimal = " \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500100 ${bindir}/emacs* \
101 ${datadir}/${BPN}/${PV}/etc/charsets/ \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500102 ${datadir}/${BPN}/${PV}/lisp/abbrev.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500103 ${datadir}/${BPN}/${PV}/lisp/bindings.elc \
104 ${datadir}/${BPN}/${PV}/lisp/buff-menu.elc \
105 ${datadir}/${BPN}/${PV}/lisp/button.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500106 ${datadir}/${BPN}/${PV}/lisp/case-table.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500107 ${datadir}/${BPN}/${PV}/lisp/composite.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500108 ${datadir}/${BPN}/${PV}/lisp/cus-face.elc \
109 ${datadir}/${BPN}/${PV}/lisp/cus-start.elc \
110 ${datadir}/${BPN}/${PV}/lisp/custom.elc \
111 ${datadir}/${BPN}/${PV}/lisp/disp-table.elc \
112 ${datadir}/${BPN}/${PV}/lisp/electric.elc \
113 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/backquote.elc \
114 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-opt.elc \
115 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-run.elc \
116 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \
117 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \
118 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400119 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
120 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500121 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400122 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
123 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/debug-early.elc \
124 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easy-mmode.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500125 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \
126 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \
127 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \
128 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400129 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500130 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \
131 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \
132 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \
133 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \
134 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \
135 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400136 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/oclosure.elc \
137 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500138 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400139 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/rmc.elc \
140 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/rx.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500141 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \
142 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/shorthands.elc \
143 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \
144 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/syntax.elc \
145 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/tabulated-list.elc \
146 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/timer.elc \
147 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/vc/warnings.elc \
148 ${datadir}/${BPN}/${PV}/lisp/env.elc \
149 ${datadir}/${BPN}/${PV}/lisp/epa-hook.elc \
150 ${datadir}/${BPN}/${PV}/lisp/facemenu.elc \
151 ${datadir}/${BPN}/${PV}/lisp/faces.elc \
152 ${datadir}/${BPN}/${PV}/lisp/files.elc \
153 ${datadir}/${BPN}/${PV}/lisp/font-core.elc \
154 ${datadir}/${BPN}/${PV}/lisp/font-lock.elc \
155 ${datadir}/${BPN}/${PV}/lisp/format.elc \
156 ${datadir}/${BPN}/${PV}/lisp/frame.elc \
157 ${datadir}/${BPN}/${PV}/lisp/help.elc \
158 ${datadir}/${BPN}/${PV}/lisp/image.elc \
159 ${datadir}/${BPN}/${PV}/lisp/indent.elc \
160 ${datadir}/${BPN}/${PV}/lisp/international/characters.elc \
161 ${datadir}/${BPN}/${PV}/lisp/international/charprop.el \
162 ${datadir}/${BPN}/${PV}/lisp/international/charscript.elc \
163 ${datadir}/${BPN}/${PV}/lisp/international/cp51932.elc \
164 ${datadir}/${BPN}/${PV}/lisp/international/emoji-zwj.elc \
165 ${datadir}/${BPN}/${PV}/lisp/international/eucjp-ms.elc \
166 ${datadir}/${BPN}/${PV}/lisp/international/iso-transl.elc \
167 ${datadir}/${BPN}/${PV}/lisp/international/mule-cmds.elc \
168 ${datadir}/${BPN}/${PV}/lisp/international/mule-conf.elc \
169 ${datadir}/${BPN}/${PV}/lisp/international/mule.elc \
170 ${datadir}/${BPN}/${PV}/lisp/international/uni*.el \
171 ${datadir}/${BPN}/${PV}/lisp/isearch.elc \
172 ${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \
173 ${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400174 ${datadir}/${BPN}/${PV}/lisp/jka-compr.elc \
175 ${datadir}/${BPN}/${PV}/lisp/keymap.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500176 ${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \
177 ${datadir}/${BPN}/${PV}/lisp/language/cham.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500178 ${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \
179 ${datadir}/${BPN}/${PV}/lisp/language/cyrillic.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500180 ${datadir}/${BPN}/${PV}/lisp/language/czech.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500181 ${datadir}/${BPN}/${PV}/lisp/language/english.elc \
182 ${datadir}/${BPN}/${PV}/lisp/language/ethiopic.elc \
183 ${datadir}/${BPN}/${PV}/lisp/language/european.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500184 ${datadir}/${BPN}/${PV}/lisp/language/georgian.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500185 ${datadir}/${BPN}/${PV}/lisp/language/greek.elc \
186 ${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500187 ${datadir}/${BPN}/${PV}/lisp/language/indian.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400188 ${datadir}/${BPN}/${PV}/lisp/language/indonesian.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500189 ${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500190 ${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500191 ${datadir}/${BPN}/${PV}/lisp/language/korean.elc \
192 ${datadir}/${BPN}/${PV}/lisp/language/lao.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500193 ${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400194 ${datadir}/${BPN}/${PV}/lisp/language/philippine.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500195 ${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \
196 ${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \
197 ${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500198 ${datadir}/${BPN}/${PV}/lisp/language/tai-viet.elc \
199 ${datadir}/${BPN}/${PV}/lisp/language/thai.elc \
200 ${datadir}/${BPN}/${PV}/lisp/language/tibetan.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500201 ${datadir}/${BPN}/${PV}/lisp/language/utf-8-lang.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500202 ${datadir}/${BPN}/${PV}/lisp/language/vietnamese.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500203 ${datadir}/${BPN}/${PV}/lisp/ldefs-boot.el \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500204 ${datadir}/${BPN}/${PV}/lisp/loaddefs.el \
205 ${datadir}/${BPN}/${PV}/lisp/loadup.el \
206 ${datadir}/${BPN}/${PV}/lisp/menu-bar.elc \
207 ${datadir}/${BPN}/${PV}/lisp/minibuffer.elc \
208 ${datadir}/${BPN}/${PV}/lisp/mouse.elc \
209 ${datadir}/${BPN}/${PV}/lisp/newcomment.elc \
210 ${datadir}/${BPN}/${PV}/lisp/obarray.elc \
211 ${datadir}/${BPN}/${PV}/lisp/paren.elc \
212 ${datadir}/${BPN}/${PV}/lisp/progmodes/elisp-mode.elc \
213 ${datadir}/${BPN}/${PV}/lisp/progmodes/prog-mode.elc \
214 ${datadir}/${BPN}/${PV}/lisp/register.elc \
215 ${datadir}/${BPN}/${PV}/lisp/replace.elc \
216 ${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \
217 ${datadir}/${BPN}/${PV}/lisp/select.elc \
218 ${datadir}/${BPN}/${PV}/lisp/simple.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500219 ${datadir}/${BPN}/${PV}/lisp/startup.elc \
220 ${datadir}/${BPN}/${PV}/lisp/subr.elc \
221 ${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \
222 ${datadir}/${BPN}/${PV}/lisp/term/tty-colors.elc \
223 ${datadir}/${BPN}/${PV}/lisp/term/xterm.elc \
224 ${datadir}/${BPN}/${PV}/lisp/textmodes/fill.elc \
225 ${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \
226 ${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \
227 ${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \
Andrew Geissler5082cc72023-09-11 08:41:39 -0400228 ${datadir}/${BPN}/${PV}/lisp/thingatpt.elc \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500229 ${datadir}/${BPN}/${PV}/lisp/tooltip.elc \
230 ${datadir}/${BPN}/${PV}/lisp/uniquify.elc \
231 ${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \
232 ${datadir}/${BPN}/${PV}/lisp/vc/vc-hooks.elc \
233 ${datadir}/${BPN}/${PV}/lisp/version.elc \
234 ${datadir}/${BPN}/${PV}/lisp/widget.elc \
235 ${datadir}/${BPN}/${PV}/lisp/window.elc \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500236 ${prefix}/libexec \
237"
238
Andrew Geisslerd688a012020-09-18 13:36:00 -0500239# What works for "most" is relative, but this can be easily extended if needed
Patrick Williams213cb262021-08-07 19:21:33 -0500240FILES:${PN}-base = " \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500241 ${datadir}/${BPN}/${PV}/etc/e \
242 ${datadir}/${BPN}/${PV}/etc/forms \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500243 ${datadir}/${BPN}/${PV}/etc/srecode \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500244 ${datadir}/${BPN}/${PV}/etc/themes/adwaita-theme.el \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500245 ${datadir}/${BPN}/${PV}/etc/themes/deeper-blue-theme.el \
246 ${datadir}/${BPN}/${PV}/etc/themes/light-blue-theme.el \
247 ${datadir}/${BPN}/${PV}/etc/themes/misterioso-theme.el \
248 ${datadir}/${BPN}/${PV}/etc/themes/tango-theme.el \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500249 ${datadir}/${BPN}/${PV}/etc/themes/wheatgrass-theme.el \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500250 ${datadir}/${BPN}/${PV}/etc/themes/wombat-theme.el \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500251 ${datadir}/${BPN}/${PV}/lisp/ansi-color.elc \
252 ${datadir}/${BPN}/${PV}/lisp/auth-source.elc \
253 ${datadir}/${BPN}/${PV}/lisp/calendar/iso8601.elc \
254 ${datadir}/${BPN}/${PV}/lisp/calendar/parse-time.elc \
255 ${datadir}/${BPN}/${PV}/lisp/calendar/time-date.elc \
256 ${datadir}/${BPN}/${PV}/lisp/cedet \
257 ${datadir}/${BPN}/${PV}/lisp/comint.elc \
258 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
259 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
260 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
261 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio-core.elc \
262 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio.elc \
263 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
264 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
265 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/ring.elc \
266 ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/smie.elc \
267 ${datadir}/${BPN}/${PV}/lisp/files-x.elc \
268 ${datadir}/${BPN}/${PV}/lisp/format-spec.elc \
269 ${datadir}/${BPN}/${PV}/lisp/json.elc \
270 ${datadir}/${BPN}/${PV}/lisp/ls-lisp.elc \
271 ${datadir}/${BPN}/${PV}/lisp/net/tramp-compat.elc \
272 ${datadir}/${BPN}/${PV}/lisp/net/tramp-integration.elc \
273 ${datadir}/${BPN}/${PV}/lisp/net/tramp-loaddefs.el \
274 ${datadir}/${BPN}/${PV}/lisp/net/tramp-sh.elc \
275 ${datadir}/${BPN}/${PV}/lisp/net/tramp.elc \
276 ${datadir}/${BPN}/${PV}/lisp/net/trampver.elc \
277 ${datadir}/${BPN}/${PV}/lisp/password-cache.elc \
278 ${datadir}/${BPN}/${PV}/lisp/pcomplete.elc \
279 ${datadir}/${BPN}/${PV}/lisp/progmodes/*asm* \
280 ${datadir}/${BPN}/${PV}/lisp/progmodes/*perl* \
281 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-align.elc \
282 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-cmds.elc \
283 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-defs.elc \
284 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-engine.elc \
285 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-fonts.elc \
286 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-guess.elc \
287 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-menus.elc \
288 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-mode.elc \
289 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-styles.elc \
290 ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-vars.elc \
291 ${datadir}/${BPN}/${PV}/lisp/progmodes/cpp* \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500292 ${datadir}/${BPN}/${PV}/lisp/progmodes/executable* \
Andrew Geissler87f5cff2022-09-30 13:13:31 -0500293 ${datadir}/${BPN}/${PV}/lisp/progmodes/make* \
294 ${datadir}/${BPN}/${PV}/lisp/progmodes/prog* \
295 ${datadir}/${BPN}/${PV}/lisp/progmodes/python* \
296 ${datadir}/${BPN}/${PV}/lisp/progmodes/sh-script* \
297 ${datadir}/${BPN}/${PV}/lisp/shell.elc \
298 ${datadir}/${BPN}/${PV}/lisp/subdirs.el \
299 ${datadir}/${BPN}/${PV}/site-lisp/ \
Andrew Geisslerd688a012020-09-18 13:36:00 -0500300"
301
302# Restore FILES for the full package to catch everything left
Patrick Williams213cb262021-08-07 19:21:33 -0500303FILES:${PN}-full = "${FILES:${PN}}"
304FILES:${PN}-full:append = " ${datadir}/icons"
Andrew Geisslerd688a012020-09-18 13:36:00 -0500305
306
307# The following does NOT build a native emacs.
308# It only builds some parts of it that are
309# required to by the build for target emacs.
310BBCLASSEXTEND = "native"