git: 8dcb7247f317 - main - archivers/snappy: Update to 1.2.2

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Mon, 21 Apr 2025 17:38:34 UTC
The branch main has been updated by diizzy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8dcb7247f3179c58b738a4c73c9d8e2f074a1136

commit 8dcb7247f3179c58b738a4c73c9d8e2f074a1136
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2025-04-21 17:03:07 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2025-04-21 17:37:55 +0000

    archivers/snappy: Update to 1.2.2
    
    * Import patches from Arch Linux to fix rtti and enable "make test"
    with devel/googletest from tree
    * Add localbase:ldflags for "make test"
    * Bump C++ standard to 14
    
    Changelog: https://github.com/google/snappy/releases/tag/1.2.2
    
    Sources:
    https://gitlab.archlinux.org/archlinux/packaging/packages/snappy/-/blob/a5d1b76094f6eaf763c0e883b78623a3fb07e10e/snappy-reenable_rtti.patch
    https://gitlab.archlinux.org/archlinux/packaging/packages/snappy/-/blob/a5d1b76094f6eaf763c0e883b78623a3fb07e10e/snappy-use_system_gtest.patch
    
    PR:             286253
    Reviewed by:    vanilla (maintainer)
---
 archivers/snappy/Makefile                   |   8 +-
 archivers/snappy/distinfo                   |   6 +-
 archivers/snappy/files/patch-CMakeLists.txt | 113 +++++++++++-----------------
 archivers/snappy/pkg-plist                  |   1 -
 4 files changed, 50 insertions(+), 78 deletions(-)

diff --git a/archivers/snappy/Makefile b/archivers/snappy/Makefile
index 32e11fb58fbf..5ce29d712c06 100644
--- a/archivers/snappy/Makefile
+++ b/archivers/snappy/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	snappy
-DISTVERSION=	1.2.1
-PORTREVISION=	1
+DISTVERSION=	1.2.2
 CATEGORIES=	archivers
 
 MAINTAINER=	vanilla@FreeBSD.org
@@ -10,7 +9,9 @@ WWW=		https://google.github.io/snappy/
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-USES=		cmake compiler:c++11-lang cpe
+TEST_DEPENDS=	googletest>0:devel/googletest
+
+USES=		cmake:testing compiler:c++14-lang cpe localbase:ldflags
 CPE_VENDOR=	google
 USE_LDCONFIG=	yes
 
@@ -21,6 +22,7 @@ PLIST_SUB=	DISTVERSION=${DISTVERSION}
 SUB_FILES=	snappy.pc
 SUB_LIST=	DISTVERSION=${DISTVERSION}
 
+CMAKE_TESTING_ON=	SNAPPY_BUILD_TESTS
 CMAKE_OFF=	SNAPPY_BUILD_BENCHMARKS \
 		SNAPPY_BUILD_TESTS
 CMAKE_ON=	BUILD_SHARED_LIBS
diff --git a/archivers/snappy/distinfo b/archivers/snappy/distinfo
index 7202568365c9..fe3710f45e3a 100644
--- a/archivers/snappy/distinfo
+++ b/archivers/snappy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1717485290
-SHA256 (google-snappy-1.2.1_GH0.tar.gz) = 736aeb64d86566d2236ddffa2865ee5d7a82d26c9016b36218fcc27ea4f09f86
-SIZE (google-snappy-1.2.1_GH0.tar.gz) = 1108761
+TIMESTAMP = 1745180102
+SHA256 (google-snappy-1.2.2_GH0.tar.gz) = 90f74bc1fbf78a6c56b3c4a082a05103b3a56bb17bca1a27e052ea11723292dc
+SIZE (google-snappy-1.2.2_GH0.tar.gz) = 1108618
diff --git a/archivers/snappy/files/patch-CMakeLists.txt b/archivers/snappy/files/patch-CMakeLists.txt
index 52c04875092f..658d994c5a3a 100644
--- a/archivers/snappy/files/patch-CMakeLists.txt
+++ b/archivers/snappy/files/patch-CMakeLists.txt
@@ -1,86 +1,57 @@
---- CMakeLists.txt.orig	2024-05-21 19:36:39 UTC
+--- CMakeLists.txt.orig	2025-03-26 15:19:22 UTC
 +++ CMakeLists.txt
-@@ -53,8 +53,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+@@ -32,7 +32,7 @@ if(NOT CMAKE_CXX_STANDARD)
+ # C++ standard can be overridden when this is used as a sub-project.
+ if(NOT CMAKE_CXX_STANDARD)
+   # This project requires C++11.
+-  set(CMAKE_CXX_STANDARD 11)
++  set(CMAKE_CXX_STANDARD 14)
+   set(CMAKE_CXX_STANDARD_REQUIRED ON)
+   set(CMAKE_CXX_EXTENSIONS OFF)
+ endif(NOT CMAKE_CXX_STANDARD)
+@@ -51,10 +51,6 @@ if(MSVC)
+   string(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHs-c-")
    add_definitions(-D_HAS_EXCEPTIONS=0)
- 
-   # Disable RTTI.
+-
+-  # Disable RTTI.
 -  string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
 -  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
-+  if (NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD") # devel/folly requires RTTI info, see https://github.com/facebook/folly/issues/1606
-+    string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
-+  endif()
- else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ else(MSVC)
    # Use -Wall for clang and gcc.
    if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
-@@ -83,8 +85,10 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+@@ -81,10 +77,6 @@ else(MSVC)
+   # Disable C++ exceptions.
+   string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
- 
-   # Disable RTTI.
+-
+-  # Disable RTTI.
 -  string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
 -  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
-+  if (NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
-+    string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
-+  endif()
- endif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ endif(MSVC)
  
  # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make
-@@ -248,8 +252,7 @@ configure_file(
-   "snappy-stubs-public.h.in"
-   "${PROJECT_BINARY_DIR}/snappy-stubs-public.h")
+@@ -329,19 +321,18 @@ if(SNAPPY_BUILD_TESTS)
+   set(install_gmock OFF)
+   set(build_gmock ON)
  
--add_library(snappy "")
--target_sources(snappy
-+set(SNAPPY_SRCS
-   PRIVATE
-     "snappy-internal.h"
-     "snappy-stubs-internal.h"
-@@ -270,20 +273,34 @@ target_sources(snappy
-     $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/snappy-stubs-public.h>
-     $<INSTALL_INTERFACE:include/snappy-stubs-public.h>
- )
--target_include_directories(snappy
-+set(SNAPPY_INCS
-   PUBLIC
-     $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
-     $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
-     $<INSTALL_INTERFACE:include>
- )
-+add_library(snappy SHARED)
-+target_sources(snappy ${SNAPPY_SRCS})
-+target_include_directories(snappy ${SNAPPY_INCS})
- set_target_properties(snappy
-   PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
+-  # This project is tested using GoogleTest.
+-  add_subdirectory("third_party/googletest")
++  find_package(GTest REQUIRED)
  
- target_compile_definitions(snappy PRIVATE -DHAVE_CONFIG_H)
--if(BUILD_SHARED_LIBS)
--  set_target_properties(snappy PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
--endif(BUILD_SHARED_LIBS)
-+set_target_properties(snappy PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
-+add_library(snappy-static STATIC)
-+target_sources(snappy-static ${SNAPPY_SRCS})
-+target_include_directories(snappy-static ${SNAPPY_INCS})
-+set_target_properties(snappy-static
-+  PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
+   # GoogleTest triggers a missing field initializers warning.
+   if(SNAPPY_HAVE_NO_MISSING_FIELD_INITIALIZERS)
+-    set_property(TARGET gtest
++    set_property(TARGET GTest::gtest
+         APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+-    set_property(TARGET gmock
++    set_property(TARGET GTest::gmock
+         APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+   endif(SNAPPY_HAVE_NO_MISSING_FIELD_INITIALIZERS)
  
-+target_compile_definitions(snappy-static PRIVATE -DHAVE_CONFIG_H)
-+
-+if (MSVC)
-+  set_target_properties(snappy-static PROPERTIES OUTPUT_NAME snappy-static)
-+else()
-+  set_target_properties(snappy-static PROPERTIES OUTPUT_NAME snappy)
-+endif()
-+
- if(SNAPPY_BUILD_TESTS OR SNAPPY_BUILD_BENCHMARKS)
-   add_library(snappy_test_support "")
-   target_sources(snappy_test_support
-@@ -399,7 +416,7 @@ if(SNAPPY_INSTALL)
- include(GNUInstallDirs)
+   if(SNAPPY_HAVE_NO_IMPLICIT_INT_FLOAT_CONVERSION)
+-    set_property(TARGET gtest
++    set_property(TARGET GTest::gtest
+         APPEND PROPERTY COMPILE_OPTIONS -Wno-implicit-int-float-conversion)
+   endif(SNAPPY_HAVE_NO_IMPLICIT_INT_FLOAT_CONVERSION)
  
- if(SNAPPY_INSTALL)
--  install(TARGETS snappy
-+  install(TARGETS snappy snappy-static
-     EXPORT SnappyTargets
-     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/archivers/snappy/pkg-plist b/archivers/snappy/pkg-plist
index 2d1cdf9f8f90..c9b059d142f8 100644
--- a/archivers/snappy/pkg-plist
+++ b/archivers/snappy/pkg-plist
@@ -6,7 +6,6 @@ lib/cmake/Snappy/SnappyConfig.cmake
 lib/cmake/Snappy/SnappyConfigVersion.cmake
 lib/cmake/Snappy/SnappyTargets-%%CMAKE_BUILD_TYPE%%.cmake
 lib/cmake/Snappy/SnappyTargets.cmake
-lib/libsnappy.a
 lib/libsnappy.so
 lib/libsnappy.so.1
 lib/libsnappy.so.%%DISTVERSION%%