Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-02-13 06:05:17 +00:00
committed by GitHub
51 changed files with 794 additions and 503 deletions
+1 -1
View File
@@ -10752,7 +10752,7 @@
name = "Jeffrey David Johnson";
};
jefflabonte = {
email = "grimsleepless@protonmail.com";
email = "jean-francois.labonte@brightonlabs.ai";
github = "JeffLabonte";
githubId = 9425955;
name = "Jean-François Labonté";
+9 -8
View File
@@ -36,22 +36,22 @@ let
sha256 =
{
x86_64-linux = "0a4siy3is9bzbzmhhaf4l2djabv1yxjb20yp48i094wk0lpwbgcm";
x86_64-darwin = "1pdx07ibylfk8zx71cjfjmsd8650kpd8rvkknixg1nm1jar9zsb3";
aarch64-linux = "0x2qg7ixgkq637qvd218zk8ykfq97l55az17fqgp9dm9g73xn85f";
aarch64-darwin = "0jlfkkc99wv875n2h5v3lnyhjhh74w53yd07jp02fbg4hs8sds92";
armv7l-linux = "13a7s1il860g7v41wwdac3zdawc9w0bkrg9yif99s5ll0nakfs88";
x86_64-linux = "0gr2z4vzms6fv4kcc8dzc7l3inpb5hasnzdfr1zc2n4i3nl8z8vw";
x86_64-darwin = "1qplpjazjds5kns0kmp5qa6zfix30cqa93bl4bcpvblb2x9fh1v8";
aarch64-linux = "1jhrmwrnxzwvhqgfrs35kyd5hhg2b7dyq3p5k88jhm8607nkds79";
aarch64-darwin = "072lg4nvq3cdjzrwngaxnz9p952zkxsknsb39zjh55vzrij55g9x";
armv7l-linux = "06bvh72bq4ippr2k8ifcfqhkhhh6na4vxsz1k50swr1k2kzwwr5d";
}
.${system} or throwSystem;
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.97.0";
version = "1.97.1";
pname = "vscode" + lib.optionalString isInsiders "-insiders";
# This is used for VS Code - Remote SSH test
rev = "33fc5a94a3f99ebe7087e8fe79fbe1d37a251016";
rev = "e249dada235c2083c83813bd65b7f4707fb97b76";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@@ -75,7 +75,7 @@ callPackage ./generic.nix rec {
src = fetchurl {
name = "vscode-server-${rev}.tar.gz";
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
sha256 = "1vqqrcyrb8kigdwap5rkpil8lrahngix16hyqpvsmf0gsyjh46h0";
sha256 = "01snzahh794ygpgwh4r57c8mnisp6a4fc3v5x76cdhxw2hd9s26n";
};
stdenv = stdenvNoCC;
};
@@ -110,6 +110,7 @@ callPackage ./generic.nix rec {
synthetica
bobby285271
johnrtitor
jefflabonte
];
platforms = [
"x86_64-linux"
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "containerlab";
version = "0.62.2";
version = "0.64.0";
src = fetchFromGitHub {
owner = "srl-labs";
repo = "containerlab";
rev = "v${version}";
hash = "sha256-RUe/IHHhZKbxtNVxiS29/OPvpCCOzaz2d5Qh3vVll3U=";
hash = "sha256-ijqylVQKt7N3rc+HVc34XfU3LMXAtn+mhVWIzZZIikw=";
};
vendorHash = "sha256-G9W4iC04R5Rvl3hAJtMlUKJKo7AAIE33Y2c+0HedXU8=";
vendorHash = "sha256-9p4J9qkIQCubn3W4b3qNHfq1M2kMiqG0eGFaBxGdrAk=";
nativeBuildInputs = [ installShellFiles ];
+16 -19
View File
@@ -1,46 +1,43 @@
{
lib,
python3,
python3Packages,
fetchFromGitHub,
addBinToPathHook,
}:
python3.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "deeptools";
version = "3.5.5";
version = "3.5.6";
pyproject = true;
src = fetchFromGitHub {
owner = "deeptools";
repo = "deepTools";
tag = version;
hash = "sha256-2kSlL7Y5f/FjVtStnmz+GlTw2oymrtxOCaXlqgbQ7FU=";
hash = "sha256-dxXlOvOjF4KSc5YO+1A5hlp95sfeyPSbmp93tihm7Vo=";
};
nativeBuildInputs = with python3.pkgs; [
build-system = with python3Packages; [
setuptools
];
propagatedBuildInputs = with python3.pkgs; [
dependencies = with python3Packages; [
numpy
numpydoc
scipy
py2bit
pybigwig
pysam
matplotlib
pysam
numpydoc
pybigwig
py2bit
plotly
deeptoolsintervals
importlib-metadata
];
nativeCheckInputs = with python3.pkgs; [
nativeCheckInputs = with python3Packages; [
pytestCheckHook
addBinToPathHook
];
preCheck = ''
export PATH="$out/bin:$PATH"
'';
disabledTestPaths = [
# tests trip on `len(sys.argv) == 1`
"deeptools/test/test_bigwigAverage.py"
@@ -49,7 +46,7 @@ python3.pkgs.buildPythonApplication rec {
"deeptools/test/test_multiBamSummary.py"
];
meta = with lib; {
meta = {
homepage = "https://deeptools.readthedocs.io/en/develop";
description = "Tools for exploring deep DNA sequencing data";
longDescription = ''
@@ -60,10 +57,10 @@ python3.pkgs.buildPythonApplication rec {
publication-ready visualizations to identify enrichments and for functional
annotations of the genome.
'';
license = with licenses; [
license = with lib.licenses; [
mit
bsd3
];
maintainers = with maintainers; [ scalavision ];
maintainers = with lib.maintainers; [ scalavision ];
};
}
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://www.freedesktop.org/wiki/Software/desktop-file-utils";
description = "Command line utilities for working with .desktop files";
platforms = platforms.linux ++ platforms.darwin;
platforms = platforms.linux ++ platforms.darwin ++ platforms.freebsd;
license = licenses.gpl2Plus;
};
}
+11 -11
View File
@@ -18,8 +18,8 @@ let
glslang = fetchFromGitHub {
owner = "KhronosGroup";
repo = "glslang";
rev = "e8dd0b6903b34f1879520b444634c75ea2deedf5";
hash = "sha256-B6jVCeoFjd2H6+7tIses+Kj8DgHS6E2dkVzQAIzDHEc=";
rev = "340bf88f3fdb4f4a25b7071cd2c1205035fc6eaa";
hash = "sha256-3h27yE6k4BgUAugQCkpUYO5aIHpK6Anyh90y3q+aYpM=";
};
lodepng = fetchFromGitHub {
@@ -32,34 +32,34 @@ let
shaderc = fetchFromGitHub {
owner = "google";
repo = "shaderc";
rev = "f59f0d11b80fd622383199c867137ededf89d43b";
hash = "sha256-kHz8Io5GZDWv1FjPyBWRpnKhGygKhSU4L9zl/AKXZlU=";
rev = "690d259384193c90c01b52288e280b05a8481121";
hash = "sha256-p4tP/8lRy0tpdDHIuh2/tWPIBBr2ludFRSr+Q2TbUic=";
};
spirv-headers = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Headers";
rev = "5e3ad389ee56fca27c9705d093ae5387ce404df4";
hash = "sha256-gjF5mVTXqU/GZzr2S6oKGChgvqqHcQSrEq/ePP2yJys=";
rev = "3f17b2af6784bfa2c5aa5dbb8e0e74a607dd8b3b";
hash = "sha256-MCQ+i9ymjnxRZP/Agk7rOGdHcB4p67jT4J4athWUlcI=";
};
spirv-tools = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Tools";
rev = "9241a58a8028c49510bc174b6c970e3c2b4b8e51";
hash = "sha256-0qHUpwNDJI2jV4h68QaTNPIwTPxwTt0iAUnMXqFCiJE=";
rev = "13b59bf1d84054b8ccd29cdc6b1303f69e8f9e77";
hash = "sha256-k/mTHiLbZdnslC24fjcrzqsZYMyVaAADGEqngqJcC2c=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "amber";
version = "unstable-2024-08-21";
version = "unstable-2025-02-03";
src = fetchFromGitHub {
owner = "google";
repo = "amber";
rev = "66399a35927606a435bf7a59756e87e6cb5a0013";
hash = "sha256-PCO64zI/vzp4HyGz5WpeYpCBeaWjTvz1punWsTz1yiM=";
rev = "3f078e41d86ca1a5881560f00e26198f59bb8ac0";
hash = "sha256-pAotVFmtEGp9GKmDD0vrbfbO+Xt2URmM8gYCjl0LEnk=";
};
buildInputs = [
+3 -3
View File
@@ -6,15 +6,15 @@
rustPlatform.buildRustPackage rec {
pname = "pulldown-cmark";
version = "0.12.2";
version = "0.13.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-dsSt0JC3e1IItyY16tosxD83XUdttHVIT40QsW9iUFU=";
hash = "sha256-lp0ywX/3phfC30QvYkO2wFZNSinP4cdm4HY744EZ02o=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-5AXEXuw3aKT8ghzEclwZYSOQvKcy90OvZbAVVkNJq1U=";
cargoHash = "sha256-ek6Eczqb/kxxoZFakGcwrgqXAtNCtQxDX2PHdOcIUjU=";
meta = {
description = "Pull parser for CommonMark written in Rust";
+18 -4
View File
@@ -2,6 +2,7 @@
lib,
python3Packages,
fetchFromGitHub,
fetchpatch2,
}:
let
@@ -21,16 +22,24 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "wyoming-satellite";
version = "1.3.0";
version = "1.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "rhasspy";
repo = "wyoming-satellite";
tag = "v${version}";
hash = "sha256-9UgfD0Hs/IgOszd/QBbe6DYY6kBWh7q/e57gghQ1/Bk=";
hash = "sha256-sAtyyS60Fr6iFE3tTxEgAjhmX6O5WjWwb9rk+phzrtM=";
};
patches = [
(fetchpatch2 {
# https://github.com/rhasspy/wyoming-satellite/pull/285
url = "https://github.com/rhasspy/wyoming-satellite/commit/69465fd56011179cb92e7ce95da2e79fb06a83fb.patch";
hash = "sha256-njJ8kIVGOpYK6bDeGow3OSNHxKQ9NsUKAR3+lEUH3GE=";
})
];
build-system = with python.pkgs; [
setuptools
];
@@ -46,14 +55,19 @@ python.pkgs.buildPythonApplication rec {
zeroconf
];
optional-dependencies = {
optional-dependencies = lib.fix (self: {
all = self.silerovad ++ self.webrtc;
respeaker = with python3Packages; [
gpiozero
spidev
];
silerovad = with python3Packages; [
pysilero-vad
];
webrtc = with python3Packages; [
webrtc-noise-gain
];
};
});
pythonImportsCheck = [
"wyoming_satellite"
@@ -1,45 +0,0 @@
From e991ac8f2037d78140e417cc9a9486223eb3e786 Mon Sep 17 00:00:00 2001
From: "J. Nick Koston" <nick@koston.org>
Date: Thu, 5 Dec 2024 22:33:03 -0600
Subject: [PATCH] gh-127655: Ensure `_SelectorSocketTransport.writelines`
pauses the protocol if needed (#127656)
Ensure `_SelectorSocketTransport.writelines` pauses the protocol if it reaches the high water mark as needed.
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py
index f94bf10b4225e7..f1ab9b12d69a5d 100644
--- a/Lib/asyncio/selector_events.py
+++ b/Lib/asyncio/selector_events.py
@@ -1175,6 +1175,7 @@ def writelines(self, list_of_data):
# If the entire buffer couldn't be written, register a write handler
if self._buffer:
self._loop._add_writer(self._sock_fd, self._write_ready)
+ self._maybe_pause_protocol()
def can_write_eof(self):
return True
diff --git a/Lib/test/test_asyncio/test_selector_events.py b/Lib/test/test_asyncio/test_selector_events.py
index aaeda33dd0c677..efca30f37414f9 100644
--- a/Lib/test/test_asyncio/test_selector_events.py
+++ b/Lib/test/test_asyncio/test_selector_events.py
@@ -805,6 +805,18 @@ def test_writelines_send_partial(self):
self.assertTrue(self.sock.send.called)
self.assertTrue(self.loop.writers)
+ def test_writelines_pauses_protocol(self):
+ data = memoryview(b'data')
+ self.sock.send.return_value = 2
+ self.sock.send.fileno.return_value = 7
+
+ transport = self.socket_transport()
+ transport._high_water = 1
+ transport.writelines([data])
+ self.assertTrue(self.protocol.pause_writing.called)
+ self.assertTrue(self.sock.send.called)
+ self.assertTrue(self.loop.writers)
+
@unittest.skipUnless(selector_events._HAS_SENDMSG, 'no sendmsg')
def test_write_sendmsg_full(self):
data = memoryview(b'data')
@@ -254,7 +254,7 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
# (since it will do a futile invocation of gcc (!) to find
# libuuid, slowing down program startup a lot).
noldconfigPatch
] ++ optionals (!isPy312 && !isPy313) [
] ++ optionals (pythonOlder "3.12") [
# https://www.cve.org/CVERecord?id=CVE-2025-0938
./CVE-2025-0938.patch
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isFreeBSD) [
@@ -299,8 +299,6 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
] ++ optionals (pythonOlder "3.12") [
# https://github.com/python/cpython/issues/90656
./loongarch-support.patch
] ++ optionals isPy314 [
./3.12/CVE-2024-12254.patch
] ++ optionals (pythonAtLeast "3.11" && pythonOlder "3.13") [
# backport fix for https://github.com/python/cpython/issues/95855
./platform-triplet-detection.patch
@@ -100,9 +100,9 @@ in {
major = "3";
minor = "14";
patch = "0";
suffix = "a4";
suffix = "a5";
};
hash = "sha256-wk8HiBhzwdRgIoeVymyoyZEw4wx3PJFGPTDX6o/w5ws=";
hash = "sha256-dOg/Jt4eT7nu8bVkks/5JQiDS7cawT9cWAQ4zp8JNoI=";
inherit passthruFun;
};
# Minimal versions of Python (built without optional dependencies)
@@ -11,13 +11,13 @@
buildPythonPackage rec {
pname = "awkward-cpp";
version = "43";
version = "44";
pyproject = true;
src = fetchPypi {
pname = "awkward_cpp";
inherit version;
hash = "sha256-we11WW7IKvZm2ghLW/gF2bcsg1MtA10rZeB5WQXSXq0=";
hash = "sha256-jcSZKI1tFrLqILUaJ9UEflGiR7aqz8vLOzAsrW08h9g=";
};
build-system = [
@@ -1,7 +1,7 @@
{
lib,
stdenv,
buildPythonPackage,
pythonOlder,
fetchFromGitHub,
# build-system
@@ -13,12 +13,9 @@
fsspec,
numpy,
packaging,
typing-extensions,
importlib-metadata,
# checks
# tests
numba,
setuptools,
numexpr,
pandas,
pyarrow,
@@ -28,14 +25,14 @@
buildPythonPackage rec {
pname = "awkward";
version = "2.7.2";
version = "2.7.4";
pyproject = true;
src = fetchFromGitHub {
owner = "scikit-hep";
repo = "awkward";
tag = "v${version}";
hash = "sha256-nOKMwAQ5t8tc64bEKz0j8JxxoVQQu39Iu8Zr9cqSx7A=";
hash = "sha256-OXSl+8sfrx+JlLu40wHf+98WVNNwm9uxvsnGXRDztDg=";
};
build-system = [
@@ -43,15 +40,12 @@ buildPythonPackage rec {
hatchling
];
dependencies =
[
awkward-cpp
fsspec
numpy
packaging
]
++ lib.optionals (pythonOlder "3.11") [ typing-extensions ]
++ lib.optionals (pythonOlder "3.12") [ importlib-metadata ];
dependencies = [
awkward-cpp
fsspec
numpy
packaging
];
dontUseCmakeConfigure = true;
@@ -60,7 +54,6 @@ buildPythonPackage rec {
nativeCheckInputs = [
fsspec
numba
setuptools
numexpr
pandas
pyarrow
@@ -68,11 +61,27 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTestPaths = [
# Need to be run on a GPU platform.
"tests-cuda"
disabledTests = [
# pyarrow.lib.ArrowInvalid
"test_recordarray"
];
disabledTestPaths =
[
# Need to be run on a GPU platform.
"tests-cuda"
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
# Fatal Python error: Segmentation fault at:
# numba/typed/typedlist.py", line 344 in append
"tests/test_0118_numba_cpointers.py"
"tests/test_0397_arrays_as_constants_in_numba.py"
"tests/test_1677_array_builder_in_numba.py"
"tests/test_2055_array_builder_check.py"
"tests/test_2349_growablebuffer_in_numba.py"
"tests/test_2408_layoutbuilder_in_numba.py"
];
meta = {
description = "Manipulate JSON-like data with NumPy-like idioms";
homepage = "https://github.com/scikit-hep/awkward";
@@ -57,6 +57,10 @@ buildPythonPackage rec {
hatch-vcs
];
pythonRelaxDeps = [
"dask"
];
dependencies = [
aiohttp
awkward
@@ -106,6 +110,10 @@ buildPythonPackage rec {
# AssertionError: bug in Awkward Array: attempt to convert TypeTracerArray into a concrete array
"test_apply_to_fileset"
"test_lorentz_behavior"
# ValueError: The array to mask was deleted before it could be masked.
# If you want to construct this mask, you must either keep the array alive or use 'ak.mask' explicitly.
"test_read_nanomc"
];
__darwinAllowLocalNetworking = true;
@@ -16,7 +16,7 @@
# optional-dependencies
pyarrow,
# checks
# tests
dask-histogram,
distributed,
hist,
@@ -27,14 +27,14 @@
buildPythonPackage rec {
pname = "dask-awkward";
version = "2024.12.2";
version = "2025.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dask-contrib";
repo = "dask-awkward";
tag = version;
hash = "sha256-pL1LDW/q78V/c3Bha38k40018MFO+i8X6htYNdcsy7s=";
hash = "sha256-hhAY2cPUOYnP86FGsLvxlMeoEwY+sTrjPMKyuZrO0/M=";
};
build-system = [
@@ -53,8 +53,8 @@ buildPythonPackage rec {
io = [ pyarrow ];
};
checkInputs = [
dask-histogram
nativeCheckInputs = [
# dask-histogram (circular dependency)
distributed
hist
pandas
@@ -86,7 +86,7 @@ buildPythonPackage rec {
meta = {
description = "Native Dask collection for awkward arrays, and the library to use it";
homepage = "https://github.com/dask-contrib/dask-awkward";
changelog = "https://github.com/dask-contrib/dask-awkward/releases/tag/${src.tag}";
changelog = "https://github.com/dask-contrib/dask-awkward/releases/tag/${version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ veprbl ];
};
@@ -1,65 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
versioneer,
# dependencies
dask,
pandas,
pyarrow,
# checks
jinja2,
pytestCheckHook,
xarray,
}:
buildPythonPackage rec {
pname = "dask-expr";
version = "1.1.21";
pyproject = true;
src = fetchFromGitHub {
owner = "dask";
repo = "dask-expr";
tag = "v${version}";
hash = "sha256-t1vPlTxV5JYArg/a7CzPP13NHbstEoCgHRmd8Y9mDfA=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "versioneer[toml]==0.28" "versioneer[toml]"
'';
build-system = [
setuptools
versioneer
];
dependencies = [
dask
pandas
pyarrow
];
pythonImportsCheck = [ "dask_expr" ];
nativeCheckInputs = [
jinja2
pytestCheckHook
xarray
];
__darwinAllowLocalNetworking = true;
meta = {
description = "Rewrite of Dask DataFrame that includes query optimization and generally improved organization";
homepage = "https://github.com/dask/dask-expr";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
@@ -1,34 +1,46 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools-scm,
# dependencies
cloudpickle,
dask,
distributed,
fetchPypi,
multipledispatch,
pytestCheckHook,
pythonOlder,
scikit-learn,
scipy,
setuptools-scm,
sparse,
dask,
# tests
pytest-xdist,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "dask-glm";
version = "0.3.2";
format = "setuptools";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-yUelZoZmmKAdeZeK5zIzy16DitXq1ghRQ1gsXpMLmko=";
src = fetchFromGitHub {
owner = "dask";
repo = "dask-glm";
tag = version;
hash = "sha256-q98QMmw1toashimS16of54cgZgIPqkua3xGD1FZ1nTc=";
};
nativeBuildInputs = [ setuptools-scm ];
# ValueError: The truth value of an empty array is ambiguous. Use `array.size > 0` to check that an array is not empty.
postPatch = ''
substituteInPlace dask_glm/utils.py \
--replace-fail "if arr:" "if (arr is not None) and (arr.size > 0):"
'';
propagatedBuildInputs = [
build-system = [ setuptools-scm ];
dependencies = [
cloudpickle
distributed
multipledispatch
@@ -38,30 +50,24 @@ buildPythonPackage rec {
] ++ dask.optional-dependencies.array;
nativeCheckInputs = [
sparse
pytest-xdist
pytestCheckHook
];
pythonImportsCheck = [ "dask_glm" ];
disabledTestPaths = [
# Circular dependency with dask-ml
"dask_glm/tests/test_estimators.py"
# Test tries to imort an obsolete method
"dask_glm/tests/test_utils.py"
];
disabledTests = [
# missing fixture with distributed>=2022.8.0
"test_determinism_distributed"
# ValueError: <class 'bool'> can be computed for one-element arrays only.
"test_dot_with_sparse"
];
__darwinAllowLocalNetworking = true;
meta = with lib; {
meta = {
description = "Generalized Linear Models with Dask";
homepage = "https://github.com/dask/dask-glm/";
license = licenses.bsd3;
maintainers = [ ];
changelog = "https://github.com/dask/dask-glm/releases/tag/${version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
@@ -10,6 +10,7 @@
# dependencies
boost-histogram,
dask,
dask-awkward,
# tests
pytestCheckHook,
@@ -17,14 +18,14 @@
buildPythonPackage rec {
pname = "dask-histogram";
version = "2024.12.1";
version = "2025.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dask-contrib";
repo = "dask-histogram";
tag = version;
hash = "sha256-chznfEsMFuIioIlTz6uNpVAkjMMoMXjS62R4luKxVZQ=";
hash = "sha256-5Ec/qzVc/7LDG6SJym1e76BbxmbVjKKQHckwtTs1+6M=";
};
build-system = [
@@ -35,6 +36,7 @@ buildPythonPackage rec {
dependencies = [
boost-histogram
dask
dask-awkward
];
nativeCheckInputs = [ pytestCheckHook ];
@@ -44,7 +46,7 @@ buildPythonPackage rec {
meta = {
description = "Histograms with task scheduling";
homepage = "https://dask-histogram.readthedocs.io/";
changelog = "https://github.com/dask-contrib/dask-histogram/releases/tag/${src.tag}";
changelog = "https://github.com/dask-contrib/dask-histogram/releases/tag/${version}";
license = with lib.licenses; [ bsd3 ];
maintainers = with lib.maintainers; [ veprbl ];
};
@@ -1,15 +1,21 @@
{
lib,
buildPythonPackage,
pythonOlder,
fetchFromGitHub,
# build-system
setuptools,
setuptools-scm,
# dependencies
dask,
numpy,
scipy,
pandas,
pims,
# tests
pyarrow,
pytestCheckHook,
scikit-image,
}:
@@ -19,8 +25,6 @@ buildPythonPackage rec {
version = "2024.5.3";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "dask";
repo = "dask-image";
@@ -28,6 +32,11 @@ buildPythonPackage rec {
hash = "sha256-kXCAqJ2Zgo/2Khvo2YcK+n4oGM219GyQ2Hsq9re1Lac=";
};
postPatch = ''
substituteInPlace dask_image/ndinterp/__init__.py \
--replace-fail "out_bounds.ptp(axis=1)" "np.ptp(out_bounds, axis=1)"
'';
build-system = [
setuptools
setuptools-scm
@@ -42,15 +51,27 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
pyarrow
pytestCheckHook
scikit-image
];
pythonImportsCheck = [ "dask_image" ];
disabledTests = [
# The following tests are from 'tests/test_dask_image/test_ndmeasure/test_find_objects.py' and
# fail because of errrors on numpy slices
# AttributeError: 'str' object has no attribute 'start'
"test_find_objects"
"test_3d_find_objects"
# AssertionError (comparing slices)
"test_find_objects_with_empty_chunks"
];
meta = {
description = "Distributed image processing";
homepage = "https://github.com/dask/dask-image";
changelog = "https://github.com/dask/dask-image/releases/tag/v${version}";
license = lib.licenses.bsdOriginal;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
@@ -3,14 +3,13 @@
stdenv,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
# build-system
hatch-vcs,
hatchling,
setuptools-scm,
# dependencies
dask-expr,
dask-glm,
distributed,
multipledispatch,
@@ -29,25 +28,23 @@
buildPythonPackage rec {
pname = "dask-ml";
version = "2024.4.4";
version = "2025.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dask";
repo = "dask-ml";
tag = "v${version}";
hash = "sha256-ZiBpCk3b4Tk0Hwb4uapJLEx+Nb/qHFROCnkBTNGDzoU=";
hash = "sha256-DHxx0LFuJmGWYuG/WGHj+a5XHAEekBmlHUUb90rl2IY=";
};
build-system = [
hatch-vcs
hatchling
setuptools-scm
];
dependencies =
[
dask-expr
dask-glm
distributed
multipledispatch
@@ -73,39 +70,14 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTestPaths =
[
# AttributeError: 'csr_matrix' object has no attribute 'A'
# Fixed in https://github.com/dask/dask-ml/pull/996
"tests/test_svd.py"
# Tests fail with dask>=0.11.2
# RuntimeError: Not enough arguments provided
# Reported in https://github.com/dask/dask-ml/issues/1003
"tests/model_selection/test_incremental.py"
]
++ lib.optionals stdenv.isDarwin [
# RuntimeError: Not enough arguments provided: missing keys
"tests/model_selection/test_hyperband.py"
"tests/model_selection/test_incremental.py"
"tests/model_selection/test_incremental_warns.py"
"tests/model_selection/test_successive_halving.py"
];
disabledTestPaths = [
# AttributeError: module 'numpy' has no attribute 'product'
"tests/test_svd.py"
];
disabledTests = [
# Flaky: `Arrays are not almost equal to 3 decimals` (although values do actually match)
"test_whitening"
# Tests fail with dask>=0.11.2
# RuntimeError: Not enough arguments provided
# Reported in https://github.com/dask/dask-ml/issues/1003
"test_basic"
"test_hyperband_patience"
"test_same_random_state_same_params"
"test_search_patience_infeasible_tol"
"test_sha_max_iter_and_metadata"
"test_warns_decay_rate"
"test_warns_decay_rate_wanted"
# AssertionError: Regex pattern did not match.
"test_unknown_category_transform_array"
];
__darwinAllowLocalNetworking = true;
+103 -146
View File
@@ -1,6 +1,5 @@
{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
@@ -27,168 +26,126 @@
jinja2,
# tests
arrow-cpp,
dask-expr,
hypothesis,
pytest-asyncio,
pytest-cov-stub,
pytest-mock,
pytest-rerunfailures,
pytest-xdist,
pytestCheckHook,
versionCheckHook,
}:
let
self = buildPythonPackage rec {
pname = "dask";
version = "2024.12.1";
pyproject = true;
buildPythonPackage rec {
pname = "dask";
version = "2025.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dask";
repo = "dask";
tag = version;
hash = "sha256-QqvdldAHW2UYt1NXfk3Aa+oe97e+OpRbF8d6eKV3OJ4=";
};
src = fetchFromGitHub {
owner = "dask";
repo = "dask";
tag = version;
hash = "sha256-KBqOyf471mNg3L9dYmR7IRSltEtC+VgC+6ptsoKgVmM=";
};
build-system = [ setuptools ];
postPatch = ''
# versioneer hack to set version of GitHub package
echo "def get_versions(): return {'dirty': False, 'error': None, 'full-revisionid': None, 'version': '${version}'}" > dask/_version.py
dependencies = [
click
cloudpickle
fsspec
packaging
partd
pyyaml
importlib-metadata
toolz
];
optional-dependencies = lib.fix (self: {
array = [ numpy ];
complete =
[
pyarrow
lz4
]
++ self.array
++ self.dataframe
++ self.distributed
++ self.diagnostics;
dataframe = [
# dask-expr -> circular dependency with dask-expr
numpy
pandas
];
distributed = [ distributed ];
diagnostics = [
bokeh
jinja2
];
});
nativeCheckInputs =
[
dask-expr
pytestCheckHook
pytest-rerunfailures
pytest-xdist
# from panda[test]
hypothesis
pytest-asyncio
]
++ self.optional-dependencies.array
++ self.optional-dependencies.dataframe
++ lib.optionals (!arrow-cpp.meta.broken) [
# support is sparse on aarch64
pyarrow
];
dontUseSetuptoolsCheck = true;
postPatch = ''
# versioneer hack to set version of GitHub package
echo "def get_versions(): return {'dirty': False, 'error': None, 'full-revisionid': None, 'version': '${version}'}" > dask/_version.py
substituteInPlace setup.py \
--replace-fail "import versioneer" "" \
--replace-fail "version=versioneer.get_version()," "version='${version}'," \
--replace-fail "cmdclass=versioneer.get_cmdclass()," ""
substituteInPlace setup.py \
--replace-fail "import versioneer" "" \
--replace-fail "version=versioneer.get_version()," "version='${version}'," \
--replace-fail "cmdclass=versioneer.get_cmdclass()," ""
substituteInPlace pyproject.toml \
--replace-fail ', "versioneer[toml]==0.29"' "" \
--replace-fail " --durations=10" "" \
--replace-fail " --cov-config=pyproject.toml" "" \
--replace-fail "\"-v" "\" "
'';
--replace-fail ', "versioneer[toml]==0.29"' ""
'';
pytestFlagsArray = [
# Rerun failed tests up to three times
"--reruns 3"
# Don't run tests that require network access
"-m 'not network'"
];
build-system = [ setuptools ];
disabledTests =
lib.optionals stdenv.hostPlatform.isDarwin [
# Test requires features of python3Packages.psutil that are
# blocked in sandboxed-builds
"test_auto_blocksize_csv"
# AttributeError: 'str' object has no attribute 'decode'
"test_read_dir_nometa"
dependencies = [
click
cloudpickle
fsspec
packaging
partd
pyyaml
importlib-metadata
toolz
];
optional-dependencies = lib.fix (self: {
array = [ numpy ];
complete =
[
pyarrow
lz4
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
# concurrent.futures.process.BrokenProcessPool: A process in the process pool terminated abpruptly...
"test_foldby_tree_reduction"
"test_to_bag"
]
++ [
# https://github.com/dask/dask/issues/10347#issuecomment-1589683941
"test_concat_categorical"
# AttributeError: 'ArrowStringArray' object has no attribute 'tobytes'. Did you mean: 'nbytes'?
"test_dot"
"test_dot_nan"
"test_merge_column_with_nulls"
# FileNotFoundError: [Errno 2] No such file or directory: '/build/tmp301jryv_/createme/0.part'
"test_to_csv_nodir"
"test_to_json_results"
# FutureWarning: Those tests should be working fine when pandas will have been upgraded to 2.1.1
"test_apply"
"test_apply_infer_columns"
];
__darwinAllowLocalNetworking = true;
pythonImportsCheck = [
"dask"
"dask.bag"
"dask.bytes"
"dask.diagnostics"
++ self.array
++ self.dataframe
++ self.distributed
++ self.diagnostics;
dataframe = [
pandas
pyarrow
] ++ self.array;
distributed = [ distributed ];
diagnostics = [
bokeh
jinja2
];
});
doCheck = false;
nativeCheckInputs =
[
hypothesis
pyarrow
pytest-asyncio
pytest-cov-stub
pytest-mock
pytest-rerunfailures
pytest-xdist
pytestCheckHook
versionCheckHook
]
++ optional-dependencies.array
++ optional-dependencies.dataframe;
versionCheckProgramArg = [ "--version" ];
# Enable tests via passthru to avoid cyclic dependency with dask-expr.
passthru.tests = {
check = self.overridePythonAttrs (old: {
doCheck = true;
pythonImportsCheck = [
# Requires the `dask.optional-dependencies.array` that are only in `nativeCheckInputs`
"dask.array"
# Requires the `dask.optional-dependencies.dataframe` that are only in `nativeCheckInputs`
"dask.dataframe"
"dask.dataframe.io"
"dask.dataframe.tseries"
] ++ old.pythonImportsCheck;
});
};
pytestFlagsArray = [
# Rerun failed tests up to three times
"--reruns 3"
# Don't run tests that require network access
"-m 'not network'"
];
meta = {
description = "Minimal task scheduling abstraction";
mainProgram = "dask";
homepage = "https://dask.org/";
changelog = "https://docs.dask.org/en/latest/changelog.html";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
disabledTests = [
# UserWarning: Insufficient elements for `head`. 10 elements requested, only 5 elements available. Try passing larger `npartitions` to `head`.
"test_set_index_head_nlargest_string"
];
__darwinAllowLocalNetworking = true;
pythonImportsCheck = [
"dask"
"dask.bag"
"dask.bytes"
"dask.diagnostics"
# Requires the `dask.optional-dependencies.array` that are only in `nativeCheckInputs`
"dask.array"
# Requires the `dask.optional-dependencies.dataframe` that are only in `nativeCheckInputs`
"dask.dataframe"
"dask.dataframe.io"
"dask.dataframe.tseries"
];
meta = {
description = "Minimal task scheduling abstraction";
mainProgram = "dask";
homepage = "https://dask.org/";
changelog = "https://docs.dask.org/en/latest/changelog.html";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
in
self
}
@@ -2,36 +2,42 @@
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
setuptools-scm,
# build-system
hatch-vcs,
hatchling,
# dependencies
matplotlib,
mplhep-data,
numpy,
packaging,
uhi,
# tests
hist,
pytest-mock,
pytest-mpl,
pytestCheckHook,
scipy,
pytest-mpl,
pytest-mock,
uproot,
hist,
}:
buildPythonPackage rec {
pname = "mplhep";
version = "0.3.55";
version = "0.3.56";
pyproject = true;
src = fetchFromGitHub {
owner = "scikit-hep";
repo = "mplhep";
tag = "v${version}";
hash = "sha256-7YkrrH9Bfn3ctjv+H6TXEDE8yS/wnjO7umuHIXeYTDU=";
hash = "sha256-sMJpJUEtIqmu7kCgZp43t9XLy/6nkDgKcxC4nFb+1po=";
};
build-system = [
setuptools
setuptools-scm
hatch-vcs
hatchling
];
dependencies = [
@@ -43,12 +49,12 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
hist
pytest-mock
pytest-mpl
pytestCheckHook
scipy
pytest-mpl
pytest-mock
uproot
hist
];
disabledTests = [
@@ -62,6 +68,7 @@ buildPythonPackage rec {
meta = {
description = "Extended histogram plots on top of matplotlib and HEP compatible styling similar to current collaboration requirements (ROOT)";
homepage = "https://github.com/scikit-hep/mplhep";
changelog = "https://github.com/scikit-hep/mplhep/releases/tag/v${version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ veprbl ];
};
@@ -1,34 +1,36 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
hatchling,
# optional-dependencies
# cudf,
dask,
dask-expr,
duckdb,
fetchFromGitHub,
hatchling,
hypothesis,
# modin,
pandas,
polars,
pyarrow,
# tests
duckdb,
hypothesis,
pytest-env,
pytestCheckHook,
pythonOlder,
}:
buildPythonPackage rec {
pname = "narwhals";
version = "1.22.0";
version = "1.26.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "narwhals-dev";
repo = "narwhals";
tag = "v${version}";
hash = "sha256-I6nJJiiW1v04YH70OPxXKeO80N52nnCPKRzJLILEWmw=";
hash = "sha256-tGxRJauYD0mCA66Rd2i8jJsuDLVgyk35F7HRMR1ZkQs=";
};
build-system = [
@@ -39,8 +41,7 @@ buildPythonPackage rec {
# cudf = [ cudf ];
dask = [
dask
dask-expr
];
] ++ dask.optional-dependencies.dataframe;
# modin = [ modin ];
pandas = [ pandas ];
polars = [ polars ];
@@ -64,7 +65,7 @@ buildPythonPackage rec {
meta = {
description = "Lightweight and extensible compatibility layer between dataframe libraries";
homepage = "https://github.com/narwhals-dev/narwhals";
changelog = "https://github.com/narwhals-dev/narwhals/releases/tag/${src.tag}";
changelog = "https://github.com/narwhals-dev/narwhals/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
@@ -0,0 +1,54 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
numpy,
scipy,
hypothesis,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "open-hypergraphs";
version = "0.1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "statusfailed";
repo = "open-hypergraphs";
tag = "pypi-${version}";
hash = "sha256-ifcQXZDnOvo2XL7WYVFLv2iHWhImUSp3jqAPPYySNjU=";
};
build-system = [
hatchling
];
dependencies = [
numpy
scipy
];
pythonRelaxDeps = [
"numpy"
"scipy"
];
nativeCheckInputs = [
pytestCheckHook
hypothesis
];
pythonImportsCheck = [
"open_hypergraphs"
];
meta = {
description = "Implementation of open hypergraphs for string diagrams";
homepage = "https://github.com/statusfailed/open-hypergraphs";
changelog = "https://github.com/statusfailed/open-hypergraphs/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ bcdarwin ];
};
}
+17 -17
View File
@@ -66,7 +66,7 @@
let
pname = "ray";
version = "2.42.0";
version = "2.42.1";
in
buildPythonPackage rec {
inherit pname version;
@@ -87,28 +87,28 @@ buildPythonPackage rec {
# curl https://pypi.org/pypi/ray/${version}/json | jq -r '.urls[] | "\(.digests.sha256) \(.filename)"'
hashes = {
aarch64-darwin = {
cp39 = "4835c58b2e14f70badc059e9a6310cbfb51dec7a5b20fe712a4d193c85c9b2c5";
cp310 = "4bb3d88c478dd2cc3a17a66f0c47a73978608ce5579f92f77a468720763c2331";
cp311 = "7de151d403f351bb0fe3ed6f3f0e0258ce989871c60e4ccca2ab5bab7e9fc820";
cp312 = "4a3ab3d73541c4e1b8c0dca31d4006ba18b20ccf7eb7a7428f5dbf96e9736a83";
cp39 = "sha256-MijkhGUC4MW+rmm2mfyQcaBtPPv8DKXyvScHkkpS40s=";
cp310 = "sha256-YHJ/nHKo9xvE4U1H3E3ElNxZo8Sw0QiuBPpuWo5FIo8=";
cp311 = "sha256-8BlRTFIgqCL7wMOO0fdQXOx1uWGnYEq2d/1kd+M6Ki4";
cp312 = "sha256-orb2JZC7YF1m043rSV84MqbQMB2z9JatxU0SoURUHjc=";
};
aarch64-linux = {
cp39 = "sha256-NlE3pzeWzz6DlS2Y6Gv8W+1DRMjK1a9T2R9lvq5nL7g=";
cp310 = "sha256-MxCDruyfxiqy/Fkn0YM1idpZNUvChx8Xt6EBie7Q2uY=";
cp311 = "sha256-eb9KDQIX6i2O/UfeZ9nCKTBAGc6ZZ427FI9WXZakRuI=";
cp312 = "sha256-PnKHZmINbjEYajepBsB7gH2i86rPSxZ/bos3xy7U3mM=";
cp39 = "sha256-V/epiChYGASp537Jnz/d1UIl2r2pwNmmdx630i5pMHI=";
cp310 = "sha256-kNi/DBr+I2SjP1NWNnYaV0440oOwQGE7joY5vhQdBKA=";
cp311 = "sha256-xdeeSYrOtapbPlMH7HSV9YSGtCZrOP7qOXm5iB6VDE8=";
cp312 = "sha256-nKXH/V9nboMXgS53AY9i+HxbOa4Op/n4DW6YzSL99Vo=";
};
x86_64-darwin = {
cp39 = "aa5692cc8f584c5f531074fd7283004acfbc538b36101f6c403d4ff1837aca52";
cp310 = "515bc5d9811cc4bb982daf6c7b2c82453cccc886e41514e03bc3342293acb109";
cp311 = "6e2b8ad794729f068742ffc2547fd322fa6ef31e46e886ac6e53690b86415cf0";
cp312 = "6b117e01d0304305e459cccc78e1b46dc1ee60227a2afd8569d97b7a2bc516ed";
cp39 = "sha256-EgWa4hgQ0K6LCcx8N51SzRCIgbi56cYo0ywEWXD8KsQ=";
cp310 = "sha256-ufLyDLLd31LsB+JU84upFGe4bfETMImdauI2GD45UnU=";
cp311 = "sha256-ToHIlnedis5mr8KsdQUIBtsQLZUBou1uovOAEJYsyn8=";
cp312 = "sha256-t+9IkWQyoNXMyr78jL2L8MDSrQuIQczjzr0bEzmWyjY=";
};
x86_64-linux = {
cp39 = "sha256-rGz4bKRemxRdHCLPpHBpzdyq3ms/3Bsd5adhEJfZbX4=";
cp310 = "sha256-i+C9U2ErZEbDm09OnLS9NUhknVISR3NJzPvcklCHgik=";
cp311 = "sha256-6JJLbtCGZVsr+LP/KaxFPR6Kp6TW0s6WW7ql+xfRNk8=";
cp312 = "sha256-4+3gNnqyj72GiiL05M2sRFQ8ZU4svFo7SCF45/cl6iw=";
cp39 = "sha256-LUATaRjN1/YHEKpGRS7vqcDkYOLE51svxXI8c9521wE=";
cp310 = "sha256-AYAiSeuc02Mm5v4LqoiRb6YGJzHaElBryT5zbxcRHdQ=";
cp311 = "sha256-z1vEMnUuKbyADjAAO9ZJM9eFND9ZqajDGoOc2YH8UIQ=";
cp312 = "sha256-4Np/+6ctOsJ1B4FvAPKtM0+BWDX0e4sEghzFdQ7Flkc=";
};
};
in
@@ -1,23 +1,24 @@
{
lib,
buildPythonPackage,
pythonOlder,
fetchPypi,
fetchFromGitHub,
# build-system
setuptools,
confluent-kafka,
dask,
dask-expr,
distributed,
flaky,
graphviz,
networkx,
pytest-asyncio,
pytestCheckHook,
requests,
# dependencies
six,
toolz,
tornado,
zict,
# tests
dask,
distributed,
flaky,
pandas,
pyarrow,
pytestCheckHook,
}:
buildPythonPackage rec {
@@ -25,17 +26,16 @@ buildPythonPackage rec {
version = "0.6.4";
pyproject = true;
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-VXfWkEwuxInBQVQJV3IQXgGVRkiBmYfUZCBMbjyWNPM=";
src = fetchFromGitHub {
owner = "python-streamz";
repo = "streamz";
tag = version;
hash = "sha256-lSb3gl+TSIzz4BZzxH8zXu74HvzSntOAoVQUUJKIEvA=";
};
build-system = [ setuptools ];
dependencies = [
networkx
six
toolz
tornado
@@ -43,15 +43,12 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
confluent-kafka
dask
dask-expr
distributed
flaky
graphviz
pytest-asyncio
pandas
pyarrow
pytestCheckHook
requests
];
pythonImportsCheck = [ "streamz" ];
@@ -63,24 +60,17 @@ buildPythonPackage rec {
"test_partition_then_scatter_sync"
"test_sync"
"test_sync_2"
# Test fail in the sandbox
"test_tcp_async"
"test_tcp"
"test_partition_timeout"
# Tests are flaky
"test_from_iterable"
"test_buffer"
];
disabledTestPaths = [
# Disable kafka tests
"streamz/tests/test_kafka.py"
];
__darwinAllowLocalNetworking = true;
meta = with lib; {
meta = {
description = "Pipelines to manage continuous streams of data";
homepage = "https://github.com/python-streamz/streamz";
license = licenses.bsd3;
maintainers = [ ];
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
@@ -175,7 +175,7 @@ mkDerivation {
# Compat is for making other platforms look like FreeBSD (e.g. to
# build build-time dependencies for building FreeBSD packages). It is
# not needed when building for FreeBSD.
meta.broken = stdenv.hostPlatform.isFreeBSD;
meta.platforms = lib.platforms.linux;
alwaysKeepStatic = true;
}
@@ -0,0 +1,16 @@
{
lib,
mkDerivation,
}:
mkDerivation {
path = "usr.bin/fstat";
outputs = [
"out"
"man"
"debug"
];
meta.mainProgram = "fstat";
meta.platforms = lib.platforms.freebsd;
}
@@ -0,0 +1,10 @@
{
lib,
mkDerivation,
}:
mkDerivation {
path = "sbin/mount_nullfs";
extraPaths = [ "sbin/mount" ];
meta.platforms = lib.platforms.freebsd;
}
@@ -0,0 +1,24 @@
{
lib,
mkDerivation,
libxo,
libsbuf,
}:
mkDerivation {
path = "usr.bin/procstat";
buildInputs = [
libxo
libsbuf
];
outputs = [
"out"
"man"
"debug"
];
MK_TESTS = "no";
meta.platforms = lib.platforms.freebsd;
meta.mainProgram = "procstat";
}
@@ -0,0 +1,19 @@
{
lib,
mkDerivation,
}:
mkDerivation {
path = "sbin/umount";
extraPaths = [
"sbin/mount"
"usr.sbin/rpc.umntall"
];
outputs = [
"out"
"man"
"debug"
];
meta.platforms = lib.platforms.freebsd;
}
+1 -3
View File
@@ -1,9 +1,7 @@
{ mkDerivation, libkvm }:
{ mkDerivation }:
mkDerivation {
path = "sbin/dmesg";
buildInputs = [ libkvm ];
postPatch = ''
sed -i /DPADD/d $BSDSRCDIR/sbin/dmesg/Makefile
'';
@@ -0,0 +1,34 @@
diff --git a/sbin/fsck/fsck.c b/sbin/fsck/fsck.c
index 19e730a484f..cb548971abd 100644
--- a/sbin/fsck/fsck.c
+++ b/sbin/fsck/fsck.c
@@ -115,6 +115,8 @@ main(int argc, char *argv[])
err(1, "unveil %s", _PATH_FSTAB);
if (unveil("/sbin", "x") == -1)
err(1, "unveil /sbin");
+ if (unveil("/nix/store", "rx") == -1)
+ err(1, "unveil /nix/store");
if (pledge("stdio rpath wpath disklabel proc exec", NULL) == -1)
err(1, "pledge");
@@ -308,18 +310,8 @@ checkfs(const char *vfstype, const char *spec, const char *mntpt, void *auxarg,
_exit(0);
/* Go find an executable. */
- edir = edirs;
- do {
- (void)snprintf(execname,
- sizeof(execname), "%s/fsck_%s", *edir, vfstype);
- execv(execname, (char * const *)argv);
- if (errno != ENOENT) {
- if (spec)
- warn("exec %s for %s", execname, spec);
- else
- warn("exec %s", execname);
- }
- } while (*++edir != NULL);
+ (void)snprintf(execname, sizeof(execname), "fsck_%s", vfstype);
+ execvp(execname, (char * const *)argv);
if (errno == ENOENT) {
if (spec)
@@ -0,0 +1,6 @@
{ mkDerivation }:
mkDerivation {
path = "sbin/fsck";
patches = [ ./fsck-path.patch ];
}
@@ -0,0 +1,8 @@
{ mkDerivation }:
mkDerivation {
path = "sbin/fsck_ffs";
extraPaths = [
"sbin/fsck"
"sys/ufs/ffs"
];
}
@@ -0,0 +1,5 @@
{ mkDerivation }:
mkDerivation {
path = "sbin/fsck_msdos";
extraPaths = [ "sbin/fsck" ];
}
@@ -8,6 +8,7 @@
librpcsvc,
libutil,
libexecinfo,
libkvm,
rtld,
version,
}:
@@ -38,6 +39,7 @@ symlinkJoin rec {
librpcsvc
libutil
libexecinfo
libkvm
]
++ (lib.optional (!stdenvNoLibc.hostPlatform.isStatic) rtld)
);
@@ -3,4 +3,6 @@
}:
mkDerivation {
path = "lib/libkvm";
libcMinimal = true;
}
@@ -0,0 +1,18 @@
diff --git a/etc/MAKEDEV.common b/etc/MAKEDEV.common
index 1e7bb3d235a..1cc64a38985 100644
--- a/etc/MAKEDEV.common
+++ b/etc/MAKEDEV.common
@@ -315,10 +315,10 @@ _mkdev(pty, pty*, {-if [ $U -gt 15 ]; then
echo bad unit for pty in: $i
continue
fi
- set -A letters p q r s t u v w x y z P Q R S T
- set -A suffixes 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q \
+ letters=(p q r s t u v w x y z P Q R S T)
+ suffixes=(0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q \
r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X \
- Y Z
+ Y Z)
name=${letters[$U]}
n=0
@@ -0,0 +1,37 @@
{
mkDerivation,
runtimeShell,
m4,
}:
mkDerivation {
pname = "MAKEDEV";
path = "etc";
patches = [ ./bash.patch ];
extraNativeBuildInputs = [
m4
];
preBuild = ''
mkdir -p $out/share/doc
'';
buildTargets = [ "MAKEDEV" ];
# patch some build artifacts
# gnu m4 doesn't seem to recognize the expr() macro but it's only used for simple arithmetic so we convert it to bash
postBuild = ''
substituteInPlace etc.$TARGET_MACHINE_ARCH/MAKEDEV --replace-fail "/bin/sh -" "${runtimeShell}"
sed -E -i -e '/^PATH=.*/d' -e 's/expr\((.*)\)/$((\1))/g' etc.$TARGET_MACHINE_ARCH/MAKEDEV
'';
# The install procedure is also weird since this is supposed to live in /dev
postInstall = ''
mkdir -p $out/bin
cp etc.$TARGET_MACHINE_ARCH/MAKEDEV $out/bin
chmod +x $out/bin/MAKEDEV
'';
meta.mainProgram = "MAKEDEV";
}
@@ -1,14 +1,9 @@
{
mkDerivation,
libkvm,
}:
mkDerivation {
path = "usr.bin/pkill";
buildInputs = [
libkvm
];
postPatch = ''
sed -i /DPADD/d $BSDSRCDIR/usr.bin/pkill/Makefile
'';
+1 -2
View File
@@ -1,8 +1,7 @@
{ mkDerivation, libkvm }:
{ mkDerivation }:
mkDerivation {
path = "bin/ps";
buildInputs = [ libkvm ];
postPatch = ''
sed -i /DPADD/d $BSDSRCDIR/bin/ps/Makefile
'';
@@ -0,0 +1,146 @@
OpenBSD's rc is supremely, supremely uncooperative when it comes to
customization and configuration, providing exactly two places to inject
services (pkg_scripts from rc.conf and /etc/rc.local), which are very much not
useful for configuring more intimate parts of the boot process. This patch
pulls the scripts to start at various injection points from /etc/rc.order. It
also removes some of the parts of the boot script which are inappropriate for a
nix-based system, for example, re-linking code objects and setting PATH.
diff --git a/etc/rc b/etc/rc
index 9d87fac8caf..581c1e3f4ab 100644
--- a/etc/rc
+++ b/etc/rc
@@ -9,6 +9,10 @@ set +o sh
# Subroutines (have to come first).
+daemon_phase() {
+ . /etc/rc.order/$1
+}
+
# Strip in- and whole-line comments from a file.
# Strip leading and trailing whitespace if IFS is set.
# Usage: stripcom /path/to/file
@@ -337,7 +341,6 @@ trap : 3 # Shouldn't be needed.
export HOME=/
export INRC=1
-export PATH=/sbin:/bin:/usr/sbin:/usr/bin
# /etc/myname contains my symbolic name.
if [[ -f /etc/myname ]]; then
@@ -413,17 +416,12 @@ fi
# From now on, allow user to interrupt (^C) the boot process.
trap "echo 'Boot interrupted.'; exit 1" 3
-# Unmount all filesystems except root.
-umount -a >/dev/null 2>&1
-
# Mount all filesystems except those of type NFS and VND.
mount -a -t nonfs,vnd
# Re-mount the root filesystem read/writeable. (root on nfs requires this,
# others aren't hurt.)
mount -uw /
-chmod og-rwx /bsd
-ln -fh /bsd /bsd.booted
rm -f /fastboot
@@ -483,9 +481,9 @@ mount -s /var >/dev/null 2>&1 # cannot be on NFS
mount -s /var/log >/dev/null 2>&1 # cannot be on NFS
mount -s /usr >/dev/null 2>&1 # if NFS, fstab must use IP address
-reorder_libs 2>&1 |&
+daemon_phase 10
-start_daemon slaacd dhcpleased resolvd >/dev/null 2>&1
+daemon_phase 20
echo 'starting network'
@@ -495,12 +493,10 @@ ifconfig -g carp carpdemote 128
sh /etc/netstart
-start_daemon unwind >/dev/null 2>&1
+daemon_phase 30
random_seed
-wait_reorder_libs
-
# Load pf rules and bring up pfsync interface.
if [[ $pf != NO ]]; then
if [[ -f /etc/pf.conf ]]; then
@@ -522,8 +518,7 @@ dmesg >/var/run/dmesg.boot
make_keys
echo -n 'starting early daemons:'
-start_daemon syslogd ldattach pflogd nsd unbound ntpd
-start_daemon iscsid isakmpd iked sasyncd ldapd npppd
+daemon_phase 40
echo '.'
# Load IPsec rules.
@@ -532,11 +527,7 @@ if [[ $ipsec != NO && -f /etc/ipsec.conf ]]; then
fi
echo -n 'starting RPC daemons:'
-start_daemon portmap
-if [[ -n $(domainname) ]]; then
- start_daemon ypldap ypserv ypbind
-fi
-start_daemon mountd nfsd lockd statd amd
+daemon_phase 50
echo '.'
# Check and mount remaining file systems and enable additional swap.
@@ -626,43 +617,24 @@ echo 'preserving editor files.'; /usr/libexec/vi.recover
run_upgrade_script sysmerge
echo -n 'starting network daemons:'
-start_daemon ldomd sshd snmpd ldpd ripd ospfd ospf6d bgpd ifstated
-start_daemon relayd dhcpd dhcrelay mrouted dvmrpd radiusd eigrpd route6d
-start_daemon rad hostapd lpd smtpd slowcgi bgplgd httpd ftpd
-start_daemon ftpproxy ftpproxy6 tftpd tftpproxy identd inetd rarpd bootparamd
-start_daemon rbootd mopd vmd spamd spamlogd sndiod
+daemon_phase 60
echo '.'
# If rc.firsttime exists, run it just once, and make sure it is deleted.
run_upgrade_script firsttime
-# Run rc.d(8) scripts from packages.
-if [[ -n $pkg_scripts ]]; then
- echo -n 'starting package daemons:'
- for _daemon in $pkg_scripts; do
- if [[ -x /etc/rc.d/$_daemon ]]; then
- start_daemon $_daemon
- else
- echo -n " ${_daemon}(absent)"
- fi
- done
- echo '.'
-fi
-
[[ -f /etc/rc.local ]] && sh /etc/rc.local
+daemon_phase 70
+
# Disable carp interlock.
ifconfig -g carp -carpdemote 128
mixerctl_conf
echo -n 'starting local daemons:'
-start_daemon apmd sensorsd hotplugd watchdogd cron wsmoused xenodm
+daemon_phase 80
echo '.'
-# Re-link the kernel, placing the objects in a random order.
-# Replace current with relinked kernel and inform root about it.
-/usr/libexec/reorder_kernel &
-
date
exit 0
@@ -0,0 +1,18 @@
{
mkDerivation,
}:
mkDerivation {
pname = "rc";
path = "etc";
patches = [ ./boot-phases.patch ];
buildPhase = ":";
installPhase = ''
mkdir -p $out/etc/rc.d
cp rc $out/etc
cp rc.d/rc.subr $out/etc/rc.d
chmod +x $out/etc/rc
'';
}
@@ -0,0 +1,4 @@
{ mkDerivation }:
mkDerivation {
path = "sbin/reboot";
}
+12 -3
View File
@@ -1,8 +1,17 @@
{ mkDerivation }:
{
mkDerivation,
reboot,
wall,
}:
mkDerivation {
path = "sbin/shutdown";
preBuild = ''
sed -i 's/4550/0550/' Makefile
postPatch = ''
sed -i 's/4550/0550/' $BSDSRCDIR/sbin/shutdown/Makefile
substituteInPlace $BSDSRCDIR/sbin/shutdown/pathnames.h \
--replace-fail /sbin/halt ${reboot}/bin/halt \
--replace-fail /sbin/reboot ${reboot}/bin/reboot \
--replace-fail /usr/bin/wall ${wall}/bin/wall
'';
}
+1 -2
View File
@@ -1,8 +1,7 @@
{ mkDerivation, libkvm }:
{ mkDerivation }:
mkDerivation {
path = "usr.bin/vmstat";
buildInputs = [ libkvm ];
postPatch = ''
sed -i /DPADD/d $BSDSRCDIR/usr.bin/vmstat/Makefile
'';
@@ -0,0 +1,9 @@
{ mkDerivation }:
mkDerivation {
path = "usr.bin/wall";
postPatch = ''
sed -i /BINMODE/d $BSDSRCDIR/usr.bin/wall/Makefile
sed -i /BINGRP/d $BSDSRCDIR/usr.bin/wall/Makefile
'';
}
+5
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
autoreconfHook,
enableStatic ? stdenv.hostPlatform.isStatic,
writeScript,
testers,
@@ -37,6 +38,10 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
doCheck = true;
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isOpenBSD [
autoreconfHook
];
# this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion
# necessary for FreeBSD code path in configure
postPatch = ''
+1
View File
@@ -142,6 +142,7 @@ mapAliases ({
cx_Freeze = cx-freeze; # added 2023-08-02
cx_oracle = cx-oracle; # added 2024-01-03
d2to1 = throw "d2to1 is archived and no longer works with setuptools v68"; # added 2023-07-30
dask-expr = throw "dask-expr was removed because its features are available in dask"; # added 2025-02-07
dask-xgboost = throw "dask-xgboost was removed because its features are available in xgboost"; # added 2022-05-24
dash-renderer = throw "dash-renderer has been removed since it is abandoned"; # added 2025-01-01
dateutil = python-dateutil; # added 2021-07-03
+2 -2
View File
@@ -2961,8 +2961,6 @@ self: super: with self; {
dask-awkward = callPackage ../development/python-modules/dask-awkward { };
dask-expr = callPackage ../development/python-modules/dask-expr { };
dask-gateway = callPackage ../development/python-modules/dask-gateway { };
dask-gateway-server = callPackage ../development/python-modules/dask-gateway-server { };
@@ -9747,6 +9745,8 @@ self: super: with self; {
open-garage = callPackage ../development/python-modules/open-garage { };
open-hypergraphs = callPackage ../development/python-modules/open-hypergraphs { };
open-interpreter = callPackage ../development/python-modules/open-interpreter { };
open-meteo = callPackage ../development/python-modules/open-meteo { };