summaryrefslogtreecommitdiff
path: root/core/bash/PKGBUILD
blob: 6e2469e5aece6c68487ece9a1050867b7ac23ef6 (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
# $Id: PKGBUILD 129828 2011-06-29 04:14:18Z allan $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Maintainer: Allan McRae <allan@archlinux.org>

pkgname=bash
_basever=4.2
_patchlevel=010 #prepare for some patches
pkgver=$_basever.$_patchlevel
pkgrel=1
pkgdesc="The GNU Bourne Again shell"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://www.gnu.org/software/bash/bash.html"
groups=('base')
backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
depends=('readline>=6.1' 'glibc')
provides=('sh')
install=bash.install
source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz
        dot.bashrc
        dot.bash_profile
        dot.bash_logout
        system.bashrc
        system.bash_logout)
if [ $_patchlevel -gt 000 ]; then
    for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
        source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-$_basever-patches/bash${_basever//./}-$(printf "%03d" $p))
    done
fi

build() {
  cd ${srcdir}/${pkgname}-$_basever
  for p in ../bash${_basever//./}-*; do
    [[ -e "$p" ]] || continue
    msg "applying patch ${p}"
    patch -Np0 -i ${p}
  done

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

  ./configure --prefix=/usr --with-curses --enable-readline \
    --without-bash-malloc --with-installed-readline \
    --bindir=/bin --mandir=/usr/share/man --infodir=/usr/share/info
  make
}

check() {
  cd ${srcdir}/${pkgname}-$_basever
  make check
}

package() {
  cd ${srcdir}/${pkgname}-$_basever
  make DESTDIR=${pkgdir} install

  # for now, bash is our default /bin/sh
  cd ${pkgdir}/bin
  ln -s bash sh

  install -dm755 ${pkgdir}/etc/skel/
  
  # system-wide configuration files
  install -m644 ${srcdir}/system.bashrc ${pkgdir}/etc/bash.bashrc
  install -m644 ${srcdir}/system.bash_logout ${pkgdir}/etc/bash.bash_logout
  
  # user configuration file skeletons
  install -m644 ${srcdir}/dot.bashrc ${pkgdir}/etc/skel/.bashrc
  install -m644 ${srcdir}/dot.bash_profile ${pkgdir}/etc/skel/.bash_profile
  install -m644 ${srcdir}/dot.bash_logout ${pkgdir}/etc/skel/.bash_logout
}

md5sums=('3fb927c7c33022f1c327f14a81c0d4b0'
         '027d6bd8f5f6a06b75bb7698cb478089'
         '2902e0fee7a9168f3a4fd2ccd60ff047'
         '42f4400ed2314bd7519c020d0187edc5'
         'fe5d3a367f7d5f754214dc05e3d958ab'
         '472f536d7c9e8250dc4568ec4cfaf294'
         '1100bc1dda2cdc06ac44d7e5d17864a3'
         '30e7948079921d3261efcc6a40722135'
         '9ea06decec43a198f3d7cf29acc602f8'
         'fb48f6134d7b013135929476aa0c250c'
         'e70e45de33426b38153b390be0dbbcd4'
         'ce4e5c484993705b27daa151eca242c2'
         '88d1f96db29461767602e2546803bda7'
         '24c574bf6d6a581e300823d9c1276af6'
         '4c5835f2fbab36c4292bb334977e5b6d'
         '0a51602b535ef661ee707be6c8bdb373')