[www-servers/thin] bump from tree, for ruby_targets_ruby20, lacks ruby21 due to daemons dependency

This commit is contained in:
Robert Förster 2014-06-02 10:40:39 +02:00
parent 341b78979a
commit e293a74899
4 changed files with 200 additions and 0 deletions

View File

@ -0,0 +1 @@
DIST thin-1.6.2.tar.gz 179335 SHA256 8ae29b80a9c0fd07503ca687381d5b7a9afd59f1fd4ca0584e434ed18f45c28e SHA512 0f8e2ae0c622f53f76c4f940c16c0e5e43040e528eb76a95deab3a93bc7d10de5c8521e0d2ee66cd39f71377dd587fc0bb2a97158d1b0ffee1d06b0bd89bbd9f WHIRLPOOL cc20d29ecc99677338c670a4bbb7a4dc30ad1497104f4e547157f7aca67220102f0990326b145187b4a83e206b95a9b6068d1a5c8ca4780db4af336db4331f2f

View File

@ -0,0 +1,39 @@
# /etc/conf.d/thin: Configuration for /etc/init.d/thin*
# Copy this file to /etc/conf.d/thin.SERVERNAME for server specific options.
# Set the configuration file location.
# In start-all mode (/etc/init.d/thin), this must point to the directory where
# all the thin configurations are located.
# When starting a specific server (/etc/init.d/thin.SERVER), point to the exact
# location of the .yml configuration file.
# CONFIG="/etc/thin/${SVCNAME#*.}.yml"
# Disable looking for a configuration file.
# You can use THIN_OPTS instead for setting command line options.
# NOCONFIG=0
# Set the Ruby interpreter to use.
# RUBY="/usr/bin/ruby"
# Whether to start thin using `bundle exec'
# DO_BUNDLER=0
# What directory to cd into before starting thin
# (useful for DO_BUNDLER)
# CHDIR=
# Set the user for this instance.
# (Should mirror "user" value in /etc/thin/${SVCNAME#*.}.yml)
# THIN_USER=
# Set the group for this instance.
# (Should mirror "group" value in /etc/thin/${SVCNAME#*.}.yml)
# THIN_GROUP=
# Set the pidfile for this instance.
# (Should mirror "pid" value in /etc/thin/${SVCNAME#*.}.yml)
# THIN_PID=
# Set command line options to pass to thin.
# In specific server mode, '--tag SERVER_NAME' is automatically appended.
# THIN_OPTS=

View File

@ -0,0 +1,83 @@
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-servers/thin/files/thin.initd-2,v 1.2 2013/11/11 16:29:03 a3li Exp $
SERVER=${SVCNAME#*.}
if [ ${SERVER} != thin ]; then
CONFIG=${CONFIG:-/etc/thin/${SERVER}.yml}
else
CONFIG=${CONFIG:-/etc/thin/}
fi
NOCONFIG=${NOCONFIG:-0}
RUBY=${RUBY:-/usr/bin/ruby}
DO_BUNDLER=${DO_BUNDLER:-0}
CHDIR=${CHDIR:-}
THIN_USER=${THIN_USER:-root}
THIN_GROUP=${THIN_GROUP:-root}
THIN_PID=${THIN_PID:-/var/run/thin/thin.pid}
THIN_OPTS=${THIN_OPTS:-}
depend() {
need localmount
}
checkconfig() {
if [ -n ${CHDIR} ]; then
cd "${CHDIR}"
if [ $? -ne 0 ]; then
eerror "Cannot cd into requested directory"
return 1
fi
fi
[ ${SERVER} = thin -o ${NOCONFIG} != 0 ] && return 0
if [ ! -f ${CONFIG} ]; then
eerror "Unable to find the server configuration."
eerror "Please set the CONFIG variable in /etc/conf.d/${SVCNAME} or"
eerror "set NOCONFIG there to 1 to disable looking for a config file."
return 1
fi
}
buildargs() {
if [ ${NOCONFIG} = 0 -a ${SERVER} != thin ]; then
echo -n "-C ${CONFIG} "
fi
echo -n "${THIN_OPTS}"
}
action() {
checkconfig || return 1
[ ${DO_BUNDLER} -ne 0 ] && RUBY="${RUBY} /usr/bin/bundle exec"
if [ ${SERVER} = thin ]; then
ebegin "$2 all thin servers in ${CONFIG}"
${RUBY} /usr/bin/thin $1 $(buildargs) --all ${CONFIG}
eend $?
else
ebegin "$2 thin server ${SERVER}"
${RUBY} /usr/bin/thin $(buildargs) --tag ${SERVER} $1
eend $?
fi
}
start() {
action start 'Starting'
}
stop() {
action stop 'Stopping'
}
restart() {
action restart 'Restarting'
}
start_pre() {
checkpath -d -m 0775 -o ${THIN_USER}:${THIN_GROUP} $(dirname ${THIN_PID})
}

View File

@ -0,0 +1,77 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
USE_RUBY="ruby19 ruby20"
RUBY_FAKEGEM_TASK_TEST="spec"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
inherit ruby-fakegem
DESCRIPTION="A fast and very simple Ruby web server"
HOMEPAGE="http://code.macournoyer.com/thin/"
SRC_URI="https://github.com/macournoyer/thin/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Ruby"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
DEPEND="${DEPEND}
dev-util/ragel"
RDEPEND="${RDEPEND}"
# The runtime dependencies are used at build-time as well since the
# Rakefile loads thin!
mydeps=">=dev-ruby/daemons-1.0.9
>=dev-ruby/rack-1.0.0
>=dev-ruby/eventmachine-1.0.0
virtual/ruby-ssl"
ruby_add_rdepend "${mydeps}"
ruby_add_bdepend "${mydeps}
dev-ruby/rake-compiler
test? ( dev-ruby/rspec:0 )"
all_ruby_prepare() {
# Fix Ragel-based parser generation (uses a *very* old syntax that
# is not supported in Gentoo)
sed -i -e 's: | rlgen-cd::' Rakefile || die
# Fix specs' dependencies so that the extension is not rebuilt
# when running tests
sed -i -e '/:spec =>/s:^:#:' tasks/spec.rake || die
# Fix rspec version to allow newer 1.x versions
sed -i -e '/gem "rspec"/ s/1.2.9/1.0/' tasks/spec.rake spec/spec_helper.rb || die
# Avoid CLEAN since it may not be available and we don't need it.
sed -i -e '/CLEAN/ s:^:#:' tasks/*.rake || die
# nasty but too complex to fix up for now :(
use test || rm tasks/spec.rake
}
each_ruby_compile() {
${RUBY} -S rake compile || die "rake compile failed"
}
all_ruby_install() {
all_fakegem_install
keepdir /etc/thin
newinitd "${FILESDIR}"/${PN}.initd-2 ${PN}
newconfd "${FILESDIR}"/${PN}.confd-2 ${PN}
einfo
elog "Thin is now shipped with init scripts."
elog "The default script (/etc/init.d/thin) will start all servers that have"
elog "configuration files in /etc/thin/. You can symlink the init script to"
elog "files of the format 'thin.SERVER' to be able to start individual servers."
elog "See /etc/conf.d/thin for more configuration options."
einfo
}