xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Emacs is the extensible, customizable, self-documenting real-time display editor"
2*4882a593SmuzhiyunHOMEPAGE = "https://www.gnu.org/software/emacs/"
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunLICENSE = "GPL-3.0-only"
5*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunSRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz \
8*4882a593Smuzhiyun           file://emacs-glibc-2.34.patch \
9*4882a593Smuzhiyun          "
10*4882a593SmuzhiyunSRC_URI:append:class-target = " file://usemake-docfile-native.patch"
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSRC_URI[sha256sum] = "b4a7cc4e78e63f378624e0919215b910af5bb2a0afc819fad298272e9f40c1b9"
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunCVE_CHECK_IGNORE = "\
15*4882a593Smuzhiyun    CVE-2007-6109 \
16*4882a593Smuzhiyun"
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunPACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls"
19*4882a593SmuzhiyunPACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5"
20*4882a593SmuzhiyunPACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp"
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunPACKAGECONFIG ??= "gnutls kerberos libgmp"
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun# We could use --without-all but its better to
25*4882a593Smuzhiyun# split it into several packages (size of minimal doesnt change)
26*4882a593SmuzhiyunEXTRA_OECONF = " --with-x=no --with-dumping=none"
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunDEPENDS = "ncurses"
29*4882a593SmuzhiyunDEPENDS:append:class-target = " emacs-native"
30*4882a593Smuzhiyun
31*4882a593Smuzhiyuninherit autotools mime-xdg pkgconfig
32*4882a593Smuzhiyun
33*4882a593Smuzhiyundo_compile:class-native (){
34*4882a593Smuzhiyun    cd ${B}/lib-src
35*4882a593Smuzhiyun    oe_runmake make-docfile
36*4882a593Smuzhiyun    oe_runmake make-fingerprint
37*4882a593Smuzhiyun}
38*4882a593Smuzhiyundo_install:class-native(){
39*4882a593Smuzhiyun    install -d ${D}${bindir}
40*4882a593Smuzhiyun    install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/
41*4882a593Smuzhiyun    install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/
42*4882a593Smuzhiyun}
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun
45*4882a593Smuzhiyundo_install:append(){
46*4882a593Smuzhiyun    # Delete systemd stuff, extend using DISTRO_FEATURES?
47*4882a593Smuzhiyun    rm -rf ${D}/${libdir}
48*4882a593Smuzhiyun    # Extra stuff which isnt needed
49*4882a593Smuzhiyun    rm -rf ${D}/${datadir}/metainfo
50*4882a593Smuzhiyun    rm -rf ${D}/${datadir}/info
51*4882a593Smuzhiyun    # Emacs copies files to ${D} while building, which were unpacked
52*4882a593Smuzhiyun    # by a different user, we need to restore those
53*4882a593Smuzhiyun    chown -R root:root ${D}${datadir}
54*4882a593Smuzhiyun}
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun# Use a similar strategy to how we build python:
58*4882a593Smuzhiyun# Create three packages
59*4882a593Smuzhiyun# minimal - A working lisp based text editor
60*4882a593Smuzhiyun# base - What would probably work for most
61*4882a593Smuzhiyun# full - A fully working emacs
62*4882a593Smuzhiyun# The lists of files are long but are worth it
63*4882a593Smuzhiyun# Installing "emacs" installs the base package
64*4882a593SmuzhiyunPACKAGE_BEFORE_PN = "${PN}-minimal ${PN}-base ${PN}-full"
65*4882a593SmuzhiyunRPROVIDES:${PN}-base = "${PN}"
66*4882a593SmuzhiyunRDEPENDS:${PN}-base:class-target = "${PN}-minimal"
67*4882a593SmuzhiyunRDEPENDS:${PN}-full:class-target = "${PN}"
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun# A minimal version of emacs that works
71*4882a593SmuzhiyunFILES:${PN}-minimal = " \
72*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/loadup.el \
73*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-run.elc \
74*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/backquote.elc \
75*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/subr.elc \
76*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/version.elc \
77*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/widget.elc \
78*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/custom.elc \
79*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \
80*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/mule.elc \
81*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/mule-conf.elc \
82*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/env.elc \
83*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/format.elc \
84*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/bindings.elc \
85*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/window.elc \
86*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/files.elc \
87*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \
88*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/cus-face.elc \
89*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/faces.elc \
90*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/button.elc \
91*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/loaddefs.el \
92*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \
93*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \
94*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/obarray.elc \
95*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/abbrev.elc \
96*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/simple.elc \
97*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \
98*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/epa-hook.elc \
99*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/mule-cmds.elc \
100*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/case-table.elc \
101*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/charprop.el \
102*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/characters.elc \
103*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/charscript.elc \
104*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/composite.elc \
105*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \
106*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/cyrillic.elc \
107*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/indian.elc \
108*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \
109*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/english.elc \
110*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/ethiopic.elc \
111*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/european.elc \
112*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/czech.elc \
113*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \
114*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \
115*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/greek.elc \
116*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \
117*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/cp51932.elc \
118*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/eucjp-ms.elc \
119*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \
120*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/korean.elc \
121*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/lao.elc \
122*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/tai-viet.elc \
123*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/thai.elc \
124*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/tibetan.elc \
125*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/vietnamese.elc \
126*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \
127*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/utf-8-lang.elc \
128*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/georgian.elc \
129*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \
130*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \
131*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/language/cham.elc \
132*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/indent.elc \
133*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \
134*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/minibuffer.elc \
135*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/frame.elc \
136*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/startup.elc \
137*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/term/tty-colors.elc \
138*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/font-core.elc \
139*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/facemenu.elc \
140*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/syntax.elc \
141*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/font-lock.elc \
142*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \
143*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/mouse.elc \
144*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/select.elc \
145*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/timer.elc \
146*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/isearch.elc \
147*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \
148*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/menu-bar.elc \
149*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \
150*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \
151*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \
152*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/register.elc \
153*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \
154*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/prog-mode.elc \
155*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \
156*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/elisp-mode.elc \
157*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \
158*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/textmodes/fill.elc \
159*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/newcomment.elc \
160*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/replace.elc \
161*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/tabulated-list.elc \
162*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/buff-menu.elc \
163*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \
164*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/vc/vc-hooks.elc \
165*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \
166*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/uniquify.elc \
167*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/electric.elc \
168*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \
169*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/cus-start.elc \
170*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/tooltip.elc \
171*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/simple.elc \
172*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \
173*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/term/xterm.elc \
174*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \
175*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \
176*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \
177*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-opt.elc \
178*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/image.elc \
179*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/ldefs-boot.el \
180*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/help.elc \
181*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/international/uni*.el \
182*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/vc/warnings.elc \
183*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/charsets/ \
184*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/disp-table.elc \
185*4882a593Smuzhiyun    ${bindir}/emacs* \
186*4882a593Smuzhiyun    ${prefix}/libexec \
187*4882a593Smuzhiyun"
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun# What works for "most" is relative, but this can be easily extended if needed
191*4882a593SmuzhiyunFILES:${PN}-base = " \
192*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/srecode \
193*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/e \
194*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/forms \
195*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/cedet \
196*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/site-lisp/ \
197*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/subdirs.el \
198*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-mode.elc \
199*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-defs.elc \
200*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-vars.elc \
201*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-engine.elc \
202*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-styles.elc \
203*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-fonts.elc \
204*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-cmds.elc \
205*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-align.elc \
206*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-menus.elc \
207*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-guess.elc \
208*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
209*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
210*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
211*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
212*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
213*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \
214*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/python* \
215*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/ansi-color.elc \
216*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/comint.elc \
217*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/ring.elc \
218*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/json.elc \
219*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \
220*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \
221*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \
222*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \
223*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/net/tramp-sh.elc \
224*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/net/tramp.elc \
225*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/net/tramp-compat.elc \
226*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/auth-source.elc \
227*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/password-cache.elc \
228*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio.elc \
229*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio-core.elc \
230*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/format-spec.elc \
231*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/ls-lisp.elc \
232*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/calendar/parse-time.elc \
233*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/calendar/iso8601.elc \
234*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/calendar/time-date.elc \
235*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/shell.elc \
236*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/pcomplete.elc \
237*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/net/tramp-integration.elc \
238*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/files-x.elc \
239*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/net/trampver.elc \
240*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/net/tramp-loaddefs.el \
241*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/*perl* \
242*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/smie.elc \
243*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/*asm* \
244*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/cpp* \
245*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/make* \
246*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/sh-script* \
247*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/themes/adwaita-theme.el \
248*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/themes/wheatgrass-theme.el \
249*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/themes/deeper-blue-theme.el \
250*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/themes/light-blue-theme.el \
251*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/themes/misterioso-theme.el \
252*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/themes/tango-theme.el \
253*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/etc/themes/wombat-theme.el \
254*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/prog* \
255*4882a593Smuzhiyun    ${datadir}/${BPN}/${PV}/lisp/progmodes/executable* \
256*4882a593Smuzhiyun"
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun# Restore FILES for the full package to catch everything left
259*4882a593SmuzhiyunFILES:${PN}-full = "${FILES:${PN}}"
260*4882a593SmuzhiyunFILES:${PN}-full:append = " ${datadir}/icons"
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun# The following does NOT build a native emacs.
264*4882a593Smuzhiyun# It only builds some parts of it that are
265*4882a593Smuzhiyun# required to by the build for target emacs.
266*4882a593SmuzhiyunBBCLASSEXTEND = "native"
267