From b9274aa7a594d22b665c350b84a5ad0978caf36c Mon Sep 17 00:00:00 2001 From: Athene Noctua Date: Sat, 30 Nov 2024 07:49:01 +0100 Subject: [PATCH 001/193] libcamera: re-sign IPA modules after fixup (#353336) --- pkgs/by-name/li/libcamera/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/li/libcamera/package.nix b/pkgs/by-name/li/libcamera/package.nix index f576c74cc824c..cd056cbf3074a 100644 --- a/pkgs/by-name/li/libcamera/package.nix +++ b/pkgs/by-name/li/libcamera/package.nix @@ -51,6 +51,10 @@ stdenv.mkDerivation rec { install -D ${./ipa-priv-key.pem} src/ipa-priv-key.pem ''; + postFixup = '' + ../src/ipa/ipa-sign-install.sh src/ipa-priv-key.pem $out/lib/libcamera/ipa_*.so + ''; + strictDeps = true; buildInputs = [ From a1868a1013b10cec6593b5a9d14b030391f53750 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 10 Nov 2024 09:49:25 +0800 Subject: [PATCH 002/193] xorg.libX11: Fix spurious Xerror when running synchronized This backports https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/264. This fixes 'XIO: fatal IO error 9 (Bad file descriptor) on X server ":102"' when GNOME's mutter is tearing down. ref: https://src.fedoraproject.org/rpms/libX11/c/ddc5e3368d876332178857fbdd3dce97fe614f9c ref: https://gitlab.gnome.org/GNOME/mutter/-/commit/f88b54502c77000d70e30984e7903b808d947049 (cherry picked from commit 6ac7c0c4d0e8f4fdae1f08f263f23c689f1ecb76) (cherry picked from commit 9b1475f9c400ca704d615ae6f80de747244a8e59) --- pkgs/servers/x11/xorg/overrides.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index fcc9937b63b8b..94158aa99fcd9 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -149,6 +149,14 @@ self: super: libX11 = super.libX11.overrideAttrs (attrs: { outputs = [ "out" "dev" "man" ]; + patches = [ + # Fix spurious Xerror when running synchronized + # https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/264 + (fetchpatch { + url = "https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/f3d6ebac35301d4ad068e307f0fbe6aa12ccbccb.patch"; + hash = "sha256-wQNMsbQ+h9VlNiWr+r34AxvViC8fq02ZhcARRnw7O9k="; + }) + ]; configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag ++ lib.optional (stdenv.targetPlatform.useLLVM or false) "ac_cv_path_RAWCPP=cpp"; From f02861764364ad34432561c4faa7f463a0955a2a Mon Sep 17 00:00:00 2001 From: Andrew Brooks Date: Mon, 21 Oct 2024 19:57:46 -0500 Subject: [PATCH 003/193] tcl: 8.6.13 -> 8.6.15 (cherry picked from commit b8d86f5728a8a4fdc832a88e78eba4aab29ef992) (cherry picked from commit c7e2230a5da44c1730f7e1f9f5307b064029b5b8) --- pkgs/development/interpreters/tcl/8.6.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/tcl/8.6.nix b/pkgs/development/interpreters/tcl/8.6.nix index 0edd47e83d6c4..9da653b2f761d 100644 --- a/pkgs/development/interpreters/tcl/8.6.nix +++ b/pkgs/development/interpreters/tcl/8.6.nix @@ -2,12 +2,12 @@ callPackage ./generic.nix (args // rec { release = "8.6"; - version = "${release}.13"; + version = "${release}.15"; # Note: when updating, the hash in pkgs/development/libraries/tk/8.6.nix must also be updated! src = fetchurl { url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz"; - sha256 = "sha256-Q6H650EvYf8R3iz9BdKM/Dpzdi81SkF8YjcKVOLK8GY="; + sha256 = "sha256-hh4Vl1Py4vvW7BSEEDcVsL5WvjNXUiuFjTy7X4k//vE="; }; }) From 31a7cdb7be4f37f9143d9de4e1e01c34e6575a44 Mon Sep 17 00:00:00 2001 From: Andrew Brooks Date: Mon, 21 Oct 2024 19:59:04 -0500 Subject: [PATCH 004/193] tk: 8.6.13 -> 8.6.15 (cherry picked from commit e9ef95e543da2d911eaccad23ee673bde3caee4e) (cherry picked from commit 6b1b1d7eecd594c1b036d0b55be6f645c79f2b04) --- pkgs/development/libraries/tk/8.6.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/tk/8.6.nix b/pkgs/development/libraries/tk/8.6.nix index c8f4efa7f7aca..84028762dbba9 100644 --- a/pkgs/development/libraries/tk/8.6.nix +++ b/pkgs/development/libraries/tk/8.6.nix @@ -8,7 +8,7 @@ callPackage ./generic.nix (args // { src = fetchurl { url = "mirror://sourceforge/tcl/tk${tcl.version}-src.tar.gz"; - sha256 = "sha256-LmX6BpojNlRAo8VsVWuGc7XjKig4ANjZslfj9YTOBnU="; + sha256 = "sha256-VQlp81N5+VKzAg86t7ndW/0Rwe98m3xqdfXEmsp5P+w="; }; patches = [ From c81f064ea85563403b71d3facf11170daa3efb0c Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 11 Nov 2024 17:58:14 +0100 Subject: [PATCH 005/193] librist: fix build for musl (cherry picked from commit 01fe6fb38d5d50180e322fab5d7bab6f4e764c1e) (cherry picked from commit 055e7024008f7e39444dcd8af2880c04668b6d8d) --- pkgs/by-name/li/librist/musl.patch | 16 ++++++++++++++++ pkgs/by-name/li/librist/package.nix | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 pkgs/by-name/li/librist/musl.patch diff --git a/pkgs/by-name/li/librist/musl.patch b/pkgs/by-name/li/librist/musl.patch new file mode 100644 index 0000000000000..95f432549777c --- /dev/null +++ b/pkgs/by-name/li/librist/musl.patch @@ -0,0 +1,16 @@ +diff --git a/test/rist/unit/srp_examples.c b/test/rist/unit/srp_examples.c +index 1c5193d..6f835b5 100644 +--- a/test/rist/unit/srp_examples.c ++++ b/test/rist/unit/srp_examples.c +@@ -16,6 +16,11 @@ + #define DEBUG_USE_EXAMPLE_CONSTANTS 1 + + #if HAVE_MBEDTLS ++// musl's sched.h includes a prototype for calloc, so we need to make ++// sure it's already been included before we redefine it to something ++// that won't expand to a valid prototype. ++#include ++ + #define malloc(size) _test_malloc(size, __FILE__, __LINE__) + #define calloc(num, size) _test_calloc(num, size, __FILE__, __LINE__) + #define free(obj) _test_free(obj, __FILE__, __LINE__) diff --git a/pkgs/by-name/li/librist/package.nix b/pkgs/by-name/li/librist/package.nix index 788e75eafddae..97fbece7aa271 100644 --- a/pkgs/by-name/li/librist/package.nix +++ b/pkgs/by-name/li/librist/package.nix @@ -24,6 +24,8 @@ stdenv.mkDerivation rec { patches = [ # https://github.com/NixOS/nixpkgs/pull/257020 ./darwin.patch + # https://code.videolan.org/rist/librist/-/merge_requests/257 + ./musl.patch ]; nativeBuildInputs = [ From df7b79ae5a95ef6946199410edf5340966d66129 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 11 Nov 2024 23:19:50 +0100 Subject: [PATCH 006/193] systemd: revert boot-breaking systemd-boot change Fixes boot for me. Closes: https://github.com/NixOS/nixpkgs/pull/355284 (cherry picked from commit 63ce4665b2ce60fbe35d7cdf2b434dd10f1b4095) (cherry picked from commit 91ea63fc21d90d9c017e600ae448a6bfc794c9aa) --- ...-initrd_prepare-semantically-equival.patch | 150 ++++++++++++++++++ pkgs/os-specific/linux/systemd/default.nix | 1 + 2 files changed, 151 insertions(+) create mode 100644 pkgs/os-specific/linux/systemd/0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch diff --git a/pkgs/os-specific/linux/systemd/0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch b/pkgs/os-specific/linux/systemd/0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch new file mode 100644 index 0000000000000..f33b730d015a7 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch @@ -0,0 +1,150 @@ +From bc1abc37f1cf0368d9c320c9d3845154d85f66b1 Mon Sep 17 00:00:00 2001 +From: Alyssa Ross +Date: Mon, 11 Nov 2024 23:09:21 +0100 +Subject: [PATCH] Revert "boot: Make initrd_prepare() semantically equivalent + to combine_initrds()" + +This reverts commit d64193a2a652b15db9cb9ed10c6b77a17ca46cd2. + +This breaks boot on Apple Silicon, and probably other platforms with no memory +mapped below 4G. + +Link: https://github.com/systemd/systemd/issues/35026 +--- + src/boot/efi/boot.c | 60 ++++++++++++--------------------------------- + 1 file changed, 16 insertions(+), 44 deletions(-) + +diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c +index ecbb4e0509..f94b59db59 100644 +--- a/src/boot/efi/boot.c ++++ b/src/boot/efi/boot.c +@@ -11,7 +11,6 @@ + #include "initrd.h" + #include "linux.h" + #include "measure.h" +-#include "memory-util-fundamental.h" + #include "part-discovery.h" + #include "pe.h" + #include "proto/block-io.h" +@@ -2249,18 +2248,18 @@ static EFI_STATUS initrd_prepare( + EFI_FILE *root, + const BootEntry *entry, + char16_t **ret_options, +- Pages *ret_initrd_pages, ++ void **ret_initrd, + size_t *ret_initrd_size) { + + assert(root); + assert(entry); + assert(ret_options); +- assert(ret_initrd_pages); ++ assert(ret_initrd); + assert(ret_initrd_size); + + if (entry->type != LOADER_LINUX || !entry->initrd) { + *ret_options = NULL; +- *ret_initrd_pages = (Pages) {}; ++ *ret_initrd = NULL; + *ret_initrd_size = 0; + return EFI_SUCCESS; + } +@@ -2274,6 +2273,7 @@ static EFI_STATUS initrd_prepare( + + EFI_STATUS err; + size_t size = 0; ++ _cleanup_free_ uint8_t *initrd = NULL; + + STRV_FOREACH(i, entry->initrd) { + _cleanup_free_ char16_t *o = options; +@@ -2292,58 +2292,30 @@ static EFI_STATUS initrd_prepare( + if (err != EFI_SUCCESS) + return err; + +- if (!INC_SAFE(&size, ALIGN4(info->FileSize))) +- return EFI_OUT_OF_RESOURCES; +- } +- +- _cleanup_pages_ Pages pages = xmalloc_pages( +- AllocateMaxAddress, +- EfiLoaderData, +- EFI_SIZE_TO_PAGES(size), +- UINT32_MAX /* Below 4G boundary. */); +- uint8_t *p = PHYSICAL_ADDRESS_TO_POINTER(pages.addr); +- +- STRV_FOREACH(i, entry->initrd) { +- _cleanup_(file_closep) EFI_FILE *handle = NULL; +- err = root->Open(root, &handle, *i, EFI_FILE_MODE_READ, 0); +- if (err != EFI_SUCCESS) +- return err; +- +- _cleanup_free_ EFI_FILE_INFO *info = NULL; +- err = get_file_info(handle, &info, NULL); +- if (err != EFI_SUCCESS) +- return err; +- + if (info->FileSize == 0) /* Automatically skip over empty files */ + continue; + +- size_t read_size = info->FileSize; +- err = chunked_read(handle, &read_size, p); ++ size_t new_size, read_size = info->FileSize; ++ if (!ADD_SAFE(&new_size, size, read_size)) ++ return EFI_OUT_OF_RESOURCES; ++ initrd = xrealloc(initrd, size, new_size); ++ ++ err = chunked_read(handle, &read_size, initrd + size); + if (err != EFI_SUCCESS) + return err; + + /* Make sure the actual read size is what we expected. */ +- assert(read_size == info->FileSize); +- p += read_size; +- +- size_t pad; +- pad = ALIGN4(read_size) - read_size; +- if (pad == 0) +- continue; +- +- memzero(p, pad); +- p += pad; ++ assert(size + read_size == new_size); ++ size = new_size; + } + +- assert(PHYSICAL_ADDRESS_TO_POINTER(pages.addr + size) == p); +- + if (entry->options) { + _cleanup_free_ char16_t *o = options; + options = xasprintf("%ls %ls", o, entry->options); + } + + *ret_options = TAKE_PTR(options); +- *ret_initrd_pages = TAKE_STRUCT(pages); ++ *ret_initrd = TAKE_PTR(initrd); + *ret_initrd_size = size; + return EFI_SUCCESS; + } +@@ -2373,9 +2345,9 @@ static EFI_STATUS image_start( + return log_error_status(err, "Error making file device path: %m"); + + size_t initrd_size = 0; +- _cleanup_pages_ Pages initrd_pages = {}; ++ _cleanup_free_ void *initrd = NULL; + _cleanup_free_ char16_t *options_initrd = NULL; +- err = initrd_prepare(image_root, entry, &options_initrd, &initrd_pages, &initrd_size); ++ err = initrd_prepare(image_root, entry, &options_initrd, &initrd, &initrd_size); + if (err != EFI_SUCCESS) + return log_error_status(err, "Error preparing initrd: %m"); + +@@ -2393,7 +2365,7 @@ static EFI_STATUS image_start( + } + + _cleanup_(cleanup_initrd) EFI_HANDLE initrd_handle = NULL; +- err = initrd_register(PHYSICAL_ADDRESS_TO_POINTER(initrd_pages.addr), initrd_size, &initrd_handle); ++ err = initrd_register(initrd, initrd_size, &initrd_handle); + if (err != EFI_SUCCESS) + return log_error_status(err, "Error registering initrd: %m"); + +-- +2.47.0 + diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 691dd4f815ba0..5d10d3bcd3f05 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -232,6 +232,7 @@ stdenv.mkDerivation (finalAttrs: { ./0015-tpm2_context_init-fix-driver-name-checking.patch ./0016-systemctl-edit-suggest-systemdctl-edit-runtime-on-sy.patch ./0017-meson.build-do-not-create-systemdstatedir.patch + ./0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch # https://github.com/systemd/systemd/issues/33392 (fetchpatch2 { From 88cd14d0f2452dfd8573d0db26d041a25c470fb9 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 14 Nov 2024 19:42:43 +0100 Subject: [PATCH 007/193] postgresql_16: 16.4 -> 16.5 Release Notes: https://www.postgresql.org/about/news/postgresql-171-165-159-1414-1317-and-1221-released-2955/ (cherry picked from commit 797b544bda2f9b921c9757c422aa68a1de1b431b) (cherry picked from commit 77ea13f37774efb6360729f03767ef72b1333e4f) --- pkgs/servers/sql/postgresql/16.nix | 4 ++-- pkgs/servers/sql/postgresql/generic.nix | 7 ------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/servers/sql/postgresql/16.nix b/pkgs/servers/sql/postgresql/16.nix index 16215d890be41..d8322f42d3870 100644 --- a/pkgs/servers/sql/postgresql/16.nix +++ b/pkgs/servers/sql/postgresql/16.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "16.4"; - hash = "sha256-lxdm1kWqc+k7nvTjvkQgG09FtUdwlbBJElQD+fM4bW8="; + version = "16.5"; + hash = "sha256-psu7cDf5jLivp9OXC3xIBAzwKxFeOSU6DAN6i7jnePA="; muslPatches = { dont-use-locale-a = { url = "https://git.alpinelinux.org/aports/plain/main/postgresql16/dont-use-locale-a-on-musl.patch?id=08a24be262339fd093e641860680944c3590238e"; diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 4630b766fd67d..8a0069764a007 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -157,13 +157,6 @@ let src = ./patches/locale-binary-path.patch; locale = "${if stdenv.hostPlatform.isDarwin then darwin.adv_cmds else lib.getBin stdenv.cc.libc}/bin/locale"; }) - ] ++ lib.optionals (olderThan "17" && atLeast "16") [ - # TODO: Remove this with the next set of minor releases - (fetchpatch ({ - url = "https://github.com/postgres/postgres/commit/b27622c90869aab63cfe22159a459c57768b0fa4.patch"; - hash = "sha256-7G+BkJULhyx6nlMEjClcr2PJg6awgymZHr2JgGhXanA="; - excludes = [ "doc/*" ]; - })) ] ++ lib.optionals stdenv'.hostPlatform.isMusl ( # Using fetchurl instead of fetchpatch on purpose: https://github.com/NixOS/nixpkgs/issues/240141 map fetchurl (lib.attrValues muslPatches) From ef7dc14ab4287c6644c914c3949a9f99a2c41bc6 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 8 Nov 2024 17:45:25 +0100 Subject: [PATCH 008/193] postgresql: drop build-time dependency on GHC This replaces `writeShellApplication` with `writeShellScriptBin` that doesn't perform a shellcheck. This makes it way easier to build postgresql on staging since GHC is super slow to build, even with pretty powerful machines. Also Haskell updates are currently merged straight into master which means that postgresql and all reverse dependencies require a rebuild on master then[1]. [1] https://github.com/NixOS/nixpkgs/pull/354270#issuecomment-2463196665 (cherry picked from commit 4cd083a3cdf25fce6d1c0bb232e241681fad34ca) (cherry picked from commit a40d887561d5f4a6d330181891d78174f82e84e4) --- pkgs/servers/sql/postgresql/generic.nix | 7 ++----- pkgs/servers/sql/postgresql/pg_config.sh | 2 ++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 8a0069764a007..af643c6c0e2b2 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -7,7 +7,7 @@ let , pkg-config, libxml2, tzdata, libkrb5, substituteAll, darwin , linux-pam, bison, flex, perl, docbook_xml_dtd_45, docbook-xsl-nons, libxslt - , removeReferencesTo, writeShellApplication + , removeReferencesTo, writeShellScriptBin , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs , gssSupport ? with stdenv.hostPlatform; !isWindows && !isStatic @@ -49,10 +49,7 @@ let else stdenv; - pg_config = writeShellApplication { - name = "pg_config"; - text = builtins.readFile ./pg_config.sh; - }; + pg_config = writeShellScriptBin "pg_config" (builtins.readFile ./pg_config.sh); in stdenv'.mkDerivation (finalAttrs: { inherit version; pname = pname + lib.optionalString jitSupport "-jit"; diff --git a/pkgs/servers/sql/postgresql/pg_config.sh b/pkgs/servers/sql/postgresql/pg_config.sh index 9538b213fb97a..d6293999a12dc 100644 --- a/pkgs/servers/sql/postgresql/pg_config.sh +++ b/pkgs/servers/sql/postgresql/pg_config.sh @@ -1,3 +1,5 @@ +set -euo pipefail + # The real pg_config needs to be in the same path as the "postgres" binary # to return proper paths. However, we want it in the -dev output to prevent # cyclic references and to prevent blowing up the runtime closure. Thus, we From 17738b26485900ee851dbe69433f6267e07d6fb6 Mon Sep 17 00:00:00 2001 From: Josh Hoffer Date: Fri, 15 Nov 2024 21:05:26 -0800 Subject: [PATCH 009/193] systemd: 256.7 -> 256.8 (cherry picked from commit 6fc6e7bce851f59f61c3f96c62a014bedc40fbf0) (cherry picked from commit 30bda35f7a9b616ad3b38968eca47b9d3624d310) --- pkgs/os-specific/linux/systemd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 5d10d3bcd3f05..5f86cfb32f6ac 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -185,7 +185,7 @@ assert withBootloader -> withEfi; let wantCurl = withRemote || withImportd; wantGcrypt = withResolved || withImportd; - version = "256.7"; + version = "256.8"; # Use the command below to update `releaseTimestamp` on every (major) version # change. More details in the commentary at mesonFlags. @@ -203,7 +203,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "systemd"; repo = "systemd"; rev = "v${version}"; - hash = "sha256-x214fOhEWLoiexRrN4lGx4Pqx2+jYN94w9GzntVRcZ4="; + hash = "sha256-L/MCsCCMVvK7LgxlaLFpnmsJuTu33cPaiMxIpHU7Tzg="; }; # On major changes, or when otherwise required, you *must* : From d93cc6973459ac089ba53dd61f1e19187a160420 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Wed, 13 Nov 2024 08:04:55 -0500 Subject: [PATCH 010/193] Revert "stdenv: set NIX_DONT_SET_RPATH_FOR_TARGET on Darwin" This reverts commit 10c87ee2c7661b0e699b270744439b2643aaa43b. (cherry picked from commit 1810b522d7c69fbc67f05aed4183aa53afffecfd) (cherry picked from commit 46affc630052d0ff791d7dd79c9ef3296121114b) --- pkgs/stdenv/generic/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 2cbd2636a4630..2cda43d5632f2 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -114,9 +114,14 @@ let export NIX_NO_SELF_RPATH=1 '' + lib.optionalString (hostPlatform.isDarwin && hostPlatform.isMacOS) '' export MACOSX_DEPLOYMENT_TARGET=${hostPlatform.darwinMinVersion} - '' + lib.optionalString targetPlatform.isDarwin '' - export NIX_DONT_SET_RPATH_FOR_TARGET=1 - ''; + '' + # TODO this should be uncommented, but it causes stupid mass rebuilds. I + # think the best solution would just be to fixup linux RPATHs so we don't + # need to set `-rpath` anywhere. + # + lib.optionalString targetPlatform.isDarwin '' + # export NIX_DONT_SET_RPATH_FOR_TARGET=1 + # '' + ; inherit initialPath shell defaultNativeBuildInputs defaultBuildInputs; From 85f95c56e4a177ef8f1278f50aad210e1e7dc64e Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sat, 16 Nov 2024 15:12:39 -0500 Subject: [PATCH 011/193] stdenv: elaborate on nature of mass rebuilds (cherry picked from commit 719c731df3f1b48570fc1e89d83e27d78ee26b23) (cherry picked from commit 7ad36a5523482864431135715ba35cce2c6d46ae) --- pkgs/stdenv/generic/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 2cda43d5632f2..9952a6ae0623f 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -115,8 +115,11 @@ let '' + lib.optionalString (hostPlatform.isDarwin && hostPlatform.isMacOS) '' export MACOSX_DEPLOYMENT_TARGET=${hostPlatform.darwinMinVersion} '' - # TODO this should be uncommented, but it causes stupid mass rebuilds. I - # think the best solution would just be to fixup linux RPATHs so we don't + # TODO this should be uncommented, but it causes stupid mass rebuilds due to + # `pkgsCross.*.buildPackages` not being the same, resulting in cross-compiling + # for a target rebuilding all of `nativeBuildInputs` for that target. + # + # I think the best solution would just be to fixup linux RPATHs so we don't # need to set `-rpath` anywhere. # + lib.optionalString targetPlatform.isDarwin '' # export NIX_DONT_SET_RPATH_FOR_TARGET=1 From fe5ea976bfba609f41e2383ce8d3922e1edcb66f Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 15 Oct 2024 13:44:01 +0200 Subject: [PATCH 012/193] llvmPackages_{12,13}.lldb: don't try to find nonexistent patch We just need to make sure the attribute evaluates so we can cleanly access `meta.broken` for those versions. (cherry picked from commit ce6c31c312584ce8f5a32fd7bbfe5e89734524b4) (cherry picked from commit 9bf90993f4ba264b12733c3ae768db6e821279c5) --- pkgs/development/compilers/llvm/common/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 707bb91b875de..9d74c65eaaf12 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -713,8 +713,12 @@ let # # See here for some context: # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132 + # + # Patch is applied for >= 14 as the versions below are broken anyways. ++ lib.optional ( - stdenv.targetPlatform.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "11.0" + lib.versionAtLeast metadata.release_version "14" + && stdenv.targetPlatform.isDarwin + && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "11.0" ) (metadata.getVersionFile "lldb/cpu_subtype_arm64e_replacement.patch"); } // lib.optionalAttrs (lib.versions.major metadata.release_version == "16") { From f0f66c41d4842b69daa4b76b73c480eca9dd5f77 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 6 Oct 2024 00:32:56 +0200 Subject: [PATCH 013/193] llvmPackages_12: build from monorepo source As mentioned in #305146, keeping LLVM 12 is a source of pain because it is the only version to be built from individual release tarball instead of the LLVM monorepo. This commit makes LLVM 12 start from the monorepo as well, simplifying all common LLVM expressions in the process. With #347887, some quirks in the expressions for LLVM <14 were ironed out, so building LLVM through from the monorepo is quite simple now. - Most expressions only required minor changes, mostly removing the special casing for `sourceRoot`. - The patch lists from llvm/12/default.nix were ported to common/default.nix. This only required a few extra conditionals which could be reduced via a rebuild also involving other LLVM versions. Outstanding tasks of little urgency have been noted in TODO comments. I have verified that the patch lists stay the same for all packages except LLVM where merely the order changes. An extra set of eyes is appreciated, of course. - clang: The expression was reworked to use the same symlink location for clang-tools-extra for all versions including LLVM 12. This required adjusting the ad hoc patching of the clangd cmake files slightly. - libunwind: We no longer need to make the libcxx sources available manually. We can rely on the monorepo source instead. - lld: We no longer need to make the libunwind sources available manually. - llvm: We no longer need to make the polly sources available manually - On Darwin, we need to bypass CMake's C++ compiler for libcxx and libunwind now. It isn't a 100% clear why, probably because we've started to use Darwin's bootstrapStdenv for libcxx in the common expression compared to LLVM 12 on master [1]. The reordering of flags for wasm causes a rebuild for some packages like firefox, but this should be tolerable on staging. [1]: https://github.com/NixOS/nixpkgs/blob/665ebfb253caba7b85c2affefe2a92b305def4e6/pkgs/development/compilers/llvm/12/default.nix#L392-L430 (cherry picked from commit ee9eacf23ec7cf46c6ebbbb215e4ee26a3bc6fed) (cherry picked from commit c4e9f17ef944bb7ce0d3d1226d7f922f28e46b02) --- .../development/compilers/llvm/12/default.nix | 445 ------------------ .../compilers/llvm/common/clang/default.nix | 40 +- .../llvm/common/compiler-rt/default.nix | 3 +- .../compilers/llvm/common/default.nix | 49 +- .../compilers/llvm/common/libcxx/default.nix | 6 +- .../llvm/common/libunwind/default.nix | 15 +- .../compilers/llvm/common/lld/default.nix | 12 +- .../compilers/llvm/common/llvm/default.nix | 17 +- .../compilers/llvm/common/openmp/default.nix | 4 +- pkgs/development/compilers/llvm/default.nix | 1 + pkgs/top-level/all-packages.nix | 11 +- 11 files changed, 75 insertions(+), 528 deletions(-) delete mode 100644 pkgs/development/compilers/llvm/12/default.nix diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix deleted file mode 100644 index 352cf8313d676..0000000000000 --- a/pkgs/development/compilers/llvm/12/default.nix +++ /dev/null @@ -1,445 +0,0 @@ -{ lowPrio, newScope, pkgs, lib, stdenv -, preLibcCrossHeaders -, substitute, substituteAll, fetchFromGitHub, fetchpatch, fetchurl -, overrideCC, wrapCCWith, wrapBintoolsWith -, libxcrypt -, buildLlvmTools # tools, but from the previous stage, for cross -, targetLlvmLibraries # libraries, but from the next stage, for cross -, targetLlvm -# This is the default binutils, but with *this* version of LLD rather -# than the default LLVM version's, if LLD is the choice. We use these for -# the `useLLVM` bootstrapping below. -, bootBintoolsNoLibc ? - if stdenv.targetPlatform.linker == "lld" - then null - else pkgs.bintoolsNoLibc -, bootBintools ? - if stdenv.targetPlatform.linker == "lld" - then null - else pkgs.bintools -, darwin -# Allows passthrough to packages via newScope. This makes it possible to -# do `(llvmPackages.override { = bar; }).clang` and get -# an llvmPackages whose packages are overridden in an internally consistent way. -, ... -}@args: - -let - candidate = ""; # empty or "rcN" - dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; - - metadata = rec { - release_version = "12.0.1"; - version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs - inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta; - fetch = name: sha256: fetchurl { - url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${metadata.version}/${name}-${metadata.release_version}${candidate}.src.tar.xz"; - inherit sha256; - }; - clang-tools-extra_src = fetch "clang-tools-extra" "1r9a4fdz9ci58b5z2inwvm4z4cdp6scrivnaw05dggkxz7yrwrb5"; - }; - - inherit (metadata) fetch; - - - tools = lib.makeExtensible (tools: let - callPackage = newScope (tools // args // metadata); - mkExtraBuildCommands0 = cc: '' - rsrc="$out/resource-root" - mkdir "$rsrc" - ln -s "${cc.lib}/lib/clang/${metadata.release_version}/include" "$rsrc" - echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - ''; - mkExtraBuildCommandsBasicRt = cc: mkExtraBuildCommands0 cc + '' - ln -s "${targetLlvmLibraries.compiler-rt-no-libc.out}/lib" "$rsrc/lib" - ln -s "${targetLlvmLibraries.compiler-rt-no-libc.out}/share" "$rsrc/share" - ''; - mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + '' - ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" - ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" - ''; - - bintoolsNoLibc' = - if bootBintoolsNoLibc == null - then tools.bintoolsNoLibc - else bootBintoolsNoLibc; - bintools' = - if bootBintools == null - then tools.bintools - else bootBintools; - - in { - - libllvm = callPackage ../common/llvm { - src = fetch "llvm" "1pzx9zrmd7r3481sbhwvkms68fwhffpp4mmz45dgrkjpyl2q96kx"; - polly_src = fetch "polly" "1yfm9ixda4a2sx7ak5vswijx4ydk5lv1c1xh39xmd2kh299y4m12"; - patches = [ - # When cross-compiling we configure llvm-config-native with an approximation - # of the flags used for the normal LLVM build. To avoid the need for building - # a native libLLVM.so (which would fail) we force llvm-config to be linked - # statically against the necessary LLVM components always. - ../common/llvm/llvm-config-link-static.patch - # Fix llvm being miscompiled by some gccs. See llvm/llvm-project#49955 - # Fix llvm being miscompiled by some gccs. See https://github.com/llvm/llvm-project/issues/49955 - ./llvm/fix-llvm-issue-49955.patch - - ./llvm/gnu-install-dirs.patch - # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test. - (fetchpatch { - name = "uops-CMOV16rm-noreg.diff"; - url = "https://github.com/llvm/llvm-project/commit/9e9f991ac033.diff"; - sha256 = "sha256:12s8vr6ibri8b48h2z38f3afhwam10arfiqfy4yg37bmc054p5hi"; - stripLen = 1; - }) - - # Fix musl build. - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/5cd554303ead0f8891eee3cd6d25cb07f5a7bf67.patch"; - relative = "llvm"; - hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA="; - }) - - # Backport gcc-13 fixes with missing includes. - (fetchpatch { - name = "signals-gcc-13.patch"; - url = "https://github.com/llvm/llvm-project/commit/ff1681ddb303223973653f7f5f3f3435b48a1983.patch"; - hash = "sha256-CXwYxQezTq5vdmc8Yn88BUAEly6YZ5VEIA6X3y5NNOs="; - stripLen = 1; - }) - (fetchpatch { - name = "base64-gcc-13.patch"; - url = "https://github.com/llvm/llvm-project/commit/5e9be93566f39ee6cecd579401e453eccfbe81e5.patch"; - hash = "sha256-PAwrVrvffPd7tphpwCkYiz+67szPRzRB2TXBvKfzQ7U="; - stripLen = 1; - }) - ]; - pollyPatches = [ - ./llvm/gnu-install-dirs-polly.patch - ]; - }; - - # `llvm` historically had the binaries. When choosing an output explicitly, - # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* - llvm = tools.libllvm; - - libclang = callPackage ../common/clang { - src = fetch "clang" "0px4gl27az6cdz6adds89qzdwb1cqpjsfvrldbz9qvpmphrj34bf"; - patches = [ - ./clang/purity.patch - # https://reviews.llvm.org/D51899 - ./clang/gnu-install-dirs.patch - (substituteAll { - src = ../common/clang/clang-11-15-LLVMgold-path.patch; - libllvmLibdir = "${tools.libllvm.lib}/lib"; - }) - ]; - }; - - clang-unwrapped = tools.libclang; - - # disabled until recommonmark supports sphinx 3 - #Llvm-manpages = lowPrio (tools.libllvm.override { - # enableManpages = true; - # python3 = pkgs.python3; # don't use python-boot - #}); - - clang-manpages = lowPrio (tools.libclang.override { - enableManpages = true; - python3 = pkgs.python3; # don't use python-boot - }); - - # disabled until recommonmark supports sphinx 3 - # lldb-manpages = lowPrio (tools.lldb.override { - # enableManpages = true; - # python3 = pkgs.python3; # don't use python-boot - # }); - - # Wrapper for standalone command line utilities - clang-tools = callPackage ../common/clang-tools { }; - - # pick clang appropriate for package set we are targeting - clang = - /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc - else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM - else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang - else tools.libcxxClang; - - libstdcxxClang = wrapCCWith rec { - cc = tools.clang-unwrapped; - # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper. - libcxx = null; - extraPackages = [ - targetLlvmLibraries.compiler-rt - ]; - extraBuildCommands = mkExtraBuildCommands cc; - }; - - libcxxClang = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = targetLlvmLibraries.libcxx; - extraPackages = [ - targetLlvmLibraries.compiler-rt - ]; - extraBuildCommands = mkExtraBuildCommands cc; - }; - - lld = callPackage ../common/lld { - src = fetch "lld" "0qg3fgc7wj34hdkqn21y03zcmsdd01szhhm1hfki63iifrm3y2v9"; - patches = [ - ./lld/gnu-install-dirs.patch - ]; - inherit (libraries) libunwind; - }; - - lldb = callPackage ../common/lldb.nix { - src = fetch "lldb" "0g3pj1m3chafavpr35r9fynm85y2hdyla6klj0h28khxs2613i78"; - patches = - let - resourceDirPatch = callPackage - ({ substituteAll, libclang }: substituteAll - { - src = ./lldb/resource-dir.patch; - clangLibDir = "${lib.getLib libclang}/lib"; - }) - { }; - in - [ - ./lldb/procfs.patch - resourceDirPatch - ./lldb/gnu-install-dirs.patch - ]; - }; - - # Below, is the LLVM bootstrapping logic. It handles building a - # fully LLVM toolchain from scratch. No GCC toolchain should be - # pulled in. As a consequence, it is very quick to build different - # targets provided by LLVM and we can also build for what GCC - # doesn’t support like LLVM. Probably we should move to some other - # file. - - bintools-unwrapped = callPackage ../common/bintools.nix { }; - - bintoolsNoLibc = wrapBintoolsWith { - bintools = tools.bintools-unwrapped; - libc = preLibcCrossHeaders; - }; - - bintools = wrapBintoolsWith { - bintools = tools.bintools-unwrapped; - }; - - clangUseLLVM = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = targetLlvmLibraries.libcxx; - bintools = bintools'; - extraPackages = [ - targetLlvmLibraries.compiler-rt - ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ - targetLlvmLibraries.libunwind - ]; - extraBuildCommands = '' - echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags - echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags - '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' - echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags - echo "-L${targetLlvmLibraries.libunwind}/lib" >> $out/nix-support/cc-ldflags - '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) '' - echo "-lunwind" >> $out/nix-support/cc-ldflags - '' + lib.optionalString stdenv.targetPlatform.isWasm '' - echo "-fno-exceptions" >> $out/nix-support/cc-cflags - '' + mkExtraBuildCommands cc; - }; - - clangWithLibcAndBasicRtAndLibcxx = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = targetLlvmLibraries.libcxx; - bintools = bintools'; - extraPackages = [ - targetLlvmLibraries.compiler-rt-no-libc - ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ - targetLlvmLibraries.libunwind - ]; - extraBuildCommands = '' - echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags - echo "-Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags - echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags - '' + mkExtraBuildCommandsBasicRt cc; - }; - - clangWithLibcAndBasicRt = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = null; - bintools = bintools'; - extraPackages = [ - targetLlvmLibraries.compiler-rt-no-libc - ]; - extraBuildCommands = '' - echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags - echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags - echo "-nostdlib++" >> $out/nix-support/cc-cflags - '' + mkExtraBuildCommandsBasicRt cc; - }; - - clangNoLibcWithBasicRt = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = null; - bintools = bintoolsNoLibc'; - extraPackages = [ - targetLlvmLibraries.compiler-rt-no-libc - ]; - extraBuildCommands = '' - echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags - echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags - '' + mkExtraBuildCommandsBasicRt cc; - }; - - clangNoLibcNoRt = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = null; - bintools = bintoolsNoLibc'; - extraPackages = [ ]; - extraBuildCommands = '' - echo "-nostartfiles" >> $out/nix-support/cc-cflags - '' + mkExtraBuildCommands0 cc; - }; - - # This is an "oddly ordered" bootstrap just for Darwin. Probably - # don't want it otherwise. - clangNoCompilerRtWithLibc = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = null; - bintools = bintools'; - extraPackages = [ ]; - extraBuildCommands = mkExtraBuildCommands0 cc; - }; - - # Aliases - clangNoCompilerRt = tools.clangNoLibcNoRt; - clangNoLibc = tools.clangNoLibcWithBasicRt; - clangNoLibcxx = tools.clangWithLibcAndBasicRt; - }); - - libraries = lib.makeExtensible (libraries: let - callPackage = newScope (libraries // buildLlvmTools // args // metadata); - in { - - compiler-rt-libc = callPackage ../common/compiler-rt (let - stdenv = - if args.stdenv.hostPlatform.useLLVM or false then - overrideCC args.stdenv buildLlvmTools.clangWithLibcAndBasicRtAndLibcxx - else - args.stdenv; - in { - src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l"; - patches = [ - ../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config - ./compiler-rt/gnu-install-dirs.patch - # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the - # extra `/`. - ./compiler-rt/normalize-var.patch - ../common/compiler-rt/darwin-plistbuddy-workaround.patch - ./compiler-rt/armv7l.patch - # Fix build on armv6l - ../common/compiler-rt/armv6-mcr-dmb.patch - ../common/compiler-rt/armv6-sync-ops-no-thumb.patch - ../common/compiler-rt/armv6-no-ldrexd-strexd.patch - ]; - inherit stdenv; - } // lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - libxcrypt = (libxcrypt.override { inherit stdenv; }).overrideAttrs (old: { - configureFlags = old.configureFlags ++ [ "--disable-symvers" ]; - }); - }); - - compiler-rt-no-libc = callPackage ../common/compiler-rt { - src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l"; - patches = [ - ../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config - ./compiler-rt/gnu-install-dirs.patch - # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the - # extra `/`. - ./compiler-rt/normalize-var.patch - ../common/compiler-rt/darwin-plistbuddy-workaround.patch - ./compiler-rt/armv7l.patch - # Fix build on armv6l - ../common/compiler-rt/armv6-mcr-dmb.patch - ../common/compiler-rt/armv6-sync-ops-no-thumb.patch - ../common/compiler-rt/armv6-no-ldrexd-strexd.patch - ]; - stdenv = - if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform then - stdenv - else - # TODO: make this branch unconditional next rebuild - overrideCC stdenv buildLlvmTools.clangNoLibcNoRt; - }; - - compiler-rt = - # Building the with-libc compiler-rt and WASM doesn't yet work, - # because wasilibc doesn't provide some expected things. See - # compiler-rt's file for further details. - if stdenv.hostPlatform.libc == null || stdenv.hostPlatform.isWasm then - libraries.compiler-rt-no-libc - else - libraries.compiler-rt-libc; - - stdenv = overrideCC stdenv buildLlvmTools.clang; - - libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - - libcxx = callPackage ../common/libcxx { - src = fetchFromGitHub { - owner = "llvm"; - repo = "llvm-project"; - rev = "refs/tags/llvmorg-${metadata.version}"; - sparseCheckout = [ - "libcxx" - "libcxxabi" - "llvm/cmake" - "llvm/utils" - "runtimes" - ]; - hash = "sha256-etxgXIdWxMTmbZ83Hsc0w6Jt5OSQSUEPVEWqLkHsNBY="; - }; - patches = [ - (substitute { - src = ../common/libcxxabi/wasm.patch; - substitutions = [ - "--replace-fail" "/cmake/" "/llvm/cmake/" - ]; - }) - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - (substitute { - src = ../common/libcxx/libcxx-0001-musl-hacks.patch; - substitutions = [ - "--replace-fail" "/include/" "/libcxx/include/" - ]; - }) - ]; - stdenv = overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt; - }; - - libunwind = callPackage ../common/libunwind { - src = fetch "libunwind" "192ww6n81lj2mb9pj4043z79jp3cf58a9c2qrxjwm5c3a64n1shb"; - patches = [ - ./libunwind/gnu-install-dirs.patch - ]; - stdenv = overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt; - }; - - openmp = callPackage ../common/openmp { - src = fetch "openmp" "14dh0r6h2xh747ffgnsl4z08h0ri04azi9vf79cbz7ma1r27kzk0"; - patches = [ - # Fix cross. - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/5e2358c781b85a18d1463fd924d2741d4ae5e42e.patch"; - hash = "sha256-UxIlAifXnexF/MaraPW0Ut6q+sf3e7y1fMdEv1q103A="; - }) - ]; - }; - }); - noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ]; - -in { inherit tools libraries; inherit (metadata) release_version; } // (noExtend libraries) // (noExtend tools) diff --git a/pkgs/development/compilers/llvm/common/clang/default.nix b/pkgs/development/compilers/llvm/common/clang/default.nix index 88f5dfd84d6ab..f842e11530e2c 100644 --- a/pkgs/development/compilers/llvm/common/clang/default.nix +++ b/pkgs/development/compilers/llvm/common/clang/default.nix @@ -16,7 +16,6 @@ , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false -, clang-tools-extra_src ? null , devExtraCmakeFlags ? [] }: @@ -38,8 +37,7 @@ let src = src'; - sourceRoot = if lib.versionOlder release_version "13" then null - else "${src.name}/${pname}"; + sourceRoot = "${src.name}/${pname}"; nativeBuildInputs = [ cmake ] ++ (lib.optional (lib.versionAtLeast release_version "15") ninja) @@ -79,17 +77,22 @@ let # Make sure clang passes the correct location of libLTO to ld64 substituteInPlace lib/Driver/ToolChains/Darwin.cpp \ --replace-fail 'StringRef P = llvm::sys::path::parent_path(D.Dir);' 'StringRef P = "${lib.getLib libllvm}";' - '' + ( + (cd tools && ln -s ../../clang-tools-extra extra) + '' + lib.optionalString ( + lib.versionOlder release_version "13" # See the comment on the `add-nostdlibinc-flag.patch` patch in # `../default.nix` for why we skip Darwin here. - if lib.versionOlder release_version "13" && (!stdenv.hostPlatform.isDarwin || !stdenv.targetPlatform.isDarwin) then '' - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ - -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ - lib/Driver/ToolChains/*.cpp - '' else '' - (cd tools && ln -s ../../clang-tools-extra extra) - '' - ) + lib.optionalString stdenv.hostPlatform.isMusl '' + && (!stdenv.hostPlatform.isDarwin || !stdenv.targetPlatform.isDarwin + ) '' + sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ + -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ + lib/Driver/ToolChains/*.cpp + '' + + lib.optionalString (lib.versionOlder release_version "13") '' + substituteInPlace tools/extra/clangd/quality/CompletionModel.cmake \ + --replace ' ''${CMAKE_SOURCE_DIR}/../clang-tools-extra' ' ''${CMAKE_SOURCE_DIR}/tools/extra' + '' + + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp ''; @@ -215,18 +218,7 @@ let ''; } else { ninjaFlags = [ "docs-clang-man" ]; - })) // (lib.optionalAttrs (clang-tools-extra_src != null) { inherit clang-tools-extra_src; }) - // (lib.optionalAttrs (lib.versionOlder release_version "13") { - unpackPhase = '' - unpackFile $src - mv clang-* clang - sourceRoot=$PWD/clang - unpackFile ${clang-tools-extra_src} - mv clang-tools-extra-* $sourceRoot/tools/extra - substituteInPlace $sourceRoot/tools/extra/clangd/quality/CompletionModel.cmake \ - --replace ' ''${CMAKE_SOURCE_DIR}/../clang-tools-extra' ' ''${CMAKE_SOURCE_DIR}/tools/extra' - ''; - }) + })) // (lib.optionalAttrs (lib.versionAtLeast release_version "15") { env = lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform && !stdenv.hostPlatform.useLLVM) { # The following warning is triggered with (at least) gcc >= diff --git a/pkgs/development/compilers/llvm/common/compiler-rt/default.nix b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix index 27e5254d17284..f859a415b5db2 100644 --- a/pkgs/development/compilers/llvm/common/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix @@ -73,8 +73,7 @@ stdenv.mkDerivation ({ inherit pname version patches; src = src'; - sourceRoot = if lib.versionOlder release_version "13" then null - else "${src'.name}/${baseName}"; + sourceRoot = "${src'.name}/${baseName}"; nativeBuildInputs = [ cmake ] ++ (lib.optional (lib.versionAtLeast release_version "15") ninja) diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 9d74c65eaaf12..5264dd05f0122 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -380,6 +380,17 @@ let libllvm = callPackage ./llvm { patches = lib.optional (lib.versionOlder metadata.release_version "14") ./llvm/llvm-config-link-static.patch + ++ lib.optionals (lib.versions.major metadata.release_version == "12") [ + (metadata.getVersionFile "llvm/fix-llvm-issue-49955.patch") + + # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test. + (fetchpatch { + name = "uops-CMOV16rm-noreg.diff"; + url = "https://github.com/llvm/llvm-project/commit/9e9f991ac033.diff"; + sha256 = "sha256:12s8vr6ibri8b48h2z38f3afhwam10arfiqfy4yg37bmc054p5hi"; + stripLen = 1; + }) + ] ++ [ (metadata.getVersionFile "llvm/gnu-install-dirs.patch") ] ++ lib.optionals (lib.versionAtLeast metadata.release_version "15") [ # Running the tests involves invoking binaries (like `opt`) that depend on @@ -443,7 +454,7 @@ let hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA="; } ) - ++ lib.optionals (lib.versions.major metadata.release_version == "13") [ + ++ lib.optionals (lib.versionOlder metadata.release_version "14") [ # Backport gcc-13 fixes with missing includes. (fetchpatch { name = "signals-gcc-13.patch"; @@ -544,7 +555,9 @@ let # compilers breaking libclang when we can do Linux‐to‐Darwin # cross‐compilation again. ++ lib.optional ( - !args.stdenv.hostPlatform.isDarwin || !args.stdenv.targetPlatform.isDarwin + # TODO: This also applies for clang == 12, do we need it? + lib.versionAtLeast metadata.release_version "13" && + (!args.stdenv.hostPlatform.isDarwin || !args.stdenv.targetPlatform.isDarwin) ) ./clang/add-nostdlibinc-flag.patch ++ [ (substituteAll { @@ -989,14 +1002,21 @@ let ); compiler-rtPatches = - lib.optional (lib.versionOlder metadata.release_version "15") ( - metadata.getVersionFile "compiler-rt/codesign.patch" - ) # Revert compiler-rt commit that makes codesign mandatory + lib.optionals (lib.versions.major metadata.release_version == "12") [ + # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt/7-12-codesign.patch + ] + ++ lib.optional ( + lib.versionAtLeast metadata.release_version "13" && lib.versionOlder metadata.release_version "15" + ) (metadata.getVersionFile "compiler-rt/codesign.patch") # Revert compiler-rt commit that makes codesign mandatory ++ [ (metadata.getVersionFile "compiler-rt/X86-support-extension.patch") # Add support for i486 i586 i686 by reusing i386 config ] ++ lib.optional ( - lib.versionAtLeast metadata.release_version "14" && lib.versionOlder metadata.release_version "18" + lib.versions.major metadata.release_version == "12" + || ( + lib.versionAtLeast metadata.release_version "14" && lib.versionOlder metadata.release_version "18" + ) ) (metadata.getVersionFile "compiler-rt/gnu-install-dirs.patch") ++ [ # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the @@ -1004,9 +1024,11 @@ let (metadata.getVersionFile "compiler-rt/normalize-var.patch") ] ++ - lib.optional (lib.versionOlder metadata.release_version "18") + lib.optional + (lib.versionAtLeast metadata.release_version "13" && lib.versionOlder metadata.release_version "18") # Prevent a compilation error on darwin (metadata.getVersionFile "compiler-rt/darwin-targetconditionals.patch") + # TODO: make unconditional and remove in <15 section below. Causes rebuilds. ++ lib.optionals (lib.versionAtLeast metadata.release_version "15") [ # See: https://github.com/NixOS/nixpkgs/pull/186575 ./compiler-rt/darwin-plistbuddy-workaround.patch @@ -1022,13 +1044,18 @@ let ./compiler-rt/armv6-mcr-dmb.patch ./compiler-rt/armv6-sync-ops-no-thumb.patch ] - ++ lib.optionals (lib.versionOlder metadata.release_version "18") [ - # Fix build on armv6l - ./compiler-rt/armv6-scudo-no-yield.patch - ] + ++ + lib.optionals + (lib.versionAtLeast metadata.release_version "13" && lib.versionOlder metadata.release_version "18") + [ + # Fix build on armv6l + ./compiler-rt/armv6-scudo-no-yield.patch + ] ++ [ # Fix build on armv6l ./compiler-rt/armv6-no-ldrexd-strexd.patch + ] + ++ lib.optionals (lib.versionAtLeast metadata.release_version "13") [ (metadata.getVersionFile "compiler-rt/armv6-scudo-libatomic.patch") ] ++ lib.optional (lib.versionAtLeast metadata.release_version "19") (fetchpatch { diff --git a/pkgs/development/compilers/llvm/common/libcxx/default.nix b/pkgs/development/compilers/llvm/common/libcxx/default.nix index 453013cdbd27b..fe9ae5d0d502b 100644 --- a/pkgs/development/compilers/llvm/common/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/common/libcxx/default.nix @@ -105,9 +105,13 @@ let cmakeFlags = [ "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" + ] ++ lib.optionals ( + stdenv.hostPlatform.isWasm + || (lib.versions.major release_version == "12" && stdenv.hostPlatform.isDarwin) + ) [ + "-DCMAKE_CXX_COMPILER_WORKS=ON" ] ++ lib.optionals stdenv.hostPlatform.isWasm [ "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker ] ++ cxxCMakeFlags ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags diff --git a/pkgs/development/compilers/llvm/common/libunwind/default.nix b/pkgs/development/compilers/llvm/common/libunwind/default.nix index 63b9737092b89..4f1fa0107c14b 100644 --- a/pkgs/development/compilers/llvm/common/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/common/libunwind/default.nix @@ -35,11 +35,6 @@ let hasPatches = builtins.length patches > 0; - postUnpack = lib.optionalString (lib.versions.major release_version == "12") '' - ln -s ${libcxx.src}/libcxx . - ln -s ${libcxx.src}/llvm . - ''; - prePatch = lib.optionalString (lib.versionAtLeast release_version "15" && (hasPatches || lib.versionOlder release_version "18")) '' cd ../${pname} chmod -R u+w . @@ -60,8 +55,8 @@ stdenv.mkDerivation (rec { src = src'; sourceRoot = - if lib.versionOlder release_version "13" then null - else if lib.versionAtLeast release_version "15" then "${src.name}/runtimes" + if lib.versionAtLeast release_version "15" + then "${src.name}/runtimes" else "${src.name}/${pname}"; outputs = [ "out" "dev" ]; @@ -72,6 +67,9 @@ stdenv.mkDerivation (rec { cmakeFlags = lib.optional (lib.versionAtLeast release_version "15") "-DLLVM_ENABLE_RUNTIMES=libunwind" ++ lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF" + ++ lib.optionals (lib.versions.major release_version == "12" && stdenv.hostPlatform.isDarwin) [ + "-DCMAKE_CXX_COMPILER_WORKS=ON" + ] ++ devExtraCmakeFlags; meta = llvm_meta // { @@ -85,7 +83,6 @@ stdenv.mkDerivation (rec { dependency of other runtimes. ''; }; -} // (if postUnpack != "" then { inherit postUnpack; } else {}) - // (if (lib.versionAtLeast release_version "15") then { inherit postInstall; } else {}) +} // (if (lib.versionAtLeast release_version "15") then { inherit postInstall; } else {}) // (if prePatch != "" then { inherit prePatch; } else {}) // (if postPatch != "" then { inherit postPatch; } else {})) diff --git a/pkgs/development/compilers/llvm/common/lld/default.nix b/pkgs/development/compilers/llvm/common/lld/default.nix index 32cf5cb464609..4008f2076d731 100644 --- a/pkgs/development/compilers/llvm/common/lld/default.nix +++ b/pkgs/development/compilers/llvm/common/lld/default.nix @@ -6,7 +6,6 @@ , buildLlvmTools , monorepoSrc ? null , src ? null -, libunwind ? null , runCommand , cmake , ninja @@ -30,12 +29,7 @@ let mkdir -p "$out/llvm" '') else src; - postPatch = lib.optionalString (lib.versions.major release_version == "12") '' - substituteInPlace MachO/CMakeLists.txt --replace \ - '(''${LLVM_MAIN_SRC_DIR}/' '(' - mkdir -p libunwind/include - tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/" - '' + lib.optionalString (lib.versions.major release_version == "13") '' + postPatch = lib.optionalString (lib.versionOlder release_version "14") '' substituteInPlace MachO/CMakeLists.txt --replace \ '(''${LLVM_MAIN_SRC_DIR}/' '(../' ''; @@ -45,9 +39,7 @@ stdenv.mkDerivation (rec { src = src'; - sourceRoot = - if lib.versionOlder release_version "13" then null - else "${src.name}/${pname}"; + sourceRoot = "${src.name}/${pname}"; nativeBuildInputs = [ cmake ] ++ lib.optional (lib.versionAtLeast release_version "15") ninja; buildInputs = [ libllvm libxml2 ]; diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index bd384108408cd..be106b3db295b 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -4,7 +4,6 @@ , pkgsBuildBuild , pollyPatches ? [] , patches ? [] -, polly_src ? null , src ? null , monorepoSrc ? null , runCommand @@ -107,8 +106,7 @@ stdenv.mkDerivation (finalAttrs: { src = src'; patches = patches'; - sourceRoot = if lib.versionOlder release_version "13" then null - else "${finalAttrs.src.name}/${pname}"; + sourceRoot = "${finalAttrs.src.name}/${pname}"; outputs = [ "out" "lib" "dev" "python" ]; @@ -493,18 +491,7 @@ stdenv.mkDerivation (finalAttrs: { postPatch = null; postInstall = null; -})) // lib.optionalAttrs (lib.versionOlder release_version "13") { - inherit polly_src; - - unpackPhase = '' - unpackFile $src - mv llvm-${release_version}* llvm - sourceRoot=$PWD/llvm - '' + optionalString enablePolly '' - unpackFile $polly_src - mv polly-* $sourceRoot/tools/polly - ''; -} // lib.optionalAttrs (lib.versionAtLeast release_version "13") { +})) // lib.optionalAttrs (lib.versionAtLeast release_version "13") { nativeCheckInputs = [ which ] ++ lib.optional (stdenv.hostPlatform.isDarwin && lib.versionAtLeast release_version "15") sysctl; } // lib.optionalAttrs (lib.versionOlder release_version "15") { # hacky fix: created binaries need to be run before installation diff --git a/pkgs/development/compilers/llvm/common/openmp/default.nix b/pkgs/development/compilers/llvm/common/openmp/default.nix index 1ad5948edb863..1fe089938f03a 100644 --- a/pkgs/development/compilers/llvm/common/openmp/default.nix +++ b/pkgs/development/compilers/llvm/common/openmp/default.nix @@ -34,9 +34,7 @@ stdenv.mkDerivation (rec { src = src'; - sourceRoot = - if lib.versionOlder release_version "13" then null - else "${src.name}/${pname}"; + sourceRoot = "${src.name}/${pname}"; outputs = [ "out" ] ++ lib.optionals (lib.versionAtLeast release_version "14") [ "dev" ]; diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index 390a1b43eca6d..5971dd73b4d32 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -22,6 +22,7 @@ }@packageSetArgs: let versions = { + "12.0.1".officialRelease.sha256 = "08s5w2db9imb2yaqsvxs6pg21csi1cf6wa35rf8x6q07mam7j8qv"; "13.0.1".officialRelease.sha256 = "06dv6h5dmvzdxbif2s8njki6h32796v368dyb5945x8gjj72xh7k"; "14.0.6".officialRelease.sha256 = "sha256-vffu4HilvYwtzwgq+NlS26m65DGbp6OSSne2aje1yJE="; "15.0.7".officialRelease.sha256 = "sha256-wjuZQyXQ/jsmvy6y1aksCcEDXGBjuhpgngF3XQJ/T4s="; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e6d18c1a38492..ad8654674b617 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6685,16 +6685,10 @@ with pkgs; stdenv.targetPlatform)); in pkgs.${"llvmPackages_${minSupported}"}; - llvmPackages_12 = recurseIntoAttrs (callPackage ../development/compilers/llvm/12 { - inherit (stdenvAdapters) overrideCC; - buildLlvmTools = buildPackages.llvmPackages_12.tools; - targetLlvmLibraries = targetPackages.llvmPackages_12.libraries or llvmPackages_12.libraries; - targetLlvm = targetPackages.llvmPackages_12.llvm or llvmPackages_12.llvm; - }); - inherit (rec { llvmPackagesSet = recurseIntoAttrs (callPackages ../development/compilers/llvm { }); + llvmPackages_12 = llvmPackagesSet."12"; llvmPackages_13 = llvmPackagesSet."13"; llvmPackages_14 = llvmPackagesSet."14"; llvmPackages_15 = llvmPackagesSet."15"; @@ -6713,7 +6707,8 @@ with pkgs; lldb_19 = llvmPackages_19.lldb; llvm_19 = llvmPackages_19.llvm; bolt_19 = llvmPackages_19.bolt; - }) llvmPackages_13 + }) llvmPackages_12 + llvmPackages_13 llvmPackages_14 llvmPackages_15 llvmPackages_16 From fcb5d10d261de68f81dc939a29e05e54d9059565 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 12 Oct 2024 18:31:24 +0200 Subject: [PATCH 014/193] llvmPackages_12.compiler-rt: move codesign patch into versioned dir All LLVM versions < 12 have been removed, so this patch can live in the versioned directory, simplifying the patch list in the process. (cherry picked from commit 8408b91e8dae5b31807f43da351b3271316fb165) (cherry picked from commit e33308016c10e2c67551e448b420bed634907c62) --- .../compiler-rt/codesign.patch} | 0 pkgs/development/compilers/llvm/common/default.nix | 10 +++------- 2 files changed, 3 insertions(+), 7 deletions(-) rename pkgs/development/compilers/llvm/{common/compiler-rt/7-12-codesign.patch => 12/compiler-rt/codesign.patch} (100%) diff --git a/pkgs/development/compilers/llvm/common/compiler-rt/7-12-codesign.patch b/pkgs/development/compilers/llvm/12/compiler-rt/codesign.patch similarity index 100% rename from pkgs/development/compilers/llvm/common/compiler-rt/7-12-codesign.patch rename to pkgs/development/compilers/llvm/12/compiler-rt/codesign.patch diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 5264dd05f0122..8349e506c6666 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -1002,13 +1002,9 @@ let ); compiler-rtPatches = - lib.optionals (lib.versions.major metadata.release_version == "12") [ - # Revert compiler-rt commit that makes codesign mandatory - ./compiler-rt/7-12-codesign.patch - ] - ++ lib.optional ( - lib.versionAtLeast metadata.release_version "13" && lib.versionOlder metadata.release_version "15" - ) (metadata.getVersionFile "compiler-rt/codesign.patch") # Revert compiler-rt commit that makes codesign mandatory + lib.optional (lib.versionOlder metadata.release_version "15") ( + metadata.getVersionFile "compiler-rt/codesign.patch" + ) # Revert compiler-rt commit that makes codesign mandatory ++ [ (metadata.getVersionFile "compiler-rt/X86-support-extension.patch") # Add support for i486 i586 i686 by reusing i386 config ] From 6309f136703ef1c53c2fc5ca00eb22211c00bda9 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 12 Oct 2024 18:36:45 +0200 Subject: [PATCH 015/193] llvmPackages_12.clang: use nostdlibinc patch instead of sed command Seems like the patch we've written for LLVM 13 and above also works for LLVM 12 which seems a little more robust. (cherry picked from commit 37437849deb116c22c01191f5ecbef2c7b30f1f7) (cherry picked from commit f30f8ee969e6a395da091e7a8053e779b39686ff) --- .../compilers/llvm/common/clang/default.nix | 12 +----------- pkgs/development/compilers/llvm/common/default.nix | 4 +--- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/clang/default.nix b/pkgs/development/compilers/llvm/common/clang/default.nix index f842e11530e2c..44e13c48fd4ba 100644 --- a/pkgs/development/compilers/llvm/common/clang/default.nix +++ b/pkgs/development/compilers/llvm/common/clang/default.nix @@ -78,17 +78,7 @@ let substituteInPlace lib/Driver/ToolChains/Darwin.cpp \ --replace-fail 'StringRef P = llvm::sys::path::parent_path(D.Dir);' 'StringRef P = "${lib.getLib libllvm}";' (cd tools && ln -s ../../clang-tools-extra extra) - '' + lib.optionalString ( - lib.versionOlder release_version "13" - # See the comment on the `add-nostdlibinc-flag.patch` patch in - # `../default.nix` for why we skip Darwin here. - && (!stdenv.hostPlatform.isDarwin || !stdenv.targetPlatform.isDarwin - ) '' - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ - -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ - lib/Driver/ToolChains/*.cpp - '' - + lib.optionalString (lib.versionOlder release_version "13") '' + '' + lib.optionalString (lib.versionOlder release_version "13") '' substituteInPlace tools/extra/clangd/quality/CompletionModel.cmake \ --replace ' ''${CMAKE_SOURCE_DIR}/../clang-tools-extra' ' ''${CMAKE_SOURCE_DIR}/tools/extra' '' diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 8349e506c6666..fa1f61bfd5d14 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -555,9 +555,7 @@ let # compilers breaking libclang when we can do Linux‐to‐Darwin # cross‐compilation again. ++ lib.optional ( - # TODO: This also applies for clang == 12, do we need it? - lib.versionAtLeast metadata.release_version "13" && - (!args.stdenv.hostPlatform.isDarwin || !args.stdenv.targetPlatform.isDarwin) + !args.stdenv.hostPlatform.isDarwin || !args.stdenv.targetPlatform.isDarwin ) ./clang/add-nostdlibinc-flag.patch ++ [ (substituteAll { From 67de25922b06ffe863b542f483bc9f6319d3d447 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Fri, 15 Nov 2024 11:19:53 +0100 Subject: [PATCH 016/193] curl: backport netrc regression fix Signed-off-by: Sefa Eyeoglu (cherry picked from commit 9be3e110508ee6ad12d6b4935a9df4a82c29c4f2) (cherry picked from commit a24bde482b20b7dd0dad21349893b8b209282623) --- .../cu/curlMinimal/fix-netrc-regression.patch | 217 ++++++++++++++++++ pkgs/by-name/cu/curlMinimal/package.nix | 8 + 2 files changed, 225 insertions(+) create mode 100644 pkgs/by-name/cu/curlMinimal/fix-netrc-regression.patch diff --git a/pkgs/by-name/cu/curlMinimal/fix-netrc-regression.patch b/pkgs/by-name/cu/curlMinimal/fix-netrc-regression.patch new file mode 100644 index 0000000000000..d614be60b9e48 --- /dev/null +++ b/pkgs/by-name/cu/curlMinimal/fix-netrc-regression.patch @@ -0,0 +1,217 @@ +From f5c616930b5cf148b1b2632da4f5963ff48bdf88 Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg +Date: Thu, 7 Nov 2024 08:52:38 +0100 +Subject: [PATCH] duphandle: also init netrc + +The netrc init was only done in the Curl_open, meaning that a duplicated +handle would not get inited properly. + +Added test 2309 to verify. It does netrc auth with a duplicated handle. + +Regression from 3b43a05e000aa8f65bda513f733a + +Reported-by: tranzystorekk on github +Fixes #15496 +Closes #15503 +--- + lib/easy.c | 1 + + tests/data/Makefile.am | 2 +- + tests/data/test2309 | 66 ++++++++++++++++++++++++++++++++++++++ + tests/libtest/Makefile.inc | 5 ++- + tests/libtest/lib2309.c | 66 ++++++++++++++++++++++++++++++++++++++ + 5 files changed, 138 insertions(+), 2 deletions(-) + create mode 100644 tests/data/test2309 + create mode 100644 tests/libtest/lib2309.c + +diff --git a/lib/easy.c b/lib/easy.c +index d16fa8c07afec00ab6186880eff05c925da00380..ac8fab34220d9b4f1f8f9cb7bc504a5024a46cca 100644 +--- a/lib/easy.c ++++ b/lib/easy.c +@@ -940,6 +940,7 @@ CURL *curl_easy_duphandle(CURL *d) + goto fail; + + Curl_dyn_init(&outcurl->state.headerb, CURL_MAX_HTTP_HEADER); ++ Curl_netrc_init(&outcurl->state.netrc); + + /* the connection pool is setup on demand */ + outcurl->state.lastconnect_id = -1; +diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am +index 02bf2ae25bfd49dce27d4cd2320a2794ba5b4212..ea5221c00fd4193e1713b1313da338f1ea6aee4f 100644 +--- a/tests/data/Makefile.am ++++ b/tests/data/Makefile.am +@@ -255,7 +255,7 @@ test2100 \ + test2200 test2201 test2202 test2203 test2204 test2205 \ + \ + test2300 test2301 test2302 test2303 test2304 test2305 test2306 test2307 \ +-test2308 \ ++test2308 test2309 \ + \ + test2400 test2401 test2402 test2403 test2404 test2405 test2406 \ + \ +diff --git a/tests/data/test2309 b/tests/data/test2309 +new file mode 100644 +index 0000000000000000000000000000000000000000..4ba78ee91e179c932f8bfa776d32f311512ef8e6 +--- /dev/null ++++ b/tests/data/test2309 +@@ -0,0 +1,66 @@ ++ ++ ++ ++netrc ++HTTP ++ ++ ++# ++# Server-side ++ ++ ++HTTP/1.1 200 OK ++Date: Tue, 09 Nov 2010 14:49:00 GMT ++Server: test-server/fake ++Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ++ETag: "21025-dc7-39462498" ++Accept-Ranges: bytes ++Content-Length: 6 ++Connection: close ++Content-Type: text/html ++Funny-head: yesyes ++ ++-foo- ++ ++ ++ ++# ++# Client-side ++ ++ ++http ++ ++ ++proxy ++ ++ ++# Reproducing issue 15496 ++ ++HTTP with .netrc using duped easy handle ++ ++ ++lib%TESTNUMBER ++ ++ ++http://github.com %LOGDIR/netrc%TESTNUMBER http://%HOSTIP:%HTTPPORT/ ++ ++ ++ ++machine github.com ++ ++login daniel ++password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1 ++ ++ ++ ++ ++ ++GET http://github.com/ HTTP/1.1 ++Host: github.com ++Authorization: Basic %b64[daniel:$y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1]b64% ++Accept: */* ++Proxy-Connection: Keep-Alive ++ ++ ++ ++ +diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc +index 339a00fc4ed41e1491ea945ff9ebeb7caf058c69..8f58fd64229d5cbcebdb4949111b3c3184d82eb3 100644 +--- a/tests/libtest/Makefile.inc ++++ b/tests/libtest/Makefile.inc +@@ -77,7 +77,7 @@ LIBTESTPROGS = libauthretry libntlmconnect libprereq \ + lib1945 lib1946 lib1947 lib1948 lib1955 lib1956 lib1957 lib1958 lib1959 \ + lib1960 lib1964 \ + lib1970 lib1971 lib1972 lib1973 lib1974 lib1975 \ +- lib2301 lib2302 lib2304 lib2305 lib2306 lib2308 \ ++ lib2301 lib2302 lib2304 lib2305 lib2306 lib2308 lib2309 \ + lib2402 lib2404 lib2405 \ + lib2502 \ + lib3010 lib3025 lib3026 lib3027 \ +@@ -683,6 +683,9 @@ lib2306_LDADD = $(TESTUTIL_LIBS) + lib2308_SOURCES = lib2308.c $(SUPPORTFILES) + lib2308_LDADD = $(TESTUTIL_LIBS) + ++lib2309_SOURCES = lib2309.c $(SUPPORTFILES) ++lib2309_LDADD = $(TESTUTIL_LIBS) ++ + lib2402_SOURCES = lib2402.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) + lib2402_LDADD = $(TESTUTIL_LIBS) + +diff --git a/tests/libtest/lib2309.c b/tests/libtest/lib2309.c +new file mode 100644 +index 0000000000000000000000000000000000000000..11f1c1fbd886846d5901b03ba9cd0314672fec99 +--- /dev/null ++++ b/tests/libtest/lib2309.c +@@ -0,0 +1,66 @@ ++/*************************************************************************** ++ * _ _ ____ _ ++ * Project ___| | | | _ \| | ++ * / __| | | | |_) | | ++ * | (__| |_| | _ <| |___ ++ * \___|\___/|_| \_\_____| ++ * ++ * Copyright (C) Daniel Stenberg, , et al. ++ * ++ * This software is licensed as described in the file COPYING, which ++ * you should have received as part of this distribution. The terms ++ * are also available at https://curl.se/docs/copyright.html. ++ * ++ * You may opt to use, copy, modify, merge, publish, distribute and/or sell ++ * copies of the Software, and permit persons to whom the Software is ++ * furnished to do so, under the terms of the COPYING file. ++ * ++ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY ++ * KIND, either express or implied. ++ * ++ * SPDX-License-Identifier: curl ++ * ++ ***************************************************************************/ ++ ++#include "test.h" ++#include "testtrace.h" ++ ++#include ++ ++static size_t cb_ignore(char *buffer, size_t size, size_t nmemb, void *userp) ++{ ++ (void)buffer; ++ (void)size; ++ (void)nmemb; ++ (void)userp; ++ return CURL_WRITEFUNC_ERROR; ++} ++ ++CURLcode test(char *URL) ++{ ++ CURL *curl; ++ CURL *curldupe; ++ CURLcode res = CURLE_OK; ++ ++ global_init(CURL_GLOBAL_ALL); ++ curl = curl_easy_init(); ++ if(curl) { ++ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cb_ignore); ++ curl_easy_setopt(curl, CURLOPT_URL, URL); ++ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); ++ curl_easy_setopt(curl, CURLOPT_PROXY, libtest_arg3); ++ curl_easy_setopt(curl, CURLOPT_NETRC, (long)CURL_NETRC_REQUIRED); ++ curl_easy_setopt(curl, CURLOPT_NETRC_FILE, libtest_arg2); ++ ++ curldupe = curl_easy_duphandle(curl); ++ if(curldupe) { ++ res = curl_easy_perform(curldupe); ++ printf("Returned %d, should be %d.\n", res, CURLE_WRITE_ERROR); ++ fflush(stdout); ++ curl_easy_cleanup(curldupe); ++ } ++ curl_easy_cleanup(curl); ++ } ++ curl_global_cleanup(); ++ return CURLE_OK; ++} diff --git a/pkgs/by-name/cu/curlMinimal/package.nix b/pkgs/by-name/cu/curlMinimal/package.nix index 399101a214358..3e2c4fc8ed836 100644 --- a/pkgs/by-name/cu/curlMinimal/package.nix +++ b/pkgs/by-name/cu/curlMinimal/package.nix @@ -59,6 +59,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-21nPDWccpuf1wsXsF3CEozp54EyX5xzxg6XN6iNQVOs="; }; + patches = [ + # https://github.com/NixOS/nixpkgs/issues/356114 + # https://github.com/curl/curl/issues/15496 + # https://github.com/curl/curl/commit/f5c616930b5cf148b1b2632da4f5963ff48bdf88 + # TODO: Remove this patch when 8.11.1/8.12.0 releases + ./fix-netrc-regression.patch + ]; + # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion # necessary for FreeBSD code path in configure postPatch = '' From 6b98b10a65e77b7bc2f19de33a4f93d5e88546fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 8 Nov 2024 12:03:17 -0800 Subject: [PATCH 017/193] python312Packages.setuptools: 75.1.0 -> 75.1.1 Diff: https://github.com/pypa/setuptools/compare/refs/tags/v75.1.0...75.1.1 Changelog: https://setuptools.pypa.io/en/stable/history.html#v75-1-1 (cherry picked from commit 49245b838c5417fb6fb5eca8d69cb22e2f3427e7) (cherry picked from commit e52f251230df49eceeaf8da269f8bbeab9cba5cb) --- pkgs/development/python-modules/setuptools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix index 8b53de0a48908..c39ae6917bcd4 100644 --- a/pkgs/development/python-modules/setuptools/default.nix +++ b/pkgs/development/python-modules/setuptools/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "setuptools"; - version = "75.1.0"; + version = "75.1.1"; format = "pyproject"; src = fetchFromGitHub { owner = "pypa"; repo = "setuptools"; rev = "refs/tags/v${version}"; - hash = "sha256-ZvhXfusayUHHFXl7ZBksFhxTi1p+Va6qAwq7Fo7Tg/s="; + hash = "sha256-b8O/DrDWAbD6ht9M762fFN6kPtV8hAbn1gAN9SS7H5g="; }; patches = [ From e608a7688ac4b08d1bd449040b87b8e78d8b15ac Mon Sep 17 00:00:00 2001 From: David McFarland Date: Thu, 14 Nov 2024 13:21:10 -0400 Subject: [PATCH 018/193] autoconf-archive: fix quoting of m4_fatal This cherry-picks a patch set fixing calls to m4_fatal which caused some packages to fail in autoconf (e.g. cava). (cherry picked from commit bdd6ddd20d7f5ff12ef5a8156603550516d9d5c2) (cherry picked from commit 83c8c7fad4c5eeb9e4950c13d6d7a37c17d9d42f) --- ..._check_gl.m4-properly-quote-m4_fatal.patch | 38 +++++++++++++++++++ ...check_glx.m4-properly-quote-m4_fatal.patch | 37 ++++++++++++++++++ ...tch_flags.m4-properly-quote-m4_fatal.patch | 32 ++++++++++++++++ pkgs/by-name/au/autoconf-archive/package.nix | 9 +++++ 4 files changed, 116 insertions(+) create mode 100644 pkgs/by-name/au/autoconf-archive/0001-ax_check_gl.m4-properly-quote-m4_fatal.patch create mode 100644 pkgs/by-name/au/autoconf-archive/0002-ax_check_glx.m4-properly-quote-m4_fatal.patch create mode 100644 pkgs/by-name/au/autoconf-archive/0003-ax_switch_flags.m4-properly-quote-m4_fatal.patch diff --git a/pkgs/by-name/au/autoconf-archive/0001-ax_check_gl.m4-properly-quote-m4_fatal.patch b/pkgs/by-name/au/autoconf-archive/0001-ax_check_gl.m4-properly-quote-m4_fatal.patch new file mode 100644 index 0000000000000..d8dd804eac38c --- /dev/null +++ b/pkgs/by-name/au/autoconf-archive/0001-ax_check_gl.m4-properly-quote-m4_fatal.patch @@ -0,0 +1,38 @@ +From 427e226a2fe3980388abffd6de25ed6b9591cce3 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Sat, 19 Oct 2024 21:51:30 -0400 +Subject: [PATCH 1/3] ax_check_gl.m4: properly quote m4_fatal + +It needs to only run as an argument of m4_if, not all the time. + +Fixes: 753493bf7e251997f02559b98fc599d4a337d8cd +Bug: https://bugs.gentoo.org/941845 +--- + m4/ax_check_gl.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/ax_check_gl.m4 b/m4/ax_check_gl.m4 +index 850d407..4c2e4ef 100644 +--- a/m4/ax_check_gl.m4 ++++ b/m4/ax_check_gl.m4 +@@ -85,7 +85,7 @@ + # modified version of the Autoconf Macro, you may extend this special + # exception to the GPL to apply to your modified version as well. + +-#serial 23 ++#serial 24 + + # example gl program + m4_define([_AX_CHECK_GL_PROGRAM], +@@ -187,7 +187,7 @@ AC_DEFUN([_AX_CHECK_GL_LINK_CV], + AC_DEFUN([_AX_CHECK_GL_MANUAL_LIBS_GENERIC], [ + AS_IF([test -n "$GL_LIBS"],[], [ + ax_check_gl_manual_libs_generic_extra_libs="$1" +- m4_if($1, [], m4_fatal([$0: argument must not be empty])) ++ m4_if($1, [], [m4_fatal([$0: argument must not be empty])]) + + _AX_CHECK_GL_SAVE_FLAGS([CFLAGS]) + AC_SEARCH_LIBS([glBegin],[$ax_check_gl_manual_libs_generic_extra_libs], [ +-- +2.46.1 + diff --git a/pkgs/by-name/au/autoconf-archive/0002-ax_check_glx.m4-properly-quote-m4_fatal.patch b/pkgs/by-name/au/autoconf-archive/0002-ax_check_glx.m4-properly-quote-m4_fatal.patch new file mode 100644 index 0000000000000..98ec29531cd49 --- /dev/null +++ b/pkgs/by-name/au/autoconf-archive/0002-ax_check_glx.m4-properly-quote-m4_fatal.patch @@ -0,0 +1,37 @@ +From e25f8d9e3ead52f998535b86c763065c5b45cc59 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Sat, 19 Oct 2024 21:57:16 -0400 +Subject: [PATCH 2/3] ax_check_glx.m4: properly quote m4_fatal + +It needs to only run as an argument of m4_if, not all the time. + +Fixes: 40ca66e7e52bb63e3eee2514855fcf3ad2df7673 +--- + m4/ax_check_glx.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/ax_check_glx.m4 b/m4/ax_check_glx.m4 +index c7890d9..b5027f9 100644 +--- a/m4/ax_check_glx.m4 ++++ b/m4/ax_check_glx.m4 +@@ -61,7 +61,7 @@ + # modified version of the Autoconf Macro, you may extend this special + # exception to the GPL to apply to your modified version as well. + +-#serial 9 ++#serial 10 + + # example program + m4_define([_AX_CHECK_GLX_PROGRAM], +@@ -183,7 +183,7 @@ AC_DEFUN([_AX_CHECK_GLX_HEADERS], + AC_DEFUN([_AX_CHECK_GLX_MANUAL_LIBS_GENERIC], + [dnl + ax_check_glx_manual_libs_generic_extra_libs="$1" +- m4_if($1, [], m4_fatal([$0: argument must not be empty])) ++ m4_if($1, [], [m4_fatal([$0: argument must not be empty])]) + + AC_LANG_PUSH([C]) + _AX_CHECK_GLX_SAVE_FLAGS() +-- +2.46.1 + diff --git a/pkgs/by-name/au/autoconf-archive/0003-ax_switch_flags.m4-properly-quote-m4_fatal.patch b/pkgs/by-name/au/autoconf-archive/0003-ax_switch_flags.m4-properly-quote-m4_fatal.patch new file mode 100644 index 0000000000000..d3b8f18dc0e80 --- /dev/null +++ b/pkgs/by-name/au/autoconf-archive/0003-ax_switch_flags.m4-properly-quote-m4_fatal.patch @@ -0,0 +1,32 @@ +From 3a23daa3da0eb1a256fda631867e19345d5f6e3a Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Sat, 19 Oct 2024 21:58:52 -0400 +Subject: [PATCH 3/3] ax_switch_flags.m4: properly quote m4_fatal + +It needs to only run as an argument of m4_if, not all the time. + +Fixes: 2adff78e224c908fd58df91852c8301c25777a8f +--- + m4/ax_switch_flags.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/ax_switch_flags.m4 b/m4/ax_switch_flags.m4 +index dc79d1e..777aeb0 100644 +--- a/m4/ax_switch_flags.m4 ++++ b/m4/ax_switch_flags.m4 +@@ -36,10 +36,10 @@ + # and this notice are preserved. This file is offered as-is, without any + # warranty. + +-#serial 5 ++#serial 6 + + AC_DEFUN([AX_SWITCH_FLAGS], [ +- m4_if($1, [], m4_fatal([$0: namespace is empty])) ++ m4_if($1, [], [m4_fatal([$0: namespace is empty])]) + AC_REQUIRE(AX_SAVE_FLAGS) + AC_REQUIRE(AX_RESTORE_FLAGS) + AX_SAVE_FLAGS($1[]) +-- +2.46.1 + diff --git a/pkgs/by-name/au/autoconf-archive/package.nix b/pkgs/by-name/au/autoconf-archive/package.nix index a507fd8094ef7..8ac14c61bda47 100644 --- a/pkgs/by-name/au/autoconf-archive/package.nix +++ b/pkgs/by-name/au/autoconf-archive/package.nix @@ -9,6 +9,15 @@ stdenv.mkDerivation rec { hash = "sha256-e81dABkW86UO10NvT3AOPSsbrePtgDIZxZLWJQKlc2M="; }; + patches = [ + # cherry-picked changes from + # https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=commit;h=fadde164479a926d6b56dd693ded2a4c36ed89f0 + # can be removed on next release + ./0001-ax_check_gl.m4-properly-quote-m4_fatal.patch + ./0002-ax_check_glx.m4-properly-quote-m4_fatal.patch + ./0003-ax_switch_flags.m4-properly-quote-m4_fatal.patch + ]; + strictDeps = true; enableParallelBuilding = true; From 72deeb8efb0f9bb84080ab2e783ab63594b2ddd9 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 17 Nov 2024 10:33:40 +0000 Subject: [PATCH 019/193] Revert "systemd: revert boot-breaking systemd-boot change" This was incorporated upstream in v256.8 as . This reverts commit 63ce4665b2ce60fbe35d7cdf2b434dd10f1b4095. Fixes: 6fc6e7bce851f59f61c3f96c62a014bedc40fbf0 (cherry picked from commit 19853b79530b5c99e5e1412aaf9721e0ec3b70bb) (cherry picked from commit 9f685aba062f906ae1fa5b42a23bf0f2a5663510) --- ...-initrd_prepare-semantically-equival.patch | 150 ------------------ pkgs/os-specific/linux/systemd/default.nix | 1 - 2 files changed, 151 deletions(-) delete mode 100644 pkgs/os-specific/linux/systemd/0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch diff --git a/pkgs/os-specific/linux/systemd/0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch b/pkgs/os-specific/linux/systemd/0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch deleted file mode 100644 index f33b730d015a7..0000000000000 --- a/pkgs/os-specific/linux/systemd/0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch +++ /dev/null @@ -1,150 +0,0 @@ -From bc1abc37f1cf0368d9c320c9d3845154d85f66b1 Mon Sep 17 00:00:00 2001 -From: Alyssa Ross -Date: Mon, 11 Nov 2024 23:09:21 +0100 -Subject: [PATCH] Revert "boot: Make initrd_prepare() semantically equivalent - to combine_initrds()" - -This reverts commit d64193a2a652b15db9cb9ed10c6b77a17ca46cd2. - -This breaks boot on Apple Silicon, and probably other platforms with no memory -mapped below 4G. - -Link: https://github.com/systemd/systemd/issues/35026 ---- - src/boot/efi/boot.c | 60 ++++++++++++--------------------------------- - 1 file changed, 16 insertions(+), 44 deletions(-) - -diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c -index ecbb4e0509..f94b59db59 100644 ---- a/src/boot/efi/boot.c -+++ b/src/boot/efi/boot.c -@@ -11,7 +11,6 @@ - #include "initrd.h" - #include "linux.h" - #include "measure.h" --#include "memory-util-fundamental.h" - #include "part-discovery.h" - #include "pe.h" - #include "proto/block-io.h" -@@ -2249,18 +2248,18 @@ static EFI_STATUS initrd_prepare( - EFI_FILE *root, - const BootEntry *entry, - char16_t **ret_options, -- Pages *ret_initrd_pages, -+ void **ret_initrd, - size_t *ret_initrd_size) { - - assert(root); - assert(entry); - assert(ret_options); -- assert(ret_initrd_pages); -+ assert(ret_initrd); - assert(ret_initrd_size); - - if (entry->type != LOADER_LINUX || !entry->initrd) { - *ret_options = NULL; -- *ret_initrd_pages = (Pages) {}; -+ *ret_initrd = NULL; - *ret_initrd_size = 0; - return EFI_SUCCESS; - } -@@ -2274,6 +2273,7 @@ static EFI_STATUS initrd_prepare( - - EFI_STATUS err; - size_t size = 0; -+ _cleanup_free_ uint8_t *initrd = NULL; - - STRV_FOREACH(i, entry->initrd) { - _cleanup_free_ char16_t *o = options; -@@ -2292,58 +2292,30 @@ static EFI_STATUS initrd_prepare( - if (err != EFI_SUCCESS) - return err; - -- if (!INC_SAFE(&size, ALIGN4(info->FileSize))) -- return EFI_OUT_OF_RESOURCES; -- } -- -- _cleanup_pages_ Pages pages = xmalloc_pages( -- AllocateMaxAddress, -- EfiLoaderData, -- EFI_SIZE_TO_PAGES(size), -- UINT32_MAX /* Below 4G boundary. */); -- uint8_t *p = PHYSICAL_ADDRESS_TO_POINTER(pages.addr); -- -- STRV_FOREACH(i, entry->initrd) { -- _cleanup_(file_closep) EFI_FILE *handle = NULL; -- err = root->Open(root, &handle, *i, EFI_FILE_MODE_READ, 0); -- if (err != EFI_SUCCESS) -- return err; -- -- _cleanup_free_ EFI_FILE_INFO *info = NULL; -- err = get_file_info(handle, &info, NULL); -- if (err != EFI_SUCCESS) -- return err; -- - if (info->FileSize == 0) /* Automatically skip over empty files */ - continue; - -- size_t read_size = info->FileSize; -- err = chunked_read(handle, &read_size, p); -+ size_t new_size, read_size = info->FileSize; -+ if (!ADD_SAFE(&new_size, size, read_size)) -+ return EFI_OUT_OF_RESOURCES; -+ initrd = xrealloc(initrd, size, new_size); -+ -+ err = chunked_read(handle, &read_size, initrd + size); - if (err != EFI_SUCCESS) - return err; - - /* Make sure the actual read size is what we expected. */ -- assert(read_size == info->FileSize); -- p += read_size; -- -- size_t pad; -- pad = ALIGN4(read_size) - read_size; -- if (pad == 0) -- continue; -- -- memzero(p, pad); -- p += pad; -+ assert(size + read_size == new_size); -+ size = new_size; - } - -- assert(PHYSICAL_ADDRESS_TO_POINTER(pages.addr + size) == p); -- - if (entry->options) { - _cleanup_free_ char16_t *o = options; - options = xasprintf("%ls %ls", o, entry->options); - } - - *ret_options = TAKE_PTR(options); -- *ret_initrd_pages = TAKE_STRUCT(pages); -+ *ret_initrd = TAKE_PTR(initrd); - *ret_initrd_size = size; - return EFI_SUCCESS; - } -@@ -2373,9 +2345,9 @@ static EFI_STATUS image_start( - return log_error_status(err, "Error making file device path: %m"); - - size_t initrd_size = 0; -- _cleanup_pages_ Pages initrd_pages = {}; -+ _cleanup_free_ void *initrd = NULL; - _cleanup_free_ char16_t *options_initrd = NULL; -- err = initrd_prepare(image_root, entry, &options_initrd, &initrd_pages, &initrd_size); -+ err = initrd_prepare(image_root, entry, &options_initrd, &initrd, &initrd_size); - if (err != EFI_SUCCESS) - return log_error_status(err, "Error preparing initrd: %m"); - -@@ -2393,7 +2365,7 @@ static EFI_STATUS image_start( - } - - _cleanup_(cleanup_initrd) EFI_HANDLE initrd_handle = NULL; -- err = initrd_register(PHYSICAL_ADDRESS_TO_POINTER(initrd_pages.addr), initrd_size, &initrd_handle); -+ err = initrd_register(initrd, initrd_size, &initrd_handle); - if (err != EFI_SUCCESS) - return log_error_status(err, "Error registering initrd: %m"); - --- -2.47.0 - diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 5f86cfb32f6ac..425775e9dd163 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -232,7 +232,6 @@ stdenv.mkDerivation (finalAttrs: { ./0015-tpm2_context_init-fix-driver-name-checking.patch ./0016-systemctl-edit-suggest-systemdctl-edit-runtime-on-sy.patch ./0017-meson.build-do-not-create-systemdstatedir.patch - ./0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch # https://github.com/systemd/systemd/issues/33392 (fetchpatch2 { From e04a98ac0f23e2a2c764f72cf4df1579bf9b48a7 Mon Sep 17 00:00:00 2001 From: Dmitry Ivankov Date: Wed, 13 Nov 2024 19:16:25 +0100 Subject: [PATCH 020/193] bazel_7: 7.4.0 -> 7.4.1 (cherry picked from commit 369ca2bdb61e3a5f962e8e04112d572f2e1f8e57) (cherry picked from commit cb4a2d395eedbbaf60e7d7d7c6664a6e6674228a) --- .../tools/build-managers/bazel/bazel_7/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix index ba2a84127703f..df645bb4a02e1 100644 --- a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix +++ b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix @@ -250,10 +250,10 @@ let else if stdenv.hostPlatform.system == "aarch64-linux" then "sha256-NW/JMVC7k2jBW+d8syMl9L5tDB7SQENJtlMFjAKascI=" else if stdenv.hostPlatform.system == "aarch64-darwin" then - "sha256-QVk0Qr86U350oLJ5P50SE6CUYqn5XEqgGCXVf+89wVY=" + lib.fakeHash else # x86_64-darwin - "sha256-VDrqS9YByYxboF6AcjAR0BRZa5ioGgX1pjx09zPfWTE="; + lib.fakeHash; outputHashAlgo = "sha256"; }; From 0c1ab1f5b586c087ff7c3a69aa69ef5d53d7a8f9 Mon Sep 17 00:00:00 2001 From: Dmitry Ivankov Date: Wed, 13 Nov 2024 19:30:57 +0100 Subject: [PATCH 021/193] darwin bazelDeps hashes (cherry picked from commit 82c4c76594a56c6251663bbbcc33e889296b2fbe) (cherry picked from commit 7d71c28a8972b5e5106cee8a841f6825c1efaee1) --- .../tools/build-managers/bazel/bazel_7/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix index df645bb4a02e1..ba2a84127703f 100644 --- a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix +++ b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix @@ -250,10 +250,10 @@ let else if stdenv.hostPlatform.system == "aarch64-linux" then "sha256-NW/JMVC7k2jBW+d8syMl9L5tDB7SQENJtlMFjAKascI=" else if stdenv.hostPlatform.system == "aarch64-darwin" then - lib.fakeHash + "sha256-QVk0Qr86U350oLJ5P50SE6CUYqn5XEqgGCXVf+89wVY=" else # x86_64-darwin - lib.fakeHash; + "sha256-VDrqS9YByYxboF6AcjAR0BRZa5ioGgX1pjx09zPfWTE="; outputHashAlgo = "sha256"; }; From 85492cd5fd4c7cd8975c4f256113e3c101abd261 Mon Sep 17 00:00:00 2001 From: Reno Dakota Date: Sun, 17 Nov 2024 13:38:00 -0800 Subject: [PATCH 022/193] llvmPackages_12.compiler-rt: fix build race aarch64-darwin https://github.com/llvm/llvm-project/commit/b31080c596246bc26d2493cfd5e07f053cf9541c (cherry picked from commit 47a4caf4839500e93fed4ada995ee40586038e9e) (cherry picked from commit c5d97e05777a018712e2388ce736be80eb20b24a) --- pkgs/development/compilers/llvm/common/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index fa1f61bfd5d14..b53f76e96c11f 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -1006,6 +1006,13 @@ let ++ [ (metadata.getVersionFile "compiler-rt/X86-support-extension.patch") # Add support for i486 i586 i686 by reusing i386 config ] + ++ lib.optional (lib.versions.major metadata.release_version == "12") (fetchpatch { + # fixes the parallel build on aarch64 darwin + name = "fix-symlink-race-aarch64-darwin.patch"; + url = "https://github.com/llvm/llvm-project/commit/b31080c596246bc26d2493cfd5e07f053cf9541c.patch"; + relative = "compiler-rt"; + hash = "sha256-Cv2NC8402yU7QaTR6TzdH+qyWRy+tTote7KKWtKRWFQ="; + }) ++ lib.optional ( lib.versions.major metadata.release_version == "12" || ( From 7d85e7c1afdf741cf061aa5dc3c8aa01bf1c7877 Mon Sep 17 00:00:00 2001 From: Reno Dakota Date: Sun, 17 Nov 2024 16:27:39 -0800 Subject: [PATCH 023/193] libuv: disable test for darwin sandbox fs_event_watch_delete_dir fails in the darwin sandbox. disable it. (cherry picked from commit 312737ea68be42c32ffce0b355b3fb29b7cb52a2) (cherry picked from commit cf43e134b6da0aae9ca70a29b6d45033562ec639) --- pkgs/development/libraries/libuv/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 12fee00ae9fc5..2b8020d430934 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -72,6 +72,7 @@ stdenv.mkDerivation (finalAttrs: { "fs_event_watch_dir_recursive" "fs_event_watch_file" "fs_event_watch_file_current_dir" "fs_event_watch_file_exact_path" "process_priority" "udp_create_early_bad_bind" + "fs_event_watch_delete_dir" ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ # fail on macos < 10.15 (starting in libuv 1.47.0) "fs_write_alotof_bufs_with_offset" "fs_write_multiple_bufs" "fs_read_bufs" From c1f4c53d8d1b08ec329e68bcf15d7689e6de8771 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sun, 17 Nov 2024 21:07:43 +1000 Subject: [PATCH 024/193] libgit2: switch to pcre2 pcre is EOL (cherry picked from commit 05a480c3af6fed341033979a2a69dbd46caa5ac2) (cherry picked from commit 41bd3a4640c255b3b872253856c146c98379b556) --- pkgs/development/libraries/libgit2/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libgit2/default.nix b/pkgs/development/libraries/libgit2/default.nix index 847894d065874..72c52ea899eb2 100644 --- a/pkgs/development/libraries/libgit2/default.nix +++ b/pkgs/development/libraries/libgit2/default.nix @@ -7,7 +7,7 @@ , zlib , libssh2 , openssl -, pcre +, pcre2 , libiconv , Security , staticBuild ? stdenv.hostPlatform.isStatic @@ -35,6 +35,7 @@ stdenv.mkDerivation (finalAttrs: { }; cmakeFlags = [ + "-DREGEX_BACKEND=pcre2" "-DUSE_HTTP_PARSER=system" "-DUSE_SSH=ON" (lib.cmakeBool "USE_GSSAPI" withGssapi) @@ -47,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake python3 pkg-config ]; - buildInputs = [ zlib libssh2 openssl pcre llhttp ] + buildInputs = [ zlib libssh2 openssl pcre2 llhttp ] ++ lib.optional withGssapi krb5 ++ lib.optional stdenv.hostPlatform.isDarwin Security; From 57b1a4b411fe2e4ce725762edfebe81286ff8082 Mon Sep 17 00:00:00 2001 From: Artturin Date: Sun, 17 Nov 2024 00:31:51 +0200 Subject: [PATCH 025/193] meson.setupHook: Add timeout-multiplier 0 ss infinite, nix will take care of the timeout In loaded environments the tests can take longer to build (cherry picked from commit 54522e10d558fa88e032d24b426ec788d34a70ec) (cherry picked from commit a49bc5c9e512fb2bbc5b96c44042a5e330d2116d) --- pkgs/by-name/me/meson/setup-hook.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/me/meson/setup-hook.sh b/pkgs/by-name/me/meson/setup-hook.sh index a88a276f09a87..b2061a12058ca 100644 --- a/pkgs/by-name/me/meson/setup-hook.sh +++ b/pkgs/by-name/me/meson/setup-hook.sh @@ -54,6 +54,10 @@ mesonCheckPhase() { local flagsArray=() concatTo flagsArray mesonCheckFlags mesonCheckFlagsArray + if [ -z "${dontAddTimeoutMultiplier:-}" ]; then + flagsArray+=("--timeout-multiplier=0") + fi + echoCmd 'mesonCheckPhase flags' "${flagsArray[@]}" meson test --no-rebuild --print-errorlogs "${flagsArray[@]}" From d245bc37529f3d14d805dfb8c3bff54a7eafb022 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:17:04 +0000 Subject: [PATCH 026/193] folly: format with `nixfmt-rfc-style` (cherry picked from commit 3e0bc63451ec9edae5d831f8cc10333be631f56b) (cherry picked from commit b75bf52e85b76df84698547f363cc87b5d5ee805) --- pkgs/development/libraries/folly/default.nix | 95 ++++++++++++-------- 1 file changed, 56 insertions(+), 39 deletions(-) diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index 8a601382f8ead..10cdff67cd555 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" + 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"}" + # 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" - ]; + # 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 289a4465d9d17cd83a0400124b7c331f881b3c9e Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:17:25 +0000 Subject: [PATCH 027/193] folly: convert to new Darwin SDK pattern This is using unguarded 11.0 APIs, so bump the deployment target too. (cherry picked from commit 89e641930d8e38c22ace2459de9ed5d59e303b9c) (cherry picked from commit 45e6e0f628abc7f29b0e7ef18137a1a23a5a7ba1) --- 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 10cdff67cd555..8ceedfd73ba4c 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 ad8654674b617..bf8a5c8e6d48b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9148,7 +9148,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 ae228e43c837e7ad29463bde800c733290fb4cf9 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:19:30 +0000 Subject: [PATCH 028/193] folly: move to `pkgs/by-name` (cherry picked from commit b22849fd64aeb41230f248fa7105279e31eb232c) (cherry picked from commit f307528160c8a9f0073760bc52819a42fb2aea7b) --- .../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 bf8a5c8e6d48b..a3f7275678c36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9148,8 +9148,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 70ab289cf683dc87dd8d0af58dadd9393cc61d85 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:49:23 +0000 Subject: [PATCH 029/193] folly: use `finalAttrs` (cherry picked from commit 77300534286faf02ec5a6513399e8db928e8028a) (cherry picked from commit 55793f0501ae04cc72ac31befe60140cf8146547) --- 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 8ceedfd73ba4c..fe8ed68dc2c06 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 bfba0d1825ea8948e3e98d67c39a783b196344e8 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:49:42 +0000 Subject: [PATCH 030/193] folly: remove `with lib;` (cherry picked from commit fbb9ab5079a9269684c3d07edb355f992b462d77) (cherry picked from commit 5705b45c48ac661106df502d0cb8d41596d65386) --- 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 fe8ed68dc2c06..0508275b6d3f0 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 cdb033330bba3c789c94229c23000d76366b3890 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:48:53 +0000 Subject: [PATCH 031/193] folly: use `refs/tags/` (cherry picked from commit 0d5cd2a39d8ab7368a3fa03a7d08d32ea0dad4bc) (cherry picked from commit 3c95334d4a06a88ceabf8eb7454cc840a3b2ec0c) --- 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 0508275b6d3f0..0aa50ab1bbc29 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 685fd2c8c86e74414902d312eb9f7b76908667bf Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:50:17 +0000 Subject: [PATCH 032/193] folly: use `hash` (cherry picked from commit b67cce1449a32fa94bf31e06218b0bbb23f2ba95) (cherry picked from commit de5c1f0edc80599c7404faccc406ccdd5f975f4e) --- 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 0aa50ab1bbc29..edcea827a46d1 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 80dd0dc4e623ade32623c65dc656239915f73617 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:40:54 +0000 Subject: [PATCH 033/193] folly: reorder attributes (cherry picked from commit 593f78887a31e513b07aa0bd0a3edb2b74d4e3aa) (cherry picked from commit 2fcd56c3cd922290cf1347fae8cf2f46df9fbbf4) --- 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 edcea827a46d1..b12cab0d390d5 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 4fc612be9dc733aff5157a635aaf75b62c013b04 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:40:43 +0000 Subject: [PATCH 034/193] folly: reorder inputs to match upstream file (cherry picked from commit 7ae3a8ada67d2dff01b1d5e60c0333fd08c938a4) (cherry picked from commit 383254a33b79d270994659b1c4161c46abe85247) --- pkgs/by-name/fo/folly/package.nix | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index b12cab0d390d5..0ca78d23bb17b 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, - libiberty, - libunwind, - lz4, + zlib, openssl, - pkg-config, xz, - zlib, + lz4, zstd, + libiberty, + libunwind, + 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 + zlib openssl - lz4 xz - zlib + lz4 + zstd + libiberty libunwind fmt_8 - zstd ] ++ lib.optional stdenv.hostPlatform.isLinux jemalloc ++ lib.optionals stdenv.hostPlatform.isDarwin [ From 25ae142a4ee6844717a798d1dd283e1c59e203f4 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:43:20 +0000 Subject: [PATCH 035/193] folly: refine `meta.platforms` (cherry picked from commit 5ee21f2961c40dcd33d032c6b0fd0164098f1ea1) (cherry picked from commit a3d3418e74de3a41b61880bc0cb5d28a66343bb0) --- 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 0ca78d23bb17b..a95eebe71317a 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 20ea752239a5965631ca65bab3600ed120cc6198 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:34:20 +0000 Subject: [PATCH 036/193] folly: use Ninja (cherry picked from commit eca60c841c4bd7e33ae89055f81ded06c059d2f1) (cherry picked from commit 52a456a441ef9f01daffcc929cf8fbae162423df) --- 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 a95eebe71317a..94fdacf323a45 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 3befdb133baa6cf611d61d20dff0a295742bf136 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:53:05 +0000 Subject: [PATCH 037/193] 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 (cherry picked from commit d4c26774d5eb78e3374a8131934ea1f51b533cff) (cherry picked from commit 7a3765484d496be77bd778780c1059c6b951190d) --- 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 94fdacf323a45..f4ab18b34a715 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 94862ed128cc4af763cce04f4c718fc0b26d1e02 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:23:30 +0000 Subject: [PATCH 038/193] folly: patch `pkg-config` file instead of CMake files This is closer to fixing the problem at the source. (cherry picked from commit 2fc882c70caf62e96b14996b7feff6f60ee8cbd9) (cherry picked from commit c0b7ae5a7c4e4f0740fd3b8d05c0bca77ceac86f) --- 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 f4ab18b34a715..b5999f17cbd0f 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 012bca60e213371e3c420412696f5731b843c710 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 12:23:30 +0000 Subject: [PATCH 039/193] 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. (cherry picked from commit fbdced9bb35a7a9619bfeab7a0244fd603fa6b03) (cherry picked from commit 0581e31285f98d7e71ae4f8ab12d3c6e2873c554) --- 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 b5999f17cbd0f..050cbf86bcb39 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 c47376bbd135d1e30d35dfe81b9dcbc19588df26 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:43:05 +0000 Subject: [PATCH 040/193] folly: refine `-fpermissive` flag This was added for AArch64 support, but we can use a more targeted flag for the build failure. (cherry picked from commit ae0425bd9a566411f8cd86de17985786f895bcb0) (cherry picked from commit 0e3ffa9a6552a7201e45dbcc403a1cb3474b26b8) --- 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 050cbf86bcb39..626dd800ce91d 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 eab5ca3e51d4315ef0672430eb06aabdef168fcf Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:43:34 +0000 Subject: [PATCH 041/193] folly: remove obsolete AArch64 hack (cherry picked from commit 3352d4f1ab484923e31f86a2969e6c8442efd964) (cherry picked from commit da0502a94ace2c402892ed389aae89c50b814b5e) --- 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 626dd800ce91d..809f62eb5d145 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 5d2806e95ac43956bbe857ecb6c9b5f14a0da106 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:43:59 +0000 Subject: [PATCH 042/193] folly: condition shared libraries on platform setting (cherry picked from commit cad3e3ece680b4bab28d15c9626dd78b4d4db726) (cherry picked from commit d0c2ddc592e377347d29be520d8cab5e75d5d602) --- 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 809f62eb5d145..b21a2ad50466b 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 f30af822fa833d07056b132b258c8e0a387a39c9 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:45:03 +0000 Subject: [PATCH 043/193] folly: propagate required dependencies (cherry picked from commit fb3b469558cc59f1c992d86264f1f193208d01aa) (cherry picked from commit 31e3056413ac47f985a410f9e18cd285b82aba18) --- 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 b21a2ad50466b..4716e53701f1d 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 9eddb85a40130..f8ff82167704c 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 ce26bc6f71259..9abd387a9d92d 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 659497d690f6c..9ed38b615caed 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 04bce085c088d..2d897613dfe51 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 4c38c54316b72..d53611cdc29fc 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 7c9d2e8da445b..aee41d09afafc 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 d07145641a703..140bda3f631c3 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 aa915d89c7fae..d2ea2ed6ba0d5 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 387712f527e78a57b9746b00f92a7e5b70be589f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:48:13 +0000 Subject: [PATCH 044/193] folly: bump to `fmt_11` This is the version used upstream. (cherry picked from commit bba7126b28441f19eace48cd842d31799473ee82) (cherry picked from commit 7fbdc96f7b89ba89cb44efd2334f272492b60be8) --- 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 4716e53701f1d..7d71c0c1d22f1 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 4809b6f333b05073396a22889eda7d43e602d15a Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:30:18 +0000 Subject: [PATCH 045/193] folly: enable tests (cherry picked from commit a3afbe7ccf4d41df8c712f9eba76aa985c3a2e5b) (cherry picked from commit 4eb464fe33c009eb41b4ce5b56635456053e0634) --- 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 7d71c0c1d22f1..3de4d6c632a51 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 ca120bbcdf8d86dc29b43f350924b9e830902fe2 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:39:35 +0000 Subject: [PATCH 046/193] folly: add update script (cherry picked from commit f86db4874da1299fe7b09c470ae618c544eaa923) (cherry picked from commit e456bdb0cb53957eb96c9e95c30a93941f1f7ea2) --- 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 3de4d6c632a51..86f626fbce77f 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 3571e8d763e40fbe353666366b02aa54c0ac7b89 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:44:35 +0000 Subject: [PATCH 047/193] folly: add emily to maintainers (cherry picked from commit df175d625e04e14a69fffbc186c3c69d52e825cf) (cherry picked from commit 0e61fccd4cf0fa083307929f4e055d5e2d6e0a4d) --- 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 86f626fbce77f..589c65c6f551c 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 6a9e015730d12e19cd1307ed6a82d1d596f552f3 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:17:11 +0000 Subject: [PATCH 048/193] folly: add techknowlogick to maintainers (cherry picked from commit c71ed296d791941e67e108cc39eec4b13a32b705) (cherry picked from commit 0cefd8eeba56f2170c6160b85b2ba1f31afca778) --- 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 589c65c6f551c..3d84de4ea5c7b 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 15de9b55e162abcd8e9e29f0c3babe390163a0d6 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:51:02 +0000 Subject: [PATCH 049/193] fizz: format with `nixfmt-rfc-style` (cherry picked from commit 95d28ae657e6cc9eb01abbfc1623138955c798ac) (cherry picked from commit 342b7edf01254487d60d92db010095856a133d19) --- 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 d53611cdc29fc..481e5ed326a07 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 3aa8b5fcd476a14c3aa2d64389412519e2380b12 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:51:53 +0000 Subject: [PATCH 050/193] fizz: convert to new Darwin SDK pattern (cherry picked from commit 91c31b10692ba26cdfeb9501e8eb5280fbb66220) (cherry picked from commit 979e60c7184795ed91478c685f5f976824bf713e) --- pkgs/development/libraries/fizz/default.nix | 41 +++++++++++---------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/pkgs/development/libraries/fizz/default.nix b/pkgs/development/libraries/fizz/default.nix index 481e5ed326a07..542e09a0e878c 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,30 +33,31 @@ stdenv.mkDerivation (finalAttrs: { cmakeDir = "../fizz"; - cmakeFlags = + cmakeFlags = [ + "-Wno-dev" + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + ]; + + NIX_LDFLAGS = "-lz"; + + buildInputs = [ - "-Wno-dev" - (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) + double-conversion + folly + glog + gflags + libevent + libiberty + libsodium + openssl + zlib + zstd ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation + apple-sdk_11 + (darwinMinVersionHook "11.0") ]; - NIX_LDFLAGS = "-lz"; - - buildInputs = [ - double-conversion - folly - glog - gflags - libevent - libiberty - libsodium - openssl - zlib - zstd - ]; - doCheck = true; checkInputs = [ gtest diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a3f7275678c36..96813535268a9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9092,7 +9092,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 8b9a7a64bca30e24073dc08d019be426f4e725fb Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:52:21 +0000 Subject: [PATCH 051/193] fizz: move to `pkgs/by-name` (cherry picked from commit eb19c30c3ace43959738f0885b6c7f0f82a124a8) (cherry picked from commit 05b4b1f26dc547ad097ebb1dc312dc5873fc6790) --- .../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 96813535268a9..75092775518d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9092,8 +9092,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 d53e52c2cadd72ea6da1af4341823c5562cf2103 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:53:24 +0000 Subject: [PATCH 052/193] fizz: remove `with lib;` (cherry picked from commit be3861494e77b389b2ee98beda99b533f7195f67) (cherry picked from commit 161b601e17686d2531369f6659db28f17c131af4) --- 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 542e09a0e878c..2ff4f7ed2de52 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 3885093ab4a6ff7aa7d00130e19afa1e0b50ba11 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:54:02 +0000 Subject: [PATCH 053/193] fizz: reorder attributes (cherry picked from commit d68470e96bd21abbd8f28c3cba770c19f643ecb5) (cherry picked from commit bf7ecfd7947f15d3e517aec3bc61b3b1a760dd96) --- 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 2ff4f7ed2de52..05705dfeb2347 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 d8f1c1555c9e1b3bf2ccc2141837471f0d238ed4 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:57:11 +0000 Subject: [PATCH 054/193] fizz: reorder inputs to match upstream file (cherry picked from commit 997d4edee5cc3d79b9530ee14e1ac913f928fc13) (cherry picked from commit dd93de4c43270ba7634b6d88af47330e238f1fa6) --- pkgs/by-name/fi/fizz/package.nix | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index 05705dfeb2347..5a6579918d4ea 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -1,21 +1,25 @@ { + lib, stdenv, + fetchFromGitHub, + cmake, - libevent, - double-conversion, + + folly, + openssl, glog, - lib, + double-conversion, zstd, - gflags, - libiberty, - openssl, - folly, 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 7935fdcfd4a5c900f1d0120fc9efd3c438809167 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:47:05 +0000 Subject: [PATCH 055/193] fizz: remove unnecessary input (cherry picked from commit 74e329179b95b39fd04bb04c415d350c98488113) (cherry picked from commit e9379b763eff3cbb93ddf6b3ec32481fb3e11352) --- 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 5a6579918d4ea..c6711fe77d3e2 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 bc675bdc91d3641853244ad5a1ec804abad3d394 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:36:55 +0000 Subject: [PATCH 056/193] fizz: remove unnecessary `NIX_LDFLAGS` (cherry picked from commit cb829657b8992dee9d0781462718bd5a6498245b) (cherry picked from commit 0fc901f234cb213c8902dc1fa2ad5f44e57c6550) --- 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 c6711fe77d3e2..976a8194a4149 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 b76f9f3439bc882d845a5e0ebc8de34bd7265f99 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:37:11 +0000 Subject: [PATCH 057/193] fizz: remove unnecessary CMake flag No point silencing these warnings. (cherry picked from commit ca280ee51f8c404858fa2778889ec155cb5c2390) (cherry picked from commit c025010fb10cfee5d9ae451131baf780de0fb7fa) --- 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 976a8194a4149..a822021cd3330 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 61c6aeaa3100bb810a8e13fc231f9af2a9a465f3 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 14:07:00 +0000 Subject: [PATCH 058/193] fizz: use Ninja (cherry picked from commit 1c1d6a6ba2943c6272ee865021b9ca4c02f7876c) (cherry picked from commit 04e66d17a3ae675ec76bb0b3e8a14583e1b1fb41) --- 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 a822021cd3330..85511fdf98539 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 3f8da0cf4fba643814988799e5f5288ebc47c6f9 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 19:41:11 +0000 Subject: [PATCH 059/193] fizz: set `__darwinAllowLocalNetworking` (cherry picked from commit 3f4e898d0a359a2847aff3145bb81a8d4147f245) (cherry picked from commit be5743a673749f36ae897736992bb36fb07c2b05) --- 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 85511fdf98539..df5ffa289a31d 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 e05b1fc74ebf4cf80edc23617c73b97a5e4fd40e Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 13:59:45 +0000 Subject: [PATCH 060/193] 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 (cherry picked from commit 67fd043f62962e02670b4a714ac375b40772e1e1) (cherry picked from commit f918b709b6b25da13ec2af80126c14bc2444dca4) --- 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 df5ffa289a31d..c4024eedc82b1 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 c5f8cd9ff9cfc0c89795df6ba5a699c6d86d40ae Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:51:53 +0000 Subject: [PATCH 061/193] fizz: condition shared libraries on platform setting (cherry picked from commit 136740dec662e1bc4e9560393fa568c3f9450b53) (cherry picked from commit dd004b4e2945806337a48e36808f4817b24dbe8c) --- 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 c4024eedc82b1..d7373cc1e178e 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 5dfc2a7c4ee44190940d71aba71cd07a57357596 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 17:14:38 +0000 Subject: [PATCH 062/193] fizz: propagate required dependencies (cherry picked from commit 03b58e14f792db6acbed43439281561dcfe92d7f) (cherry picked from commit f20774b5cc739db213af56eb0b477d290ed70a1c) --- 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 d7373cc1e178e..19d78dee6ead8 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 9ed38b615caed..5236e07b77d37 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 2d897613dfe51..ad0173b458b40 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 aee41d09afafc..f99fc041ab976 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 140bda3f631c3..c1209e0ee8003 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 d2ea2ed6ba0d5..0a928810eb682 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 166682236389dd75cd1ab725a8cd09bea7909888 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 01:53:36 +0000 Subject: [PATCH 063/193] fizz: enable more tests (cherry picked from commit f88b7334eaedf837cb81f08bd40e9d80543f7b61) (cherry picked from commit 9fed08ebf5bed4f3220f1760417723c5a2439b60) --- 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 19d78dee6ead8..a78218ad8d093 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 0f8b79d2f6675830a2df173d707470d20a28f009 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:40:52 +0000 Subject: [PATCH 064/193] fizz: split outputs (cherry picked from commit dbb5591b5b267339ac46448b1096f0d457c237b6) (cherry picked from commit 8f709e8f6dd0377efff653a1c7954fe9770f1d81) --- 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 a78218ad8d093..e5927116c456d 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 c4e23b859a2f24ca399fc2dcbd6c176a5e564747 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:41:47 +0000 Subject: [PATCH 065/193] fizz: add update script (cherry picked from commit 0414a001b6b80cbf81c84cbbe67fc418191f581d) (cherry picked from commit d81dc9e7c4e0216b6f8f01517517d86417b4a7ff) --- 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 e5927116c456d..81bb4e5f67921 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 2eb6b359a58db99f9082df2b3e47f9d68c12647c Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:47:41 +0000 Subject: [PATCH 066/193] fizz: add emily to maintainers (cherry picked from commit 5115b6186a5c3d6264964358022d27a2ce508702) (cherry picked from commit 4211b842cef5405d6aa15c43dd22b1688aa91535) --- 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 81bb4e5f67921..3a4bc2daaae9d 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 3a36eb8022bc623256243f48e9e1d8187a91fd45 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:16:54 +0000 Subject: [PATCH 067/193] fizz: add techknowlogick to maintainers (cherry picked from commit 4871d40414226e48c89c411b56fc668dea1cb23a) (cherry picked from commit 3141cbe8b530899b8c7d95b2955893016f079ec8) --- 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 3a4bc2daaae9d..4c5c1efe08c6d 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 0e41aed8ab5dd2c629c543b4d27b6852b5a1300c Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:00:04 +0000 Subject: [PATCH 068/193] mvfst: format with `nixfmt-rfc-style` (cherry picked from commit ee8c1b1980f466183f36b473accf64b58de12aa4) (cherry picked from commit c5b4d50fb38878d5f8b60743ef555b0de5efc337) --- 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 f99fc041ab976..fe2513b2c2205 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 550a372c868f078e118693b0edf0738995a86b47 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:00:20 +0000 Subject: [PATCH 069/193] mvfst: convert to new Darwin SDK pattern (cherry picked from commit 5b60e96f64c75a169768492ef30e125037242f66) (cherry picked from commit 193326735b10ac43fdd60a4154429c77921f6c1d) --- 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 fe2513b2c2205..429de18e22670 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 75092775518d2..6e46a90852c04 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10349,7 +10349,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 4bc143027796eb9997282ffea9de4055de2fea29 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:01:02 +0000 Subject: [PATCH 070/193] mvfst: move to `pkgs/by-name` (cherry picked from commit d76e1dc840eb0d018f11ec88d8808c71052e29cd) (cherry picked from commit a2a7d14233d25418d959461d99db221f610c2115) --- .../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 6e46a90852c04..c59a49d356504 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10349,8 +10349,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 73d25fcdd122630d9e480c9fee9d277865049176 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:02:20 +0000 Subject: [PATCH 071/193] mvfst: use `finalAttrs` (cherry picked from commit e82a30f577f4547eb29ed20f428813e1d0a363b2) (cherry picked from commit 4bdd770e97b33274cdd343d3a47ec57a7efcf77b) --- 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 429de18e22670..66df107ba399b 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 4acafb04da1db63e64ec72d106852eca596cafb0 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:02:42 +0000 Subject: [PATCH 072/193] mvfst: remove `with lib;` (cherry picked from commit 5848ed9bfbec76ed225ffb9519584c0d945851e2) (cherry picked from commit b439b1b7f3cfb1295076b9a01976f6f2fe0bb5ae) --- 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 66df107ba399b..d50fcb14efc8e 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 d7c47e4a9e536cba64daa02878ad6ff6a6e3b793 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:05:34 +0000 Subject: [PATCH 073/193] mvfst: use `refs/tags/` (cherry picked from commit 40d409e3dbd6da712dafe2ecf8c1f9d1ecbf138f) (cherry picked from commit c2912d100b1762d0b7fb8a84620519cfbca97bbc) --- 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 d50fcb14efc8e..c1eb7036f5fd9 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 c99681181d617b0b02ca9d6eb71ac87a4b4f7f77 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:05:44 +0000 Subject: [PATCH 074/193] mvfst: use `hash` (cherry picked from commit 067a44e638003c206c9ec4826e727b7d31e25ce4) (cherry picked from commit 8b64371a79b1b5883f8a5363e32d0d52cfb09ac8) --- 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 c1eb7036f5fd9..0c59fcaccdcbf 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 8be72a38f1ef933ffffaa4bb6bc30c91b0e36387 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:27:29 +0000 Subject: [PATCH 075/193] mvfst: reorder inputs (cherry picked from commit 4f8f722165e5f490327e4d5a65513846cd9bd309) (cherry picked from commit 6932816947b2df55b6cc7c392ba6943ed54e5dab) --- 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 0c59fcaccdcbf..49a93f56642c8 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 a4f0bcf3bee20ed8ca9e141bbca7e1d4902b7199 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:27:29 +0000 Subject: [PATCH 076/193] mvfst: use Ninja (cherry picked from commit c647a831203c3d51eef949e9cd60cdcc5a191fdc) (cherry picked from commit 62d5675904c3d876912af74b080a6b48633fc43b) --- 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 49a93f56642c8..b322f07b05d35 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 d3fa762d4b38b55a79599e4b03fd264a2677836d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:06:12 +0000 Subject: [PATCH 077/193] 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 (cherry picked from commit 5b08d0983422fc5cbe9502de2cc137aea3b7eb8f) (cherry picked from commit 2f1b03a380436e99218d30a7b83f3c248a47ac6b) --- 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 b322f07b05d35..d78431ff91e4b 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 c308963558ae6d081273f19388e2deb6202c8d23 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:08:57 +0000 Subject: [PATCH 078/193] mvfst: condition shared libraries on platform setting (cherry picked from commit ee1e828c2731ec81cc11c03b7f7eb23c3d02b5e3) (cherry picked from commit 2527dd7cf4e60c8e6806bf2d3e65370a3789b3ff) --- 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 d78431ff91e4b..379f292bcfb6b 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 5388bfbe4661854b6c455d847342eee6baffb599 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:29:07 +0000 Subject: [PATCH 079/193] mvfst: propagate required dependencies (cherry picked from commit e5709fe8148e9af89d7eca372eda64d6fe7ab6a7) (cherry picked from commit eab32259dcca241f699f0b5d765555acd9d7afc5) --- 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 379f292bcfb6b..73f06c4cd677f 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 54d127112539906df42e3fa799ccb7e970ac4f06 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:11:05 +0000 Subject: [PATCH 080/193] mvfst: enable tests (cherry picked from commit ea635930e783661d12ffd5a589981c89ee84b646) (cherry picked from commit 1c62b5c4a67aa745e153988a206377f7607dd9ec) --- 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 73f06c4cd677f..8bbc024263e89 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 0258bacd2404d3846cfe3e322c546ed1e9c259be Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 02:59:42 +0000 Subject: [PATCH 081/193] mvfst: split outputs (cherry picked from commit 49ad47893e80628afe3e08fc847929503da1de9b) (cherry picked from commit e2e183ea2aa3e2e08512289a38922aba58fb625f) --- 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 8bbc024263e89..f01f1be5a8176 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 3befd629d71bfb5ff47969aa15cc0dad08f698bb Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:00:36 +0000 Subject: [PATCH 082/193] mvfst: add update script (cherry picked from commit 0931562600485a700fd8d3ed65af94495e13e3c2) (cherry picked from commit 8c231c9ef7408bee409372f09f138288c1069737) --- 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 f01f1be5a8176..b551e0e7fcf86 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 2ec53247bc1948cdc64d0970d2e820b384c64400 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:49:30 +0000 Subject: [PATCH 083/193] mvfst: add emily to maintainers (cherry picked from commit fef1275d9bdb171b189364ad6e26f9f478ab7389) (cherry picked from commit 75325343aa782583e54e97196f96d286c67dd820) --- 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 b551e0e7fcf86..9224a2d4ebc1c 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 e28d5ba2e13d1cf7e5043cf6dd0d8f81a02b186c Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:16:38 +0000 Subject: [PATCH 084/193] mvfst: add techknowlogick to maintainers (cherry picked from commit 01eddf68ddef3292efb478616a613e5adff45ad0) (cherry picked from commit 43f00119fdb1fb244ac8c92a2e05d61192ad857b) --- 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 9224a2d4ebc1c..de686a269b511 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 6da918656a32fe24f7527323be61939a621902b3 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:43:53 +0000 Subject: [PATCH 085/193] wangle: format with `nixfmt-rfc-style` (cherry picked from commit 6d542aedaf25d86a78a3ab58b9a574a972b8f785) (cherry picked from commit 16aa5008561cb3bdcb1fa82cf296ac76530ca277) --- 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 c1209e0ee8003..c4ce19bd426ef 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 152d24ff5b60432cc3c2ff67e7b4b83831a65804 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:44:26 +0000 Subject: [PATCH 086/193] wangle: convert to new Darwin SDK pattern (cherry picked from commit b21418c8d81f68502d196c4fcfaad1197413b2ce) (cherry picked from commit 53c52162be756785e5839c24e0810eb26ce9efd7) --- 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 c4ce19bd426ef..26271c5f0ac79 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 c59a49d356504..60997905ca75a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11100,7 +11100,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 18d703bc06ed8346fc2782335afc5e89c02bd271 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:44:53 +0000 Subject: [PATCH 087/193] wangle: move to `pkgs/by-name` (cherry picked from commit 1b7c0a5eb09050f2ba618b00983e06255b813089) (cherry picked from commit 1ec55048051eb7392a112b69b6d3cbe8e2594dd1) --- .../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 60997905ca75a..40ea4d063f494 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11100,7 +11100,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 2e7106f7f0708479ea23c8e7b2927ef15c002647 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:45:21 +0000 Subject: [PATCH 088/193] wangle: remove `with lib;` (cherry picked from commit 337f896690b67e5b5a4950e24ee6b60f47944b54) (cherry picked from commit 10038e24500efdb78a8e634463918e9ba4066d6f) --- 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 26271c5f0ac79..cbb7d31f36216 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 f09790e461379053a7e9335814d38cae50ce7684 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:45:38 +0000 Subject: [PATCH 089/193] wangle: use `refs/tags/` (cherry picked from commit 355eae10ef9909f6b69d203210680ce2c7d8e0e6) (cherry picked from commit 423887df730741f08c9ad791d277c6b22d99793d) --- 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 cbb7d31f36216..9c7f3e278b15a 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 b2977e0bf293253efdd86bee5ec9d928bf9d6592 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:45:47 +0000 Subject: [PATCH 090/193] wangle: use `hash` (cherry picked from commit 34fa0315d46ca13086db80d38564dac1fc9cf720) (cherry picked from commit 931f6e57a087367e9401dfd7a47dcb38599ce407) --- 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 9c7f3e278b15a..b0984f9477fd8 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 fbeae37f530a9266d56f6efb0d216f0a9d31020e Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:46:50 +0000 Subject: [PATCH 091/193] wangle: reorder attributes (cherry picked from commit 4a2ad7732b9f179c0878a9978bcf142e183abdf7) (cherry picked from commit 3de5bf9d3057aaec3fab570784f8ff851d8dfe19) --- 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 b0984f9477fd8..1d3dd1c0bb3fd 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 a10e14c54ccdc042871fe18571995f45d5728753 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:48:50 +0000 Subject: [PATCH 092/193] wangle: reorder inputs to match upstream file (cherry picked from commit c93b3ff59af12832f81deb4c191964dbd9009bcb) (cherry picked from commit 902f733b91279e5a8643d7a65621c113f0cc2aba) --- 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 1d3dd1c0bb3fd..5ded3e1e70a33 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 334e0aff3685551e9073d82e5debff9d43bf5da0 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:02:08 +0000 Subject: [PATCH 093/193] wangle: remove unnecessary CMake flag No point silencing these warnings. (cherry picked from commit 6ad10b9af58e9f1bcdde56ca4173595d33348ebc) (cherry picked from commit 226e6d22e800ae92289c4ee944b550be0ba4eed8) --- 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 5ded3e1e70a33..09ad82e55e562 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 9c57e637bbfd4df21136918b520e59c775d95cf9 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:52:25 +0000 Subject: [PATCH 094/193] wangle: use Ninja (cherry picked from commit 2477b3ee0172b87573f5610e06b6fd4169e34fa8) (cherry picked from commit 1ed0a81cd308392b93bdcf8bd97e743323c93f40) --- 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 09ad82e55e562..3f4eeb65dcfe7 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 380d74b6d6c279cb8eb1c84745b9b134b779720d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 19:41:11 +0000 Subject: [PATCH 095/193] wangle: set `__darwinAllowLocalNetworking` (cherry picked from commit ad8aa38bc71e64df8acfcf17d732e5a72bc2ad42) (cherry picked from commit ed047d1a767fa99d2ae0ef240fe26d8be724db16) --- 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 3f4eeb65dcfe7..1c778c65aad16 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 8ba76a94004f79d68b155c32d67e720c6ed7bcc3 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:51:39 +0000 Subject: [PATCH 096/193] 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 (cherry picked from commit 6ff98c69607f755a49773181761f0715aae8853d) (cherry picked from commit d30f9b8a6f312278b51544996ad9b90f8b94dff6) --- 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 1c778c65aad16..4e37062c3896a 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 09404adf79561056d34329ac639ebb73f55f532a Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:06:36 +0000 Subject: [PATCH 097/193] wangle: condition shared libraries on platform setting (cherry picked from commit ade1eb00f9af7780c3254e434d047d78ca45b3c5) (cherry picked from commit ad6d6e8f5a01af297d5a17e4137557929c65851a) --- 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 4e37062c3896a..f20316fcccb8b 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 e8ede7fa2195b33f687e2bb6d23674144e1403c7 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:03:15 +0000 Subject: [PATCH 098/193] wangle: split outputs (cherry picked from commit 5205f55d4d0a46e33956d9732c2185afe70932d0) (cherry picked from commit 7d24989226fd91edcf292dc330735c1bc29fb9c6) --- 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 f20316fcccb8b..ca3e7a6f285d5 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 3c09f4a220ace7375ee11c508201abd5e22b4a7e Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:07:00 +0000 Subject: [PATCH 099/193] wangle: add update script (cherry picked from commit 762f456228f1373a898c9997476e5a80082e694a) (cherry picked from commit 946fa3acc9d17540d90f94c8b7489e743fd90151) --- 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 ca3e7a6f285d5..3c05417493083 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 b06e63bb8b9356c966cf849dc38ce2ffd41ef657 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:07:23 +0000 Subject: [PATCH 100/193] wangle: add emily to maintainers (cherry picked from commit 82c87506538ca969d57da9e18dec999edc8d3365) (cherry picked from commit b604d4716dfef9b25684c73202e4e385d8a4b8ef) --- 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 3c05417493083..4ff0b32a5ccb0 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 fcc3b011ccce785098786f366a454f16fc418ec4 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:16:21 +0000 Subject: [PATCH 101/193] wangle: add techknowlogick to maintainers (cherry picked from commit 17fe5480a108d9a25756be5792e21fffe330c4f5) (cherry picked from commit 095db1efd1ecefc06705270da0a468b794d3347b) --- 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 4ff0b32a5ccb0..356f479eab139 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 efd8415a95231ab14a53fe56333fc7516ec70f51 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:55:27 +0000 Subject: [PATCH 102/193] fbthrift: format with `nixfmt-rfc-style` (cherry picked from commit 1848967c016e020021deaf18efd54ca8ccbc5f20) (cherry picked from commit 7a3e48fb949bd5458263398b28feda66b8a4f734) --- .../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 ad0173b458b40..b150283bb1cbf 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 c7f7fcb26f53d03c530678674fccd06713b168e5 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:56:04 +0000 Subject: [PATCH 103/193] fbthrift: convert to new Darwin SDK pattern (cherry picked from commit 3a06e577d69e845ed472bd877955ad54e8be6bd7) (cherry picked from commit c2510dd9f6e87a88032e5aa641725e270c3a56ae) --- .../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 b150283bb1cbf..818404c06b847 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 40ea4d063f494..911fba8e429a1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9064,7 +9064,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 887ed58bb7154e8a8e9cc69e3b918eaa14c50372 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:56:36 +0000 Subject: [PATCH 104/193] fbthrift: move to `pkgs/by-name` (cherry picked from commit dddd67fced92a76eeed32bc47c7116df1fcac968) (cherry picked from commit 3aade2e4149a087f5390c172d57d71a493809496) --- .../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 911fba8e429a1..e1e665a655563 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9064,8 +9064,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 2d4f3a64cda99c3d3a14e788f495e7d7a2005161 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:57:26 +0000 Subject: [PATCH 105/193] fbthrift: use `finalAttrs` (cherry picked from commit 548f1f7c35fa88b31ed1936395c04cc032a8f438) (cherry picked from commit 6d62a1293a59a93852ac267e04ad6a6453dfcf57) --- 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 818404c06b847..b0ebf07659432 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 0d5352e05e761127d5564e8e3c9501acf5189fd5 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:57:32 +0000 Subject: [PATCH 106/193] fbthrift: remove `with lib;` (cherry picked from commit 9b67782a3fc04e4cfec4f51cfb8cc476a58771fc) (cherry picked from commit 28b9aa69885da52f9b410172d1eb390772570864) --- 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 b0ebf07659432..367bb2f9beb8e 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 50fa137156912dce00f7b54338dc6c827fa2458e Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:57:59 +0000 Subject: [PATCH 107/193] fbthrift: use `refs/tags/` (cherry picked from commit cf3fde892c97026d00eb23767f765fa157c4ed38) (cherry picked from commit d20e2f56d519cd5394d30597d6f6c65da3554547) --- 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 367bb2f9beb8e..d17de9fb049ff 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 8054f6f15ed139fe8f742c2181306ce90a51390d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:58:12 +0000 Subject: [PATCH 108/193] fbthrift: use `hash` (cherry picked from commit 33fe8a6aff7a8c3deaaa49af78859b5bc64a4197) (cherry picked from commit 94a02dc5ec6b79365be0ac6fbdb5ee8b4aab3e83) --- 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 d17de9fb049ff..ee0a5cedc9790 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 bbe7a25e21f4b559f25cff83e1d9f0fd18e3171a Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:00:46 +0000 Subject: [PATCH 109/193] fbthrift: reorder attributes (cherry picked from commit 19f009b3aad9b68e968a02acfa30620db367a39b) (cherry picked from commit 01ea27e055547858a8f47912ffb77ec6afe938d4) --- 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 ee0a5cedc9790..c1f330335e530 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 23b97b382836595abaf237c3162bb348252275d4 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:58:20 +0000 Subject: [PATCH 110/193] fbthrift: reorder inputs to match upstream file (cherry picked from commit 26008b4611d77bb9e3d3726f758604cfd9975365) (cherry picked from commit 3a2ddb37e18ecda8064167256722aab093bde7f4) --- 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 c1f330335e530..7a6189585ad47 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 ce97828a78a10e9536121c70fa4a6dd812d21ca9 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 00:40:35 +0000 Subject: [PATCH 111/193] fbthrift: remove unnecessary inputs (cherry picked from commit c55b18d9158c6c163e5e5df2499e2445bdd9cf46) (cherry picked from commit 9df44c4fdb11d4a91b47c34b2e8398cdff923f1e) --- 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 7a6189585ad47..084aa87c66597 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 4bb4cb50825215cfafdc94e5570da28356563297 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:02:41 +0000 Subject: [PATCH 112/193] fbthrift: use Ninja (cherry picked from commit fcf3d5262ce1ae625bf374c6d2f64dfa77ecf087) (cherry picked from commit 795f3c831a81a2c73501de8bf5b81cddd1903659) --- 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 084aa87c66597..ea531d7978f6a 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 e6b873e84a585c6f90f17ea83cdc706b637f5ecc Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:01:47 +0000 Subject: [PATCH 113/193] 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 (cherry picked from commit dc60c66359534f5f69ab126974b05d8b71f6271d) (cherry picked from commit 2abc54bbb607d99c0bdb642ee22cd45aefba016c) --- 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 ea531d7978f6a..801c1b1dc5880 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 c9b3a4d10144987da61ec7bdaad7c17fea425a96 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 19:41:11 +0000 Subject: [PATCH 114/193] fbthrift: condition shared libraries on platform setting (cherry picked from commit 3bdc69269d392026f6c25ad136f709e12e8d1a8c) (cherry picked from commit 51470b713930d0d60eb53260e1a92174d8ac1291) --- 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 801c1b1dc5880..fcfc8d8ffdf31 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 7ca0641e273d773568c7b60c9aae116408aad51f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 17:14:38 +0000 Subject: [PATCH 115/193] fbthrift: propagate required dependencies (cherry picked from commit 3dd6e0e71a23a91aaf1f846ef487f6a0e59bc69e) (cherry picked from commit 58e8c1a41f952aa4cb95ddd34e41bf60a42de430) --- 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 fcfc8d8ffdf31..f7a5d630ff12c 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 5236e07b77d37..f77979a51e6a1 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 09a11691b283ed3934fa1249e62ba1eb2f02a44f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 19:41:11 +0000 Subject: [PATCH 116/193] fbthrift: add note about tests (cherry picked from commit acf1c72bfceec7572b7043dd42abee0bf76dfa16) (cherry picked from commit a312d7310b3c0ca11cd53d7a2bd9a5f6dece7976) --- 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 f7a5d630ff12c..ebc8f5c688cd1 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 a1f828720ca260b81618fe33df94a4cee7c4b163 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:07:56 +0000 Subject: [PATCH 117/193] fbthrift: split outputs (cherry picked from commit 7699884b844f330209eccd18906f90e1b95405e8) (cherry picked from commit 84dcdc352cf047a6eab869a8b4b223b5ccc7e680) --- 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 ebc8f5c688cd1..bbebf9b1c207c 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 0000000000000..84271ca246971 --- /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 460f42b13dd2580f2fde29dd27eac9091d337de3 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:08:44 +0000 Subject: [PATCH 118/193] fbthrift: add update script (cherry picked from commit 814fc8dcf101a837ea262631438075abcf4d575c) (cherry picked from commit 1c28dbccc8d5372a6fa6f26b68c1ea139eeb3c69) --- 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 bbebf9b1c207c..c8e3360efcbd0 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 ed8dc3578e4bffcd37958b575de1d1529859567f Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:09:17 +0000 Subject: [PATCH 119/193] fbthrift: add emily to maintainers (cherry picked from commit 0293bf6af5f73272e792a07484a25453b0a7c68c) (cherry picked from commit afe3a7249c12fd816132cf740c616c7509227a4c) --- 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 c8e3360efcbd0..46373343695a3 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 21d5e06f9b8e99d1fd1d88746c0952ab725845e1 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:16:03 +0000 Subject: [PATCH 120/193] fbthrift: add techknowlogick to maintainers (cherry picked from commit 143f253756ca08f80e47c3e411c38cc16606ce9c) (cherry picked from commit 245f8fc34104f82115e3718387caf9701a912dea) --- 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 46373343695a3..a189e7a66a933 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 762d5ea7359328003aba3c597fd9349446721cd5 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:28:01 +0000 Subject: [PATCH 121/193] fb303: format with `nixfmt-rfc-style` (cherry picked from commit 6582129eab3c3d58081106ca000bbbe96a2d4091) (cherry picked from commit e18ba87e92edf2a9d5d24309ffea4f0f6682bee5) --- 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 f77979a51e6a1..bedd96f9d59c7 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 b156f19c35ed7b6271e09aab2c81da87d8c3c4ad Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:28:33 +0000 Subject: [PATCH 122/193] fb303: convert to new Darwin SDK pattern (cherry picked from commit 87a7353f0c9ef56525c290ad50fe1d2b4e4bfa84) (cherry picked from commit e6dba6330c60325e8115b95638fb561c98dc9196) --- 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 bedd96f9d59c7..14353bc4b5ee5 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 e1e665a655563..69f85a847913a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9064,7 +9064,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 752764c06bc7d6eeee87aab5d0504d47bb37dcce Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:29:09 +0000 Subject: [PATCH 123/193] fb303: move to `pkgs/by-name` (cherry picked from commit be97ac3fe63710b41b15a95fb7aff75fb1627f00) (cherry picked from commit 219a361956c514f22379725499d90646dbf9d293) --- .../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 69f85a847913a..ae19a192181d6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9064,8 +9064,6 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; - fb303 = callPackage ../development/libraries/fb303 { }; - inherit (callPackage ../development/libraries/ffmpeg { }) ffmpeg_4 ffmpeg_4-headless From f8ac058129fa43b94fb4433e6e6ff0c87790b49a Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:29:38 +0000 Subject: [PATCH 124/193] fb303: use `finalAttrs` (cherry picked from commit 3c20ddd66d335c2186a229d233c462d2c568435d) (cherry picked from commit b7a013ff3c86db1d85761d5ed7c70495e2f92ef4) --- 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 14353bc4b5ee5..bac97c6ec2534 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 668359885b55402f80a0267f32c7bca059bbce9f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:29:56 +0000 Subject: [PATCH 125/193] fb303: remove `with lib;` (cherry picked from commit fa9cad876b6bfbfcf50974a9f5deafa267abf532) (cherry picked from commit 96a8b82093f2194b2052ee2b2b4b78a591d8cd90) --- 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 bac97c6ec2534..a87d0a5a7fd16 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 80dcc25e43f04417d932bed3e4d23404b99931be Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:30:07 +0000 Subject: [PATCH 126/193] fb303: use `refs/tags/` (cherry picked from commit 29125310cc32a1b10886559f7029f3e00e05317d) (cherry picked from commit b8940bcbf0bd90066c39ad21fa7cb001336f800d) --- 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 a87d0a5a7fd16..754da5f1c8322 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 e99730c8c721deaff7d187f5d3ce276d2e55a28d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:30:14 +0000 Subject: [PATCH 127/193] fb303: use `hash` (cherry picked from commit 5be8fbd184ebd0466e7de166ae8313508183bcad) (cherry picked from commit bfd8f83cd069aeda9ca9ed5ef481c0c5aa6006ab) --- 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 754da5f1c8322..0cc8ccd7f6d3d 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 8732b37e60af2d53c6ab688f1e2fb78d1ea68f26 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:43:14 +0000 Subject: [PATCH 128/193] fb303: reorder attributes (cherry picked from commit 025d0edf867c5f33192977756dd49196cb66c7bb) (cherry picked from commit 96a214a588c953687086c21c4b8c72b2eae86f7c) --- 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 0cc8ccd7f6d3d..3d3cc2a4f3fcc 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 0642824e7fc8eddf739ddce89c0f13e64f0de85d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:33:42 +0000 Subject: [PATCH 129/193] fb303: reorder inputs to match upstream file (cherry picked from commit ef6c8fc06f3590ab7953776e3a36c39d492dde20) (cherry picked from commit 43f7996c26599df72206ba4643604be8cf0b6084) --- 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 3d3cc2a4f3fcc..a3fdf927a78c9 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 6d8f62f2f8747a917e48682bd75df9ccb20df170 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:55:43 +0000 Subject: [PATCH 130/193] fb303: add explicit `gflags` input (cherry picked from commit 01b30ede829a6a794f164085a4974dc80bf2b5de) (cherry picked from commit f7f8b9c30d1e87ce97d42957572e583127448cdc) --- 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 a3fdf927a78c9..8c5c45da94da0 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 5b0e064340fc3047162df4ea555615853421a28d Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:50:50 +0000 Subject: [PATCH 131/193] fb303: remove `python3` input (cherry picked from commit f7efb7b813c2d2a322b719783366d13c0b59dbaa) (cherry picked from commit f1d8260b18f453b390f9a7abeffd809d1aac67c3) --- 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 8c5c45da94da0..18e0ea7c784c8 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 05f382622dbfe8c1318182429588639efde0cbec Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:56:45 +0000 Subject: [PATCH 132/193] fb303: use `lib.cmakeBool` (cherry picked from commit 068ceb04d027ed8bc84c9de23406c5dc4cb814e6) (cherry picked from commit 5e98b4b331851700f62414f4cd4d963c71ed31c3) --- 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 18e0ea7c784c8..4d3ab9a124a59 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 6266ce9ebf85c1dfd5407f73b30c6b7a4a0aab72 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:43:30 +0000 Subject: [PATCH 133/193] fb303: use Ninja (cherry picked from commit 2801ca739a90ed2bda06bd43f9a0b9a88cd3b27b) (cherry picked from commit 17d32ff843579d847c14ff8b81c7ca3b57bcc08c) --- 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 4d3ab9a124a59..6feea1b164ca1 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 a6d05097d21e317d045e3f77e76c4be6885b781a Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 15:38:02 +0000 Subject: [PATCH 134/193] 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 (cherry picked from commit 633f8f77b23351f1d19494f2f2cc56e79f5e4285) (cherry picked from commit 4567e56a7fd056e6c2e45b7b990699b7d166f753) --- 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 6feea1b164ca1..deba3e32062b4 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 e6213d5a4d262282cb1640474141471cf0736d10 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:11:55 +0000 Subject: [PATCH 135/193] fb303: condition shared libraries on platform setting (cherry picked from commit 72f24cc2938db98b238d58c6445d61b3f2b65a67) (cherry picked from commit a95aa410a89bd5a32f8eb151b312da1cfd345552) --- 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 deba3e32062b4..9448e55e00062 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 8d9e9c0b7926ed01de862fb455c6343ad0e974ce Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:13:56 +0000 Subject: [PATCH 136/193] fb303: split outputs (cherry picked from commit 79dc5a8b54c7e7149674fd1d4348c8dd412119f9) (cherry picked from commit 51d81d49530275aabd3fd9c9fda3f804d39a1d44) --- 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 9448e55e00062..9abc57b122449 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 90b414f6dab16987ad82a90a7e4814db7d0e7b7a Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:14:16 +0000 Subject: [PATCH 137/193] fb303: add update script (cherry picked from commit 172efded7a0b48e6daf1ad0f3c7c1ec676b525ee) (cherry picked from commit 9858748e14b04e13da161a529311788d043dcff5) --- 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 9abc57b122449..61076ec6455cc 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 72c9c31e854e24c4082aeeef9e09eac3d51d747f Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:14:34 +0000 Subject: [PATCH 138/193] fb303: add emily to maintainers (cherry picked from commit d4b587f878193665d7cb259559e85531f1d4c235) (cherry picked from commit 58ac7d870f189abf436b0bf87a713c960f5554ac) --- 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 61076ec6455cc..1ae59ed1daeef 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 e22927367dc82ea22805eb8a1a7a26a510f61b87 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:15:48 +0000 Subject: [PATCH 139/193] fb303: add techknowlogick to maintainers (cherry picked from commit c9719114fd9fc85f7123dc873140f43d08b45bab) (cherry picked from commit 6d3c21c97075213c0cd93bd99ae4cb9e99458782) --- 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 1ae59ed1daeef..b03e66eb861ca 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 1b3fa8d9bd4042d572962a7ba82fa82c825d33cd Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:03:21 +0000 Subject: [PATCH 140/193] edencommon: format with `nixfmt-rfc-style` (cherry picked from commit c20f3875247fe88fc3a6f013688302b74197bef3) (cherry picked from commit a78bec1d8d7676b4368cc16f79769551c69fe5e8) --- 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 9abd387a9d92d..ef930814e021c 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 f46f5f6e032f197a18f9399e389f97ea8eca1787 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:03:57 +0000 Subject: [PATCH 141/193] edencommon: convert to new Darwin SDK pattern (cherry picked from commit 3c14c26a35418f54f3ec3f1d767a92de8fdb5341) (cherry picked from commit 353788c210496995fbd4c58af73362558999da14) --- .../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 ef930814e021c..d9f659e24191c 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 ae19a192181d6..c4582e83af8ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9022,7 +9022,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 20cd2e5ed037f6cb5c420318be331262c3fc82a3 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:04:23 +0000 Subject: [PATCH 142/193] edencommon: move to `pkgs/by-name` (cherry picked from commit aa5a90ed1d4a113bfd74e62685df4892dc6912db) (cherry picked from commit dec69d0e8bf9c132ab75582bd1d4322cbe8f0827) --- .../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 c4582e83af8ed..0caf084eaf96c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9022,8 +9022,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 9c19f0579623557b73b5d5576aa03f76f9bab636 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:04:50 +0000 Subject: [PATCH 143/193] edencommon: use `finalAttrs` (cherry picked from commit a82596414267f3cba069337b2c8597b1547a53cd) (cherry picked from commit ec2762739e4c2c6a2e0a847c47e67d1998cf10b5) --- 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 d9f659e24191c..3cb4ff8d75b7b 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 2cf8a161affcdf9e021e847393fb326ed2a6479a Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:04:58 +0000 Subject: [PATCH 144/193] edencommon: remove `with lib;` (cherry picked from commit 171a5474ac2c3b8e520be6b3c5fa2d1dcd0cd325) (cherry picked from commit 7f743b988cb7f66d16d4c173de636d2021c5f771) --- 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 3cb4ff8d75b7b..7152ef1eb9e21 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 fafc2fc2b6688371dd52f7a8aa031c3d1709ba19 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:05:13 +0000 Subject: [PATCH 145/193] edencommon: use `refs/tags/` (cherry picked from commit eb86332558fed372ff758b4466012a2fe6cb24a7) (cherry picked from commit 563498a82634bb0d0602db8d3cf7ebd9b67b5830) --- 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 7152ef1eb9e21..837ebef07486c 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 8a6656246ec8fd31044116523f589b9ea5b7b0f6 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:05:22 +0000 Subject: [PATCH 146/193] edencommon: use `hash` (cherry picked from commit d26d7a195ee0570b72f2e3267a9e8df5f4ee5be8) (cherry picked from commit 72674bb47e4981466c65c53c967dca519164fdfe) --- 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 837ebef07486c..1f9aa59bcf34a 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 94c9aa7d4ecec243c35c9e650c4e577c17d0112f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:06:48 +0000 Subject: [PATCH 147/193] edencommon: reorder inputs to match upstream file (cherry picked from commit 7e35f7f5bb495607c624b299d6d0c04f32471006) (cherry picked from commit 84f62d3ad33d86938991208f8b28cd3dfe01ba41) --- 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 1f9aa59bcf34a..59db7256def56 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 55bf720fe3ebb153c9b435a732d5c0a8fc32b7da Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 23:33:48 +0000 Subject: [PATCH 148/193] edencommon: add explicit `gflags` dependency (cherry picked from commit 2de2d0fad8f21742a342099420f999a519b1070e) (cherry picked from commit a51f5987f3b4909d1537fd7d76deecd4e102c254) --- 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 59db7256def56..9b977f6d7ab07 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 814e5bff87197ab2c86d8d75a30800d0f73fe50e Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:10:48 +0000 Subject: [PATCH 149/193] edencommon: use Ninja (cherry picked from commit 66a2ebb46d081620dc8ca55bf800136808ba4e62) (cherry picked from commit d28afe0015db6f7c1dd14a2748fdcf0371039234) --- 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 9b977f6d7ab07..0fef1acdb9a22 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 2c5a6292a040fcbfa530e6989524590c7092666a Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:07:49 +0000 Subject: [PATCH 150/193] 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 (cherry picked from commit 509f33b9956bcd33db149b8e4a957a1d0bad9079) (cherry picked from commit 9884c5372e5b3ab16cac32cc373c83a31045932f) --- 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 0fef1acdb9a22..44c2ad509db9a 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 9a4458eb893ce1a61df635ff6fe3d2c88ae46545 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:16:01 +0000 Subject: [PATCH 151/193] edencommon: condition shared libraries on platform setting (cherry picked from commit c8d4e11d1ce49ed6dcb5edb4ee2c583a38aff428) (cherry picked from commit ec5f6a6e29f2d7576c8757cbb7cede71588ae380) --- 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 44c2ad509db9a..d998f5bc3d014 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 6f34541ac8d162dcef7fb8220a5d41e5dc833331 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:17:36 +0000 Subject: [PATCH 152/193] edencommon: enable tests (cherry picked from commit d7df60e8f45e7b8f4eb7fe31376b108def2ea888) (cherry picked from commit 78acfbe60d8df8d4ca1456d378e5edb210d7bbb7) --- 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 d998f5bc3d014..0f2ad58845704 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 7c00b4f021523b912a95ca0b0632bf4a8a6ecbaf Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:18:11 +0000 Subject: [PATCH 153/193] edencommon: split outputs (cherry picked from commit 7da9ef3eb4db25e5082db30293a98b0a4dd3b9a3) (cherry picked from commit 04f01efbf72408ee6cbcc4d65f940c01cf8e52c2) --- 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 0f2ad58845704..6a812e4ada655 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 7596981f7a9b0b7cbc9218dc82eae235468f28cd Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:18:27 +0000 Subject: [PATCH 154/193] edencommon: add update script (cherry picked from commit c7b019d5f7ef6eb06d794e4357fc17f3a51034dc) (cherry picked from commit c60de83718e9f89f91c2ede5922e77d466233229) --- 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 6a812e4ada655..8111faf7cf185 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 6093af001070b6010477ecee20c76c6256071570 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:19:27 +0000 Subject: [PATCH 155/193] edencommon: add emily to maintainers (cherry picked from commit cd48138e8dca0440999ccff34368159cb2c34dec) (cherry picked from commit 2c059b87e62c099267f40913e0d7d0dd86135e84) --- 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 8111faf7cf185..8382e2d12a0bb 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 a7174ed8cfb51fff88419682dfb6a14d65083e4b Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:15:25 +0000 Subject: [PATCH 156/193] edencommon: add techknowlogick to maintainers (cherry picked from commit b4b2ad6a9e83f05a67773b8801a5ea9938fbbdd3) (cherry picked from commit 993eed1c393f61e2c396cb1eaa815ed67271b9f0) --- 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 8382e2d12a0bb..060ea7cc2da29 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 86a5932c68ee0e6bc2abbd65e8f4bce1a38dde53 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 15 Nov 2024 15:51:30 +0000 Subject: [PATCH 157/193] cpptoml: add patch for GCC 11 (cherry picked from commit fcb99bc19c648f7946bc9baf1fa143920ca69641) (cherry picked from commit af860c5e0315fb3e656748bd0276c60f3a0f4037) --- .../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 0000000000000..6ab767ad5b9f8 --- /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 888af1c186319..421f67b8260a5 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 04a3542010f5192d47eb9468888022b0454e09f2 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:11:04 +0000 Subject: [PATCH 158/193] watchman: format with `nixfmt-rfc-style` (cherry picked from commit ca944d626ba5cff1ecaddc0dda5cc2a59fa92522) (cherry picked from commit 63da22ec64742844aec24977515294475f5e6b75) --- 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 0a928810eb682..a57faaff6259e 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 7d0b2bec84a0a0972e162e38edad0894e75c4687 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:11:15 +0000 Subject: [PATCH 159/193] watchman: convert to new Darwin SDK pattern (cherry picked from commit 1c60ec77f4081f5ff616f8b50a21b967e99c10eb) (cherry picked from commit bbb05186d971dacb2dbb704f9224a197cb57fc70) --- 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 a57faaff6259e..f91f53389f58b 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 0caf084eaf96c..8b419fe53aab4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5591,9 +5591,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 826d6ff12ce636649590bf9421d45ad7e785c7d2 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:13:23 +0000 Subject: [PATCH 160/193] watchman: move to `pkgs/by-name` (cherry picked from commit ba17205ae363ee665fbc7065b48ae3865d0384e4) (cherry picked from commit b9df99870ba1f749926c9cb63b98d7143d1e6ff0) --- 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 8b419fe53aab4..d656417c587be 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5591,8 +5591,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 9328dc460d69cc1ee01078769877c646ffa975c0 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:14:03 +0000 Subject: [PATCH 161/193] watchman: use `finalAttrs` (cherry picked from commit 4f864948a8b40bbd964c521a433c972e67325330) (cherry picked from commit c7719feca73c120c165483a79b7c7f9eea208f90) --- 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 f91f53389f58b..7446ee777bed2 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 a5c612576b5e945b3a412874dcdd688ba3ca1e65 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:14:08 +0000 Subject: [PATCH 162/193] watchman: remove `with lib;` (cherry picked from commit 8a2efd913300b7e6c6fd79a53962686cf9298383) (cherry picked from commit 382f956f2b6777bf2340725de4e3ddfa3f8a11ba) --- 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 7446ee777bed2..bd471a914b1bd 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 d55bdcafd3ef69fe58ae135998cc08ebb1114dd8 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:14:56 +0000 Subject: [PATCH 163/193] watchman: use `refs/tags/` (cherry picked from commit 14410cc8dca87ea0131afce4acce49c4a0d714eb) (cherry picked from commit a2ac9bf1ce8ae85522a3f387c35a27a859f8fcc8) --- 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 bd471a914b1bd..3337590d31724 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 dcfeafd6a0ce8d5f279e55a959289bad4c62bef0 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:28:31 +0000 Subject: [PATCH 164/193] watchman: reorder attributes (cherry picked from commit 033896e98cf203107a6a751db4fe8f351371ea41) (cherry picked from commit 33a43b4f4d63b99b87e6dfe3972f3e6e37bdd802) --- 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 3337590d31724..3cd870b52473f 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 be7d4ecda3cfdedbdd2ac3aa02577f87ba583c51 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 16:18:49 +0000 Subject: [PATCH 165/193] watchman: reorder inputs to match upstream file (cherry picked from commit fe60436739a0cd8aec4c7382249c2f5029dde64b) (cherry picked from commit 0cd61fe0c8dd4ae43743a25a4eb6ee2e613f822f) --- pkgs/by-name/wa/watchman/package.nix | 58 +++++++++++++++------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 3cd870b52473f..57ec179470965 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, + + cmake, + pkg-config, + rustc, + cargo, + rustPlatform, + ensureNewerSourcesForZipFilesHook, + + pcre2, + openssl, glog, - gtest, - lib, libevent, - libsodium, + edencommon, + folly, + fizz, + wangle, + fbthrift, + fb303, + cpptoml, + gtest, libunwind, + libsodium, + double-conversion, lz4, - openssl, - pcre2, - pkg-config, - rustPlatform, - rustc, - stateDir ? "/tmp", - stdenv, - wangle, 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 c981f0f2c99b6fbc8d7e288279615e23402bedce Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 21:45:57 +0000 Subject: [PATCH 166/193] watchman: clean up inputs (cherry picked from commit f7f5d1a9473a3fafc5aa8f685e9e364d97548fc5) (cherry picked from commit e24c6b93b96012a061ee2c024b3c23627bd5e0ac) --- 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 57ec179470965..300305d8efd4d 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 7fdaae10d5f616327730fe501b888a77a36a0fe8 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 21:21:43 +0000 Subject: [PATCH 167/193] watchman: use Ninja (cherry picked from commit 354913f342e64e93c2a8384e52f17daf1d97b3bb) (cherry picked from commit e60032408839fa8f92b537bbc982d9e97c1fd762) --- 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 300305d8efd4d..181a03bdf4170 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 e59693e606bae598b2a68e253e5e6bc40a7dd4d1 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 21:05:47 +0000 Subject: [PATCH 168/193] 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 (cherry picked from commit 13a571f5ee27e94c04140ae14e5bc74dc4917343) (cherry picked from commit d6cde378c28b64b51e4c070e32de5792bd5aaef0) --- pkgs/by-name/wa/watchman/Cargo.lock | 445 ++++++++++++--------------- pkgs/by-name/wa/watchman/package.nix | 14 +- 2 files changed, 203 insertions(+), 256 deletions(-) diff --git a/pkgs/by-name/wa/watchman/Cargo.lock b/pkgs/by-name/wa/watchman/Cargo.lock index 4da733140b480..09cd62514f5a2 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,153 +960,122 @@ 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-sys" +name = "windows-core" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.0", + "windows-targets", ] [[package]] -name = "windows-targets" -version = "0.48.5" +name = "windows-sys" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 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", + "windows-targets", ] [[package]] -name = "windows-targets" -version = "0.52.0" +name = "windows-sys" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 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-targets", ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" +name = "windows-targets" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "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.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" - -[[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" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" - -[[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 = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] -name = "windows_i686_msvc" -version = "0.48.5" +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.6" 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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.6" 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 181a03bdf4170..03ba83297db6c 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 6bb3a25d51be92206b56bb5fcf2c03bdfea6947a Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 22:30:33 +0000 Subject: [PATCH 169/193] watchman: use `lib.cmake{Bool,Feature}` (cherry picked from commit d9ea8bbebfe60895ac98640402a655e95149bcf1) (cherry picked from commit 01a0d8352a5fc01ff537b46dd5ca4902cf88bc34) --- 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 03ba83297db6c..143894b64b6b3 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 cc8a407545bd3f572bdebed0f3e765c52ced1d72 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 15 Nov 2024 16:26:47 +0000 Subject: [PATCH 170/193] 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. (cherry picked from commit 33b5c76f1492e5afca9a3c03d525f50891af42c1) (cherry picked from commit e9299e8b164a95aafd0d307b82dd09e76054800b) --- 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 143894b64b6b3..e713ff947aec7 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 ebfe3dde3713c7943b24112bfedd709fc59fdf2f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 13 Nov 2024 22:30:33 +0000 Subject: [PATCH 171/193] watchman: use upstream default for `stateDir` Possibly it should use `/run/watchman` on Linux. (cherry picked from commit e701eb3d63fa3f4cae55d86dd935bcc117e4f174) (cherry picked from commit ce65820aff99ac2551024ba6089d4ed84560d4ce) --- 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 e713ff947aec7..82d5e4e39b9dc 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 d24cff2abd175f3532da7564a3c2bad5caa0fa7c Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:21:36 +0000 Subject: [PATCH 172/193] watchman: enable tests (cherry picked from commit 10dbf1de4b6864143707529c34ace520a46a7372) (cherry picked from commit 7191a4bba942798c8e4a1970715f57be18082cfb) --- 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 82d5e4e39b9dc..683024e61488e 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 08973610476c8b41bc0023ba95c181ed413a7886 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 13:24:16 +0000 Subject: [PATCH 173/193] watchman: strip references to `folly.fmt.dev` (cherry picked from commit 9a90e1cd80359c9dd5e7eaca80274ba9c96b5180) (cherry picked from commit 56788e08aa9ef05fef73ea331555ed7177b00b33) --- 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 683024e61488e..29a0eb12767e3 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 9dee8b4b853b2ce36eab93c401593d9fd8b45cbd Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:39:01 +0000 Subject: [PATCH 174/193] watchman: add update script (cherry picked from commit ec166bb5f0eb1af4fc706ea55c01cd886e81ea01) (cherry picked from commit 5e28ca8e9e03a297142e4dd8cd42c4b857e71642) --- 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 29a0eb12767e3..4471aa25ffb80 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 dc710f78da3abd768f3aa5a892c960c1d10b9c7e Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 14 Nov 2024 03:24:15 +0000 Subject: [PATCH 175/193] watchman: add emily to maintainers (cherry picked from commit df28dd1d3c0915c071561a132d013badf3086c6d) (cherry picked from commit 56adcfdfe7dfaf48ce7cdc072a6c2a0b97749c18) --- 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 4471aa25ffb80..b41121f48083f 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 d5694f2b8650fd68f65a7233f5771e6fcde47411 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 16 Nov 2024 06:14:52 +0000 Subject: [PATCH 176/193] watchman: add techknowlogick to maintainers (cherry picked from commit 041e7f435d6bb191f0e472763fc5f52df40c7b76) (cherry picked from commit 47edc32d76fdf7672f9d8effc94ffc78a1e48d48) --- 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 b41121f48083f..8ee1aaf2c3b47 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; From 39809ed175a0dc34db3ee483ef4c3c47b3c23f93 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 19 Nov 2024 11:39:30 +0000 Subject: [PATCH 177/193] libarchive: add patch to fix `.pc` file (cherry picked from commit 505530e3de15f4b3599416b15cb08a12fe7671ae) (cherry picked from commit b5ca14bb98534a73d0113d8e4ce555c580553c15) --- .../li/libarchive/fix-pkg-config-iconv.patch | 18 ++++++++++++++++++ pkgs/by-name/li/libarchive/package.nix | 16 ++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/by-name/li/libarchive/fix-pkg-config-iconv.patch diff --git a/pkgs/by-name/li/libarchive/fix-pkg-config-iconv.patch b/pkgs/by-name/li/libarchive/fix-pkg-config-iconv.patch new file mode 100644 index 0000000000000..209a293b460bb --- /dev/null +++ b/pkgs/by-name/li/libarchive/fix-pkg-config-iconv.patch @@ -0,0 +1,18 @@ +diff --git a/configure.ac b/configure.ac +index 0fdfaf06a5..d08611848c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -453,13 +453,8 @@ + AC_CHECK_HEADERS([iconv.h],[],[],[#include ]) + if test "x$am_cv_func_iconv" = "xyes"; then + AC_CHECK_HEADERS([localcharset.h]) +- am_save_LIBS="$LIBS" + LIBS="${LIBS} ${LIBICONV}" +- if test -n "$LIBICONV"; then +- LIBSREQUIRED="$LIBSREQUIRED${LIBSREQUIRED:+ }iconv" +- fi + AC_CHECK_FUNCS([locale_charset]) +- LIBS="${am_save_LIBS}" + if test "x$ac_cv_func_locale_charset" != "xyes"; then + # If locale_charset() is not in libiconv, we have to find libcharset. + AC_CHECK_LIB(charset,locale_charset) diff --git a/pkgs/by-name/li/libarchive/package.nix b/pkgs/by-name/li/libarchive/package.nix index 306c92c6e71a1..6ffa2b5314416 100644 --- a/pkgs/by-name/li/libarchive/package.nix +++ b/pkgs/by-name/li/libarchive/package.nix @@ -40,6 +40,22 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-maV2+Whi4aDG1VLAYpOTxluO9I0zNiZ8fA3w7epGlDg="; }; + patches = [ + # The `.pc` file lists `iconv` in `Requires.private` when `-liconv` + # is required, even though common platforms in that situation like + # Darwin don’t ship a `.pc` file for their `libiconv`. This isn’t + # upstreamed as there are a handful of closed or regressed PRs + # trying to fix it already and it seems upstream added this to deal + # with some non‐portable MSYS2 thing or something. + # + # See: + # + # * + # * + # * + ./fix-pkg-config-iconv.patch + ]; + outputs = [ "out" "lib" "dev" ]; postPatch = let From 7639abd4d4738fe20351a523a7cf672df033137b Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 19 Nov 2024 14:20:58 +0000 Subject: [PATCH 178/193] Revert "nixStatic: mark as broken on darwin (#357185)" This is no longer necessary now that `libarchive` has been fixed. This reverts commit 0705964c881cea8896474610188905ba41b59b08. (cherry picked from commit 36a7b78f7c30b1ef522bcb4899092d57c967055e) (cherry picked from commit bb39e687143797692c31320b43f6f692d2e2bcf7) --- pkgs/tools/package-management/nix/common.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix index f3629c42d78b9..a4d233b2b128c 100644 --- a/pkgs/tools/package-management/nix/common.nix +++ b/pkgs/tools/package-management/nix/common.nix @@ -329,8 +329,6 @@ self = stdenv.mkDerivation { license = licenses.lgpl21Plus; inherit maintainers; platforms = platforms.unix; - # Requires refactorings in nixpkgs: https://github.com/NixOS/nixpkgs/pull/356983 - broken = stdenv.hostPlatform.isDarwin && enableStatic; outputsToInstall = [ "out" ] ++ optional enableDocumentation "man"; mainProgram = "nix"; knownVulnerabilities = lib.optional (!builtins.elem (lib.versions.majorMinor version) unaffectedByFodSandboxEscape && !atLeast221) "CVE-2024-27297"; From a8e4d3a32ee6797f82e0afda1b4fc2343e5df6bc Mon Sep 17 00:00:00 2001 From: midchildan Date: Tue, 19 Nov 2024 10:50:00 +0900 Subject: [PATCH 179/193] xcbuild: find system toolchain on macOS Sonoma and earlier (cherry picked from commit 82a00b78e4e5b17f163cb9d4587ddd0b12504820) (cherry picked from commit b3122a125ef56e5501955ce399c379c625f70201) --- .../Use-system-toolchain-for-usr-bin.patch | 52 +++++++++++-------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch b/pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch index 9e83142357094..f1b5a38fbcf0c 100644 --- a/pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch +++ b/pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch @@ -1,8 +1,7 @@ -diff --git a/Libraries/xcsdk/Tools/xcrun.cpp b/Libraries/xcsdk/Tools/xcrun.cpp -index 9d6d4576d7..73aabc3d42 100644 ---- a/Libraries/xcsdk/Tools/xcrun.cpp -+++ b/Libraries/xcsdk/Tools/xcrun.cpp -@@ -23,10 +23,14 @@ +diff -Naur a/Libraries/xcsdk/Tools/xcrun.cpp b/Libraries/xcsdk/Tools/xcrun.cpp +--- a/Libraries/xcsdk/Tools/xcrun.cpp 1970-01-01 09:00:01 ++++ b/Libraries/xcsdk/Tools/xcrun.cpp 2024-11-19 01:44:38 +@@ -23,10 +23,19 @@ #include #include @@ -12,12 +11,17 @@ index 9d6d4576d7..73aabc3d42 100644 using libutil::Filesystem; using libutil::FSUtil; -+#define SYSTEM_DEVELOPER_DIR "/private/var/select/developer_dir" ++namespace { ++ const std::vector kSystemDeveloperDirs = { ++ "/private/var/select/developer_dir", ++ "/private/var/db/xcode_select_link" ++ }; ++} + class Options { private: ext::optional _help; -@@ -398,6 +402,8 @@ +@@ -398,6 +407,8 @@ fprintf(stderr, "\n"); } @@ -26,7 +30,7 @@ index 9d6d4576d7..73aabc3d42 100644 /* * Collect search paths for the tool. * Can be in toolchains, target (if one is provided), developer root, -@@ -408,10 +414,42 @@ +@@ -408,10 +419,46 @@ executablePaths.insert(executablePaths.end(), defaultExecutablePaths.begin(), defaultExecutablePaths.end()); /* @@ -49,16 +53,20 @@ index 9d6d4576d7..73aabc3d42 100644 + * Fixes https://github.com/NixOS/nixpkgs/issues/353875. + */ + std::vector toolchainPaths = { }; -+ if (executablePaths.size() < originalSize && filesystem->exists(SYSTEM_DEVELOPER_DIR)) { -+ auto linkTarget = filesystem->readSymbolicLinkCanonical(SYSTEM_DEVELOPER_DIR); -+ if (linkTarget) { -+ auto usrBinPath = FSUtil::NormalizePath(*linkTarget + "/usr/bin"); -+ if (filesystem->exists(usrBinPath)) { -+ toolchainPaths.push_back(usrBinPath); -+ } -+ auto toolchainUsrBinPath = FSUtil::NormalizePath(*linkTarget + "/Toolchains/XcodeDefault.xctoolchain/usr/bin"); -+ if (filesystem->exists(toolchainUsrBinPath)) { -+ toolchainPaths.push_back(toolchainUsrBinPath); ++ if (executablePaths.size() < originalSize) { ++ for (const auto& dir : kSystemDeveloperDirs) { ++ if (filesystem->exists(dir)) { ++ auto linkTarget = filesystem->readSymbolicLinkCanonical(dir); ++ if (linkTarget) { ++ auto usrBinPath = FSUtil::NormalizePath(*linkTarget + "/usr/bin"); ++ if (filesystem->exists(usrBinPath)) { ++ toolchainPaths.push_back(usrBinPath); ++ } ++ auto toolchainUsrBinPath = FSUtil::NormalizePath(*linkTarget + "/Toolchains/XcodeDefault.xctoolchain/usr/bin"); ++ if (filesystem->exists(toolchainUsrBinPath)) { ++ toolchainPaths.push_back(toolchainUsrBinPath); ++ } ++ } + } + } + } @@ -69,12 +77,12 @@ index 9d6d4576d7..73aabc3d42 100644 fprintf(stderr, "error: tool '%s' not found\n", options.tool()->c_str()); return 1; } -@@ -428,8 +466,6 @@ +@@ -427,8 +474,6 @@ + return 0; } else { /* Run is the default. */ - -- std::unordered_map environment = processContext->environmentVariables(); - +- std::unordered_map environment = processContext->environmentVariables(); + if (target != nullptr) { /* - * Update effective environment to include the target path. From 54b8917845bb0960afb58c1392474f90b1c76cff Mon Sep 17 00:00:00 2001 From: Reno Dakota Date: Tue, 19 Nov 2024 21:14:40 -0800 Subject: [PATCH 180/193] xcbuild: const can't desctruct. fix build build failed on clang-19 fixes 82a00b78e4e5b17f163cb9d4587ddd0b12504820 (cherry picked from commit ab5898375927bd0b63403d35b41c76fb5c49f210) (cherry picked from commit 67439e92dd9e936d334b82f692c6840afebc557d) --- .../xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch b/pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch index f1b5a38fbcf0c..d617b4206c1b2 100644 --- a/pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch +++ b/pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch @@ -12,7 +12,7 @@ diff -Naur a/Libraries/xcsdk/Tools/xcrun.cpp b/Libraries/xcsdk/Tools/xcrun.cpp using libutil::FSUtil; +namespace { -+ const std::vector kSystemDeveloperDirs = { ++ const std::vector kSystemDeveloperDirs = { + "/private/var/select/developer_dir", + "/private/var/db/xcode_select_link" + }; From adc2a4959def8f58783f2b78655ff1a879c63906 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Wed, 20 Nov 2024 18:37:03 +0100 Subject: [PATCH 181/193] nodejs_20: 20.18.0 -> 20.18.1 (cherry picked from commit a8ae089509e1f915decfea7df6d59a5fa3c2b861) --- pkgs/development/web/nodejs/v20.nix | 31 ++--------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix index 4b0be19dad778..7a8865afae94d 100644 --- a/pkgs/development/web/nodejs/v20.nix +++ b/pkgs/development/web/nodejs/v20.nix @@ -12,8 +12,8 @@ let in buildNodejs { inherit enableNpm; - version = "20.18.0"; - sha256 = "7d9433e91fd88d82ba8de86e711ec41907638e227993d22e95126b02f6cd714a"; + version = "20.18.1"; + sha256 = "91df43f8ab6c3f7be81522d73313dbdd5634bbca228ef0e6d9369fe0ab8cccd0"; patches = [ ./configure-emulator.patch ./configure-armv6-vfpv2.patch @@ -21,32 +21,5 @@ buildNodejs { ./bypass-darwin-xcrun-node16.patch ./node-npm-build-npm-package-logic.patch ./use-correct-env-in-tests.patch - - # Patches for OpenSSL 3.2 - # Patches not yet released - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/f8b7a171463e775da304bccf4cf165e634525c7e.patch?full_index=1"; - hash = "sha256-imptUwt2oG8pPGKD3V6m5NQXuahis71UpXiJm4C0E6o="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/6dfa3e46d3d2f8cfba7da636d48a5c41b0132cd7.patch?full_index=1"; - hash = "sha256-ITtGsvZI6fliirCKvbMH9N2Xoy3001bz+hS3NPoqvzg="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/29b9c72b05786061cde58a5ae11cfcb580ab6c28.patch?full_index=1"; - hash = "sha256-xaqtwsrOIyRV5zzccab+nDNG8kUgO6AjrVYJNmjeNP0="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/cfe58cfdc488da71e655d3da709292ce6d9ddb58.patch?full_index=1"; - hash = "sha256-9GblpbQcYfoiE5R7fETsdW7v1Mm2Xdr4+xRNgUpLO+8="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/2cec716c48cea816dcd5bf4997ae3cdf1fe4cd90.patch?full_index=1"; - hash = "sha256-ExIkAj8yRJEK39OfV6A53HiuZsfQOm82/Tvj0nCaI8A="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/0f7bdcc17fbc7098b89f238f4bd8ecad9367887b.patch?full_index=1"; - hash = "sha256-lXx6QyD2anlY9qAwjNMFM2VcHckBshghUF1NaMoaNl4="; - }) ] ++ gypPatches; } From 0e2bef0920e592ce8217af245b1633386ae1db67 Mon Sep 17 00:00:00 2001 From: Reno Dakota Date: Wed, 20 Nov 2024 22:36:17 -0800 Subject: [PATCH 182/193] tk: fix x64 darwin build update replace -framework -> -weak_framework to remove reference to UniformTypeIdentifiers (cherry picked from commit f7c3bbc5c7d0fdf4a16e32580e2ee7fdcfeaa55e) --- pkgs/development/libraries/tk/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix index 7a4b0a76d3b44..dfe14f22ec45c 100644 --- a/pkgs/development/libraries/tk/generic.nix +++ b/pkgs/development/libraries/tk/generic.nix @@ -24,7 +24,7 @@ tcl.mkTclDerivation { '' + lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11") '' substituteInPlace unix/configure* \ - --replace " -framework UniformTypeIdentifiers" "" + --replace-fail " -weak_framework UniformTypeIdentifiers" "" ''; postInstall = '' From a98c9fb24f06b80facd0185f8b844f66841c109a Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 20 Nov 2024 21:16:50 +0100 Subject: [PATCH 183/193] curl: backport other netrc regression fix Signed-off-by: Sefa Eyeoglu (cherry picked from commit 846d78b9b9d4bde9c8c98c4d12fef98a1aae5f31) (cherry picked from commit fedcf60ab5d92acee4a205613ef61c318cd69f5b) --- .../curlMinimal/fix-netrc-regression-2.patch | 31 +++++++++++++++++++ pkgs/by-name/cu/curlMinimal/package.nix | 4 +++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/by-name/cu/curlMinimal/fix-netrc-regression-2.patch diff --git a/pkgs/by-name/cu/curlMinimal/fix-netrc-regression-2.patch b/pkgs/by-name/cu/curlMinimal/fix-netrc-regression-2.patch new file mode 100644 index 0000000000000..8cf36fea64b64 --- /dev/null +++ b/pkgs/by-name/cu/curlMinimal/fix-netrc-regression-2.patch @@ -0,0 +1,31 @@ +From 0cdde0fdfbeb8c35420f6d03fa4b77ed73497694 Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg +Date: Thu, 7 Nov 2024 17:03:54 +0100 +Subject: [PATCH] netrc: support large file, longer lines, longer tokens + +Regression from 3b43a05e000aa8f6 (shipped in 8.11.0) + +Reported-by: Moritz +Fixes #15513 +Closes #15514 +--- + lib/netrc.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/lib/netrc.c b/lib/netrc.c +index c23f927cef32d35059360f04be3c7833589f5df5..034c0307a43e3b86c9c004387cedf273588370e1 100644 +--- a/lib/netrc.c ++++ b/lib/netrc.c +@@ -58,9 +58,9 @@ enum found_state { + #define NETRC_FAILED -1 + #define NETRC_SUCCESS 0 + +-#define MAX_NETRC_LINE 4096 +-#define MAX_NETRC_FILE (64*1024) +-#define MAX_NETRC_TOKEN 128 ++#define MAX_NETRC_LINE 16384 ++#define MAX_NETRC_FILE (128*1024) ++#define MAX_NETRC_TOKEN 4096 + + static CURLcode file2memory(const char *filename, struct dynbuf *filebuf) + { diff --git a/pkgs/by-name/cu/curlMinimal/package.nix b/pkgs/by-name/cu/curlMinimal/package.nix index 3e2c4fc8ed836..43962736bb852 100644 --- a/pkgs/by-name/cu/curlMinimal/package.nix +++ b/pkgs/by-name/cu/curlMinimal/package.nix @@ -65,6 +65,10 @@ stdenv.mkDerivation (finalAttrs: { # https://github.com/curl/curl/commit/f5c616930b5cf148b1b2632da4f5963ff48bdf88 # TODO: Remove this patch when 8.11.1/8.12.0 releases ./fix-netrc-regression.patch + + # https://github.com/curl/curl/issues/15513 + # https://github.com/curl/curl/commit/0cdde0fdfbeb8c35420f6d03fa4b77ed73497694 + ./fix-netrc-regression-2.patch ]; # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion From cec59f9c7078ba5e8587bccb6f96b6832b0c3757 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 17 Nov 2024 15:02:34 +0100 Subject: [PATCH 184/193] e2fsprogs: remove compat patch 23.05 is not supported anymore. (cherry picked from commit 894fb0748dc16bac3d6fee704715e726759481eb) (cherry picked from commit 6b42457942cb8905a05e1e9da0dc75659741ced0) --- pkgs/by-name/e2/e2fsprogs/package.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkgs/by-name/e2/e2fsprogs/package.nix b/pkgs/by-name/e2/e2fsprogs/package.nix index 4d0849b896d09..43549c233b828 100644 --- a/pkgs/by-name/e2/e2fsprogs/package.nix +++ b/pkgs/by-name/e2/e2fsprogs/package.nix @@ -23,13 +23,6 @@ stdenv.mkDerivation rec { ++ lib.optionals withFuse [ fuse3 ]; patches = [ - # Avoid trouble with older systems like NixOS 23.05. - # TODO: most likely drop this at some point, e.g. when 23.05 loses support. - (fetchurl { - name = "mke2fs-avoid-incompatible-features.patch"; - url = "https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/plain/debian/patches/disable-metadata_csum_seed-and-orphan_file-by-default?h=debian/master&id=3fb3d18baba90e5d48d94f4c0b79b2d271b0c913"; - hash = "sha256-YD11K4s2bqv0rvzrxtaiodzLp3ztULlOlPUf1XcpxRY="; - }) (fetchurl { name = "SIZEOF_SIZE_T.patch"; url = "https://lore.kernel.org/linux-ext4/20240527074121.2767083-1-hi@alyssa.is/raw"; From a92ea1ff2696c031823c95d37777079a3f472408 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 17 Nov 2024 13:45:05 +0100 Subject: [PATCH 185/193] nixos/lib/test-driver: remove legacy args handling Scheduled for removal in 24.11, so let's follow through. Added in #291544. (cherry picked from commit 71306e6b36657f3987214611ec863a891334bf5a) (cherry picked from commit 8427b6f6403156ba9802592895e8964f8b70a874) --- nixos/lib/test-driver/test_driver/driver.py | 37 --------------------- 1 file changed, 37 deletions(-) diff --git a/nixos/lib/test-driver/test_driver/driver.py b/nixos/lib/test-driver/test_driver/driver.py index ca778a576f722..eeefe1380bc81 100644 --- a/nixos/lib/test-driver/test_driver/driver.py +++ b/nixos/lib/test-driver/test_driver/driver.py @@ -211,43 +211,6 @@ def create_machine( name: str | None = None, keep_vm_state: bool = False, ) -> Machine: - # Legacy args handling - # FIXME: remove after 24.05 - if isinstance(start_command, dict): - if name is not None or keep_vm_state: - raise TypeError( - "Dictionary passed to create_machine must be the only argument" - ) - - args = start_command - start_command = args.pop("startCommand", SENTINEL) - - if start_command is SENTINEL: - raise TypeError( - "Dictionary passed to create_machine must contain startCommand" - ) - - if not isinstance(start_command, str): - raise TypeError( - f"startCommand must be a string, got: {repr(start_command)}" - ) - - name = args.pop("name", None) - keep_vm_state = args.pop("keep_vm_state", False) - - if args: - raise TypeError( - f"Unsupported arguments passed to create_machine: {args}" - ) - - self.logger.warning( - Fore.YELLOW - + Style.BRIGHT - + "WARNING: Using create_machine with a single dictionary argument is deprecated and will be removed in NixOS 24.11" - + Style.RESET_ALL - ) - # End legacy args handling - tmp_dir = get_tmp_dir() cmd = NixStartScript(start_command) From a63fd65d7aa95684239bd334fcc9f879b3def78a Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 21 Nov 2024 21:39:59 +0100 Subject: [PATCH 186/193] cacert: 3.104 -> 3.107 https://groups.google.com/a/mozilla.org/g/dev-tech-crypto/c/WH8hT2HA7RM (cherry picked from commit 34887f20f659bf5cd3ab182179a739ba32ba048a) (cherry picked from commit b50e39dcbd30bb963d0b011b59215380c164577d) (cherry picked from commit 24dc80f200aeb3dc1585fc4bc6eccf5608094140) --- pkgs/data/misc/cacert/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix index d98a50f34fe40..2ae890496affc 100644 --- a/pkgs/data/misc/cacert/default.nix +++ b/pkgs/data/misc/cacert/default.nix @@ -20,7 +20,7 @@ let blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist); extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings); - srcVersion = "3.104"; + srcVersion = "3.107"; version = if nssOverride != null then nssOverride.version else srcVersion; meta = with lib; { homepage = "https://curl.haxx.se/docs/caextract.html"; @@ -37,7 +37,7 @@ let owner = "nss-dev"; repo = "nss"; rev = "NSS_${lib.replaceStrings ["."] ["_"] version}_RTM"; - hash = "sha256-TEGEKocapU5OTqx69n8nrn/X3SZr49d1alHM73UnDJw="; + hash = "sha256-c6ks/pBvZHipNkmBy784s96zMYP+D9q3VlVrPVSohLw="; }; dontBuild = true; From 9837d6fa7f690dc99f5c75c0f144d027adb52425 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 14 Nov 2024 00:06:42 +0100 Subject: [PATCH 187/193] python313Packages.pycurl: 7.45.3 -> 7.45.3-unstable-2024-10-17 Update to unstable version to relieve some compat issues and reenable a number of tests. The upstream unfortunately does not push out release very often anymore. (cherry picked from commit c3f73ea908d82dba589a8b3ac2f7bb0737a2c49b) https://hydra.nixos.org/build/279791996 (cherry picked from commit d3bfb6cbfeed7b35c64bc012c6adfea605cd081d) --- .../python-modules/pycurl/default.nix | 57 ++++++++----------- 1 file changed, 24 insertions(+), 33 deletions(-) diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix index 2d18e7110a7bd..40aa79a8a7e92 100644 --- a/pkgs/development/python-modules/pycurl/default.nix +++ b/pkgs/development/python-modules/pycurl/default.nix @@ -3,41 +3,32 @@ stdenv, buildPythonPackage, isPyPy, - fetchPypi, - fetchpatch, - pythonOlder, + fetchFromGitHub, curl, openssl, bottle, pytestCheckHook, flaky, + flask, setuptools, }: buildPythonPackage rec { pname = "pycurl"; - version = "7.45.3"; + version = "7.45.3-unstable-2024-10-17"; pyproject = true; - disabled = isPyPy || pythonOlder "3.8"; # https://github.com/pycurl/pycurl/issues/208 + disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208 - src = fetchPypi { - inherit pname version; - hash = "sha256-jCRxr5B5rXmOFkXsCw09QiPbaHN50X3TanBjdEn4HWs="; + src = fetchFromGitHub { + owner = "pycurl"; + repo = "pycurl"; + # Pinned to newer commit, since the release cadence is not keeping up with curl itself + #rev = "refs/tags/REL_${lib.replaceStrings [ "." ] [ "_" ] version}"; + rev = "885d08b4d3cbc59547b8b80fbd13ab5fc6f27238"; + hash = "sha256-WnrQhv6xiA+/Uz0hUmQxmEUasxtvlIV2EjlO+ZOUgI8="; }; - patches = [ - # Don't use -flat_namespace on macOS - # https://github.com/pycurl/pycurl/pull/855 remove on next update - (fetchpatch { - name = "no_flat_namespace.patch"; - url = "https://github.com/pycurl/pycurl/commit/7deb85e24981e23258ea411dcc79ca9b527a297d.patch"; - hash = "sha256-tk0PQy3cHyXxFnoVYNQV+KD/07i7AUYHNJnrw6H8tHk="; - }) - ]; - - __darwinAllowLocalNetworking = true; - preConfigure = '' substituteInPlace setup.py \ --replace-fail '--static-libs' '--libs' @@ -46,19 +37,24 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ curl ]; + buildInputs = [ curl openssl ]; - nativeBuildInputs = [ curl ]; + pythonImportsCheck = [ "pycurl" ]; nativeCheckInputs = [ bottle flaky + flask pytestCheckHook ]; + __darwinAllowLocalNetworking = true; + pytestFlagsArray = [ # don't pick up the tests directory below examples/ "tests" @@ -68,8 +64,6 @@ buildPythonPackage rec { export HOME=$TMPDIR ''; - pythonImportsCheck = [ "pycurl" ]; - disabledTests = [ # tests that require network access @@ -83,27 +77,24 @@ buildPythonPackage rec { "test_libcurl_ssl_gnutls" # AssertionError: assert 'crypto' in ['curl'] "test_ssl_in_static_libs" - # tests that require curl with http3Support - "test_http_version_3" # https://github.com/pycurl/pycurl/issues/819 "test_multi_socket_select" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ # https://github.com/pycurl/pycurl/issues/729 "test_easy_pause_unpause" "test_multi_socket_action" - # https://github.com/pycurl/pycurl/issues/822 - "test_request_with_verifypeer" - # https://github.com/pycurl/pycurl/issues/836 - "test_proxy_tlsauth" - # AssertionError: 'Москва' != '\n... - "test_encoded_unicode_header" - # https://github.com/pycurl/pycurl/issues/856 - "test_multi_info_read" ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ # Fatal Python error: Segmentation fault "cadata_test" ]; + disabledTestPaths = [ + # https://github.com/pycurl/pycurl/issues/856 + "tests/multi_test.py" + ]; + meta = with lib; { description = "Python Interface To The cURL library"; homepage = "http://pycurl.io/"; From 8221c09ff5745fedf86feb8f4de30e75ce6cd037 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 25 Nov 2024 17:12:00 +0000 Subject: [PATCH 188/193] =?UTF-8?q?nixos/lib/test-driver:=20fix=20linting?= =?UTF-8?q?=20after=20compatibility=20clean=E2=80=90up?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous commit removed the handling of `dict` arguments, but didn’t adjust the type, leading to the following type-checking error: test_driver/driver.py:216: error: Argument 1 to "NixStartScript" has incompatible type "str | dict[Any, Any]"; expected "str" [arg-type] It also left an unused import that Ruff is unhappy about: build/lib/test_driver/driver.py:11:22: F401 [*] `colorama.Fore` imported but unused … build/lib/test_driver/driver.py:11:28: F401 [*] `colorama.Style` imported but unused Fixes: 71306e6b36657f3987214611ec863a891334bf5a (cherry picked from commit d490680530a81f77bdd248cbc99aa4878d6d97c7) (cherry picked from commit ff31b814b62c760b1abbedc43d9b34d2dc75b351) --- nixos/lib/test-driver/test_driver/driver.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos/lib/test-driver/test_driver/driver.py b/nixos/lib/test-driver/test_driver/driver.py index eeefe1380bc81..6061c1bc09b85 100644 --- a/nixos/lib/test-driver/test_driver/driver.py +++ b/nixos/lib/test-driver/test_driver/driver.py @@ -8,8 +8,6 @@ from pathlib import Path from typing import Any -from colorama import Fore, Style - from test_driver.logger import AbstractLogger from test_driver.machine import Machine, NixStartScript, retry from test_driver.polling_condition import PollingCondition @@ -206,7 +204,7 @@ def terminate_test(self) -> None: def create_machine( self, - start_command: str | dict, + start_command: str, *, name: str | None = None, keep_vm_state: bool = False, From 73f95b45c3f2edf97feafcd661d6244010cf0c2c Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Thu, 7 Nov 2024 11:38:24 -0800 Subject: [PATCH 189/193] haskellPackages.haskell-language-server: refactor override (cherry picked from commit 0984a89fe289c1b0521e40dd9a913deb309fda48) --- .../haskell-modules/configuration-common.nix | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 35159c80c2e17..ab5c9a465db09 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -102,18 +102,25 @@ self: super: { ####################################### # All jailbreaks in this section due to: https://github.com/haskell/haskell-language-server/pull/4316#discussion_r1667684895 - haskell-language-server = doJailbreak (dontCheck (super.haskell-language-server.overrideScope (lself: lsuper: { - # For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix, - # because some packages, like ormolu, need a newer Cabal version. - # ghc-paths is special because it depends on Cabal for building - # its Setup.hs, and therefor declares a Cabal dependency, but does - # not actually use it as a build dependency. - # That means ghc-paths can just use the ghc included Cabal version, - # without causing package-db incoherence and we should do that because - # otherwise we have different versions of ghc-paths - # around which have the same abi-hash, which can lead to confusions and conflicts. - ghc-paths = lsuper.ghc-paths.override { Cabal = null; }; - }))); + haskell-language-server = + lib.pipe + (super.haskell-language-server.overrideScope (lself: lsuper: { + # For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix, + # because some packages, like ormolu, need a newer Cabal version. + # ghc-paths is special because it depends on Cabal for building + # its Setup.hs, and therefor declares a Cabal dependency, but does + # not actually use it as a build dependency. + # That means ghc-paths can just use the ghc included Cabal version, + # without causing package-db incoherence and we should do that because + # otherwise we have different versions of ghc-paths + # around which have the same abi-hash, which can lead to confusions and conflicts. + ghc-paths = lsuper.ghc-paths.override { Cabal = null; }; + })) + [ + doJailbreak + dontCheck + ]; + hls-plugin-api = doJailbreak super.hls-plugin-api; ghcide = doJailbreak super.ghcide; From 5aff2550eb7e688a2e2e0c00affa667717d1da82 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 9 Nov 2024 15:54:46 +0100 Subject: [PATCH 190/193] haskellPackages.ghcide: apply patch for GHC 9.8.3 compat (cherry picked from commit d76940773adeff338d47b2d7c79a23da0d96e282) --- pkgs/development/haskell-modules/configuration-common.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index ab5c9a465db09..98b53b550d7eb 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -122,7 +122,13 @@ self: super: { ]; hls-plugin-api = doJailbreak super.hls-plugin-api; - ghcide = doJailbreak super.ghcide; + ghcide = doJailbreak (appendPatch (pkgs.fetchpatch { + name = "ghcide-ghc-9.8.3.patch"; + url = "https://github.com/haskell/haskell-language-server/commit/6d0a6f220226fe6c1cb5b6533177deb55e755b0b.patch"; + sha256 = "1jwxldar9qzkg2z6vsx8f2yih3vkf4yjk9p3mryv0azn929qn3h1"; + stripLen = 1; + excludes = [ "cabal.project" ]; + }) super.ghcide); # For -f-auto see cabal.project in haskell-language-server. ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser (disableCabalFlag "auto" super.ghc-lib-parser-ex); From c91c4a0f556c843b7fe8dc4caf5c7c18a8abf8ff Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Fri, 8 Nov 2024 15:32:25 +0100 Subject: [PATCH 191/193] haskell.compiler.ghcHEAD: disable --hyperlinked-source on aarch64 Disable enableHyperlinkedSource for GHC >= 9.11 to keep GHC under the 3GB Hydra output limit. Note that we use a patch as opposed to the new extraArgs interfaces for the reasons given in the comments added in this commit. (cherry picked from commit ec3ec6038a01c6e22637565976ed82e1625fa006) --- .../compilers/ghc/common-hadrian.nix | 21 ++++++++++++------- ...isable-hyperlinked-source-extra-args.patch | 13 ++++++++++++ ... disable-hyperlinked-source-pre-9.8.patch} | 0 3 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source-extra-args.patch rename pkgs/development/tools/haskell/hadrian/{disable-hyperlinked-source.patch => disable-hyperlinked-source-pre-9.8.patch} (100%) diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index b062a2d514d4b..7bb2135779a42 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -169,10 +169,11 @@ patches = let - # Disable haddock generating pretty source listings to stay under 3GB on aarch64-linux enableHyperlinkedSource = - lib.versionAtLeast version "9.8" || - !(stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux); + # Disable haddock generating pretty source listings to stay under 3GB on aarch64-linux + !(stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) + # 9.8 and 9.10 don't run into this problem for some reason + || (lib.versionAtLeast version "9.8" && lib.versionOlder version "9.11"); in [ # Fix docs build with Sphinx >= 7 https://gitlab.haskell.org/ghc/ghc/-/issues/24129 @@ -207,12 +208,16 @@ then ./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch else ./Cabal-3.12-paths-fix-cycle-aarch64-darwin.patch) ] - # Prevents passing --hyperlinked-source to haddock. This is a custom - # workaround as we wait for this to be configurable via userSettings or - # similar. https://gitlab.haskell.org/ghc/ghc/-/issues/23625 + # Prevents passing --hyperlinked-source to haddock. Note that this can + # be configured via a user defined flavour now. Unfortunately, it is + # impossible to import an existing flavour in UserSettings, so patching + # the defaults is actually simpler and less maintenance intensive + # compared to keeping an entire flavour definition in sync with upstream + # manually. See also https://gitlab.haskell.org/ghc/ghc/-/issues/23625 ++ lib.optionals (!enableHyperlinkedSource) [ - # TODO(@sternenseemann): Doesn't apply for GHC >= 9.8 - ../../tools/haskell/hadrian/disable-hyperlinked-source.patch + (if lib.versionOlder version "9.8" + then ../../tools/haskell/hadrian/disable-hyperlinked-source-pre-9.8.patch + else ../../tools/haskell/hadrian/disable-hyperlinked-source-extra-args.patch) ] # Incorrect bounds on Cabal in hadrian # https://gitlab.haskell.org/ghc/ghc/-/issues/24100 diff --git a/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source-extra-args.patch b/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source-extra-args.patch new file mode 100644 index 0000000000000..dbbf126a44252 --- /dev/null +++ b/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source-extra-args.patch @@ -0,0 +1,13 @@ +diff --git a/hadrian/src/Settings/Default.hs b/hadrian/src/Settings/Default.hs +index 0b743788ec..a7ff841609 100644 +--- a/hadrian/src/Settings/Default.hs ++++ b/hadrian/src/Settings/Default.hs +@@ -249,7 +249,7 @@ defaultExtraArgs = + + defaultHaddockExtraArgs :: Args + defaultHaddockExtraArgs = builder (Haddock BuildPackage) ? +- mconcat [ arg "--hyperlinked-source", arg "--hoogle", arg "--quickjump" ] ++ mconcat [ arg "--hoogle", arg "--quickjump" ] + + + -- | Default source arguments, e.g. optimisation settings. diff --git a/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source.patch b/pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source-pre-9.8.patch similarity index 100% rename from pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source.patch rename to pkgs/development/tools/haskell/hadrian/disable-hyperlinked-source-pre-9.8.patch From bde0bc80d642e0203bd86b61177b4e4957cdb1e8 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 9 Nov 2024 00:50:27 +0100 Subject: [PATCH 192/193] haskell.compiler.ghcHEAD: bootstrap using GHC 9.10 GHC 9.6 can be used in a pinch, but not to build e.g. a cross compiler. (cherry picked from commit 4fb0a4a47c6b7fad61c3caaa3937a4e18afeee7e) --- pkgs/top-level/haskell-packages.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index b3f6a71d3315d..82f5e9d9d4f07 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -429,13 +429,8 @@ in { ghc910 = compiler.ghc9101; ghcHEAD = callPackage ../development/compilers/ghc/head.nix { bootPkgs = - # For GHC 9.6 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc963 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc963 - else - bb.packages.ghc963Binary; + # No suitable bindist packaged yet + bb.packages.ghc9101; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and From 649721fe54a6a5c41b03ab2ff0d068dc4e34d4c8 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 9 Nov 2024 00:51:08 +0100 Subject: [PATCH 193/193] haskell.packages.ghcHEAD: start compiler config for GHC 9.14 (cherry picked from commit 9c2ca55dd36db44b59c6993840679cbfab9206b9) --- .../configuration-ghc-9.14.x.nix | 61 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 +- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix new file mode 100644 index 0000000000000..6d45b7041f1b4 --- /dev/null +++ b/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix @@ -0,0 +1,61 @@ +{ pkgs, haskellLib }: + +let + inherit (pkgs) lib; + +in + +self: super: { + llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages; + + # Disable GHC core libraries + array = null; + base = null; + binary = null; + bytestring = null; + Cabal = null; + Cabal-syntax = null; + containers = null; + deepseq = null; + directory = null; + exceptions = null; + file-io = null; + filepath = null; + ghc-bignum = null; + ghc-boot = null; + ghc-boot-th = null; + ghc-compact = null; + ghc-experimental = null; + ghc-heap = null; + ghc-internal = null; + ghc-platform = null; + ghc-prim = null; + ghc-toolchain = null; + ghci = null; + haddock-api = null; + haddock-library = null; + haskeline = null; + hpc = null; + integer-gmp = null; + mtl = null; + os-string = null; + parsec = null; + pretty = null; + process = null; + rts = null; + semaphore-compat = null; + stm = null; + system-cxx-std-lib = null; + template-haskell = null; + # GHC only builds terminfo if it is a native compiler + terminfo = + if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then + null + else + haskellLib.doDistribute self.terminfo_0_4_1_6; + text = null; + time = null; + transformers = null; + unix = null; + xhtml = null; +} diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 82f5e9d9d4f07..ececbd86ee3ef 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -599,7 +599,7 @@ in { ghcHEAD = callPackage ../development/haskell-modules { buildHaskellPackages = bh.packages.ghcHEAD; ghc = bh.compiler.ghcHEAD; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.12.x.nix { }; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.14.x.nix { }; }; ghcjs = packages.ghcjs810;