diff options
author | orumin | 2015-06-14 01:38:06 +0900 |
---|---|---|
committer | orumin | 2015-06-14 01:38:06 +0900 |
commit | 4ae9ef83fec1773780655827ba3c1cc4681cdf26 (patch) | |
tree | 77000a02137e2635faee25078bb20110b0f1f1f5 | |
download | aur-4ae9ef83fec1773780655827ba3c1cc4681cdf26.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | PKGBUILD | 149 |
2 files changed, 173 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..1ba27cbf5e01 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 4.2.0 +# Sat Feb 14 16:25:41 UTC 2015 +pkgbase = ruby-sokuten + pkgdesc = Sokuten the cartwheel excercise on your terminal. + pkgver = 0.1.1 + pkgrel = 1 + url = https://github.com/metalefty/rubygem-sokuten + arch = any + groups = pacgem + license = custom:GPLv3 + makedepends = ruby + makedepends = binutils + depends = ruby + depends = ruby-curses>=1.0.0 + optdepends = ruby-bundler: The best way to manage your application's dependencies (Development dependency) + optdepends = ruby-rake: Rake is a Make-like program implemented in Ruby (Development dependency) + conflicts = sokuten-git + noextract = sokuten-0.1.1.gem + options = !emptydirs + source = https://rubygems.org/gems/sokuten-0.1.1.gem + sha256sums = 9644c8e0d8bf222e9260ef0bac7954292d74c2033f86bee7b7bd32cb3e69e7e9 + +pkgname = ruby-sokuten + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..57e6c4c5ea99 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,149 @@ +# Generated by pacgem 0.9.12 +_gemname="sokuten" +_gembuilder=("install" + "man" + "license" + "fix") +_ruby="/usr/bin/ruby" +_gem="/usr/bin/gem" +pkgname="ruby-sokuten" +pkgver="0.1.1" +pkgrel=1 +pkgdesc="Sokuten the cartwheel excercise on your terminal." +arch=("any") +url="https://github.com/metalefty/rubygem-sokuten" +license=("custom:GPLv3") +_licensefile=("LICENSE.txt") +groups=("pacgem") +makedepends=("ruby" + "binutils") +depends=("ruby" + "ruby-curses>=1.0.0") +conflicts=('sokuten-git') +optdepends=("ruby-bundler: The best way to manage your application's dependencies (Development dependency)" + "ruby-rake: Rake is a Make-like program implemented in Ruby (Development dependency)") +source=("https://rubygems.org/gems/$_gemname-$pkgver.gem") +sha256sums=("9644c8e0d8bf222e9260ef0bac7954292d74c2033f86bee7b7bd32cb3e69e7e9") +noextract=("$_gemname-$pkgver.gem") +options=("!emptydirs") + +_gem_install() { + msg 'Installing gem...' + + # Install the gem + install -d -m755 $_bindir $_gemdir + $_gem install --no-ri --no-rdoc --ignore-dependencies --no-user-install \ + --bindir $_bindir --install-dir $_gemdir "$srcdir/$_gemname-$pkgver.gem" +} + +_gem_man() { + msg 'Installing man pages...' + + # Find man pages and move them to the correct directory + local mandir="$_gemdir/gems/$_gemname-$pkgver/man" + if [[ -d $mandir ]]; then + install -d -m755 $_mandir + local file + for file in $(find $mandir -type f -and -name *.[0-9]); do + local dir=$_mandir/man${file##*.} + install -d -m755 $dir + mv $file $dir + done + rm -rf $mandir + fi +} + +_gem_license() { + if [[ "${#_licensefile[@]}" -ne 0 ]]; then + msg "Installing license $license..." + install -d -m755 "$pkgdir/usr/share/licenses/$pkgname" + local file + for file in ${_licensefile[@]}; do + ln -s "../../../..$_gemdestdir/gems/$_gemname-$pkgver/$file" "$pkgdir/usr/share/licenses/$pkgname/$(basename $file)" || true + done + fi +} + +_gem_fix() { + msg 'Fixing gem installation...' + + # Set mode of executables to 755 + [[ -d "$_gemdir/bin" ]] && find "$_gemdir/bin" -type f -exec chmod 755 -- '{}' ';' + + # Remove cached gem file + rm -f "$_gemdir/cache/$_gemname-$pkgver.gem" + + # Sometimes there are files which are not world readable. Fix this. + find $pkgdir -type f '!' -perm '-004' -exec chmod o+r -- '{}' ';' +} + +_gem_cleanext() { + msg 'Removing native build leftovers...' + local extdir="$_gemdir/gems/$_gemname-$pkgver/ext" + [[ -d $extdir ]] && find "$extdir" -name '*.o' -exec rm -f -- '{}' ';' +} + +# Check if dependency is already satisfied +_dependency_satisfied() { + local dep=$1 deps="${depends[@]}" + [[ $(type -t in_array) == 'function' ]] || error "in_array should be provided by makepkg" + while true; do + in_array $dep ${deps[@]} && return 0 + local found=0 pkg + # Warning: This could break easily if the pacman output format changes. + for pkg in $(LC_ALL=C pacman -Qi ${deps[@]} 2>/dev/null | sed '/Depends On/!d;s/.*: //;s/None\|[<>]=\?[^ ]*\|=[^ ]*//g'); do + if ! in_array $pkg ${deps[@]}; then + deps=(${deps[@]} $pkg) && found=1 + fi + done + (( $found )) || break + done + return 1 +} + +_gem_autodepends() { + msg 'Automatic dependency resolution...' + + # Find all referenced shared libraries + local deps=$(find $pkgdir -type f -name '*.so') + [[ -n $deps ]] || return 0 + + deps=$(readelf -d $deps | sed -n 's/.*Shared library: \[\(.*\)\].*/\1/p' | sort | uniq) + + # Find referenced libraries on the library search path + local libs=() lib path + for lib in $deps; do + for path in /lib /usr/lib; do + [[ -f "$path/$lib" ]] && libs=(${libs[@]} "$path/$lib") + done + done + (( ${#libs} )) || return 0 + + msg2 "Referenced libraries: ${libs[*]}" + + # Find matching packages with pacman -Qo + # and add them to the depends array + local pkg + for pkg in $(pacman -Qqo ${libs[@]}); do + _dependency_satisfied $pkg || depends=(${depends[@]} $pkg) + done + msg2 "Referenced packages: ${depends[*]}" +} + +_rbconfig() { + $_ruby -e "require 'rbconfig'; puts RbConfig::CONFIG['$1']" +} + +package() { + # Directories defined inside build() because if ruby is not installed on the system + # makepkg will barf when sourcing the PKGBUILD + _gemdestdir=$($_gem environment gemdir) + _gemdir=$pkgdir$_gemdestdir + _bindir=$pkgdir$(_rbconfig bindir) + _mandir=$pkgdir$(_rbconfig mandir) + + local i + for i in ${_gembuilder[@]}; do + _gem_$i + done +} |