Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/build-support/ruby-bootstrap/PKGBUILD
blob: 0d065625525bea62ed5fa20cb6804207797be9b6 (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com>
# Maintainer: Andreas 'Segaja' Schleifer <segaja at archlinux dot org>
# Maintainer: Tim Meusel <tim@bastelfreak.de>
# Contributor: Thomas Dziedzic <gostrc@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
# Contributor: Jeramy Rutley <jrutley@gmail.com>

pkgname=(ruby-bootstrap ruby-stdlib-bootstrap ruby-bundledgems-bootstrap)
pkgver=3.0.4
pkgrel=9
arch=(i486 i686 pentium4 x86_64)
url='https://www.ruby-lang.org/en/'
license=(BSD custom)
makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk)
options=(debug !emptydirs !lto) # Disable LTO until fixes for https://bugs.ruby-lang.org/issues/18062 released
source=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz)
sha512sums=('53bf7dd403b0c68af9691882ad8ed7422c8d1f496627428fb4c3caf0b0313715524b744c5f453aced2d49e16e55f3f45b46b9a77aa3097dbfcae7caa0208194b')

build() {
  cd ruby-${pkgver}

  ./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-bootstrap() {
  pkgdesc='An object-oriented language for quick and easy programming'
  depends=(gdbm openssl libffi libyaml libxcrypt gmp zlib rubygems ruby-stdlib-bootstrap ruby-bundledgems-bootstrap)
  optdepends=(
      'ruby-docs: Ruby documentation'
      'tk: for Ruby/TK'
  )

  cd ruby-${pkgver}

  make DESTDIR="${pkgdir}" install-nodoc

  install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby/LICENSE"
  install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby/BSDL"

  rubyver=${pkgver:0:3}.0

  # remove rubygems as it shipped as a separate package
  rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{rubygems,rubygems.rb}
  rm "${pkgdir}"/usr/bin/gem

  # remove bundler as it shipped as a separate package
  rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{bundler,bundler.rb}
  rm "${pkgdir}"/usr/bin/{bundle,bundler}

  # remove bundled rdoc gem
  rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{rdoc,rdoc.rb}
  rm "${pkgdir}"/usr/bin/{rdoc,ri}
  rm "${pkgdir}"/usr/share/man/man1/ri.1

  # remove irb as it is a separate package now
  rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{irb,irb.rb}
  rm "${pkgdir}"/usr/bin/irb
  rm "${pkgdir}"/usr/share/man/man1/irb.1

  # remove other binaries that are shipped as separate packages
  rm "${pkgdir}"/usr/bin/{rake,rbs,typeprof,erb,racc}
  rm "${pkgdir}"/usr/share/man/man1/erb.1

  # remove all bundled gems to avoid conflicts with ruby-* Arch packages
  rm -r "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/gems/*
  rm "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/*.gemspec
  rm "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/cache/*.gem

  # remove already packaged stdlib gems (needs to be as dependency in ruby-stdlib)
  local stdlib_gems=(
    abbrev
    base64
    benchmark
    bigdecimal
    bundler
    cgi
    csv
    date
    delegate
    did_you_mean
    digest
    drb
    english
    erb
    etc
    fcntl
    fiddle
    fileutils
    find
    forwardable
    getoptlong
    io-console
    io-nonblock
    io-wait
    ipaddr
    irb
    json
    logger
    mutex_m
    net-http
    open-uri
    psych
    rdoc
    reline
    stringio
    time
    tmpdir
    uri
  )

  for stdlib_gem in "${stdlib_gems[@]}"; do
    rm -v "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/${stdlib_gem}-*.gemspec
  done
}

package_ruby-stdlib-bootstrap() {
  # upstream list of gems contained in stdlib ( https://github.com/ruby/ruby/tree/master/{ext,lib} )
  pkgdesc='A vast collection of classes and modules that you can require in your code for additional features'
 
  depends=(
  )
}

package_ruby-bundledgems-bootstrap() {
  # upstream list of bundled gems ( https://github.com/ruby/ruby/blob/master/gems/bundled_gems )
  pkgdesc='Ruby Gems (third-party libraries) that are installed by default when Ruby is installed'

  depends=(
  )
}