| 1 | # Contributor: Jakub Jirutka <[email protected]> |
| 2 | # Maintainer: Jakub Jirutka <[email protected]> |
| 3 | pkgname=ruby-concurrent-ruby |
| 4 | _gemname=${pkgname#ruby-} |
| 5 | pkgver=1.3.5 |
| 6 | pkgrel=0 |
| 7 | pkgdesc="Modern concurrency tools for Ruby" |
| 8 | url="http://www.concurrent-ruby.com" |
| 9 | arch="all" |
| 10 | license="MIT" |
| 11 | depends="ruby" |
| 12 | makedepends="ruby-dev ruby-rake ruby-rake-compiler" |
| 13 | checkdepends="ruby-rspec ruby-timecop" |
| 14 | subpackages="$pkgname-ext" |
| 15 | source="$pkgname-$pkgver.tar.gz::https://github.com/ruby-concurrency/$_gemname/archive/v$pkgver.tar.gz |
| 16 | gemspecs.patch |
| 17 | rakefile-remove-dock.patch |
| 18 | " |
| 19 | builddir="$srcdir/$_gemname-$pkgver" |
| 20 | |
| 21 | # limited by jruby and openjdk |
| 22 | case "$CARCH" in x86_64 | aarch64) |
| 23 | makedepends="$makedepends jruby java-jdk" |
| 24 | subpackages="$subpackages $pkgname-java::noarch" |
| 25 | |
| 26 | export JRUBY_HOME="/usr/share/jruby" |
| 27 | esac |
| 28 | |
| 29 | build() { |
| 30 | rake repackage |
| 31 | |
| 32 | RUBYLIB="$(pwd)/lib" gem install --local \ |
| 33 | --install-dir dist-ext \ |
| 34 | --ignore-dependencies \ |
| 35 | --no-document \ |
| 36 | --verbose \ |
| 37 | pkg/$_gemname-ext-$pkgver.gem |
| 38 | } |
| 39 | |
| 40 | check() { |
| 41 | gem install --local \ |
| 42 | --install-dir .gems \ |
| 43 | --ignore-dependencies \ |
| 44 | --no-document \ |
| 45 | --verbose \ |
| 46 | pkg/$_gemname-*.gem |
| 47 | |
| 48 | GEM_PATH=".gems" rspec --tag ~unfinished --tag ~buggy --tag ~edge spec |
| 49 | } |
| 50 | |
| 51 | package() { |
| 52 | local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')" |
| 53 | |
| 54 | gem install --local \ |
| 55 | --install-dir "$gemdir" \ |
| 56 | --ignore-dependencies \ |
| 57 | --no-document \ |
| 58 | --verbose \ |
| 59 | pkg/$_gemname-$pkgver.gem |
| 60 | |
| 61 | # Remove unnecessary files. |
| 62 | rm -r "$gemdir"/cache \ |
| 63 | "$gemdir"/build_info \ |
| 64 | "$gemdir"/doc |
| 65 | cd "$gemdir"/gems/$_gemname-$pkgver |
| 66 | rm -rf ext Gemfile Rakefile *.md |
| 67 | } |
| 68 | |
| 69 | java() { |
| 70 | pkgdesc="$pkgdesc (Java extension)" |
| 71 | depends="$pkgname=$pkgver-r$pkgrel" |
| 72 | install_if="$pkgname=$pkgver-r$pkgrel jruby" |
| 73 | local gemdir="$(ruby -e 'puts Gem.default_dir')" |
| 74 | |
| 75 | amove ${gemdir#/}/gems/$_gemname-$pkgver/lib/$_gemname/*/*.jar |
| 76 | } |
| 77 | |
| 78 | ext() { |
| 79 | pkgdesc="$pkgdesc (C extension)" |
| 80 | depends="$pkgname=$pkgver-r$pkgrel" |
| 81 | |
| 82 | local gemdir="$subpkgdir/$(ruby -e 'puts Gem.default_dir')" |
| 83 | |
| 84 | cd "$builddir"/dist-ext |
| 85 | |
| 86 | mkdir -p "$gemdir" |
| 87 | cp -r extensions gems specifications "$gemdir"/ |
| 88 | |
| 89 | # Remove unnecessary files and rubbish... |
| 90 | find "$gemdir"/extensions/ -name mkmf.log -delete |
| 91 | cd "$gemdir"/gems/$_gemname-ext-$pkgver |
| 92 | rm -r ext/ lib/concurrent/*.so *.md |
| 93 | rmdir -p --ignore-fail-on-non-empty "$(pwd)/lib/concurrent" |
| 94 | } |
| 95 | |
| 96 | sha512sums=" |
| 97 | 0bf85fb3d9c5b1107768e2175c9f6958449de4033be403ef92d73f3f665ce04fca1a6d1437493b83ce7a1928c79ec89bda7ec47d9d7053435b7de0b5158afba7 ruby-concurrent-ruby-1.3.5.tar.gz |
| 98 | 2db9dbd791f52647c7ba66b6537575ccbaa402de0316169cfc887f8f25093f0507e144eca86a4f1baaefc9cd268474460ed1ea09713b5ffb354642c036bc46f0 gemspecs.patch |
| 99 | 964384305dbe7d0578e80117587235acd2ab8e812aaa9353a13157ad92574b6db632fe96b144950e64377f94af26fa2ec1bad1c829493c48d379c0c91e1282b7 rakefile-remove-dock.patch |
| 100 | " |