summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorOrivej Desh <orivej@gmx.fr>2019-01-06 04:16:10 +0000
committerOrivej Desh <orivej@gmx.fr>2019-01-06 16:59:47 +0000
commite4e695548c126297ccef27af62a65a9bb8d099fd (patch)
tree6c9424e48c13ed485a9b705b6511582bbb636eae /pkgs/servers
parent9605c575a6d55d3dee28a0bf076e233ba7550c91 (diff)
downloadnixpkgs-e4e695548c126297ccef27af62a65a9bb8d099fd.tar
nixpkgs-e4e695548c126297ccef27af62a65a9bb8d099fd.tar.gz
nixpkgs-e4e695548c126297ccef27af62a65a9bb8d099fd.tar.bz2
nixpkgs-e4e695548c126297ccef27af62a65a9bb8d099fd.tar.lz
nixpkgs-e4e695548c126297ccef27af62a65a9bb8d099fd.tar.xz
nixpkgs-e4e695548c126297ccef27af62a65a9bb8d099fd.tar.zst
nixpkgs-e4e695548c126297ccef27af62a65a9bb8d099fd.zip
clickhouse: link to libLLVM rather than to individual LLVM libs
The clickhouse program links to LLVM and to the clickhouse library, that also
links to LLVM. When the library is shared but LLVM is static, LLVM gets linked
into the program twice (once via the library and once directly), which causes
this error when running clickhouse:

     : CommandLine Error: Option 'x86-use-base-pointer' registered more than once!
     LLVM ERROR: inconsistency in registered CommandLine options

A common LLVM installation provides static component libraries and a shared
libLLVM. Linking to libLLVM when libclickhouse is shared solves this issue.

Upstream pull request: https://github.com/yandex/ClickHouse/pull/3989
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/clickhouse/default.nix16
1 files changed, 12 insertions, 4 deletions
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index 90d614553ea..3272065efbe 100644
--- a/pkgs/servers/clickhouse/default.nix
+++ b/pkgs/servers/clickhouse/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libtool
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, libtool
 , boost, capnproto, cctz, clang-unwrapped, double-conversion, gperftools, icu
 , libcpuid, libxml2, lld, llvm, lz4 , mysql, openssl, poco, re2, rdkafka
 , readline, sparsehash, unixODBC, zstd, ninja, jemalloc
@@ -28,10 +28,16 @@ stdenv.mkDerivation rec {
     "-DUSE_STATIC_LIBRARIES=OFF"
     "-DUSE_INTERNAL_SSL_LIBRARY=False"
   ];
-  hardeningDisable = [ "format" ];
 
-  patchPhase = ''
-    patchShebangs .
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/yandex/ClickHouse/commit/afbcdf2f00a04e747c5279414cf4691f29bb5cc2.patch";
+      sha256 = "17y891q0dp179w3jv32h74pbfwyzgnz4dxxwv73vzdwvys4i8c8z";
+    })
+  ];
+
+  postPatch = ''
+    patchShebangs copy_headers.sh
   '';
 
   postInstall = ''
@@ -43,6 +49,8 @@ stdenv.mkDerivation rec {
       --replace "<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>" "<console>1</console>"
   '';
 
+  hardeningDisable = [ "format" ];
+
   meta = with stdenv.lib; {
     homepage = https://clickhouse.yandex/;
     description = "Column-oriented database management system";