summaryrefslogtreecommitdiffstats
path: root/emacs-git/PKGBUILD
blob: 50b8f0c37c0ad42911f690d6f603490343415f81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Maintainer: Neil Santos <nsantos16+aur@gmail.com>

# Emacs is leaking like a sieve on my box with the default values;
# this should be the number of bytes Emacs should allocate for pure
# storage (see Elisp manual).  Default as of writing this is 1.62 megs
# (not the final value; there are still calculations done on it).
_opt_puresize="1820000"

pkgname=emacs-git
pkgver=20141227214603
pkgrel=1
pkgdesc='The extensible, customizable, self-documenting real-time display editor from its official Git repository'
arch=('i686' 'x86_64')
url='http://www.gnu.org/software/emacs/'
license=('GPL3')
depends=('dbus-core' 'desktop-file-utils' 'libpng' 'libtiff' 'librsvg'
         'giflib' 'libxaw' 'libxpm' 'libjpeg>=7' 'hicolor-icon-theme'
         'imagemagick' 'libotf' 'm17n-lib')
makedepends=('git' 'pkgconfig' 'texinfo')
provides=("emacs=$pkgver")
conflicts=('emacs' 'emacs-nox' 'emacs-otf' 'emacs-cvs' 'emacs-bzr')
install=$pkgname.install
source=("git+http://git.savannah.gnu.org/r/emacs.git"
        'docstrings2.patch')

_mandir=/usr/share/man

pkgver() {
    cd "$srcdir"/emacs
    git log -1 --pretty=format:"%ci" --date=short \
        | awk '{print $1$2}' | sed 's/[-:]//g'
}

build() {
  cd "$srcdir"/emacs
  msg "Adjusting BASE_PURESIZE to avoid possible leaks"
  sed -i -e "s/\(define BASE_PURESIZE\s*(*\)[0-9]*/\1${_opt_puresize}/" \
      src/puresize.h

  export LDFLAGS="`pkg-config --libs MagickWand`"

  ./autogen.sh || return 1
  ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure --prefix=/usr \
      --sysconfdir=/etc \
      --localstatedir=/var \
      --libexecdir=/usr/lib \
      --mandir=${_mandir} \
      --without-sound \
      --with-xft \
      --without-gif \
      --without-gconf \
      --without-gsettings \
      --with-x-toolkit=lucid || return 1
  # patch -p0 -i "$srcdir"/docstrings2.patch || return 1
  make bootstrap
}

package() {
  cd "$srcdir"/emacs
  make DESTDIR=${pkgdir} install

  msg "Cleaning up..."
  mv $pkgdir/usr/bin/{ctags,ctags.emacs}
  mv $pkgdir/usr/bin/{etags,etags.emacs}
  mv $pkgdir${_mandir}/man1/{etags.1,etags.emacs.1}.gz
  mv $pkgdir${_mandir}/man1/{ctags.1,ctags.emacs.1}.gz

  # This is mostly superfluous, and conflicts with texinfo
  rm $pkgdir/usr/share/info/info.info.gz
  rm $pkgdir/usr/share/info/dir

  find $pkgdir/usr/share/emacs -type d -exec chmod 755 {} \;
  find $pkgdir/usr/share/emacs -exec chown root.root {} \;
  chmod 775 $pkgdir/var/games
  chmod 775 $pkgdir/var/games/emacs
  chmod 664 $pkgdir/var/games/emacs/*
  chown -R root:50 $pkgdir/var/games
}
md5sums=('SKIP'
         '3a868e5b80d5912ded06e6bdc040208a')