summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorAlad Wenter2019-01-10 16:54:54 +0100
committerAlad Wenter2019-01-10 16:55:33 +0100
commita82b6cc40fa7f189aef7af82a120e5bc68c6002a (patch)
treefb956f98e76858eb72f255608ba535c1678d5ada /PKGBUILD
parent416fcc88f4368f71b4b057b6eac5acc2f0c0594f (diff)
downloadaur-a82b6cc40fa7f189aef7af82a120e5bc68c6002a.tar.gz
rewrite PKGBUILD from scratch
based on community/emacs
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD172
1 files changed, 42 insertions, 130 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 5f3940c263a0..cfee40e94806 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,140 +1,52 @@
-# Maintainer: Pedro A. López-Valencia <https://aur.archlinux.org/users/vorbote>
+# Maintainer: Alad Wenter <alad@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
+pkgname=emacs-gtk2
+_pkgname=emacs
+pkgver=26.1
+pkgrel=2
+pkgdesc="The extensible, customizable, self-documenting real-time display editor"
+arch=('x86_64')
+url="http://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk2'
+ 'hicolor-icon-theme' 'desktop-file-utils' 'alsa-lib' 'libmagick6' 'gnutls')
+validpgpkeys=('B29426DEFB07724C3C35E5D36592E9A3A0B0F199' '28D3BED851FDF3AB57FEF93C233587A47C207910')
+source=(ftp://ftp.gnu.org/gnu/emacs/$_pkgname-$pkgver.tar.xz{,.sig}
+ 0001-Ignore-color-fonts-when-using-Xft.patch
+ 0001-Port-FC_COLOR-change-to-older-fontconfig.patch
+ 0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch)
+sha256sums=('1cf4fc240cd77c25309d15e18593789c8dbfba5c2b44d8f77c886542300fd32c'
+ 'SKIP'
+ '5bc53171bbb82e6dea26950f14da6a06f4371162b3bccb624397365e6e02f480'
+ '6d16de2078108d742a8935044926f439869e231cc18ec23777bbed4857625f96'
+ 'ca48398d6a83e9a22a4117beca151f476e6286a9abbfddd0f7c0f187ebfc50d7')
-#######################################################################
-# CAVEAT LECTOR
-#######################################################################
-#
-# Don't run this on a tmpfs unless you have oodles of RAM.
-# When the official git repo started, the size was about
-# 200MB. As time passes, it is growing more and more.
-# Final directory size after a build is shy of 1Gb!
-# Furthermore, the FSF isn't precisely rich and Savannah
-# network costs aren't cheap. Keep your git checkout!
-#
-# Keeping this directory in a safe place preserves the
-# git repo and the src dir for faster compilation if
-# you want. You may delete the pkg dir after successfully
-# creating a package.
-#
-# "makepkg -i" is your friend.
-#
-#######################################################################
-
-#######################################################################
-#
-# Still reading? Here kid, have enough rope to hang yourself. :-)
-#
-#######################################################################
-
-#######################################################################
-# Assign "YES" to the variable you want enabled, empty otherwise
-#######################################################################
-GTK3="" # Leave empty to compile with gtk+ 2 support.
-LTO= # Enable link-time optimization. Broken.
-CAIRO= # Very broken for me. Use at own risk.
-XWIDGETS= # Use GTK+ native widgets pulled from webkitgtk.
-DOCS_HTML= # Generate and install html documentation.
-DOCS_PDF= # Generate and install pdf documentation.
-#######################################################################
-
-_pkgname=('emacs')
-pkgname=("$_pkgname-gtk2" "$_pkgname-docs")
-pkgver=25.1
-pkgrel=1
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/emacs/"
-_savannah="git://git.savannah.gnu.org/emacs.git"
-_github="git+https://github.com/emacs-mirror/emacs.git"
-license=('GPL')
-makedepends=('git')
-source=("ftp://ftp.gnu.org/gnu/${_pkgname}/${_pkgname}-$pkgver.tar.xz")
-md5sums=('SKIP')
-
-# There is no need to run autogen.sh after first checkout.
-# Doing so, breaks incremental compilation.
prepare() {
- cd "$srcdir/${_pkgname}-${pkgver}"
-
- [[ -x configure ]] || ./autogen.sh
+ cd "$_pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/0001-Ignore-color-fonts-when-using-Xft.patch"
+ patch -Np1 -i "$srcdir/0001-Port-FC_COLOR-change-to-older-fontconfig.patch"
+ patch -Np1 -i "$srcdir/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch"
}
build() {
- cd "$srcdir/${_pkgname}-${pkgver}"
-
- # Avoid hardening-wrapper (taken from emacs-pretest, thanks to Thomas Jost).
- export PATH=$(echo "$PATH" | sed 's!/usr/lib/hardening-wrapper/bin!!g')
-
- local _conf=(
- --prefix=/usr
- --sysconfdir=/etc
- --libexecdir=/usr/lib
- --localstatedir=/var
- --mandir=/usr/share/man
- --with-gameuser=:games
- --with-sound=alsa
- --with-xft
- --with-modules)
-
-#######################################################################
-#######################################################################
- if [[ $GTK3 = "YES" ]]; then
- _conf+=('--with-x-toolkit=gtk3' '--without-gconf' '--with-gsettings');
- else
- _conf+=('--with-x-toolkit=gtk2' '--with-gconf' '--without-gsettings');
- fi
- if [[ $LTO = "YES" ]]; then _conf+=('--enable-link-time-optimization'); fi
- if [[ $CAIRO = "YES" ]]; then _conf+=('--with-cairo'); fi
- if [[ $XWIDGETS = "YES" ]]; then _conf+=('--with-xwidgets'); fi
-#######################################################################
-#######################################################################
-
- ./configure "${_conf[@]}"
-
- # Using "make" instead of "make bootstrap" enables incremental
- # compiling. Less time recompiling. Yay! But if you may
- # need to use bootstrap sometime, just add it to the command
- # line.
- # Please note that incremental compilation implies that you
- # are reusing your src directory!
- make
- #make html
- #make pdf
-}
-
-package_emacs-gtk2() {
- pkgdesc="GNU Emacs, the extensible self-documenting text editor, with a GUI built with the GTK2 toolkit."
- depends=('gpm' 'giflib' 'm17n-lib' 'desktop-file-utils' 'alsa-lib' 'imagemagick' 'gtk2' 'gconf')
- conflicts=('emacs' 'emacs-git')
- provides=('emacs')
-
- cd "$srcdir/${_pkgname}-$pkgver"
-
- make DESTDIR="$pkgdir/" install
-
- # remove conflict with ctags package
- mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
- mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1.gz}
-
- # remove conflict with texinfo
- rm "$pkgdir"/usr/share/info/info.info.gz
-
- # fix user/root permissions on usr/share files
- find "$pkgdir"/usr/share/emacs/ | xargs chown root:root
-
- # fix permssions on /var/games
- mkdir -p "$pkgdir"/var/games/emacs
- chmod 775 "$pkgdir"/var/games
- chmod 775 "$pkgdir"/var/games/emacs
- chown -R root:games "$pkgdir"/var/games
+ cd "$_pkgname-$pkgver"
+ PKG_CONFIG_PATH="/usr/lib/imagemagick6/pkgconfig" \
+ ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure \
+ --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ --localstatedir=/var --with-x-toolkit=gtk2 --with-xft \
+ --with-modules --without-gconf
+ make
}
-package_emacs-docs() {
- pkgdesc="GNU Emacs, built from git sources — HTML and PDF documentation package."
- makedepends+=('texlive-core')
- conflicts=('emacs-git-docs')
+package() {
+ cd "$_pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
- cd "$srcdir/${_pkgname}-$pkgver"
+ # remove conflict with ctags package
+ mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
+ mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
- make DESTDIR="$pkgdir/" install-html
- make DESTDIR="$pkgdir/" install-pdf
+ # fix user/root permissions on usr/share files
+ find "$pkgdir"/usr/share/emacs/$pkgver -exec chown root:root {} \;
}