diff options
-rw-r--r-- | www-servers/h2o/Manifest | 1 | ||||
-rw-r--r-- | www-servers/h2o/h2o-2.3.0_pre20241014.ebuild | 105 |
2 files changed, 106 insertions, 0 deletions
diff --git a/www-servers/h2o/Manifest b/www-servers/h2o/Manifest index 710248b421ac..17b7ff330ad5 100644 --- a/www-servers/h2o/Manifest +++ b/www-servers/h2o/Manifest @@ -1 +1,2 @@ DIST h2o-2.2.6.tar.gz 16257760 BLAKE2B 8474751ca9832ddae2022710654ca58a93ebf9ca01afe934950209b04357b7548b05c598c49fe92684b2910fd6309d6fc3923a0b01cdeeb4b0dc65b08842255f SHA512 f2f28905c01782a0432c9dfdb2f21054e0a4741ac4c5f26802d4b439d0172840aa215aba5dc7c9af62275dcc24de105674a3819384dc38246e43ce3e8263eb20 +DIST h2o-2.3.0_pre20241014.tar.gz 30845679 BLAKE2B 9c0d21f31770dd0591690ab8b2fc5e08052cf0aa40046e9bb03158907c05cfd8121bdb140f175172da3a0c8653a09d2729581017f6cc20a53c0bbb534db6263b SHA512 d4d3cdf8553f8583fe3dd7fe9f34e055f0cef39a8c0fa370e837afbe11a7ff9fa0e907a2edf014ec494b663a6216f643daca19a1c23ff163a4c2514a45ccc706 diff --git a/www-servers/h2o/h2o-2.3.0_pre20241014.ebuild b/www-servers/h2o/h2o-2.3.0_pre20241014.ebuild new file mode 100644 index 000000000000..7b41203ca8d6 --- /dev/null +++ b/www-servers/h2o/h2o-2.3.0_pre20241014.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +SSL_DEPS_SKIP=1 +USE_RUBY="ruby31 ruby32 ruby33" + +inherit cmake ruby-single ssl-cert systemd toolchain-funcs vcs-snapshot + +EGIT_COMMIT="1bafd5e6f2638d4967a464ddbc828d40f69cb322" + +DESCRIPTION="H2O - the optimized HTTP/1, HTTP/2 server" +HOMEPAGE="https://h2o.examp1e.net/" +SRC_URI="https://github.com/${PN}/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="libh2o +mruby" + +RDEPEND="acct-group/h2o + acct-user/h2o + dev-lang/perl + dev-libs/openssl:0= + !sci-libs/libh2o + sys-libs/libcap + sys-libs/zlib + libh2o? ( + app-arch/brotli + dev-libs/libuv + )" +DEPEND="${RDEPEND} + mruby? ( + ${RUBY_DEPS} + || ( + dev-libs/onigmo + dev-libs/oniguruma + ) + )" +BDEPEND="virtual/pkgconfig + mruby? ( app-alternatives/yacc )" + +PATCHES=( "${FILESDIR}"/${PN}-2.3-mruby.patch ) + +src_prepare() { + cmake_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_CCACHE=OFF + -DWITH_MRUBY=$(usex mruby) + -DWITHOUT_LIBS=$(usex !libh2o) + -DBUILD_SHARED_LIBS=$(usex libh2o) + ) + cmake_src_configure +} + +src_install() { + cmake_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 +} |