diff --git a/net/usockets/Makefile b/net/usockets/Makefile index 56edca8f7ce5..0fecfee0aa8d 100644 --- a/net/usockets/Makefile +++ b/net/usockets/Makefile @@ -1,38 +1,39 @@ PORTNAME= usockets DISTVERSIONPREFIX= v DISTVERSION= 0.8.7 CATEGORIES= net devel MAINTAINER= yuri@FreeBSD.org COMMENT= Minuscule eventing, networking, and crypto for async applications WWW= https://github.com/uNetworking/uSockets LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_riscv64= fails to build: Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension USES= compiler:c++17-lang gmake ssl # c++17 only for temp C_++ code, otherwise it is c11 USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= uNetworking GH_PROJECT= uSockets MAKE_ARGS= WITH_OPENSSL=1 +CXXFLAGS+= -fPIC ALL_TARGET= default PLIST_FILES= include/libusockets.h \ lib/libuSockets.so do-install: ${INSTALL_DATA} ${WRKSRC}/src/libusockets.h ${STAGEDIR}${PREFIX}/include ${INSTALL_LIB} ${WRKSRC}/libuSockets.so ${STAGEDIR}${PREFIX}/lib do-test: # tests fail to compile: https://github.com/uNetworking/uSockets/issues/213 cd ${WRKSRC} && \ - ${CXX} -o test tests/sni_test.c ${STAGEDIR}${PREFIX}/lib/libuSockets.so && \ + ${CC} ${CFLAGS} -o test tests/sni_test.c ${STAGEDIR}${PREFIX}/lib/libuSockets.so && \ ./test .include diff --git a/net/usockets/files/patch-Makefile b/net/usockets/files/patch-Makefile index feba3bb79842..1a326b309bd0 100644 --- a/net/usockets/files/patch-Makefile +++ b/net/usockets/files/patch-Makefile @@ -1,25 +1,11 @@ --- Makefile.orig 2023-12-28 02:58:25 UTC +++ Makefile -@@ -77,18 +77,18 @@ ifeq ($(WITH_ASIO),1) - $(CC) $(CFLAGS) -O3 -c src/*.c src/eventing/*.c src/crypto/*.c src/io_uring/*.c - # Also link in Boost Asio support - ifeq ($(WITH_ASIO),1) -- $(CXX) $(CXXFLAGS) -Isrc -std=c++14 -flto -O3 -c src/eventing/asio.cpp -+ $(CXX) $(CXXFLAGS) -Isrc -fPIC -std=c++14 -flto -O3 -c src/eventing/asio.cpp - endif - - # For now we do rely on C++17 for OpenSSL support but we will be porting this work to C11 - ifeq ($(WITH_OPENSSL),1) -- $(CXX) $(CXXFLAGS) -std=c++17 -flto -O3 -c src/crypto/*.cpp -+ $(CXX) $(CXXFLAGS) -fPIC -std=c++17 -flto -O3 -c src/crypto/*.cpp - endif - ifeq ($(WITH_BORINGSSL),1) -- $(CXX) $(CXXFLAGS) -std=c++17 -flto -O3 -c src/crypto/*.cpp -+ $(CXX) $(CXXFLAGS) -fPIC -std=c++17 -flto -O3 -c src/crypto/*.cpp +@@ -88,7 +88,7 @@ endif + $(CXX) $(CXXFLAGS) -std=c++17 -flto -O3 -c src/crypto/*.cpp endif # Create a static library (try windows, then unix) - lib.exe /out:uSockets.a *.o || $(AR) rvs uSockets.a *.o -+ lib.exe /out:uSockets.a *.o || $(CXX) -shared -o libuSockets.so *.o -lssl ++ $(CXX) -shared -o libuSockets.so *.o -lssl # BoringSSL needs cmake and golang .PHONY: boringssl diff --git a/net/usockets/files/patch-tests_sni__test.c b/net/usockets/files/patch-tests_sni__test.c new file mode 100644 index 000000000000..6b12040160cd --- /dev/null +++ b/net/usockets/files/patch-tests_sni__test.c @@ -0,0 +1,15 @@ +--- tests/sni_test.c.orig 2024-01-22 07:32:06 UTC ++++ tests/sni_test.c +@@ -1,10 +1,10 @@ +-extern "C" { ++//extern "C" { + void *sni_new(); + void sni_free(void *sni, void (*cb)(void *user)); + int sni_add(void *sni, const char *hostname, void *user); + void *sni_remove(void *sni, const char *hostname); + void *sni_find(void *sni, const char *hostname); +-} ++//} + + #include + #include