From c197c11e14886ca3637e951993d26fc164f9ba4c Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Wed, 21 Jun 2023 10:06:45 +0300 Subject: [PATCH 1/2] treewide: backport #234691 --- .../signalbackup-tools/default.nix | 2 +- pkgs/os-specific/darwin/apple-sdk-11.0/default.nix | 13 ++++++++++++- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix index 95a57a701924..fae0e4c751f0 100644 --- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix +++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, darwin, fetchFromGitHub, openssl, sqlite }: -(if stdenv.isDarwin then darwin.apple_sdk_11_0.clang14Stdenv else stdenv).mkDerivation rec { +(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec { pname = "signalbackup-tools"; version = "20230510"; diff --git a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix index e4cc740ba1e7..d6a2eb21a55f 100644 --- a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix @@ -69,7 +69,18 @@ let stdenvs = { stdenv = mkStdenv stdenv; } // builtins.listToAttrs (map - (v: { name = "clang${v}Stdenv"; value = mkStdenv pkgs."llvmPackages_${v}".stdenv; }) + (v: { + name = "llvmPackages_${v}"; + value = pkgs."llvmPackages_${v}" // { + stdenv = mkStdenv pkgs."llvmPackages_${v}".stdenv; + }; + }) + [ "12" "13" "14" "15" "16" ] + ) // builtins.listToAttrs (map + (v: { + name = "clang${v}Stdenv"; + value = mkStdenv pkgs."llvmPackages_${v}".stdenv; + }) [ "12" "13" "14" "15" "16" ] ); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 23141398c45a..780d709e35ce 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32011,7 +32011,7 @@ with pkgs; ladspa-sdk = callPackage ../applications/audio/ladspa-sdk { }; ladybird = qt6Packages.callPackage ../applications/networking/browsers/ladybird { - stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.clang14Stdenv else stdenv; + stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv; }; lazpaint = callPackage ../applications/graphics/lazpaint { }; From 3f64b0f9977b088a8311e95b4f8f167d7264cc07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Mon, 12 Jun 2023 18:39:12 +0100 Subject: [PATCH 2/2] clickhouse: build on darwin (cherry picked from commit d13769fd8e4a22bc302c37e428ea25959b8ceba9) --- pkgs/servers/clickhouse/default.nix | 45 ++++++++++++++++++----------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix index 92955d9d8e91..12d2b3228304 100644 --- a/pkgs/servers/clickhouse/default.nix +++ b/pkgs/servers/clickhouse/default.nix @@ -1,5 +1,5 @@ { lib -, stdenv +, llvmPackages , fetchFromGitHub , cmake , ninja @@ -7,6 +7,8 @@ , perl , yasm , nixosTests +, darwin +, findutils # currently for BLAKE3 hash function , rustSupport ? true @@ -17,7 +19,13 @@ , rustPlatform }: -stdenv.mkDerivation rec { +let + inherit (llvmPackages) stdenv; + mkDerivation = ( + if stdenv.isDarwin + then darwin.apple_sdk_11_0.llvmPackages_15.stdenv + else llvmPackages.stdenv).mkDerivation; +in mkDerivation rec { pname = "clickhouse"; version = "23.3.3.52"; @@ -26,20 +34,16 @@ stdenv.mkDerivation rec { repo = "ClickHouse"; rev = "v${version}-lts"; fetchSubmodules = true; - hash = "sha256-yeoL3HA1wRDg2+t3FtrM4wBtuu94Lpe4xxGxc09duQI="; - name = "clickhouse-${rev}.tar.gz"; + hash = "sha256-fVwwMj0WbyCbe4WfpYMGVM6vXFgHsjg9MUZbNyd+a/w="; postFetch = '' - # compress to not exceed the 4GB output limit - # try to make a deterministic tarball - tar -I 'gzip -n' \ - --sort=name \ - --mtime=1970-01-01 \ - --owner=root --group=root \ - --numeric-owner --mode=go=rX,u+rw,a-s \ - --transform='s@^@source/@S' \ - -cf temp -C "$out" . - rm -r "$out" - mv temp "$out" + # delete files that make the source too big + rm -rf $out/contrib/llvm-project/llvm/test + rm -rf $out/contrib/llvm-project/clang/test + rm -rf $out/contrib/croaring/benchmarks + + # fix case insensitivity on macos https://github.com/NixOS/nixpkgs/issues/39308 + rm -rf $out/contrib/sysroot/linux-* + rm -rf $out/contrib/liburing/man ''; }; @@ -51,6 +55,10 @@ stdenv.mkDerivation rec { perl ] ++ lib.optionals stdenv.isx86_64 [ yasm + ] ++ lib.optionals stdenv.isDarwin [ + llvmPackages.bintools + findutils + darwin.bootstrap_cmds ] ++ lib.optionals rustSupport [ rustc cargo @@ -110,6 +118,9 @@ stdenv.mkDerivation rec { --replace 'git rev-parse --show-toplevel' '$src' substituteInPlace utils/check-style/check-style \ --replace 'git rev-parse --show-toplevel' '$src' + '' + lib.optionalString stdenv.isDarwin '' + sed -i 's|gfind|find|' cmake/tools.cmake + sed -i 's|ggrep|grep|' cmake/tools.cmake '' + lib.optionalString rustSupport '' pushd contrib/corrosion/generator @@ -129,7 +140,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DENABLE_TESTS=OFF" - "-DENABLE_CCACHE=0" + "-DCOMPILER_CACHE=disabled" "-DENABLE_EMBEDDED_COMPILER=ON" "-DWERROR=OFF" ]; @@ -157,7 +168,7 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ orivej ]; # not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685 - platforms = lib.filter (x: (lib.systems.elaborate x).is64bit) platforms.linux; + platforms = lib.filter (x: (lib.systems.elaborate x).is64bit) (platforms.linux ++ platforms.darwin); broken = stdenv.buildPlatform != stdenv.hostPlatform; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 780d709e35ce..4e1d41b2498c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25204,7 +25204,7 @@ with pkgs; clamsmtp = callPackage ../servers/mail/clamsmtp { }; clickhouse = callPackage ../servers/clickhouse { - stdenv = llvmPackages_15.stdenv; + llvmPackages = llvmPackages_15; }; clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli;