summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO27
-rw-r--r--PKGBUILD155
2 files changed, 182 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..282717f0171b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,27 @@
+pkgbase = ruby-gettext
+ pkgdesc = Gettext is a pure Ruby libary and tools to localize messages.
+ pkgver = 3.1.6
+ pkgrel = 1
+ url = http://ruby-gettext.github.com/
+ arch = any
+ groups = pacgem
+ license = RUBY
+ makedepends = ruby
+ makedepends = binutils
+ depends = ruby
+ depends = ruby-text
+ depends = ruby-locale
+ optdepends = ruby-rake: Ruby based make-like utility.
+ optdepends = ruby-racc: Racc is a LALR(1) parser generator
+ optdepends = ruby-yard: Documentation tool for consistent and usable documentation in Ruby.
+ optdepends = ruby-redcarpet: Markdown that smells nice
+ optdepends = ruby-test-unit: test-unit - Improved version of Test::Unit bundled in Ruby 1.8.x.
+ optdepends = ruby-test-unit-notify: Test::Unit::Notify - A test result notify extension for Test::Unit.
+ optdepends = ruby-test-unit-rr: test-unit-rr is a RR adapter for test-unit.
+ noextract = gettext-3.1.6.gem
+ options = !emptydirs
+ source = http://rubygems.org/gems/gettext-3.1.6.gem
+ md5sums = 03e01877014fd76ad985678f07eca350
+
+pkgname = ruby-gettext
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..315adfd712b2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,155 @@
+# Generated by pacgem
+_gemname="gettext"
+_gembuilder=("install"
+ "man"
+ "license"
+ "fix")
+_ruby="/usr/bin/ruby"
+_gem="/usr/bin/gem"
+pkgname="ruby-gettext"
+pkgver=3.1.6
+pkgrel=1
+pkgdesc="Gettext is a pure Ruby libary and tools to localize messages."
+arch=("any")
+url="http://ruby-gettext.github.com/"
+license=("RUBY")
+_licensefile=()
+groups=("pacgem")
+makedepends=("ruby"
+ "binutils")
+depends=("ruby"
+ "ruby-text"
+ "ruby-locale")
+conflicts=()
+optdepends=("ruby-rake: Ruby based make-like utility."
+ "ruby-racc: Racc is a LALR(1) parser generator"
+ "ruby-yard: Documentation tool for consistent and usable documentation in Ruby."
+ "ruby-redcarpet: Markdown that smells nice"
+ "ruby-test-unit: test-unit - Improved version of Test::Unit bundled in Ruby 1.8.x."
+ "ruby-test-unit-notify: Test::Unit::Notify - A test result notify extension for Test::Unit."
+ "ruby-test-unit-rr: test-unit-rr is a RR adapter for test-unit.")
+source=("http://rubygems.org/gems/$_gemname-$pkgver.gem")
+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/$file"
+ 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
+}
+md5sums=('03e01877014fd76ad985678f07eca350')