summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authororumin2016-01-14 05:45:18 +0900
committerorumin2016-01-14 05:45:18 +0900
commit60d4173febd2276d30b8b4851660b1419830b3eb (patch)
tree978d05a53aa6b1b08a680fa1dd1847d96931d2ab
downloadaur-60d4173febd2276d30b8b4851660b1419830b3eb.tar.gz
initial commit
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD149
2 files changed, 172 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..053a61f20124
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+# Generated by mksrcinfo v8
+# Wed Jan 13 20:44:53 UTC 2016
+pkgbase = ruby-memoist
+ pkgdesc = memoize methods invocation
+ pkgver = 0.14.0
+ pkgrel = 1
+ url = https://github.com/matthewrudy/memoist
+ arch = any
+ groups = pacgem
+ license = MIT
+ makedepends = ruby
+ makedepends = binutils
+ depends = ruby
+ 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)
+ optdepends = ruby-minitest: minitest provides a complete suite of testing facilities supporting TDD, BDD, mo... (Development dependency)
+ noextract = memoist-0.14.0.gem
+ options = !emptydirs
+ source = https://rubygems.org/gems/memoist-0.14.0.gem
+ sha256sums = 953da0295e5e5e02655df08e368afd3e8a16ee6b9d858733036e9970a781a30d
+
+pkgname = ruby-memoist
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2a601063dcb9
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,149 @@
+# Generated by pacgem 0.9.12
+_gemname="memoist"
+_gembuilder=("install"
+ "man"
+ "license"
+ "fix")
+_ruby="/usr/bin/ruby"
+_gem="/usr/bin/gem"
+pkgname="ruby-memoist"
+pkgver="0.14.0"
+pkgrel=1
+pkgdesc="memoize methods invocation"
+arch=("any")
+url="https://github.com/matthewrudy/memoist"
+license=("MIT")
+_licensefile=("LICENSE.md")
+groups=("pacgem")
+makedepends=("ruby"
+ "binutils")
+depends=("ruby")
+conflicts=()
+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)"
+ "ruby-minitest: minitest provides a complete suite of testing facilities supporting TDD, BDD, mo... (Development dependency)")
+source=("https://rubygems.org/gems/$_gemname-$pkgver.gem")
+sha256sums=("953da0295e5e5e02655df08e368afd3e8a16ee6b9d858733036e9970a781a30d")
+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
+}