diff --git a/net/enet/Makefile b/net/enet/Makefile index 376821c4957..87635790f74 100644 --- a/net/enet/Makefile +++ b/net/enet/Makefile @@ -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 diff --git a/net/enet/distinfo b/net/enet/distinfo index 010e64d8ac4..6e6878b40dd 100644 --- a/net/enet/distinfo +++ b/net/enet/distinfo @@ -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 diff --git a/net/enet/patches/patch-CMakeLists_txt b/net/enet/patches/patch-CMakeLists_txt new file mode 100644 index 00000000000..792001d6ef9 --- /dev/null +++ b/net/enet/patches/patch-CMakeLists_txt @@ -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) diff --git a/net/enet/pkg/PLIST b/net/enet/pkg/PLIST index 26e44248daf..ca0dc88e16d 100644 --- a/net/enet/pkg/PLIST +++ b/net/enet/pkg/PLIST @@ -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