From f70601e0934acd62f6c5d06c5ede4cc607179514 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 7 Jul 2018 11:42:03 +0100 Subject: gentoo resync : 07.07.2018 --- www-servers/h2o/Manifest | 14 +++--- www-servers/h2o/files/h2o-2.2-mruby.patch | 67 ++++++++++++++++++++++++++++ www-servers/h2o/files/h2o-2.3-mruby.patch | 73 +++++++++++++++++++++++++++++++ www-servers/h2o/files/h2o.initd | 54 +++++++++-------------- www-servers/h2o/files/h2o.logrotate | 7 ++- www-servers/h2o/files/h2o.service | 12 ++--- www-servers/h2o/h2o-2.2.4.ebuild | 72 +++++++++++++++++++----------- www-servers/h2o/h2o-9999.ebuild | 69 ++++++++++++++++++++--------- www-servers/h2o/metadata.xml | 1 + 9 files changed, 276 insertions(+), 93 deletions(-) create mode 100644 www-servers/h2o/files/h2o-2.2-mruby.patch create mode 100644 www-servers/h2o/files/h2o-2.3-mruby.patch (limited to 'www-servers/h2o') 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 @@ hattya@gentoo.org + Akinori Hattori H2O is a new generation HTTP server. Not only is it very fast, -- cgit v1.2.3