Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/build-support/ruby-bootstrap
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2022-10-02 18:36:16 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2022-10-02 18:36:16 +0200
commita143dbf9d16961b113b00bf7f721097a64bea858 (patch)
treeaa91f1179de866c750031cee5e428329ffb791e0 /build-support/ruby-bootstrap
parentba11d93e37750fa3dc599c05a96f7d816bb4f157 (diff)
added a ruby-bootstrap
Diffstat (limited to 'build-support/ruby-bootstrap')
-rw-r--r--build-support/ruby-bootstrap/PKGBUILD153
1 files changed, 153 insertions, 0 deletions
diff --git a/build-support/ruby-bootstrap/PKGBUILD b/build-support/ruby-bootstrap/PKGBUILD
new file mode 100644
index 00000000..7d0fa9b1
--- /dev/null
+++ b/build-support/ruby-bootstrap/PKGBUILD
@@ -0,0 +1,153 @@
+# 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 ruby-bundledgems)
+ optdepends=(
+ 'ruby-docs: Ruby documentation'
+ 'tk: for Ruby/TK'
+ )
+ provides=('ruby')
+ conflicts=('ruby')
+
+ 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'
+ provides=('ruby-stdlib')
+ conflicts=('ruby-stdlib')
+
+ 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'
+ provides=('ruby-bundledgems')
+ conflicts=('ruby-bundledgems')
+
+ depends=(
+ )
+}