Skip to content

cquery: stuck in an old version because of macOS 10.12 requirement #44486

@Kaali

Description

@Kaali

Issue description

I tried to bump cquery version to the newest release (v20180718). But cannot do it because it uses C++14 features (shared_timed_mutex) only available from macOS 10.12.

Steps to reproduce

Apply this diff:

diff --git a/pkgs/development/tools/misc/cquery/default.nix b/pkgs/development/tools/misc/cquery/default.nix
index 0b86deb5205..ce0179ad372 100644
--- a/pkgs/development/tools/misc/cquery/default.nix
+++ b/pkgs/development/tools/misc/cquery/default.nix
@@ -5,8 +5,8 @@ let
   src = fetchFromGitHub {
     owner = "cquery-project";
     repo = "cquery";
-    rev = "34b357bc5e873d52d2aa41287c6e138244cea109";
-    sha256 = "0i34v30cl73485bzpbis539x0iq9whpv0403ca5a9h6vqwnvdn7c";
+    rev = "b523aa928acf8ffb3de6b22c79db7366a9672489";
+    sha256 = "0c8rgnyvd3nnwm17z4imwibmqb8i9kbnh0z2xj66kyahahg5faff";
     fetchSubmodules = true;
   };
 
@@ -15,7 +15,7 @@ let
 in
 stdenv.mkDerivation rec {
   name    = "cquery-${version}";
-  version = "2018-05-01";
+  version = "2018-07-18";
 
   inherit src;
 

and try to build on macOS.

Results in the following output:

[ 15%] Building CXX object CMakeFiles/cquery.dir/src/command_line.cc.o
In file included from /tmp/nix-build-cquery-2018-07-18.drv-0/source/src/command_line.cc:7:
/tmp/nix-build-cquery-2018-07-18.drv-0/source/src/import_manager.h:30:8: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
  std::shared_timed_mutex dependency_mutex_;
       ^
/nix/store/d4mnrvmh7l5hz6gskbn8h11g2wfjpvqx-libc++-6.0.1/include/c++/v1/shared_mutex:204:58: note: 'shared_timed_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
                                                         ^
In file included from /tmp/nix-build-cquery-2018-07-18.drv-0/source/src/command_line.cc:7:
/tmp/nix-build-cquery-2018-07-18.drv-0/source/src/import_manager.h:34:8: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
  std::shared_timed_mutex initial_import_mutex_;
       ^
/nix/store/d4mnrvmh7l5hz6gskbn8h11g2wfjpvqx-libc++-6.0.1/include/c++/v1/shared_mutex:204:58: note: 'shared_timed_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
                                                         ^

Technical details

Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.

 - system: `"x86_64-darwin"`
 - host os: `Darwin 17.7.0, macOS 10.13.6`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.1pre6338_45bcf541`
 - channels(kaali): `""`
 - channels(root): `""`
 - nixpkgs: `/Users/kaali/Devel/nix/nixpkgs`

Related to this issue: #37407
Maintainer ping: @tobim

Metadata

Metadata

Assignees

No one assigned

    Labels

    2.status: stalehttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md6.topic: darwinRunning or building packages on Darwin

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions