Gentoo Archives: gentoo-commits

From: Akinori Hattori <hattya@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-servers/h2o/files/, www-servers/h2o/
Date: Wed, 04 Jul 2018 13:57:25
Message-Id: 1530712593.56d9c51fe6a474950f04fe2597fc7d768c4c9d04.hattya@gentoo
1 commit: 56d9c51fe6a474950f04fe2597fc7d768c4c9d04
2 Author: Akinori Hattori <hattya <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jul 4 13:56:33 2018 +0000
4 Commit: Akinori Hattori <hattya <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 4 13:56:33 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56d9c51f
7
8 www-servers/h2o: use system oniguruma
9
10 Closes: https://bugs.gentoo.org/655462
11 Package-Manager: Portage-2.3.40, Repoman-2.3.9
12
13 www-servers/h2o/files/h2o-2.2-mruby.patch | 67 ++++++++++++++++++++++++++++
14 www-servers/h2o/files/h2o-2.3-mruby.patch | 73 +++++++++++++++++++++++++++++++
15 www-servers/h2o/h2o-2.2.4.ebuild | 15 +++++--
16 www-servers/h2o/h2o-9999.ebuild | 12 ++++-
17 4 files changed, 162 insertions(+), 5 deletions(-)
18
19 diff --git a/www-servers/h2o/files/h2o-2.2-mruby.patch b/www-servers/h2o/files/h2o-2.2-mruby.patch
20 new file mode 100644
21 index 00000000000..e542ba8b64d
22 --- /dev/null
23 +++ b/www-servers/h2o/files/h2o-2.2-mruby.patch
24 @@ -0,0 +1,67 @@
25 +--- a/CMakeLists.txt
26 ++++ b/CMakeLists.txt
27 +@@ -157,6 +157,16 @@
28 + SET(WSLAY_LIBRARIES -lwslay)
29 + ENDIF (NOT WSLAY_FOUND)
30 +
31 ++IF (PKG_CONFIG_FOUND)
32 ++ PKG_CHECK_MODULES(ONIG oniguruma)
33 ++ IF (ONIG_FOUND)
34 ++ LINK_DIRECTORIES(${ONIG_LIBRARY_DIRS})
35 ++ ENDIF (ONIG_FOUND)
36 ++ENDIF (PKG_CONFIG_FOUND)
37 ++IF (NOT ONIG_FOUND AND WITH_RUBY)
38 ++ MESSAGE(FATAL_ERROR "Oniguruma not found")
39 ++ENDIF (NOT ONIG_FOUND AND WITH_RUBY)
40 ++
41 + IF (ZLIB_FOUND)
42 + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
43 + LINK_DIRECTORIES(${ZLIB_LIBRARY_DIRS})
44 +@@ -460,7 +470,7 @@
45 + ELSE ()
46 + SET(MRUBY_TOOLCHAIN "gcc")
47 + ENDIF ()
48 +- 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
49 ++ 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
50 + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby)
51 + LIST(APPEND STANDALONE_SOURCE_FILES
52 + lib/handler/mruby.c
53 +@@ -491,7 +501,7 @@
54 + # note: the paths need to be determined before libmruby.flags.mak is generated
55 + TARGET_LINK_LIBRARIES(h2o
56 + "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/lib/libmruby.a"
57 +- "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/mrbgems/mruby-onig-regexp/onigmo-6.1.1/.libs/libonigmo.a"
58 ++ ${ONIG_LIBRARIES}
59 + "m")
60 + ADD_DEPENDENCIES(h2o mruby)
61 + ENDIF (WITH_MRUBY)
62 +--- a/deps/mruby-onig-regexp/mrbgem.rake
63 ++++ b/deps/mruby-onig-regexp/mrbgem.rake
64 +@@ -101,9 +101,7 @@
65 + cc.defines += ['HAVE_ONIGMO_H']
66 + end
67 +
68 +- if spec.respond_to? :search_package and spec.search_package 'onigmo'
69 +- spec.cc.defines += ['HAVE_ONIGMO_H']
70 +- elsif spec.respond_to? :search_package and spec.search_package 'oniguruma'
71 ++ if spec.respond_to? :search_package and spec.search_package 'oniguruma'
72 + spec.cc.defines += ['HAVE_ONIGURUMA_H']
73 + elsif build.cc.respond_to? :search_header_path and build.cc.search_header_path 'oniguruma.h'
74 + spec.linker.libraries << 'onig'
75 +--- a/misc/mruby_config.rb
76 ++++ b/misc/mruby_config.rb
77 +@@ -15,13 +15,7 @@
78 + # use mrbgems
79 + Dir.glob("../mruby-*/mrbgem.rake") do |x|
80 + g = File.basename File.dirname x
81 +- if g == 'mruby-onig-regexp'
82 +- conf.gem "../deps/#{g}" do |c|
83 +- c.bundle_onigmo
84 +- end
85 +- else
86 +- conf.gem "../deps/#{g}"
87 +- end
88 ++ conf.gem "../deps/#{g}"
89 + end
90 +
91 + # include all the core GEMs
92
93 diff --git a/www-servers/h2o/files/h2o-2.3-mruby.patch b/www-servers/h2o/files/h2o-2.3-mruby.patch
94 new file mode 100644
95 index 00000000000..a0ad25eba27
96 --- /dev/null
97 +++ b/www-servers/h2o/files/h2o-2.3-mruby.patch
98 @@ -0,0 +1,73 @@
99 +--- a/CMakeLists.txt
100 ++++ b/CMakeLists.txt
101 +@@ -174,6 +174,16 @@
102 + SET(WSLAY_LIBRARIES -lwslay)
103 + ENDIF (NOT WSLAY_FOUND)
104 +
105 ++IF (PKG_CONFIG_FOUND)
106 ++ PKG_CHECK_MODULES(ONIG oniguruma)
107 ++ IF (ONIG_FOUND)
108 ++ LINK_DIRECTORIES(${ONIG_LIBRARY_DIRS})
109 ++ ENDIF (ONIG_FOUND)
110 ++ENDIF (PKG_CONFIG_FOUND)
111 ++IF (NOT ONIG_FOUND AND WITH_RUBY)
112 ++ MESSAGE(FATAL_ERROR "Oniguruma not found")
113 ++ENDIF (NOT ONIG_FOUND AND WITH_RUBY)
114 ++
115 + IF (ZLIB_FOUND)
116 + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
117 + LINK_DIRECTORIES(${ZLIB_LIBRARY_DIRS})
118 +@@ -533,7 +543,7 @@
119 + ELSE ()
120 + SET(MRUBY_TOOLCHAIN "gcc")
121 + ENDIF ()
122 +- 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
123 ++ 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
124 + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby)
125 + LIST(APPEND STANDALONE_SOURCE_FILES
126 + lib/handler/mruby.c
127 +@@ -560,7 +570,7 @@
128 + # note: the paths need to be determined before libmruby.flags.mak is generated
129 + TARGET_LINK_LIBRARIES(h2o
130 + "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/lib/libmruby.a"
131 +- "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/mrbgems/mruby-onig-regexp/onigmo-6.1.2/.libs/libonigmo.a"
132 ++ ${ONIG_LIBRARIES}
133 + "m")
134 + ADD_DEPENDENCIES(h2o mruby)
135 + ENDIF (WITH_MRUBY)
136 +--- a/deps/mruby-onig-regexp/mrbgem.rake
137 ++++ b/deps/mruby-onig-regexp/mrbgem.rake
138 +@@ -101,15 +101,9 @@
139 + file "#{dir}/src/mruby_onig_regexp.c" => [:mruby_onig_regexp_with_compile_option, oniguruma_lib]
140 + end
141 +
142 +- if spec.respond_to? :search_package and spec.search_package 'onigmo'
143 +- spec.cc.defines += ['HAVE_ONIGMO_H']
144 +- spec.linker.libraries << 'onig'
145 +- elsif spec.respond_to? :search_package and spec.search_package 'oniguruma'
146 ++ if spec.respond_to? :search_package and spec.search_package 'oniguruma'
147 + spec.cc.defines += ['HAVE_ONIGURUMA_H']
148 + spec.linker.libraries << 'onig'
149 +- elsif build.cc.respond_to? :search_header_path and build.cc.search_header_path 'onigmo.h'
150 +- spec.cc.defines += ['HAVE_ONIGMO_H']
151 +- spec.linker.libraries << 'onigmo'
152 + elsif build.cc.respond_to? :search_header_path and build.cc.search_header_path 'oniguruma.h'
153 + spec.cc.defines += ['HAVE_ONIGURUMA_H']
154 + spec.linker.libraries << 'onig'
155 +--- a/misc/mruby_config.rb
156 ++++ b/misc/mruby_config.rb
157 +@@ -15,13 +15,7 @@
158 + # use mrbgems
159 + Dir.glob("../mruby-*/mrbgem.rake") do |x|
160 + g = File.basename File.dirname x
161 +- if g == 'mruby-onig-regexp'
162 +- conf.gem "../deps/#{g}" do |c|
163 +- c.bundle_onigmo
164 +- end
165 +- else
166 +- conf.gem "../deps/#{g}"
167 +- end
168 ++ conf.gem "../deps/#{g}"
169 + end
170 +
171 + # include all the core GEMs
172
173 diff --git a/www-servers/h2o/h2o-2.2.4.ebuild b/www-servers/h2o/h2o-2.2.4.ebuild
174 index 449ca5e6711..25c1690eeeb 100644
175 --- a/www-servers/h2o/h2o-2.2.4.ebuild
176 +++ b/www-servers/h2o/h2o-2.2.4.ebuild
177 @@ -5,7 +5,7 @@ EAPI="6"
178 CMAKE_MAKEFILE_GENERATOR="emake"
179 USE_RUBY="ruby23 ruby24"
180
181 -inherit cmake-utils ruby-single systemd user
182 +inherit cmake-utils ruby-single systemd toolchain-funcs user
183
184 DESCRIPTION="H2O - the optimized HTTP/1, HTTP/2 server"
185 HOMEPAGE="https://h2o.examp1e.net/"
186 @@ -22,11 +22,16 @@ RDEPEND="dev-lang/perl
187 libressl? ( dev-libs/libressl:0= )"
188 DEPEND="${RDEPEND}
189 mruby? (
190 - sys-devel/bison
191 ${RUBY_DEPS}
192 + dev-libs/oniguruma
193 + sys-devel/bison
194 + virtual/pkgconfig
195 )"
196
197 -PATCHES=( "${FILESDIR}"/${P}-libressl.patch )
198 +PATCHES=(
199 + "${FILESDIR}"/${PN}-2.2-mruby.patch
200 + "${FILESDIR}"/${P}-libressl.patch
201 +)
202
203 pkg_setup() {
204 enewgroup ${PN}
205 @@ -50,6 +55,10 @@ src_prepare() {
206 sed -i \
207 -e "s: ruby: ${ruby}:" \
208 CMakeLists.txt
209 +
210 + sed -i "s:pkg-config:$(tc-getPKG_CONFIG):g" deps/mruby/lib/mruby/gem.rb
211 + tc-export CC
212 + export LD="$(tc-getCC)"
213 }
214
215 src_configure() {
216
217 diff --git a/www-servers/h2o/h2o-9999.ebuild b/www-servers/h2o/h2o-9999.ebuild
218 index 0d21e4e8bee..89f63062ca9 100644
219 --- a/www-servers/h2o/h2o-9999.ebuild
220 +++ b/www-servers/h2o/h2o-9999.ebuild
221 @@ -5,7 +5,7 @@ EAPI="6"
222 CMAKE_MAKEFILE_GENERATOR="emake"
223 USE_RUBY="ruby23 ruby24"
224
225 -inherit cmake-utils git-r3 ruby-single systemd user
226 +inherit cmake-utils git-r3 ruby-single systemd toolchain-funcs user
227
228 DESCRIPTION="H2O - the optimized HTTP/1, HTTP/2 server"
229 HOMEPAGE="https://h2o.examp1e.net/"
230 @@ -22,10 +22,14 @@ RDEPEND="dev-lang/perl
231 libressl? ( dev-libs/libressl:0= )"
232 DEPEND="${RDEPEND}
233 mruby? (
234 - sys-devel/bison
235 ${RUBY_DEPS}
236 + dev-libs/oniguruma
237 + sys-devel/bison
238 + virtual/pkgconfig
239 )"
240
241 +PATCHES=( "${FILESDIR}"/${PN}-2.3-mruby.patch )
242 +
243 pkg_setup() {
244 enewgroup ${PN}
245 enewuser ${PN} -1 -1 -1 ${PN}
246 @@ -48,6 +52,10 @@ src_prepare() {
247 sed -i \
248 -e "s: ruby: ${ruby}:" \
249 CMakeLists.txt
250 +
251 + sed -i "s:pkg-config:$(tc-getPKG_CONFIG):g" deps/mruby/lib/mruby/gem.rb
252 + tc-export CC
253 + export LD="$(tc-getCC)"
254 }
255
256 src_configure() {