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() { |