db-move: moved polari from [testing] to [extra] (x86_64)
[arch-packages.git] / emacs / trunk / PKGBUILD
blob2ea344ffe4e2e6220204e1f6d73471b269a94b05
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 source=(https://ftp.gnu.org/gnu/emacs/${pkgname}-${pkgver}.tar.xz{,.sig})
49 b2sums=('a7e4990658b5e7306510f8dded93aaf0b82cdd9306df8b786526d038c3249ef9579287075f2235eb01a71ae1699db555254f137b86ab2d2305b45895053df552'
50         'SKIP')
51 validpgpkeys=('17E90D521672C04631B1183EE78DAE0F3115E06B'  # Eli Zaretskii <eliz@gnu.org>
52               'CEA1DE21AB108493CC9C65742E82323B8F4353EE') # Stefan Kangas <stefankangas@gmail.com>
54 prepare() {
55   cp -ar ${pkgname}-${pkgver} ${pkgbase}-${pkgver}-nativecomp
56   cp -ar ${pkgname}-${pkgver} ${pkgbase}-${pkgver}-nox
59 build() {
60   local _confflags="--sysconfdir=/etc \
61     --prefix=/usr \
62     --libexecdir=/usr/lib \
63     --localstatedir=/var \
64     --with-cairo \
65     --with-harfbuzz \
66     --with-libsystemd \
67     --with-modules"
69   export ac_cv_lib_gif_EGifPutExtensionLast=yes
71   cd ${pkgname}-${pkgver}
72   ./configure $_confflags \
73     --with-x-toolkit=gtk3
74   make
76   cd ../${pkgbase}-${pkgver}-nativecomp
77   ./configure \
78     --with-x-toolkit=gtk3 \
79     --with-native-compilation \
80     $_confflags
81   make NATIVE_FULL_AOT=1 bootstrap
83   cd ../${pkgbase}-${pkgver}-nox
84   ./configure \
85     --without-x \
86     --without-sound \
87     $_confflags
88   make
91 package_emacs() {
92   pkgdesc='The extensible, customizable, self-documenting real-time display editor'
94   cd ${pkgname}-${pkgver}
95   make DESTDIR="${pkgdir}" install
97   # remove conflict with ctags package
98   mv "${pkgdir}"/usr/bin/{ctags,ctags.emacs}
99   mv "${pkgdir}"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
101   # fix user/root permissions on usr/share files
102   find "${pkgdir}"/usr/share/emacs/${pkgver} -exec chown root:root {} \;
105 package_emacs-nativecomp() {
106   pkgdesc='The extensible, customizable, self-documenting real-time display editor with native compilation enabled'
107   depends+=(libgccjit)
108   provides=(emacs)
109   conflicts=(emacs)
111   cd ${pkgbase}-${pkgver}-nativecomp
112   make DESTDIR="${pkgdir}" install
114   # remove conflict with ctags package
115   mv "${pkgdir}"/usr/bin/{ctags,ctags.emacs}
116   mv "${pkgdir}"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
118   # fix user/root permissions on usr/share files
119   find "${pkgdir}"/usr/share/emacs/${pkgver} -exec chown root:root {} \;
122 package_emacs-nox() {
123   pkgdesc='The extensible, customizable, self-documenting real-time display editor without X11 support'
124   depends=(
125     gmp
126     gnutls
127     hicolor-icon-theme
128     jansson
129     lcms2
130     libacl.so
131     libdbus-1.so
132     libgpm.so
133     libncursesw.so
134     libsystemd.so
135     libxml2.so
136     zlib
137   )
138   provides=(emacs)
139   conflicts=(emacs)
141   cd ${pkgbase}-${pkgver}-nox
142   make DESTDIR="${pkgdir}" install
144   # remove conflict with ctags package
145   mv "${pkgdir}"/usr/bin/{ctags,ctags.emacs}
146   mv "${pkgdir}"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
148   # fix user/root permissions on usr/share files
149   find "${pkgdir}"/usr/share/emacs/${pkgver} -exec chown root:root {} \;