From d05ee9c8ffec48e10bc71dab601e70a44fbc8675 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Sun, 29 Dec 2019 15:40:52 -0500 Subject: [PATCH 1/5] pkgsStatic: set BUILD_SHARED_LIBS=OFF for cmake --- pkgs/stdenv/adapters.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 041964bcacc..8b23d3dadd2 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -60,6 +60,7 @@ rec { "--enable-static" "--disable-shared" ]; + cmakeFlags = (args.cmakeFlags or []) ++ [ "-DBUILD_SHARED_LIBS:BOOL=OFF" ]; mesonFlags = (args.mesonFlags or []) ++ [ "-Ddefault_library=static" ]; }); }; From 7e5b4958519ad796a1a74b507e16f989b4eaa305 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Tue, 31 Dec 2019 18:25:53 -0500 Subject: [PATCH 2/5] fmt: remove the enableShared option Static libraries are to be provided by the pkgsStatic.fmt package. --- pkgs/development/libraries/fmt/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/fmt/default.nix b/pkgs/development/libraries/fmt/default.nix index fd35b697d7c..3e79ebe15cf 100644 --- a/pkgs/development/libraries/fmt/default.nix +++ b/pkgs/development/libraries/fmt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, enableShared ? true }: +{ stdenv, fetchFromGitHub, cmake }: stdenv.mkDerivation rec { version = "6.0.0"; @@ -17,16 +17,16 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DFMT_TEST=TRUE" - "-DBUILD_SHARED_LIBS=${if enableShared then "TRUE" else "FALSE"}" + "-DBUILD_SHARED_LIBS=TRUE" ]; enableParallelBuilding = true; doCheck = true; # preCheckHook ensures the test binaries can find libfmt.so - preCheck = if enableShared - then "export LD_LIBRARY_PATH=\"$PWD\"" - else ""; + preCheck = '' + export LD_LIBRARY_PATH="$PWD" + ''; meta = with stdenv.lib; { description = "Small, safe and fast formatting library"; From 7e2c821e58b974427cf9e3538d7ed3ed4a3a0db5 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Wed, 1 Jan 2020 16:56:55 -0500 Subject: [PATCH 3/5] gtest: remove the "static" option pkgsStatic.gtest already has CMAKE_BUILD_SHARED set to OFF. --- pkgs/development/libraries/gtest/default.nix | 5 ++--- pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/static.nix | 3 --- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix index 4326be59724..bbc582f581c 100644 --- a/pkgs/development/libraries/gtest/default.nix +++ b/pkgs/development/libraries/gtest/default.nix @@ -1,5 +1,4 @@ -{ stdenv, cmake, ninja, fetchFromGitHub -, static ? false }: +{ stdenv, cmake, ninja, fetchFromGitHub }: stdenv.mkDerivation rec { pname = "gtest"; @@ -20,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja ]; - cmakeFlags = stdenv.lib.optional (!static) "-DBUILD_SHARED_LIBS=ON"; + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; meta = with stdenv.lib; { description = "Google's framework for writing C++ tests"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c4bfa4d9cc..b58bd06f71a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10787,7 +10787,7 @@ in arrayfire = callPackage ../development/libraries/arrayfire {}; arrow-cpp = callPackage ../development/libraries/arrow-cpp ({ - gtest = gtest.override { static = true; }; + inherit (pkgsStatic) gtest; } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) { stdenv = overrideCC stdenv buildPackages.gcc6; # hidden symbol `__divmoddi4' }); diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index ffb2d294437..aa31996b872 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -196,9 +196,6 @@ in { glog = super.glog.override { static = true; }; - gtest = super.gtest.override { - static = true; - }; cdo = super.cdo.override { enable_all_static = true; }; From 4541012bdbcb5da522e056b75808fa5fa263fc23 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Fri, 3 Jan 2020 11:37:39 -0500 Subject: [PATCH 4/5] glog: remove the "static" option pkgsStatic.glog already has CMAKE_BUILD_SHARED set to OFF. --- pkgs/development/libraries/glog/default.nix | 4 ++-- pkgs/top-level/static.nix | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix index 7809dc08842..04846c3ab42 100644 --- a/pkgs/development/libraries/glog/default.nix +++ b/pkgs/development/libraries/glog/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, perl, static ? false }: +{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, perl }: stdenv.mkDerivation rec { pname = "glog"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" ]; + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; checkInputs = [ perl ]; doCheck = false; # fails with "Mangled symbols (28 out of 380) found in demangle.dm" diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index aa31996b872..8886e6bb9b4 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -193,9 +193,6 @@ in { gflags = super.gflags.override { enableShared = false; }; - glog = super.glog.override { - static = true; - }; cdo = super.cdo.override { enable_all_static = true; }; From bb890c45612a14e7f9fb8bc08d24e6d0a5d0402c Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Fri, 3 Jan 2020 11:44:23 -0500 Subject: [PATCH 5/5] double-conversion: remove the "static" option pkgsStatic.double-conversion already has CMAKE_BUILD_SHARED set to OFF. --- pkgs/development/libraries/double-conversion/default.nix | 4 ++-- pkgs/top-level/static.nix | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/double-conversion/default.nix b/pkgs/development/libraries/double-conversion/default.nix index 4d8f623b36a..ecd5ee67cf6 100644 --- a/pkgs/development/libraries/double-conversion/default.nix +++ b/pkgs/development/libraries/double-conversion/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, cmake, static ? false }: +{ stdenv, lib, fetchFromGitHub, cmake }: stdenv.mkDerivation rec { pname = "double-conversion"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" ]; + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; # Case sensitivity issue preConfigure = lib.optionalString stdenv.isDarwin '' diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index 8886e6bb9b4..bcf68b17a66 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -184,9 +184,6 @@ in { static = true; twisted = null; }; - double-conversion = super.double-conversion.override { - static = true; - }; gmp = super.gmp.override { withStatic = true; };