push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
{
lib,
fetchPypi,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "uv-sort";
version = "0.6.1";
pyproject = true;
# Build from GitHub does not work. Use fetchPypi instead of fetchFromGitHub.
# See https://github.com/NixOS/nixpkgs/pull/388382#issuecomment-2708857805
src = fetchPypi {
pname = "uv_sort";
inherit version;
hash = "sha256-ovOCiu22ClSheWDsPBAx5s+LcR5jIQFqb1Dm0wpEKGU=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '"packaging~=24.1"' '"packaging"'
'';
build-system = with python3Packages; [
hatchling
uv-dynamic-versioning
];
dependencies = with python3Packages; [
packaging
tomlkit
typer
];
nativeCheckInputs = [
python3Packages.pytestCheckHook
];
meta = {
description = "Sort uv's dependencies alphabetically";
homepage = "https://github.com/ninoseki/uv-sort";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aaronjheng ];
mainProgram = "uv-sort";
};
}

View File

@@ -0,0 +1,101 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
# buildInputs
rust-jemalloc-sys,
# nativeBuildInputs
installShellFiles,
buildPackages,
versionCheckHook,
python3Packages,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "uv";
version = "0.8.19";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
tag = finalAttrs.version;
hash = "sha256-TbCkkZQoRItBmzwn7B8JbXWs72lYiqWV5mOfkvRarsg=";
};
cargoHash = "sha256-09A40qwbRex8WEgCFC2yRZoq+6UnxurJAX8e27G+Rhg=";
buildInputs = [
rust-jemalloc-sys
];
nativeBuildInputs = [ installShellFiles ];
cargoBuildFlags = [
"--package"
"uv"
];
# Tests require python3
doCheck = false;
postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) (
let
emulator = stdenv.hostPlatform.emulator buildPackages;
in
''
installShellCompletion --cmd uv \
--bash <(${emulator} $out/bin/uv generate-shell-completion bash) \
--fish <(${emulator} $out/bin/uv generate-shell-completion fish) \
--zsh <(${emulator} $out/bin/uv generate-shell-completion zsh)
''
);
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
tests.uv-python = python3Packages.uv;
# Updating `uv` needs to be done on staging. Disabling r-ryantm update bot:
# nixpkgs-update: no auto update
updateScript = nix-update-script { };
};
meta = {
description = "Extremely fast Python package installer and resolver, written in Rust";
longDescription = ''
`uv` manages project dependencies and environments, with support for lockfiles, workspaces, and more.
Due to `uv`'s (over)eager fetching of dynamically-linked Python executables,
as well as vendoring of dynamically-linked libraries within Python modules distributed via PyPI,
NixOS users can run into issues when managing Python projects.
See the Nixpkgs Reference Manual entry for `uv` for information on how to mitigate these issues:
https://nixos.org/manual/nixpkgs/unstable/#sec-uv.
For building Python projects with `uv` and Nix outside of nixpkgs, check out `uv2nix` at https://github.com/pyproject-nix/uv2nix.
'';
homepage = "https://github.com/astral-sh/uv";
changelog = "https://github.com/astral-sh/uv/blob/${finalAttrs.version}/CHANGELOG.md";
license = with lib.licenses; [
asl20
mit
];
maintainers = with lib.maintainers; [
bengsparks
GaetanLepage
prince213
];
mainProgram = "uv";
# Builds on 32-bit platforms fails with "out of memory" since at least 0.8.6.
# We don't place this in `badPlatforms` because cross-compilation on 64-bit
# machine may work, e.g. `pkgsCross.gnu32.uv`.
broken = stdenv.buildPlatform.is32bit;
};
})

View File

@@ -0,0 +1,57 @@
{
lib,
stdenv,
fetchurl,
libjpeg,
}:
let
debianPatches = fetchurl {
url = "mirror://debian/pool/main/u/uvccapture/uvccapture_0.5-3.debian.tar.gz";
sha256 = "0m29by13nw1r8sch366qzdxg5rsd1k766kqg1nj2pdb8f7pwjh9r";
};
in
stdenv.mkDerivation rec {
pname = "uvccapture";
version = "0.5";
src = fetchurl {
url = "mirror://debian/pool/main/u/uvccapture/uvccapture_${version}.orig.tar.gz";
sha256 = "1b3akkcmr3brbf93akr8xi20w8zqf2g0qfq928500wy04qi6jqpi";
};
buildInputs = [ libjpeg ];
patchPhase = ''
tar xvf "${debianPatches}"
for fname in debian/patches/fix_videodev_include_FTBFS.patch \
debian/patches/warnings.patch \
debian/patches/numbuffers.patch
do
echo "Applying patch $fname"
patch < "$fname"
done
'';
makeFlags = [ "PREFIX=$(out)/bin/" ];
preInstall = ''
mkdir -p "$out/bin"
'';
# Upstream has no man page, install one from Debian
postInstall = ''
mkdir -p "$out/share/man/man1"
cp -v debian/uvccapture.1 "$out/share/man/man1/"
'';
meta = with lib; {
description = "Capture image from USB webcam at a specified interval";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
mainProgram = "uvccapture";
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
libxml2,
udevCheckHook,
}:
stdenv.mkDerivation {
version = "0.3.0";
pname = "uvcdynctrl";
src = fetchFromGitHub {
owner = "cshorler";
repo = "webcam-tools";
rev = "bee2ef3c9e350fd859f08cd0e6745871e5f55cb9";
sha256 = "0s15xxgdx8lnka7vi8llbf6b0j4rhbjl6yp0qxaihysf890xj73s";
};
nativeBuildInputs = [
cmake
pkg-config
udevCheckHook
];
buildInputs = [ libxml2 ];
prePatch = ''
local fixup_list=(
uvcdynctrl/CMakeLists.txt
uvcdynctrl/udev/rules/80-uvcdynctrl.rules
uvcdynctrl/udev/scripts/uvcdynctrl
)
for f in "''${fixup_list[@]}"; do
substituteInPlace "$f" \
--replace "/etc/udev" "$out/etc/udev" \
--replace "/lib/udev" "$out/lib/udev"
done
'';
doInstallCheck = true;
meta = with lib; {
description = "Simple interface for devices supported by the linux UVC driver";
homepage = "https://guvcview.sourceforge.net";
license = licenses.gpl3Plus;
maintainers = [ maintainers.puffnfresh ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
cmake,
fetchFromGitHub,
fetchpatch2,
libuv,
nix-update-script,
stdenv,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "uvwasi";
version = "0.0.23";
src = fetchFromGitHub {
owner = "nodejs";
repo = "uvwasi";
tag = "v${finalAttrs.version}";
hash = "sha256-+vz/qTMRRDHV1VE4nny9vYYtarZHk1xoM4EZiah3jnY=";
};
outputs = [
"out"
];
nativeBuildInputs = [
cmake
];
buildInputs = [
libuv
];
passthru = {
updateScript = nix-update-script { };
tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
moduleNames = [ "uvwasi" ];
};
};
meta = {
description = "WASI syscall API built atop libuv";
homepage = "https://github.com/nodejs/uvwasi";
changelog = "https://github.com/nodejs/uvwasi/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aduh95 ];
platforms = lib.platforms.all;
};
})