blob: 87ba78a615499a1f90cd08cf435bbfa1cb946aa4 (
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
|
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ruby-ffi
_gemname=ffi
pkgver=1.10.0
pkgrel=0
pkgdesc="Ruby FFI library"
url="https://github.com/ffi/ffi"
arch="all"
license="BSD"
makedepends="libffi-dev ruby ruby-dev"
install="$pkgname.post-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/ffi/$_gemname/archive/$pkgver.tar.gz
gemspec.patch"
builddir="$srcdir/$_gemname-$pkgver"
options="!check" # does not work with PaX (it'd need paxmark -m /usr/bin/ruby)
build() {
cd "$builddir"
gem build $_gemname.gemspec
gem install --local \
--install-dir dist \
--ignore-dependencies \
--no-document \
--verbose \
$_gemname-$pkgver.gem
}
check() {
cd "$builddir"
# Install missing development dependencies needed and used only for running
# tests. We can't install them easily with bundler, because there's
# no way how to force it to NOT update already satisifed dependencies.
# We can't install them directly with gem either, because there's no
# way how to force it to instally only dependencies, not the gem itself.
local dev_deps=$(gem install --explain --development --minimal-deps $_gemname-$pkgver.gem \
| head -n -1 | sed -En 's/-([^-]+)$/:\1/p')
gem install --instal-dir=.gem --conservative $dev_deps
GEM_PATH='dist:.gem' .gem/bin/rspec
}
package() {
local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
local carch
case "$CARCH" in
x86) carch="i386";;
arm*) carch="arm";;
ppc64le) carch="powerpc64";;
*) carch="$CARCH";;
esac
cd "$builddir"/dist
mkdir -p "$gemdir"
cp -r extensions gems specifications "$gemdir"/
# Remove unnecessary files and rubbish...
find "$gemdir"/extensions/ -name mkmf.log -delete
cd "$gemdir"/gems/$_gemname-$pkgver
rm -rf ext/ lib/*.so
find lib/ffi/platform/* -prune ! -name "$carch-linux" -exec rm -rf {} +
}
sha512sums="f4a7faa02eda8e67b4c05ecc93ed1848daa9d55ec2eaf367947dbb4cf6b0edd76db1e8232db0a17828df40c3cdabb9f7edac11b44f9de00bdb69d0c9a84d4409 ruby-ffi-1.10.0.tar.gz
17c0cd281d0b471ea5e065dcfe027ca15c698c1393b3def3b59729c059d68b5a8969ad3cc0c88545ffbdb202a8750b219aa6cce9308a43e42845989cd650551a gemspec.patch"
|