blob: 772bea4fa44a3a756b51ccaa147c2b9ddefbf2bf (
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# Maintainer (Arch): Thomas Dziedzic <gostrc@gmail.com>
# Contributor (Arch): Allan McRae <allan@archlinux.org>
# Contributor (Arch): John Proctor <jproctor@prium.net>
# Contributor (Arch): Jeramy Rutley <jrutley@gmail.com>
# Maintainer: fauno <fauno@parabola.nu>
# Contributor: Daniel Milewski <niitotantei@riseup.net>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Contributor: Luke Shumaker <lukeshu@parabola.nu>
# Contributor: Omar Vega Ramos <ovruni@gnu.org.pe>
# Rationale for inclusion in [libre]: Problematic license of
# generator.c in bundled json extension.
#
# https://labs.parabola.nu/issues/674
# https://bugs.ruby-lang.org/issues/11844
# https://github.com/flori/json/issues/277
pkgname=(ruby ruby-docs)
pkgver=2.5.0
_jsonver=2.1.0
pkgrel=1.parabola1
_srcrel=1 # increment this to rebuild the sourceball without bumping pkgver
arch=(i686 x86_64 armv7h)
url='http://www.ruby-lang.org/en/'
license=(BSD2 custom)
makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk)
options=(!emptydirs)
source=(https://repo.parabola.nu/other/ruby-libre/ruby-${pkgver}-libre${_srcrel}.tar.gz
gemrc)
sha512sums=('e94355d3d9b6882f4dc355ca6721a0ce1b777f7f1144144adfa2e5732acbfb69f16b062ce9fad5be0e2e06ac49db0171d9e9fcc43c78836b5bbf3a5b97ef145e'
'8cafd14d414ee3c16aa94f79072bc6c100262f925dc1300e785846c3fabbbbffc1356b8e2223af5684e3340c55032d41231179ffa948bb12e01dbae0f4131911')
mkdepends=('ruby') # for 'gem build'
mksource=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz
ruby-${pkgver}-remove-json-ext.patch
ruby-${pkgver}-add-json_pure.patch
json-${_jsonver}.tar.gz::https://github.com/flori/json/archive/v${_jsonver}.tar.gz
json-${_jsonver}-libre.patch)
mksha512sums=('55714a33d7661fe8b432f73c34fd67b49699f8b79df1cbd680a74899124d31111ab0f444677672aac1ba725820182940d485efb2db0bf2bc96737c5d40c54578'
'dbfd2517e87571e25fea832f50535e76c07972e15f48050ad7b08b04993c566ae7b5e8b1dd0e3cd65eb6161290026eaa71ff4528e98a92e37983066b4929cfb1'
'303172561a4ba54515fddfd9ea7e0c833e550b0ae5e9f331956f178f8c5e20aa0e3c4036251ddfd04312769ef7d71d83fde0afe64f6fa8e9052ca5a294c62927'
'6019cc26a0919e4d39ae0bf737b51cd9a474c74a55d25f6931ac04d61826bb810d063190a80a29810e57d7457d1a247acd82fd78de2c4c01acb7d73ee9fde603'
'ccbcbc964e08c10470f1552cec5bcf71fc14f4f6faf83e51fcaf01b662596f5400e7f60279209c9d4df03e3c798b9008383667375f884a1115ac96956053a38d')
mksource() {
# Start with the vanilla version of json
cd "$srcdir/json-${_jsonver}"
# Modify it so that 'json' doesn't try to load (non-free!) 'json/ext'
rm -rf -- json.gemspec ext lib/json/ext*
patch -p1 -i ../json-${_jsonver}-libre.patch
# Now modify the ruby sources to include the json_pure lib instead
# of the json ext
cd "$srcdir/ruby-${pkgver}"
# remove the json ext
rm -rv ext/json test/json
patch -p1 -i ../ruby-${pkgver}-remove-json-ext.patch
# and insert the json_pure lib
cp -r ../json-${_jsonver}/lib/* -t lib/
cp ../json-${_jsonver}/json_pure.gemspec -t lib/json/
cp -rT ../json-${_jsonver}/tests test/json
patch -p1 -i ../ruby-${pkgver}-add-json_pure.patch
# Clean up the original json sources
cd "$srcdir"
rm -rf "json-${_jsonver}"
}
build() {
cd ruby-${pkgver}
PKG_CONFIG=/usr/bin/pkg-config ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--sharedstatedir=/var/lib \
--libexecdir=/usr/lib/ruby \
--enable-shared \
--disable-rpath \
--with-dbm-type=gdbm_compat
make
}
check() {
cd ruby-${pkgver}
make test
}
package_ruby() {
pkgdesc='An object-oriented language for quick and easy programming'
depends=(gdbm openssl libffi libyaml gmp zlib)
optdepends=(
'ruby-docs: Ruby documentation'
'tk: for Ruby/TK'
)
provides=(rubygems rake)
conflicts=(rake)
backup=(etc/gemrc)
install=ruby.install
cd ruby-${pkgver}
make DESTDIR="${pkgdir}" install-nodoc
install -D -m644 ${srcdir}/gemrc "${pkgdir}/etc/gemrc"
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby/LICENSE"
install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby/BSDL"
}
package_ruby-docs() {
pkgdesc='Documentation files for ruby'
cd ruby-${pkgver}
make DESTDIR="${pkgdir}" install-doc install-capi
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby-docs/LICENSE"
install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby-docs/BSDL"
# sometimes it installs ruby/capi/doxygen_objdb_XXXXXXX.tmp;
# otherwise /usr/share/doc is empty
rm -rf "$pkgdir/usr/share/doc"
}
|