summaryrefslogtreecommitdiff
path: root/pcr/emacs-git/PKGBUILD
blob: 942bc1f5457242e6b0e7da0b6097c9d5b0821f0b (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Maintainer : Omar Vega Ramos <ovruni@gnu.org.pe>

#
# TIP: 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 will grow more and more.
#

pkgname=emacs-git
pkgver=25.0.50.r120799
pkgrel=1
pkgdesc="GNU Emacs. Official git trunk."
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/emacs/"
license=('GPL')
depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 
	 'gtk3' 'hicolor-icon-theme' 'desktop-file-utils' 
	 'alsa-lib' 'imagemagick' 'gnutls')
makedepends=('git')
conflicts=('emacs')
provides=('emacs')
install="$pkgname".install
source=("$pkgname::git://git.savannah.gnu.org/emacs.git")
md5sums=('SKIP')

pkgver() {
  cd "$srcdir/$pkgname"
  printf "%s.r%s" \
    "$(grep AC_INIT configure.ac | sed -e 's/^.\+\ \([0-9]\+\.[0-9]\+\.[0-9]\+\).\+$/\1/')" \
    "$(git rev-list --count HEAD)"
}


# There is no need to run autogen.sh after first checkout.
# Doing so, breaks incremental recompilation.
prepare() {
  cd "$srcdir/$pkgname"
  if ! [ -f configure ]; then 
    ./autogen.sh
  fi 
}

build() {
  cd "$srcdir/$pkgname"
  ac_cv_lib_gif_EGifPutExtensionLast=yes \
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --libexecdir=/usr/lib \
    --localstatedir=/var \
    --mandir=/usr/share/man \
    --pdfdir=/usr/share/doc/emacs/pdf \
    --with-sound=alsa \
    --without-gconf \
    --with-x-toolkit=gtk3 \
    --with-xft

  # Using "make" instead of "make bootstrap" makes incremental
  # compiling work. Less time recompiling. Yay! But if you may 
  # need to use bootstrap sometime, just add it below.
  make

  # You may need to run this if loaddefs.el files become
  # corrupt.
  #cd "$srcdir/$pkgname/lisp"
  #make autoloads

  # Before enabling "make docs" you need to install texlive, either from
  # the repos or locally while using texlive-dummy from AUR.
  #make docs
}

package() {
  cd "$srcdir/$pkgname"

  make DESTDIR="$pkgdir/" install

  # Before enabling "make install-doc" you need to install texlive, either
  # from the repos or locally while using texlive-dummy from AUR.
  # make DESTDIR="$pkgdir/" install-doc

  # 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
  chmod 775 "$pkgdir"/var/games
  chmod 775 "$pkgdir"/var/games/emacs
  chmod 664 "$pkgdir"/var/games/emacs/*
  chown -R root:games "$pkgdir"/var/games
}

# vim:set ft=sh ts=2 sw=2 et: