summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 3110688f3b2a8ebe378313cb29481f67751f136e (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
# Maintainer: Chocobo1 <chocobo1 AT archlinux DOT net>
# Previous maintainer: Alad Wenter <alad@mailbox.org>
# Contributor: Carlos Pita <carlosjosepita@gmail.com>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>

pkgname=bash-devel-git
pkgver=5.2.r1171.ge44e3d50
pkgrel=1
pkgdesc="The GNU Bourne Again shell (development version)"
arch=('i686' 'x86_64')
url="https://www.gnu.org/software/bash/bash.html"
license=('GPL')
depends=('glibc' 'ncurses' 'readline>=7.0')
makedepends=('git')
optdepends=('bash-completion: for tab completion')
provides=("bash=$pkgver" 'sh')
conflicts=('bash')
backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
source=("git+https://git.savannah.gnu.org/git/bash.git#branch=devel"
        "dot.bash_logout::https://gitlab.archlinux.org/archlinux/packaging/packages/bash/-/raw/main/dot.bash_logout"
        "dot.bash_profile::https://gitlab.archlinux.org/archlinux/packaging/packages/bash/-/raw/main/dot.bash_profile"
        "dot.bashrc::https://gitlab.archlinux.org/archlinux/packaging/packages/bash/-/raw/main/dot.bashrc"
        "system.bash_logout::https://gitlab.archlinux.org/archlinux/packaging/packages/bash/-/raw/main/system.bash_logout"
        "system.bashrc::https://gitlab.archlinux.org/archlinux/packaging/packages/bash/-/raw/main/system.bashrc")
sha256sums=('SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP')


pkgver() {
  cd "bash"

  _tag=$(git tag -l --sort -v:refname | grep -E '^bash-[0-9\.]+$' | head -n1)
  _rev=$(git rev-list --count $_tag..HEAD)
  _hash=$(git rev-parse --short HEAD)
  printf "%s.r%s.g%s" "$_tag" "$_rev" "$_hash" | sed 's/^bash-//'
}

build() {
  cd "bash"

  _bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/bin\"\'
               -DSTANDARD_UTILS_PATH=\'\"/usr/bin\"\'
               -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\'
               -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\'
               -DNON_INTERACTIVE_LOGIN_SHELLS)
  export CFLAGS="$CFLAGS ${_bashconfig[@]}"

  # Note: This package does not use the system readline, as it depends on
  # a development version which is usually not ABI-compatible.
  ./configure \
    --prefix="/usr" \
    --enable-readline \
    --with-curses
  make
}

check() {
  cd "bash"

  #make check
}

package() {
  cd "bash"

  make DESTDIR="$pkgdir" install

  ln -s "bash" "$pkgdir/usr/bin/sh"

  # system-wide configuration files
  install -Dm644 "$srcdir/system.bashrc" "$pkgdir/etc/bash.bashrc"
  install -Dm644 "$srcdir/system.bash_logout" "$pkgdir/etc/bash.bash_logout"

  # user configuration file skeletons
  install -Dm644 "$srcdir/dot.bashrc" "$pkgdir/etc/skel/.bashrc"
  install -Dm644 "$srcdir/dot.bash_profile" "$pkgdir/etc/skel/.bash_profile"
  install -Dm644 "$srcdir/dot.bash_logout" "$pkgdir/etc/skel/.bash_logout"
}