Skip to content

Commit

Permalink
mongoose: update to 7.6
Browse files Browse the repository at this point in the history
Closes: #36395 [via git-merge-pr]
  • Loading branch information
subnut authored and ahesford committed Mar 31, 2022
1 parent 9f50345 commit d6fe012
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 58 deletions.
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();
printf("SUCCESS. Total tests: %d\n", s_num_tests);
return EXIT_SUCCESS;
}

40 changes: 32 additions & 8 deletions srcpkgs/mongoose/template
@@ -1,29 +1,53 @@
# 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 HTTP/WebSocket/MQTT library for C/C++"
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

# -Wno-error=unused-function: patched tests leave some functions unused
# -Wno-error=sign-conversion: GCC falsely flags musl FD_{SET,ISSET,CLR}
CFLAGS="-fPIC -Wno-error=sign-conversion -Wno-error=unused-function"

export SSL=OPENSSL

# libsanitizer-devel is currenly not available on musl
if [ "$XBPS_TARGET_LIBC" = musl ]; then
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"
}
}

0 comments on commit d6fe012

Please sign in to comment.