1 # Contributor: Markus M. May <mmay@javafreedom.org>
2 # Contributor: Niel Drummond <niel.drummond@grumpytoad.org>
6 pkgdesc="ruby-based MVC framework geared for web application development"
8 url="http://rubyonrails.org/"
10 depends=('ruby' 'rake' 'ruby-sqlite3' 'rubygems')
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')
48 # add a rails wrapper, similar to debian.
49 msg "Applying rails bootstrap patch."
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}'."
59 mkdir -p ${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
67 msg "Installing gem 'rack'."
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.
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
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