Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mongoose: update to 7.6 #36395

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
50 changes: 0 additions & 50 deletions srcpkgs/mongoose/patches/add-makefile.patch

This file was deleted.

59 changes: 59 additions & 0 deletions srcpkgs/mongoose/patches/fix-makefile.patch
@@ -0,0 +1,59 @@
--- a/Makefile
+++ b/Makefile
@@ -5,5 +5,5 @@ SRCS = mongoose.c test/unit_test.c test/packed_fs.c
OPTS ?= -O3 -g3
INCS ?= -Isrc -I.
-CFLAGS ?= $(OPTS) $(WARN) $(INCS) $(DEFS) $(TFLAGS) $(EXTRA)
+CFLAGS := $(OPTS) $(WARN) $(INCS) $(DEFS) $(TFLAGS) $(CFLAGS)
SSL ?= MBEDTLS
CWD ?= $(realpath $(CURDIR))
@@ -10,6 +10,9 @@ CWD ?= $(realpath $(CURDIR))
DOCKER ?= docker run --rm -e Tmp=. -e WINEDEBUG=-all -v $(CWD):$(CWD) -w $(CWD)
VCFLAGS = /nologo /W3 /O2 /I. $(DEFS) $(TFLAGS)
IPV6 ?= 1
+ifneq "$(NO_SANITIZE)" "1"
+SANITIZE = -fsanitize=address,undefined
+endif
ASAN_OPTIONS ?=
EXAMPLES := $(wildcard examples/*)
PREFIX ?= /usr/local
@@ -19,12 +22,12 @@ VERSION ?= $(shell cut -d'"' -f2 src/version.h)
ifeq "$(SSL)" "MBEDTLS"
MBEDTLS ?= /usr
CFLAGS += -DMG_ENABLE_MBEDTLS=1 -I$(MBEDTLS)/include -I/usr/include
-LDFLAGS ?= -L$(MBEDTLS)/lib -lmbedtls -lmbedcrypto -lmbedx509
+LDFLAGS += -L$(MBEDTLS)/lib -lmbedtls -lmbedcrypto -lmbedx509
endif
ifeq "$(SSL)" "OPENSSL"
OPENSSL ?= /usr
CFLAGS += -DMG_ENABLE_OPENSSL=1 -I$(OPENSSL)/include
-LDFLAGS ?= -L$(OPENSSL)/lib -lssl -lcrypto
+LDFLAGS += -L$(OPENSSL)/lib -lssl -lcrypto
endif

all: mg_prefix unamalgamated unpacked test test++ arm examples vc98 vc2017 mingw mingw++ linux linux++ fuzz
@@ -59,7 +62,7 @@ fuzz: fuzzer
$(RUN) ./fuzzer

# make CC=/usr/local/opt/llvm\@8/bin/clang ASAN_OPTIONS=detect_leaks=1
-test: CFLAGS += -DMG_ENABLE_IPV6=$(IPV6) -fsanitize=address,undefined
+test: CFLAGS += -DMG_ENABLE_IPV6=$(IPV6) $(SANITIZE)
test: mongoose.h Makefile $(SRCS)
$(CC) $(SRCS) $(CFLAGS) -coverage $(LDFLAGS) -g -o unit_test
ASAN_OPTIONS=$(ASAN_OPTIONS) $(RUN) ./unit_test
@@ -108,10 +111,12 @@ linux++: CC = g++
linux++: WARN += -Wno-missing-field-initializers
linux++: linux

-linux-libs: CFLAGS += -fPIC
-linux-libs: mongoose.o
- $(CC) mongoose.o $(LDFLAGS) -shared -o libmongoose.so.$(VERSION)
+.PHONY: linux-libs
+linux-libs: libmongoose.a libmongoose.so.$(VERSION)
+libmongoose.a: mongoose.o
$(AR) rcs libmongoose.a mongoose.o
+libmongoose.so.$(VERSION): mongoose.o
+ $(CC) mongoose.o $(LDFLAGS) -shared -o libmongoose.so.$(VERSION)

install: linux-libs
install -Dm644 libmongoose.a libmongoose.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib
17 changes: 17 additions & 0 deletions srcpkgs/mongoose/patches/fix-tests.patch
@@ -0,0 +1,17 @@
Skip tests that want to connect to the internet

--- a/test/unit_test.c
+++ b/test/unit_test.c
@@ -1680,11 +1562,9 @@ int main(void) {
test_ws();
test_ws_fragmentation();
test_http_server();
- test_http_client();
test_http_no_content_length();
test_http_pipeline();
test_http_range();
- test_mqtt();
subnut marked this conversation as resolved.
Show resolved Hide resolved
printf("SUCCESS. Total tests: %d\n", s_num_tests);
return EXIT_SUCCESS;
}

42 changes: 34 additions & 8 deletions srcpkgs/mongoose/template
@@ -1,29 +1,55 @@
# Template file for 'mongoose'
pkgname=mongoose
version=6.18
revision=4
version=7.6
revision=1
build_style=gnu-makefile
make_use_env=compliant
make_use_env=yes
make_check_target=test
make_build_target=linux-libs
makedepends="openssl-devel"
short_desc="Easy to use Web server"
maintainer="Orphaned <orphan@voidlinux.org>"
checkdepends="openssl-devel"
short_desc="Embedded Networking Library for TCP,UDP,HTTP,MQTT,WebSocket and SSL/TLS"
maintainer="Subhaditya Nath <sn03.general@gmail.com>"
license="GPL-2.0-only"
homepage="https://cesanta.com/"
homepage="https://mongoose.ws/"
distfiles="https://github.com/cesanta/mongoose/archive/${version}.tar.gz"
checksum=f5c10346abc9c72f7cac7885d853ca064fb09aad57580433941a8fd7a3543769
checksum=1ef09d971b6de1a6317c109980d6fb5a9c19b39efef2506d6b76869644b3dafa
CFLAGS="-fPIC -Wno-error=sign-conversion -Wno-error=unused-function"
# -Wno-error=unused-function fix-tests.patch
# -Wno-error=sign-conversion GCC falsely flags musl FD_{SET,ISSET,CLR}
# https://inbox.vuxu.org/musl/20200803174707.GF6949@brightrain.aerifal.cx/T/

subnut marked this conversation as resolved.
Show resolved Hide resolved
# used in Makefile
export SSL=OPENSSL

# libsanitizer-devel is currenly not available on musl
if [ "$XBPS_TARGET_LIBC" = musl ]; then
# NO_SANITIZE option is added by fix-makefile.patch
make_check_args+=" NO_SANITIZE=1"
else
checkdepends+=" libsanitizer-devel"
fi

# GitHub CI runner doesn't support IPv6, causing tests to fail
if [ "$XBPS_BUILD_ENVIRONMENT" = "void-packages-ci" ]; then
make_check_args+=" IPV6=0"
fi

mongoose-devel_package() {
depends="${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
}
}

mongoose-doc_package() {
short_desc+=" - documentation"
pkg_install() {
vmove usr/share
vmkdir "usr/share/${sourcepkg}/doc"
vcopy examples "usr/share/${sourcepkg}/doc"
vcopy "docs/*" "usr/share/${sourcepkg}/doc"
Johnnynator marked this conversation as resolved.
Show resolved Hide resolved
}
}