mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
www/h2o: update to latest git snapshot 20240411
pet port - fix build without ruby - add new quicly includes - let ports handle fusion CPU options Differential Revision: https://reviews.freebsd.org/D44942 PR: 278101 Obtained from: diizzy
This commit is contained in:
parent
3bec7b2999
commit
b69b773660
6 changed files with 166 additions and 26 deletions
|
@ -1,6 +1,6 @@
|
||||||
PORTNAME= h2o
|
PORTNAME= h2o
|
||||||
DISTVERSIONPREFIX= v
|
DISTVERSIONPREFIX= v
|
||||||
DISTVERSION= 2.3.0-dev.20240314
|
DISTVERSION= 2.3.0-dev.20240411
|
||||||
CATEGORIES= www
|
CATEGORIES= www
|
||||||
|
|
||||||
MAINTAINER= dch@FreeBSD.org
|
MAINTAINER= dch@FreeBSD.org
|
||||||
|
@ -13,23 +13,24 @@ LICENSE_COMB= multi
|
||||||
BROKEN_armv6= fails to compile: asm_arm.inc:139:36: '.syntax divided' arm assembly not supported
|
BROKEN_armv6= fails to compile: asm_arm.inc:139:36: '.syntax divided' arm assembly not supported
|
||||||
BROKEN_armv7= fails to compile: asm_arm.inc:139:36: '.syntax divided' arm assembly not supported
|
BROKEN_armv7= fails to compile: asm_arm.inc:139:36: '.syntax divided' arm assembly not supported
|
||||||
|
|
||||||
BUILD_DEPENDS= rubygem-rake>=0:devel/rubygem-rake
|
LIB_DEPENDS= libhiredis.so:databases/hiredis \
|
||||||
LIB_DEPENDS= libuv.so:devel/libuv
|
libyaml.so:textproc/libyaml
|
||||||
|
|
||||||
USES= cmake:noninja compiler:c11 cpe perl5 pkgconfig shebangfix ssl
|
USES= cmake compiler:c11 cpe pathfix perl5 pkgconfig shebangfix ssl
|
||||||
CPE_VENDOR= dena
|
CPE_VENDOR= dena
|
||||||
USE_GITHUB= yes
|
USE_GITHUB= yes
|
||||||
GH_TAGNAME= 7545f5f
|
GH_TAGNAME= 222b36d
|
||||||
|
USE_LDCONFIG= YES
|
||||||
USE_LDCONFIG= yes
|
|
||||||
USE_RC_SUBR= ${PORTNAME}
|
USE_RC_SUBR= ${PORTNAME}
|
||||||
|
|
||||||
SHEBANG_FILES= share/h2o/start_server
|
SHEBANG_FILES= share/h2o/start_server
|
||||||
|
|
||||||
CMAKE_ARGS+= -DBUILD_SHARED_LIBS=OFF
|
CMAKE_ON= BUILD_SHARED_LIBS
|
||||||
|
|
||||||
|
EXTRACT_AFTER_ARGS= --exclude deps/hiredis --exclude deps/yaml/include
|
||||||
|
|
||||||
SUB_FILES= ${PORTNAME} ${PORTNAME}.conf.sample
|
SUB_FILES= ${PORTNAME} ${PORTNAME}.conf.sample
|
||||||
SUB_LIST+= H2O_GROUP=${H2O_GROUP} \
|
SUB_LIST= H2O_GROUP=${H2O_GROUP} \
|
||||||
H2O_LOGDIR=${H2O_LOGDIR} \
|
H2O_LOGDIR=${H2O_LOGDIR} \
|
||||||
H2O_USER=${H2O_USER}
|
H2O_USER=${H2O_USER}
|
||||||
|
|
||||||
|
@ -49,26 +50,28 @@ OPTIONS_DEFINE= DOCS MRUBY
|
||||||
OPTIONS_DEFAULT= MRUBY
|
OPTIONS_DEFAULT= MRUBY
|
||||||
OPTIONS_SUB= yes
|
OPTIONS_SUB= yes
|
||||||
MRUBY_DESC= Build with embedded mruby handler support
|
MRUBY_DESC= Build with embedded mruby handler support
|
||||||
MRUBY_USES= bison ruby:build
|
MRUBY_BUILD_DEPENDS+= rubygem-rake>=0:devel/rubygem-rake
|
||||||
|
MRUBY_USES= bison libtool ruby:build
|
||||||
MRUBY_CMAKE_BOOL= WITH_MRUBY
|
MRUBY_CMAKE_BOOL= WITH_MRUBY
|
||||||
|
|
||||||
.include <bsd.port.pre.mk>
|
|
||||||
|
|
||||||
.if ${ARCH} == i386
|
|
||||||
CMAKE_ARGS+= -DWITH_FUSION=OFF
|
|
||||||
.endif
|
|
||||||
|
|
||||||
.include <bsd.port.options.mk>
|
.include <bsd.port.options.mk>
|
||||||
|
|
||||||
|
.if ${ARCH} == amd64 && defined(CPUTYPE) && ${MACHINE_CPU:Mavx2}
|
||||||
|
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-cputype-defined
|
||||||
|
CMAKE_ON+= WITH_FUSION
|
||||||
|
.else
|
||||||
|
CMAKE_OFF+= WITH_FUSION
|
||||||
|
.endif
|
||||||
|
|
||||||
post-install:
|
post-install:
|
||||||
${MKDIR} ${STAGEDIR}${ETCDIR} \
|
${MKDIR} ${STAGEDIR}${ETCDIR} \
|
||||||
${STAGEDIR}${H2O_LOGDIR}
|
${STAGEDIR}${H2O_LOGDIR}
|
||||||
${INSTALL_DATA} \
|
${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.conf.sample \
|
||||||
${WRKDIR}/${PORTNAME}.conf.sample \
|
|
||||||
${STAGEDIR}${ETCDIR}/${PORTNAME}.conf.sample
|
${STAGEDIR}${ETCDIR}/${PORTNAME}.conf.sample
|
||||||
|
|
||||||
post-install-DOCS-on:
|
post-install-DOCS-on:
|
||||||
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||||
${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
|
${INSTALL_DATA} ${WRKSRC}/README.md \
|
||||||
|
${STAGEDIR}${DOCSDIR}
|
||||||
|
|
||||||
.include <bsd.port.post.mk>
|
.include <bsd.port.mk>
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
TIMESTAMP = 1711233165
|
TIMESTAMP = 1714564834
|
||||||
SHA256 (h2o-h2o-v2.3.0-dev.20240314-7545f5f_GH0.tar.gz) = e7fd874375b735e30eeea96539f37db5f10de64d797ea8b5269d9f1969784f68
|
SHA256 (h2o-h2o-v2.3.0-dev.20240411-222b36d_GH0.tar.gz) = dc8db25dab7d009718c2309f5bfaa1c666900a6d574324170d68f39a26b2977b
|
||||||
SIZE (h2o-h2o-v2.3.0-dev.20240314-7545f5f_GH0.tar.gz) = 30755375
|
SIZE (h2o-h2o-v2.3.0-dev.20240411-222b36d_GH0.tar.gz) = 30763238
|
||||||
|
|
11
www/h2o/files/extra-patch-cputype-defined
Normal file
11
www/h2o/files/extra-patch-cputype-defined
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- CMakeLists.txt.orig 2024-03-27 17:04:02 UTC
|
||||||
|
+++ CMakeLists.txt
|
||||||
|
@@ -776,7 +776,7 @@ IF (WITH_FUSION)
|
||||||
|
IF (WITH_FUSION)
|
||||||
|
SET(STANDALONE_COMPILE_FLAGS "${STANDALONE_COMPILE_FLAGS} -DH2O_USE_FUSION=1")
|
||||||
|
LIST(APPEND STANDALONE_SOURCE_FILES deps/picotls/lib/fusion.c)
|
||||||
|
- SET_SOURCE_FILES_PROPERTIES(deps/picotls/lib/fusion.c PROPERTIES COMPILE_FLAGS "-mavx2 -maes -mpclmul -mvaes -mvpclmulqdq")
|
||||||
|
+ SET_SOURCE_FILES_PROPERTIES(deps/picotls/lib/fusion.c PROPERTIES COMPILE_FLAGS "")
|
||||||
|
ENDIF ()
|
||||||
|
IF (WITH_KTLS)
|
||||||
|
SET(STANDALONE_COMPILE_FLAGS "${STANDALONE_COMPILE_FLAGS} -DH2O_USE_KTLS=1")
|
98
www/h2o/files/patch-CMakeLists.txt
Normal file
98
www/h2o/files/patch-CMakeLists.txt
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
--- CMakeLists.txt.orig 2024-03-14 06:01:10 UTC
|
||||||
|
+++ CMakeLists.txt
|
||||||
|
@@ -174,7 +174,6 @@ INCLUDE_DIRECTORIES(
|
||||||
|
deps/cloexec
|
||||||
|
deps/brotli/c/include
|
||||||
|
deps/golombset
|
||||||
|
- deps/hiredis
|
||||||
|
deps/libgkc
|
||||||
|
deps/libyrmcds
|
||||||
|
deps/klib
|
||||||
|
@@ -186,7 +185,6 @@ INCLUDE_DIRECTORIES(
|
||||||
|
deps/picotls/deps/micro-ecc
|
||||||
|
deps/picotls/include
|
||||||
|
deps/quicly/include
|
||||||
|
- deps/yaml/include
|
||||||
|
deps/yoml
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
|
@@ -257,6 +255,23 @@ ENDIF (PKG_CONFIG_FOUND)
|
||||||
|
ENDIF (LIBCAP_FOUND)
|
||||||
|
ENDIF (PKG_CONFIG_FOUND)
|
||||||
|
|
||||||
|
+IF (PKG_CONFIG_FOUND)
|
||||||
|
+ PKG_CHECK_MODULES(HIREDIS hiredis)
|
||||||
|
+ IF (HIREDIS_FOUND)
|
||||||
|
+ INCLUDE_DIRECTORIES(${HIREDIS_INCLUDE_DIRS})
|
||||||
|
+ LINK_DIRECTORIES(${HIREDIS_LIBRARY_DIRS})
|
||||||
|
+ ENDIF (HIREDIS_FOUND)
|
||||||
|
+ENDIF (PKG_CONFIG_FOUND)
|
||||||
|
+
|
||||||
|
+IF (PKG_CONFIG_FOUND)
|
||||||
|
+ PKG_CHECK_MODULES(LIBYAML yaml-0.1)
|
||||||
|
+ IF (LIBYAML_FOUND)
|
||||||
|
+ INCLUDE_DIRECTORIES(${LIBYAML_INCLUDE_DIRS})
|
||||||
|
+ LINK_DIRECTORIES(${LIBYAML_LIBRARY_DIRS})
|
||||||
|
+ ENDIF (LIBYAML_FOUND)
|
||||||
|
+ENDIF (PKG_CONFIG_FOUND)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
SET(CC_WARNING_FLAGS "-Wall -Wno-unused-value -Wno-unused-function -Wno-nullability-completeness -Wno-expansion-to-defined -Werror=implicit-function-declaration -Werror=incompatible-pointer-types")
|
||||||
|
|
||||||
|
IF ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
|
||||||
|
@@ -269,7 +284,7 @@ ENDIF ()
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
|
# setup compile flags
|
||||||
|
-SET(CMAKE_C_FLAGS "-g3 ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS} -DH2O_ROOT=\"${CMAKE_INSTALL_PREFIX}\" -DH2O_CONFIG_PATH=\"${CMAKE_INSTALL_FULL_SYSCONFDIR}/h2o.conf\"")
|
||||||
|
+SET(CMAKE_C_FLAGS "${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS} -DH2O_ROOT=\"${CMAKE_INSTALL_PREFIX}\" -DH2O_CONFIG_PATH=\"${CMAKE_INSTALL_FULL_SYSCONFDIR}/h2o.conf\"")
|
||||||
|
IF (WITH_DTRACE)
|
||||||
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DPICOTLS_USE_DTRACE=1 -DQUICLY_USE_DTRACE=1 -DH2O_USE_DTRACE=1")
|
||||||
|
ENDIF ()
|
||||||
|
@@ -339,11 +354,6 @@ SET(LIB_SOURCE_FILES
|
||||||
|
|
||||||
|
SET(LIB_SOURCE_FILES
|
||||||
|
deps/cloexec/cloexec.c
|
||||||
|
- deps/hiredis/async.c
|
||||||
|
- deps/hiredis/hiredis.c
|
||||||
|
- deps/hiredis/net.c
|
||||||
|
- deps/hiredis/read.c
|
||||||
|
- deps/hiredis/sds.c
|
||||||
|
deps/libgkc/gkc.c
|
||||||
|
deps/libyrmcds/close.c
|
||||||
|
deps/libyrmcds/connect.c
|
||||||
|
@@ -497,7 +507,6 @@ SET(UNIT_TEST_SOURCE_FILES
|
||||||
|
|
||||||
|
SET(UNIT_TEST_SOURCE_FILES
|
||||||
|
${LIB_SOURCE_FILES}
|
||||||
|
- ${LIBYAML_SOURCE_FILES}
|
||||||
|
${BROTLI_SOURCE_FILES}
|
||||||
|
deps/picotest/picotest.c
|
||||||
|
t/00unit/test.c
|
||||||
|
@@ -710,6 +719,10 @@ TARGET_LINK_LIBRARIES(h2o-httpclient libh2o-evloop ${E
|
||||||
|
COMPILE_FLAGS "-DH2O_USE_LIBUV=0")
|
||||||
|
TARGET_LINK_LIBRARIES(h2o-httpclient libh2o-evloop ${EXTRA_LIBS})
|
||||||
|
|
||||||
|
+IF (HIREDIS_FOUND)
|
||||||
|
+ TARGET_LINK_LIBRARIES(h2o-httpclient ${HIREDIS_LIBRARIES})
|
||||||
|
+ENDIF (HIREDIS_FOUND)
|
||||||
|
+
|
||||||
|
SET_TARGET_PROPERTIES(examples-socket-client-evloop PROPERTIES
|
||||||
|
COMPILE_FLAGS "-DH2O_USE_LIBUV=0"
|
||||||
|
EXCLUDE_FROM_ALL 1)
|
||||||
|
@@ -788,6 +801,15 @@ TARGET_LINK_LIBRARIES(h2o ${OPENSSL_LIBRARIES} ${CMAKE
|
||||||
|
SET_TARGET_PROPERTIES(h2o PROPERTIES COMPILE_FLAGS "${STANDALONE_COMPILE_FLAGS}")
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(h2o PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||||
|
TARGET_LINK_LIBRARIES(h2o ${OPENSSL_LIBRARIES} ${CMAKE_DL_LIBS})
|
||||||
|
+IF (HIREDIS_FOUND)
|
||||||
|
+ TARGET_INCLUDE_DIRECTORIES(h2o PUBLIC ${HIREDIS_INCLUDE_DIRS})
|
||||||
|
+ TARGET_LINK_LIBRARIES(h2o ${HIREDIS_LIBRARIES})
|
||||||
|
+ENDIF (HIREDIS_FOUND)
|
||||||
|
+
|
||||||
|
+IF (LIBYAML_FOUND)
|
||||||
|
+ TARGET_INCLUDE_DIRECTORIES(h2o PUBLIC ${LIBYXML_INCLUDE_DIRS})
|
||||||
|
+ TARGET_LINK_LIBRARIES(h2o ${LIBYAML_LIBRARIES})
|
||||||
|
+ENDIF (LIBYAML_FOUND)
|
||||||
|
IF (WITH_MRUBY)
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(h2o BEFORE PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby/include ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby-input-stream/src)
|
||||||
|
# note: the paths need to be determined before libmruby.flags.mak is generated
|
|
@ -1,6 +1,6 @@
|
||||||
--- src/ssl.c.orig 2023-08-08 09:33:37 UTC
|
--- src/ssl.c.orig 2024-03-14 06:01:10 UTC
|
||||||
+++ src/ssl.c
|
+++ src/ssl.c
|
||||||
@@ -1182,7 +1182,9 @@ void init_openssl(void)
|
@@ -1185,7 +1185,9 @@ void init_openssl(void)
|
||||||
SSL_library_init();
|
SSL_library_init();
|
||||||
OpenSSL_add_all_algorithms();
|
OpenSSL_add_all_algorithms();
|
||||||
#if H2O_CAN_OSSL_ASYNC
|
#if H2O_CAN_OSSL_ASYNC
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
@comment bin/h2o-httpclient
|
|
||||||
@dir(%%H2O_USER%%,%%H2O_GROUP%%,0750) %%H2O_LOGDIR%%
|
@dir(%%H2O_USER%%,%%H2O_GROUP%%,0750) %%H2O_LOGDIR%%
|
||||||
@sample %%ETCDIR%%/h2o.conf.sample
|
@sample %%ETCDIR%%/h2o.conf.sample
|
||||||
%%DATADIR%%/annotate-backtrace-symbols
|
%%DATADIR%%/annotate-backtrace-symbols
|
||||||
|
@ -126,6 +125,35 @@ include/h2o/token.h
|
||||||
include/h2o/url.h
|
include/h2o/url.h
|
||||||
include/h2o/version.h
|
include/h2o/version.h
|
||||||
include/h2o/websocket.h
|
include/h2o/websocket.h
|
||||||
|
include/picotls.h
|
||||||
|
include/picotls/asn1.h
|
||||||
|
include/picotls/certificate_compression.h
|
||||||
|
include/picotls/ffx.h
|
||||||
|
include/picotls/fusion.h
|
||||||
|
include/picotls/mbedtls.h
|
||||||
|
include/picotls/minicrypto.h
|
||||||
|
include/picotls/openssl.h
|
||||||
|
include/picotls/pembase64.h
|
||||||
|
include/picotls/ptlsbcrypt.h
|
||||||
|
include/quicly.h
|
||||||
|
include/quicly/cc.h
|
||||||
|
include/quicly/cid.h
|
||||||
|
include/quicly/constants.h
|
||||||
|
include/quicly/defaults.h
|
||||||
|
include/quicly/frame.h
|
||||||
|
include/quicly/linklist.h
|
||||||
|
include/quicly/local_cid.h
|
||||||
|
include/quicly/loss.h
|
||||||
|
include/quicly/maxsender.h
|
||||||
|
include/quicly/pacer.h
|
||||||
|
include/quicly/ranges.h
|
||||||
|
include/quicly/rate.h
|
||||||
|
include/quicly/recvstate.h
|
||||||
|
include/quicly/remote_cid.h
|
||||||
|
include/quicly/retire_cid.h
|
||||||
|
include/quicly/sendstate.h
|
||||||
|
include/quicly/sentmap.h
|
||||||
|
include/quicly/streambuf.h
|
||||||
libdata/pkgconfig/libh2o-evloop.pc
|
libdata/pkgconfig/libh2o-evloop.pc
|
||||||
libdata/pkgconfig/libh2o.pc
|
libdata/pkgconfig/libh2o.pc
|
||||||
share/man/man5/h2o.conf.5.gz
|
share/man/man5/h2o.conf.5.gz
|
||||||
|
|
Loading…
Add table
Reference in a new issue