Hi Otto, Hi ports@,

I am working on getting rid of the use of USE_NINJA. (See Mordernize
CMake Module mail on ports@)

I can easily fix the comment issue "internal dep problem; "ninja: error:
'mruby/host/lib/libmruby.a'" by merging some fixes from upstream.
Precisely, "BYPRODUCTS" fix the issue here.

After the fix, however, the shared lib onigmo is no longer build. I
tried to fix this but I come to the conclusion that it does not need to
be build or installed at all.

FreeBSD also enable mruby but does nothing extra with onigmo. No other
BSD/Linux distro expect OpenBSD package libonigmo.

I would love to see an OK to remove it.

Rafael

Index: Makefile
===================================================================
RCS file: /cvs/ports/www/h2o/Makefile,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 Makefile
--- Makefile    11 Mar 2022 20:09:54 -0000      1.12
+++ Makefile    1 Sep 2022 18:27:28 -0000
@@ -2,14 +2,13 @@ COMMENT =     optimized HTTP server with sup
 
 SHARED_LIBS +=  h2o-evloop           0.0
 SHARED_LIBS +=  h2o                  0.0
-SHARED_LIBS +=  onigmo               0.0      # 6.2
 
 CATEGORIES =   www
 
 GH_ACCOUNT =   h2o
 GH_PROJECT =   h2o
 GH_TAGNAME =   v2.2.6
-REVISION =     5
+REVISION =     6
 
 HOMEPAGE =     https://h2o.examp1e.net/
 MAINTAINER =   Otto Moerbeek <o...@drijf.net>
@@ -44,19 +43,11 @@ MODULES +=          lang/ruby
 MODRUBY_RUNDEP =       No
 CONFIGURE_ARGS +=      -DWITH_MRUBY=ON
 
-# internal dep problem; "ninja: error: 'mruby/host/lib/libmruby.a',
-# needed by 'h2o', missing and no known rule to make it"
-USE_NINJA =            No
-
 pre-configure:
        ln -sf ${RUBY} ${WRKDIR}/bin/ruby
 .endif
 
 post-install:
-.if ${FLAVOR:Mmruby}
-       cd ${WRKBUILD}/mruby/host/mrbgems/mruby-onig-regexp; \
-           ${INSTALL_DATA} onigmo-*/.libs/libonigmo.so.${LIBonigmo_VERSION} 
${PREFIX}/lib/
-.endif
        cd ${WRKSRC}/doc; pax -rw [a-z]* ${PREFIX}/share/doc/h2o/
        mv ${PREFIX}/share/doc/h2o/examples ${PREFIX}/share/examples/h2o
        ${INSTALL_DATA} ${FILESDIR}/h2o.conf ${PREFIX}/share/examples/h2o/
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/www/h2o/patches/patch-CMakeLists_txt,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt        11 Mar 2022 20:09:54 -0000      1.2
+++ patches/patch-CMakeLists_txt        1 Sep 2022 18:27:28 -0000
@@ -1,6 +1,8 @@
 wslay is picked up and used if present during configure, but isn't
 registered as a dependency in the libraries. disable it for now.
 
+mruby improvements from upstream
+
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
@@ -43,3 +45,27 @@ Index: CMakeLists.txt
  
  IF (ZLIB_FOUND)
      INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
+@@ -460,14 +460,21 @@ IF (WITH_MRUBY)
+     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
+-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby)
++    ADD_CUSTOM_TARGET(mruby
++        # deps/mruby/tasks/toolchains/clang.rake looks for CC, CXX and LD.
++        # There are no C++ files in deps/mruby, use the C compiler for 
linking.
++        MRUBY_TOOLCHAIN=${MRUBY_TOOLCHAIN} CC=${CMAKE_C_COMPILER} 
CXX=${CMAKE_CXX_COMPILER} LD=${CMAKE_C_COMPILER} 
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
++        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby
++        BYPRODUCTS "${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"
++    )
+     LIST(APPEND STANDALONE_SOURCE_FILES
+         lib/handler/mruby.c
+         lib/handler/mruby/chunked.c
+         lib/handler/mruby/http_request.c
+         lib/handler/configurator/mruby.c)
+     SET(STANDALONE_COMPILE_FLAGS "${STANDALONE_COMPILE_FLAGS} 
-DH2O_USE_MRUBY=1")
++    SET_PROPERTY(DIRECTORY PROPERTY ADDITIONAL_MAKE_CLEAN_FILES 
${CMAKE_CURRENT_BINARY_DIR}/mruby/)
+ ENDIF (WITH_MRUBY)
+ IF (WITH_PICOTLS)
+     LIST(APPEND STANDALONE_SOURCE_FILES ${PICOTLS_SOURCE_FILES})
Index: pkg/PFRAG.mruby
===================================================================
RCS file: /cvs/ports/www/h2o/pkg/PFRAG.mruby,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 PFRAG.mruby
--- pkg/PFRAG.mruby     11 Mar 2022 20:09:54 -0000      1.2
+++ pkg/PFRAG.mruby     1 Sep 2022 18:27:28 -0000
@@ -1,4 +1,3 @@
-@lib lib/libonigmo.so.${LIBonigmo_VERSION}
 share/examples/h2o/h2o_mruby/
 share/examples/h2o/h2o_mruby/h2o.conf
 share/examples/h2o/h2o_mruby/hello.rb

Reply via email to