blob: a7692affe18f89f1e4317a593307c7bd8c0086df (
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
|
# Maintainer: Felipe Contreras <felipe.contreras@gmail.com>
pkgname='rubygems-user'
pkgver=3.4.12
pkgrel=1
pkgdesc='Package management framework for Ruby (user default)'
arch=('any')
url='https://rubygems.org/'
license=('MIT')
depends=('ruby')
checkdepends=('ruby-rake' 'ruby-webrick' 'git' 'cmake')
options=('!emptydirs')
source=("https://github.com/rubygems/rubygems/archive/refs/tags/v${pkgver}.tar.gz"
'Gem.default_install.patch'
'operating_system.rb')
sha512sums=('d862904414f6706b1c600325f578443953d2f562d0b31f6a02788e6ea6ef87a84b656e2da217571817ebedb36b940b514cc7f100728a108c44ca3d8dc7ea8c70'
'b9bda74a64e13334fddb81fdfc42695a5528b2fadad84e733b7ec1419d131b2d2b97e0189f271ab83b0676ad4df862fc1c1491d7ac5d14f6a3f45f53a0b0eaa0'
'3462dfe94f51d31dd616fae4107c7410d8513323dd8dffd657271a31363abd3b87d2150cda47fd9b1a8b9b63b4c57c03740e26941ac6ef55be9848fe56db8af4')
provides=("rubygems=$pkgver")
conflicts=(rubygems)
prepare() {
cd "rubygems-${pkgver}"
patch -p1 -i "$srcdir/Gem.default_install.patch"
}
check() {
cd "rubygems-${pkgver}"
# Remove unnecessary check
sed --in-place -e '/File.read("Manifest.txt")/,+2d' Rakefile
# Workaround because json default spec is wrongly built
# https://github.com/rubygems/rubygems/issues/5951
export GEM_COMMAND=gem
# The tests get confused with our operating_system.rb
mkdir -p test/rubygems/defaults/
touch test/rubygems/defaults/operating_system.rb
rake test
}
package() {
cd "rubygems-${pkgver}"
local _gemdir="$(ruby -e 'puts Gem.default_dir')"
local _extension_api_version="$(ruby -e 'puts Gem.extension_api_version')"
local _rubygems_dir="/usr/lib/ruby/${_extension_api_version}"
export GEM_HOME="${pkgdir}${_gemdir}"
install --verbose -d --mode=0755 \
"${GEM_HOME}" \
"${pkgdir}${_rubygems_dir}"
# define the current version as previous version to avoid printing the changelog
ruby setup.rb \
--destdir="${pkgdir}" \
--prefix="/usr" \
--previous-version="${pkgver}" \
--no-regenerate-binstubs \
--ri \
--verbose
# fix package structure
mv --verbose "${pkgdir}/usr/lib/rubygems.rb" "${pkgdir}${_rubygems_dir}"
mv --verbose "${pkgdir}/usr/lib/rubygems" "${pkgdir}${_rubygems_dir}"
install --verbose -D --mode=0644 $srcdir/operating_system.rb --target-directory ${pkgdir}${_rubygems_dir}/rubygems/defaults/
# cleanup - remove any bundler references as they are provided by https://archlinux.org/packages/community/any/ruby-bundler/
rm --recursive \
"${pkgdir}/usr/bin/"bundle* \
"${pkgdir}/usr/gems" \
"${pkgdir}/usr/lib/bundler.rb" \
"${pkgdir}/usr/lib/bundler" \
"${pkgdir}/usr/specifications"
install --verbose -D --mode=0644 LICENSE.txt MIT.txt --target-directory "${pkgdir}/usr/share/licenses/${pkgname}"
install --verbose -D --mode=0644 *.md --target-directory "${pkgdir}/usr/share/doc/${pkgname}"
}
|