www-servers/h2o: new upstream release
authorAkinori Hattori <hattya@gentoo.org>
Thu, 3 Oct 2019 12:12:37 +0000 (21:12 +0900)
committerAkinori Hattori <hattya@gentoo.org>
Thu, 3 Oct 2019 12:12:37 +0000 (21:12 +0900)
Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Akinori Hattori <hattya@gentoo.org>
www-servers/h2o/Manifest
www-servers/h2o/h2o-2.2.6.ebuild [new file with mode: 0644]

index ddfd2ff20f2ebf9f856da1a12d8654f89aee0717..b6f7c241492e57853ebce7e361f3fada80c64adf 100644 (file)
@@ -1 +1,2 @@
 DIST h2o-2.2.5.tar.gz 16257295 BLAKE2B 3c13796eaf9a0aca29bbff7c35fb36d0b5ef47da91f39f71614a89f2d4fea5b1ebbc8f4e3e50bf37a02a84c0fcd96d5ac0be20c83add274157af966134b2d185 SHA512 24b07140d24fbb7796038aab44f44be5ffabc6f2841954273e2ad9f1a864e5482051dd7abfa6446297a46b6868763114695fa4f123ee3175bdac53b4c1868bc2
+DIST h2o-2.2.6.tar.gz 16257760 BLAKE2B 8474751ca9832ddae2022710654ca58a93ebf9ca01afe934950209b04357b7548b05c598c49fe92684b2910fd6309d6fc3923a0b01cdeeb4b0dc65b08842255f SHA512 f2f28905c01782a0432c9dfdb2f21054e0a4741ac4c5f26802d4b439d0172840aa215aba5dc7c9af62275dcc24de105674a3819384dc38246e43ce3e8263eb20
diff --git a/www-servers/h2o/h2o-2.2.6.ebuild b/www-servers/h2o/h2o-2.2.6.ebuild
new file mode 100644 (file)
index 0000000..5866007
--- /dev/null
@@ -0,0 +1,103 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+CMAKE_MAKEFILE_GENERATOR="emake"
+SSL_DEPS_SKIP=1
+USE_RUBY="ruby24 ruby25 ruby26"
+
+inherit cmake-utils ruby-single ssl-cert systemd toolchain-funcs user
+
+DESCRIPTION="H2O - the optimized HTTP/1, HTTP/2 server"
+HOMEPAGE="https://h2o.examp1e.net/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl +mruby"
+
+RDEPEND="dev-lang/perl
+       sys-libs/zlib
+       !libressl? ( dev-libs/openssl:0= )
+       libressl? ( dev-libs/libressl:0= )"
+DEPEND="${RDEPEND}
+       mruby? (
+               ${RUBY_DEPS}
+               || (
+                       dev-libs/onigmo
+                       dev-libs/oniguruma
+               )
+               sys-devel/bison
+               virtual/pkgconfig
+       )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.2-libressl-2.7.patch
+       "${FILESDIR}"/${PN}-2.2-mruby.patch
+)
+
+pkg_setup() {
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       local ruby="ruby"
+       if use mruby; then
+               for ruby in ${RUBY_TARGETS_PREFERENCE}; do
+                       if has_version dev-lang/ruby:${ruby:4:1}.${ruby:5}; then
+                               break
+                       fi
+                       ruby=
+               done
+               [[ -z ${ruby} ]] && die "no suitable ruby version found"
+       fi
+
+       sed -i \
+               -e "/INSTALL/s:\(/doc/${PN}\) :\1/html :" \
+               -e "/INSTALL/s:\(/doc\)/${PN}:\1/${PF}:" \
+               -e "s: ruby: ${ruby}:" \
+               CMakeLists.txt
+
+       sed -i "s:pkg-config:$(tc-getPKG_CONFIG):g" deps/mruby/lib/mruby/gem.rb
+       tc-export CC
+       export LD="$(tc-getCC)"
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}"/etc/${PN}
+               -DWITH_MRUBY=$(usex mruby)
+               -DWITHOUT_LIBS=ON
+       )
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       keepdir /var/www/localhost/htdocs
+
+       insinto /etc/${PN}
+       doins "${FILESDIR}"/${PN}.conf
+
+       newinitd "${FILESDIR}"/${PN}.initd ${PN}
+       systemd_dounit "${FILESDIR}"/${PN}.service
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+       keepdir /var/log/${PN}
+       fowners ${PN}:${PN} /var/log/${PN}
+       fperms 0750 /var/log/${PN}
+}
+
+pkg_postinst() {
+       if [[ ! -f "${EROOT}"etc/ssl/${PN}/server.key ]]; then
+               install_cert /etc/ssl/${PN}/server
+               chown ${PN}:${PN} "${EROOT}"etc/ssl/${PN}/server.*
+       fi
+}