about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libtins
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-03-24 11:04:41 +0100
committerAlyssa Ross <hi@alyssa.is>2024-03-24 11:04:41 +0100
commit5423cabbbf2b6dec5568f1ecabd288d5d9a642ec (patch)
treef316a6a921bfefd3a63bd4502c2eb50ff1644f67 /nixpkgs/pkgs/development/libraries/libtins
parent46a88117a05c3469af5d99433af140c3de8ca088 (diff)
parent8aa81f34981add12aecada6c702ddbbd0375ca36 (diff)
downloadnixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.gz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.bz2
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.lz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.xz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.zst
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.zip
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libtins')
-rw-r--r--nixpkgs/pkgs/development/libraries/libtins/0001-force-cpp-14.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/libtins/default.nix17
2 files changed, 32 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libtins/0001-force-cpp-14.patch b/nixpkgs/pkgs/development/libraries/libtins/0001-force-cpp-14.patch
new file mode 100644
index 000000000000..3426713a07e3
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libtins/0001-force-cpp-14.patch
@@ -0,0 +1,26 @@
+This change bypasses all the code that attempts to see which C++11 features are enabled in your specific C++11 compiler.  C++14 is required for gtest 1.13+.
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 902233e676ee..49ac8a1010a4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -103,17 +103,9 @@ ENDIF()
+ # C++11 support
+ OPTION(LIBTINS_ENABLE_CXX11 "Compile libtins with c++11 features" ON)
+ IF(LIBTINS_ENABLE_CXX11)
+-    # We only use declval and decltype on gcc/clang as VC fails to build that code,
+-    # at least on VC2013
+-    IF(HAS_CXX11_RVALUE_REFERENCES AND HAS_CXX11_FUNCTIONAL AND HAS_CXX11_CHRONO AND
+-       HAS_CXX11_NOEXCEPT AND ((HAS_CXX11_DECLVAL AND HAS_CXX11_DECLTYPE) OR MSVC))
+-        SET(TINS_HAVE_CXX11 ON)
+-        MESSAGE(STATUS "Enabling C++11 features")
+-        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_COMPILER_FLAGS}")
+-    ELSE()
+-        MESSAGE(WARNING "The compiler doesn't support the necessary C++11 features. "
+-                        "Disabling C++11 on this build")
+-    ENDIF()
++    SET(TINS_HAVE_CXX11 ON)
++    MESSAGE(STATUS "Using C++11 features")
++    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+ ELSE(LIBTINS_ENABLE_CXX11)
+     MESSAGE(
+         WARNING
diff --git a/nixpkgs/pkgs/development/libraries/libtins/default.nix b/nixpkgs/pkgs/development/libraries/libtins/default.nix
index b27ad6634797..6f195615551f 100644
--- a/nixpkgs/pkgs/development/libraries/libtins/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtins/default.nix
@@ -1,25 +1,20 @@
-{ boost, cmake, fetchFromGitHub, fetchpatch, gtest, libpcap, openssl, lib, stdenv }:
+{ boost, cmake, fetchFromGitHub, gtest, libpcap, openssl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
   pname = "libtins";
-  version = "4.4";
+  version = "4.5";
 
   src = fetchFromGitHub {
     owner = "mfontanini";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mXbinXh/CO0SZZ71+K+FozbHCCoi12+AIa2o+P0QmUw=";
+    sha256 = "sha256-zL4C2Cgs9Y3NebL8MPQBO5j8Bm6xhl8ZggQBPJLRn0o=";
   };
 
   patches = [
-    # Pull gcc-13 fixes:
-    #   https://github.com/mfontanini/libtins/pull/496
-    # TODO: remove when upgrade to the next version.
-    (fetchpatch {
-      name = "gcc-13.patch";
-      url = "https://github.com/mfontanini/libtins/commit/812be7966d445ec56e88eab512f8fd2d57152427.patch";
-      hash = "sha256-5RCFPe95r1CBrAocjTPR2SvUlgaGa1aBc8RazyxUj3M=";
-    })
+    # Required for gtest 1.13+, see also upstream report at:
+    # https://github.com/mfontanini/libtins/issues/529
+    ./0001-force-cpp-14.patch
   ];
 
   postPatch = ''