archrelease: copy trunk to extra-x86_64
[arch-packages.git] / emacs / repos / extra-x86_64 / PKGBUILD
blob364bd226bb320d8157910b75ab30b3acef6eb44f
1 # Maintainer: Juergen Hoetzel <juergen@archlinux.org>
2 # Maintainer: Frederik Schwan <freswa at archlinux dot org>
3 # Contributor: Jaroslav Lichtblau <svetlemodry@archlinux.org>
4 # Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
6 pkgbase=emacs
7 pkgname=(emacs emacs-nativecomp emacs-nox)
8 pkgver=28.2
9 pkgrel=2
10 arch=('x86_64')
11 url='https://www.gnu.org/software/emacs/emacs.html'
12 license=('GPL3')
13 depends=(
14   gmp
15   gnutls
16   jansson
17   lcms2
18   libacl.so
19   libasound.so
20   libdbus-1.so
21   libfontconfig.so
22   libfreetype.so
23   libgdk-3.so
24   libgdk_pixbuf-2.0.so
25   libgif.so
26   libgio-2.0.so
27   libglib-2.0.so
28   libgobject-2.0.so
29   libgpm.so
30   libgtk-3.so
31   libharfbuzz.so
32   libice
33   libjpeg.so
34   libncursesw.so
35   libotf
36   libpango-1.0.so
37   libpng
38   librsvg-2.so
39   libsm
40   libsystemd.so
41   libtiff.so
42   libxfixes
43   libxml2.so
44   m17n-lib
45   zlib
47 makedepends=(libgccjit)
48 options=(debug)
49 source=(https://ftp.gnu.org/gnu/emacs/${pkgname}-${pkgver}.tar.xz{,.sig})
50 b2sums=('a7e4990658b5e7306510f8dded93aaf0b82cdd9306df8b786526d038c3249ef9579287075f2235eb01a71ae1699db555254f137b86ab2d2305b45895053df552'
51         'SKIP')
52 validpgpkeys=('17E90D521672C04631B1183EE78DAE0F3115E06B'  # Eli Zaretskii <eliz@gnu.org>
53               'CEA1DE21AB108493CC9C65742E82323B8F4353EE') # Stefan Kangas <stefankangas@gmail.com>
55 prepare() {
56   cp -ar ${pkgname}-${pkgver} ${pkgbase}-${pkgver}-nativecomp
57   cp -ar ${pkgname}-${pkgver} ${pkgbase}-${pkgver}-nox
60 build() {
61   local _confflags="--sysconfdir=/etc \
62     --prefix=/usr \
63     --libexecdir=/usr/lib \
64     --localstatedir=/var \
65     --with-cairo \
66     --with-harfbuzz \
67     --with-libsystemd \
68     --with-modules"
70   export ac_cv_lib_gif_EGifPutExtensionLast=yes
72   cd ${pkgname}-${pkgver}
73   ./configure $_confflags \
74     --with-x-toolkit=gtk3
75   make
77   cd ../${pkgbase}-${pkgver}-nativecomp
78   ./configure \
79     --with-x-toolkit=gtk3 \
80     --with-native-compilation \
81     $_confflags
82   make NATIVE_FULL_AOT=1 bootstrap
84   cd ../${pkgbase}-${pkgver}-nox
85   ./configure \
86     --without-x \
87     --without-sound \
88     $_confflags
89   make
92 package_emacs() {
93   pkgdesc='The extensible, customizable, self-documenting real-time display editor'
95   cd ${pkgname}-${pkgver}
96   make DESTDIR="${pkgdir}" install
98   # remove conflict with ctags package
99   mv "${pkgdir}"/usr/bin/{ctags,ctags.emacs}
100   mv "${pkgdir}"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
102   # fix user/root permissions on usr/share files
103   find "${pkgdir}"/usr/share/emacs/${pkgver} -exec chown root:root {} \;
106 package_emacs-nativecomp() {
107   pkgdesc='The extensible, customizable, self-documenting real-time display editor with native compilation enabled'
108   depends+=(libgccjit)
109   provides=(emacs)
110   conflicts=(emacs)
112   cd ${pkgbase}-${pkgver}-nativecomp
113   make DESTDIR="${pkgdir}" install
115   # remove conflict with ctags package
116   mv "${pkgdir}"/usr/bin/{ctags,ctags.emacs}
117   mv "${pkgdir}"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
119   # fix user/root permissions on usr/share files
120   find "${pkgdir}"/usr/share/emacs/${pkgver} -exec chown root:root {} \;
123 package_emacs-nox() {
124   pkgdesc='The extensible, customizable, self-documenting real-time display editor without X11 support'
125   depends=(
126     gmp
127     gnutls
128     hicolor-icon-theme
129     jansson
130     lcms2
131     libacl.so
132     libdbus-1.so
133     libgpm.so
134     libncursesw.so
135     libsystemd.so
136     libxml2.so
137     zlib
138   )
139   provides=(emacs)
140   conflicts=(emacs)
142   cd ${pkgbase}-${pkgver}-nox
143   make DESTDIR="${pkgdir}" install
145   # remove conflict with ctags package
146   mv "${pkgdir}"/usr/bin/{ctags,ctags.emacs}
147   mv "${pkgdir}"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
149   # fix user/root permissions on usr/share files
150   find "${pkgdir}"/usr/share/emacs/${pkgver} -exec chown root:root {} \;