diff --git a/cross/argon2/Makefile b/cross/argon2/Makefile index c8cecb81c8d..d79a0b83897 100644 --- a/cross/argon2/Makefile +++ b/cross/argon2/Makefile @@ -19,4 +19,21 @@ ENV += PREFIX=$(INSTALL_PREFIX) # avoid host machine specific library path: ENV += LIBRARY_REL=lib +include ../../mk/spksrc.common.mk + +# To ensure compatibility with Denverton celeron CPU +ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ADDITIONAL_CFLAGS += -mno-avx -mno-avx2 -mno-sse4.1 -mno-sse4.2 +ADDITIONAL_CFLAGS += -mno-bmi -mno-bmi2 +ADDITIONAL_CFLAGS += -DARGON2_NO_INTRINSICS -DBLAKE2_USE_PORTABLE +ADDITIONAL_CFLAGS += -march=core2 -mtune=core2 +endif + +# To ensure compatibility with Evansport i686 CPU +ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ADDITIONAL_CFLAGS += -mno-sse4.1 -mno-sse4.2 +ADDITIONAL_CFLAGS += -DARGON2_NO_INTRINSICS -DBLAKE2_USE_PORTABLE +ADDITIONAL_CFLAGS += -march=core2 -mtune=core2 +endif + include ../../mk/spksrc.cross-cc.mk diff --git a/cross/znc/Makefile b/cross/znc/Makefile index e66df6d5dd2..9514b9b4b14 100644 --- a/cross/znc/Makefile +++ b/cross/znc/Makefile @@ -1,5 +1,5 @@ PKG_NAME = znc -PKG_VERS = 1.9.1 +PKG_VERS = 1.10.1 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://znc.in/releases/archive @@ -16,7 +16,7 @@ LICENSE = Apache 2.0 ifeq ($(strip $(PYTHON_PACKAGE)),) BUILD_DEPENDS = cross/python312 endif -CMAKE_ARGS = -DWANT_PYTHON=true +CMAKE_ARGS += -DWANT_PYTHON=true DEPENDS = cross/zlib DEPENDS += cross/openssl3 diff --git a/cross/znc/PLIST b/cross/znc/PLIST index 22f0f537962..b473c42662c 100644 --- a/cross/znc/PLIST +++ b/cross/znc/PLIST @@ -59,6 +59,7 @@ lib:lib/znc/raw.so lib:lib/znc/route_replies.so lib:lib/znc/sample.so lib:lib/znc/samplewebapi.so +lib:lib/znc/saslplainauth.so lib:lib/znc/sasl.so lib:lib/znc/savebuff.so lib:lib/znc/schat.so diff --git a/cross/znc/digests b/cross/znc/digests index a7d7740e1fb..2e20d02acf4 100644 --- a/cross/znc/digests +++ b/cross/znc/digests @@ -1,3 +1,3 @@ -znc-1.9.1.tar.gz SHA1 fbaf45d698151b647316007430b690d58705d6ef -znc-1.9.1.tar.gz SHA256 e8a7cf80e19aad510b4e282eaf61b56bc30df88ea2e0f64fadcdd303c4894f3c -znc-1.9.1.tar.gz MD5 85ec4aec1c5d072c63c4b58f442e9710 +znc-1.10.1.tar.gz SHA1 1e3eee8ccfea3eae10c145e8c81b087470edbb7f +znc-1.10.1.tar.gz SHA256 4e6e76851dbf2606185972b53ec5decad68fe53b63a56e4df8b8b3c0a6c46800 +znc-1.10.1.tar.gz MD5 6b2ffec8c6507ddcaff854457022a832 diff --git a/cross/znc/patches/001-force-modules-rpath-using-linker-flags.patch b/cross/znc/patches/001-force-modules-rpath-using-linker-flags.patch new file mode 100644 index 00000000000..69e232b0706 --- /dev/null +++ b/cross/znc/patches/001-force-modules-rpath-using-linker-flags.patch @@ -0,0 +1,17 @@ +001-force-modules-rpath-using-linker-flags.patch + +This patch is needed to ensure all rpath are properly assigned +to modules shared objects as otherwise only default cmake rpath +is being used while LDFLAGS extra rpath not being considered + +--- modules/CMakeLists.txt-orig 2025-07-01 21:17:15.000000000 +0000 ++++ modules/CMakeLists.txt 2025-07-09 11:18:52.139294029 +0000 +@@ -17,6 +17,8 @@ + # This is not recommended, but whatever. + file(GLOB all_modules LIST_DIRECTORIES FALSE "*") + ++set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") ++ + function(add_cxx_module mod modpath) + znc_add_library("module_${mod}" MODULE "${modpath}") + set_target_properties("module_${mod}" PROPERTIES diff --git a/spk/znc/Makefile b/spk/znc/Makefile index 88627c0e52d..5d9b14f224c 100644 --- a/spk/znc/Makefile +++ b/spk/znc/Makefile @@ -1,6 +1,6 @@ SPK_NAME = znc -SPK_VERS = 1.9.1 -SPK_REV = 25 +SPK_VERS = 1.10.1 +SPK_REV = 27 SPK_ICON = src/znc.png DSM_UI_DIR = app @@ -12,13 +12,13 @@ DESCRIPTION = Advanced IRC bouncer. An IRC bouncer is nothing more than an IRC p DESCRIPTION_FRE = Bouncer IRC avancé. Un bouncer IRC n\’est en fait qu\’un proxy IRC. ZNC restera connecté en permanence à vos salons de discussions et fera office de passerelle entre vos clients et vos serveurs IRC. Vous pourrez, par exemple, consultez des messages diffusés en votre absence ou masquer votre identité. DESCRIPTION_SPN = IRC bouncer avanzado. Un IRC bouncer no es más que un proxy para IRC. ZNC estará siempre conectado a tus canales, y hará de puerta de enlace entre tus clientes y tus servidores IRC. Puedes, por ejemplo, consultar mensajes mientras estuviste desconectado o esconder tu identidad. DISPLAY_NAME = ZNC -CHANGELOG = "1. Update to ZNC 1.91.1.
2. Migrate to Python 3.12
3. Updated version only supported on DSM7 and newer
4. Enable i18n+boost, icu and cyrus-sasl" +CHANGELOG = "1. Update to ZNC 1.10.1.
2. Migrate to Python 3.12
3. Updated version only supported on DSM7 and newer
4. Enablement of i18n+boost, icu and cyrus-sasl
5. Fix issue with multiple rpath
6. Fix issue with libargon2 celeron CPU compatibility" STARTABLE = yes HOMEPAGE = https://wiki.znc.in/ LICENSE = Apache License 2.0 -# Ensure C++11 compatibility +# Ensure C++17 compatibility REQUIRED_MIN_DSM = 7.0 UNSUPPORTED_ARCHS = comcerto2k diff --git a/spk/znc/src/service-setup.sh b/spk/znc/src/service-setup.sh index 95d3a104eaf..61fa2d2cf1d 100644 --- a/spk/znc/src/service-setup.sh +++ b/spk/znc/src/service-setup.sh @@ -6,12 +6,16 @@ PATH="${SYNOPKG_PKGDEST}/bin:${PATH}" ZNC="${SYNOPKG_PKGDEST}/bin/znc" CERT_FILE="${SYNOPKG_PKGVAR}/znc.pem" -PYTHON3_LIB_PATH="/var/packages/python312/target/lib" -SERVICE_COMMAND="env LD_LIBRARY_PATH=${PYTHON3_LIB_PATH} ${ZNC} -d ${SYNOPKG_PKGVAR}" +SERVICE_COMMAND="${ZNC} -d ${SYNOPKG_PKGVAR}" SVC_BACKGROUND=yes CONF_FILE=${SYNOPKG_PKGVAR}/configs/znc.conf OID_FILE=${SYNOPKG_PKGVAR}/configs/oidentd.conf +# DEBUG +#SERVICE_COMMAND="strace -o ${SYNOPKG_PKGVAR}/znc-strace.log ${ZNC} -d ${SYNOPKG_PKGVAR} --debug --foreground" +#export ZNC_DEBUG_MODULES=1 +#export ZNC_DEBUG_SSL=1 + service_postinst () { # Edit the configuration according to the wizard