diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2022-10-09 15:52:12 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2022-10-09 17:36:35 -0400 |
commit | ef87d38db9507e2d10fb0cb9da69862db59816d7 (patch) | |
tree | 1d6661cf8ef9e9c21554b532ad6d44e75fa3689c | |
parent | 8e3a3dff7ae1f0aafb9833fecae2a941040a4a94 (diff) |
[ruby]: upgrade to v3.0.4
-rw-r--r-- | libre/ruby/PKGBUILD | 233 |
1 files changed, 203 insertions, 30 deletions
diff --git a/libre/ruby/PKGBUILD b/libre/ruby/PKGBUILD index fa03ca296..25303e8d9 100644 --- a/libre/ruby/PKGBUILD +++ b/libre/ruby/PKGBUILD @@ -1,45 +1,48 @@ +# Maintainer (arch): Anatol Pomozov <anatol.pomozov@gmail.com> +# Maintainer (arch): Andreas 'Segaja' Schleifer <segaja at archlinux dot org> +# Maintainer (arch): 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> - # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> # Contributor: Daniel Milewski <niitotantei@riseup.net> # Contributor: André Silva <emulatorman@hyperbola.info> # Contributor: Luke Shumaker <lukeshu@parabola.nu> # Contributor: fauno <fauno@parabola.nu> -# 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 +# parabola changes and rationale: +# - 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=3.0.1 -_jsonver=2.5.1 + +pkgname=(ruby ruby-docs ruby-stdlib ruby-bundledgems) +pkgver=3.0.4 +pkgrel=17 pkgrel=1 pkgrel+=.parabola1 +_jsonver=2.5.1 _srcrel=1 # increment this to rebuild the sourceball without bumping pkgver arch=(x86_64) -arch+=(i686 armv7h) +arch+=(armv7h i686) url='https://www.ruby-lang.org/en/' license=(BSD2 custom) -depends=(libxcrypt) makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk) -options=(!emptydirs) -source=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz - json-${_jsonver}.tar.gz::https://github.com/flori/json/archive/v${_jsonver}.tar.gz +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) +source+=(json-${_jsonver}.tar.gz::https://github.com/flori/json/archive/v${_jsonver}.tar.gz remove-json-ext.patch add-json_pure.patch json-libre.patch) -sha512sums=('97d2e883656060846b304368d9d836e2f3ef39859c36171c9398a0573818e4ed75bfd7460f901a9553f7f53518c505327a66e74f83704a881469f5ac61fe13d7' - '4df7ec9b86692376e89c2019c2c1ab3ae9af28fb4742864acc6f985c0551fc10795742cc1124d6435e820617c00d4c5f4aa6c83b21d2fff43ed05cd9d0a89087' - 'e3cb4d17872d69d7bc2697b751e27c7f76edbf996f4e3007241cd8a60d2251056cf8dd858f249c0b28088da5b969c63bc5c0d52eef9c95e52e190234d3e46609' - 'c3933f1c6d7ddf669e0cfd8ffdd60abeb59a10bdfcab05a1c1b826ab65bed7019df85c15dd8af0b127a5728d5f6c322fcd724e0b9ecf0d9cdb5d28956050cc9a' - 'bb2cc232a0b096a3c40e219258aaa008183ed9a1f8b3bfd5f84680809f4b60e659f02e1db24480b30e6f11ad726b258da9dab17462621e8bfb8f9b6ed98dfbfd') +sha512sums=('53bf7dd403b0c68af9691882ad8ed7422c8d1f496627428fb4c3caf0b0313715524b744c5f453aced2d49e16e55f3f45b46b9a77aa3097dbfcae7caa0208194b') +sha512sums+=('4df7ec9b86692376e89c2019c2c1ab3ae9af28fb4742864acc6f985c0551fc10795742cc1124d6435e820617c00d4c5f4aa6c83b21d2fff43ed05cd9d0a89087' + 'e3cb4d17872d69d7bc2697b751e27c7f76edbf996f4e3007241cd8a60d2251056cf8dd858f249c0b28088da5b969c63bc5c0d52eef9c95e52e190234d3e46609' + 'c3933f1c6d7ddf669e0cfd8ffdd60abeb59a10bdfcab05a1c1b826ab65bed7019df85c15dd8af0b127a5728d5f6c322fcd724e0b9ecf0d9cdb5d28956050cc9a' + 'bb2cc232a0b096a3c40e219258aaa008183ed9a1f8b3bfd5f84680809f4b60e659f02e1db24480b30e6f11ad726b258da9dab17462621e8bfb8f9b6ed98dfbfd') + prepare() { cd "$srcdir/json-${_jsonver}" @@ -92,7 +95,7 @@ check() { package_ruby() { pkgdesc='An object-oriented language for quick and easy programming' - depends=(gdbm openssl libffi libyaml gmp zlib rubygems ruby-irb) + depends=(gdbm openssl libffi libyaml libxcrypt gmp zlib rubygems ruby-stdlib ruby-bundledgems) optdepends=( 'ruby-docs: Ruby documentation' 'tk: for Ruby/TK' @@ -112,20 +115,14 @@ package_ruby() { 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} - rm "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/bundler-*.gemspec # remove bundled rdoc gem - rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{rdoc,rdoc.rb} rm "${pkgdir}"/usr/bin/{rdoc,ri} - rm "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/rdoc-*.gemspec 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/lib/ruby/gems/${rubyver}/specifications/default/irb-*.gemspec rm "${pkgdir}"/usr/share/man/man1/irb.1 # remove other binaries that are shipped as separate packages @@ -136,6 +133,72 @@ package_ruby() { 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 --force --recursive --verbose \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${stdlib_gem} \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${stdlib_gem}.rb \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/${stdlib_gem}.so \ + "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/${stdlib_gem}-*.gemspec + done + + touch "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/json # only to minimize diff below + + rm --recursive --verbose \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/English.rb \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/io/console \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/net/http \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/net/http.rb \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/net/https.rb \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/cgi \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/date_core.so \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/digest \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/io/console.so \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/io/nonblock.so \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/io/wait.so \ + "${pkgdir}"/usr/lib/ruby/${rubyver}/${CARCH}-linux/json } package_ruby-docs() { @@ -147,8 +210,118 @@ package_ruby-docs() { install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby-docs/LICENSE" install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby-docs/BSDL" +} + +package_ruby-stdlib() { + # 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=( + ruby-abbrev + ruby-base64 + ruby-benchmark + ruby-bigdecimal + ruby-bundler + ruby-cgi + ruby-csv + ruby-date + #ruby-dbm # removed in 3.1.2 + #ruby-debug # removed in 3.1.2 + ruby-delegate + ruby-did_you_mean + ruby-digest + ruby-drb + ruby-english + ruby-erb + ruby-etc + ruby-fcntl + ruby-fiddle + ruby-fileutils + ruby-find + ruby-forwardable + #ruby-gdbm # removed in 3.1.2 + ruby-getoptlong + ruby-io-console + ruby-io-nonblock + ruby-io-wait + ruby-ipaddr + ruby-irb + ruby-json + ruby-logger + #ruby-matrix # removed in 3.1.2 + ruby-mutex_m + #ruby-net-ftp # removed in 3.1.2 + ruby-net-http + #ruby-net-imap # removed in 3.1.2 + #ruby-net-pop # removed in 3.1.2 + #ruby-net-protocol + #ruby-net-smtp # removed in 3.1.2 + #ruby-nkf + #ruby-observer + ruby-open-uri + #ruby-open3 + #ruby-openssl + #ruby-optparse + #ruby-ostruct + #ruby-pathname + #ruby-pp + #ruby-prettyprint + #ruby-prime # removed in 3.1.2 + #ruby-pstore + ruby-psych + #ruby-racc + ruby-rdoc + #ruby-readline + #ruby-readline-ext + ruby-reline + #ruby-resolv + #ruby-resolv-replace + #ruby-rinda + #ruby-securerandom + #ruby-set + #ruby-shellwords + #ruby-singleton + ruby-stringio + #ruby-strscan + #ruby-syslog + #ruby-tempfile + ruby-time + #ruby-timeout + ruby-tmpdir + #ruby-tracer # removed in 3.1.2 + #ruby-tsort + #ruby-un + ruby-uri + #ruby-weakref + #ruby-yaml + #ruby-zlib - # sometimes it installs ruby/capi/doxygen_objdb_XXXXXXX.tmp; - # otherwise /usr/share/doc is empty - rm -rf "$pkgdir/usr/share/doc" + #ruby-error_highlight # new in 3.2.1 + #ruby2_keywords # new in 3.1.2 - already exists in [community] + ) +} + +package_ruby-bundledgems() { + # 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=( + ruby-minitest + ruby-power_assert + ruby-rake + #ruby-rbs + ruby-rexml + #ruby-rss + ruby-test-unit + #ruby-typeprof + + # --- new in 3.1.2 + #ruby-debug + #ruby-matrix + #ruby-net-ftp + #ruby-net-imap + #ruby-net-pop + #ruby-net-smtp + #ruby-prime + ) } |