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
# Maintainer:  Christoph Vigano <mail at cvigano dot de>
# Contributor: Marcin Karpezo <sirmacik at gmail dot com>
# Contributor: Michael Rosset <[email protected]>
# Based on [extra]'s git

pkgname=git-git
pkgver=20120119
pkgrel=2
pkgdesc="The fast distributed version control system - Git version"
arch=('i686' 'x86_64')
url="http://git-scm.com/"
license=('GPL2')
depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre')
makedepends=('git' 'asciidoc' 'xmlto' 'docbook-xsl' 'python2' 'emacs')
optdepends=('tk: gitk and git gui'
            'perl-libwww: git svn'
            'perl-term-readkey: git svn'
            'perl-mime-tools: git send-email'
            'perl-net-smtp-ssl: git send-email TLS support'
            'perl-authen-sasl: git send-email TLS support'
            'python2: various helper scripts'
            'emacs: emacs interface'
            'subversion: git svn'
            'cvsps: git cvsimport')
provides=('git')
conflicts=('git')
backup=('etc/conf.d/git-daemon.conf')
source=('git-daemon'
        'git-daemon.conf')

md5sums=('8e2648910fd5dd4f1c41d3c7fa9e9156'
         '2e42bf97779a1c6411d89043334c9e78')

_gitroot="git://git.kernel.org/pub/scm/git/git.git"
_gitname="git"

build() {
  msg "Connecting to GIT server...."

  if [[ -d $_gitname ]]; then
    cd $_gitname && git pull origin
    msg "The local files are updated."
  else
    git clone --depth 1 $_gitroot $_gitname #shallow clone
  fi

  msg "GIT checkout done or server timeout"
  msg "Starting build..."
    
  rm -rf "$srcdir/"$_gitname-build
  mkdir "$srcdir/"$_gitname-build
  cd "$srcdir/"$_gitname && ls -A1 --indicator-style=none | grep -v "^.git" | xargs -d '\n' cp -r -t ../$_gitname-build # do not copy over the .git folder
  cd "$srcdir/"$_gitname-build
	
  export PYTHON_PATH='/usr/bin/python2'
  make prefix=/usr gitexecdir=/usr/lib/git-core \
    CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
    USE_LIBPCRE=1 \
    NO_CROSS_DIRECTORY_HARDLINKS=1 all man

  cd contrib/emacs
  make prefix=/usr
}
    
package() {
  export PYTHON_PATH='/usr/bin/python2'

  cd "$srcdir/"$_gitname-build
  make prefix=/usr gitexecdir=/usr/lib/git-core \
    CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
    USE_LIBPCRE=1 \
    NO_CROSS_DIRECTORY_HARDLINKS=1 \
    INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-man

  # bash completion
  mkdir -p "$pkgdir"/etc/bash_completion.d/
  install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/etc/bash_completion.d/git 
  # more contrib stuff
  cp -a ./contrib "$pkgdir"/usr/share/git/ 
  # scripts are for python 2.x
  sed -i 's|#![ ]*/usr/bin/env python|#!/usr/bin/env python2|' \
    $(find "$pkgdir" -name '*.py') \
    "$pkgdir"/usr/share/git/{fast-import/git-p4,gitview/gitview}

  # emacs interface
  cd contrib/emacs
  make prefix=/usr DESTDIR="$pkgdir" install

  # remove perllocal.pod, .packlist, and empty directories.
  rm -rf "$pkgdir"/usr/lib/perl5

  # git daemon script
  install -D -m755 "$srcdir"/git-daemon "$pkgdir"/etc/rc.d/git-daemon
  install -D -m644 "$srcdir"/git-daemon.conf "$pkgdir"/etc/conf.d/git-daemon.conf
}