Versionbump
[archlinuxdevstack.git] / rails / PKGBUILD
blob19134d9569d7514ae2bdaa4ce4871a9cba61aaf8
1 # Contributor: Markus M. May <mmay@javafreedom.org>
2 # Contributor: Niel Drummond <niel.drummond@grumpytoad.org>
3 pkgname=rails
4 pkgver=2.3.4
5 pkgrel=3
6 pkgdesc="ruby-based MVC framework geared for web application development"
7 arch=(any)
8 url="http://rubyonrails.org/"
9 license=('MIT')
10 depends=('ruby' 'rake' 'ruby-sqlite3' 'rubygems')
11 makedepends=('patch')
12 provides=('rails')
13 source=(
14         "http://rubyforge.org/frs/download.php/63162/activesupport-${pkgver}.gem"
15         "http://rubyforge.org/frs/download.php/63164/actionpack-${pkgver}.gem"
16         "http://rubyforge.org/frs/download.php/63165/actionmailer-${pkgver}.gem"
17         "http://rubyforge.org/frs/download.php/63166/activeresource-${pkgver}.gem"
18         "http://rubyforge.org/frs/download.php/63163/activerecord-${pkgver}.gem"
19         "http://rubyforge.org/frs/download.php/55681/rack-1.0.0.gem"
20         "http://rubyforge.org/frs/download.php/63167/${pkgname}-${pkgver}.gem"
21         "rails_wrapper.diff.gz"
22     "0001-ruby-1.9-friendly-secure_compare.patch"
23         "gem_dependency_workaround.diff.gz"
26 md5sums=('ee059377acd0536645e6a06a96f1ffcc'
27          'da53635065d9083ec37be4a36763af9c'
28          'fe861cebd256f43c676a9c2ffb8bb8f5'
29          'c604f93fe8db04d5dca5ae150f39cb8d'
30          'edb29388f671d27c1670c52694f2dd99'
31          '014e29fa0aad84dd0fb4fc9707be7b8a'
32          '4e3cf205580b7839584570c8be674314'
33          '83cded3017ccccbcd651b475ed2c0f99'
34          'b70594735ab594603171ea134576f524'
35          '9513fcc08a2e67cde4415ed316db4ff2')
37 _dependencies=(
38         "activesupport"
39         "actionpack"
40         "actionmailer"
41         "activeresource"
42         "activerecord"
43         "${pkgname}"
46 build() {
48         # add a rails wrapper, similar to debian.
49         msg "Applying rails bootstrap patch."
50         rm -f ./bin/rails
51         cat "${startdir}/src/${pkgname}_wrapper.diff" | patch -Nsp1
52         install -D -m755 ./bin/rails "${startdir}/pkg/usr/bin/rails" || exit 1
54         # install gems using tar.
55         for gem in "${_dependencies[@]}"; do
56                 msg "Installing gem '${gem}'." 
58                 cd "${startdir}/src"
59                 mkdir -p ${gem}-${pkgver}
60                 cd ${gem}-${pkgver}
61                 tar -x < ../${gem}-${pkgver}.gem 2>/dev/null || exit 1
62                 mkdir -p ${startdir}/pkg/usr/share/rails/${gem}/
63                 tar -C ${startdir}/pkg/usr/share/rails/${gem}/ -zxf data.tar.gz 2>/dev/null || exit 1
65         done
67         msg "Installing gem 'rack'."
68         cd "${startdir}/src"
69         gem="rack"
70         gemversion="1.0.0"
71         mkdir -p ${gem}-${gemversion}
72         cd ${gem}-${gemversion}
73         tar -x < ../${gem}-${gemversion}.gem 2>/dev/null || exit 1
74         mkdir -p ${startdir}/src/${gem}/
75         tar -C ${startdir}/src/${gem}/ -zxf data.tar.gz 2>/dev/null || exit 1
76         install -m644 -D ${startdir}/src/${gem}/lib/${gem}.rb ${startdir}/pkg/usr/share/rails/actionpack/lib/${gem}.rb || exit 1
77         cd "${startdir}/src/${gem}"
78         find lib/${gem} -type f -exec install -m644 -D '{}' "${startdir}/pkg/usr/share/rails/actionpack/{}" \;
80         # disable actionpack gem dependency check.
81         cd "${startdir}"
82         msg "Applying gem dependency workaround."
83         cat "${startdir}/src/gem_dependency_workaround.diff" | patch -Nsp0
85     # apply patch for secure compare
87         # correct gem naming convention.
88         cd ${startdir}/pkg/usr/share/rails
89         mv rails railties
91     # apply patch https://rails.lighthouseapp.com/projects/8994/tickets/3144/
92     msg "Applying 1.9 friendly secure compare patch."
93     cd ${startdir}/pkg/usr/share/rails
94     patch -p0 < ${startdir}/src/0001-ruby-1.9-friendly-secure_compare.patch