diff options
author | Alad Wenter | 2019-01-10 16:54:54 +0100 |
---|---|---|
committer | Alad Wenter | 2019-01-10 16:55:33 +0100 |
commit | a82b6cc40fa7f189aef7af82a120e5bc68c6002a (patch) | |
tree | fb956f98e76858eb72f255608ba535c1678d5ada /PKGBUILD | |
parent | 416fcc88f4368f71b4b057b6eac5acc2f0c0594f (diff) | |
download | aur-a82b6cc40fa7f189aef7af82a120e5bc68c6002a.tar.gz |
rewrite PKGBUILD from scratch
based on community/emacs
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 172 |
1 files changed, 42 insertions, 130 deletions
@@ -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 {} \; } |