diff options
author | pancho horrillo | 2021-10-01 12:37:50 +0200 |
---|---|---|
committer | pancho horrillo | 2021-10-01 12:37:50 +0200 |
commit | 7b22e8a32a45769fe7b5fd34fdb8bbd23794c3a0 (patch) | |
tree | c76e7144b8efb62c10aa52766cb162571bee2ba3 | |
parent | dca21d899ec2b1390526a300c7a617a22165dbda (diff) | |
download | aur-7b22e8a32a45769fe7b5fd34fdb8bbd23794c3a0.tar.gz |
Track emacs-28 release branch
See https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg02290.html
Also, enable JIT and AOT compilation.
And configure make to build using all the available cores.
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | PKGBUILD | 48 | ||||
-rw-r--r-- | emacs28-git.install (renamed from emacs-git.install) | 0 |
3 files changed, 39 insertions, 23 deletions
@@ -1,9 +1,9 @@ -pkgbase = emacs-git +pkgbase = emacs28-git pkgdesc = GNU Emacs. Development master branch. - pkgver = 28.0.50.148607 + pkgver = 28.0.60.150525 pkgrel = 1 url = http://www.gnu.org/software/emacs/ - install = emacs-git.install + install = emacs28-git.install arch = x86_64 license = GPL3 makedepends = git @@ -16,6 +16,7 @@ pkgbase = emacs-git depends = m17n-lib depends = libotf depends = harfbuzz + depends = libgccjit depends = gtk3 depends = libjpeg-turbo depends = giflib @@ -23,20 +24,23 @@ pkgbase = emacs-git provides = emacs provides = emacs26-git provides = emacs-27-git + provides = emacs28-git provides = emacs-seq provides = emacs-nox conflicts = emacs conflicts = emacs26-git conflicts = emacs-27-git + conflicts = emacs-git conflicts = emacs-seq conflicts = emacs-nox replaces = emacs replaces = emacs26-git replaces = emacs-27-git + replaces = emacs-git replaces = emacs-seq replaces = emacs-nox options = !strip - source = emacs-git::git://github.com/emacs-mirror/emacs.git + source = emacs-git::git://github.com/emacs-mirror/emacs.git#branch=emacs-28 b2sums = SKIP -pkgname = emacs-git +pkgname = emacs28-git @@ -1,4 +1,16 @@ -# Maintainer: Pedro A. López-Valencia <https://aur.archlinux.org/users/vorbote> +# Maintainer: pancho horrillo <pancho at pancho dot name> +# Maintainer of emacs27-git: Jack Random <https://aur.archlinux.org/account/jackrandom/> +# Maintainer of emacs-git: Pedro A. López-Valencia <https://aur.archlinux.org/users/vorbote> + +################################################################################ +# The difference between this PKGBUILD and the one from `emacs-git` is that: +# - this one builds emacs from `emacs-28` release branch. +# - Just-in-time ahead-of-time compilation is enabled by default. +# - make uses as many cores as are available, for shorter build times. +# +# `Starting the Emacs 28 release cycle` announcement on emacs-devel: +# https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg02290.html +################################################################################ ################################################################################ # CAVEAT LECTOR: This PKGBUILD is highly opinionated. I give you @@ -25,11 +37,11 @@ CLANG= # Use clang. GOLD= # Use the gold linker. LTO="YES" # Enable link-time optimization. Read emacs's INSTALL before # attempting to use it with clang. -JIT= # Enable native just-in-time compilation. libgccjit is in AUR. +JIT="YES" # Enable native just-in-time compilation. libgccjit is in AUR. # This compiles only performance critical elisp files. # To compile all elisp on demand, set # comp-deferred-compilation non-nil -AOT= # Precompile all included elisp. It takes a long time. +AOT="YES" # Precompile all included elisp. It takes a long time. # You still need to enable on-demand compilation # for your own packages. CLI= # CLI only binary. @@ -55,11 +67,11 @@ NOGZ="YES" # Don't compress .el files. ################################################################################ if [[ $CLI == "YES" ]] ; then - pkgname="emacs-nox-git" + pkgname="emacs28-nox-git" else -pkgname="emacs-git" +pkgname="emacs28-git" fi -pkgver=28.0.50.148607 +pkgver=28.0.60.150525 pkgrel=1 pkgdesc="GNU Emacs. Development master branch." arch=('x86_64') @@ -68,12 +80,12 @@ license=('GPL3') depends_nox=('alsa-lib' 'gnutls' 'libxml2' 'jansson' 'gpm') depends=("${depends_nox[@]}" 'm17n-lib' 'libotf' 'harfbuzz') makedepends=('git') -provides=('emacs' 'emacs26-git' 'emacs-27-git' 'emacs-seq' 'emacs-nox') -conflicts=('emacs' 'emacs26-git' 'emacs-27-git' 'emacs-seq' 'emacs-nox') -replaces=('emacs' 'emacs26-git' 'emacs-27-git' 'emacs-seq' 'emacs-nox') -#source=("emacs-git::git://git.savannah.gnu.org/emacs.git") +provides=('emacs' 'emacs26-git' 'emacs-27-git' 'emacs28-git' 'emacs-seq' 'emacs-nox') +conflicts=('emacs' 'emacs26-git' 'emacs-27-git' 'emacs-git' 'emacs-seq' 'emacs-nox') +replaces=('emacs' 'emacs26-git' 'emacs-27-git' 'emacs-git' 'emacs-seq' 'emacs-nox') +#source=("emacs28-git::git://git.savannah.gnu.org/emacs.git#branch=emacs-28") # If Savannah fails for reasons, use Github's mirror -source=("emacs-git::git://github.com/emacs-mirror/emacs.git") +source=("emacs28-git::git://github.com/emacs-mirror/emacs.git#branch=emacs-28") options=(!strip) install="$pkgname".install b2sums=('SKIP') @@ -170,7 +182,7 @@ fi ################################################################################ pkgver() { - cd "$srcdir/emacs-git" + cd "$srcdir/emacs28-git" printf "%s.%s" \ "$(grep AC_INIT configure.ac | \ @@ -181,19 +193,19 @@ pkgver() { # There is no need to run autogen.sh after first checkout. # Doing so, breaks incremental compilation. prepare() { - cd "$srcdir/emacs-git" + cd "$srcdir/emacs28-git" [[ -x configure ]] || ( ./autogen.sh git && ./autogen.sh autoconf ) } if [[ $CHECK == "YES" ]]; then check() { - cd "$srcdir/emacs-git" + cd "$srcdir/emacs28-git" make check } fi build() { - cd "$srcdir/emacs-git" + cd "$srcdir/emacs28-git" local _conf=( --prefix=/usr @@ -276,13 +288,13 @@ _conf+=('--program-transform-name=s/\([ec]tags\)/\1.emacs/') # are reusing your src directory! # if [[ $JIT == "YES" ]] && [[ $AOT == "YES" ]]; then - make NATIVE_FULL_AOT=1 + make -j $(nproc) NATIVE_FULL_AOT=1 else make fi # You may need to run this if 'loaddefs.el' files become corrupt. - #cd "$srcdir/emacs-git/lisp" + #cd "$srcdir/emacs28-git/lisp" #make autoloads #cd ../ @@ -297,7 +309,7 @@ _conf+=('--program-transform-name=s/\([ec]tags\)/\1.emacs/') } package() { - cd "$srcdir/emacs-git" + cd "$srcdir/emacs28-git" make DESTDIR="$pkgdir/" install diff --git a/emacs-git.install b/emacs28-git.install index 61ca576ee87f..61ca576ee87f 100644 --- a/emacs-git.install +++ b/emacs28-git.install |