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)
This commit is contained in:
Daniel Engberg
2025-04-21 19:03:07 +02:00
parent d0d2b10d6d
commit 8dcb7247f3
4 changed files with 50 additions and 78 deletions
+5 -3
View File
@@ -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
+3 -3
View File
@@ -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
+42 -71
View File
@@ -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}
-1
View File
@@ -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%%