summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2022-10-09 15:52:12 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2022-10-09 17:36:35 -0400
commitef87d38db9507e2d10fb0cb9da69862db59816d7 (patch)
tree1d6661cf8ef9e9c21554b532ad6d44e75fa3689c
parent8e3a3dff7ae1f0aafb9833fecae2a941040a4a94 (diff)
[ruby]: upgrade to v3.0.4
-rw-r--r--libre/ruby/PKGBUILD233
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
+ )
}