aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-05-27 16:20:23 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2014-05-27 16:28:25 +0200
commit787cd0769f045e3c61d1005788fac3179f29cc53 (patch)
treec9418e66616e20fafe765e773aec0c27a13d0b33
parent031ea716821860461a103a98931aefc87ee1e6b8 (diff)
downloadaports-787cd0769f045e3c61d1005788fac3179f29cc53.tar.bz2
aports-787cd0769f045e3c61d1005788fac3179f29cc53.tar.xz
testing/ruby-posix-spawn: new aport
posix-spawn uses posix_spawnp(2) for faster process spawning http://rubygems.org/gems/posix-spawn
-rw-r--r--testing/ruby-posix-spawn/0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch32
-rw-r--r--testing/ruby-posix-spawn/APKBUILD58
2 files changed, 90 insertions, 0 deletions
diff --git a/testing/ruby-posix-spawn/0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch b/testing/ruby-posix-spawn/0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch
new file mode 100644
index 0000000000..3779295bda
--- /dev/null
+++ b/testing/ruby-posix-spawn/0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch
@@ -0,0 +1,32 @@
+From d8872a3274bb6d5b0ab327c4b85792009970c841 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Tue, 27 May 2014 15:20:28 +0200
+Subject: [PATCH] Only use POSIX_SPAWN_USEVFORK if defined or if GNU libc
+
+musl libc does not have it
+
+fixes #54
+---
+ ext/posix-spawn.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ext/posix-spawn.c b/ext/posix-spawn.c
+index 501423d..29101f8 100644
+--- a/ext/posix-spawn.c
++++ b/ext/posix-spawn.c
+@@ -396,9 +396,9 @@ rb_posixspawn_pspawn(VALUE self, VALUE env, VALUE argv, VALUE options)
+ sigemptyset(&mask);
+ posix_spawnattr_setsigmask(&attr, &mask);
+
+-#if defined(POSIX_SPAWN_USEVFORK) || defined(__linux__)
+- /* Force USEVFORK on linux. If this is undefined, it's probably because
+- * you forgot to define _GNU_SOURCE at the top of this file.
++#if defined(POSIX_SPAWN_USEVFORK) || defined(__GLIBC__)
++ /* Force USEVFORK on GNU libc. If this is undefined, it's probably
++ * because you forgot to define _GNU_SOURCE at the top of this file.
+ */
+ flags |= POSIX_SPAWN_USEVFORK;
+ #endif
+--
+1.9.3
+
diff --git a/testing/ruby-posix-spawn/APKBUILD b/testing/ruby-posix-spawn/APKBUILD
new file mode 100644
index 0000000000..d8378f7ff3
--- /dev/null
+++ b/testing/ruby-posix-spawn/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Seung Soo Mun <hamletmun@gmail.com>
+# Maintainer:
+_gemname=posix-spawn
+pkgname=ruby-$_gemname
+pkgver=0.3.8
+pkgrel=0
+pkgdesc="posix-spawn uses posix_spawnp(2) for faster process spawning"
+url="http://rubygems.org/gems/$_gemname"
+arch="all"
+license="MIT"
+depends="ruby"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://gems.rubyforge.org/gems/$_gemname-$pkgver.gem
+ 0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch
+ "
+
+_builddir="$srcdir"/$_realname-$pkgver
+
+prepare() {
+ cd "$srcdir"
+ gem unpack $_gemname-$pkgver.gem || return 1
+ rm $_gemname-$pkgver.gem
+ cd $_gemname-$pkgver || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ gem build $_gemname.gemspec
+ mv *.gem .. || return 1
+}
+
+build() {
+ return 0
+}
+
+package() {
+ local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
+ local _geminstdir=$_gemdir/gems/$_gemname-$pkgver
+ mkdir -p "$pkgdir" || return 1
+
+ gem install --local --install-dir "$pkgdir"/$_gemdir \
+ --ignore-dependencies --verbose --no-rdoc --no-ri \
+ "$srcdir"/$_gemname-$pkgver.gem || return 1
+ rm -rf "$pkgdir"/$_gemdir/cache \
+ "$pkgdir"/$_geminstdir/ext \
+ "$pkgdir"/$_geminstdir/.require_paths
+}
+
+md5sums="bcde276ff03e0f80c42981bb1c3cfcf8 posix-spawn-0.3.8.gem
+ab5beb84d3950d6b6a327c8c9cb25fa0 0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch"
+sha256sums="2185d0834e8a097178caaffb4955245a0ae6195ad764804c8d9f0814e2771469 posix-spawn-0.3.8.gem
+1d5b769023142eca39351ac60795ab8976be7520ff11eda8f5365f0b4b651a23 0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch"
+sha512sums="0a03cd8dd11ea3c61db2bff2ecefdfac66978a3a75d3e42aaa59203422fc36e3f03fbede13a71629f80d260e3e95cf24f84ab9f7353cf5816d3c8b630cc2945e posix-spawn-0.3.8.gem
+59d171b4165d08eee8252a5a3d51c3806884a0a3dca12c01c7edcee4036b27f430a14792aaa12bb3764feaf70158986b67365572422f0b5075a94acac6555757 0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch"