staging-next 2024-11-30 (#360437)
This commit is contained in:
@@ -8,8 +8,6 @@ from contextlib import AbstractContextManager, contextmanager
|
||||
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,48 +204,11 @@ class Driver:
|
||||
|
||||
def create_machine(
|
||||
self,
|
||||
start_command: str | dict,
|
||||
start_command: str,
|
||||
*,
|
||||
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)
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 427e226a2fe3980388abffd6de25ed6b9591cce3 Mon Sep 17 00:00:00 2001
|
||||
From: Eli Schwartz <eschwartz93@gmail.com>
|
||||
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
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From e25f8d9e3ead52f998535b86c763065c5b45cc59 Mon Sep 17 00:00:00 2001
|
||||
From: Eli Schwartz <eschwartz93@gmail.com>
|
||||
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
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
From 3a23daa3da0eb1a256fda631867e19345d5f6e3a Mon Sep 17 00:00:00 2001
|
||||
From: Eli Schwartz <eschwartz93@gmail.com>
|
||||
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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
From c55a516e90133d89d67285429c6474241346d27a Mon Sep 17 00:00:00 2001
|
||||
From: Dirk Eddelbuettel <edd@debian.org>
|
||||
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 <cstring>
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
+#include <limits>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <sstream>
|
||||
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0zlgdlk9nsskmr8xc2ajm6mn1x5wz82ssx9w88s02icz71mcihrx";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix compilation with GCC 11.
|
||||
# <https://github.com/skystrife/cpptoml/pull/123>
|
||||
./add-limits-include.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = [
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 0cdde0fdfbeb8c35420f6d03fa4b77ed73497694 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stenberg <daniel@haxx.se>
|
||||
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)
|
||||
{
|
||||
@@ -0,0 +1,217 @@
|
||||
From f5c616930b5cf148b1b2632da4f5963ff48bdf88 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stenberg <daniel@haxx.se>
|
||||
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 @@
|
||||
+<testcase>
|
||||
+<info>
|
||||
+<keywords>
|
||||
+netrc
|
||||
+HTTP
|
||||
+</keywords>
|
||||
+</info>
|
||||
+#
|
||||
+# Server-side
|
||||
+<reply>
|
||||
+<data crlf="yes" nocheck="yes">
|
||||
+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-
|
||||
+</data>
|
||||
+</reply>
|
||||
+
|
||||
+#
|
||||
+# Client-side
|
||||
+<client>
|
||||
+<server>
|
||||
+http
|
||||
+</server>
|
||||
+<features>
|
||||
+proxy
|
||||
+</features>
|
||||
+
|
||||
+# Reproducing issue 15496
|
||||
+<name>
|
||||
+HTTP with .netrc using duped easy handle
|
||||
+</name>
|
||||
+<tool>
|
||||
+lib%TESTNUMBER
|
||||
+</tool>
|
||||
+<command>
|
||||
+http://github.com %LOGDIR/netrc%TESTNUMBER http://%HOSTIP:%HTTPPORT/
|
||||
+</command>
|
||||
+<file name="%LOGDIR/netrc%TESTNUMBER" >
|
||||
+
|
||||
+machine github.com
|
||||
+
|
||||
+login daniel
|
||||
+password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1
|
||||
+</file>
|
||||
+</client>
|
||||
+
|
||||
+<verify>
|
||||
+<protocol>
|
||||
+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
|
||||
+
|
||||
+</protocol>
|
||||
+</verify>
|
||||
+</testcase>
|
||||
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, <daniel@haxx.se>, 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 <curl/curl.h>
|
||||
+
|
||||
+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;
|
||||
+}
|
||||
@@ -59,6 +59,18 @@ 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
|
||||
|
||||
# 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
|
||||
# necessary for FreeBSD code path in configure
|
||||
postPatch = ''
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
removeReferencesTo,
|
||||
|
||||
glog,
|
||||
gflags,
|
||||
folly,
|
||||
fb303,
|
||||
wangle,
|
||||
fbthrift,
|
||||
gtest,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "edencommon";
|
||||
version = "2024.11.18.00";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebookexperimental";
|
||||
repo = "edencommon";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-pVPkH80vowdpwWv/h6ovEk335OeI6/0k0cAFhhFqSDM=";
|
||||
};
|
||||
|
||||
patches = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
|
||||
# Test discovery timeout is bizarrely flaky on `x86_64-darwin`
|
||||
./increase-test-discovery-timeout.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
removeReferencesTo
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
glog
|
||||
gflags
|
||||
folly
|
||||
fb303
|
||||
wangle
|
||||
fbthrift
|
||||
gtest
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(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;
|
||||
|
||||
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)'
|
||||
'';
|
||||
|
||||
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.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Shared library for Meta's source control filesystem tools (EdenFS and Watchman)";
|
||||
homepage = "https://github.com/facebookexperimental/edencommon";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
kylesferrazza
|
||||
emily
|
||||
techknowlogick
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,83 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
|
||||
gflags,
|
||||
glog,
|
||||
folly,
|
||||
fbthrift,
|
||||
fizz,
|
||||
wangle,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fb303";
|
||||
version = "2024.11.18.00";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "fb303";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-3zQLX42qeOE2bbFmu4Kuvu0Fvq2mBq8YgkVGpyfwaak=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
gflags
|
||||
glog
|
||||
folly
|
||||
fbthrift
|
||||
fizz
|
||||
wangle
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
|
||||
|
||||
(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"))
|
||||
];
|
||||
|
||||
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";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
kylesferrazza
|
||||
emily
|
||||
techknowlogick
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
removeReferencesTo,
|
||||
|
||||
openssl,
|
||||
gflags,
|
||||
glog,
|
||||
folly,
|
||||
fizz,
|
||||
wangle,
|
||||
zlib,
|
||||
zstd,
|
||||
xxHash,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
|
||||
mvfst,
|
||||
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
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";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
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 =
|
||||
[
|
||||
openssl
|
||||
gflags
|
||||
glog
|
||||
folly
|
||||
fizz
|
||||
wangle
|
||||
zlib
|
||||
zstd
|
||||
xxHash
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
mvfst
|
||||
];
|
||||
|
||||
cmakeFlags =
|
||||
[
|
||||
(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.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
|
||||
# it. I don‘t know, either. It scares me.
|
||||
(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
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Facebook's branch of Apache Thrift";
|
||||
mainProgram = "thrift1";
|
||||
homepage = "https://github.com/facebook/fbthrift";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
pierreis
|
||||
kylesferrazza
|
||||
emily
|
||||
techknowlogick
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -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".
|
||||
@@ -0,0 +1,134 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
removeReferencesTo,
|
||||
|
||||
openssl,
|
||||
glog,
|
||||
double-conversion,
|
||||
zstd,
|
||||
gflags,
|
||||
libevent,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
|
||||
folly,
|
||||
libsodium,
|
||||
zlib,
|
||||
|
||||
gtest,
|
||||
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fizz";
|
||||
version = "2024.11.18.00";
|
||||
|
||||
outputs = [
|
||||
"bin"
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebookincubator";
|
||||
repo = "fizz";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-mNe+CHEXhkwzek9qy2l6zvPXim9tJV44s+naSm6bQ4Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
removeReferencesTo
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
openssl
|
||||
glog
|
||||
double-conversion
|
||||
zstd
|
||||
gflags
|
||||
libevent
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
folly
|
||||
libsodium
|
||||
zlib
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
gtest
|
||||
];
|
||||
|
||||
cmakeDir = "../fizz";
|
||||
|
||||
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;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
preCheck =
|
||||
let
|
||||
disabledTests = [
|
||||
# timing-related & flaky
|
||||
"SlidingBloomReplayCacheTest.TestTimeBucketing"
|
||||
];
|
||||
in
|
||||
''
|
||||
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
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
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 = lib.licenses.bsd3;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
pierreis
|
||||
kylesferrazza
|
||||
emily
|
||||
techknowlogick
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,205 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
pkg-config,
|
||||
removeReferencesTo,
|
||||
|
||||
double-conversion,
|
||||
fast-float,
|
||||
gflags,
|
||||
glog,
|
||||
libevent,
|
||||
zlib,
|
||||
openssl,
|
||||
xz,
|
||||
lz4,
|
||||
zstd,
|
||||
libiberty,
|
||||
libunwind,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
|
||||
boost,
|
||||
fmt_11,
|
||||
jemalloc,
|
||||
|
||||
gtest,
|
||||
|
||||
follyMobile ? false,
|
||||
|
||||
nix-update-script,
|
||||
|
||||
# for passthru.tests
|
||||
python3,
|
||||
watchman,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "folly";
|
||||
version = "2024.11.18.00";
|
||||
|
||||
# split outputs to reduce downstream closure sizes
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "folly";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-CX4YzNs64yeq/nDDaYfD5y8GKrxBueW4y275edPoS0c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
pkg-config
|
||||
removeReferencesTo
|
||||
];
|
||||
|
||||
# See CMake/folly-deps.cmake in the Folly source tree.
|
||||
buildInputs =
|
||||
[
|
||||
boost
|
||||
double-conversion
|
||||
fast-float
|
||||
gflags
|
||||
glog
|
||||
libevent
|
||||
zlib
|
||||
openssl
|
||||
xz
|
||||
lz4
|
||||
zstd
|
||||
libiberty
|
||||
libunwind
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
propagatedBuildInputs =
|
||||
[
|
||||
# `folly-config.cmake` pulls these in.
|
||||
boost
|
||||
fmt_11
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
# jemalloc headers are required in include/folly/portability/Malloc.h
|
||||
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")
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "dev"}/lib/cmake/folly")
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev"))
|
||||
];
|
||||
|
||||
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"
|
||||
]
|
||||
);
|
||||
|
||||
doCheck = true;
|
||||
|
||||
# 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@'
|
||||
'';
|
||||
|
||||
# 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__`.
|
||||
(
|
||||
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 = {
|
||||
inherit boost;
|
||||
fmt = fmt_11;
|
||||
|
||||
updateScript = nix-update-script { };
|
||||
|
||||
tests = {
|
||||
inherit watchman;
|
||||
inherit (python3.pkgs) django pywatchman;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Open-source C++ library developed and used at Facebook";
|
||||
homepage = "https://github.com/facebook/folly";
|
||||
license = lib.licenses.asl20;
|
||||
# 32bit is not supported: https://github.com/facebook/folly/issues/103
|
||||
platforms = lib.platforms.unix;
|
||||
badPlatforms = [ lib.systems.inspect.patterns.is32bit ];
|
||||
maintainers = with lib.maintainers; [
|
||||
abbradar
|
||||
pierreis
|
||||
emily
|
||||
techknowlogick
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -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 <stdlib.h>])
|
||||
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)
|
||||
@@ -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:
|
||||
#
|
||||
# * <https://github.com/libarchive/libarchive/issues/1766>
|
||||
# * <https://github.com/libarchive/libarchive/issues/1819>
|
||||
# * <https://github.com/Homebrew/homebrew-core/blob/f8e9e8d4f30979dc99146b5877fce76be6d35124/Formula/lib/libarchive.rb#L48-L52>
|
||||
./fix-pkg-config-iconv.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
postPatch = let
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 <sched.h>
|
||||
+
|
||||
#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__)
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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[@]}"
|
||||
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
removeReferencesTo,
|
||||
|
||||
folly,
|
||||
gflags,
|
||||
glog,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
|
||||
fizz,
|
||||
|
||||
gtest,
|
||||
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mvfst";
|
||||
version = "2024.11.18.00";
|
||||
|
||||
outputs = [
|
||||
"bin"
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "mvfst";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-2Iqk6QshM8fVO65uIqrTbex7aj8ELNSzNseYEeNdzCY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
removeReferencesTo
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
folly
|
||||
gflags
|
||||
glog
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
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.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev"))
|
||||
]
|
||||
++ 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")
|
||||
];
|
||||
|
||||
__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
|
||||
'';
|
||||
|
||||
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/*
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Implementation of the QUIC transport protocol";
|
||||
homepage = "https://github.com/facebook/mvfst";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
ris
|
||||
emily
|
||||
techknowlogick
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,145 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
removeReferencesTo,
|
||||
|
||||
folly,
|
||||
fizz,
|
||||
openssl,
|
||||
glog,
|
||||
gflags,
|
||||
libevent,
|
||||
double-conversion,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
|
||||
gtest,
|
||||
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wangle";
|
||||
version = "2024.11.18.00";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "wangle";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-4mqE9GgJP2f7QAykwdhMFoReE9wmPKOXqSHJ2MHP2G0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
removeReferencesTo
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
folly
|
||||
fizz
|
||||
openssl
|
||||
glog
|
||||
gflags
|
||||
libevent
|
||||
double-conversion
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
gtest
|
||||
];
|
||||
|
||||
cmakeDir = "../wangle";
|
||||
|
||||
cmakeFlags = [
|
||||
(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 =
|
||||
"-"
|
||||
+ 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;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
ctest -j $NIX_BUILD_CORES --output-on-failure ${
|
||||
# Deterministic glibc abort 🫠
|
||||
lib.optionalString stdenv.hostPlatform.isLinux (
|
||||
lib.escapeShellArgs [
|
||||
"--exclude-regex"
|
||||
"^(BootstrapTest|BroadcastPoolTest)$"
|
||||
]
|
||||
)
|
||||
}
|
||||
|
||||
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
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Open-source C++ networking library";
|
||||
longDescription = ''
|
||||
Wangle is a framework providing a set of common client/server
|
||||
abstractions for building services in a consistent, modular, and
|
||||
composable way.
|
||||
'';
|
||||
homepage = "https://github.com/facebook/wangle";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
pierreis
|
||||
kylesferrazza
|
||||
emily
|
||||
techknowlogick
|
||||
];
|
||||
};
|
||||
})
|
||||
+206
-249
@@ -4,24 +4,24 @@ version = 3
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.21.0"
|
||||
version = "0.24.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
|
||||
checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
version = "1.0.2"
|
||||
name = "adler2"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.8.7"
|
||||
version = "0.8.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
|
||||
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"getrandom",
|
||||
@@ -41,9 +41,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.79"
|
||||
version = "1.0.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
|
||||
checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775"
|
||||
|
||||
[[package]]
|
||||
name = "atty"
|
||||
@@ -58,23 +58,23 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.1.0"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.69"
|
||||
version = "0.3.74"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
|
||||
checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -83,6 +83,12 @@ version = "1.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "1.5.0"
|
||||
@@ -91,22 +97,13 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
version = "1.5.0"
|
||||
version = "1.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
|
||||
checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
@@ -121,7 +118,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"atty",
|
||||
"bitflags",
|
||||
"bitflags 1.3.2",
|
||||
"strsim",
|
||||
"textwrap",
|
||||
"unicode-width",
|
||||
@@ -130,9 +127,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "core-foundation-sys"
|
||||
version = "0.8.6"
|
||||
version = "0.8.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
|
||||
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam"
|
||||
@@ -149,9 +146,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.5.11"
|
||||
version = "0.5.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
|
||||
checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
|
||||
dependencies = [
|
||||
"crossbeam-utils",
|
||||
]
|
||||
@@ -186,9 +183,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-utils"
|
||||
version = "0.8.19"
|
||||
version = "0.8.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
|
||||
checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
|
||||
|
||||
[[package]]
|
||||
name = "duct"
|
||||
@@ -204,9 +201,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.9.0"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
|
||||
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
||||
|
||||
[[package]]
|
||||
name = "futures"
|
||||
@@ -216,9 +213,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
|
||||
|
||||
[[package]]
|
||||
name = "futures"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
|
||||
checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
@@ -231,9 +228,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-channel"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
|
||||
checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
@@ -241,15 +238,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-core"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
|
||||
checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
|
||||
|
||||
[[package]]
|
||||
name = "futures-executor"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
|
||||
checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-task",
|
||||
@@ -258,38 +255,38 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-io"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
|
||||
checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
|
||||
|
||||
[[package]]
|
||||
name = "futures-macro"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
|
||||
checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.48",
|
||||
"syn 2.0.87",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-sink"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
|
||||
checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
|
||||
checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
|
||||
|
||||
[[package]]
|
||||
name = "futures-util"
|
||||
version = "0.3.30"
|
||||
version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
|
||||
checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
|
||||
dependencies = [
|
||||
"futures 0.1.31",
|
||||
"futures-channel",
|
||||
@@ -306,9 +303,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.12"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
|
||||
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
@@ -317,9 +314,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.28.1"
|
||||
version = "0.31.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
|
||||
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
@@ -341,15 +338,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.3.4"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
|
||||
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.10"
|
||||
version = "1.0.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
|
||||
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
|
||||
|
||||
[[package]]
|
||||
name = "jwalk"
|
||||
@@ -363,21 +360,21 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.152"
|
||||
version = "0.2.164"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
|
||||
checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
version = "0.4.11"
|
||||
version = "0.4.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
|
||||
checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"scopeguard",
|
||||
@@ -385,9 +382,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.20"
|
||||
version = "0.4.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
|
||||
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
|
||||
|
||||
[[package]]
|
||||
name = "maplit"
|
||||
@@ -397,9 +394,9 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.1"
|
||||
version = "2.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
|
||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
@@ -412,22 +409,23 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.7.1"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
|
||||
checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
|
||||
dependencies = [
|
||||
"adler",
|
||||
"adler2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "0.8.10"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
|
||||
checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
|
||||
dependencies = [
|
||||
"hermit-abi 0.3.9",
|
||||
"libc",
|
||||
"wasi",
|
||||
"windows-sys 0.48.0",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -437,7 +435,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"bitflags",
|
||||
"bitflags 1.3.2",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"memoffset",
|
||||
@@ -453,46 +451,36 @@ dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_cpus"
|
||||
version = "1.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
|
||||
dependencies = [
|
||||
"hermit-abi 0.3.4",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.32.2"
|
||||
version = "0.36.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
|
||||
checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.19.0"
|
||||
version = "1.20.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
|
||||
|
||||
[[package]]
|
||||
name = "os_pipe"
|
||||
version = "1.1.5"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9"
|
||||
checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot"
|
||||
version = "0.12.1"
|
||||
version = "0.12.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
|
||||
checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
|
||||
dependencies = [
|
||||
"lock_api",
|
||||
"parking_lot_core",
|
||||
@@ -500,22 +488,22 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot_core"
|
||||
version = "0.9.9"
|
||||
version = "0.9.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
|
||||
checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"redox_syscall",
|
||||
"smallvec",
|
||||
"windows-targets 0.48.5",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.13"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
|
||||
checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff"
|
||||
|
||||
[[package]]
|
||||
name = "pin-utils"
|
||||
@@ -549,27 +537,27 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.78"
|
||||
version = "1.0.89"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
|
||||
checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.35"
|
||||
version = "1.0.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
|
||||
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.8.1"
|
||||
version = "1.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
|
||||
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
|
||||
dependencies = [
|
||||
"either",
|
||||
"rayon-core",
|
||||
@@ -587,24 +575,24 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.4.1"
|
||||
version = "0.5.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
|
||||
checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"bitflags 2.6.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.23"
|
||||
version = "0.1.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
|
||||
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.16"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
|
||||
checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
|
||||
|
||||
[[package]]
|
||||
name = "scopeguard"
|
||||
@@ -614,16 +602,16 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.196"
|
||||
version = "1.0.215"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
|
||||
checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_bser"
|
||||
version = "0.3.1"
|
||||
version = "0.4.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"byteorder",
|
||||
@@ -635,50 +623,51 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde_bytes"
|
||||
version = "0.11.14"
|
||||
version = "0.11.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734"
|
||||
checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.196"
|
||||
version = "1.0.215"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
|
||||
checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.48",
|
||||
"syn 2.0.87",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.113"
|
||||
version = "1.0.133"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
|
||||
checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shared_child"
|
||||
version = "1.0.0"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef"
|
||||
checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"winapi",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "signal-hook-registry"
|
||||
version = "1.4.1"
|
||||
version = "1.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
|
||||
checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
@@ -694,18 +683,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.13.1"
|
||||
version = "1.13.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
|
||||
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
version = "0.5.5"
|
||||
version = "0.5.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
|
||||
checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.48.0",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -751,9 +740,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.48"
|
||||
version = "2.0.87"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
|
||||
checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -762,9 +751,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "sysinfo"
|
||||
version = "0.26.9"
|
||||
version = "0.30.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c18a6156d1f27a9592ee18c1a846ca8dd5c258b7179fc193ae87c74ebb666f5"
|
||||
checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"core-foundation-sys",
|
||||
@@ -772,7 +761,7 @@ dependencies = [
|
||||
"ntapi",
|
||||
"once_cell",
|
||||
"rayon",
|
||||
"winapi",
|
||||
"windows",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -795,53 +784,52 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.56"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
|
||||
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.56"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
|
||||
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.48",
|
||||
"syn 2.0.87",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.35.1"
|
||||
version = "1.41.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
|
||||
checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
"libc",
|
||||
"mio",
|
||||
"num_cpus",
|
||||
"parking_lot",
|
||||
"pin-project-lite",
|
||||
"signal-hook-registry",
|
||||
"socket2",
|
||||
"tokio-macros",
|
||||
"tracing",
|
||||
"windows-sys 0.48.0",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-macros"
|
||||
version = "2.2.0"
|
||||
version = "2.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
|
||||
checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.48",
|
||||
"syn 2.0.87",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -881,21 +869,21 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.12"
|
||||
version = "1.0.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||
checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-segmentation"
|
||||
version = "1.10.1"
|
||||
version = "1.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
|
||||
checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
version = "0.1.11"
|
||||
version = "0.1.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
|
||||
checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
|
||||
|
||||
[[package]]
|
||||
name = "vec_map"
|
||||
@@ -905,9 +893,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.4"
|
||||
version = "0.9.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
||||
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
@@ -917,11 +905,11 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
|
||||
[[package]]
|
||||
name = "watchman_client"
|
||||
version = "0.8.0"
|
||||
version = "0.9.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bytes",
|
||||
"futures 0.3.30",
|
||||
"futures 0.3.31",
|
||||
"maplit",
|
||||
"serde",
|
||||
"serde_bser",
|
||||
@@ -972,12 +960,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.48.0"
|
||||
name = "windows"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
|
||||
dependencies = [
|
||||
"windows-targets 0.48.5",
|
||||
"windows-core",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-core"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -986,139 +984,98 @@ version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
||||
dependencies = [
|
||||
"windows-targets 0.52.0",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.48.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
|
||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.48.5",
|
||||
"windows_aarch64_msvc 0.48.5",
|
||||
"windows_i686_gnu 0.48.5",
|
||||
"windows_i686_msvc 0.48.5",
|
||||
"windows_x86_64_gnu 0.48.5",
|
||||
"windows_x86_64_gnullvm 0.48.5",
|
||||
"windows_x86_64_msvc 0.48.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.52.0",
|
||||
"windows_aarch64_msvc 0.52.0",
|
||||
"windows_i686_gnu 0.52.0",
|
||||
"windows_i686_msvc 0.52.0",
|
||||
"windows_x86_64_gnu 0.52.0",
|
||||
"windows_x86_64_gnullvm 0.52.0",
|
||||
"windows_x86_64_msvc 0.52.0",
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_gnullvm",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.48.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
|
||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.48.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
|
||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.48.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.52.0"
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
|
||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.48.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
|
||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.48.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
|
||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.48.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
|
||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.48.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy"
|
||||
version = "0.7.32"
|
||||
version = "0.7.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
|
||||
checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
|
||||
dependencies = [
|
||||
"zerocopy-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy-derive"
|
||||
version = "0.7.32"
|
||||
version = "0.7.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
|
||||
checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.48",
|
||||
"syn 2.0.87",
|
||||
]
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
pkg-config,
|
||||
rustc,
|
||||
cargo,
|
||||
rustPlatform,
|
||||
ensureNewerSourcesForZipFilesHook,
|
||||
removeReferencesTo,
|
||||
|
||||
pcre2,
|
||||
openssl,
|
||||
gflags,
|
||||
glog,
|
||||
libevent,
|
||||
edencommon,
|
||||
folly,
|
||||
fizz,
|
||||
wangle,
|
||||
fbthrift,
|
||||
fb303,
|
||||
cpptoml,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
|
||||
gtest,
|
||||
|
||||
nix-update-script,
|
||||
|
||||
stateDir ? "",
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "watchman";
|
||||
version = "2024.11.18.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "watchman";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-deOSeExhwn8wrtP2Y0BDaHdmaeiUaDBok6W7N1rH/24=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
pkg-config
|
||||
rustc
|
||||
cargo
|
||||
rustPlatform.cargoSetupHook
|
||||
ensureNewerSourcesForZipFilesHook
|
||||
removeReferencesTo
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
pcre2
|
||||
openssl
|
||||
gflags
|
||||
glog
|
||||
libevent
|
||||
edencommon
|
||||
folly
|
||||
fizz
|
||||
wangle
|
||||
fbthrift
|
||||
fb303
|
||||
cpptoml
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
gtest
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true)
|
||||
|
||||
(lib.cmakeFeature "WATCHMAN_STATE_DIR" stateDir)
|
||||
(lib.cmakeFeature "WATCHMAN_VERSION_OVERRIDE" finalAttrs.version)
|
||||
];
|
||||
|
||||
cargoRoot = "watchman/cli";
|
||||
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
lockFile = ./Cargo.lock;
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
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/*
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Watches files and takes action when they change";
|
||||
homepage = "https://facebook.github.io/watchman";
|
||||
maintainers = with lib.maintainers; [
|
||||
kylesferrazza
|
||||
emily
|
||||
techknowlogick
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
})
|
||||
@@ -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
|
||||
|
||||
@@ -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 <process/DefaultUser.h>
|
||||
#include <pbxsetting/Type.h>
|
||||
|
||||
@@ -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<std::string> kSystemDeveloperDirs = {
|
||||
+ "/private/var/select/developer_dir",
|
||||
+ "/private/var/db/xcode_select_link"
|
||||
+ };
|
||||
+}
|
||||
+
|
||||
class Options {
|
||||
private:
|
||||
ext::optional<bool> _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<std::string> 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<std::string, std::string> environment = processContext->environmentVariables();
|
||||
-
|
||||
- std::unordered_map<std::string, std::string> environment = processContext->environmentVariables();
|
||||
|
||||
if (target != nullptr) {
|
||||
/*
|
||||
* Update effective environment to include the target path.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 { <someLlvmDependency> = 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)
|
||||
@@ -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,12 @@ 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}";'
|
||||
'' + (
|
||||
# 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 ''
|
||||
(cd tools && ln -s ../../clang-tools-extra extra)
|
||||
'' + 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 +208,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 >=
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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";
|
||||
@@ -713,8 +724,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") {
|
||||
@@ -991,8 +1006,18 @@ 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.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
|
||||
@@ -1000,9 +1025,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
|
||||
@@ -1018,13 +1045,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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {}))
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -102,20 +102,33 @@ 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;
|
||||
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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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=";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, boost
|
||||
, cmake
|
||||
, fmt_8
|
||||
, folly
|
||||
, glog
|
||||
, gtest
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "edencommon";
|
||||
version = "2024.03.11.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebookexperimental";
|
||||
repo = "edencommon";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-1z4QicS98juv4bUEbHBkCjVJHEhnoJyLYp4zMHmDbMg=";
|
||||
};
|
||||
|
||||
patches = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
|
||||
# Test discovery timeout is bizarrely flaky on `x86_64-darwin`
|
||||
./increase-test-discovery-timeout.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glog
|
||||
folly
|
||||
fmt_8
|
||||
boost
|
||||
gtest
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, fbthrift
|
||||
, fizz
|
||||
, folly
|
||||
, glog
|
||||
, libsodium
|
||||
, mvfst
|
||||
, python3
|
||||
, wangle
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fb303";
|
||||
version = "2024.03.11.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "fb303";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Jtztb8CTqvRdRjUa3jaouP5PFAwoM4rKLIfgvOyXUIg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
cmakeFlags = [
|
||||
"-DPYTHON_EXTENSIONS=OFF"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fbthrift
|
||||
fizz
|
||||
folly
|
||||
folly.boost
|
||||
folly.fmt
|
||||
glog
|
||||
libsodium
|
||||
mvfst
|
||||
python3
|
||||
wangle
|
||||
zlib
|
||||
];
|
||||
|
||||
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";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ kylesferrazza ];
|
||||
};
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, bison
|
||||
, boost
|
||||
, libevent
|
||||
, double-conversion
|
||||
, libsodium
|
||||
, fizz
|
||||
, flex
|
||||
, fmt_8
|
||||
, folly
|
||||
, glog
|
||||
, gflags
|
||||
, libiberty
|
||||
, mvfst
|
||||
, openssl
|
||||
, lib
|
||||
, wangle
|
||||
, zlib
|
||||
, zstd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fbthrift";
|
||||
version = "2024.03.11.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "fbthrift";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-iCiiKNDlfKm1Y4SGzcSP6o/OdiRRrj9UEawW6qpBpSY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
bison
|
||||
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
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
double-conversion
|
||||
fizz
|
||||
fmt_8
|
||||
folly
|
||||
glog
|
||||
gflags
|
||||
libevent
|
||||
libiberty
|
||||
mvfst
|
||||
openssl
|
||||
wangle
|
||||
zlib
|
||||
zstd
|
||||
libsodium
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Facebook's branch of Apache Thrift";
|
||||
mainProgram = "thrift1";
|
||||
homepage = "https://github.com/facebook/fbthrift";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ pierreis kylesferrazza ];
|
||||
};
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, boost
|
||||
, libevent
|
||||
, double-conversion
|
||||
, glog
|
||||
, lib
|
||||
, fmt_8
|
||||
, zstd
|
||||
, gflags
|
||||
, libiberty
|
||||
, openssl
|
||||
, folly
|
||||
, libsodium
|
||||
, gtest
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fizz";
|
||||
version = "2024.03.11.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebookincubator";
|
||||
repo = "fizz";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-IHWotiVUjGOvebXy4rwsh8U8UMxTrF1VaqXzZMjojiM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
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
|
||||
];
|
||||
|
||||
NIX_LDFLAGS = "-lz";
|
||||
|
||||
buildInputs = [
|
||||
fmt_8
|
||||
boost
|
||||
double-conversion
|
||||
folly
|
||||
glog
|
||||
gflags
|
||||
libevent
|
||||
libiberty
|
||||
libsodium
|
||||
openssl
|
||||
zlib
|
||||
zstd
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
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"
|
||||
|
||||
# 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";
|
||||
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; [ pierreis kylesferrazza ];
|
||||
};
|
||||
})
|
||||
@@ -1,109 +0,0 @@
|
||||
{ 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
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "folly";
|
||||
version = "2024.03.11.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "folly";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-INvWTw27fmVbKQIT9ebdRGMCOIzpc/NepRN2EnKLJx0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
# 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;
|
||||
|
||||
# jemalloc headers are required in include/folly/portability/Malloc.h
|
||||
propagatedBuildInputs = lib.optional stdenv.hostPlatform.isLinux jemalloc;
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" "-fpermissive" ];
|
||||
cmakeFlags = [
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
|
||||
# temporary hack until folly builds work on aarch64,
|
||||
# see https://github.com/facebook/folly/issues/1880
|
||||
"-DCMAKE_LIBRARY_ARCHITECTURE=${if stdenv.hostPlatform.isx86_64 then "x86_64" else "dummy"}"
|
||||
|
||||
# ensure correct dirs in $dev/lib/pkgconfig/libfolly.pc
|
||||
# see https://github.com/NixOS/nixpkgs/issues/144170
|
||||
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
] ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13"
|
||||
];
|
||||
|
||||
# split outputs to reduce downstream closure sizes
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
# patch prefix issues again
|
||||
# see https://github.com/NixOS/nixpkgs/issues/144170
|
||||
postFixup = ''
|
||||
substituteInPlace $dev/lib/cmake/${pname}/${pname}-targets-release.cmake \
|
||||
--replace '$'{_IMPORT_PREFIX}/lib/ $out/lib/
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
# folly-config.cmake, will `find_package` these, thus there should be
|
||||
# a way to ensure abi compatibility.
|
||||
inherit boost;
|
||||
fmt = fmt_8;
|
||||
|
||||
tests = {
|
||||
inherit watchman;
|
||||
inherit (python3.pkgs) django pywatchman;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open-source C++ library developed and used at Facebook";
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, fizz
|
||||
, folly
|
||||
, gflags
|
||||
, glog
|
||||
, libsodium
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mvfst";
|
||||
version = "2024.03.11.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "mvfst";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-KjNTDgpiR9EG42Agl2JFJoPo5+8GlS27oPMWpdLq2v8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fizz
|
||||
folly
|
||||
folly.boost
|
||||
folly.fmt
|
||||
gflags
|
||||
glog
|
||||
libsodium
|
||||
zlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Implementation of the QUIC transport protocol";
|
||||
homepage = "https://github.com/facebook/mvfst";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ris ];
|
||||
};
|
||||
}
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, boost
|
||||
, libevent
|
||||
, double-conversion
|
||||
, glog
|
||||
, fmt_8
|
||||
, gflags
|
||||
, openssl
|
||||
, fizz
|
||||
, folly
|
||||
, gtest
|
||||
, libsodium
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wangle";
|
||||
version = "2024.03.11.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "wangle";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-fDtJ+9bZj+siKlMglYMkLO/+jldUmsS5V3Umk1gNdlo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
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
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fmt_8
|
||||
libsodium
|
||||
zlib
|
||||
boost
|
||||
double-conversion
|
||||
fizz
|
||||
folly
|
||||
glog
|
||||
gflags
|
||||
libevent
|
||||
openssl
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [
|
||||
gtest
|
||||
];
|
||||
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}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open-source C++ networking library";
|
||||
longDescription = ''
|
||||
Wangle is a framework providing a set of common client/server
|
||||
abstractions for building services in a consistent, modular, and
|
||||
composable way.
|
||||
'';
|
||||
homepage = "https://github.com/facebook/wangle";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ pierreis kylesferrazza ];
|
||||
};
|
||||
})
|
||||
@@ -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/";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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.
|
||||
@@ -1,115 +0,0 @@
|
||||
{ boost
|
||||
, cargo
|
||||
, cmake
|
||||
, CoreServices
|
||||
, cpptoml
|
||||
, double-conversion
|
||||
, edencommon
|
||||
, ensureNewerSourcesForZipFilesHook
|
||||
, fb303
|
||||
, fbthrift
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, fizz
|
||||
, fmt_8
|
||||
, folly
|
||||
, glog
|
||||
, gtest
|
||||
, lib
|
||||
, libevent
|
||||
, libiconv
|
||||
, libsodium
|
||||
, libunwind
|
||||
, lz4
|
||||
, openssl
|
||||
, pcre2
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, rustc
|
||||
, stateDir ? "/tmp"
|
||||
, stdenv
|
||||
, wangle
|
||||
, zlib
|
||||
, zstd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "watchman";
|
||||
version = "2024.03.11.00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "watchman";
|
||||
rev = "v${version}";
|
||||
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
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
ensureNewerSourcesForZipFilesHook
|
||||
rustPlatform.cargoSetupHook
|
||||
cargo
|
||||
rustc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pcre2
|
||||
openssl
|
||||
gtest
|
||||
glog
|
||||
boost
|
||||
libevent
|
||||
fmt_8
|
||||
libsodium
|
||||
zlib
|
||||
folly
|
||||
fizz
|
||||
wangle
|
||||
fbthrift
|
||||
fb303
|
||||
cpptoml
|
||||
edencommon
|
||||
libunwind
|
||||
double-conversion
|
||||
lz4
|
||||
zstd
|
||||
libiconv
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
|
||||
|
||||
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} ${cargoRoot}/Cargo.lock
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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* :
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
@@ -157,13 +154,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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -114,9 +114,17 @@ 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 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
|
||||
# ''
|
||||
;
|
||||
|
||||
inherit initialPath shell
|
||||
defaultNativeBuildInputs defaultBuildInputs;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -5583,10 +5583,6 @@ 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;
|
||||
};
|
||||
|
||||
webassemblyjs-cli = nodePackages."@webassemblyjs/cli-1.11.1";
|
||||
webassemblyjs-repl = nodePackages."@webassemblyjs/repl-1.11.1";
|
||||
wasm-strip = nodePackages."@webassemblyjs/wasm-strip";
|
||||
@@ -6677,16 +6673,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";
|
||||
@@ -6705,7 +6695,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
|
||||
@@ -9019,8 +9010,6 @@ with pkgs;
|
||||
stdenv = if stdenv.hostPlatform.isDarwin then gccStdenv else stdenv;
|
||||
};
|
||||
|
||||
edencommon = darwin.apple_sdk_11_0.callPackage ../development/libraries/edencommon { };
|
||||
|
||||
eigen = callPackage ../development/libraries/eigen { };
|
||||
|
||||
eigen2 = callPackage ../development/libraries/eigen/2.0.nix { };
|
||||
@@ -9061,10 +9050,6 @@ with pkgs;
|
||||
autoreconfHook = buildPackages.autoreconfHook269;
|
||||
};
|
||||
|
||||
fbthrift = darwin.apple_sdk_11_0.callPackage ../development/libraries/fbthrift { };
|
||||
|
||||
fb303 = darwin.apple_sdk_11_0.callPackage ../development/libraries/fb303 { };
|
||||
|
||||
inherit (callPackage ../development/libraries/ffmpeg { })
|
||||
ffmpeg_4
|
||||
ffmpeg_4-headless
|
||||
@@ -9089,8 +9074,6 @@ with pkgs;
|
||||
};
|
||||
fftwMpi = fftw.override { enableMpi = true; };
|
||||
|
||||
fizz = darwin.apple_sdk_11_0.callPackage ../development/libraries/fizz { };
|
||||
|
||||
flint = callPackage ../development/libraries/flint { };
|
||||
|
||||
flint3 = callPackage ../development/libraries/flint/3.nix { };
|
||||
@@ -9145,8 +9128,6 @@ with pkgs;
|
||||
inherit (darwin.apple_sdk.frameworks) CoreFoundation;
|
||||
};
|
||||
|
||||
folly = darwin.apple_sdk_11_0.callPackage ../development/libraries/folly { };
|
||||
|
||||
makeFontsConf = callPackage ../development/libraries/fontconfig/make-fonts-conf.nix { };
|
||||
|
||||
makeFontsCache = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
|
||||
@@ -10350,8 +10331,6 @@ with pkgs;
|
||||
|
||||
mpich-pmix = mpich.override { pmixSupport = true; withPm = [ ]; };
|
||||
|
||||
mvfst = darwin.apple_sdk_11_0.callPackage ../development/libraries/mvfst { };
|
||||
|
||||
mygpoclient = with python3.pkgs; toPythonApplication mygpoclient;
|
||||
|
||||
mygui = callPackage ../development/libraries/mygui {
|
||||
@@ -11103,7 +11082,6 @@ 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 { };
|
||||
|
||||
wayland = darwin.apple_sdk_11_0.callPackage ../development/libraries/wayland { };
|
||||
wayland-scanner = callPackage ../development/libraries/wayland/scanner.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
|
||||
@@ -604,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;
|
||||
|
||||
Reference in New Issue
Block a user