diff options
Diffstat (limited to 'www-servers/thin')
-rw-r--r-- | www-servers/thin/Manifest | 11 | ||||
-rw-r--r-- | www-servers/thin/files/thin.confd-2 | 39 | ||||
-rw-r--r-- | www-servers/thin/files/thin.initd-r4 | 87 | ||||
-rw-r--r-- | www-servers/thin/metadata.xml | 16 | ||||
-rw-r--r-- | www-servers/thin/thin-1.7.0-r1.ebuild | 88 | ||||
-rw-r--r-- | www-servers/thin/thin-1.7.1.ebuild | 88 | ||||
-rw-r--r-- | www-servers/thin/thin-1.7.2.ebuild | 88 |
7 files changed, 417 insertions, 0 deletions
diff --git a/www-servers/thin/Manifest b/www-servers/thin/Manifest new file mode 100644 index 000000000000..2a079676c55c --- /dev/null +++ b/www-servers/thin/Manifest @@ -0,0 +1,11 @@ +AUX thin.confd-2 1251 SHA256 36ade83707fa363434485e83ede77379fb55300f7e00a3b4bbc8f11cf1249c18 SHA512 b3e02dd2c13871068f47241a73ac4d9f0a98932fc263303913a48dbd5d4b95148dcdb7ebced7ac5f2d853e33c1a9214467375b72b3fbee0bc0354f97f96f6891 WHIRLPOOL 15bb001460aa34c03c1ebde665f0c17d50c491d9ee6ffba4d5462cd67ca3699ee4b0443ec2bbe730e736aa8d3cd9987a893d5c9a54ad11bcb9e18cba41eca83a +AUX thin.initd-r4 1828 SHA256 2c0f060ad193074c559e02b9c9a7803b18fd823a1c796267c21c06af7341d8fb SHA512 e953b9c3edc8a881eadba3ea3cadb63e67e8361847ede72678cc4c2730b30aaf1664ffdbe86e21b1524fc9753afe912c8f1466158d088f97ab6318cdd798c110 WHIRLPOOL 5575527b0a64fe59b097410e7a462a5ac0668c7ef40029fd0009b4651362c9961965e777cc7036f448c8e01a17b589325f28e7375ab773eb0249f9dd6631ae72 +DIST thin-1.7.0.tar.gz 180791 SHA256 8574ea81e50fc6b46bf48c147cce26eb698f60b554228498daba88f65b043927 SHA512 a41ffb8792f5dbc732696af4914e5121e83f21d18e5aae64676dc5d035f84c0e13d352565c5004ba7ac2e42c701522a6aa6a9250303877c3ac566c30336df2c3 WHIRLPOOL 029fde0ec69b4c1bbd57cd98e483c6fa8ec2ae82e4e80c43b0d328a8c424867737b9d8db7a5f642e70b6946092c26b6594d06d884efd2a5efe98b1f387ff9fec +DIST thin-1.7.1.tar.gz 179998 SHA256 2b9dbf80d7e2982ed166582af04b0a60dce176461a2547617839610630428120 SHA512 7a5e3ccef263e5ba15cf53f38d7a8ae6ff974a4cfee2844cc15f9e6afb155b73b43e8c2ba49e177cad20eb9a728f4ddbe0d88417ad7f1c11ca2a535745da73ef WHIRLPOOL ad60616ed1d0d3ef162e63baf187b13757197022ef4646c8a9cfabcfff750cf325511f2153404dd1e92b4a35bde4aac3f5a6b80ab0eb142a9915508b195cd401 +DIST thin-1.7.2.tar.gz 180169 SHA256 667a78697331b917ad0f14974537c000c6e06d67a0d9b2a6592791adfed2c48f SHA512 2c3c831eed4444d42fc88fc2c46e557284748b6b6bf331d6fd827073918cc3a869e5a60bf7db19ba82add28e07c8a8c92dac609a56cda82b41b37ddfb247e7bf WHIRLPOOL 58af305497cfb6a59f84efbb6b6565e66ef97113efd6aa82e9d794fa5d6e919c6805da278639845eb0c9b2d263c6703ef81b8edc9904acb74db475c68d10b99b +EBUILD thin-1.7.0-r1.ebuild 2528 SHA256 c7e994b5cb19c5bef56e0b495d812a927f1205352fe585308f8fd602e909a221 SHA512 5624279a8d84d726b8eb40d9d4bd527b98a1df269f673c7afa1dc6ae0d1cab8b4495ba1edba9e152db5cc03a17b230b037f87ef83b01327f047edf06e3fe8384 WHIRLPOOL 5fda26b60e446f753faba4f0546b80bd468d9b5200c6a0b7f36555fbd8c74305504fa8cd6339d30f0b44d7eb1984c5c623904dc0a18aa54f7e1e6a39dfacb041 +EBUILD thin-1.7.1.ebuild 2528 SHA256 9caebf9a9aa2add82f36456bc304e61f4c9630fcafe6865e2065f775afaaeeca SHA512 ee062a4462fd648bb653cfbe7dad4f1459f733682fa2f8c864f1009fd17e0ec8f4ab16e5f1f67636f30e1dff59a8c6952d0ab6329c7cb6c042fe293639b5988a WHIRLPOOL dca070b9aafdf6dd7a010ab786aa05bf21e6df7252aa35753502830e548ef4eaad5d5a7ac0eeda990855826a27b4d2894ad829745ae9ea98602b53bda2fcbdf0 +EBUILD thin-1.7.2.ebuild 2528 SHA256 9caebf9a9aa2add82f36456bc304e61f4c9630fcafe6865e2065f775afaaeeca SHA512 ee062a4462fd648bb653cfbe7dad4f1459f733682fa2f8c864f1009fd17e0ec8f4ab16e5f1f67636f30e1dff59a8c6952d0ab6329c7cb6c042fe293639b5988a WHIRLPOOL dca070b9aafdf6dd7a010ab786aa05bf21e6df7252aa35753502830e548ef4eaad5d5a7ac0eeda990855826a27b4d2894ad829745ae9ea98602b53bda2fcbdf0 +MISC ChangeLog 4256 SHA256 50c09db662d38ee927fcce87b4693f43985c3995d90dd79cd4549ab29facda5d SHA512 e46597767890cdeba4bd3d5c9ff900e47440165938d624e2159c27d6cde7fe9459e84763e729e128bbcbc47b0da31ddf9573601bbfc9bb10e93099bdb40d923f WHIRLPOOL c6bee0b654537512fcb36c4f09727df386b06f84eb78ad3f665afb4eef06c6fd1c2dcffc618bf88d24dec7890907decc14772e484c9c0e220de1a0673289de39 +MISC ChangeLog-2015 5333 SHA256 46893ee18b5b3de7389e6e5aa95e802addb97011a4f12c26a37189b15ffcbba7 SHA512 5b7022bfeb4cbadda1aff9da08e3f6947a3a4ee8dacbce8e0ce2d0fc3cf6c65ee35134693d3bf093dc0002e3061f43b0ec9fee73dfc9c6b46b58ee03874d4441 WHIRLPOOL 777fb8f419b94294ccdc40449d8da0eb86304e7269629d3a9ba0f977b4cffa2981dfa88183164b7b3ca169da7de2f1e6c06a9d6be6a5f112d5449dbf0f02ba9e +MISC metadata.xml 605 SHA256 9bc727cc0ea3eaea700fab2cf58b546e1a8c1119bc2fc0338c2aa98acbad866d SHA512 df6cb1ce64273629695d5f6a5b2a56957b853d73c75ce2d0cb51abf7a9980783d4370e2f3f1a0813ed03cf77ffc8119bcdf7d20465de64c3d8300e6cc1a2cb3c WHIRLPOOL df4cca502f096464dcf5c8c2ecd20920f9ca91a17c3a09756adaf93a751e97dbd984960d1aaef62168a74d4e18682f41fb05f926089ac1e39281bd81b4dabbba diff --git a/www-servers/thin/files/thin.confd-2 b/www-servers/thin/files/thin.confd-2 new file mode 100644 index 000000000000..ca89c44cfd0e --- /dev/null +++ b/www-servers/thin/files/thin.confd-2 @@ -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= diff --git a/www-servers/thin/files/thin.initd-r4 b/www-servers/thin/files/thin.initd-r4 new file mode 100644 index 000000000000..9885a830e73e --- /dev/null +++ b/www-servers/thin/files/thin.initd-r4 @@ -0,0 +1,87 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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() { + # If the path to the pidfile is /var/run/thin/foo/thin.pid + # then checkpath will fail if /var/run/thin/ does not exist. + # This caught infra... + d=$(dirname ${THIN_PID}) + mkdir -p "$d" + checkpath -d -m 0775 -o ${THIN_USER}:${THIN_GROUP} "$d" +} diff --git a/www-servers/thin/metadata.xml b/www-servers/thin/metadata.xml new file mode 100644 index 000000000000..70ae99a48a27 --- /dev/null +++ b/www-servers/thin/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>ruby@gentoo.org</email> + <name>Gentoo Ruby Project</name> + </maintainer> + <longdescription> +Thin is a very simple web server written in Ruby. It's single-threaded, which +means it can only serve one request at a time. This simplicity affords increased +speed and decreased memory usage for singled-threaded framework like Rails. +</longdescription> + <upstream> + <remote-id type="github">macournoyer/thin</remote-id> + </upstream> +</pkgmetadata> diff --git a/www-servers/thin/thin-1.7.0-r1.ebuild b/www-servers/thin/thin-1.7.0-r1.ebuild new file mode 100644 index 000000000000..48f44ec1c598 --- /dev/null +++ b/www-servers/thin/thin-1.7.0-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +USE_RUBY="ruby21 ruby22 ruby23" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" +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 ~ppc64 ~x86" +IUSE="doc test" + +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/rack-3:* + >=dev-ruby/eventmachine-1.0.4:0 + virtual/ruby-ssl" + +ruby_add_rdepend "${mydeps}" +ruby_add_bdepend "${mydeps} + dev-ruby/rake-compiler" + +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 + rm tasks/spec.rake || die + + # Fix rspec version to allow newer 2.x versions + sed -i -e '/gem "rspec"/ s/1.2.9/2.0/' 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 + + # Disable a test that is known for freezing the testsuite, + # reported upstream. In thin 1.5.1 this just fails. + sed -i \ + -e '/should force kill process in pid file/,/^ end/ s:^:#:' \ + spec/daemonizing_spec.rb || die + + sed -i \ + -e '/tracing routines (with NO custom logger)/,/^ end/ s:^:#:'\ + spec/logging_spec.rb || die + + find spec/perf -name "*_spec.rb" -exec \ + sed -i '/be_faster_then/ i \ pending' {} \; + + sed -i -e "s/Spec::Runner/Rspec/" spec/spec_helper.rb || die + # nasty but too complex to fix up for now :( + use doc || rm tasks/rdoc.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-r4 ${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 +} diff --git a/www-servers/thin/thin-1.7.1.ebuild b/www-servers/thin/thin-1.7.1.ebuild new file mode 100644 index 000000000000..b57be6e1536c --- /dev/null +++ b/www-servers/thin/thin-1.7.1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +USE_RUBY="ruby21 ruby22 ruby23" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" +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 ~ppc64 ~x86" +IUSE="doc test" + +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/rack-3:* + >=dev-ruby/eventmachine-1.0.4:0 + virtual/ruby-ssl" + +ruby_add_rdepend "${mydeps}" +ruby_add_bdepend "${mydeps} + dev-ruby/rake-compiler" + +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 + rm tasks/spec.rake || die + + # Fix rspec version to allow newer 2.x versions + sed -i -e '/gem "rspec"/ s/1.2.9/2.0/' 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 + + # Disable a test that is known for freezing the testsuite, + # reported upstream. In thin 1.5.1 this just fails. + sed -i \ + -e '/should force kill process in pid file/,/^ end/ s:^:#:' \ + spec/daemonizing_spec.rb || die + + sed -i \ + -e '/tracing routines (with NO custom logger)/,/^ end/ s:^:#:'\ + spec/logging_spec.rb || die + + find spec/perf -name "*_spec.rb" -exec \ + sed -i '/be_faster_then/ i \ pending' {} \; + + sed -i -e "s/Spec::Runner/Rspec/" spec/spec_helper.rb || die + # nasty but too complex to fix up for now :( + use doc || rm tasks/rdoc.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-r4 ${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 +} diff --git a/www-servers/thin/thin-1.7.2.ebuild b/www-servers/thin/thin-1.7.2.ebuild new file mode 100644 index 000000000000..b57be6e1536c --- /dev/null +++ b/www-servers/thin/thin-1.7.2.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +USE_RUBY="ruby21 ruby22 ruby23" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" +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 ~ppc64 ~x86" +IUSE="doc test" + +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/rack-3:* + >=dev-ruby/eventmachine-1.0.4:0 + virtual/ruby-ssl" + +ruby_add_rdepend "${mydeps}" +ruby_add_bdepend "${mydeps} + dev-ruby/rake-compiler" + +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 + rm tasks/spec.rake || die + + # Fix rspec version to allow newer 2.x versions + sed -i -e '/gem "rspec"/ s/1.2.9/2.0/' 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 + + # Disable a test that is known for freezing the testsuite, + # reported upstream. In thin 1.5.1 this just fails. + sed -i \ + -e '/should force kill process in pid file/,/^ end/ s:^:#:' \ + spec/daemonizing_spec.rb || die + + sed -i \ + -e '/tracing routines (with NO custom logger)/,/^ end/ s:^:#:'\ + spec/logging_spec.rb || die + + find spec/perf -name "*_spec.rb" -exec \ + sed -i '/be_faster_then/ i \ pending' {} \; + + sed -i -e "s/Spec::Runner/Rspec/" spec/spec_helper.rb || die + # nasty but too complex to fix up for now :( + use doc || rm tasks/rdoc.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-r4 ${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 +} |