summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorCarl Smedstad2024-04-01 11:14:46 +0200
committerCarl Smedstad2024-04-01 11:18:31 +0200
commit57398f6d7f1391abdc19ebcdff7ac1765267a8bd (patch)
treeb36a323c9dca6d9e963c17ad80887472fd4a0296 /PKGBUILD
parentee2be0d58911a13bd2680dd18b58d1426186b5f5 (diff)
downloadaur-ruby-treetop.tar.gz
upgpkg: 1.6.12-3
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD111
1 files changed, 93 insertions, 18 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 76d3203bc9db..2e7248ab3f9c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,28 +1,103 @@
-# Maintainer: Maxime Gauduin <alucryd@gmail@com>
+# Maintainer: Carl Smedstad <carsme at archlinux dot org>
+# Contributor: Maxime Gauduin <alucryd@gmail@com>
# Contributor: Emiliano Vavassori <syntaxerrormmm@gmail.com>
# Contributor: Guilherme Nogueira <guilherme@nirev.org>
pkgname=ruby-treetop
+_pkgname=${pkgname#ruby-}
pkgver=1.6.12
-pkgrel=1
-pkgdesc='A Ruby-based text parsing and interpretation DSL'
-arch=('any')
-url='https://github.com/cjheath/treetop'
-license=('MIT')
-depends=('ruby-polyglot')
-options=('!emptydirs')
-source=("https://rubygems.org/downloads/${pkgname#*-}-${pkgver}.gem")
-noextract=("${pkgname#*-}-$pkgver.gem")
-sha256sums=('ed48add684a2d7a8fd6e3b8b027d8ee5983b50977ae691913131a24f1746ac29')
+_commit=b6a60e16e80f288dd25d45e372e5249f190f4561
+pkgrel=3
+pkgdesc="A Ruby-based parsing DSL based on parsing expression grammars"
+arch=(any)
+url="https://github.com/cjheath/treetop"
+license=(MIT)
+depends=(
+ ruby
+ ruby-polyglot
+)
+makedepends=(
+ git
+ rubygems
+)
+checkdepends=(
+ ruby-activesupport
+ ruby-rr
+ ruby-rspec
+)
+options=(!emptydirs)
+source=("git+$url.git#commit=$_commit")
+sha256sums=('60b44029ded39276145a755981cf9a83a8c09708547390640eb4884d5ebe5685')
-package() {
- local _gemdir="$(ruby -e'puts Gem.default_dir')"
+_archive="$_pkgname"
- gem install --ignore-dependencies --no-user-install -N -i "${pkgdir}"/${_gemdir} -n "${pkgdir}"/usr/bin ${pkgname#*-}-${pkgver}.gem
- find "${pkgdir}" -type f -name *.gem -delete
+pkgver() {
+ cd "$_archive"
- install -dm 755 "${pkgdir}"/usr/share/licenses/${pkgname}
- ln -s ${_gemdir}/gems/${pkgname#*-}-${pkgver}/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/
+ git describe --tags | sed 's/^v//'
}
-# vim: ts=2 sw=2 et:
+prepare() {
+ cd "$_archive"
+
+ # Update gemspec/Gemfile to allow newer version of the dependencies
+ sed -i -E 's|~>|>=|g' "$_pkgname.gemspec"
+}
+
+build() {
+ cd "$_archive"
+
+ local gemdir="$(gem env gemdir)"
+
+ gem build "$_pkgname.gemspec"
+
+ gem install \
+ --local \
+ --verbose \
+ --ignore-dependencies \
+ --no-user-install \
+ --install-dir "tmp_install/$gemdir" \
+ --bindir "tmp_install/usr/bin" \
+ "$_pkgname-$pkgver.gem"
+
+ # Remove unrepreducible files
+ rm --force --recursive --verbose \
+ "tmp_install/$gemdir/cache/" \
+ "tmp_install/$gemdir/gems/$_pkgname-$pkgver/vendor/" \
+ "tmp_install/$gemdir/doc/$_pkgname-$pkgver/ri/ext/"
+
+ find "tmp_install/$gemdir/gems/" \
+ -type f \
+ \( \
+ -iname "*.o" -o \
+ -iname "*.c" -o \
+ -iname "*.so" -o \
+ -iname "*.time" -o \
+ -iname "gem.build_complete" -o \
+ -iname "Makefile" \
+ \) \
+ -delete
+
+ find "tmp_install/$gemdir/extensions/" \
+ -type f \
+ \( \
+ -iname "mkmf.log" -o \
+ -iname "gem_make.out" \
+ \) \
+ -delete
+}
+
+check() {
+ cd "$_archive"
+
+ GEM_HOME="tmp_install/$(gem env gemdir)" rspec
+}
+
+package() {
+ cd "$_archive"
+
+ cp -a -t "$pkgdir" tmp_install/*
+
+ install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" ./*.md
+ install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}