about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-07-05T16·46+0100
committertazjin <mail@tazj.in>2020-07-05T16·54+0000
commit7e8a48c82c52c9ce39100902ac31dd075577eded (patch)
treed20e09b092084367370d5dbc9d22f09d23d22e1a
parent5cb6e6ee21431349ec31cccebf9ab9a56e904bb2 (diff)
fix(3p/nix): Link to glog built by Nix r/1212
Same as cl/921, it seems that the trick to making this work is indeed
overriding the C++ standard used in the dependency.

Change-Id: I3c5984d71014d774c161ecc283844f504fd44719
Reviewed-on: https://cl.tvl.fyi/c/depot/+/922
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
-rw-r--r--third_party/glog/default.nix5
-rw-r--r--third_party/nix/CMakeLists.txt9
-rw-r--r--third_party/nix/default.nix6
l---------third_party/nix/glog1
4 files changed, 7 insertions, 14 deletions
diff --git a/third_party/glog/default.nix b/third_party/glog/default.nix
index cebb71c290..575821cb49 100644
--- a/third_party/glog/default.nix
+++ b/third_party/glog/default.nix
@@ -7,7 +7,10 @@ in llvmPackages.libcxxStdenv.mkDerivation {
   src = ./.;
 
   nativeBuildInputs = [ cmake ];
-  cmakeFlags = [ "-WITH_GFLAGS=OFF" ];
+  cmakeFlags = [
+    "-DCMAKE_CXX_STANDARD=17"
+    "-WITH_GFLAGS=OFF"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/google/glog";
diff --git a/third_party/nix/CMakeLists.txt b/third_party/nix/CMakeLists.txt
index 35fc003dd7..58a1fe23fc 100644
--- a/third_party/nix/CMakeLists.txt
+++ b/third_party/nix/CMakeLists.txt
@@ -17,16 +17,11 @@ set(PKGCONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
 find_package(BZip2)
 find_package(Boost COMPONENTS context) # probably coroutine + ::headers, lets find out
 find_package(CURL)
+find_package(LibLZMA)
 find_package(SQLite3)
 find_package(Threads)
-find_package(LibLZMA)
 find_package(absl REQUIRED)
-
-# Linking precompiled glog binaries (linked against libstdc++) leads
-# to working binaries that do not output log messages. It seems that
-# in order to use glog with LLVM & libc++, one needs to make glog a
-# part of the local project build.
-add_subdirectory(glog)
+find_package(glog REQUIRED)
 
 # generate a configuration file (autoheader-style) to configure
 # certain symbols that Nix depends on.
diff --git a/third_party/nix/default.nix b/third_party/nix/default.nix
index 6ec477c637..b6e59213fc 100644
--- a/third_party/nix/default.nix
+++ b/third_party/nix/default.nix
@@ -17,11 +17,6 @@ in pkgs.llvmPackages.libcxxStdenv.mkDerivation {
   version = "2.3.4";
   src = ./.;
 
-  # Abseil's sources need to be symlinked into Nix' sources.
-  postUnpack = ''
-    ln -fs ${pkgs.glog.drvAttrs.src} nix/glog
-  '';
-
   nativeBuildInputs = with pkgs; [
     bison
     clang-tools
@@ -41,6 +36,7 @@ in pkgs.llvmPackages.libcxxStdenv.mkDerivation {
     curl
     editline
     flex
+    glog
     libseccomp
     libsodium
     openssl
diff --git a/third_party/nix/glog b/third_party/nix/glog
deleted file mode 120000
index 831dc12a90..0000000000
--- a/third_party/nix/glog
+++ /dev/null
@@ -1 +0,0 @@
-../glog/
\ No newline at end of file