about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/cxxopts
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-02-22 10:43:06 +0000
committerAlyssa Ross <hi@alyssa.is>2022-03-11 16:17:56 +0000
commitca1aada113c0ebda1ab8667199f6453f8e01c4fc (patch)
tree55e402280096f62eb0bc8bcad5ce6050c5a0aec7 /nixpkgs/pkgs/development/libraries/cxxopts
parente4df5a52a6a6531f32626f57205356a773ac2975 (diff)
parent93883402a445ad467320925a0a5dbe43a949f25b (diff)
downloadnixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.gz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.bz2
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.lz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.xz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.zst
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.zip
Merge commit '93883402a445ad467320925a0a5dbe43a949f25b'
Conflicts:
	nixpkgs/nixos/modules/programs/ssh.nix
	nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
	nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
	nixpkgs/pkgs/development/go-modules/generic/default.nix
	nixpkgs/pkgs/development/interpreters/ruby/default.nix
	nixpkgs/pkgs/development/libraries/mesa/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/cxxopts')
-rw-r--r--nixpkgs/pkgs/development/libraries/cxxopts/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/cxxopts/fix-install-path.patch18
2 files changed, 33 insertions, 7 deletions
diff --git a/nixpkgs/pkgs/development/libraries/cxxopts/default.nix b/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
index 855a9eef8ea0..9d3ea6f32de3 100644
--- a/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
@@ -1,21 +1,29 @@
-{ cmake, fetchFromGitHub, icu, lib, pkg-config, stdenv, enableUnicodeHelp ? true }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, icu
+, pkg-config
+, enableUnicodeHelp ? true
+}:
 
 stdenv.mkDerivation rec {
   name = "cxxopts";
-  version = "unstable-2020-12-14";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "jarro2783";
     repo = name;
-    rev = "2d8e17c4f88efce80e274cb03eeb902e055a91d3";
-    sha256 = "0pwrac81zfqjs17g3hx8r3ds2xf04npb6mz111qjy4bx17314ib7";
+    rev = "v${version}";
+    sha256 = "08x7j168l1xwj0r3rv89cgghmfhsx98lpq35r3vkh504m1pd55a6";
   };
 
+  # CMake does not set CMAKE_LIBRARY_ARCHITECTURE variable in Nix, which breaks architecture-independent library path generation
+  patches = [ ./fix-install-path.patch ];
+
   buildInputs = lib.optional enableUnicodeHelp [ icu.dev ];
   cmakeFlags = [ "-DCXXOPTS_BUILD_EXAMPLES=OFF" ]
-    ++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE"
-    # Due to -Wsuggest-override, remove when cxxopts is updated
-    ++ lib.optional stdenv.isDarwin "-DCXXOPTS_ENABLE_WARNINGS=OFF";
+    ++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE";
   nativeBuildInputs = [ cmake ] ++ lib.optional enableUnicodeHelp [ pkg-config ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/cxxopts/fix-install-path.patch b/nixpkgs/pkgs/development/libraries/cxxopts/fix-install-path.patch
new file mode 100644
index 000000000000..d91e3fb6dc18
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/cxxopts/fix-install-path.patch
@@ -0,0 +1,18 @@
+diff --git a/cmake/cxxopts.cmake b/cmake/cxxopts.cmake
+index 46e87ba..0ead543 100644
+--- a/cmake/cxxopts.cmake
++++ b/cmake/cxxopts.cmake
+@@ -87,7 +87,12 @@ endfunction()
+ 
+ # Helper function to ecapsulate install logic
+ function(cxxopts_install_logic)
+-    string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    if(CMAKE_LIBRARY_ARCHITECTURE)
++        string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    else()
++        # On some systems (e.g. NixOS), `CMAKE_LIBRARY_ARCHITECTURE` can be empty
++        set(CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    endif()
+     set(CXXOPTS_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR_ARCHIND}/cmake/cxxopts" CACHE STRING "Installation directory for cmake files, relative to ${CMAKE_INSTALL_PREFIX}.")
+     set(version_config "${PROJECT_BINARY_DIR}/cxxopts-config-version.cmake")
+     set(project_config "${PROJECT_BINARY_DIR}/cxxopts-config.cmake")