From: Brad Smith Subject: Re: UPDATE: enet 1.3.18 To: ports@openbsd.org Cc: Laurent FANIS Date: Sun, 27 Oct 2024 18:36:03 -0400 ping. On 2024-10-02 10:58 p.m., Brad Smith wrote: > ping. > > On 2024-06-03 4:52 a.m., Brad Smith wrote: >> ping. >> >> On 2024-05-11 8:13 p.m., Brad Smith wrote: >>> Here is an update to ENet 1.3.18. >>> >>> >>> ENet 1.3.18 (April 14, 2024): >>> >>> * Packet sending performance improvements >>> * MTU negotiation fixes >>> * Checksum alignment fix >>> * No more dynamic initialization of checksum table >>> * ENET_SOCKOPT_TTL >>> * Other miscellaneous small improvements >>> >>> ENet 1.3.17 (November 15, 2020): >>> >>> * fixes for sender getting too far ahead of receiver that can cause >>> instability with reliable packets >>> >>> ENet 1.3.16 (September 8, 2020): >>> >>> * fix bug in unreliable fragment queuing >>> * use single output queue for reliable and unreliable packets for >>> saner ordering >>> * revert experimental throttle changes that were less stable than >>> prior algorithm >>> >>> ENet 1.3.15 (April 20, 2020): >>> >>> * quicker RTT initialization >>> * use fractional precision for RTT calculations >>> * fixes for packet throttle with low RTT variance >>> * miscellaneous socket bug fixes >>> >>> ENet 1.3.14 (January 27, 2019): >>> >>> * bug fix for enet_peer_disconnect_later() >>> * use getaddrinfo and getnameinfo where available >>> * miscellaneous cleanups >>> >>> >>> Index: Makefile >>> =================================================================== >>> RCS file: /cvs/ports/net/enet/Makefile,v >>> retrieving revision 1.15 >>> diff -u -p -u -p -r1.15 Makefile >>> --- Makefile    27 Sep 2023 14:18:05 -0000    1.15 >>> +++ Makefile    12 May 2024 00:06:07 -0000 >>> @@ -1,8 +1,8 @@ >>>   COMMENT =        network library for games >>> -DISTNAME =        enet-1.3.13 >>> -REVISION =        0 >>>   -SHARED_LIBS +=      enet 0.2 # 1.3 >>> +DISTNAME =        enet-1.3.18 >>> + >>> +SHARED_LIBS +=      enet 0.3 # 1.3 >>>     CATEGORIES =        net >>>   @@ -12,9 +12,10 @@ MAINTAINER =        Laurent FANIS >>   # MIT-like >>>   PERMIT_PACKAGE =    Yes >>>   -SITES =            ${HOMEPAGE}/download/ >>> +SITES =            ${HOMEPAGE}download/ >>>   +MODULES =        devel/cmake >>>   -CONFIGURE_STYLE =    gnu >>> +CONFIGURE_ARGS+=    -DBUILD_SHARED_LIBS=ON >>>     .include >>> Index: distinfo >>> =================================================================== >>> RCS file: /cvs/ports/net/enet/distinfo,v >>> retrieving revision 1.6 >>> diff -u -p -u -p -r1.6 distinfo >>> --- distinfo    30 Dec 2015 16:09:12 -0000    1.6 >>> +++ distinfo    12 May 2024 00:06:07 -0000 >>> @@ -1,2 +1,2 @@ >>> -SHA256 (enet-1.3.13.tar.gz) = >>> 42ByAh+qKHMbCMFbHDtbkbkRuvX2q8x/5KbUJauto1w= >>> -SIZE (enet-1.3.13.tar.gz) = 669090 >>> +SHA256 (enet-1.3.18.tar.gz) = >>> KooMU2DWi7T80R8uTEfGmXbo0shbEJ3X1gsRgaT4XTY= >>> +SIZE (enet-1.3.18.tar.gz) = 737164 >>> Index: patches/patch-CMakeLists_txt >>> =================================================================== >>> RCS file: patches/patch-CMakeLists_txt >>> diff -N patches/patch-CMakeLists_txt >>> --- /dev/null    1 Jan 1970 00:00:00 -0000 >>> +++ patches/patch-CMakeLists_txt    12 May 2024 00:06:07 -0000 >>> @@ -0,0 +1,73 @@ >>> +- CMake: Fix linking for Windows builds on non-mingw compilers >>> +  276ff5ae05a245bcee195af9c9fd002851517d40 >>> +- CMake: Enable shared builds >>> +  ca56fecaf35f6031b30d1573b8e772d7c81abcb4 >>> +- CMake: Improve install instructions >>> +  4ce1625b8ae22a4e0030f07d80360e25ae558a1e >>> + >>> +- CMake: set project LANGUAGES to C >>> +  https://github.com/lsalzman/enet/pull/250 >>> +- CMake: Include libenet.pc in installation >>> +  https://github.com/lsalzman/enet/pull/233 >>> + >>> +Index: CMakeLists.txt >>> +--- CMakeLists.txt.orig >>> ++++ CMakeLists.txt >>> +@@ -1,6 +1,8 @@ >>> + cmake_minimum_required(VERSION 2.8.12...3.20) >>> + >>> +-project(enet) >>> ++# I.e. The ABI version >>> ++project(enet VERSION 7.0.5 LANGUAGES C) >>> ++set(ENET_VERSION "1.3.18") >>> + >>> + # The "configure" step. >>> + include(CheckFunctionExists) >>> +@@ -84,19 +86,40 @@ set(SOURCE_FILES >>> + source_group(include FILES ${INCLUDE_FILES}) >>> + source_group(source FILES ${SOURCE_FILES}) >>> + >>> +-add_library(enet STATIC >>> ++if(WIN32 AND BUILD_SHARED_LIBS AND (MSVC OR CMAKE_CXX_COMPILER_ID >>> MATCHES "Clang")) >>> ++    add_definitions(-DENET_DLL=1) >>> ++    add_definitions(-DENET_BUILDING_LIB) >>> ++endif() >>> ++ >>> ++add_library(enet >>> +     ${INCLUDE_FILES} >>> +     ${SOURCE_FILES} >>> + ) >>> ++set_target_properties(enet PROPERTIES >>> ++    SOVERSION ${PROJECT_VERSION_MAJOR} >>> ++    VERSION ${PROJECT_VERSION} >>> ++) >>> + >>> +-if (MINGW) >>> ++if (WIN32) >>> +     target_link_libraries(enet winmm ws2_32) >>> + endif() >>> + >>> ++include(GNUInstallDirs) >>> + install(TARGETS enet >>> +-    RUNTIME DESTINATION bin >>> +-    ARCHIVE DESTINATION lib/static >>> +-    LIBRARY DESTINATION lib) >>> ++    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} >>> ++    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} >>> ++    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} >>> ++) >>> ++install(DIRECTORY include/enet >>> ++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} >>> ++) >>> + >>> +-install(DIRECTORY include/ >>> +-        DESTINATION include) >>> ++# Add variables for substitution in libenet.pc.in >>> ++set(PACKAGE_VERSION ${ENET_VERSION}) >>> ++set(PACKAGE_NAME "lib${PROJECT_NAME}") >>> ++set(prefix ${CMAKE_INSTALL_PREFIX}) >>> ++set(exec_prefix ${CMAKE_INSTALL_PREFIX}) >>> ++set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) >>> ++set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) >>> ++configure_file(libenet.pc.in libenet.pc @ONLY) >>> ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libenet.pc DESTINATION >>> ${CMAKE_INSTALL_LIBDIR}/pkgconfig) >>> Index: pkg/PLIST >>> =================================================================== >>> RCS file: /cvs/ports/net/enet/pkg/PLIST,v >>> retrieving revision 1.5 >>> diff -u -p -u -p -r1.5 PLIST >>> --- pkg/PLIST    11 Mar 2022 19:45:56 -0000    1.5 >>> +++ pkg/PLIST    12 May 2024 00:06:07 -0000 >>> @@ -8,7 +8,5 @@ include/enet/types.h >>>   include/enet/unix.h >>>   include/enet/utility.h >>>   include/enet/win32.h >>> -lib/libenet.a >>> -lib/libenet.la >>>   @lib lib/libenet.so.${LIBenet_VERSION} >>>   lib/pkgconfig/libenet.pc >>