Date: Thursday, September 22, 2022 @ 22:16:48 Author: segaja Revision: 1309119
upgpkg: ruby-rdoc 6.4.0-3: restructure stdlib to fit into ruby structure Modified: ruby-rdoc/trunk/PKGBUILD ----------+ PKGBUILD | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 70 insertions(+), 14 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-09-22 22:02:08 UTC (rev 1309118) +++ PKGBUILD 2022-09-22 22:16:48 UTC (rev 1309119) @@ -1,22 +1,78 @@ # Maintainer: Anatol Pomozov <[email protected]> -# Contributor: Andreas 'Segaja' Schleifer <segaja at archlinux dot org> +# Maintainer: Andreas 'Segaja' Schleifer <segaja at archlinux dot org> -_gemname=rdoc -pkgname=ruby-$_gemname +_gemname='rdoc' +pkgname="ruby-${_gemname}" pkgver=6.4.0 -pkgrel=2 +pkgrel=3 pkgdesc='Command-line documentation generator for Ruby projects' -arch=(any) +arch=('any') url='https://ruby.github.io/rdoc/' -license=(MIT) -depends=(ruby ruby-psych) -options=(!emptydirs) -source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) -noextract=($_gemname-$pkgver.gem) -sha1sums=('a6e641cb08f8696b323975078eec614812aa2eb5') +license=('RUBY') +depends=('ruby' 'ruby-kpeg' 'ruby-psych') +makedepends=('ruby-racc') +options=('!emptydirs') +source=("https://github.com/ruby/rdoc/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha512sums=('6c6a89245ac77abdeedee70327f97f8a9b8bb596c14848a95487ff19039864dd7a5c0f5b501fe2e7b187c671cfb205c1500359c7c203beb89211addaf3ac34f7') +prepare() { + cd "${_gemname}-${pkgver}" + + # update gemspec/Gemfile to allow newer version of the dependencies + sed --in-place --regexp-extended 's|~>|>=|g' "${_gemname}.gemspec" +} + +build() { + cd "${_gemname}-${pkgver}" + + # rake build - can't be used as it requires rubocop: https://github.com/ruby/rdoc/blob/v6.4.0/Rakefile#L99-L107 + rake generate + gem build "${_gemname}.gemspec" + + rake rdoc +} + +check() { + cd "${_gemname}-${pkgver}" + + rake normal_test + rake rubygems_test +} + package() { - local _gemdir="$(ruby -e'puts Gem.default_dir')" - gem install --ignore-dependencies --no-user-install --no-document -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem - rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" + cd "${_gemname}-${pkgver}" + + local _gemdir="$(gem env gemdir)" + local _platform="$(gem env platform | cut -d':' -f2)" + local _extension_api_version="$(ruby -e 'puts Gem.extension_api_version')" + + gem install \ + --local \ + --verbose \ + --ignore-dependencies \ + --no-user-install \ + --install-dir "${pkgdir}/${_gemdir}" \ + --bindir "${pkgdir}/usr/bin" \ + "${_gemname}-${pkgver}.gem" + + install --verbose --directory --mode=0755 \ + "${pkgdir}/usr/lib/ruby/${_extension_api_version}/${_platform}" \ + "${pkgdir}${_gemdir}/specifications/default" + + mv --verbose "${pkgdir}${_gemdir}/specifications/${_gemname}-${pkgver}.gemspec" "${pkgdir}${_gemdir}/specifications/default/${_gemname}-${pkgver}.gemspec" + mv --verbose "${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/lib/${_gemname}.rb" "${pkgdir}/usr/lib/ruby/${_extension_api_version}/${_gemname}.rb" + mv --verbose "${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/lib/${_gemname}" "${pkgdir}/usr/lib/ruby/${_extension_api_version}/${_gemname}" + + # remove unrepreducible files + rm --force --recursive --verbose \ + "${pkgdir}${_gemdir}/cache/" \ + "${pkgdir}${_gemdir}/build_info/" \ + "${pkgdir}${_gemdir}/extensions/" \ + "${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/"{.git*,bin,man,*.*,Gemfile,Rakefile} \ + "${pkgdir}${_gemdir}/plugins/" \ + "${pkgdir}${_gemdir}/doc/${_gemname}-${pkgver}/ri/ext/" + + install --verbose -D --mode=0644 man/ri.1 --target-directory "${pkgdir}/usr/share/man/man1" + install --verbose -D --mode=0644 LEGAL.rdoc LICENSE.rdoc --target-directory "${pkgdir}/usr/share/licenses/${pkgname}" + install --verbose -D --mode=0644 *.md *.rdoc --target-directory "${pkgdir}/usr/share/doc/${pkgname}" }
