From 3e0bc63451ec9edae5d831f8cc10333be631f56b Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:17:04 +0000 Subject: [PATCH 001/151] folly: format with `nixfmt-rfc-style` --- pkgs/development/libraries/folly/default.nix | 97 ++++++++++++-------- 1 file changed, 57 insertions(+), 40 deletions(-) diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index 8a601382f8ea..10cdff67cd55 100644 --- a/pkgs/development/libraries/folly/default.nix +++ b/pkgs/development/libraries/folly/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, cmake -, double-conversion -, fmt_8 -, gflags -, glog -, libevent -, libiberty -, libunwind -, lz4 -, openssl -, pkg-config -, xz -, zlib -, zstd -, jemalloc -, follyMobile ? false +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cmake, + double-conversion, + fmt_8, + gflags, + glog, + libevent, + libiberty, + libunwind, + lz4, + openssl, + pkg-config, + xz, + zlib, + zstd, + jemalloc, + follyMobile ? false, -# for passthru.tests -, python3 -, watchman + # for passthru.tests + python3, + watchman, }: stdenv.mkDerivation rec { @@ -60,24 +61,32 @@ stdenv.mkDerivation rec { # jemalloc headers are required in include/folly/portability/Malloc.h propagatedBuildInputs = lib.optional stdenv.hostPlatform.isLinux jemalloc; - env.NIX_CFLAGS_COMPILE = toString [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" "-fpermissive" ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - - # temporary hack until folly builds work on aarch64, - # see https://github.com/facebook/folly/issues/1880 - "-DCMAKE_LIBRARY_ARCHITECTURE=${if stdenv.hostPlatform.isx86_64 then "x86_64" else "dummy"}" - - # ensure correct dirs in $dev/lib/pkgconfig/libfolly.pc - # see https://github.com/NixOS/nixpkgs/issues/144170 - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_LIBDIR=lib" - ] ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" + env.NIX_CFLAGS_COMPILE = toString [ + "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" + "-fpermissive" ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + + # temporary hack until folly builds work on aarch64, + # see https://github.com/facebook/folly/issues/1880 + "-DCMAKE_LIBRARY_ARCHITECTURE=${if stdenv.hostPlatform.isx86_64 then "x86_64" else "dummy"}" + + # ensure correct dirs in $dev/lib/pkgconfig/libfolly.pc + # see https://github.com/NixOS/nixpkgs/issues/144170 + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_LIBDIR=lib" + ] + ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" + ]; # split outputs to reduce downstream closure sizes - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; # patch prefix issues again # see https://github.com/NixOS/nixpkgs/issues/144170 @@ -103,7 +112,15 @@ stdenv.mkDerivation rec { homepage = "https://github.com/facebook/folly"; license = licenses.asl20; # 32bit is not supported: https://github.com/facebook/folly/issues/103 - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; - maintainers = with maintainers; [ abbradar pierreis ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ]; + maintainers = with maintainers; [ + abbradar + pierreis + ]; }; } From 89e641930d8e38c22ace2459de9ed5d59e303b9c Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:17:25 +0000 Subject: [PATCH 002/151] folly: convert to new Darwin SDK pattern This is using unguarded 11.0 APIs, so bump the deployment target too. --- pkgs/development/libraries/folly/default.nix | 63 +++++++++++--------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index 10cdff67cd55..8ceedfd73ba4 100644 --- a/pkgs/development/libraries/folly/default.nix +++ b/pkgs/development/libraries/folly/default.nix @@ -18,6 +18,8 @@ zlib, zstd, jemalloc, + apple-sdk_11, + darwinMinVersionHook, follyMobile ? false, # for passthru.tests @@ -42,21 +44,27 @@ stdenv.mkDerivation rec { ]; # See CMake/folly-deps.cmake in the Folly source tree. - buildInputs = [ - boost - double-conversion - glog - gflags - libevent - libiberty - openssl - lz4 - xz - zlib - libunwind - fmt_8 - zstd - ] ++ lib.optional stdenv.hostPlatform.isLinux jemalloc; + buildInputs = + [ + boost + double-conversion + glog + gflags + libevent + libiberty + openssl + lz4 + xz + zlib + libunwind + fmt_8 + zstd + ] + ++ lib.optional stdenv.hostPlatform.isLinux jemalloc + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + (darwinMinVersionHook "11.0") + ]; # jemalloc headers are required in include/folly/portability/Malloc.h propagatedBuildInputs = lib.optional stdenv.hostPlatform.isLinux jemalloc; @@ -65,22 +73,19 @@ stdenv.mkDerivation rec { "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" "-fpermissive" ]; - cmakeFlags = - [ - "-DBUILD_SHARED_LIBS=ON" - # temporary hack until folly builds work on aarch64, - # see https://github.com/facebook/folly/issues/1880 - "-DCMAKE_LIBRARY_ARCHITECTURE=${if stdenv.hostPlatform.isx86_64 then "x86_64" else "dummy"}" + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" - # ensure correct dirs in $dev/lib/pkgconfig/libfolly.pc - # see https://github.com/NixOS/nixpkgs/issues/144170 - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_LIBDIR=lib" - ] - ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" - ]; + # temporary hack until folly builds work on aarch64, + # see https://github.com/facebook/folly/issues/1880 + "-DCMAKE_LIBRARY_ARCHITECTURE=${if stdenv.hostPlatform.isx86_64 then "x86_64" else "dummy"}" + + # ensure correct dirs in $dev/lib/pkgconfig/libfolly.pc + # see https://github.com/NixOS/nixpkgs/issues/144170 + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_LIBDIR=lib" + ]; # split outputs to reduce downstream closure sizes outputs = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af23c5e21dd7..e23646a3a80c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9326,7 +9326,7 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreFoundation; }; - folly = darwin.apple_sdk_11_0.callPackage ../development/libraries/folly { }; + folly = callPackage ../development/libraries/folly { }; makeFontsConf = callPackage ../development/libraries/fontconfig/make-fonts-conf.nix { }; From b22849fd64aeb41230f248fa7105279e31eb232c Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:19:30 +0000 Subject: [PATCH 003/151] folly: move to `pkgs/by-name` --- .../folly/default.nix => by-name/fo/folly/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/folly/default.nix => by-name/fo/folly/package.nix} (100%) diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/by-name/fo/folly/package.nix similarity index 100% rename from pkgs/development/libraries/folly/default.nix rename to pkgs/by-name/fo/folly/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e23646a3a80c..94e6d30d91cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9326,8 +9326,6 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreFoundation; }; - folly = callPackage ../development/libraries/folly { }; - makeFontsConf = callPackage ../development/libraries/fontconfig/make-fonts-conf.nix { }; makeFontsCache = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}: From 77300534286faf02ec5a6513399e8db928e8028a Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:49:23 +0000 Subject: [PATCH 004/151] folly: use `finalAttrs` --- pkgs/by-name/fo/folly/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 8ceedfd73ba4..fe8ed68dc2c0 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -27,14 +27,14 @@ watchman, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "folly"; version = "2024.03.11.00"; src = fetchFromGitHub { owner = "facebook"; repo = "folly"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-INvWTw27fmVbKQIT9ebdRGMCOIzpc/NepRN2EnKLJx0="; }; @@ -96,7 +96,7 @@ stdenv.mkDerivation rec { # patch prefix issues again # see https://github.com/NixOS/nixpkgs/issues/144170 postFixup = '' - substituteInPlace $dev/lib/cmake/${pname}/${pname}-targets-release.cmake \ + substituteInPlace $dev/lib/cmake/${finalAttrs.pname}/${finalAttrs.pname}-targets-release.cmake \ --replace '$'{_IMPORT_PREFIX}/lib/ $out/lib/ ''; @@ -128,4 +128,4 @@ stdenv.mkDerivation rec { pierreis ]; }; -} +}) From fbb9ab5079a9269684c3d07edb355f992b462d77 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:49:42 +0000 Subject: [PATCH 005/151] folly: remove `with lib;` --- pkgs/by-name/fo/folly/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index fe8ed68dc2c0..0508275b6d3f 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -112,10 +112,10 @@ stdenv.mkDerivation (finalAttrs: { }; }; - meta = with lib; { + meta = { description = "Open-source C++ library developed and used at Facebook"; homepage = "https://github.com/facebook/folly"; - license = licenses.asl20; + license = lib.licenses.asl20; # 32bit is not supported: https://github.com/facebook/folly/issues/103 platforms = [ "x86_64-linux" @@ -123,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: { "aarch64-darwin" "aarch64-linux" ]; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ abbradar pierreis ]; From 0d5cd2a39d8ab7368a3fa03a7d08d32ea0dad4bc Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:48:53 +0000 Subject: [PATCH 006/151] folly: use `refs/tags/` --- pkgs/by-name/fo/folly/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 0508275b6d3f..0aa50ab1bbc2 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "facebook"; repo = "folly"; - rev = "v${finalAttrs.version}"; + rev = "refs/tags/v${finalAttrs.version}"; sha256 = "sha256-INvWTw27fmVbKQIT9ebdRGMCOIzpc/NepRN2EnKLJx0="; }; From b67cce1449a32fa94bf31e06218b0bbb23f2ba95 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:50:17 +0000 Subject: [PATCH 007/151] folly: use `hash` --- pkgs/by-name/fo/folly/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 0aa50ab1bbc2..edcea827a46d 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "folly"; rev = "refs/tags/v${finalAttrs.version}"; - sha256 = "sha256-INvWTw27fmVbKQIT9ebdRGMCOIzpc/NepRN2EnKLJx0="; + hash = "sha256-INvWTw27fmVbKQIT9ebdRGMCOIzpc/NepRN2EnKLJx0="; }; nativeBuildInputs = [ From 593f78887a31e513b07aa0bd0a3edb2b74d4e3aa Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:40:54 +0000 Subject: [PATCH 008/151] folly: reorder attributes --- pkgs/by-name/fo/folly/package.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index edcea827a46d..b12cab0d390d 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -31,6 +31,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "folly"; version = "2024.03.11.00"; + # split outputs to reduce downstream closure sizes + outputs = [ + "out" + "dev" + ]; + src = fetchFromGitHub { owner = "facebook"; repo = "folly"; @@ -69,11 +75,6 @@ stdenv.mkDerivation (finalAttrs: { # jemalloc headers are required in include/folly/portability/Malloc.h propagatedBuildInputs = lib.optional stdenv.hostPlatform.isLinux jemalloc; - env.NIX_CFLAGS_COMPILE = toString [ - "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" - "-fpermissive" - ]; - cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" @@ -87,10 +88,9 @@ stdenv.mkDerivation (finalAttrs: { "-DCMAKE_INSTALL_LIBDIR=lib" ]; - # split outputs to reduce downstream closure sizes - outputs = [ - "out" - "dev" + env.NIX_CFLAGS_COMPILE = toString [ + "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" + "-fpermissive" ]; # patch prefix issues again From 7ae3a8ada67d2dff01b1d5e60c0333fd08c938a4 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:40:43 +0000 Subject: [PATCH 009/151] folly: reorder inputs to match upstream file --- pkgs/by-name/fo/folly/package.nix | 32 +++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index b12cab0d390d..0ca78d23bb17 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -1,25 +1,29 @@ { lib, stdenv, + fetchFromGitHub, - boost, + cmake, + pkg-config, + + boost, double-conversion, - fmt_8, gflags, glog, libevent, + zlib, + openssl, + xz, + lz4, + zstd, libiberty, libunwind, - lz4, - openssl, - pkg-config, - xz, - zlib, - zstd, + fmt_8, jemalloc, apple-sdk_11, darwinMinVersionHook, + follyMobile ? false, # for passthru.tests @@ -54,17 +58,17 @@ stdenv.mkDerivation (finalAttrs: { [ boost double-conversion - glog gflags + glog libevent - libiberty - openssl - lz4 - xz zlib + openssl + xz + lz4 + zstd + libiberty libunwind fmt_8 - zstd ] ++ lib.optional stdenv.hostPlatform.isLinux jemalloc ++ lib.optionals stdenv.hostPlatform.isDarwin [ From 5ee21f2961c40dcd33d032c6b0fd0164098f1ea1 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:43:20 +0000 Subject: [PATCH 010/151] folly: refine `meta.platforms` --- pkgs/by-name/fo/folly/package.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 0ca78d23bb17..a95eebe71317 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -121,12 +121,8 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/facebook/folly"; license = lib.licenses.asl20; # 32bit is not supported: https://github.com/facebook/folly/issues/103 - platforms = [ - "x86_64-linux" - "x86_64-darwin" - "aarch64-darwin" - "aarch64-linux" - ]; + platforms = lib.platforms.unix; + badPlatforms = [ lib.systems.inspect.patterns.is32bit ]; maintainers = with lib.maintainers; [ abbradar pierreis From eca60c841c4bd7e33ae89055f81ded06c059d2f1 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:34:20 +0000 Subject: [PATCH 011/151] folly: use Ninja --- pkgs/by-name/fo/folly/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index a95eebe71317..94fdacf323a4 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, cmake, + ninja, pkg-config, boost, @@ -50,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake + ninja pkg-config ]; From d4c26774d5eb78e3374a8131934ea1f51b533cff Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:53:05 +0000 Subject: [PATCH 012/151] folly: 2024.03.11.00 -> 2024.11.18.00 Diff: https://github.com/facebook/folly/compare/refs/tags/v2024.03.11.00...v2024.11.18.00 --- pkgs/by-name/fo/folly/package.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 94fdacf323a4..f4ab18b34a71 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -10,6 +10,7 @@ boost, double-conversion, + fast-float, gflags, glog, libevent, @@ -34,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "folly"; - version = "2024.03.11.00"; + version = "2024.11.18.00"; # split outputs to reduce downstream closure sizes outputs = [ @@ -46,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "folly"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-INvWTw27fmVbKQIT9ebdRGMCOIzpc/NepRN2EnKLJx0="; + hash = "sha256-CX4YzNs64yeq/nDDaYfD5y8GKrxBueW4y275edPoS0c="; }; nativeBuildInputs = [ @@ -60,6 +61,7 @@ stdenv.mkDerivation (finalAttrs: { [ boost double-conversion + fast-float gflags glog libevent From 2fc882c70caf62e96b14996b7feff6f60ee8cbd9 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:23:30 +0000 Subject: [PATCH 013/151] folly: patch `pkg-config` file instead of CMake files This is closer to fixing the problem at the source. --- pkgs/by-name/fo/folly/package.nix | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index f4ab18b34a71..b5999f17cbd0 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -90,10 +90,11 @@ stdenv.mkDerivation (finalAttrs: { # see https://github.com/facebook/folly/issues/1880 "-DCMAKE_LIBRARY_ARCHITECTURE=${if stdenv.hostPlatform.isx86_64 then "x86_64" else "dummy"}" - # ensure correct dirs in $dev/lib/pkgconfig/libfolly.pc - # see https://github.com/NixOS/nixpkgs/issues/144170 - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_LIBDIR=lib" + # Folly uses these instead of the standard CMake variables for some reason. + (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include") + (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib") + (lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "dev"}/lib/cmake/folly") + (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev")) ]; env.NIX_CFLAGS_COMPILE = toString [ @@ -101,11 +102,15 @@ stdenv.mkDerivation (finalAttrs: { "-fpermissive" ]; - # patch prefix issues again - # see https://github.com/NixOS/nixpkgs/issues/144170 - postFixup = '' - substituteInPlace $dev/lib/cmake/${finalAttrs.pname}/${finalAttrs.pname}-targets-release.cmake \ - --replace '$'{_IMPORT_PREFIX}/lib/ $out/lib/ + # https://github.com/NixOS/nixpkgs/issues/144170 + postPatch = '' + substituteInPlace CMake/libfolly.pc.in \ + --replace-fail \ + ${lib.escapeShellArg "\${exec_prefix}/@LIB_INSTALL_DIR@"} \ + '@CMAKE_INSTALL_FULL_LIBDIR@' \ + --replace-fail \ + ${lib.escapeShellArg "\${prefix}/@CMAKE_INSTALL_INCLUDEDIR@"} \ + '@CMAKE_INSTALL_FULL_INCLUDEDIR@' ''; passthru = { From fbdced9bb35a7a9619bfeab7a0244fd603fa6b03 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:23:30 +0000 Subject: [PATCH 014/151] folly: fix split outputs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Downstream derivations were picking up references to the `dev` output through indirect `__FILE__` usage in the headers. I borrowed and modified this trick from the Boost package, where I believe vcunat originated it. It’s not very pretty and it should be in a hook or something, but it works at a pinch. --- pkgs/by-name/fo/folly/package.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index b5999f17cbd0..050cbf86bcb3 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -7,6 +7,7 @@ cmake, ninja, pkg-config, + removeReferencesTo, boost, double-conversion, @@ -54,6 +55,7 @@ stdenv.mkDerivation (finalAttrs: { cmake ninja pkg-config + removeReferencesTo ]; # See CMake/folly-deps.cmake in the Folly source tree. @@ -113,6 +115,18 @@ stdenv.mkDerivation (finalAttrs: { '@CMAKE_INSTALL_FULL_INCLUDEDIR@' ''; + postFixup = '' + # Sanitize header paths to avoid runtime dependencies leaking in + # through `__FILE__`. + ( + shopt -s globstar + for header in "$dev/include"/**/*.h; do + sed -i "1i#line 1 \"$header\"" "$header" + remove-references-to -t "$dev" "$header" + done + ) + ''; + passthru = { # folly-config.cmake, will `find_package` these, thus there should be # a way to ensure abi compatibility. From ae0425bd9a566411f8cd86de17985786f895bcb0 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:43:05 +0000 Subject: [PATCH 015/151] folly: refine `-fpermissive` flag This was added for AArch64 support, but we can use a more targeted flag for the build failure. --- pkgs/by-name/fo/folly/package.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 050cbf86bcb3..626dd800ce91 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -99,10 +99,15 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev")) ]; - env.NIX_CFLAGS_COMPILE = toString [ - "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" - "-fpermissive" - ]; + env.NIX_CFLAGS_COMPILE = lib.concatStringsSep " " ( + [ + "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" + ] + ++ lib.optionals (stdenv.cc.isGNU && stdenv.hostPlatform.isAarch64) [ + # /build/source/folly/algorithm/simd/Movemask.h:156:32: error: cannot convert '__Uint64x1_t' to '__Uint8x8_t' + "-flax-vector-conversions" + ] + ); # https://github.com/NixOS/nixpkgs/issues/144170 postPatch = '' From 3352d4f1ab484923e31f86a2969e6c8442efd964 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:43:34 +0000 Subject: [PATCH 016/151] folly: remove obsolete AArch64 hack --- pkgs/by-name/fo/folly/package.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 626dd800ce91..809f62eb5d14 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -88,10 +88,6 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" - # temporary hack until folly builds work on aarch64, - # see https://github.com/facebook/folly/issues/1880 - "-DCMAKE_LIBRARY_ARCHITECTURE=${if stdenv.hostPlatform.isx86_64 then "x86_64" else "dummy"}" - # Folly uses these instead of the standard CMake variables for some reason. (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include") (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib") From cad3e3ece680b4bab28d15c9626dd78b4d4db726 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:43:59 +0000 Subject: [PATCH 017/151] folly: condition shared libraries on platform setting --- pkgs/by-name/fo/folly/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 809f62eb5d14..b21a2ad50466 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -86,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: { propagatedBuildInputs = lib.optional stdenv.hostPlatform.isLinux jemalloc; cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) # Folly uses these instead of the standard CMake variables for some reason. (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include") From fb3b469558cc59f1c992d86264f1f193208d01aa Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:45:03 +0000 Subject: [PATCH 018/151] folly: propagate required dependencies --- pkgs/by-name/fo/folly/package.nix | 22 ++++++++++++------- pkgs/by-name/wd/wdt/package.nix | 4 +--- .../libraries/edencommon/default.nix | 4 ---- pkgs/development/libraries/fb303/default.nix | 2 -- .../libraries/fbthrift/default.nix | 4 ---- pkgs/development/libraries/fizz/default.nix | 4 ---- pkgs/development/libraries/mvfst/default.nix | 2 -- pkgs/development/libraries/wangle/default.nix | 4 ---- pkgs/development/tools/watchman/default.nix | 6 +---- 9 files changed, 16 insertions(+), 36 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index b21a2ad50466..4716e53701f1 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -9,7 +9,6 @@ pkg-config, removeReferencesTo, - boost, double-conversion, fast-float, gflags, @@ -22,11 +21,13 @@ zstd, libiberty, libunwind, - fmt_8, - jemalloc, apple-sdk_11, darwinMinVersionHook, + boost, + fmt_8, + jemalloc, + follyMobile ? false, # for passthru.tests @@ -76,14 +77,21 @@ stdenv.mkDerivation (finalAttrs: { libunwind fmt_8 ] - ++ lib.optional stdenv.hostPlatform.isLinux jemalloc ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 (darwinMinVersionHook "11.0") ]; - # jemalloc headers are required in include/folly/portability/Malloc.h - propagatedBuildInputs = lib.optional stdenv.hostPlatform.isLinux jemalloc; + propagatedBuildInputs = + [ + # `folly-config.cmake` pulls these in. + boost + fmt_8 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # jemalloc headers are required in include/folly/portability/Malloc.h + jemalloc + ]; cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) @@ -129,8 +137,6 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { - # folly-config.cmake, will `find_package` these, thus there should be - # a way to ensure abi compatibility. inherit boost; fmt = fmt_8; diff --git a/pkgs/by-name/wd/wdt/package.nix b/pkgs/by-name/wd/wdt/package.nix index f07734928bf9..f8c23aa04bbc 100644 --- a/pkgs/by-name/wd/wdt/package.nix +++ b/pkgs/by-name/wd/wdt/package.nix @@ -3,12 +3,10 @@ , fetchFromGitHub , cmake , folly -, boost , gflags , glog , openssl , double-conversion -, fmt , unstableGitUpdater }: @@ -24,7 +22,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ folly boost gflags glog openssl double-conversion fmt ]; + buildInputs = [ folly gflags glog openssl double-conversion ]; # source is expected to be named wdt # https://github.com/facebook/wdt/blob/43319e59d0c77092468367cdadab37d12d7a2383/CMakeLists.txt#L238 diff --git a/pkgs/development/libraries/edencommon/default.nix b/pkgs/development/libraries/edencommon/default.nix index ce26bc6f7125..9abd387a9d92 100644 --- a/pkgs/development/libraries/edencommon/default.nix +++ b/pkgs/development/libraries/edencommon/default.nix @@ -1,9 +1,7 @@ { stdenv , lib , fetchFromGitHub -, boost , cmake -, fmt_8 , folly , glog , gtest @@ -34,8 +32,6 @@ stdenv.mkDerivation rec { buildInputs = [ glog folly - fmt_8 - boost gtest ]; diff --git a/pkgs/development/libraries/fb303/default.nix b/pkgs/development/libraries/fb303/default.nix index 659497d690f6..9ed38b615cae 100644 --- a/pkgs/development/libraries/fb303/default.nix +++ b/pkgs/development/libraries/fb303/default.nix @@ -35,8 +35,6 @@ stdenv.mkDerivation rec { fbthrift fizz folly - folly.boost - folly.fmt glog libsodium mvfst diff --git a/pkgs/development/libraries/fbthrift/default.nix b/pkgs/development/libraries/fbthrift/default.nix index 04bce085c088..2d897613dfe5 100644 --- a/pkgs/development/libraries/fbthrift/default.nix +++ b/pkgs/development/libraries/fbthrift/default.nix @@ -2,13 +2,11 @@ , fetchFromGitHub , cmake , bison -, boost , libevent , double-conversion , libsodium , fizz , flex -, fmt_8 , folly , glog , gflags @@ -45,10 +43,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - boost double-conversion fizz - fmt_8 folly glog gflags diff --git a/pkgs/development/libraries/fizz/default.nix b/pkgs/development/libraries/fizz/default.nix index 4c38c54316b7..d53611cdc29f 100644 --- a/pkgs/development/libraries/fizz/default.nix +++ b/pkgs/development/libraries/fizz/default.nix @@ -1,12 +1,10 @@ { stdenv , fetchFromGitHub , cmake -, boost , libevent , double-conversion , glog , lib -, fmt_8 , zstd , gflags , libiberty @@ -42,8 +40,6 @@ stdenv.mkDerivation (finalAttrs: { NIX_LDFLAGS = "-lz"; buildInputs = [ - fmt_8 - boost double-conversion folly glog diff --git a/pkgs/development/libraries/mvfst/default.nix b/pkgs/development/libraries/mvfst/default.nix index 7c9d2e8da445..aee41d09afaf 100644 --- a/pkgs/development/libraries/mvfst/default.nix +++ b/pkgs/development/libraries/mvfst/default.nix @@ -30,8 +30,6 @@ stdenv.mkDerivation rec { buildInputs = [ fizz folly - folly.boost - folly.fmt gflags glog libsodium diff --git a/pkgs/development/libraries/wangle/default.nix b/pkgs/development/libraries/wangle/default.nix index d07145641a70..140bda3f631c 100644 --- a/pkgs/development/libraries/wangle/default.nix +++ b/pkgs/development/libraries/wangle/default.nix @@ -2,11 +2,9 @@ , lib , fetchFromGitHub , cmake -, boost , libevent , double-conversion , glog -, fmt_8 , gflags , openssl , fizz @@ -39,10 +37,8 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - fmt_8 libsodium zlib - boost double-conversion fizz folly diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix index aa915d89c7fa..d2ea2ed6ba0d 100644 --- a/pkgs/development/tools/watchman/default.nix +++ b/pkgs/development/tools/watchman/default.nix @@ -1,5 +1,4 @@ -{ boost -, cargo +{ cargo , cmake , CoreServices , cpptoml @@ -11,7 +10,6 @@ , fetchFromGitHub , fetchpatch , fizz -, fmt_8 , folly , glog , gtest @@ -67,9 +65,7 @@ stdenv.mkDerivation rec { openssl gtest glog - boost libevent - fmt_8 libsodium zlib folly From bba7126b28441f19eace48cd842d31799473ee82 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:48:13 +0000 Subject: [PATCH 019/151] folly: bump to `fmt_11` This is the version used upstream. --- pkgs/by-name/fo/folly/package.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 4716e53701f1..7d71c0c1d22f 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -25,7 +25,7 @@ darwinMinVersionHook, boost, - fmt_8, + fmt_11, jemalloc, follyMobile ? false, @@ -75,7 +75,6 @@ stdenv.mkDerivation (finalAttrs: { zstd libiberty libunwind - fmt_8 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 @@ -86,7 +85,7 @@ stdenv.mkDerivation (finalAttrs: { [ # `folly-config.cmake` pulls these in. boost - fmt_8 + fmt_11 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ # jemalloc headers are required in include/folly/portability/Malloc.h @@ -138,7 +137,7 @@ stdenv.mkDerivation (finalAttrs: { passthru = { inherit boost; - fmt = fmt_8; + fmt = fmt_11; tests = { inherit watchman; From a3afbe7ccf4d41df8c712f9eba76aa985c3a2e5b Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:30:18 +0000 Subject: [PATCH 020/151] folly: enable tests --- pkgs/by-name/fo/folly/package.nix | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 7d71c0c1d22f..3de4d6c632a5 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -28,6 +28,8 @@ fmt_11, jemalloc, + gtest, + follyMobile ? false, # for passthru.tests @@ -92,9 +94,15 @@ stdenv.mkDerivation (finalAttrs: { jemalloc ]; + checkInputs = [ + gtest + ]; + cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + # Folly uses these instead of the standard CMake variables for some reason. (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include") (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib") @@ -112,6 +120,8 @@ stdenv.mkDerivation (finalAttrs: { ] ); + doCheck = true; + # https://github.com/NixOS/nixpkgs/issues/144170 postPatch = '' substituteInPlace CMake/libfolly.pc.in \ @@ -123,6 +133,35 @@ stdenv.mkDerivation (finalAttrs: { '@CMAKE_INSTALL_FULL_INCLUDEDIR@' ''; + # TODO: Figure out why `GTEST_FILTER` doesn’t work to skip these. + checkPhase = '' + runHook preCheck + + ctest -j $NIX_BUILD_CORES --output-on-failure --exclude-regex ${ + lib.escapeShellArg ( + lib.concatMapStringsSep "|" (test: "^${lib.escapeRegex test}$") ( + [ + "concurrency_concurrent_hash_map_test.*/ConcurrentHashMapTest/*.StressTestReclamation" + "io_async_ssl_session_test.SSLSessionTest.BasicTest" + "io_async_ssl_session_test.SSLSessionTest.NullSessionResumptionTest" + "singleton_thread_local_test.SingletonThreadLocalDeathTest.Overload" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "concurrency_cache_locality_test.CacheLocality.BenchmarkSysfs" + "concurrency_cache_locality_test.CacheLocality.LinuxActual" + "futures_future_test.Future.NoThrow" + "futures_retrying_test.RetryingTest.largeRetries" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "buffered_atomic_test.BufferedAtomic.singleThreadUnguardedAccess" + ] + ) + ) + } + + runHook postCheck + ''; + postFixup = '' # Sanitize header paths to avoid runtime dependencies leaking in # through `__FILE__`. From f86db4874da1299fe7b09c470ae618c544eaa923 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:39:35 +0000 Subject: [PATCH 021/151] folly: add update script --- pkgs/by-name/fo/folly/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 3de4d6c632a5..86f626fbce77 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -32,6 +32,8 @@ follyMobile ? false, + nix-update-script, + # for passthru.tests python3, watchman, @@ -178,6 +180,8 @@ stdenv.mkDerivation (finalAttrs: { inherit boost; fmt = fmt_11; + updateScript = nix-update-script { }; + tests = { inherit watchman; inherit (python3.pkgs) django pywatchman; From df175d625e04e14a69fffbc186c3c69d52e825cf Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:44:35 +0000 Subject: [PATCH 022/151] folly: add emily to maintainers --- pkgs/by-name/fo/folly/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 86f626fbce77..589c65c6f551 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -198,6 +198,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ abbradar pierreis + emily ]; }; }) From c71ed296d791941e67e108cc39eec4b13a32b705 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:17:11 +0000 Subject: [PATCH 023/151] folly: add techknowlogick to maintainers --- pkgs/by-name/fo/folly/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 589c65c6f551..3d84de4ea5c7 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -199,6 +199,7 @@ stdenv.mkDerivation (finalAttrs: { abbradar pierreis emily + techknowlogick ]; }; }) From 95d28ae657e6cc9eb01abbfc1623138955c798ac Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:51:02 +0000 Subject: [PATCH 024/151] fizz: format with `nixfmt-rfc-style` --- pkgs/development/libraries/fizz/default.nix | 76 ++++++++++++--------- 1 file changed, 42 insertions(+), 34 deletions(-) diff --git a/pkgs/development/libraries/fizz/default.nix b/pkgs/development/libraries/fizz/default.nix index d53611cdc29f..481e5ed326a0 100644 --- a/pkgs/development/libraries/fizz/default.nix +++ b/pkgs/development/libraries/fizz/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, fetchFromGitHub -, cmake -, libevent -, double-conversion -, glog -, lib -, zstd -, gflags -, libiberty -, openssl -, folly -, libsodium -, gtest -, zlib +{ + stdenv, + fetchFromGitHub, + cmake, + libevent, + double-conversion, + glog, + lib, + zstd, + gflags, + libiberty, + openssl, + folly, + libsodium, + gtest, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -30,12 +31,14 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../fizz"; - cmakeFlags = [ - "-Wno-dev" - (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; + cmakeFlags = + [ + "-Wno-dev" + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + ]; NIX_LDFLAGS = "-lz"; @@ -56,19 +59,21 @@ stdenv.mkDerivation (finalAttrs: { checkInputs = [ gtest ]; - preCheck = let - disabledTests = [ - # these don't work with openssl 3.x probably due to - # https://github.com/openssl/openssl/issues/13283 - "DefaultCertificateVerifierTest.TestVerifySuccess" - "DefaultCertificateVerifierTest.TestVerifyWithIntermediates" + preCheck = + let + disabledTests = [ + # these don't work with openssl 3.x probably due to + # https://github.com/openssl/openssl/issues/13283 + "DefaultCertificateVerifierTest.TestVerifySuccess" + "DefaultCertificateVerifierTest.TestVerifyWithIntermediates" - # timing-related & flaky - "SlidingBloomReplayCacheTest.TestTimeBucketing" - ]; - in '' - export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}" - ''; + # timing-related & flaky + "SlidingBloomReplayCacheTest.TestTimeBucketing" + ]; + in + '' + export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}" + ''; meta = with lib; { description = "C++14 implementation of the TLS-1.3 standard"; @@ -76,6 +81,9 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/facebookincubator/fizz/releases/tag/v${finalAttrs.version}"; license = licenses.bsd3; platforms = platforms.unix; - maintainers = with maintainers; [ pierreis kylesferrazza ]; + maintainers = with maintainers; [ + pierreis + kylesferrazza + ]; }; }) From 91c31b10692ba26cdfeb9501e8eb5280fbb66220 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:51:53 +0000 Subject: [PATCH 025/151] fizz: convert to new Darwin SDK pattern --- pkgs/development/libraries/fizz/default.nix | 43 +++++++++++---------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/pkgs/development/libraries/fizz/default.nix b/pkgs/development/libraries/fizz/default.nix index 481e5ed326a0..542e09a0e878 100644 --- a/pkgs/development/libraries/fizz/default.nix +++ b/pkgs/development/libraries/fizz/default.nix @@ -14,6 +14,8 @@ libsodium, gtest, zlib, + apple-sdk_11, + darwinMinVersionHook, }: stdenv.mkDerivation (finalAttrs: { @@ -31,29 +33,30 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../fizz"; - cmakeFlags = - [ - "-Wno-dev" - (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; + cmakeFlags = [ + "-Wno-dev" + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + ]; NIX_LDFLAGS = "-lz"; - buildInputs = [ - double-conversion - folly - glog - gflags - libevent - libiberty - libsodium - openssl - zlib - zstd - ]; + buildInputs = + [ + double-conversion + folly + glog + gflags + libevent + libiberty + libsodium + openssl + zlib + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + (darwinMinVersionHook "11.0") + ]; doCheck = true; checkInputs = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 94e6d30d91cd..f070fcf17f45 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9270,7 +9270,7 @@ with pkgs; }; fftwMpi = fftw.override { enableMpi = true; }; - fizz = darwin.apple_sdk_11_0.callPackage ../development/libraries/fizz { }; + fizz = callPackage ../development/libraries/fizz { }; flint = callPackage ../development/libraries/flint { }; From eb19c30c3ace43959738f0885b6c7f0f82a124a8 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:52:21 +0000 Subject: [PATCH 026/151] fizz: move to `pkgs/by-name` --- .../libraries/fizz/default.nix => by-name/fi/fizz/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/fizz/default.nix => by-name/fi/fizz/package.nix} (100%) diff --git a/pkgs/development/libraries/fizz/default.nix b/pkgs/by-name/fi/fizz/package.nix similarity index 100% rename from pkgs/development/libraries/fizz/default.nix rename to pkgs/by-name/fi/fizz/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f070fcf17f45..13d923728cf4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9270,8 +9270,6 @@ with pkgs; }; fftwMpi = fftw.override { enableMpi = true; }; - fizz = callPackage ../development/libraries/fizz { }; - flint = callPackage ../development/libraries/flint { }; flint3 = callPackage ../development/libraries/flint/3.nix { }; From be3861494e77b389b2ee98beda99b533f7195f67 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:53:24 +0000 Subject: [PATCH 027/151] fizz: remove `with lib;` --- pkgs/by-name/fi/fizz/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 542e09a0e878..2ff4f7ed2de5 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -78,13 +78,13 @@ stdenv.mkDerivation (finalAttrs: { export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}" ''; - meta = with lib; { + meta = { description = "C++14 implementation of the TLS-1.3 standard"; homepage = "https://github.com/facebookincubator/fizz"; changelog = "https://github.com/facebookincubator/fizz/releases/tag/v${finalAttrs.version}"; - license = licenses.bsd3; - platforms = platforms.unix; - maintainers = with maintainers; [ + license = lib.licenses.bsd3; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ pierreis kylesferrazza ]; From d68470e96bd21abbd8f28c3cba770c19f643ecb5 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:54:02 +0000 Subject: [PATCH 028/151] fizz: reorder attributes --- pkgs/by-name/fi/fizz/package.nix | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 2ff4f7ed2de5..05705dfeb234 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -31,15 +31,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - cmakeDir = "../fizz"; - - cmakeFlags = [ - "-Wno-dev" - (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) - ]; - - NIX_LDFLAGS = "-lz"; - buildInputs = [ double-conversion @@ -58,10 +49,21 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; - doCheck = true; checkInputs = [ gtest ]; + + cmakeDir = "../fizz"; + + cmakeFlags = [ + "-Wno-dev" + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + ]; + + NIX_LDFLAGS = "-lz"; + + doCheck = true; + preCheck = let disabledTests = [ From 997d4edee5cc3d79b9530ee14e1ac913f928fc13 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:57:11 +0000 Subject: [PATCH 029/151] fizz: reorder inputs to match upstream file --- pkgs/by-name/fi/fizz/package.nix | 36 ++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 05705dfeb234..5a6579918d4e 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -1,21 +1,25 @@ { - stdenv, - fetchFromGitHub, - cmake, - libevent, - double-conversion, - glog, lib, - zstd, - gflags, - libiberty, - openssl, + stdenv, + + fetchFromGitHub, + + cmake, + folly, + openssl, + glog, + double-conversion, + zstd, libsodium, - gtest, + gflags, zlib, + libevent, + libiberty, apple-sdk_11, darwinMinVersionHook, + + gtest, }: stdenv.mkDerivation (finalAttrs: { @@ -33,16 +37,16 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ - double-conversion folly + openssl glog + double-conversion + zstd + libsodium gflags + zlib libevent libiberty - libsodium - openssl - zlib - zstd ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 From 74e329179b95b39fd04bb04c415d350c98488113 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:47:05 +0000 Subject: [PATCH 030/151] fizz: remove unnecessary input --- pkgs/by-name/fi/fizz/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 5a6579918d4e..c6711fe77d3e 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -15,7 +15,6 @@ gflags, zlib, libevent, - libiberty, apple-sdk_11, darwinMinVersionHook, @@ -46,7 +45,6 @@ stdenv.mkDerivation (finalAttrs: { gflags zlib libevent - libiberty ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 From cb829657b8992dee9d0781462718bd5a6498245b Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:36:55 +0000 Subject: [PATCH 031/151] fizz: remove unnecessary `NIX_LDFLAGS` --- pkgs/by-name/fi/fizz/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index c6711fe77d3e..976a8194a414 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -62,8 +62,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; - NIX_LDFLAGS = "-lz"; - doCheck = true; preCheck = From ca280ee51f8c404858fa2778889ec155cb5c2390 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:37:11 +0000 Subject: [PATCH 032/151] fizz: remove unnecessary CMake flag No point silencing these warnings. --- pkgs/by-name/fi/fizz/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 976a8194a414..a822021cd333 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -58,7 +58,6 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../fizz"; cmakeFlags = [ - "-Wno-dev" (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; From 1c1d6a6ba2943c6272ee865021b9ca4c02f7876c Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 14:07:00 +0000 Subject: [PATCH 033/151] fizz: use Ninja --- pkgs/by-name/fi/fizz/package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index a822021cd333..85511fdf9853 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, cmake, + ninja, folly, openssl, @@ -32,7 +33,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-IHWotiVUjGOvebXy4rwsh8U8UMxTrF1VaqXzZMjojiM="; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + ninja + ]; buildInputs = [ From 3f4e898d0a359a2847aff3145bb81a8d4147f245 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 19:41:11 +0000 Subject: [PATCH 034/151] fizz: set `__darwinAllowLocalNetworking` --- pkgs/by-name/fi/fizz/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 85511fdf9853..df5ffa289a31 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -65,6 +65,8 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; + __darwinAllowLocalNetworking = true; + doCheck = true; preCheck = From 67fd043f62962e02670b4a714ac375b40772e1e1 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:59:45 +0000 Subject: [PATCH 035/151] fizz: 2024.03.11.00 -> 2024.11.11.00 Diff: https://github.com/facebookincubator/fizz/compare/refs/tags/v2024.03.11.00...v2024.11.18.00 Changelog: https://github.com/facebookincubator/fizz/releases/tag/v2024.11.18.00 --- pkgs/by-name/fi/fizz/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index df5ffa289a31..c4024eedc82b 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "fizz"; - version = "2024.03.11.00"; + version = "2024.11.18.00"; src = fetchFromGitHub { owner = "facebookincubator"; repo = "fizz"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-IHWotiVUjGOvebXy4rwsh8U8UMxTrF1VaqXzZMjojiM="; + hash = "sha256-mNe+CHEXhkwzek9qy2l6zvPXim9tJV44s+naSm6bQ4Q="; }; nativeBuildInputs = [ From 136740dec662e1bc4e9560393fa568c3f9450b53 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:51:53 +0000 Subject: [PATCH 036/151] fizz: condition shared libraries on platform setting --- pkgs/by-name/fi/fizz/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index c4024eedc82b..d7373cc1e178 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -62,6 +62,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../fizz"; cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; From 03b58e14f792db6acbed43439281561dcfe92d7f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 17:14:38 +0000 Subject: [PATCH 037/151] fizz: propagate required dependencies --- pkgs/by-name/fi/fizz/package.nix | 16 ++++++++++------ pkgs/development/libraries/fb303/default.nix | 4 ---- pkgs/development/libraries/fbthrift/default.nix | 2 -- pkgs/development/libraries/mvfst/default.nix | 4 ---- pkgs/development/libraries/wangle/default.nix | 4 ---- pkgs/development/tools/watchman/default.nix | 2 -- 6 files changed, 10 insertions(+), 22 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index d7373cc1e178..19d78dee6ead 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -7,18 +7,19 @@ cmake, ninja, - folly, openssl, glog, double-conversion, zstd, - libsodium, gflags, - zlib, libevent, apple-sdk_11, darwinMinVersionHook, + folly, + libsodium, + zlib, + gtest, }: @@ -40,14 +41,11 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ - folly openssl glog double-conversion zstd - libsodium gflags - zlib libevent ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ @@ -55,6 +53,12 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; + propagatedBuildInputs = [ + folly + libsodium + zlib + ]; + checkInputs = [ gtest ]; diff --git a/pkgs/development/libraries/fb303/default.nix b/pkgs/development/libraries/fb303/default.nix index 9ed38b615cae..5236e07b77d3 100644 --- a/pkgs/development/libraries/fb303/default.nix +++ b/pkgs/development/libraries/fb303/default.nix @@ -6,11 +6,9 @@ , fizz , folly , glog -, libsodium , mvfst , python3 , wangle -, zlib }: stdenv.mkDerivation rec { @@ -36,11 +34,9 @@ stdenv.mkDerivation rec { fizz folly glog - libsodium mvfst python3 wangle - zlib ]; meta = with lib; { diff --git a/pkgs/development/libraries/fbthrift/default.nix b/pkgs/development/libraries/fbthrift/default.nix index 2d897613dfe5..ad0173b458b4 100644 --- a/pkgs/development/libraries/fbthrift/default.nix +++ b/pkgs/development/libraries/fbthrift/default.nix @@ -4,7 +4,6 @@ , bison , libevent , double-conversion -, libsodium , fizz , flex , folly @@ -55,7 +54,6 @@ stdenv.mkDerivation rec { wangle zlib zstd - libsodium ]; meta = with lib; { diff --git a/pkgs/development/libraries/mvfst/default.nix b/pkgs/development/libraries/mvfst/default.nix index aee41d09afaf..f99fc041ab97 100644 --- a/pkgs/development/libraries/mvfst/default.nix +++ b/pkgs/development/libraries/mvfst/default.nix @@ -6,8 +6,6 @@ , folly , gflags , glog -, libsodium -, zlib }: stdenv.mkDerivation rec { @@ -32,8 +30,6 @@ stdenv.mkDerivation rec { folly gflags glog - libsodium - zlib ]; meta = with lib; { diff --git a/pkgs/development/libraries/wangle/default.nix b/pkgs/development/libraries/wangle/default.nix index 140bda3f631c..c1209e0ee800 100644 --- a/pkgs/development/libraries/wangle/default.nix +++ b/pkgs/development/libraries/wangle/default.nix @@ -10,8 +10,6 @@ , fizz , folly , gtest -, libsodium -, zlib }: stdenv.mkDerivation (finalAttrs: { @@ -37,8 +35,6 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - libsodium - zlib double-conversion fizz folly diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix index d2ea2ed6ba0d..0a928810eb68 100644 --- a/pkgs/development/tools/watchman/default.nix +++ b/pkgs/development/tools/watchman/default.nix @@ -27,7 +27,6 @@ , stateDir ? "/tmp" , stdenv , wangle -, zlib , zstd }: @@ -67,7 +66,6 @@ stdenv.mkDerivation rec { glog libevent libsodium - zlib folly fizz wangle From f88b7334eaedf837cb81f08bd40e9d80543f7b61 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:53:36 +0000 Subject: [PATCH 038/151] fizz: enable more tests --- pkgs/by-name/fi/fizz/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 19d78dee6ead..a78218ad8d09 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -77,11 +77,6 @@ stdenv.mkDerivation (finalAttrs: { preCheck = let disabledTests = [ - # these don't work with openssl 3.x probably due to - # https://github.com/openssl/openssl/issues/13283 - "DefaultCertificateVerifierTest.TestVerifySuccess" - "DefaultCertificateVerifierTest.TestVerifyWithIntermediates" - # timing-related & flaky "SlidingBloomReplayCacheTest.TestTimeBucketing" ]; From dbb5591b5b267339ac46448b1096f0d457c237b6 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:40:52 +0000 Subject: [PATCH 039/151] fizz: split outputs --- pkgs/by-name/fi/fizz/package.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index a78218ad8d09..e5927116c456 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -6,6 +6,7 @@ cmake, ninja, + removeReferencesTo, openssl, glog, @@ -27,6 +28,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "fizz"; version = "2024.11.18.00"; + outputs = [ + "bin" + "out" + "dev" + ]; + src = fetchFromGitHub { owner = "facebookincubator"; repo = "fizz"; @@ -37,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ninja + removeReferencesTo ]; buildInputs = @@ -67,7 +75,16 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + + (lib.cmakeFeature "BIN_INSTALL_DIR" "${placeholder "bin"}/bin") + (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include") + (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib") + (lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "dev"}/lib/cmake/fizz") + # Fizz puts test headers into `${CMAKE_INSTALL_PREFIX}/include` + # for other projects to consume. + (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev")) ]; __darwinAllowLocalNetworking = true; @@ -85,6 +102,18 @@ stdenv.mkDerivation (finalAttrs: { export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}" ''; + postFixup = '' + # Sanitize header paths to avoid runtime dependencies leaking in + # through `__FILE__`. + ( + shopt -s globstar + for header in "$dev/include"/**/*.h; do + sed -i "1i#line 1 \"$header\"" "$header" + remove-references-to -t "$dev" "$header" + done + ) + ''; + meta = { description = "C++14 implementation of the TLS-1.3 standard"; homepage = "https://github.com/facebookincubator/fizz"; From 0414a001b6b80cbf81c84cbbe67fc418191f581d Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:41:47 +0000 Subject: [PATCH 040/151] fizz: add update script --- pkgs/by-name/fi/fizz/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index e5927116c456..81bb4e5f6792 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -22,6 +22,8 @@ zlib, gtest, + + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -114,6 +116,8 @@ stdenv.mkDerivation (finalAttrs: { ) ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "C++14 implementation of the TLS-1.3 standard"; homepage = "https://github.com/facebookincubator/fizz"; From 5115b6186a5c3d6264964358022d27a2ce508702 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:47:41 +0000 Subject: [PATCH 041/151] fizz: add emily to maintainers --- pkgs/by-name/fi/fizz/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 81bb4e5f6792..3a4bc2daaae9 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -127,6 +127,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ pierreis kylesferrazza + emily ]; }; }) From 4871d40414226e48c89c411b56fc668dea1cb23a Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:16:54 +0000 Subject: [PATCH 042/151] fizz: add techknowlogick to maintainers --- pkgs/by-name/fi/fizz/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 3a4bc2daaae9..4c5c1efe08c6 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -128,6 +128,7 @@ stdenv.mkDerivation (finalAttrs: { pierreis kylesferrazza emily + techknowlogick ]; }; }) From ee8c1b1980f466183f36b473accf64b58de12aa4 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:00:04 +0000 Subject: [PATCH 043/151] mvfst: format with `nixfmt-rfc-style` --- pkgs/development/libraries/mvfst/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/mvfst/default.nix b/pkgs/development/libraries/mvfst/default.nix index f99fc041ab97..fe2513b2c220 100644 --- a/pkgs/development/libraries/mvfst/default.nix +++ b/pkgs/development/libraries/mvfst/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, fizz -, folly -, gflags -, glog +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + fizz, + folly, + gflags, + glog, }: stdenv.mkDerivation rec { From 5b60e96f64c75a169768492ef30e125037242f66 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:00:20 +0000 Subject: [PATCH 044/151] mvfst: convert to new Darwin SDK pattern --- pkgs/development/libraries/mvfst/default.nix | 23 +++++++++++--------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/mvfst/default.nix b/pkgs/development/libraries/mvfst/default.nix index fe2513b2c220..429de18e2267 100644 --- a/pkgs/development/libraries/mvfst/default.nix +++ b/pkgs/development/libraries/mvfst/default.nix @@ -7,6 +7,8 @@ folly, gflags, glog, + apple-sdk_11, + darwinMinVersionHook, }: stdenv.mkDerivation rec { @@ -22,16 +24,17 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; - - buildInputs = [ - fizz - folly - gflags - glog - ]; + buildInputs = + [ + fizz + folly + gflags + glog + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + (darwinMinVersionHook "11.0") + ]; meta = with lib; { description = "Implementation of the QUIC transport protocol"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 13d923728cf4..a0f31205a225 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10530,7 +10530,7 @@ with pkgs; mpich-pmix = mpich.override { pmixSupport = true; withPm = [ ]; }; - mvfst = darwin.apple_sdk_11_0.callPackage ../development/libraries/mvfst { }; + mvfst = callPackage ../development/libraries/mvfst { }; mygpoclient = with python3.pkgs; toPythonApplication mygpoclient; From d76e1dc840eb0d018f11ec88d8808c71052e29cd Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:01:02 +0000 Subject: [PATCH 045/151] mvfst: move to `pkgs/by-name` --- .../mvfst/default.nix => by-name/mv/mvfst/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/mvfst/default.nix => by-name/mv/mvfst/package.nix} (100%) diff --git a/pkgs/development/libraries/mvfst/default.nix b/pkgs/by-name/mv/mvfst/package.nix similarity index 100% rename from pkgs/development/libraries/mvfst/default.nix rename to pkgs/by-name/mv/mvfst/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a0f31205a225..0add6f0f4721 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10530,8 +10530,6 @@ with pkgs; mpich-pmix = mpich.override { pmixSupport = true; withPm = [ ]; }; - mvfst = callPackage ../development/libraries/mvfst { }; - mygpoclient = with python3.pkgs; toPythonApplication mygpoclient; mygui = callPackage ../development/libraries/mygui { From e82a30f577f4547eb29ed20f428813e1d0a363b2 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:02:20 +0000 Subject: [PATCH 046/151] mvfst: use `finalAttrs` --- pkgs/by-name/mv/mvfst/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 429de18e2267..66df107ba399 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -11,14 +11,14 @@ darwinMinVersionHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "mvfst"; version = "2024.03.11.00"; src = fetchFromGitHub { owner = "facebook"; repo = "mvfst"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-KjNTDgpiR9EG42Agl2JFJoPo5+8GlS27oPMWpdLq2v8="; }; @@ -43,4 +43,4 @@ stdenv.mkDerivation rec { platforms = platforms.unix; maintainers = with maintainers; [ ris ]; }; -} +}) From 5848ed9bfbec76ed225ffb9519584c0d945851e2 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:02:42 +0000 Subject: [PATCH 047/151] mvfst: remove `with lib;` --- pkgs/by-name/mv/mvfst/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 66df107ba399..d50fcb14efc8 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -36,11 +36,11 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; - meta = with lib; { + meta = { description = "Implementation of the QUIC transport protocol"; homepage = "https://github.com/facebook/mvfst"; - license = licenses.mit; - platforms = platforms.unix; - maintainers = with maintainers; [ ris ]; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ ris ]; }; }) From 40d409e3dbd6da712dafe2ecf8c1f9d1ecbf138f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:05:34 +0000 Subject: [PATCH 048/151] mvfst: use `refs/tags/` --- pkgs/by-name/mv/mvfst/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index d50fcb14efc8..c1eb7036f5fd 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "facebook"; repo = "mvfst"; - rev = "v${finalAttrs.version}"; + rev = "refs/tags/v${finalAttrs.version}"; sha256 = "sha256-KjNTDgpiR9EG42Agl2JFJoPo5+8GlS27oPMWpdLq2v8="; }; From 067a44e638003c206c9ec4826e727b7d31e25ce4 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:05:44 +0000 Subject: [PATCH 049/151] mvfst: use `hash` --- pkgs/by-name/mv/mvfst/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index c1eb7036f5fd..0c59fcaccdcb 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "mvfst"; rev = "refs/tags/v${finalAttrs.version}"; - sha256 = "sha256-KjNTDgpiR9EG42Agl2JFJoPo5+8GlS27oPMWpdLq2v8="; + hash = "sha256-KjNTDgpiR9EG42Agl2JFJoPo5+8GlS27oPMWpdLq2v8="; }; nativeBuildInputs = [ cmake ]; From 4f8f722165e5f490327e4d5a65513846cd9bd309 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:27:29 +0000 Subject: [PATCH 050/151] mvfst: reorder inputs --- pkgs/by-name/mv/mvfst/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 0c59fcaccdcb..49a93f56642c 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -1,8 +1,11 @@ { - stdenv, lib, + stdenv, + fetchFromGitHub, + cmake, + fizz, folly, gflags, From c647a831203c3d51eef949e9cd60cdcc5a191fdc Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:27:29 +0000 Subject: [PATCH 051/151] mvfst: use Ninja --- pkgs/by-name/mv/mvfst/package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 49a93f56642c..b322f07b05d3 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, cmake, + ninja, fizz, folly, @@ -25,7 +26,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-KjNTDgpiR9EG42Agl2JFJoPo5+8GlS27oPMWpdLq2v8="; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + ninja + ]; buildInputs = [ From 5b08d0983422fc5cbe9502de2cc137aea3b7eb8f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:06:12 +0000 Subject: [PATCH 052/151] mvfst: 2024.03.11.00 -> 2024.11.18.00 Diff: https://github.com/facebook/mvfst/compare/refs/tags/v2024.03.11.00...v2024.11.18.00 --- pkgs/by-name/mv/mvfst/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index b322f07b05d3..d78431ff91e4 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mvfst"; - version = "2024.03.11.00"; + version = "2024.11.18.00"; src = fetchFromGitHub { owner = "facebook"; repo = "mvfst"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-KjNTDgpiR9EG42Agl2JFJoPo5+8GlS27oPMWpdLq2v8="; + hash = "sha256-2Iqk6QshM8fVO65uIqrTbex7aj8ELNSzNseYEeNdzCY="; }; nativeBuildInputs = [ From ee1e828c2731ec81cc11c03b7f7eb23c3d02b5e3 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:08:57 +0000 Subject: [PATCH 053/151] mvfst: condition shared libraries on platform setting --- pkgs/by-name/mv/mvfst/package.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index d78431ff91e4..379f292bcfb6 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -43,6 +43,24 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; + cmakeFlags = + [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + + (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Homebrew sets this, and the shared library build fails without + # it. I don‘t know, either. It scares me. + (lib.cmakeFeature "CMAKE_SHARED_LINKER_FLAGS" "-Wl,-undefined,dynamic_lookup") + ]; + + postPatch = '' + # Make sure the libraries the `tperf` binary uses are installed. + printf 'install(TARGETS mvfst_test_utils)\n' >> quic/common/test/CMakeLists.txt + printf 'install(TARGETS mvfst_dsr_backend)\n' >> quic/dsr/CMakeLists.txt + ''; + meta = { description = "Implementation of the QUIC transport protocol"; homepage = "https://github.com/facebook/mvfst"; From e5709fe8148e9af89d7eca372eda64d6fe7ab6a7 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:29:07 +0000 Subject: [PATCH 054/151] mvfst: propagate required dependencies --- pkgs/by-name/mv/mvfst/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 379f292bcfb6..73f06c4cd677 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -7,12 +7,13 @@ cmake, ninja, - fizz, folly, gflags, glog, apple-sdk_11, darwinMinVersionHook, + + fizz, }: stdenv.mkDerivation (finalAttrs: { @@ -33,7 +34,6 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ - fizz folly gflags glog @@ -43,6 +43,10 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; + propagatedBuildInputs = [ + fizz + ]; + cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) From ea635930e783661d12ffd5a589981c89ee84b646 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:11:05 +0000 Subject: [PATCH 055/151] mvfst: enable tests --- pkgs/by-name/mv/mvfst/package.nix | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 73f06c4cd677..8bbc024263e8 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -14,6 +14,8 @@ darwinMinVersionHook, fizz, + + gtest, }: stdenv.mkDerivation (finalAttrs: { @@ -47,11 +49,17 @@ stdenv.mkDerivation (finalAttrs: { fizz ]; + checkInputs = [ + gtest + ]; + cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) + + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Homebrew sets this, and the shared library build fails without @@ -59,12 +67,46 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "CMAKE_SHARED_LINKER_FLAGS" "-Wl,-undefined,dynamic_lookup") ]; + __darwinAllowLocalNetworking = true; + + doCheck = true; + postPatch = '' # Make sure the libraries the `tperf` binary uses are installed. printf 'install(TARGETS mvfst_test_utils)\n' >> quic/common/test/CMakeLists.txt printf 'install(TARGETS mvfst_dsr_backend)\n' >> quic/dsr/CMakeLists.txt ''; + checkPhase = '' + runHook preCheck + + ctest -j $NIX_BUILD_CORES --output-on-failure ${ + lib.optionalString stdenv.hostPlatform.isLinux ( + lib.escapeShellArgs [ + "--exclude-regex" + (lib.concatMapStringsSep "|" (test: "^${lib.escapeRegex test}$") [ + "*/QuicClientTransportIntegrationTest.NetworkTest/*" + "*/QuicClientTransportIntegrationTest.FlowControlLimitedTest/*" + "*/QuicClientTransportIntegrationTest.NetworkTestConnected/*" + "*/QuicClientTransportIntegrationTest.SetTransportSettingsAfterStart/*" + "*/QuicClientTransportIntegrationTest.TestZeroRttSuccess/*" + "*/QuicClientTransportIntegrationTest.ZeroRttRetryPacketTest/*" + "*/QuicClientTransportIntegrationTest.NewTokenReceived/*" + "*/QuicClientTransportIntegrationTest.UseNewTokenThenReceiveRetryToken/*" + "*/QuicClientTransportIntegrationTest.TestZeroRttRejection/*" + "*/QuicClientTransportIntegrationTest.TestZeroRttNotAttempted/*" + "*/QuicClientTransportIntegrationTest.TestZeroRttInvalidAppParams/*" + "*/QuicClientTransportIntegrationTest.ChangeEventBase/*" + "*/QuicClientTransportIntegrationTest.ResetClient/*" + "*/QuicClientTransportIntegrationTest.TestStatelessResetToken/*" + ]) + ] + ) + } + + runHook postCheck + ''; + meta = { description = "Implementation of the QUIC transport protocol"; homepage = "https://github.com/facebook/mvfst"; From 49ad47893e80628afe3e08fc847929503da1de9b Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:59:42 +0000 Subject: [PATCH 056/151] mvfst: split outputs --- pkgs/by-name/mv/mvfst/package.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 8bbc024263e8..f01f1be5a817 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -6,6 +6,7 @@ cmake, ninja, + removeReferencesTo, folly, gflags, @@ -22,6 +23,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "mvfst"; version = "2024.11.18.00"; + outputs = [ + "bin" + "out" + "dev" + ]; + src = fetchFromGitHub { owner = "facebook"; repo = "mvfst"; @@ -32,6 +39,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ninja + removeReferencesTo ]; buildInputs = @@ -60,6 +68,8 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + + (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev")) ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Homebrew sets this, and the shared library build fails without @@ -107,6 +117,21 @@ stdenv.mkDerivation (finalAttrs: { runHook postCheck ''; + postFixup = '' + # Sanitize header paths to avoid runtime dependencies leaking in + # through `__FILE__`. + ( + shopt -s globstar + for header in "$dev/include"/**/*.h; do + sed -i "1i#line 1 \"$header\"" "$header" + remove-references-to -t "$dev" "$header" + done + ) + + # TODO: Do this in `gtest` rather than downstream. + remove-references-to -t ${gtest.dev} $out/lib/* + ''; + meta = { description = "Implementation of the QUIC transport protocol"; homepage = "https://github.com/facebook/mvfst"; From 0931562600485a700fd8d3ed65af94495e13e3c2 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:00:36 +0000 Subject: [PATCH 057/151] mvfst: add update script --- pkgs/by-name/mv/mvfst/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index f01f1be5a817..b551e0e7fcf8 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -17,6 +17,8 @@ fizz, gtest, + + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -132,6 +134,8 @@ stdenv.mkDerivation (finalAttrs: { remove-references-to -t ${gtest.dev} $out/lib/* ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Implementation of the QUIC transport protocol"; homepage = "https://github.com/facebook/mvfst"; From fef1275d9bdb171b189364ad6e26f9f478ab7389 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:49:30 +0000 Subject: [PATCH 058/151] mvfst: add emily to maintainers --- pkgs/by-name/mv/mvfst/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index b551e0e7fcf8..9224a2d4ebc1 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -141,6 +141,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/facebook/mvfst"; license = lib.licenses.mit; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ ris ]; + maintainers = with lib.maintainers; [ + ris + emily + ]; }; }) From 01eddf68ddef3292efb478616a613e5adff45ad0 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:16:38 +0000 Subject: [PATCH 059/151] mvfst: add techknowlogick to maintainers --- pkgs/by-name/mv/mvfst/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 9224a2d4ebc1..de686a269b51 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -144,6 +144,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ ris emily + techknowlogick ]; }; }) From 6d542aedaf25d86a78a3ab58b9a574a972b8f785 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:43:53 +0000 Subject: [PATCH 060/151] wangle: format with `nixfmt-rfc-style` --- pkgs/development/libraries/wangle/default.nix | 78 +++++++++++-------- 1 file changed, 44 insertions(+), 34 deletions(-) diff --git a/pkgs/development/libraries/wangle/default.nix b/pkgs/development/libraries/wangle/default.nix index c1209e0ee800..c4ce19bd426e 100644 --- a/pkgs/development/libraries/wangle/default.nix +++ b/pkgs/development/libraries/wangle/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, libevent -, double-conversion -, glog -, gflags -, openssl -, fizz -, folly -, gtest +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + libevent, + double-conversion, + glog, + gflags, + openssl, + fizz, + folly, + gtest, }: stdenv.mkDerivation (finalAttrs: { @@ -27,12 +28,14 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../wangle"; - cmakeFlags = [ - "-Wno-dev" - (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; + cmakeFlags = + [ + "-Wno-dev" + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + ]; buildInputs = [ double-conversion @@ -48,22 +51,26 @@ stdenv.mkDerivation (finalAttrs: { checkInputs = [ gtest ]; - preCheck = let - disabledTests = [ - # these depend on example pem files from the folly source tree (?) - "SSLContextManagerTest.TestSingleClientCAFileSet" - "SSLContextManagerTest.TestMultipleClientCAsSet" + preCheck = + let + disabledTests = + [ + # these depend on example pem files from the folly source tree (?) + "SSLContextManagerTest.TestSingleClientCAFileSet" + "SSLContextManagerTest.TestMultipleClientCAsSet" - # https://github.com/facebook/wangle/issues/206 - "SSLContextManagerTest.TestSessionContextCertRemoval" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # flaky - "BroadcastPoolTest.ThreadLocalPool" - "Bootstrap.UDPClientServerTest" - ]; - in '' - export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}" - ''; + # https://github.com/facebook/wangle/issues/206 + "SSLContextManagerTest.TestSessionContextCertRemoval" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # flaky + "BroadcastPoolTest.ThreadLocalPool" + "Bootstrap.UDPClientServerTest" + ]; + in + '' + export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}" + ''; meta = with lib; { description = "Open-source C++ networking library"; @@ -75,6 +82,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/facebook/wangle"; license = licenses.asl20; platforms = platforms.unix; - maintainers = with maintainers; [ pierreis kylesferrazza ]; + maintainers = with maintainers; [ + pierreis + kylesferrazza + ]; }; }) From b21418c8d81f68502d196c4fcfaad1197413b2ce Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:44:26 +0000 Subject: [PATCH 061/151] wangle: convert to new Darwin SDK pattern --- pkgs/development/libraries/wangle/default.nix | 31 ++++++++++--------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/pkgs/development/libraries/wangle/default.nix b/pkgs/development/libraries/wangle/default.nix index c4ce19bd426e..26271c5f0ac7 100644 --- a/pkgs/development/libraries/wangle/default.nix +++ b/pkgs/development/libraries/wangle/default.nix @@ -11,6 +11,8 @@ fizz, folly, gtest, + apple-sdk_11, + darwinMinVersionHook, }: stdenv.mkDerivation (finalAttrs: { @@ -28,25 +30,26 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../wangle"; - cmakeFlags = + cmakeFlags = [ + "-Wno-dev" + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + ]; + + buildInputs = [ - "-Wno-dev" - (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + double-conversion + fizz + folly + glog + gflags + libevent + openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + apple-sdk_11 + (darwinMinVersionHook "11.0") ]; - buildInputs = [ - double-conversion - fizz - folly - glog - gflags - libevent - openssl - ]; - doCheck = true; checkInputs = [ gtest diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0add6f0f4721..60b530948643 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11283,7 +11283,7 @@ with pkgs; vulkan-tools = callPackage ../tools/graphics/vulkan-tools { inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; }; - wangle = darwin.apple_sdk_11_0.callPackage ../development/libraries/wangle { }; + wangle = callPackage ../development/libraries/wangle { }; wayland = darwin.apple_sdk_11_0.callPackage ../development/libraries/wayland { }; wayland-scanner = callPackage ../development/libraries/wayland/scanner.nix { }; From 1b7c0a5eb09050f2ba618b00983e06255b813089 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:44:53 +0000 Subject: [PATCH 062/151] wangle: move to `pkgs/by-name` --- .../wangle/default.nix => by-name/wa/wangle/package.nix} | 0 pkgs/top-level/all-packages.nix | 1 - 2 files changed, 1 deletion(-) rename pkgs/{development/libraries/wangle/default.nix => by-name/wa/wangle/package.nix} (100%) diff --git a/pkgs/development/libraries/wangle/default.nix b/pkgs/by-name/wa/wangle/package.nix similarity index 100% rename from pkgs/development/libraries/wangle/default.nix rename to pkgs/by-name/wa/wangle/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 60b530948643..c6aa5f52f07a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11283,7 +11283,6 @@ with pkgs; vulkan-tools = callPackage ../tools/graphics/vulkan-tools { inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; }; - wangle = callPackage ../development/libraries/wangle { }; wayland = darwin.apple_sdk_11_0.callPackage ../development/libraries/wayland { }; wayland-scanner = callPackage ../development/libraries/wayland/scanner.nix { }; From 337f896690b67e5b5a4950e24ee6b60f47944b54 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:45:21 +0000 Subject: [PATCH 063/151] wangle: remove `with lib;` --- pkgs/by-name/wa/wangle/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 26271c5f0ac7..cbb7d31f3621 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -75,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: { export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}" ''; - meta = with lib; { + meta = { description = "Open-source C++ networking library"; longDescription = '' Wangle is a framework providing a set of common client/server @@ -83,9 +83,9 @@ stdenv.mkDerivation (finalAttrs: { composable way. ''; homepage = "https://github.com/facebook/wangle"; - license = licenses.asl20; - platforms = platforms.unix; - maintainers = with maintainers; [ + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ pierreis kylesferrazza ]; From 355eae10ef9909f6b69d203210680ce2c7d8e0e6 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:45:38 +0000 Subject: [PATCH 064/151] wangle: use `refs/tags/` --- pkgs/by-name/wa/wangle/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index cbb7d31f3621..9c7f3e278b15 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "facebook"; repo = "wangle"; - rev = "v${finalAttrs.version}"; + rev = "refs/tags/v${finalAttrs.version}"; sha256 = "sha256-fDtJ+9bZj+siKlMglYMkLO/+jldUmsS5V3Umk1gNdlo="; }; From 34fa0315d46ca13086db80d38564dac1fc9cf720 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:45:47 +0000 Subject: [PATCH 065/151] wangle: use `hash` --- pkgs/by-name/wa/wangle/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 9c7f3e278b15..b0984f9477fd 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "wangle"; rev = "refs/tags/v${finalAttrs.version}"; - sha256 = "sha256-fDtJ+9bZj+siKlMglYMkLO/+jldUmsS5V3Umk1gNdlo="; + hash = "sha256-fDtJ+9bZj+siKlMglYMkLO/+jldUmsS5V3Umk1gNdlo="; }; nativeBuildInputs = [ cmake ]; From 4a2ad7732b9f179c0878a9978bcf142e183abdf7 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:46:50 +0000 Subject: [PATCH 066/151] wangle: reorder attributes --- pkgs/by-name/wa/wangle/package.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index b0984f9477fd..1d3dd1c0bb3f 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -28,13 +28,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - cmakeDir = "../wangle"; - - cmakeFlags = [ - "-Wno-dev" - (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) - ]; - buildInputs = [ double-conversion @@ -50,10 +43,19 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; - doCheck = true; checkInputs = [ gtest ]; + + cmakeDir = "../wangle"; + + cmakeFlags = [ + "-Wno-dev" + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + ]; + + doCheck = true; + preCheck = let disabledTests = From c93b3ff59af12832f81deb4c191964dbd9009bcb Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:48:50 +0000 Subject: [PATCH 067/151] wangle: reorder inputs to match upstream file --- pkgs/by-name/wa/wangle/package.nix | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 1d3dd1c0bb3f..5ded3e1e70a3 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -1,18 +1,22 @@ { - stdenv, lib, + stdenv, + fetchFromGitHub, + cmake, - libevent, - double-conversion, + + folly, + fizz, + openssl, glog, gflags, - openssl, - fizz, - folly, - gtest, + libevent, + double-conversion, apple-sdk_11, darwinMinVersionHook, + + gtest, }: stdenv.mkDerivation (finalAttrs: { @@ -30,13 +34,13 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ - double-conversion - fizz folly + fizz + openssl glog gflags libevent - openssl + double-conversion ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 From 6ad10b9af58e9f1bcdde56ca4173595d33348ebc Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:02:08 +0000 Subject: [PATCH 068/151] wangle: remove unnecessary CMake flag No point silencing these warnings. --- pkgs/by-name/wa/wangle/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 5ded3e1e70a3..09ad82e55e56 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -54,7 +54,6 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../wangle"; cmakeFlags = [ - "-Wno-dev" (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; From 2477b3ee0172b87573f5610e06b6fd4169e34fa8 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:52:25 +0000 Subject: [PATCH 069/151] wangle: use Ninja --- pkgs/by-name/wa/wangle/package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 09ad82e55e56..3f4eeb65dcfe 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, cmake, + ninja, folly, fizz, @@ -30,7 +31,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-fDtJ+9bZj+siKlMglYMkLO/+jldUmsS5V3Umk1gNdlo="; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + ninja + ]; buildInputs = [ From ad8aa38bc71e64df8acfcf17d732e5a72bc2ad42 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 19:41:11 +0000 Subject: [PATCH 070/151] wangle: set `__darwinAllowLocalNetworking` --- pkgs/by-name/wa/wangle/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 3f4eeb65dcfe..1c778c65aad1 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -61,6 +61,8 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; + __darwinAllowLocalNetworking = true; + doCheck = true; preCheck = From 6ff98c69607f755a49773181761f0715aae8853d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:51:39 +0000 Subject: [PATCH 071/151] wangle: 2024.03.11.00 -> 2024.11.18.00 Diff: https://github.com/facebook/wangle/compare/refs/tags/v2024.03.11.00...v2024.11.18.00 --- pkgs/by-name/wa/wangle/package.nix | 50 ++++++++++++++++++------------ 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 1c778c65aad1..4e37062c3896 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "wangle"; - version = "2024.03.11.00"; + version = "2024.11.18.00"; src = fetchFromGitHub { owner = "facebook"; repo = "wangle"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-fDtJ+9bZj+siKlMglYMkLO/+jldUmsS5V3Umk1gNdlo="; + hash = "sha256-4mqE9GgJP2f7QAykwdhMFoReE9wmPKOXqSHJ2MHP2G0="; }; nativeBuildInputs = [ @@ -61,30 +61,40 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; + env.GTEST_FILTER = + "-" + + lib.concatStringsSep ":" ( + [ + # these depend on example pem files from the folly source tree (?) + "SSLContextManagerTest.TestSingleClientCAFileSet" + "SSLContextManagerTest.TestMultipleClientCAsSet" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # flaky + "BroadcastPoolTest.ThreadLocalPool" + "Bootstrap.UDPClientServerTest" + ] + ); + __darwinAllowLocalNetworking = true; doCheck = true; - preCheck = - let - disabledTests = - [ - # these depend on example pem files from the folly source tree (?) - "SSLContextManagerTest.TestSingleClientCAFileSet" - "SSLContextManagerTest.TestMultipleClientCAsSet" + checkPhase = '' + runHook preCheck - # https://github.com/facebook/wangle/issues/206 - "SSLContextManagerTest.TestSessionContextCertRemoval" + ctest -j $NIX_BUILD_CORES --output-on-failure ${ + # Deterministic glibc abort 🫠 + lib.optionalString stdenv.hostPlatform.isLinux ( + lib.escapeShellArgs [ + "--exclude-regex" + "^(BootstrapTest|BroadcastPoolTest)$" ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # flaky - "BroadcastPoolTest.ThreadLocalPool" - "Bootstrap.UDPClientServerTest" - ]; - in - '' - export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}" - ''; + ) + } + + runHook postCheck + ''; meta = { description = "Open-source C++ networking library"; From ade1eb00f9af7780c3254e434d047d78ca45b3c5 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:06:36 +0000 Subject: [PATCH 072/151] wangle: condition shared libraries on platform setting --- pkgs/by-name/wa/wangle/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 4e37062c3896..f20316fcccb8 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -58,6 +58,8 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../wangle"; cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; From 5205f55d4d0a46e33956d9732c2185afe70932d0 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:03:15 +0000 Subject: [PATCH 073/151] wangle: split outputs --- pkgs/by-name/wa/wangle/package.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index f20316fcccb8..ca3e7a6f285d 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -6,6 +6,7 @@ cmake, ninja, + removeReferencesTo, folly, fizz, @@ -24,6 +25,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "wangle"; version = "2024.11.18.00"; + outputs = [ + "out" + "dev" + ]; + src = fetchFromGitHub { owner = "facebook"; repo = "wangle"; @@ -34,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ninja + removeReferencesTo ]; buildInputs = @@ -61,6 +68,10 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + + (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include") + (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib") + (lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "dev"}/lib/cmake/wangle") ]; env.GTEST_FILTER = @@ -98,6 +109,18 @@ stdenv.mkDerivation (finalAttrs: { runHook postCheck ''; + postFixup = '' + # Sanitize header paths to avoid runtime dependencies leaking in + # through `__FILE__`. + ( + shopt -s globstar + for header in "$dev/include"/**/*.h; do + sed -i "1i#line 1 \"$header\"" "$header" + remove-references-to -t "$dev" "$header" + done + ) + ''; + meta = { description = "Open-source C++ networking library"; longDescription = '' From 762f456228f1373a898c9997476e5a80082e694a Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:07:00 +0000 Subject: [PATCH 074/151] wangle: add update script --- pkgs/by-name/wa/wangle/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index ca3e7a6f285d..3c0541749308 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -19,6 +19,8 @@ darwinMinVersionHook, gtest, + + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -121,6 +123,8 @@ stdenv.mkDerivation (finalAttrs: { ) ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Open-source C++ networking library"; longDescription = '' From 82c87506538ca969d57da9e18dec999edc8d3365 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:07:23 +0000 Subject: [PATCH 075/151] wangle: add emily to maintainers --- pkgs/by-name/wa/wangle/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 3c0541749308..4ff0b32a5ccb 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -138,6 +138,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ pierreis kylesferrazza + emily ]; }; }) From 17fe5480a108d9a25756be5792e21fffe330c4f5 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:16:21 +0000 Subject: [PATCH 076/151] wangle: add techknowlogick to maintainers --- pkgs/by-name/wa/wangle/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 4ff0b32a5ccb..356f479eab13 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -139,6 +139,7 @@ stdenv.mkDerivation (finalAttrs: { pierreis kylesferrazza emily + techknowlogick ]; }; }) From 1848967c016e020021deaf18efd54ca8ccbc5f20 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:55:27 +0000 Subject: [PATCH 077/151] fbthrift: format with `nixfmt-rfc-style` --- .../libraries/fbthrift/default.nix | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/pkgs/development/libraries/fbthrift/default.nix b/pkgs/development/libraries/fbthrift/default.nix index ad0173b458b4..b150283bb1cb 100644 --- a/pkgs/development/libraries/fbthrift/default.nix +++ b/pkgs/development/libraries/fbthrift/default.nix @@ -1,21 +1,22 @@ -{ stdenv -, fetchFromGitHub -, cmake -, bison -, libevent -, double-conversion -, fizz -, flex -, folly -, glog -, gflags -, libiberty -, mvfst -, openssl -, lib -, wangle -, zlib -, zstd +{ + stdenv, + fetchFromGitHub, + cmake, + bison, + libevent, + double-conversion, + fizz, + flex, + folly, + glog, + gflags, + libiberty, + mvfst, + openssl, + lib, + wangle, + zlib, + zstd, }: stdenv.mkDerivation rec { @@ -35,11 +36,13 @@ stdenv.mkDerivation rec { flex ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isDarwin then "OFF" else "ON"}" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isDarwin then "OFF" else "ON"}" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + ]; buildInputs = [ double-conversion @@ -62,6 +65,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/facebook/fbthrift"; license = licenses.asl20; platforms = platforms.unix; - maintainers = with maintainers; [ pierreis kylesferrazza ]; + maintainers = with maintainers; [ + pierreis + kylesferrazza + ]; }; } From 3a06e577d69e845ed472bd877955ad54e8be6bd7 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:56:04 +0000 Subject: [PATCH 078/151] fbthrift: convert to new Darwin SDK pattern --- .../libraries/fbthrift/default.nix | 39 ++++++++++--------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/pkgs/development/libraries/fbthrift/default.nix b/pkgs/development/libraries/fbthrift/default.nix index b150283bb1cb..818404c06b84 100644 --- a/pkgs/development/libraries/fbthrift/default.nix +++ b/pkgs/development/libraries/fbthrift/default.nix @@ -17,6 +17,8 @@ wangle, zlib, zstd, + apple-sdk_11, + darwinMinVersionHook, }: stdenv.mkDerivation rec { @@ -36,29 +38,30 @@ stdenv.mkDerivation rec { flex ]; - cmakeFlags = + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isDarwin then "OFF" else "ON"}" + ]; + + buildInputs = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isDarwin then "OFF" else "ON"}" + double-conversion + fizz + folly + glog + gflags + libevent + libiberty + mvfst + openssl + wangle + zlib + zstd ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + apple-sdk_11 + (darwinMinVersionHook "11.0") ]; - buildInputs = [ - double-conversion - fizz - folly - glog - gflags - libevent - libiberty - mvfst - openssl - wangle - zlib - zstd - ]; - meta = with lib; { description = "Facebook's branch of Apache Thrift"; mainProgram = "thrift1"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c6aa5f52f07a..339949e192dd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9242,7 +9242,7 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; - fbthrift = darwin.apple_sdk_11_0.callPackage ../development/libraries/fbthrift { }; + fbthrift = callPackage ../development/libraries/fbthrift { }; fb303 = darwin.apple_sdk_11_0.callPackage ../development/libraries/fb303 { }; From dddd67fced92a76eeed32bc47c7116df1fcac968 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:56:36 +0000 Subject: [PATCH 079/151] fbthrift: move to `pkgs/by-name` --- .../fbthrift/default.nix => by-name/fb/fbthrift/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/fbthrift/default.nix => by-name/fb/fbthrift/package.nix} (100%) diff --git a/pkgs/development/libraries/fbthrift/default.nix b/pkgs/by-name/fb/fbthrift/package.nix similarity index 100% rename from pkgs/development/libraries/fbthrift/default.nix rename to pkgs/by-name/fb/fbthrift/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 339949e192dd..98aede8ab945 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9242,8 +9242,6 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; - fbthrift = callPackage ../development/libraries/fbthrift { }; - fb303 = darwin.apple_sdk_11_0.callPackage ../development/libraries/fb303 { }; inherit (callPackage ../development/libraries/ffmpeg { }) From 548f1f7c35fa88b31ed1936395c04cc032a8f438 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:57:26 +0000 Subject: [PATCH 080/151] fbthrift: use `finalAttrs` --- pkgs/by-name/fb/fbthrift/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 818404c06b84..b0ebf0765943 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -21,14 +21,14 @@ darwinMinVersionHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "fbthrift"; version = "2024.03.11.00"; src = fetchFromGitHub { owner = "facebook"; repo = "fbthrift"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-iCiiKNDlfKm1Y4SGzcSP6o/OdiRRrj9UEawW6qpBpSY="; }; @@ -73,4 +73,4 @@ stdenv.mkDerivation rec { kylesferrazza ]; }; -} +}) From 9b67782a3fc04e4cfec4f51cfb8cc476a58771fc Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:57:32 +0000 Subject: [PATCH 081/151] fbthrift: remove `with lib;` --- pkgs/by-name/fb/fbthrift/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index b0ebf0765943..367bb2f9beb8 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -62,13 +62,13 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; - meta = with lib; { + meta = { description = "Facebook's branch of Apache Thrift"; mainProgram = "thrift1"; homepage = "https://github.com/facebook/fbthrift"; - license = licenses.asl20; - platforms = platforms.unix; - maintainers = with maintainers; [ + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ pierreis kylesferrazza ]; From cf3fde892c97026d00eb23767f765fa157c4ed38 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:57:59 +0000 Subject: [PATCH 082/151] fbthrift: use `refs/tags/` --- pkgs/by-name/fb/fbthrift/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 367bb2f9beb8..d17de9fb049f 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "facebook"; repo = "fbthrift"; - rev = "v${finalAttrs.version}"; + rev = "refs/tags/v${finalAttrs.version}"; sha256 = "sha256-iCiiKNDlfKm1Y4SGzcSP6o/OdiRRrj9UEawW6qpBpSY="; }; From 33fe8a6aff7a8c3deaaa49af78859b5bc64a4197 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:58:12 +0000 Subject: [PATCH 083/151] fbthrift: use `hash` --- pkgs/by-name/fb/fbthrift/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index d17de9fb049f..ee0a5cedc979 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "fbthrift"; rev = "refs/tags/v${finalAttrs.version}"; - sha256 = "sha256-iCiiKNDlfKm1Y4SGzcSP6o/OdiRRrj9UEawW6qpBpSY="; + hash = "sha256-iCiiKNDlfKm1Y4SGzcSP6o/OdiRRrj9UEawW6qpBpSY="; }; nativeBuildInputs = [ From 19f009b3aad9b68e968a02acfa30620db367a39b Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:00:46 +0000 Subject: [PATCH 084/151] fbthrift: reorder attributes --- pkgs/by-name/fb/fbthrift/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index ee0a5cedc979..c1f330335e53 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -38,10 +38,6 @@ stdenv.mkDerivation (finalAttrs: { flex ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isDarwin then "OFF" else "ON"}" - ]; - buildInputs = [ double-conversion @@ -62,6 +58,10 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isDarwin then "OFF" else "ON"}" + ]; + meta = { description = "Facebook's branch of Apache Thrift"; mainProgram = "thrift1"; From 26008b4611d77bb9e3d3726f758604cfd9975365 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:58:20 +0000 Subject: [PATCH 085/151] fbthrift: reorder inputs to match upstream file --- pkgs/by-name/fb/fbthrift/package.nix | 39 ++++++++++++++++------------ 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index c1f330335e53..7a6189585ad4 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -1,22 +1,26 @@ { + lib, stdenv, + fetchFromGitHub, + cmake, bison, - libevent, - double-conversion, - fizz, flex, - folly, - glog, - gflags, - libiberty, - mvfst, + openssl, - lib, + gflags, + glog, + folly, + fizz, wangle, zlib, zstd, + mvfst, + double-conversion, + libevent, + libiberty, + libsodium, apple-sdk_11, darwinMinVersionHook, }: @@ -40,18 +44,19 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ - double-conversion - fizz - folly - glog - gflags - libevent - libiberty - mvfst openssl + gflags + glog + folly + fizz wangle zlib zstd + mvfst + double-conversion + libevent + libiberty + libsodium ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 From c55b18d9158c6c163e5e5df2499e2445bdd9cf46 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 00:40:35 +0000 Subject: [PATCH 086/151] fbthrift: remove unnecessary inputs --- pkgs/by-name/fb/fbthrift/package.nix | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 7a6189585ad4..084aa87c6659 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -5,8 +5,6 @@ fetchFromGitHub, cmake, - bison, - flex, openssl, gflags, @@ -17,10 +15,6 @@ zlib, zstd, mvfst, - double-conversion, - libevent, - libiberty, - libsodium, apple-sdk_11, darwinMinVersionHook, }: @@ -38,8 +32,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake - bison - flex ]; buildInputs = @@ -53,10 +45,6 @@ stdenv.mkDerivation (finalAttrs: { zlib zstd mvfst - double-conversion - libevent - libiberty - libsodium ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 From fcf3d5262ce1ae625bf374c6d2f64dfa77ecf087 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:02:41 +0000 Subject: [PATCH 087/151] fbthrift: use Ninja --- pkgs/by-name/fb/fbthrift/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 084aa87c6659..ea531d7978f6 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, cmake, + ninja, openssl, gflags, @@ -32,6 +33,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake + ninja ]; buildInputs = From dc60c66359534f5f69ab126974b05d8b71f6271d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:01:47 +0000 Subject: [PATCH 088/151] fbthrift: 2024.03.11.00 -> 2024.11.11.00 We need to explicitly disable the Python bindings now. Diff: https://github.com/facebook/fbthrift/compare/refs/tags/v2024.03.18.00...v2024.11.18.00 --- pkgs/by-name/fb/fbthrift/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index ea531d7978f6..801c1b1dc588 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -15,6 +15,7 @@ wangle, zlib, zstd, + xxHash, mvfst, apple-sdk_11, darwinMinVersionHook, @@ -22,13 +23,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "fbthrift"; - version = "2024.03.11.00"; + version = "2024.11.18.00"; src = fetchFromGitHub { owner = "facebook"; repo = "fbthrift"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-iCiiKNDlfKm1Y4SGzcSP6o/OdiRRrj9UEawW6qpBpSY="; + hash = "sha256-dJf4vaIcat24WiKLFNEqeCnJYiO+c5YkuFu+hrS6cPE="; }; nativeBuildInputs = [ @@ -46,6 +47,7 @@ stdenv.mkDerivation (finalAttrs: { wangle zlib zstd + xxHash mvfst ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ @@ -55,6 +57,8 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isDarwin then "OFF" else "ON"}" + + (lib.cmakeBool "thriftpy" false) ]; meta = { From 3bdc69269d392026f6c25ad136f709e12e8d1a8c Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 19:41:11 +0000 Subject: [PATCH 089/151] fbthrift: condition shared libraries on platform setting --- pkgs/by-name/fb/fbthrift/package.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 801c1b1dc588..fcfc8d8ffdf3 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -55,11 +55,17 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isDarwin then "OFF" else "ON"}" + cmakeFlags = + [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) - (lib.cmakeBool "thriftpy" false) - ]; + (lib.cmakeBool "thriftpy" false) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Homebrew sets this, and the shared library build fails without + # it. I don‘t know, either. It scares me. + (lib.cmakeFeature "CMAKE_SHARED_LINKER_FLAGS" "-Wl,-undefined,dynamic_lookup") + ]; meta = { description = "Facebook's branch of Apache Thrift"; From 3dd6e0e71a23a91aaf1f846ef487f6a0e59bc69e Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 17:14:38 +0000 Subject: [PATCH 090/151] fbthrift: propagate required dependencies --- pkgs/by-name/fb/fbthrift/package.nix | 8 ++++++-- pkgs/development/libraries/fb303/default.nix | 2 -- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index fcfc8d8ffdf3..f7a5d630ff12 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -16,9 +16,10 @@ zlib, zstd, xxHash, - mvfst, apple-sdk_11, darwinMinVersionHook, + + mvfst, }: stdenv.mkDerivation (finalAttrs: { @@ -48,13 +49,16 @@ stdenv.mkDerivation (finalAttrs: { zlib zstd xxHash - mvfst ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 (darwinMinVersionHook "11.0") ]; + propagatedBuildInputs = [ + mvfst + ]; + cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) diff --git a/pkgs/development/libraries/fb303/default.nix b/pkgs/development/libraries/fb303/default.nix index 5236e07b77d3..f77979a51e6a 100644 --- a/pkgs/development/libraries/fb303/default.nix +++ b/pkgs/development/libraries/fb303/default.nix @@ -6,7 +6,6 @@ , fizz , folly , glog -, mvfst , python3 , wangle }: @@ -34,7 +33,6 @@ stdenv.mkDerivation rec { fizz folly glog - mvfst python3 wangle ]; From acf1c72bfceec7572b7043dd42abee0bf76dfa16 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 19:41:11 +0000 Subject: [PATCH 091/151] fbthrift: add note about tests --- pkgs/by-name/fb/fbthrift/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index f7a5d630ff12..ebc8f5c688cd 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -20,6 +20,7 @@ darwinMinVersionHook, mvfst, + }: stdenv.mkDerivation (finalAttrs: { @@ -64,6 +65,10 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) (lib.cmakeBool "thriftpy" false) + + # TODO: Can’t figure out where the C++ tests are wired up in the + # CMake build, if anywhere, and this requires Python. + #(lib.cmakeBool "enable_tests" finalAttrs.finalPackage.doCheck) ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Homebrew sets this, and the shared library build fails without From 7699884b844f330209eccd18906f90e1b95405e8 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:07:56 +0000 Subject: [PATCH 092/151] fbthrift: split outputs --- pkgs/by-name/fb/fbthrift/package.nix | 33 +++++++++++++++++++ .../fbthrift/remove-cmake-install-rpath.patch | 12 +++++++ 2 files changed, 45 insertions(+) create mode 100644 pkgs/by-name/fb/fbthrift/remove-cmake-install-rpath.patch diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index ebc8f5c688cd..bbebf9b1c207 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -6,6 +6,7 @@ cmake, ninja, + removeReferencesTo, openssl, gflags, @@ -27,6 +28,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "fbthrift"; version = "2024.11.18.00"; + outputs = [ + # Trying to split this up further into `bin`, `out`, and `dev` + # causes issues with circular references due to the installed CMake + # files referencing the path to the compiler. + "out" + "lib" + ]; + src = fetchFromGitHub { owner = "facebook"; repo = "fbthrift"; @@ -34,9 +43,16 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-dJf4vaIcat24WiKLFNEqeCnJYiO+c5YkuFu+hrS6cPE="; }; + patches = [ + # Remove a line that breaks the build due to the CMake classic of + # incorrect path concatenation. + ./remove-cmake-install-rpath.patch + ]; + nativeBuildInputs = [ cmake ninja + removeReferencesTo ]; buildInputs = @@ -69,6 +85,11 @@ stdenv.mkDerivation (finalAttrs: { # TODO: Can’t figure out where the C++ tests are wired up in the # CMake build, if anywhere, and this requires Python. #(lib.cmakeBool "enable_tests" finalAttrs.finalPackage.doCheck) + + (lib.cmakeFeature "BIN_INSTALL_DIR" "${placeholder "out"}/bin") + (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "out"}/include") + (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "lib"}/lib") + (lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "out"}/lib/cmake/fbthrift") ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Homebrew sets this, and the shared library build fails without @@ -76,6 +97,18 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "CMAKE_SHARED_LINKER_FLAGS" "-Wl,-undefined,dynamic_lookup") ]; + postFixup = '' + # Sanitize header paths to avoid runtime dependencies leaking in + # through `__FILE__`. + ( + shopt -s globstar + for header in "$out/include"/**/*.h; do + sed -i "1i#line 1 \"$header\"" "$header" + remove-references-to -t "$out" "$header" + done + ) + ''; + meta = { description = "Facebook's branch of Apache Thrift"; mainProgram = "thrift1"; diff --git a/pkgs/by-name/fb/fbthrift/remove-cmake-install-rpath.patch b/pkgs/by-name/fb/fbthrift/remove-cmake-install-rpath.patch new file mode 100644 index 000000000000..84271ca24697 --- /dev/null +++ b/pkgs/by-name/fb/fbthrift/remove-cmake-install-rpath.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c6b2b2a810..497dcd3d94 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,7 +39,6 @@ + set(CMAKE_INSTALL_DIR lib/cmake/fbthrift CACHE STRING + "The subdirectory where CMake package config files should be installed") + +-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}") + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + + # Add root dir so qualified includes work, e.g. #include "thrift/compiler/*.h". From 814fc8dcf101a837ea262631438075abcf4d575c Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:08:44 +0000 Subject: [PATCH 093/151] fbthrift: add update script --- pkgs/by-name/fb/fbthrift/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index bbebf9b1c207..c8e3360efcbd 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -22,6 +22,7 @@ mvfst, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -109,6 +110,8 @@ stdenv.mkDerivation (finalAttrs: { ) ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Facebook's branch of Apache Thrift"; mainProgram = "thrift1"; From 0293bf6af5f73272e792a07484a25453b0a7c68c Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:09:17 +0000 Subject: [PATCH 094/151] fbthrift: add emily to maintainers --- pkgs/by-name/fb/fbthrift/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index c8e3360efcbd..46373343695a 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -121,6 +121,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ pierreis kylesferrazza + emily ]; }; }) From 143f253756ca08f80e47c3e411c38cc16606ce9c Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:16:03 +0000 Subject: [PATCH 095/151] fbthrift: add techknowlogick to maintainers --- pkgs/by-name/fb/fbthrift/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 46373343695a..a189e7a66a93 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -122,6 +122,7 @@ stdenv.mkDerivation (finalAttrs: { pierreis kylesferrazza emily + techknowlogick ]; }; }) From 6582129eab3c3d58081106ca000bbbe96a2d4091 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:28:01 +0000 Subject: [PATCH 096/151] fb303: format with `nixfmt-rfc-style` --- pkgs/development/libraries/fb303/default.nix | 33 +++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/pkgs/development/libraries/fb303/default.nix b/pkgs/development/libraries/fb303/default.nix index f77979a51e6a..bedd96f9d59c 100644 --- a/pkgs/development/libraries/fb303/default.nix +++ b/pkgs/development/libraries/fb303/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, fbthrift -, fizz -, folly -, glog -, python3 -, wangle +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + fbthrift, + fizz, + folly, + glog, + python3, + wangle, }: stdenv.mkDerivation rec { @@ -22,11 +23,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - cmakeFlags = [ - "-DPYTHON_EXTENSIONS=OFF" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; + cmakeFlags = + [ + "-DPYTHON_EXTENSIONS=OFF" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + ]; buildInputs = [ fbthrift From 87a7353f0c9ef56525c290ad50fe1d2b4e4bfa84 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:28:33 +0000 Subject: [PATCH 097/151] fb303: convert to new Darwin SDK pattern --- pkgs/development/libraries/fb303/default.nix | 27 +++++++++++--------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/fb303/default.nix b/pkgs/development/libraries/fb303/default.nix index bedd96f9d59c..14353bc4b5ee 100644 --- a/pkgs/development/libraries/fb303/default.nix +++ b/pkgs/development/libraries/fb303/default.nix @@ -9,6 +9,8 @@ glog, python3, wangle, + apple-sdk_11, + darwinMinVersionHook, }: stdenv.mkDerivation rec { @@ -23,23 +25,24 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - cmakeFlags = + cmakeFlags = [ + "-DPYTHON_EXTENSIONS=OFF" + ]; + + buildInputs = [ - "-DPYTHON_EXTENSIONS=OFF" + fbthrift + fizz + folly + glog + python3 + wangle ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + apple-sdk_11 + (darwinMinVersionHook "11.0") ]; - buildInputs = [ - fbthrift - fizz - folly - glog - python3 - wangle - ]; - meta = with lib; { description = "Base Thrift service and a common set of functionality for querying stats, options, and other information from a service"; homepage = "https://github.com/facebook/fb303"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 98aede8ab945..76474355a4c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9242,7 +9242,7 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; - fb303 = darwin.apple_sdk_11_0.callPackage ../development/libraries/fb303 { }; + fb303 = callPackage ../development/libraries/fb303 { }; inherit (callPackage ../development/libraries/ffmpeg { }) ffmpeg_4 From be97ac3fe63710b41b15a95fb7aff75fb1627f00 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:29:09 +0000 Subject: [PATCH 098/151] fb303: move to `pkgs/by-name` --- .../fb303/default.nix => by-name/fb/fb303/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/fb303/default.nix => by-name/fb/fb303/package.nix} (100%) diff --git a/pkgs/development/libraries/fb303/default.nix b/pkgs/by-name/fb/fb303/package.nix similarity index 100% rename from pkgs/development/libraries/fb303/default.nix rename to pkgs/by-name/fb/fb303/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 76474355a4c0..d7689f27314d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9242,8 +9242,6 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; - fb303 = callPackage ../development/libraries/fb303 { }; - inherit (callPackage ../development/libraries/ffmpeg { }) ffmpeg_4 ffmpeg_4-headless From 3c20ddd66d335c2186a229d233c462d2c568435d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:29:38 +0000 Subject: [PATCH 099/151] fb303: use `finalAttrs` --- pkgs/by-name/fb/fb303/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 14353bc4b5ee..bac97c6ec253 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -13,14 +13,14 @@ darwinMinVersionHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "fb303"; version = "2024.03.11.00"; src = fetchFromGitHub { owner = "facebook"; repo = "fb303"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-Jtztb8CTqvRdRjUa3jaouP5PFAwoM4rKLIfgvOyXUIg="; }; @@ -50,4 +50,4 @@ stdenv.mkDerivation rec { platforms = platforms.unix; maintainers = with maintainers; [ kylesferrazza ]; }; -} +}) From fa9cad876b6bfbfcf50974a9f5deafa267abf532 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:29:56 +0000 Subject: [PATCH 100/151] fb303: remove `with lib;` --- pkgs/by-name/fb/fb303/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index bac97c6ec253..a87d0a5a7fd1 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -43,11 +43,11 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; - meta = with lib; { + meta = { description = "Base Thrift service and a common set of functionality for querying stats, options, and other information from a service"; homepage = "https://github.com/facebook/fb303"; - license = licenses.asl20; - platforms = platforms.unix; - maintainers = with maintainers; [ kylesferrazza ]; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ kylesferrazza ]; }; }) From 29125310cc32a1b10886559f7029f3e00e05317d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:30:07 +0000 Subject: [PATCH 101/151] fb303: use `refs/tags/` --- pkgs/by-name/fb/fb303/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index a87d0a5a7fd1..754da5f1c832 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "facebook"; repo = "fb303"; - rev = "v${finalAttrs.version}"; + rev = "refs/tags/v${finalAttrs.version}"; sha256 = "sha256-Jtztb8CTqvRdRjUa3jaouP5PFAwoM4rKLIfgvOyXUIg="; }; From 5be8fbd184ebd0466e7de166ae8313508183bcad Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:30:14 +0000 Subject: [PATCH 102/151] fb303: use `hash` --- pkgs/by-name/fb/fb303/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 754da5f1c832..0cc8ccd7f6d3 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "fb303"; rev = "refs/tags/v${finalAttrs.version}"; - sha256 = "sha256-Jtztb8CTqvRdRjUa3jaouP5PFAwoM4rKLIfgvOyXUIg="; + hash = "sha256-Jtztb8CTqvRdRjUa3jaouP5PFAwoM4rKLIfgvOyXUIg="; }; nativeBuildInputs = [ cmake ]; From 025d0edf867c5f33192977756dd49196cb66c7bb Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:43:14 +0000 Subject: [PATCH 103/151] fb303: reorder attributes --- pkgs/by-name/fb/fb303/package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 0cc8ccd7f6d3..3d3cc2a4f3fc 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -25,9 +25,6 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ cmake ]; - cmakeFlags = [ - "-DPYTHON_EXTENSIONS=OFF" - ]; buildInputs = [ @@ -43,6 +40,10 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; + cmakeFlags = [ + "-DPYTHON_EXTENSIONS=OFF" + ]; + meta = { description = "Base Thrift service and a common set of functionality for querying stats, options, and other information from a service"; homepage = "https://github.com/facebook/fb303"; From ef6c8fc06f3590ab7953776e3a36c39d492dde20 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:33:42 +0000 Subject: [PATCH 104/151] fb303: reorder inputs to match upstream file --- pkgs/by-name/fb/fb303/package.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 3d3cc2a4f3fc..a3fdf927a78c 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -1,14 +1,17 @@ { - stdenv, lib, + stdenv, + fetchFromGitHub, + cmake, + + glog, + folly, fbthrift, fizz, - folly, - glog, - python3, wangle, + python3, apple-sdk_11, darwinMinVersionHook, }: @@ -28,12 +31,12 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ + glog + folly fbthrift fizz - folly - glog - python3 wangle + python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 From 01b30ede829a6a794f164085a4974dc80bf2b5de Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:55:43 +0000 Subject: [PATCH 105/151] fb303: add explicit `gflags` input --- pkgs/by-name/fb/fb303/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index a3fdf927a78c..8c5c45da94da 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -6,6 +6,7 @@ cmake, + gflags, glog, folly, fbthrift, @@ -31,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ + gflags glog folly fbthrift From f7efb7b813c2d2a322b719783366d13c0b59dbaa Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:50:50 +0000 Subject: [PATCH 106/151] fb303: remove `python3` input --- pkgs/by-name/fb/fb303/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 8c5c45da94da..18e0ea7c784c 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -12,7 +12,6 @@ fbthrift, fizz, wangle, - python3, apple-sdk_11, darwinMinVersionHook, }: @@ -38,7 +37,6 @@ stdenv.mkDerivation (finalAttrs: { fbthrift fizz wangle - python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 From 068ceb04d027ed8bc84c9de23406c5dc4cb814e6 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:56:45 +0000 Subject: [PATCH 107/151] fb303: use `lib.cmakeBool` --- pkgs/by-name/fb/fb303/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 18e0ea7c784c..4d3ab9a124a5 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - "-DPYTHON_EXTENSIONS=OFF" + (lib.cmakeBool "PYTHON_EXTENSIONS" false) ]; meta = { From 2801ca739a90ed2bda06bd43f9a0b9a88cd3b27b Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:43:30 +0000 Subject: [PATCH 108/151] fb303: use Ninja --- pkgs/by-name/fb/fb303/package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 4d3ab9a124a5..6feea1b164ca 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, cmake, + ninja, gflags, glog, @@ -27,7 +28,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Jtztb8CTqvRdRjUa3jaouP5PFAwoM4rKLIfgvOyXUIg="; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + ninja + ]; buildInputs = [ From 633f8f77b23351f1d19494f2f2cc56e79f5e4285 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:38:02 +0000 Subject: [PATCH 109/151] fb303: 2024.03.11.00 -> 2024.11.18.00 Diff: https://github.com/facebook/fb303/compare/refs/tags/v2024.03.11.00...v2024.11.18.00 --- pkgs/by-name/fb/fb303/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 6feea1b164ca..deba3e32062b 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "fb303"; - version = "2024.03.11.00"; + version = "2024.11.18.00"; src = fetchFromGitHub { owner = "facebook"; repo = "fb303"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-Jtztb8CTqvRdRjUa3jaouP5PFAwoM4rKLIfgvOyXUIg="; + hash = "sha256-3zQLX42qeOE2bbFmu4Kuvu0Fvq2mBq8YgkVGpyfwaak="; }; nativeBuildInputs = [ From 72f24cc2938db98b238d58c6445d61b3f2b65a67 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:11:55 +0000 Subject: [PATCH 110/151] fb303: condition shared libraries on platform setting --- pkgs/by-name/fb/fb303/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index deba3e32062b..9448e55e0006 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -48,6 +48,10 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + + (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) + (lib.cmakeBool "PYTHON_EXTENSIONS" false) ]; From 79dc5a8b54c7e7149674fd1d4348c8dd412119f9 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:13:56 +0000 Subject: [PATCH 111/151] fb303: split outputs --- pkgs/by-name/fb/fb303/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 9448e55e0006..9abc57b12244 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -21,6 +21,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "fb303"; version = "2024.11.18.00"; + outputs = [ + "out" + "dev" + ]; + src = fetchFromGitHub { owner = "facebook"; repo = "fb303"; @@ -53,6 +58,11 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) (lib.cmakeBool "PYTHON_EXTENSIONS" false) + + (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include") + (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib") + (lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "dev"}/lib/cmake/fb303") + (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev")) ]; meta = { From 172efded7a0b48e6daf1ad0f3c7c1ec676b525ee Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:14:16 +0000 Subject: [PATCH 112/151] fb303: add update script --- pkgs/by-name/fb/fb303/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 9abc57b12244..61076ec6455c 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -15,6 +15,8 @@ wangle, apple-sdk_11, darwinMinVersionHook, + + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -65,6 +67,8 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev")) ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Base Thrift service and a common set of functionality for querying stats, options, and other information from a service"; homepage = "https://github.com/facebook/fb303"; From d4b587f878193665d7cb259559e85531f1d4c235 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:14:34 +0000 Subject: [PATCH 113/151] fb303: add emily to maintainers --- pkgs/by-name/fb/fb303/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 61076ec6455c..1ae59ed1daee 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -74,6 +74,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/facebook/fb303"; license = lib.licenses.asl20; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ kylesferrazza ]; + maintainers = with lib.maintainers; [ + kylesferrazza + emily + ]; }; }) From c9719114fd9fc85f7123dc873140f43d08b45bab Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:15:48 +0000 Subject: [PATCH 114/151] fb303: add techknowlogick to maintainers --- pkgs/by-name/fb/fb303/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 1ae59ed1daee..b03e66eb861c 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -77,6 +77,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ kylesferrazza emily + techknowlogick ]; }; }) From c20f3875247fe88fc3a6f013688302b74197bef3 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:03:21 +0000 Subject: [PATCH 115/151] edencommon: format with `nixfmt-rfc-style` --- pkgs/development/libraries/edencommon/default.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/edencommon/default.nix b/pkgs/development/libraries/edencommon/default.nix index 9abd387a9d92..ef930814e021 100644 --- a/pkgs/development/libraries/edencommon/default.nix +++ b/pkgs/development/libraries/edencommon/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, folly -, glog -, gtest +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + folly, + glog, + gtest, }: stdenv.mkDerivation rec { From 3c14c26a35418f54f3ec3f1d767a92de8fdb5341 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:03:57 +0000 Subject: [PATCH 116/151] edencommon: convert to new Darwin SDK pattern --- .../libraries/edencommon/default.nix | 21 +++++++++++-------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/edencommon/default.nix b/pkgs/development/libraries/edencommon/default.nix index ef930814e021..d9f659e24191 100644 --- a/pkgs/development/libraries/edencommon/default.nix +++ b/pkgs/development/libraries/edencommon/default.nix @@ -6,6 +6,8 @@ folly, glog, gtest, + apple-sdk_11, + darwinMinVersionHook, }: stdenv.mkDerivation rec { @@ -26,15 +28,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; - - buildInputs = [ - glog - folly - gtest - ]; + buildInputs = + [ + glog + folly + gtest + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + (darwinMinVersionHook "11.0") + ]; meta = with lib; { description = "Shared library for Meta's source control filesystem tools (EdenFS and Watchman)"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d7689f27314d..c67205d9ffd1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9196,7 +9196,7 @@ with pkgs; stdenv = if stdenv.hostPlatform.isDarwin then gccStdenv else stdenv; }; - edencommon = darwin.apple_sdk_11_0.callPackage ../development/libraries/edencommon { }; + edencommon = callPackage ../development/libraries/edencommon { }; eigen = callPackage ../development/libraries/eigen { }; From aa5a90ed1d4a113bfd74e62685df4892dc6912db Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:04:23 +0000 Subject: [PATCH 117/151] edencommon: move to `pkgs/by-name` --- .../ed}/edencommon/increase-test-discovery-timeout.patch | 0 .../default.nix => by-name/ed/edencommon/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 2 deletions(-) rename pkgs/{development/libraries => by-name/ed}/edencommon/increase-test-discovery-timeout.patch (100%) rename pkgs/{development/libraries/edencommon/default.nix => by-name/ed/edencommon/package.nix} (100%) diff --git a/pkgs/development/libraries/edencommon/increase-test-discovery-timeout.patch b/pkgs/by-name/ed/edencommon/increase-test-discovery-timeout.patch similarity index 100% rename from pkgs/development/libraries/edencommon/increase-test-discovery-timeout.patch rename to pkgs/by-name/ed/edencommon/increase-test-discovery-timeout.patch diff --git a/pkgs/development/libraries/edencommon/default.nix b/pkgs/by-name/ed/edencommon/package.nix similarity index 100% rename from pkgs/development/libraries/edencommon/default.nix rename to pkgs/by-name/ed/edencommon/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c67205d9ffd1..1b8e47dc8c13 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9196,8 +9196,6 @@ with pkgs; stdenv = if stdenv.hostPlatform.isDarwin then gccStdenv else stdenv; }; - edencommon = callPackage ../development/libraries/edencommon { }; - eigen = callPackage ../development/libraries/eigen { }; eigen2 = callPackage ../development/libraries/eigen/2.0.nix { }; From a82596414267f3cba069337b2c8597b1547a53cd Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:04:50 +0000 Subject: [PATCH 118/151] edencommon: use `finalAttrs` --- pkgs/by-name/ed/edencommon/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index d9f659e24191..3cb4ff8d75b7 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -10,14 +10,14 @@ darwinMinVersionHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "edencommon"; version = "2024.03.11.00"; src = fetchFromGitHub { owner = "facebookexperimental"; repo = "edencommon"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-1z4QicS98juv4bUEbHBkCjVJHEhnoJyLYp4zMHmDbMg="; }; @@ -46,4 +46,4 @@ stdenv.mkDerivation rec { platforms = platforms.unix; maintainers = with maintainers; [ kylesferrazza ]; }; -} +}) From 171a5474ac2c3b8e520be6b3c5fa2d1dcd0cd325 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:04:58 +0000 Subject: [PATCH 119/151] edencommon: remove `with lib;` --- pkgs/by-name/ed/edencommon/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 3cb4ff8d75b7..7152ef1eb9e2 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -39,11 +39,11 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; - meta = with lib; { + meta = { description = "Shared library for Meta's source control filesystem tools (EdenFS and Watchman)"; homepage = "https://github.com/facebookexperimental/edencommon"; - license = licenses.mit; - platforms = platforms.unix; - maintainers = with maintainers; [ kylesferrazza ]; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ kylesferrazza ]; }; }) From eb86332558fed372ff758b4466012a2fe6cb24a7 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:05:13 +0000 Subject: [PATCH 120/151] edencommon: use `refs/tags/` --- pkgs/by-name/ed/edencommon/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 7152ef1eb9e2..837ebef07486 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "facebookexperimental"; repo = "edencommon"; - rev = "v${finalAttrs.version}"; + rev = "refs/tags/v${finalAttrs.version}"; sha256 = "sha256-1z4QicS98juv4bUEbHBkCjVJHEhnoJyLYp4zMHmDbMg="; }; From d26d7a195ee0570b72f2e3267a9e8df5f4ee5be8 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:05:22 +0000 Subject: [PATCH 121/151] edencommon: use `hash` --- pkgs/by-name/ed/edencommon/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 837ebef07486..1f9aa59bcf34 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebookexperimental"; repo = "edencommon"; rev = "refs/tags/v${finalAttrs.version}"; - sha256 = "sha256-1z4QicS98juv4bUEbHBkCjVJHEhnoJyLYp4zMHmDbMg="; + hash = "sha256-1z4QicS98juv4bUEbHBkCjVJHEhnoJyLYp4zMHmDbMg="; }; patches = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ From 7e35f7f5bb495607c624b299d6d0c04f32471006 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:06:48 +0000 Subject: [PATCH 122/151] edencommon: reorder inputs to match upstream file --- pkgs/by-name/ed/edencommon/package.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 1f9aa59bcf34..59db7256def5 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -1,10 +1,13 @@ { - stdenv, lib, + stdenv, + fetchFromGitHub, + cmake, - folly, + glog, + folly, gtest, apple-sdk_11, darwinMinVersionHook, From 2de2d0fad8f21742a342099420f999a519b1070e Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:33:48 +0000 Subject: [PATCH 123/151] edencommon: add explicit `gflags` dependency --- pkgs/by-name/ed/edencommon/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 59db7256def5..9b977f6d7ab0 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -7,6 +7,7 @@ cmake, glog, + gflags, folly, gtest, apple-sdk_11, @@ -34,6 +35,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ glog + gflags folly gtest ] From 66a2ebb46d081620dc8ca55bf800136808ba4e62 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:10:48 +0000 Subject: [PATCH 124/151] edencommon: use Ninja --- pkgs/by-name/ed/edencommon/package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 9b977f6d7ab0..0fef1acdb9a2 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, cmake, + ninja, glog, gflags, @@ -30,7 +31,10 @@ stdenv.mkDerivation (finalAttrs: { ./increase-test-discovery-timeout.patch ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + ninja + ]; buildInputs = [ From 509f33b9956bcd33db149b8e4a957a1d0bad9079 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:07:49 +0000 Subject: [PATCH 125/151] edencommon: 2024.03.11.00 -> 2024.11.18.00 Diff: https://github.com/facebookexperimental/edencommon/compare/refs/tags/v2024.03.11.00...v2024.11.18.00 --- pkgs/by-name/ed/edencommon/package.nix | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 0fef1acdb9a2..44c2ad509db9 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -10,6 +10,9 @@ glog, gflags, folly, + fb303, + wangle, + fbthrift, gtest, apple-sdk_11, darwinMinVersionHook, @@ -17,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "edencommon"; - version = "2024.03.11.00"; + version = "2024.11.18.00"; src = fetchFromGitHub { owner = "facebookexperimental"; repo = "edencommon"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-1z4QicS98juv4bUEbHBkCjVJHEhnoJyLYp4zMHmDbMg="; + hash = "sha256-pVPkH80vowdpwWv/h6ovEk335OeI6/0k0cAFhhFqSDM="; }; patches = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ @@ -41,6 +44,9 @@ stdenv.mkDerivation (finalAttrs: { glog gflags folly + fb303 + wangle + fbthrift gtest ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ @@ -48,6 +54,16 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; + postPatch = '' + # The CMake build requires the FBThrift Python support even though + # it’s not used, presumably because of the relevant code having + # been moved in from another repository. + substituteInPlace CMakeLists.txt \ + --replace-fail \ + 'find_package(FBThrift CONFIG REQUIRED COMPONENTS cpp2 py)' \ + 'find_package(FBThrift CONFIG REQUIRED COMPONENTS cpp2)' + ''; + meta = { description = "Shared library for Meta's source control filesystem tools (EdenFS and Watchman)"; homepage = "https://github.com/facebookexperimental/edencommon"; From c8d4e11d1ce49ed6dcb5edb4ee2c583a38aff428 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:16:01 +0000 Subject: [PATCH 126/151] edencommon: condition shared libraries on platform setting --- pkgs/by-name/ed/edencommon/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 44c2ad509db9..d998f5bc3d01 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -54,6 +54,12 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; + cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + + (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) + ]; + postPatch = '' # The CMake build requires the FBThrift Python support even though # it’s not used, presumably because of the relevant code having From d7df60e8f45e7b8f4eb7fe31376b108def2ea888 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:17:36 +0000 Subject: [PATCH 127/151] edencommon: enable tests --- pkgs/by-name/ed/edencommon/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index d998f5bc3d01..0f2ad5884570 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -60,6 +60,8 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) ]; + doCheck = true; + postPatch = '' # The CMake build requires the FBThrift Python support even though # it’s not used, presumably because of the relevant code having From 7da9ef3eb4db25e5082db30293a98b0a4dd3b9a3 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:18:11 +0000 Subject: [PATCH 128/151] edencommon: split outputs --- pkgs/by-name/ed/edencommon/package.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 0f2ad5884570..6a812e4ada65 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -6,6 +6,7 @@ cmake, ninja, + removeReferencesTo, glog, gflags, @@ -22,6 +23,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "edencommon"; version = "2024.11.18.00"; + outputs = [ + "out" + "dev" + ]; + src = fetchFromGitHub { owner = "facebookexperimental"; repo = "edencommon"; @@ -37,6 +43,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ninja + removeReferencesTo ]; buildInputs = @@ -58,6 +65,10 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) + + (lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include") + (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib") + (lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "dev"}/lib/cmake/edencommon") ]; doCheck = true; @@ -72,6 +83,18 @@ stdenv.mkDerivation (finalAttrs: { 'find_package(FBThrift CONFIG REQUIRED COMPONENTS cpp2)' ''; + postFixup = '' + # Sanitize header paths to avoid runtime dependencies leaking in + # through `__FILE__`. + ( + shopt -s globstar + for header in "$dev/include"/**/*.h; do + sed -i "1i#line 1 \"$header\"" "$header" + remove-references-to -t "$dev" "$header" + done + ) + ''; + meta = { description = "Shared library for Meta's source control filesystem tools (EdenFS and Watchman)"; homepage = "https://github.com/facebookexperimental/edencommon"; From c7b019d5f7ef6eb06d794e4357fc17f3a51034dc Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:18:27 +0000 Subject: [PATCH 129/151] edencommon: add update script --- pkgs/by-name/ed/edencommon/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 6a812e4ada65..8111faf7cf18 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -17,6 +17,8 @@ gtest, apple-sdk_11, darwinMinVersionHook, + + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -95,6 +97,8 @@ stdenv.mkDerivation (finalAttrs: { ) ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Shared library for Meta's source control filesystem tools (EdenFS and Watchman)"; homepage = "https://github.com/facebookexperimental/edencommon"; From cd48138e8dca0440999ccff34368159cb2c34dec Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:19:27 +0000 Subject: [PATCH 130/151] edencommon: add emily to maintainers --- pkgs/by-name/ed/edencommon/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 8111faf7cf18..8382e2d12a0b 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -104,6 +104,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/facebookexperimental/edencommon"; license = lib.licenses.mit; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ kylesferrazza ]; + maintainers = with lib.maintainers; [ + kylesferrazza + emily + ]; }; }) From b4b2ad6a9e83f05a67773b8801a5ea9938fbbdd3 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:15:25 +0000 Subject: [PATCH 131/151] edencommon: add techknowlogick to maintainers --- pkgs/by-name/ed/edencommon/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 8382e2d12a0b..060ea7cc2da2 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -107,6 +107,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ kylesferrazza emily + techknowlogick ]; }; }) From fcb99bc19c648f7946bc9baf1fa143920ca69641 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 15 Nov 2024 15:51:30 +0000 Subject: [PATCH 132/151] cpptoml: add patch for GCC 11 --- .../cp/cpptoml/add-limits-include.patch | 21 +++++++++++++++++++ pkgs/by-name/cp/cpptoml/package.nix | 6 ++++++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/by-name/cp/cpptoml/add-limits-include.patch diff --git a/pkgs/by-name/cp/cpptoml/add-limits-include.patch b/pkgs/by-name/cp/cpptoml/add-limits-include.patch new file mode 100644 index 000000000000..6ab767ad5b9f --- /dev/null +++ b/pkgs/by-name/cp/cpptoml/add-limits-include.patch @@ -0,0 +1,21 @@ +From c55a516e90133d89d67285429c6474241346d27a Mon Sep 17 00:00:00 2001 +From: Dirk Eddelbuettel +Date: Mon, 30 Nov 2020 09:41:49 -0600 +Subject: [PATCH] g++-11 requires limits header + +--- + include/cpptoml.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/cpptoml.h b/include/cpptoml.h +index 5a00da3..1dc9fd1 100644 +--- a/include/cpptoml.h ++++ b/include/cpptoml.h +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/pkgs/by-name/cp/cpptoml/package.nix b/pkgs/by-name/cp/cpptoml/package.nix index 888af1c18631..421f67b8260a 100644 --- a/pkgs/by-name/cp/cpptoml/package.nix +++ b/pkgs/by-name/cp/cpptoml/package.nix @@ -11,6 +11,12 @@ stdenv.mkDerivation rec { sha256 = "0zlgdlk9nsskmr8xc2ajm6mn1x5wz82ssx9w88s02icz71mcihrx"; }; + patches = [ + # Fix compilation with GCC 11. + # + ./add-limits-include.patch + ]; + nativeBuildInputs = [ cmake ]; cmakeFlags = [ From ca944d626ba5cff1ecaddc0dda5cc2a59fa92522 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:11:04 +0000 Subject: [PATCH 133/151] watchman: format with `nixfmt-rfc-style` --- pkgs/development/tools/watchman/default.nix | 79 +++++++++++---------- 1 file changed, 41 insertions(+), 38 deletions(-) diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix index 0a928810eb68..a57faaff6259 100644 --- a/pkgs/development/tools/watchman/default.nix +++ b/pkgs/development/tools/watchman/default.nix @@ -1,33 +1,34 @@ -{ cargo -, cmake -, CoreServices -, cpptoml -, double-conversion -, edencommon -, ensureNewerSourcesForZipFilesHook -, fb303 -, fbthrift -, fetchFromGitHub -, fetchpatch -, fizz -, folly -, glog -, gtest -, lib -, libevent -, libiconv -, libsodium -, libunwind -, lz4 -, openssl -, pcre2 -, pkg-config -, rustPlatform -, rustc -, stateDir ? "/tmp" -, stdenv -, wangle -, zstd +{ + cargo, + cmake, + CoreServices, + cpptoml, + double-conversion, + edencommon, + ensureNewerSourcesForZipFilesHook, + fb303, + fbthrift, + fetchFromGitHub, + fetchpatch, + fizz, + folly, + glog, + gtest, + lib, + libevent, + libiconv, + libsodium, + libunwind, + lz4, + openssl, + pcre2, + pkg-config, + rustPlatform, + rustc, + stateDir ? "/tmp", + stdenv, + wangle, + zstd, }: stdenv.mkDerivation rec { @@ -41,14 +42,16 @@ stdenv.mkDerivation rec { hash = "sha256-cD8mIYCc+8Z2p3rwKVRFcW9sOBbpb5KHU5VpbXHMpeg="; }; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs - "-DWATCHMAN_STATE_DIR=${stateDir}" - "-DWATCHMAN_VERSION_OVERRIDE=${version}" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs + "-DWATCHMAN_STATE_DIR=${stateDir}" + "-DWATCHMAN_VERSION_OVERRIDE=${version}" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + ]; nativeBuildInputs = [ cmake From 1c60ec77f4081f5ff616f8b50a21b967e99c10eb Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:11:15 +0000 Subject: [PATCH 134/151] watchman: convert to new Darwin SDK pattern --- pkgs/development/tools/watchman/default.nix | 64 ++++++++++----------- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 33 insertions(+), 35 deletions(-) diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix index a57faaff6259..f91f53389f58 100644 --- a/pkgs/development/tools/watchman/default.nix +++ b/pkgs/development/tools/watchman/default.nix @@ -1,7 +1,6 @@ { cargo, cmake, - CoreServices, cpptoml, double-conversion, edencommon, @@ -16,7 +15,6 @@ gtest, lib, libevent, - libiconv, libsodium, libunwind, lz4, @@ -29,6 +27,8 @@ stdenv, wangle, zstd, + apple-sdk_11, + darwinMinVersionHook, }: stdenv.mkDerivation rec { @@ -42,16 +42,12 @@ stdenv.mkDerivation rec { hash = "sha256-cD8mIYCc+8Z2p3rwKVRFcW9sOBbpb5KHU5VpbXHMpeg="; }; - cmakeFlags = - [ - "-DBUILD_SHARED_LIBS=ON" - "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs - "-DWATCHMAN_STATE_DIR=${stateDir}" - "-DWATCHMAN_VERSION_OVERRIDE=${version}" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation - ]; + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs + "-DWATCHMAN_STATE_DIR=${stateDir}" + "-DWATCHMAN_VERSION_OVERRIDE=${version}" + ]; nativeBuildInputs = [ cmake @@ -62,26 +58,30 @@ stdenv.mkDerivation rec { rustc ]; - buildInputs = [ - pcre2 - openssl - gtest - glog - libevent - libsodium - folly - fizz - wangle - fbthrift - fb303 - cpptoml - edencommon - libunwind - double-conversion - lz4 - zstd - libiconv - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ]; + buildInputs = + [ + pcre2 + openssl + gtest + glog + libevent + libsodium + folly + fizz + wangle + fbthrift + fb303 + cpptoml + edencommon + libunwind + double-conversion + lz4 + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + (darwinMinVersionHook "11.0") + ]; cargoRoot = "watchman/cli"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1b8e47dc8c13..f9ea2c388f0e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5733,9 +5733,7 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Cocoa AppKit; }; - watchman = darwin.apple_sdk_11_0.callPackage ../development/tools/watchman { - inherit (darwin.apple_sdk_11_0.frameworks) CoreServices; - }; + watchman = callPackage ../development/tools/watchman { }; webassemblyjs-cli = nodePackages."@webassemblyjs/cli-1.11.1"; webassemblyjs-repl = nodePackages."@webassemblyjs/repl-1.11.1"; From ba17205ae363ee665fbc7065b48ae3865d0384e4 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:13:23 +0000 Subject: [PATCH 135/151] watchman: move to `pkgs/by-name` --- pkgs/{development/tools => by-name/wa}/watchman/Cargo.lock | 0 .../watchman/default.nix => by-name/wa/watchman/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 2 deletions(-) rename pkgs/{development/tools => by-name/wa}/watchman/Cargo.lock (100%) rename pkgs/{development/tools/watchman/default.nix => by-name/wa/watchman/package.nix} (100%) diff --git a/pkgs/development/tools/watchman/Cargo.lock b/pkgs/by-name/wa/watchman/Cargo.lock similarity index 100% rename from pkgs/development/tools/watchman/Cargo.lock rename to pkgs/by-name/wa/watchman/Cargo.lock diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/by-name/wa/watchman/package.nix similarity index 100% rename from pkgs/development/tools/watchman/default.nix rename to pkgs/by-name/wa/watchman/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f9ea2c388f0e..9ec9650bafb2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5733,8 +5733,6 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Cocoa AppKit; }; - watchman = callPackage ../development/tools/watchman { }; - webassemblyjs-cli = nodePackages."@webassemblyjs/cli-1.11.1"; webassemblyjs-repl = nodePackages."@webassemblyjs/repl-1.11.1"; wasm-strip = nodePackages."@webassemblyjs/wasm-strip"; From 4f864948a8b40bbd964c521a433c972e67325330 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:14:03 +0000 Subject: [PATCH 136/151] watchman: use `finalAttrs` --- pkgs/by-name/wa/watchman/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index f91f53389f58..7446ee777bed 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -31,14 +31,14 @@ darwinMinVersionHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "watchman"; version = "2024.03.11.00"; src = fetchFromGitHub { owner = "facebook"; repo = "watchman"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-cD8mIYCc+8Z2p3rwKVRFcW9sOBbpb5KHU5VpbXHMpeg="; }; @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { "-DBUILD_SHARED_LIBS=ON" "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs "-DWATCHMAN_STATE_DIR=${stateDir}" - "-DWATCHMAN_VERSION_OVERRIDE=${version}" + "-DWATCHMAN_VERSION_OVERRIDE=${finalAttrs.version}" ]; nativeBuildInputs = [ @@ -99,7 +99,7 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs . - cp ${./Cargo.lock} ${cargoRoot}/Cargo.lock + cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock ''; meta = with lib; { @@ -109,4 +109,4 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = licenses.mit; }; -} +}) From 8a2efd913300b7e6c6fd79a53962686cf9298383 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:14:08 +0000 Subject: [PATCH 137/151] watchman: remove `with lib;` --- pkgs/by-name/wa/watchman/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 7446ee777bed..bd471a914b1b 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -102,11 +102,11 @@ stdenv.mkDerivation (finalAttrs: { cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock ''; - meta = with lib; { + meta = { description = "Watches files and takes action when they change"; homepage = "https://facebook.github.io/watchman"; - maintainers = with maintainers; [ kylesferrazza ]; - platforms = platforms.unix; - license = licenses.mit; + maintainers = with lib.maintainers; [ kylesferrazza ]; + platforms = lib.platforms.unix; + license = lib.licenses.mit; }; }) From 14410cc8dca87ea0131afce4acce49c4a0d714eb Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:14:56 +0000 Subject: [PATCH 138/151] watchman: use `refs/tags/` --- pkgs/by-name/wa/watchman/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index bd471a914b1b..3337590d3172 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "facebook"; repo = "watchman"; - rev = "v${finalAttrs.version}"; + rev = "refs/tags/v${finalAttrs.version}"; hash = "sha256-cD8mIYCc+8Z2p3rwKVRFcW9sOBbpb5KHU5VpbXHMpeg="; }; From 033896e98cf203107a6a751db4fe8f351371ea41 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:28:31 +0000 Subject: [PATCH 139/151] watchman: reorder attributes --- pkgs/by-name/wa/watchman/package.nix | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 3337590d3172..3cd870b52473 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -42,11 +42,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cD8mIYCc+8Z2p3rwKVRFcW9sOBbpb5KHU5VpbXHMpeg="; }; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs - "-DWATCHMAN_STATE_DIR=${stateDir}" - "-DWATCHMAN_VERSION_OVERRIDE=${finalAttrs.version}" + patches = [ + # fix build with rustc >=1.79 + (fetchpatch { + url = "https://github.com/facebook/watchman/commit/c3536143cab534cdd9696eb3e2d03c4ac1e2f883.patch"; + hash = "sha256-lpGr5H28gfVXkWNdfDo4SCbF/p5jB4SNlHj6km/rfw4="; + }) ]; nativeBuildInputs = [ @@ -83,20 +84,19 @@ stdenv.mkDerivation (finalAttrs: { (darwinMinVersionHook "11.0") ]; + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs + "-DWATCHMAN_STATE_DIR=${stateDir}" + "-DWATCHMAN_VERSION_OVERRIDE=${finalAttrs.version}" + ]; + cargoRoot = "watchman/cli"; cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; }; - patches = [ - # fix build with rustc >=1.79 - (fetchpatch { - url = "https://github.com/facebook/watchman/commit/c3536143cab534cdd9696eb3e2d03c4ac1e2f883.patch"; - hash = "sha256-lpGr5H28gfVXkWNdfDo4SCbF/p5jB4SNlHj6km/rfw4="; - }) - ]; - postPatch = '' patchShebangs . cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock From fe60436739a0cd8aec4c7382249c2f5029dde64b Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:18:49 +0000 Subject: [PATCH 140/151] watchman: reorder inputs to match upstream file --- pkgs/by-name/wa/watchman/package.nix | 60 +++++++++++++++------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 3cd870b52473..57ec17947096 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -1,34 +1,38 @@ { - cargo, - cmake, - cpptoml, - double-conversion, - edencommon, - ensureNewerSourcesForZipFilesHook, - fb303, - fbthrift, + lib, + stdenv, + fetchFromGitHub, fetchpatch, - fizz, - folly, - glog, - gtest, - lib, - libevent, - libsodium, - libunwind, - lz4, - openssl, - pcre2, + + cmake, pkg-config, - rustPlatform, rustc, - stateDir ? "/tmp", - stdenv, + cargo, + rustPlatform, + ensureNewerSourcesForZipFilesHook, + + pcre2, + openssl, + glog, + libevent, + edencommon, + folly, + fizz, wangle, + fbthrift, + fb303, + cpptoml, + gtest, + libunwind, + libsodium, + double-conversion, + lz4, zstd, apple-sdk_11, darwinMinVersionHook, + + stateDir ? "/tmp", }: stdenv.mkDerivation (finalAttrs: { @@ -53,27 +57,27 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake pkg-config - ensureNewerSourcesForZipFilesHook - rustPlatform.cargoSetupHook - cargo rustc + cargo + rustPlatform.cargoSetupHook + ensureNewerSourcesForZipFilesHook ]; buildInputs = [ pcre2 openssl - gtest glog libevent - libsodium + edencommon folly fizz wangle fbthrift fb303 cpptoml - edencommon + gtest + libsodium libunwind double-conversion lz4 From f7f5d1a9473a3fafc5aa8f685e9e364d97548fc5 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 21:45:57 +0000 Subject: [PATCH 141/151] watchman: clean up inputs --- pkgs/by-name/wa/watchman/package.nix | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 57ec17947096..300305d8efd4 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -14,6 +14,7 @@ pcre2, openssl, + gflags, glog, libevent, edencommon, @@ -23,15 +24,11 @@ fbthrift, fb303, cpptoml, - gtest, - libunwind, - libsodium, - double-conversion, - lz4, - zstd, apple-sdk_11, darwinMinVersionHook, + gtest, + stateDir ? "/tmp", }: @@ -67,6 +64,7 @@ stdenv.mkDerivation (finalAttrs: { [ pcre2 openssl + gflags glog libevent edencommon @@ -76,18 +74,16 @@ stdenv.mkDerivation (finalAttrs: { fbthrift fb303 cpptoml - gtest - libsodium - libunwind - double-conversion - lz4 - zstd ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 (darwinMinVersionHook "11.0") ]; + checkInputs = [ + gtest + ]; + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs From 354913f342e64e93c2a8384e52f17daf1d97b3bb Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 21:21:43 +0000 Subject: [PATCH 142/151] watchman: use Ninja --- pkgs/by-name/wa/watchman/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 300305d8efd4..181a03bdf417 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -6,6 +6,7 @@ fetchpatch, cmake, + ninja, pkg-config, rustc, cargo, @@ -53,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake + ninja pkg-config rustc cargo From 13a571f5ee27e94c04140ae14e5bc74dc4917343 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 21:05:47 +0000 Subject: [PATCH 143/151] watchman: 2024.03.11.00 -> 2024.11.18.00 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Turning off Sapling support breaks the build with newer versions, and anyway it seems to build just fine with it turned on. Similarly for shared libraries: the internal libraries aren’t used by anything else, and break the build when made shared because they aren’t installed in the CMake files, so we should just leave them static. Diff: https://github.com/facebook/watchman/compare/refs/tags/v2024.03.11.00...v2024.11.18.00 --- pkgs/by-name/wa/watchman/Cargo.lock | 455 ++++++++++++--------------- pkgs/by-name/wa/watchman/package.nix | 14 +- 2 files changed, 208 insertions(+), 261 deletions(-) diff --git a/pkgs/by-name/wa/watchman/Cargo.lock b/pkgs/by-name/wa/watchman/Cargo.lock index 4da733140b48..09cd62514f5a 100644 --- a/pkgs/by-name/wa/watchman/Cargo.lock +++ b/pkgs/by-name/wa/watchman/Cargo.lock @@ -4,24 +4,24 @@ version = 3 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "ahash" -version = "0.8.7" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "getrandom", @@ -41,9 +41,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.79" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "atty" @@ -58,23 +58,23 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", + "windows-targets", ] [[package]] @@ -83,6 +83,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + [[package]] name = "byteorder" version = "1.5.0" @@ -91,22 +97,13 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" dependencies = [ "serde", ] -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] - [[package]] name = "cfg-if" version = "1.0.0" @@ -121,7 +118,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim", "textwrap", "unicode-width", @@ -130,9 +127,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "crossbeam" @@ -149,9 +146,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -186,9 +183,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "duct" @@ -204,9 +201,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "futures" @@ -216,9 +213,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -231,9 +228,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -241,15 +238,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -258,38 +255,38 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.87", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures 0.1.31", "futures-channel", @@ -306,9 +303,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -317,9 +314,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "heck" @@ -341,15 +338,15 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.4" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jwalk" @@ -363,21 +360,21 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.152" +version = "0.2.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -385,9 +382,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "maplit" @@ -397,9 +394,9 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memoffset" @@ -412,22 +409,23 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] name = "mio" -version = "0.8.10" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ + "hermit-abi 0.3.9", "libc", "wasi", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -437,7 +435,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" dependencies = [ "autocfg", - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", "memoffset", @@ -453,46 +451,36 @@ dependencies = [ "winapi", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.4", - "libc", -] - [[package]] name = "object" -version = "0.32.2" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "os_pipe" -version = "1.1.5" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9" +checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -500,22 +488,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.48.5", + "windows-targets", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -549,27 +537,27 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.35" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] [[package]] name = "rayon" -version = "1.8.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -587,24 +575,24 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags", + "bitflags 2.6.0", ] [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "scopeguard" @@ -614,16 +602,16 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.196" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] [[package]] name = "serde_bser" -version = "0.3.1" +version = "0.4.0" dependencies = [ "anyhow", "byteorder", @@ -635,50 +623,51 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.196" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.87", ] [[package]] name = "serde_json" -version = "1.0.113" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "shared_child" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" +checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" dependencies = [ "libc", - "winapi", + "windows-sys 0.59.0", ] [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -694,18 +683,18 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -751,9 +740,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -762,9 +751,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.26.9" +version = "0.30.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c18a6156d1f27a9592ee18c1a846ca8dd5c258b7179fc193ae87c74ebb666f5" +checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" dependencies = [ "cfg-if", "core-foundation-sys", @@ -772,7 +761,7 @@ dependencies = [ "ntapi", "once_cell", "rayon", - "winapi", + "windows", ] [[package]] @@ -795,53 +784,52 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.87", ] [[package]] name = "tokio" -version = "1.35.1" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", "tracing", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.87", ] [[package]] @@ -881,21 +869,21 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "vec_map" @@ -905,9 +893,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wasi" @@ -917,11 +905,11 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "watchman_client" -version = "0.8.0" +version = "0.9.0" dependencies = [ "anyhow", "bytes", - "futures 0.3.30", + "futures 0.3.31", "maplit", "serde", "serde_bser", @@ -972,12 +960,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows-sys" -version = "0.48.0" +name = "windows" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-targets 0.48.5", + "windows-core", + "windows-targets", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets", ] [[package]] @@ -986,139 +984,98 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", ] [[package]] name = "windows-targets" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" -dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] -name = "windows_i686_gnu" -version = "0.52.0" +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.87", ] diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 181a03bdf417..03ba83297db6 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -35,23 +35,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "watchman"; - version = "2024.03.11.00"; + version = "2024.11.18.00"; src = fetchFromGitHub { owner = "facebook"; repo = "watchman"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-cD8mIYCc+8Z2p3rwKVRFcW9sOBbpb5KHU5VpbXHMpeg="; + hash = "sha256-deOSeExhwn8wrtP2Y0BDaHdmaeiUaDBok6W7N1rH/24="; }; - patches = [ - # fix build with rustc >=1.79 - (fetchpatch { - url = "https://github.com/facebook/watchman/commit/c3536143cab534cdd9696eb3e2d03c4ac1e2f883.patch"; - hash = "sha256-lpGr5H28gfVXkWNdfDo4SCbF/p5jB4SNlHj6km/rfw4="; - }) - ]; - nativeBuildInputs = [ cmake ninja @@ -87,8 +79,6 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs "-DWATCHMAN_STATE_DIR=${stateDir}" "-DWATCHMAN_VERSION_OVERRIDE=${finalAttrs.version}" ]; From d9ea8bbebfe60895ac98640402a655e95149bcf1 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 22:30:33 +0000 Subject: [PATCH 144/151] watchman: use `lib.cmake{Bool,Feature}` --- pkgs/by-name/wa/watchman/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 03ba83297db6..143894b64b6b 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -79,8 +79,8 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - "-DWATCHMAN_STATE_DIR=${stateDir}" - "-DWATCHMAN_VERSION_OVERRIDE=${finalAttrs.version}" + (lib.cmakeFeature "WATCHMAN_STATE_DIR" stateDir) + (lib.cmakeFeature "WATCHMAN_VERSION_OVERRIDE" finalAttrs.version) ]; cargoRoot = "watchman/cli"; From 33b5c76f1492e5afca9a3c03d525f50891af42c1 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 15 Nov 2024 16:26:47 +0000 Subject: [PATCH 145/151] watchman: set `CMAKE_INSTALL_RPATH_USE_LINK_PATH` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Shared libraries, CMake, necessary on Linux… I don’t know. --- pkgs/by-name/wa/watchman/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 143894b64b6b..e713ff947aec 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -79,6 +79,8 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ + (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) + (lib.cmakeFeature "WATCHMAN_STATE_DIR" stateDir) (lib.cmakeFeature "WATCHMAN_VERSION_OVERRIDE" finalAttrs.version) ]; From e701eb3d63fa3f4cae55d86dd935bcc117e4f174 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 22:30:33 +0000 Subject: [PATCH 146/151] watchman: use upstream default for `stateDir` Possibly it should use `/run/watchman` on Linux. --- pkgs/by-name/wa/watchman/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index e713ff947aec..82d5e4e39b9d 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -30,7 +30,7 @@ gtest, - stateDir ? "/tmp", + stateDir ? "", }: stdenv.mkDerivation (finalAttrs: { From 10dbf1de4b6864143707529c34ace520a46a7372 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:21:36 +0000 Subject: [PATCH 147/151] watchman: enable tests --- pkgs/by-name/wa/watchman/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 82d5e4e39b9d..683024e61488 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -91,6 +91,8 @@ stdenv.mkDerivation (finalAttrs: { lockFile = ./Cargo.lock; }; + doCheck = true; + postPatch = '' patchShebangs . cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock From 9a90e1cd80359c9dd5e7eaca80274ba9c96b5180 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 13:24:16 +0000 Subject: [PATCH 148/151] watchman: strip references to `folly.fmt.dev` --- pkgs/by-name/wa/watchman/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 683024e61488..29a0eb12767e 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -12,6 +12,7 @@ cargo, rustPlatform, ensureNewerSourcesForZipFilesHook, + removeReferencesTo, pcre2, openssl, @@ -52,6 +53,7 @@ stdenv.mkDerivation (finalAttrs: { cargo rustPlatform.cargoSetupHook ensureNewerSourcesForZipFilesHook + removeReferencesTo ]; buildInputs = @@ -98,6 +100,11 @@ stdenv.mkDerivation (finalAttrs: { cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock ''; + postFixup = '' + # TODO: Do this in `fmt` rather than downstream. + remove-references-to -t ${folly.fmt.dev} $out/bin/* + ''; + meta = { description = "Watches files and takes action when they change"; homepage = "https://facebook.github.io/watchman"; From ec166bb5f0eb1af4fc706ea55c01cd886e81ea01 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:39:01 +0000 Subject: [PATCH 149/151] watchman: add update script --- pkgs/by-name/wa/watchman/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 29a0eb12767e..4471aa25ffb8 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -31,6 +31,8 @@ gtest, + nix-update-script, + stateDir ? "", }: @@ -105,6 +107,8 @@ stdenv.mkDerivation (finalAttrs: { remove-references-to -t ${folly.fmt.dev} $out/bin/* ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Watches files and takes action when they change"; homepage = "https://facebook.github.io/watchman"; From df28dd1d3c0915c071561a132d013badf3086c6d Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:24:15 +0000 Subject: [PATCH 150/151] watchman: add emily to maintainers --- pkgs/by-name/wa/watchman/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 4471aa25ffb8..b41121f48083 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -112,7 +112,10 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Watches files and takes action when they change"; homepage = "https://facebook.github.io/watchman"; - maintainers = with lib.maintainers; [ kylesferrazza ]; + maintainers = with lib.maintainers; [ + kylesferrazza + emily + ]; platforms = lib.platforms.unix; license = lib.licenses.mit; }; From 041e7f435d6bb191f0e472763fc5f52df40c7b76 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:14:52 +0000 Subject: [PATCH 151/151] watchman: add techknowlogick to maintainers --- pkgs/by-name/wa/watchman/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index b41121f48083..8ee1aaf2c3b4 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -115,6 +115,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ kylesferrazza emily + techknowlogick ]; platforms = lib.platforms.unix; license = lib.licenses.mit;