summaryrefslogtreecommitdiff
path: root/www-servers/h2o
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-07 11:42:03 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-07 11:42:03 +0100
commitf70601e0934acd62f6c5d06c5ede4cc607179514 (patch)
tree0b337390375de04b950fc4b45edc0f895a4701a4 /www-servers/h2o
parentb2be182d49eea46686b5cf2680d457df61e89dc4 (diff)
gentoo resync : 07.07.2018
Diffstat (limited to 'www-servers/h2o')
-rw-r--r--www-servers/h2o/Manifest14
-rw-r--r--www-servers/h2o/files/h2o-2.2-mruby.patch67
-rw-r--r--www-servers/h2o/files/h2o-2.3-mruby.patch73
-rw-r--r--www-servers/h2o/files/h2o.initd54
-rw-r--r--www-servers/h2o/files/h2o.logrotate7
-rw-r--r--www-servers/h2o/files/h2o.service12
-rw-r--r--www-servers/h2o/h2o-2.2.4.ebuild72
-rw-r--r--www-servers/h2o/h2o-9999.ebuild69
-rw-r--r--www-servers/h2o/metadata.xml1
9 files changed, 276 insertions, 93 deletions
diff --git a/www-servers/h2o/Manifest b/www-servers/h2o/Manifest
index c02ea49d68a0..ec1d0712bef2 100644
--- a/www-servers/h2o/Manifest
+++ b/www-servers/h2o/Manifest
@@ -1,9 +1,11 @@
+AUX h2o-2.2-mruby.patch 2532 BLAKE2B dc12356bb1e4685ee88a8a1aae1d70d6555225413649b252840dc5a572fced7f818b8439b8480ec2a1b2bf9a0ddf62670f21ee1b7f42f2b877e711cf3a22048a SHA512 9c3b5d3bb18bba55019a305346211e1784c83c6c21dfb1c086169e49afd423f7be71e0cbc05703199423bc56e892b9e653e9df43e861208033fb7766ab2a59d5
AUX h2o-2.2.4-libressl.patch 1946 BLAKE2B 6acaf45e7db2faf4fa09aa2214f6389e7f5b421c9bae8ae10dd35569d609839c2d9a7e8ca1c7057b37812d7b444406c86fae496084665e57d0688c76cf095b68 SHA512 63558d53fe52deaa54976fe33346708ed9b3c59588930ef463ae9d9f89747acc66038d3105dec1b72051715ba523323a6cb7c4bdbb445d521f23d9682ca4717f
+AUX h2o-2.3-mruby.patch 2993 BLAKE2B 5da06fa53d67a201e468b56aa78136edea305bc79d9d645da5a12ca54a4d633e821312e0bde382ed07229ee173ab02df8bcba592e076a8b39a199a8a7e185393 SHA512 de2e98103cea6337f68d31c8600de37ff5cf8163df824a19d1879c0a60e603773d4e9a42b926b94156ad0743e67ce630e73e9e81e86dc192d51656f595d26790
AUX h2o.conf 673 BLAKE2B 2e7a51fa8ba766df6d3542e434c786e9ffcb4016a1ff9b3a1f065592eb559b90706e927ac8063b5f95f0aa78eb247b366d2a7e69226f261d11a5d610a8c11eab SHA512 48ab93dd7aee65f88bb12bc270f0ba0edf31bcb4610bb4b648936f8ffca47b30a3aa2aec129aa3c985f476450dc47305bd111f326715941f84e54bbc66f1325a
-AUX h2o.initd 1137 BLAKE2B f972dddb7aa076110d4384105b8d4444ee8021f7d28ecd80058063cb01cbf4190c925e3af5e47de287719726ab1acdcc71e000ac6c80f74ce0360ff8dd28943f SHA512 2509b1b6996be25bba158b626c8eb260aae2400d76dc0edcee38869eb1124ae9ed125fb1887bf85f3c96db189b68c77706c7a9aeb9f4be2d2dfd998606d3a763
-AUX h2o.logrotate 176 BLAKE2B 90e56a5170ec4eb6e42a907cb03e38a8944a32416e8b28f8b666262889c0d2a54ca37e3563fe4511038e665c3e6c2dd9a7a3640739a118359e314813818ec59d SHA512 e7e15bb7813b45342a9d435d07eea0627b802a4c03c6f4204b533a7bfac9566152f875965e4ea761572324a278e7b85c507729210d92ca4bede3ef9b9d2ac305
-AUX h2o.service 290 BLAKE2B 3cddabe28f0054d1e9f650ae1520bc13a417227a244ffe7f1b72c87dabeeb244f3d786b7ad5676e8d94c9c98428e7af88e5edd8db35ae596026c9f2f0aa31b87 SHA512 e1acd226a5e333538be782f5d47c8debf418966c86eaa5d7464431ecc399821e336c9539e90370b9f8041c023f876815050e5ad5a7d29288b6f87bd3adbe0e95
+AUX h2o.initd 845 BLAKE2B f420962962517051c695f00e11a3b6edb899a672d0984db3d68b88545064767e7059cd9b3ec60b7cb70469b403e0927dbaea4e9f7b7a00979b4f036f945585d5 SHA512 9fdfde2857d97937939b1dd591b94f26f77b6fd6061d385c807738be508f1df740acf36c38ca95c22a36f13caed5d537b6fc1f6cceaf1beda8f8f48ef452c177
+AUX h2o.logrotate 230 BLAKE2B 44eeaf3b0e60104d4f87c7110815a30f907a6fd676e75a2068fb9cddd8192d3e75729aaeabc89d6430eef7c075b21271918fd65b086de188f7df0c6ceb332141 SHA512 88d36e272c52c5df765d8ebac8f2acca378c8b096af7fa8eda68e1ec5597cba6096286f0ab634f128329148e65980128f0612e90a185de781c5d109653e096dd
+AUX h2o.service 364 BLAKE2B 9995cde4d79e5998624a2cadfc6ec3e954d4609458cc267628c2fbcb44dccd78277bddc032a784a00445c6b399fafc1ee629920355bf7aa84d26b1010bd103b0 SHA512 475b1e7b616eae335e094451532b0de5aa9cf9abc4999aaa44a9a35c43def4fb060ee5e728409bc33960f8ad3a81e6f549783906ac7ebad5b72cb7422ffb96a2
DIST h2o-2.2.4.tar.gz 16212596 BLAKE2B 0c2702fb3c7e85e7eae107294794f80cee02b6b2488bbc2e880ea356d8362f0de8f08c3c3d686512cbf9ae1558aed23354f44e27edaf449e43d5876940248296 SHA512 508ebe93b890f573e735d9b1f9c91a669144be3523e34fb7455227fd10b38e04a5db73e706fe8d05849fea3019e792754097871c073715c9eef4eae7c33560b5
-EBUILD h2o-2.2.4.ebuild 1379 BLAKE2B 2bea638d603a43d339673e315d5a962b489e1927f30f7c887a3cbd27ef8359dc6291ef689d2d70e3eccf51ed2bc5993270e250b49cb43bbf0a7f08fe60a50cec SHA512 d997c62b90e5a80eda61bb9056778fe99f123765529804a19aed8817506df7d1b6fe418d7a91bdfd497cb355ad0c80b182ff2ec258608307a49c0255bd0feddb
-EBUILD h2o-9999.ebuild 1124 BLAKE2B 25f6ead8a1169987f617695b5ff588305dc6f6f44e0210e9844139b169b8fb22af522a3e91ccff1c27935117dcba29c66606bef84c34091fcf802176b7939887 SHA512 7829f692d3611dea66e531492c1035ef3233817bebce5e6b486a958b1b70f4416b98d88d607a912a78dc9197aacedfcd398ed4b0d81dd78c95df0812c065a604
-MISC metadata.xml 579 BLAKE2B 127143bfc1619f9f46f1310b42601467eee1d41aa18dcbc8833c5e8c47a9d706123a0165064cc1771d61490a73665639f347ae37affad6645383f4ed949463f1 SHA512 746a839a6b0b17228f8c9e549ec01674c2656e280d9c8511cf335558a90b3118d36bfc1577d6abc53f28222dd409cc6723549a0179a3aa028421daf3e95b88af
+EBUILD h2o-2.2.4.ebuild 1852 BLAKE2B 3c34435df69fbd852f5d3a0433180c08af9766bbc026c487fc2c7a7df48bc1738badcb803366990361be7c24b9cb8aee02f368714b0b5709ec1ce765313f180f SHA512 45091b92f662b04f6825e0ecd616e8d881966ddb0cb2ca07c660ef4552908de1ca10543c278211ad545b1e2f83a2b56e1d6066aeea95ad159e01211afa5b81cf
+EBUILD h2o-9999.ebuild 1785 BLAKE2B 65b7e61dc2142221a62615a7ac2d7072f0d9923b1b7c386b7e2aec896be70c1270d6f6e3e2bd2353826b8670a87ada5b218862fa8be9930cf16e46592e63c5ac SHA512 fccb2195da0b1abf236cc44fca72ee81e224a7ae23b93442cfecbd57012bc9c79d1957f250986915309f600d016fe6dcad5c1c329ffcd8bb19328d7f2d38adf4
+MISC metadata.xml 610 BLAKE2B ada180731f691d3937d481e71f704b3ad47212114b170420f58e82e4163e4ca388c4f88c1b0760de4fa87e839b5485855f4a23f5fc57f305bd14dcd4b2c54405 SHA512 91c163c3d59c8797d6fac98c20c6bb888cf547e4c6d71090d0556e49b46ec23a44ffc116230621262aaaf0e9cd9aabc1c0b250b7d8e435c42ec01fae5a0d913b
diff --git a/www-servers/h2o/files/h2o-2.2-mruby.patch b/www-servers/h2o/files/h2o-2.2-mruby.patch
new file mode 100644
index 000000000000..e542ba8b64db
--- /dev/null
+++ b/www-servers/h2o/files/h2o-2.2-mruby.patch
@@ -0,0 +1,67 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -157,6 +157,16 @@
+ SET(WSLAY_LIBRARIES -lwslay)
+ ENDIF (NOT WSLAY_FOUND)
+
++IF (PKG_CONFIG_FOUND)
++ PKG_CHECK_MODULES(ONIG oniguruma)
++ IF (ONIG_FOUND)
++ LINK_DIRECTORIES(${ONIG_LIBRARY_DIRS})
++ ENDIF (ONIG_FOUND)
++ENDIF (PKG_CONFIG_FOUND)
++IF (NOT ONIG_FOUND AND WITH_RUBY)
++ MESSAGE(FATAL_ERROR "Oniguruma not found")
++ENDIF (NOT ONIG_FOUND AND WITH_RUBY)
++
+ IF (ZLIB_FOUND)
+ INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
+ LINK_DIRECTORIES(${ZLIB_LIBRARY_DIRS})
+@@ -460,7 +470,7 @@
+ ELSE ()
+ SET(MRUBY_TOOLCHAIN "gcc")
+ ENDIF ()
+- ADD_CUSTOM_TARGET(mruby MRUBY_TOOLCHAIN=${MRUBY_TOOLCHAIN} MRUBY_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/misc/mruby_config.rb MRUBY_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby ruby minirake
++ ADD_CUSTOM_TARGET(mruby MRUBY_TOOLCHAIN=${MRUBY_TOOLCHAIN} MRUBY_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/misc/mruby_config.rb MRUBY_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby ruby minirake -v
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby)
+ LIST(APPEND STANDALONE_SOURCE_FILES
+ lib/handler/mruby.c
+@@ -491,7 +501,7 @@
+ # note: the paths need to be determined before libmruby.flags.mak is generated
+ TARGET_LINK_LIBRARIES(h2o
+ "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/lib/libmruby.a"
+- "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/mrbgems/mruby-onig-regexp/onigmo-6.1.1/.libs/libonigmo.a"
++ ${ONIG_LIBRARIES}
+ "m")
+ ADD_DEPENDENCIES(h2o mruby)
+ ENDIF (WITH_MRUBY)
+--- a/deps/mruby-onig-regexp/mrbgem.rake
++++ b/deps/mruby-onig-regexp/mrbgem.rake
+@@ -101,9 +101,7 @@
+ cc.defines += ['HAVE_ONIGMO_H']
+ end
+
+- if spec.respond_to? :search_package and spec.search_package 'onigmo'
+- spec.cc.defines += ['HAVE_ONIGMO_H']
+- elsif spec.respond_to? :search_package and spec.search_package 'oniguruma'
++ if spec.respond_to? :search_package and spec.search_package 'oniguruma'
+ spec.cc.defines += ['HAVE_ONIGURUMA_H']
+ elsif build.cc.respond_to? :search_header_path and build.cc.search_header_path 'oniguruma.h'
+ spec.linker.libraries << 'onig'
+--- a/misc/mruby_config.rb
++++ b/misc/mruby_config.rb
+@@ -15,13 +15,7 @@
+ # use mrbgems
+ Dir.glob("../mruby-*/mrbgem.rake") do |x|
+ g = File.basename File.dirname x
+- if g == 'mruby-onig-regexp'
+- conf.gem "../deps/#{g}" do |c|
+- c.bundle_onigmo
+- end
+- else
+- conf.gem "../deps/#{g}"
+- end
++ conf.gem "../deps/#{g}"
+ end
+
+ # include all the core GEMs
diff --git a/www-servers/h2o/files/h2o-2.3-mruby.patch b/www-servers/h2o/files/h2o-2.3-mruby.patch
new file mode 100644
index 000000000000..a0ad25eba279
--- /dev/null
+++ b/www-servers/h2o/files/h2o-2.3-mruby.patch
@@ -0,0 +1,73 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -174,6 +174,16 @@
+ SET(WSLAY_LIBRARIES -lwslay)
+ ENDIF (NOT WSLAY_FOUND)
+
++IF (PKG_CONFIG_FOUND)
++ PKG_CHECK_MODULES(ONIG oniguruma)
++ IF (ONIG_FOUND)
++ LINK_DIRECTORIES(${ONIG_LIBRARY_DIRS})
++ ENDIF (ONIG_FOUND)
++ENDIF (PKG_CONFIG_FOUND)
++IF (NOT ONIG_FOUND AND WITH_RUBY)
++ MESSAGE(FATAL_ERROR "Oniguruma not found")
++ENDIF (NOT ONIG_FOUND AND WITH_RUBY)
++
+ IF (ZLIB_FOUND)
+ INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
+ LINK_DIRECTORIES(${ZLIB_LIBRARY_DIRS})
+@@ -533,7 +543,7 @@
+ ELSE ()
+ SET(MRUBY_TOOLCHAIN "gcc")
+ ENDIF ()
+- ADD_CUSTOM_TARGET(mruby MRUBY_TOOLCHAIN=${MRUBY_TOOLCHAIN} MRUBY_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/misc/mruby_config.rb MRUBY_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby MRUBY_ADDITIONAL_CONFIG=${MRUBY_ADDITIONAL_CONFIG} ruby minirake
++ ADD_CUSTOM_TARGET(mruby MRUBY_TOOLCHAIN=${MRUBY_TOOLCHAIN} MRUBY_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/misc/mruby_config.rb MRUBY_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby MRUBY_ADDITIONAL_CONFIG=${MRUBY_ADDITIONAL_CONFIG} ruby minirake -v
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby)
+ LIST(APPEND STANDALONE_SOURCE_FILES
+ lib/handler/mruby.c
+@@ -560,7 +570,7 @@
+ # note: the paths need to be determined before libmruby.flags.mak is generated
+ TARGET_LINK_LIBRARIES(h2o
+ "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/lib/libmruby.a"
+- "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/mrbgems/mruby-onig-regexp/onigmo-6.1.2/.libs/libonigmo.a"
++ ${ONIG_LIBRARIES}
+ "m")
+ ADD_DEPENDENCIES(h2o mruby)
+ ENDIF (WITH_MRUBY)
+--- a/deps/mruby-onig-regexp/mrbgem.rake
++++ b/deps/mruby-onig-regexp/mrbgem.rake
+@@ -101,15 +101,9 @@
+ file "#{dir}/src/mruby_onig_regexp.c" => [:mruby_onig_regexp_with_compile_option, oniguruma_lib]
+ end
+
+- if spec.respond_to? :search_package and spec.search_package 'onigmo'
+- spec.cc.defines += ['HAVE_ONIGMO_H']
+- spec.linker.libraries << 'onig'
+- elsif spec.respond_to? :search_package and spec.search_package 'oniguruma'
++ if spec.respond_to? :search_package and spec.search_package 'oniguruma'
+ spec.cc.defines += ['HAVE_ONIGURUMA_H']
+ spec.linker.libraries << 'onig'
+- elsif build.cc.respond_to? :search_header_path and build.cc.search_header_path 'onigmo.h'
+- spec.cc.defines += ['HAVE_ONIGMO_H']
+- spec.linker.libraries << 'onigmo'
+ elsif build.cc.respond_to? :search_header_path and build.cc.search_header_path 'oniguruma.h'
+ spec.cc.defines += ['HAVE_ONIGURUMA_H']
+ spec.linker.libraries << 'onig'
+--- a/misc/mruby_config.rb
++++ b/misc/mruby_config.rb
+@@ -15,13 +15,7 @@
+ # use mrbgems
+ Dir.glob("../mruby-*/mrbgem.rake") do |x|
+ g = File.basename File.dirname x
+- if g == 'mruby-onig-regexp'
+- conf.gem "../deps/#{g}" do |c|
+- c.bundle_onigmo
+- end
+- else
+- conf.gem "../deps/#{g}"
+- end
++ conf.gem "../deps/#{g}"
+ end
+
+ # include all the core GEMs
diff --git a/www-servers/h2o/files/h2o.initd b/www-servers/h2o/files/h2o.initd
index ad598a5f6199..61944ccc5552 100644
--- a/www-servers/h2o/files/h2o.initd
+++ b/www-servers/h2o/files/h2o.initd
@@ -1,51 +1,37 @@
#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-extra_commands="configtest"
+extra_commands="checkconfig"
extra_started_commands="reload"
-description="An optimized HTTP/1.x, HTTP/2 server"
-description_configtest="Run H2O' internal config check"
-description_reload="Reload the H2O configuration or upgrade the binary without losing connections"
-: ${config:="/etc/h2o/h2o.conf"}
-pidfile=$(grep pid-file "${config}" | cut -d' ' -f2)
+description_checkconfig="Check the configuration file"
+description_reload="Reload the configuration file"
+: ${h2o_config:="/etc/${RC_SVCNAME}/${RC_SVCNAME}.conf"}
+
+start_stop_daemon_args="--group ${RC_SVCNAME}"
+command="/usr/bin/${RC_SVCNAME}"
+command_args="-m daemon -c \"${h2o_config}\""
+pidfile="$(grep pid-file "${h2o_config}" | cut -d' ' -f2)"
name="H2O"
-command="/usr/bin/h2o"
-command_args="-m daemon -c ${config}"
-required_files="$config"
depend() {
- use net
- after logger
+ need net
+ use dns
}
-start_pre() {
- if [ "${RC_CMD}" != "restart" ]; then
- configtest || return 1
- fi
+checkconfig() {
+ "${command}" -m test -c "${h2o_config}" || return 1
}
-stop_pre() {
- if [ "${RC_CMD}" = "restart" ]; then
- configtest || return 1
- fi
+start_pre() {
+ checkconfig || return 1
}
reload() {
- configtest || return 1
- ebegin "Refreshing ${name} configuration"
- kill -HUP $(cat ${pidfile}) &>/dev/null
- eend $? "Failed to reload ${name}"
-}
-
-configtest() {
- ebegin "Checking ${name} configuration"
-
- if ! ${command} -c ${config} -t &>/dev/null; then
- ${command} -c ${config} -t
- fi
-
- eend $? "Failed, please correct the errors above"
+ checkconfig || return 1
+ ebegin "Reloading ${name:-${RC_SVCNAME}}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend ${?}
}
diff --git a/www-servers/h2o/files/h2o.logrotate b/www-servers/h2o/files/h2o.logrotate
index b901bcfacb19..166b6e7f17b7 100644
--- a/www-servers/h2o/files/h2o.logrotate
+++ b/www-servers/h2o/files/h2o.logrotate
@@ -1,8 +1,11 @@
+# h2o logrotate script for Gentoo
+
/var/log/h2o/*.log {
missingok
- delaycompress
+ notifempty
sharedscripts
+ delaycompress
postrotate
- test -r $(grep pid-file "/etc/h2o/h2o.conf" | cut -d' ' -f2) && kill -HUP $(pidof h2o)
+ /bin/kill -HUP $(grep pid-file "/etc/h2o/h2o.conf" | cut -d' ' -f2 | cat) 2>/dev/null || true
endscript
}
diff --git a/www-servers/h2o/files/h2o.service b/www-servers/h2o/files/h2o.service
index fe32c45cd90f..0ea3f45fec44 100644
--- a/www-servers/h2o/files/h2o.service
+++ b/www-servers/h2o/files/h2o.service
@@ -1,13 +1,13 @@
[Unit]
-Description=An optimized HTTP/1.x, HTTP/2 server
-After=network-online.target nss-lookup.target remote-fs.target
+Description=H2O - the optimized HTTP/1, HTTP/2 server
+After=network.target remote-fs.target nss-lookup.target
[Service]
-Type=simple
-ExecStart=/usr/bin/h2o -c /etc/h2o/h2o.conf -m master
-SyslogLevel=notice
+ExecStartPre=/usr/bin/h2o -m test -c /etc/h2o/h2o.conf
+ExecStart=/usr/bin/h2o -m master -c /etc/h2o/h2o.conf
+ExecReload=/bin/kill -HUP ${MAINPID}
+ExecStop=/bin/kill -TERM ${MAINPID}
PrivateTmp=true
-LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
diff --git a/www-servers/h2o/h2o-2.2.4.ebuild b/www-servers/h2o/h2o-2.2.4.ebuild
index ab022fd47830..25c1690eeeb3 100644
--- a/www-servers/h2o/h2o-2.2.4.ebuild
+++ b/www-servers/h2o/h2o-2.2.4.ebuild
@@ -1,14 +1,14 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-
+EAPI="6"
+CMAKE_MAKEFILE_GENERATOR="emake"
USE_RUBY="ruby23 ruby24"
-inherit cmake-utils ruby-single systemd user
+inherit cmake-utils ruby-single systemd toolchain-funcs user
-DESCRIPTION="An optimized HTTP server with support for HTTP/1.x and HTTP/2"
-HOMEPAGE="https://h2o.examp1e.net"
+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"
@@ -16,34 +16,55 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="libressl +mruby"
-RDEPEND="
+RDEPEND="dev-lang/perl
+ sys-libs/zlib
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )"
DEPEND="${RDEPEND}
mruby? (
- sys-devel/bison
${RUBY_DEPS}
+ dev-libs/oniguruma
+ sys-devel/bison
+ virtual/pkgconfig
)"
-PATCHES=( "${FILESDIR}"/${P}-libressl.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2-mruby.patch
+ "${FILESDIR}"/${P}-libressl.patch
+)
pkg_setup() {
- enewgroup h2o
- enewuser h2o -1 -1 -1 h2o
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
}
src_prepare() {
- # Leave optimization level to user CFLAGS
- sed -i 's/-O2 -g ${CC_WARNING_FLAGS} //g' ./CMakeLists.txt \
- || die "sed fix failed!"
-
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 "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/h2o
- -DWITH_MRUBY="$(usex mruby)"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}"/etc/${PN}
+ -DWITH_MRUBY=$(usex mruby)
-DWITHOUT_LIBS=ON
)
cmake-utils_src_configure
@@ -52,17 +73,18 @@ src_configure() {
src_install() {
cmake-utils_src_install
- newinitd "${FILESDIR}"/h2o.initd h2o
- systemd_dounit "${FILESDIR}"/h2o.service
-
- insinto /etc/h2o
- doins "${FILESDIR}"/h2o.conf
+ keepdir /var/www/localhost/htdocs
- keepdir /var/log/h2o
- fperms 0700 /var/log/h2o
+ insinto /etc/${PN}
+ doins "${FILESDIR}"/${PN}.conf
- keepdir /var/www/localhost/htdocs
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
insinto /etc/logrotate.d
- newins "${FILESDIR}"/h2o.logrotate h2o
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ fperms 0750 /var/log/${PN}
}
diff --git a/www-servers/h2o/h2o-9999.ebuild b/www-servers/h2o/h2o-9999.ebuild
index 292131941a99..89f63062ca99 100644
--- a/www-servers/h2o/h2o-9999.ebuild
+++ b/www-servers/h2o/h2o-9999.ebuild
@@ -1,14 +1,14 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-
+EAPI="6"
+CMAKE_MAKEFILE_GENERATOR="emake"
USE_RUBY="ruby23 ruby24"
-inherit cmake-utils git-r3 ruby-single systemd user
+inherit cmake-utils git-r3 ruby-single systemd toolchain-funcs user
-DESCRIPTION="An optimized HTTP server with support for HTTP/1.x and HTTP/2"
-HOMEPAGE="https://h2o.examp1e.net"
+DESCRIPTION="H2O - the optimized HTTP/1, HTTP/2 server"
+HOMEPAGE="https://h2o.examp1e.net/"
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
LICENSE="MIT"
@@ -16,24 +16,52 @@ SLOT="0"
KEYWORDS=""
IUSE="libressl +mruby"
-RDEPEND="
+RDEPEND="dev-lang/perl
+ sys-libs/zlib
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )"
DEPEND="${RDEPEND}
mruby? (
- sys-devel/bison
${RUBY_DEPS}
+ dev-libs/oniguruma
+ sys-devel/bison
+ virtual/pkgconfig
)"
+PATCHES=( "${FILESDIR}"/${PN}-2.3-mruby.patch )
+
pkg_setup() {
- enewgroup h2o
- enewuser h2o -1 -1 -1 h2o
+ 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 "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/h2o
- -DWITH_MRUBY="$(usex mruby)"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}"/etc/${PN}
+ -DWITH_MRUBY=$(usex mruby)
-DWITHOUT_LIBS=ON
)
cmake-utils_src_configure
@@ -42,17 +70,18 @@ src_configure() {
src_install() {
cmake-utils_src_install
- newinitd "${FILESDIR}"/h2o.initd h2o
- systemd_dounit "${FILESDIR}"/h2o.service
-
- insinto /etc/h2o
- doins "${FILESDIR}"/h2o.conf
+ keepdir /var/www/localhost/htdocs
- keepdir /var/log/h2o
- fperms 0700 /var/log/h2o
+ insinto /etc/${PN}
+ doins "${FILESDIR}"/${PN}.conf
- keepdir /var/www/localhost/htdocs
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
insinto /etc/logrotate.d
- newins "${FILESDIR}"/h2o.logrotate h2o
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ fperms 0750 /var/log/${PN}
}
diff --git a/www-servers/h2o/metadata.xml b/www-servers/h2o/metadata.xml
index af6fee5b3de5..6a34529b48f0 100644
--- a/www-servers/h2o/metadata.xml
+++ b/www-servers/h2o/metadata.xml
@@ -3,6 +3,7 @@
<pkgmetadata>
<maintainer type="person">
<email>hattya@gentoo.org</email>
+ <name>Akinori Hattori</name>
</maintainer>
<longdescription lang="en">
H2O is a new generation HTTP server. Not only is it very fast,