Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-09-19 00:02:18 +00:00 committed by GitHub
commit e68e375a72
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
84 changed files with 395 additions and 666 deletions

View file

@ -1,5 +1,4 @@
{
stdenv
{ stdenv
, fetchFromGitHub
, fetchurl
, cmake
@ -28,11 +27,11 @@
stdenv.mkDerivation rec {
pname = "cardinal";
version = "23.07";
version = "23.09";
src = fetchurl {
url = "https://github.com/DISTRHO/Cardinal/releases/download/${version}/cardinal+deps-${version}.tar.xz";
hash = "sha256-Ng2E6ML9lffmdGgn9piIF3ko4uvV/uLDb3d7ytrfcLU=";
hash = "sha256-q42ry47y4tTkUbejv6iN5jXcadXSSTPQ3omhMUevfqU=";
};
prePatch = ''
@ -87,7 +86,7 @@ stdenv.mkDerivation rec {
description = "Plugin wrapper around VCV Rack";
homepage = "https://github.com/DISTRHO/cardinal";
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
maintainers = with lib.maintainers; [ magnetophon PowerUser64 ];
mainProgram = "Cardinal";
platforms = lib.platforms.all;
# never built on aarch64-darwin, x86_64-darwin since first introduction in nixpkgs

View file

@ -28,22 +28,22 @@
, rnnoise
, rubberband
, speexdsp
, soundtouch
, tbb
, wrapGAppsHook4
, zam-plugins
, zita-convolver
, soundtouch
}:
stdenv.mkDerivation rec {
pname = "easyeffects";
version = "7.0.5";
version = "7.1.0";
src = fetchFromGitHub {
owner = "wwmm";
repo = "easyeffects";
rev = "v${version}";
hash = "sha256-Z/0O8dVZ3J901OdOc1wF1XibNE/33b8oSqY6RKPDfzg=";
hash = "sha256-TuVW2KBJciuFVdduzfFepGOa+UY9+sXRN1gWhfDvXgw=";
};
nativeBuildInputs = [

View file

@ -4,13 +4,13 @@
, cmake
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
version = "10.22";
pname = "monkeys-audio";
src = fetchzip {
url = "https://monkeysaudio.com/files/MAC_${
builtins.concatStringsSep "" (lib.strings.splitString "." version)}_SDK.zip";
builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
sha256 = "sha256-JmDH9IudtuJdu1kSDI1RNaYiIgmPgH4RT2Myz9ihQH4=";
stripRoot = false;
};
@ -21,10 +21,11 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "APE codec and decompressor";
platforms = platforms.linux;
mainProgram = "mac";
# This is not considered a GPL license, but it seems rather free although
# it's not standard, see a quote of it:
# https://github.com/NixOS/nixpkgs/pull/171682#issuecomment-1120260551
license = licenses.free;
maintainers = with maintainers; [ doronbehar ];
};
}
})

View file

@ -22,6 +22,7 @@ stdenvNoCC.mkDerivation {
inherit pname meta src version plugins;
passthru.buildNumber = buildNumber;
desktopName = product;
dontFixup = true;
installPhase = ''
runHook preInstall
APP_DIR="$out/Applications/${product}.app"

View file

@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, python3Packages, file, less, highlight, w3m
{ lib, fetchFromGitHub, python3Packages, file, less, highlight, w3m, ranger, testers
, imagePreviewSupport ? true
, neoVimSupport ? true
, improvedEncodingDetection ? true
@ -49,6 +49,10 @@ python3Packages.buildPythonApplication rec {
--replace "set preview_images false" "set preview_images true"
'';
passthru.tests.version = testers.testVersion {
package = ranger;
};
meta = with lib; {
description = "File manager with minimalistic curses interface";
homepage = "https://ranger.github.io/";

View file

@ -4,11 +4,11 @@
lib,
}: let
pname = "upscayl";
version = "2.7.5";
version = "2.8.1";
src = fetchurl {
url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
hash = "sha256-vJDpwf/N3rk5Bd9hBNpoNtlIAgn+Y77MF231ZOhLNeI=";
hash = "sha256-gmFT6onuoaw9WDCUDImZM/AxuZECqPC73ZyNnp6WSGA=";
};
appimageContents = appimageTools.extractType2 {

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchzip, autoPatchelfHook, installShellFiles, cpio, xar }:
{ lib, stdenv, fetchurl, fetchzip, autoPatchelfHook, installShellFiles, cpio, xar, _1password, testers }:
let
inherit (stdenv.hostPlatform) system;
@ -63,6 +63,10 @@ stdenv.mkDerivation {
$out/bin/${mainProgram} --version
'';
passthru.tests.version = testers.testVersion {
package = _1password;
};
meta = with lib; {
description = "1Password command-line tool";
homepage = "https://developer.1password.com/docs/cli/";

View file

@ -11,13 +11,13 @@
buildDotnetModule rec {
pname = "ArchiSteamFarm";
# nixpkgs-update: no auto update
version = "5.4.8.3";
version = "5.4.9.3";
src = fetchFromGitHub {
owner = "JustArchiNET";
repo = "ArchiSteamFarm";
rev = version;
hash = "sha256-ySiN5iPs+EtgzPJJpKvD7BR3Z2xa4HLnTEtqroW478w=";
hash = "sha256-Yp8hnMIeV+ZHY6yISJdFd1yAQipQsU5vcXgxFDvkGnA=";
};
dotnet-runtime = dotnetCorePackages.aspnetcore_7_0;

View file

@ -57,11 +57,11 @@
(fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.14.1"; sha256 = "0zn99311zfn602phxyskfjq9vly0w5712z6fly8r4q0h94qa8c85"; })
(fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.14.1"; sha256 = "0qxjnbdj645l5sd6y3100yyrq1jy5misswg6xcch06x8jv7zaw1p"; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "2023.2.0"; sha256 = "0nx7nrzbg9gk9skdc9x330cbr5xbsly6z9gzxm46vywf55yp8vaj"; })
(fetchNuGet { pname = "Markdig.Signed"; version = "0.31.0"; sha256 = "1amf0yp5fqdkrr2r6nscpw1h1r3gghhxbczk6j255smdhhy0dzv9"; })
(fetchNuGet { pname = "Markdig.Signed"; version = "0.32.0"; sha256 = "0rc1d8pwypq44pr15wn8g52zbqz70swdrdmjlzccf6zvwy1vyqkc"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "7.0.0"; sha256 = "1f13vsfs1rp9bmdp3khk4mk2fif932d72yxm2wszpsr239x4s2bf"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "7.0.0"; sha256 = "1w49rg0n5wb1m5wnays2mmym7qy7bsi2b1zxz97af2rkbw3s3hbd"; })
(fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.6.3"; sha256 = "1xxzd2yxlbq2h4k6flp7lvffmmwrjlyha2z1yvrxxymiyyggk2zg"; })
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.7.0"; sha256 = "12m9fay2d7jvj00hfpws37vflpqvz4dy4gcm25bjycg1zyfpzvly"; })
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
(fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; })
@ -71,11 +71,11 @@
(fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.0"; sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0"; })
(fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "6.0.0"; sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g"; })
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.6.3"; sha256 = "1f2b9ljc3l6lk2qq3ps6pzb5r4dvqvs9j1xav8kj2yy52i2dbz7r"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.7.0"; sha256 = "1srhqqmnf9pxdbpffr7dh0bihhf09d0iq5g6gh8ql7brfrh99lvb"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.6.3"; sha256 = "0czzs36ybgipn9bga2swkdd653vh0wvs5hsi2lgykhblimdmb947"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.6.3"; sha256 = "0yi0n8jxf4l6v8bscgi8ws9zf5i84213pf1qj5d7nwx4jb05m23l"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.7.0"; sha256 = "1sqmk99644fx66zk2qa2ims1zl6741i3wl4rjh4z6jakd4xbc28i"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.7.0"; sha256 = "1s8ap0ljqssbqp1ilgsidjr948b9szf1cbl3fgl6smxig9im4zrl"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
(fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.1.1"; sha256 = "0y3ic8jv5jhld6gan2qfa2wyk4z57f7y4y5a47njr0jvxxnarg2c"; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.1.1"; sha256 = "1lbgkrbrkmw4c54g61cwbmwc4zl8hyqmp283ymvj93lq7chbxasn"; })
@ -86,9 +86,9 @@
(fetchNuGet { pname = "Nito.AsyncEx.Tasks"; version = "5.1.2"; sha256 = "11wp47kc69sjdxrbg5pgx0wlffqlp0x5kr54ggnz2v19kmjz362v"; })
(fetchNuGet { pname = "Nito.Collections.Deque"; version = "1.1.1"; sha256 = "152564q3s0n5swfv5p5rx0ghn2sm0g2xsnbd7gv8vb9yfklv7yg8"; })
(fetchNuGet { pname = "Nito.Disposables"; version = "2.2.1"; sha256 = "1hx5k8497j34kxxgh060bvij0vfnraw90dmm3h9bmamcdi8wp80l"; })
(fetchNuGet { pname = "NLog"; version = "5.2.2"; sha256 = "1r3r2sm97lirfd4sb8vhshl8iy9pg006glrgagapxhrh5kapn44g"; })
(fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.2"; sha256 = "1ixfyx1pg5j7id6kr3blxpbffmzhw9944ha1k6bp8l41rzcny4z8"; })
(fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.2"; sha256 = "0251bi5fwqx1vvndw604lsgmhaq1sn74kfmpn5i3nr2j7rs5lyax"; })
(fetchNuGet { pname = "NLog"; version = "5.2.3"; sha256 = "0srai3s2kk9y2jimdvw1xw86nch38q6nza598dpr81dghx3s6j6w"; })
(fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.3"; sha256 = "0j19fljxbcc0bysmj7i0fmiax6sp5kjapf2llkimv7dh63rj9ckg"; })
(fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.3"; sha256 = "0rhha2lwrzwlx0q1a8w9ph9xwayl3kmmy200ygsghcd02srlazkj"; })
(fetchNuGet { pname = "NuGet.Frameworks"; version = "6.5.0"; sha256 = "0s37d1p4md0k6d4cy6sq36f2dgkd9qfbzapxhkvi8awwh0vrynhj"; })
(fetchNuGet { pname = "protobuf-net"; version = "3.2.16"; sha256 = "0pwlqlq2p8my2sr8b0cvdav5cm8wpwf3s4gy7s1ba701ac2zyb9y"; })
(fetchNuGet { pname = "protobuf-net.Core"; version = "3.2.16"; sha256 = "00znhikq7valr3jaxg66cwli9hf75wkmmpf6rf8p790hf8lxq0c5"; })

View file

@ -9,11 +9,11 @@ buildNpmPackage {
repo = "ASF-ui";
# updated by the update script
# this is always the commit that should be used with asf-ui from the latest asf version
rev = "578e8eacf9eb0367d864ed741017dce23415c1be";
hash = "sha256-It76gyrTPiZFEj9aSFKwAsj2jhV3zacJS8CNl4sr7OU=";
rev = "0b812a7ab0d2f01a675d27f80008ad7b6972b4aa";
hash = "sha256-ut0x/qT3DyDASW4QbNT+BF6eXHCIbTol5E+3+tirFDA=";
};
npmDepsHash = "sha256-7404OPGhF7bgdvtyfLM/7zRXGUWPr2RLUCzeaHcCj0A=";
npmDepsHash = "sha256-HpBEoAIGejpHJnUciz4iWILcXdgpw7X1xFuXmx9Z9dw=";
installPhase = ''
runHook preInstall

View file

@ -17,12 +17,17 @@ stdenv.mkDerivation rec {
desktopItems = [
(makeDesktopItem {
name = "gpsprune";
exec = "gpsprune";
exec = "gpsprune %F";
icon = "gpsprune";
desktopName = "GpsPrune";
genericName = "GPS Data Editor";
comment = meta.description;
categories = [ "Education" "Geoscience" ];
mimeTypes = [
"application/gpx+xml"
"application/vnd.google-earth.kml+xml"
"application/vnd.google-earth.kmz"
];
})
];

View file

@ -23,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "pot";
version = "2.3.0";
version = "2.4.2";
src = fetchFromGitHub {
owner = "pot-app";
repo = "pot-desktop";
rev = version;
hash = "sha256-KVrm7KEpIIahd/QU1HUJ2VkfECttcY5pRCHsYHS5svM=";
hash = "sha256-n12uO5QbD/HgD5Rq5d+TQ8j8Gn5hl6wTi27TqFmunIM=";
};
sourceRoot = "${src.name}/src-tauri";
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
dontFixup = true;
outputHashMode = "recursive";
outputHash = "sha256-iHFzv8dMC0TT6PtMJmL0EufZ8TnbyjmsoBH3Z8U48D0=";
outputHash = "sha256-/5bB4czTPS3ZM9f7NBIHbwd95BqY2dRwKaBOWVsef04=";
};
cargoDeps = rustPlatform.importCargoLock {

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "argo-rollouts";
version = "1.5.1";
version = "1.6.0";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-rollouts";
rev = "v${version}";
sha256 = "sha256-ODcT7dc4xBHOKYTP2pUTq2z3GMUEpZ9OUKKxlbd+Vvk=";
sha256 = "sha256-WJ5vIfQQguwjInS5p+bUYorM90MUAbH8endV/nkgQ00=";
};
vendorHash = "sha256-IxSLlRsOz/Xamguxm+7jy8qAAEZZFm/NHDIBjm5tnCs=";
vendorHash = "sha256-vBSS1KMfloK5pvVc8nHE5B8PsVZTS/iA9GyrLaeR6ps=";
# Disable tests since some test fail because of missing test data
doCheck = false;

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubectl-gadget";
version = "0.19.0";
version = "0.20.0";
src = fetchFromGitHub {
owner = "inspektor-gadget";
repo = "inspektor-gadget";
rev = "v${version}";
hash = "sha256-5FbjD02HsMChaMMvTjsB/hzivO4s1H5tLK1QMIMlBCI=";
hash = "sha256-cwzxjK278xMqXwMQLhRhXWR2HhCKYOBMAiM4Y1B7Etk=";
};
vendorHash = "sha256-Beas+oXcK5i4ibE5EAa9+avYuax/kr3op1xbtMPJMas=";
vendorHash = "sha256-lBOZe74SWMv+z3quIx8NEK6lqygiQAbiU4AvzuXcOKg=";
CGO_ENABLED = 0;

View file

@ -1,21 +1,21 @@
{ lib
, buildGoModule
, buildGo121Module
, fetchFromGitHub
, installShellFiles
}:
buildGoModule rec {
buildGo121Module rec {
pname = "timoni";
version = "0.12.1";
version = "0.13.1";
src = fetchFromGitHub {
owner = "stefanprodan";
repo = "timoni";
rev = "v${version}";
hash = "sha256-GILJAaid1kSO9281HQx7NI+mjmyJbTYTkwhvX4V/Idc=";
hash = "sha256-fuDc9EMSjBE0DiZ+OiuRXTRlxnO4/2yxkDsdKpVdg5w=";
};
vendorHash = "sha256-nGYAk9dwQ/+3SmNqGzbpptqBDAO/vNT9jhlcJf4y8jg=";
vendorHash = "sha256-RdfFesMgQU+Iezg9tE3RJ0Tk6jjIWY+ByJoKqUVWHwA=";
subPackages = [ "cmd/timoni" ];
nativeBuildInputs = [ installShellFiles ];

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "dnscontrol";
version = "4.3.0";
version = "4.4.0";
src = fetchFromGitHub {
owner = "StackExchange";
repo = pname;
rev = "v${version}";
sha256 = "sha256-poLRt/T7BGzcIBjBcm943XnSurO3DJOx2QyqjDcqNRo=";
sha256 = "sha256-OxZH8dUl7PEzcan9Jl1rwPpP0+pj4jzLydEQfxxWM+o=";
};
vendorHash = "sha256-3xT5WPBcEclXad8zBA+T7/M6fDmfMWljV8NuxvtvTsA=";
vendorHash = "sha256-3aGdn6Gp+N/a+o9dl4h0oIOnYhtu4oZuBF6X/HKjQOI=";
subPackages = [ "." ];

View file

@ -4,11 +4,11 @@ let
in
stdenv.mkDerivation rec {
pname = "rocketchat-desktop";
version = "3.8.11";
version = "3.9.7";
src = fetchurl {
url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat-${version}-linux-amd64.deb";
sha256 = "sha256-gRMoLzCAXByLVtzYAZnhmbgbfsav6CkbP3ZE0NDdlMw=";
hash = "sha256-DxY8cXWHBboH6Uh2i9DSJ2F8/OaGTRlIEaLzhQpXnKk=";
};
nativeBuildInputs = [

View file

@ -9,14 +9,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "todoman";
version = "4.3.1";
version = "4.3.2";
format = "pyproject";
src = fetchFromGitHub {
owner = "pimutils";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-pa1zzu0ITJObzhSmohjgiGTCoautXrY+SQQ3hxEtQcE=";
hash = "sha256-dxyI9ypZZBouTUF72wzvi7j+CeoQ9JNSiXrVeV7ForY=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
@ -92,7 +92,7 @@ python3.pkgs.buildPythonApplication rec {
'';
changelog = "https://github.com/pimutils/todoman/raw/v${version}/CHANGELOG.rst";
license = licenses.isc;
maintainers = with maintainers; [ leenaars ];
maintainers = with maintainers; [ leenaars antonmosich ];
mainProgram = "todo";
};
}

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation {
pname = "kvmtool";
version = "unstable-2023-04-06";
version = "unstable-2023-07-12";
src = fetchgit {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git";
rev = "77b108c6a6f1c66fb7f60a80d17596bb80bda8ad";
sha256 = "sha256-wPhqjVpc6I9UOdb6lmzGh797sdvJ5q4dap2ssg8OY5E=";
rev = "106e2ea7756d980454d68631b87d5e25ba4e4881";
sha256 = "sha256-wpc5DfHnui0lBVH4uOq6a7pXVUZStjNLRvauu6QpRvE=";
};
buildInputs = lib.optionals stdenv.hostPlatform.isAarch64 [ dtc ];
@ -27,8 +27,8 @@ stdenv.mkDerivation {
description = "A lightweight tool for hosting KVM guests";
homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git/tree/README";
license = licenses.gpl2Only;
maintainers = with maintainers; [ astro ];
maintainers = with maintainers; [ astro mfrw ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = "nvramtool";
mainProgram = "lkvm";
};
}

View file

@ -0,0 +1,38 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, libnfc
, xz
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mfoc-hardnested";
version = "unstable-2023-03-27";
src = fetchFromGitHub {
owner = "nfc-tools";
repo = finalAttrs.pname;
rev = "a6007437405a0f18642a4bbca2eeba67c623d736";
hash = "sha256-YcUMS4wx5ML4yYiARyfm7T7nLomgG9YCSFj+ZUg5XZk=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
libnfc
xz
];
meta = with lib; {
description = "A fork of mfoc integrating hardnested code from the proxmark";
license = licenses.gpl2;
homepage = "https://github.com/nfc-tools/mfoc-hardnested";
maintainers = with maintainers; [ azuwis ];
platforms = platforms.unix;
};
})

View file

@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation {
pname = "lunarml";
version = "unstable-2023-08-25";
version = "unstable-2023-09-16";
src = fetchFromGitHub {
owner = "minoki";
repo = "LunarML";
rev = "69d09b47601f4041ca7e8a513c75f3e4835af9dd";
sha256 = "sha256-GXUcWI4/akOKIvCHrsOfceZEdyNZdIdalTc6wX+svS4=";
rev = "0fe97ebed71d6aa24c9e80436d45af1b3ef6abd3";
sha256 = "KSLQva4Lv+hZWrx2cMbLOj82ldodiGn/9j8ksB1FN+s=";
};
outputs = [ "out" "doc" ];

View file

@ -13,6 +13,7 @@
, substituteAll
, which
, z3
, darwin
}:
stdenv.mkDerivation (rec {
@ -34,7 +35,8 @@ stdenv.mkDerivation (rec {
hash = "sha256-pUW9YVaujs/y00/SiPqDgK4wvVsaM7QUp/65k0t7Yr0=";
};
nativeBuildInputs = [ cmake makeWrapper which python3 ];
nativeBuildInputs = [ cmake makeWrapper which python3 ]
++ lib.optionals (stdenv.isDarwin) [ darwin.cctools ];
buildInputs = [ libxml2 z3 ];
# Sandbox disallows network access, so disabling problematic networking tests
@ -50,6 +52,11 @@ stdenv.mkDerivation (rec {
hash = "sha256-/FWBSxZESwj/QvdNK5BI2EfonT64DP1eGBZR4O8uJww=";
};
})
] ++ lib.optionals stdenv.isDarwin [
(substituteAll {
src = ./fix-darwin-build.patch;
libSystem = darwin.Libsystem;
})
];
postUnpack = ''
@ -81,7 +88,8 @@ stdenv.mkDerivation (rec {
env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=redundant-move" "-Wno-error=implicit-fallthrough" ];
doCheck = true;
# make: *** [Makefile:222: test-full-programs-release] Killed: 9
doCheck = !stdenv.isDarwin;
installPhase = "make config=release prefix=$out "
+ lib.optionalString stdenv.isDarwin ("bits=64 " + (lib.optionalString (!lto) "lto=no "))
@ -102,6 +110,6 @@ stdenv.mkDerivation (rec {
homepage = "https://www.ponylang.org";
license = licenses.bsd2;
maintainers = with maintainers; [ kamilchm patternspandemic redvers ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
};
})

View file

@ -0,0 +1,22 @@
diff --git a/src/libponyc/codegen/genexe.c b/src/libponyc/codegen/genexe.c
index 42a68251..b37958ab 100644
--- a/src/libponyc/codegen/genexe.c
+++ b/src/libponyc/codegen/genexe.c
@@ -296,13 +296,13 @@ static bool link_exe(compile_t* c, ast_t* program,
snprintf(ld_cmd, ld_len,
#if defined(PLATFORM_IS_ARM)
- "%s -execute -arch %.*s "
+ "%s -execute "
#else
- "%s -execute -no_pie -arch %.*s "
+ "%s -execute -no_pie "
#endif
"-o %s %s %s %s "
- "-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -lSystem %s",
- linker, (int)arch_len, c->opt->triple, file_exe, file_o,
+ "-L@libSystem@/lib -lSystem %s",
+ linker, file_exe, file_o,
lib_args, ponyrt, sanitizer_arg
);

View file

@ -1,23 +1,23 @@
{ lib
, buildGoModule
, buildGo121Module
, fetchFromGitHub
, testers
, risor
}:
buildGoModule rec {
buildGo121Module rec {
pname = "risor";
version = "0.17.0";
version = "1.1.1";
src = fetchFromGitHub {
owner = "risor-io";
repo = "risor";
rev = "v${version}";
hash = "sha256-/7jUz2180m+YVyE9z4UKOhVv0DSqrCWdkyAftluMHeo=";
hash = "sha256-7bWtlLo1fJQ7ddcg0MFUfeCn8VNkSEENxmp0O8cNTBE=";
};
proxyVendor = true;
vendorHash = "sha256-OUQY5yzsbMS81gRb1mIvkRHal4mvOE2Na2HAsqkeWG4=";
vendorHash = "sha256-cV6TOvcquAOr4WQ3IzWOVtLuwjQf1BA+QXzzDYnPsYQ=";
subPackages = [
"cmd/risor"

View file

@ -54,6 +54,9 @@ rustPlatform.buildRustPackage rec {
env.LLVM_SYS_140_PREFIX = lib.optionalString withLLVM llvmPackages.llvm.dev;
# Tests are failing due to `Cannot allocate memory` and other reasons
doCheck = false;
meta = with lib; {
description = "The Universal WebAssembly Runtime";
longDescription = ''

View file

@ -1,8 +1,10 @@
{ lib
, fetchurl
, fetchpatch
, stdenv
, callPackage
, fetchpatch
, fetchurl
, testers
, cmake
}:
@ -29,7 +31,10 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = true;
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
passthru.tests = {
pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
geos = callPackage ./tests.nix { geos = finalAttrs.finalPackage; };
};
meta = with lib; {
description = "C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software";

View file

@ -0,0 +1,15 @@
{ runCommand, geos }:
let
inherit (geos) pname;
in
runCommand "${geos}-tests" { meta.timeout = 60; }
''
${geos}/bin/geosop \
--explode \
--format wkt \
polygonize \
-a "MULTILINESTRING ((200 100, 100 100, 200 200), (200 200, 200 100), (200 200, 300 100, 200 100))" \
| grep 'POLYGON ((200 100, 100 100, 200 200, 200 100))'
touch $out
''

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libquotient";
version = "0.8.1.1";
version = "0.8.1.2";
src = fetchFromGitHub {
owner = "quotient-im";
repo = "libQuotient";
rev = version;
hash = "sha256-WNLwO2w8FYy12BeqPuiS0wg3fUMwTxfrIF1QwcjE9yQ=";
hash = "sha256-qJTikc42sFUlb4g0sAEg6v9d4k1lhbn3MZPvghm56E8=";
};
buildInputs = [ olm openssl qtbase qtmultimedia qtkeychain ];

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "libuninameslist";
version = "20221022";
version = "20230916";
src = fetchFromGitHub {
owner = "fontforge";
repo = pname;
rev = version;
sha256 = "sha256-YLlSe2++DpcptuAxLduTYAY2m9D8JSGDcvzijpAv1rU=";
sha256 = "sha256-8mLXTvi4KbU4NiCPaJINTeFbnTAabGDg8ufpSHSqy0Y=";
};
nativeBuildInputs = [

View file

@ -3,6 +3,7 @@
, stdenv
, fetchurl
, fetchpatch
, fetchpatch2
, makeSetupHook
, makeWrapper
, gst_all_1
@ -104,7 +105,15 @@ let
qtdatavis3d = callPackage ./modules/qtdatavis3d.nix { };
qtdeclarative = callPackage ./modules/qtdeclarative.nix { };
qtdoc = callPackage ./modules/qtdoc.nix { };
qtgrpc = callPackage ./modules/qtgrpc.nix { };
qtgrpc = callPackage ./modules/qtgrpc.nix {
patches = [
(fetchpatch2 {
# fix compatibility with protobuf 23
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt6-grpc/-/raw/d6b33bd915dc6e63b30db2cd29150d55b289d7ed/protobuf-23.patch";
hash = "sha256-KQAcrjQ3rK9pDQUOUK6AS4ej8YvtRv9WZOxby31Y5r4=";
})
];
};
qthttpserver = callPackage ./modules/qthttpserver.nix { };
qtimageformats = callPackage ./modules/qtimageformats.nix { };
qtlanguageserver = callPackage ./modules/qtlanguageserver.nix { };

View file

@ -3,10 +3,12 @@
, qtdeclarative
, protobuf
, grpc
, patches ? []
}:
qtModule {
pname = "qtgrpc";
qtInputs = [ qtbase qtdeclarative ];
buildInputs = [ protobuf grpc ];
inherit patches;
}

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "vectorscan";
version = "5.4.9";
version = "5.4.10.1";
src = fetchFromGitHub {
owner = "VectorCamp";
repo = "vectorscan";
rev = "vectorscan/${version}";
hash = "sha256-V5Qgr8aH1H+ZoJ0IZ52HIDRZq+yIwHjLf3gU/ZhjjlY=";
hash = "sha256-x6FefOrUvpN/A4GXTd+3SGZEAQL6pXt83ufxRIY3Q9k=";
};
nativeBuildInputs = [
@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
code will be abstracted away.
'';
homepage = "https://www.vectorcamp.gr/vectorscan/";
changelog = "https://github.com/VectorCamp/vectorscan/blob/${src.rev}/CHANGELOG.md";
changelog = "https://github.com/VectorCamp/vectorscan/blob/${src.rev}/CHANGELOG-vectorscan.md";
platforms = platforms.unix;
license = with licenses; [ bsd3 /* and */ bsd2 /* and */ licenses.boost ];
maintainers = with maintainers; [ tnias vlaci ];

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "yyjson";
version = "0.7.0";
version = "0.8.0";
src = fetchFromGitHub {
owner = "ibireme";
repo = "yyjson";
rev = finalAttrs.version;
hash = "sha256-Cz8K+cWuDpoMY6d+ecuOvXIMc4wtx15LLvxpFibkNyw=";
hash = "sha256-uAh/AUUDudQr+1+3YLkg9KxARgvKWxfDZlqo8388nFY=";
};
nativeBuildInputs = [

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "aiolifx-themes";
version = "0.4.8";
version = "0.4.9";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Djelibeybi";
repo = "aiolifx-themes";
rev = "refs/tags/v${version}";
hash = "sha256-jbL6f6gDH6AxsfuD7mFtvCGKLqy/NKoo5bUmXN9hBrM=";
hash = "sha256-8t0yRia/grSSEqySV57QoB3lgU9iwqiVOvVLE5Jd2pM=";
};
prePatch = ''

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "appthreat-vulnerability-db";
version = "5.4.1";
version = "5.4.2";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "AppThreat";
repo = "vulnerability-db";
rev = "refs/tags/v${version}";
hash = "sha256-sfhcAEJn+9uTPZLjgurfpuWNEdefzQZSXZdw7IeuqZw=";
hash = "sha256-S0ebTM7X21Lny9Y1JG7ztv/H5gUjxXxNOQIIBTGFB7c=";
};
postPatch = ''

View file

@ -1,33 +1,49 @@
{ lib
, azure-core
, buildPythonPackage
, cryptography
, fetchPypi
, azure-common
, azure-storage-common
, msrest
, isodate
, pythonOlder
, typing-extensions
}:
buildPythonPackage rec {
pname = "azure-storage-queue";
version = "12.6.0";
version = "12.7.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-GaAfHYYLXll4nhcnzmrsTwkDrFYwelZMT6d3+zi2tQ0=";
extension = "zip";
hash = "sha256-zBt5z13ZRxB1xMLA3xEWf7mSoil43JLl8q46w0n/avY=";
};
propagatedBuildInputs = [
azure-common
azure-storage-common
msrest
azure-core
cryptography
isodate
typing-extensions
];
passthru.optional-dependencies = {
aio = [
azure-core
] ++ azure-core.optional-dependencies.aio;
};
# has no tests
doCheck = false;
pythonImportsCheck = [
"azure.storage.queue"
];
meta = with lib; {
description = "Client library for Microsoft Azure Storage services containing the queue service APIs";
homepage = "https://github.com/Azure/azure-sdk-for-python";
changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-storage-queue_${version}/sdk/storage/azure-storage-queue/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ cmcdragonkai ];
};

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "casbin";
version = "1.27.0";
version = "1.28.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = pname;
repo = "pycasbin";
rev = "refs/tags/v${version}";
hash = "sha256-gZgaWgkvMuD7IfIy85rX3i6lZqj5WkStF0dHe+AQSJY=";
hash = "sha256-h/wg7O6zWnSQL5+VzAUA+G/4i7LcFpHvK2weyql998Y=";
};
propagatedBuildInputs = [

View file

@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "clevercsv";
version = "0.8.0";
version = "0.8.1";
format = "setuptools";
src = fetchFromGitHub {
owner = "alan-turing-institute";
repo = "CleverCSV";
rev = "refs/tags/v${version}";
hash = "sha256-/JveB6fpIJvR5byGcmO9XBuCbUw7yNTpSoDs68Wffmo=";
hash = "sha256-kCkMZnHbFUuBBvlQ5rn0tNeL7uTAq0aodpj2JvPo968=";
};
propagatedBuildInputs = [

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "deploykit";
version = "1.1.0";
version = "1.1.1";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "numtide";
repo = pname;
rev = version;
hash = "sha256-re7r2K9F5FTTVn84WC+wZX30JA9AXQcHK3pLjYglMs8=";
hash = "sha256-7PiXq1bQJ1jswLHNqCDSYZabgfp8HRuRt5YPGzd5Ej0=";
};
buildInputs = [

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "google-auth-httplib2";
version = "0.1.0";
version = "0.1.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-oHw5/WMr7KzT8HcY39YCG/OWl48DrTzkMh0GABXMMKw=";
hash = "sha256-xkvFVf3G3XiOpi7Pe8z/z0l793JEiHo/PXpaAvjj/Ck=";
};
propagatedBuildInputs = [

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "google-cloud-compute";
version = "1.14.0";
version = "1.14.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-AtGjz+ghJ+/WI8ppavkF2J6Hqq65pQYhWb3PN0f9j2Y=";
hash = "sha256-rNmHZH18gmqpe0QYFBx0Dq1eiBHTNJMV8viaMMAcf0s=";
};
propagatedBuildInputs = [

View file

@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "google-cloud-dataproc";
version = "5.5.0";
version = "5.5.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-XYjEmBMCkCUxKvAF2KNXwG72C6TMszLikFvLtnjJf14=";
hash = "sha256-+tfaWdOR/sFfGih71x1VznI3gZ2quQ4h1rEUCFHZ1DQ=";
};
propagatedBuildInputs = [

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "google-cloud-dlp";
version = "3.12.2";
version = "3.12.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-+Ab1XD45m3PqQ0LHBIRVId5wARJ9KOjClEk9C2c2NBY=";
hash = "sha256-c4gPKov6YASVdvuU2FaYqiNn0yrJAbdieP5Qt1ZjRAs=";
};
propagatedBuildInputs = [

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "hahomematic";
version = "2023.9.1";
version = "2023.9.2";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "danielperna84";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-EItguRqgf6oCKUPdW4cH5kGeZqn4Ke+7gVYhcYrhhjk=";
hash = "sha256-h8zSj1jmqaQtJl3lPYGj7kEBucK7DAOkdUcDo7Opy7w=";
};
nativeBuildInputs = [

View file

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "hsluv";
version = "5.0.3";
version = "5.0.4";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "hsluv";
repo = "hsluv-python";
rev = "v${version}";
hash = "sha256-p3KD+zhHCOs/rLUVf1IkW/isfpUPQstB2VHGmZ/aEPU=";
hash = "sha256-bjivmPTU3Gp3pcC0ru4GSZANdhPqS1QSTMeiPGN8GCI=";
};
nativeCheckInputs = [

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "ical";
version = "5.0.1";
version = "5.1.0";
format = "setuptools";
disabled = pythonOlder "3.10";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "allenporter";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-6gMmY6XlFdqF0DxkrCJhZPzUYZuEpDnIHG++nBRE3hg=";
hash = "sha256-ffNgYtwErt9tzfDWQnt0h7QHQL+gMvFpP8zH6FSoHEM=";
};
nativeBuildInputs = [

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "mkdocstrings-python";
version = "1.6.3";
version = "1.7.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "mkdocstrings";
repo = "python";
rev = "refs/tags/${version}";
hash = "sha256-jppuuzROhVqNHm44gITpnC+xSN4s3ueY00N9v+IoJfE=";
hash = "sha256-akN9/h7jh0SFY1GZ1YlwMw33/RmycekMs0nWpUHLu6Y=";
};
nativeBuildInputs = [

View file

@ -1,5 +1,5 @@
{ lib
, fetchPypi
, fetchFromGitHub
, buildPythonPackage
, jax
, jaxlib
@ -14,17 +14,11 @@ buildPythonPackage rec {
pname = "objax";
version = "1.7.0";
# The latest release (1.7.0) has not been tagged on GitHub. Thus, we fallback to fetchPypi.
# An issue has been opened upstream: https://github.com/google/objax/issues/263
# src = fetchFromGitHub {
# owner = "google";
# repo = "objax";
# rev = "v${version}";
# hash = "";
# };
src = fetchPypi {
inherit pname version;
hash = "sha256-92Z5RxYoWkMAqyF7H/MagPnC4pfXks5k9zmjvo+Z2Mc=";
src = fetchFromGitHub {
owner = "google";
repo = "objax";
rev = "v${version}";
hash = "sha256-1/XmxFZfU+XMD0Mlcv4xTUYZDwltAx1bZOlPuKWQQC0=";
};
# Avoid propagating the dependency on `jaxlib`, see

View file

@ -13,6 +13,7 @@
, pythonOlder
, tabulate
, typing-extensions
, abseil-cpp
}:
let
@ -36,6 +37,10 @@ in buildPythonPackage rec {
pybind11
];
buildInputs = [
abseil-cpp
];
propagatedBuildInputs = [
protobuf
numpy
@ -61,6 +66,10 @@ in buildPythonPackage rec {
--replace 'include(googletest)' ""
substituteInPlace cmake/unittest.cmake \
--replace 'googletest)' ')'
# remove this override in 1.15 that will enable to set the CMAKE_CXX_STANDARD with cmakeFlags
substituteInPlace CMakeLists.txt \
--replace 'CMAKE_CXX_STANDARD 11' 'CMAKE_CXX_STANDARD 17'
'';
preConfigure = ''

View file

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "reorder-python-imports";
version = "3.9.0";
disabled = pythonOlder "3.7";
version = "3.11.0";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "asottile";
repo = "reorder_python_imports";
rev = "v${version}";
hash = "sha256-z8giVbW8+k/y9Kg+O2tMle5MoRAar2Gccx2YCtFQvxw=";
hash = "sha256-5fv2DSMeCleDxsW+nua2dOOeWZIZfuP+Qo++w2YEf4Q=";
};
propagatedBuildInputs = [

View file

@ -51,7 +51,7 @@
}:
let
inherit (lib) lists strings trivial;
inherit (lib) attrsets lists strings trivial;
inherit (cudaPackages) cudaFlags cudnn nccl;
setBool = v: if v then "1" else "0";
@ -105,6 +105,14 @@ let
rocm-runtime rocm-opencl-runtime hipify
];
};
brokenConditions = attrsets.filterAttrs (_: cond: cond) {
"CUDA and ROCm are not mutually exclusive" = cudaSupport && rocmSupport;
"CUDA is not targeting Linux" = cudaSupport && !stdenv.isLinux;
"Unsupported CUDA version" = cudaSupport && (cudaPackages.cudaMajorVersion != "11");
"MPI cudatoolkit does not match cudaPackages.cudatoolkit" = MPISupport && cudaSupport && (mpi.cudatoolkit != cudaPackages.cudatoolkit);
"Magma cudaPackages does not match cudaPackages" = cudaSupport && (magma.cudaPackages != cudaPackages);
};
in buildPythonPackage rec {
pname = "torch";
# Don't forget to update torch-bin to the same version.
@ -426,6 +434,8 @@ in buildPythonPackage rec {
inherit cudaSupport cudaPackages;
# At least for 1.10.2 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability.
blasProvider = blas.provider;
# To help debug when a package is broken due to CUDA support
inherit brokenConditions;
} // lib.optionalAttrs cudaSupport {
# NOTE: supportedCudaCapabilities isn't computed unless cudaSupport is true, so we can't use
# it in the passthru set above because a downstream package might try to access it even
@ -441,17 +451,6 @@ in buildPythonPackage rec {
license = licenses.bsd3;
maintainers = with maintainers; [ teh thoughtpolice tscholak ]; # tscholak esp. for darwin-related builds
platforms = with platforms; linux ++ lib.optionals (!cudaSupport && !rocmSupport) darwin;
broken = builtins.any trivial.id [
# CUDA and ROCm are mutually exclusive
(cudaSupport && rocmSupport)
# CUDA is only supported on Linux
(cudaSupport && !stdenv.isLinux)
# Only CUDA 11 is currently supported
(cudaSupport && (cudaPackages.cudaMajorVersion != "11"))
# MPI cudatoolkit does not match cudaPackages.cudatoolkit
(MPISupport && cudaSupport && (mpi.cudatoolkit != cudaPackages.cudatoolkit))
# Magma cudaPackages does not match cudaPackages
(cudaSupport && (magma.cudaPackages != cudaPackages))
];
broken = builtins.any trivial.id (builtins.attrValues brokenConditions);
};
}

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-tarpaulin";
version = "0.26.1";
version = "0.27.0";
src = fetchFromGitHub {
owner = "xd009642";
repo = "tarpaulin";
rev = version;
hash = "sha256-FQdYos8hnQMkl/3vM9kSj0LM8fIZcsWMLKimpNXnrFo=";
hash = "sha256-yvZVViD7QbVTQ/gEcoSrE7jdQH7gR20LpXWsC8DHE9w=";
};
cargoHash = "sha256-fCoZ1pSKPXvNSWiAfhPygidkM0Ek7DYtHHv/sdPptvM=";
cargoHash = "sha256-0uowFaPkDUkDozd2DCsOfZzz3gMQpkL6PdKBzy1d+wg=";
nativeBuildInputs = [
pkg-config

View file

@ -10,22 +10,20 @@
curl,
zlib,
libuuid,
dotnetbuildhelpers,
dotnetCorePackages,
openssl,
}: let
platforms = {
"aarch64-darwin" = {
platformStr = "osx-arm64";
hash = "sha512-Jpj/jmDoc01f1LqcdtszZHOG87jy7p3INajhN0taVzVX6l7WnrxY9Y8VLffBffWuNJ9LZjpGVDLt4/JqyALWrw==";
hash = "sha256-yp3VTt5m8KuACjrBIotfQ5ZdgMvfwYIFaqY2475pHRs=";
};
"x86_64-darwin" = {
platformStr = "osx-x64";
hash = "sha512-mHOEnSxcA3x2LK3rhte5eMP97mf0q8BkbS54gGFGz91ufigWmTRrSlGVr3An/1iLlA5/k+AHJU4olWbL2Qlr0A==";
hash = "sha256-bTHh0mwGbe6JVsR8rDHGpGJ2+AipHb8NIBIW7iiuz6I=";
};
"x86_64-linux" = {
platformStr = "linux-x64";
hash = "sha512-d2Ym8kofv/ik4m94D0gz3LcOQxWIDaGmXTmv4XX2zYztH/4wXC2JRr8vIpqwwX86gy3apUmTc3rCyc5Zrz2Sig==";
hash = "sha256-5R4/hCxCz6KfBl9Zbei+iFty5S2MOYt9hMvPMjCzL54=";
};
};
@ -33,7 +31,7 @@
in
stdenv.mkDerivation rec {
pname = "azure-functions-core-tools";
version = "4.0.5095";
version = "4.0.5348";
src = fetchurl {
url = "https://github.com/Azure/${pname}/releases/download/${version}/Azure.Functions.Cli.${platformInfo.platformStr}.${version}.zip";
@ -43,12 +41,10 @@ in
nativeBuildInputs = [
unzip
makeWrapper
dotnetbuildhelpers
icu
libunwind
curl
zlib
dotnetCorePackages.sdk_6_0
];
libPath = lib.makeLibraryPath [
@ -92,7 +88,7 @@ in
binaryNativeCode
];
license = licenses.mit;
maintainers = with maintainers; [];
maintainers = with maintainers; [ mdarocha ];
platforms = ["x86_64-linux" "aarch64-darwin" "x86_64-darwin"];
};
}

View file

@ -24,13 +24,13 @@ assert builtins.all (x: builtins.elem x [ "node16" "node20" ]) nodeRuntimes;
buildDotnetModule rec {
pname = "github-runner";
version = "2.308.0";
version = "2.309.0";
src = fetchFromGitHub {
owner = "actions";
repo = "runner";
rev = "v${version}";
hash = "sha256-LrHScQbBkRPSNsfPxvE2+K9tON8xuR0e4JpKVuI+Gu0=";
hash = "sha256-P70kNcd5TjWsHj16y11SEYROGG+JUkpwE9eVpHzvTes=";
leaveDotGit = true;
postFetch = ''
git -C $out rev-parse --short HEAD > $out/.git-revision

View file

@ -3,7 +3,7 @@
{ fetchNuGet }: [
(fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; })
(fetchNuGet { pname = "Microsoft.AspNet.WebApi.Client"; version = "5.2.4"; sha256 = "00fkczf69z2rwarcd8kjjdp47517a0ca6lggn72qbilsp03a5scj"; })
(fetchNuGet { pname = "Microsoft.AspNet.WebApi.Client"; version = "5.2.9"; sha256 = "1sy1q36bm9fz3gi780w4jgysw3dwaz2f3a5gcn6jxw1gkmdasb08"; })
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.2.0"; sha256 = "018yl113i037m5qhm3z6csb0c4l8kj412dxw2dagdbj07qbxwikj"; })
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "5.2.1"; sha256 = "1gpka9jm2gl6f07pcwzwvaxw9xq1a19i9fskn0qs921c5grhlp3g"; })
@ -29,7 +29,7 @@
(fetchNuGet { pname = "Moq"; version = "4.11.0"; sha256 = "08bnk80scjjqnkdbjam8grcqrw2rvj9z7556hiznac7in3fcp77w"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.5.0-rc2-24027"; sha256 = "1kazwidj63w53r1s6fd8sgykb70kdic27fg9qhg74qzwm354imwm"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
(fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.1"; sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa"; })
(fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; })
@ -81,7 +81,7 @@
(fetchNuGet { pname = "System.AppContext"; version = "4.1.0-rc2-24027"; sha256 = "0c0x3sg12a5zwiamvxs9c4bhdwmmm9by6x5da58fbrzz7afbaaag"; })
(fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.0.0-rc2-24027"; sha256 = "1mqnay87pkxih73984jf5fm14d0m6yjq4cv4cqbj37nmgm54ssjp"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
(fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
(fetchNuGet { pname = "System.Collections"; version = "4.0.11-rc2-24027"; sha256 = "0ijpgf7iy3mcvr9327craxsb0lsznprajqzjy59sspc75gk0yahq"; })
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "fx";
version = "24.1.0";
version = "30.0.0";
src = fetchFromGitHub {
owner = "antonmedv";
repo = pname;
rev = version;
hash = "sha256-X6wuCAiQa1coHMz96aAXKGZFnius1vHJpk+EhbXqoMA=";
hash = "sha256-MRWDitL9nATi6+oaOJ/A+iaNLztWBZ+Mrs7Hkt0lhL8=";
};
vendorHash = "sha256-J19MhLvjxcxvcub888UFKI0iIf7OG3dmP5v40ElHCU4=";
vendorHash = "sha256-cIyh/FC1lcUgPeUZKrh+kCZmSKGE7Bo411eI0dZeMx4=";
meta = with lib; {
description = "Terminal JSON viewer";

View file

@ -21,12 +21,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "glamoroustoolkit";
version = "0.7.3";
version = "0.8.1";
src = fetchzip {
url = "https://github.com/feenkcom/gtoolkit-vm/releases/download/v${finalAttrs.version}/GlamorousToolkit-x86_64-unknown-linux-gnu.zip";
stripRoot = false;
hash = "sha256-xkGip3RN44SZhYbogxUabO2EDsrRUZAJ+qAOEGdBgQ4=";
hash = "sha256-g33Lsa0aX1NvmtSlVVVrnjOvR0FhXasxZd5Sul6adfs=";
};
sourceRoot = ".";

View file

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, lazygit, testers }:
buildGoModule rec {
pname = "lazygit";
@ -16,6 +16,10 @@ buildGoModule rec {
ldflags = [ "-X main.version=${version}" "-X main.buildSource=nix" ];
passthru.tests.version = testers.testVersion {
package = lazygit;
};
meta = with lib; {
description = "Simple terminal UI for git commands";
homepage = "https://github.com/jesseduffield/lazygit";

View file

@ -6,18 +6,20 @@
, cacert
, openssl
, darwin
, testers
, dioxus-cli
}:
rustPlatform.buildRustPackage rec {
pname = "dioxus-cli";
version = "0.4.0";
version = "0.4.1";
src = fetchCrate {
inherit pname version;
hash = "sha256-4BIuD/rrA398hPEoNt5PwWylPAR0fA1UKc90xyH5Fd0=";
hash = "sha256-h2l6SHty06nLNbdlnSzH7I4XY53yyxNbx663cHYmPG0=";
};
cargoHash = "sha256-ok+fjvwz4k0/M5j7wut2A2AK6tuO3UfZtgoCXaCaHXY=";
cargoHash = "sha256-3pFkEC1GAJmTqXAymX4WRIq7EEtY17u1TCg+OhqL3bA=";
nativeBuildInputs = [ pkg-config cacert ];
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
@ -32,10 +34,11 @@ rustPlatform.buildRustPackage rec {
"--skip=server::web::proxy::test::add_proxy_trailing_slash"
];
doInstallCheck = true;
installCheckPhase = ''
$out/bin/dx --version | grep "dioxus ${version}"
'';
passthru.tests.version = testers.testVersion {
package = dioxus-cli;
command = "${meta.mainProgram} --version";
inherit version;
};
meta = with lib; {
homepage = "https://dioxuslabs.com";

View file

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "snazy";
version = "0.52.0";
version = "0.52.1";
src = fetchFromGitHub {
owner = "chmouel";
repo = pname;
rev = version;
hash = "sha256-ax16BO2I+LgaVilqrsVToulBRcyr0C/QUtrdn0nUfBU=";
hash = "sha256-OoUu42vRe4wPaunb2vJ9ITd0Q76pBI/yC8FI0J+J+ts=";
};
cargoHash = "sha256-go6y/NH3vFb8xtAGVpgy0GQfMfzXfn8hI+tJnUdCFAU=";
cargoHash = "sha256-gUeKZNSo/zJ4Nqy4Fpk5JuvFylGBlKJu+Nw9XWXVx0g=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "typos";
version = "1.16.11";
version = "1.16.12";
src = fetchFromGitHub {
owner = "crate-ci";
repo = pname;
rev = "v${version}";
hash = "sha256-6CinLQ3wdVG1Ry7nskbC4JlhwT9rlJiP1oc4ks1t7Ts=";
hash = "sha256-zi1SVEl+EZacPOEjpOIG9KiXY2790fO63gGyc2jKNoE=";
};
cargoHash = "sha256-S7cMbnelsUfP8t93jqv0PY50fN/XtkphKhiKfe2fE/c=";
cargoHash = "sha256-UQVERFAaGyrWIp+3fxZ0Bpbv7ZTPYQiTCRgaYnU8Zq0=";
meta = with lib; {
description = "Source code spell checker";

View file

@ -5,11 +5,11 @@
let
pname = "lunar-client";
version = "3.0.7";
version = "3.0.10";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
hash = "sha256-JpgKxCFXO+oK9D7gpk6AfiZLWzgFlijVWKhvfkBrJwY=";
hash = "sha256-mbEV+iciL4+PtfvStyXZXK5Zb91N9H1VJ5amZj+2EyA=";
};
appimageContents = appimageTools.extract { inherit pname version src; };

View file

@ -9,6 +9,7 @@
, IOKit
, MediaRemote
, SkyLight
, testers
}:
let
@ -53,6 +54,11 @@ stdenv.mkDerivation (finalAttrs: {
runHook postInstall
'';
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
version = "sketchybar-v${finalAttrs.version}";
};
meta = {
description = "A highly customizable macOS status bar replacement";
homepage = "https://github.com/FelixKratz/SketchyBar";

View file

@ -3,6 +3,7 @@
, fetchFromGitHub
, Carbon
, Cocoa
, testers
}:
stdenv.mkDerivation (finalAttrs: {
@ -31,6 +32,11 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace $out/Library/LaunchDaemons/org.nixos.skhd.plist --subst-var out
'';
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
version = "skhd-v${finalAttrs.version}";
};
meta = {
description = "Simple hotkey daemon for macOS";
homepage = "https://github.com/koekeishiya/skhd";

View file

@ -2,18 +2,18 @@
buildGoModule rec {
pname = "mautrix-whatsapp";
version = "0.10.0";
version = "0.10.1";
src = fetchFromGitHub {
owner = "mautrix";
repo = "whatsapp";
rev = "v${version}";
hash = "sha256-NbIDVBfh/6NXEvQhypOC5ToOq0EEkKKiMMahGJdXX0g=";
hash = "sha256-I1qM1hq6bnBgbtfzgWvySairfr+Q6TthMIQM+Mregc8=";
};
buildInputs = [ olm ];
vendorHash = "sha256-5S5uq7CRixw6PvtE4xz+AWfS+VsKE4+JVZjfyXmvbsM=";
vendorHash = "sha256-TH353K6BOTzFC/iPIf1S7rV0DSIxjJEg42ru5H8NbSE=";
doCheck = false;

View file

@ -62,10 +62,5 @@ buildGoModule rec {
changelog = "https://github.com/common-fate/granted/releases/tag/${version}";
license = licenses.mit;
maintainers = [ maintainers.ivankovnatsky ];
# Could not figure out how to use this application without any hustle. Weird
# linking of binary, aliases for god knows what.
# https://docs.commonfate.io/granted/usage/assuming-roles.
# Will mark as broken until maybe someone fixes it. Switched to aws-sso.
broken = true;
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "mergerfs";
version = "2.36.0";
version = "2.37.0";
src = fetchFromGitHub {
owner = "trapexit";
repo = pname;
rev = version;
sha256 = "sha256-oGgL3uMKMs66GTgWtMMX0M9ARXiJnV3l3Tnja373sCo=";
sha256 = "sha256-IJcTzEKFMSAryG44Rpwgl0toxFxNyyJyaVC8MO1Dv7M=";
};
nativeBuildInputs = [

View file

@ -17,16 +17,16 @@
rustPlatform.buildRustPackage rec {
pname = "eza";
version = "0.12.0";
version = "0.13.0";
src = fetchFromGitHub {
owner = "eza-community";
repo = "eza";
rev = "v${version}";
hash = "sha256-vgjoDmWtLMP/dpBeydgBNZjSQRuvv0Fm/PcKKAIoIdc=";
hash = "sha256-EvNdE9SYO8+DEJoIxJEh3Fy/+AbtoAyUrOnZtd23K7Q=";
};
cargoHash = "sha256-L1i/1dqOXm97Wugc5ZazQiq3T3PFvMaWK7LpCshpxgw=";
cargoHash = "sha256-1QluALqSwu49/oz89m3KDDgGo91lqOj+WDP8erGmA/8=";
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ]

View file

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, lazydocker, testers }:
buildGoModule rec {
pname = "lazydocker";
@ -21,6 +21,10 @@ buildGoModule rec {
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
passthru.tests.version = testers.testVersion {
package = lazydocker;
};
meta = with lib; {
description = "A simple terminal UI for both docker and docker-compose";
homepage = "https://github.com/jesseduffield/lazydocker";

View file

@ -4,6 +4,7 @@
, ncurses
, zig_0_11
, installShellFiles
, testers
, pie ? stdenv.isDarwin
}:
@ -31,6 +32,10 @@ stdenv.mkDerivation (finalAttrs: {
installManPage ncdu.1
'';
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
};
meta = {
homepage = "https://dev.yorhel.nl/ncdu";
description = "Disk usage analyzer with an ncurses interface";

View file

@ -5,14 +5,14 @@
python3Packages.buildPythonApplication rec {
pname = "pferd";
version = "3.4.3";
version = "3.5.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "Garmelon";
repo = "PFERD";
rev = "refs/tags/v${version}";
sha256 = "sha256-m9u4CLvyF2n61JQyxEKlVzWZCUhzVEVqpSZMNDZXCAo=";
sha256 = "sha256-iGMqKRM/8pnnew/U1r7Od9Giyn9z4BxVGO85nw3FI9Y=";
};
nativeBuildInputs = with python3Packages; [

View file

@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec {
pname = "spacer";
version = "0.2";
version = "0.3.0";
src = fetchFromGitHub {
owner = "samwho";
repo = "spacer";
rev = "v${version}";
hash = "sha256-6RGwOyp/TzO7Z2xpcNFtAb+UaiMmgiuac9nqZs4fC10=";
hash = "sha256-gxqUMtONjYPjSmxyguE9/GBC91PUK1rdFGsISGaSe44=";
};
cargoHash = "sha256-XWXrivx0TJZmu5jJYJAzKm6dzqOwiWwU8mRuehZkQbA=";
cargoHash = "sha256-pMYqIl0Td2awAxe3BRglBcOychwTmFZ+pZV0QOT0CL4=";
meta = with lib; {
description = "CLI tool to insert spacers when command output stops";

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkg-config, libcaca }:
{ lib, stdenv, fetchurl, pkg-config, libcaca, toilet, testers }:
stdenv.mkDerivation rec {
pname = "toilet";
@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libcaca ];
passthru.tests.version = testers.testVersion {
package = toilet;
};
meta = with lib; {
description = "Display large colourful characters in text mode";
homepage = "http://caca.zoy.org/wiki/toilet";

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "vtm";
version = "0.9.9t";
version = "0.9.9u";
src = fetchFromGitHub {
owner = "netxs-group";
repo = "vtm";
rev = "v${version}";
sha256 = "sha256-WbigrJohLYCRvgsCNd4Cid1zGaP1aQbj59QhZ6ymLms=";
sha256 = "sha256-ySelsabe5J3Wne8L/F01R/CMPibUR18ZKWH2s25t+KY=";
};
nativeBuildInputs = [ cmake ];

View file

@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dnf5";
version = "5.1.1";
version = "5.1.3";
src = fetchFromGitHub {
owner = "rpm-software-management";
repo = "dnf5";
rev = finalAttrs.version;
hash = "sha256-mO+l2TgVPyA5dQeS6GsjXVDTQlhQYq/wWkDE5ZCd86Q=";
hash = "sha256-Z1Pbi3dGqAQeVaagpOUsjYsT46DAlcFHsDhQzyeCCfY=";
};
nativeBuildInputs = [ cmake createrepo_c gettext help2man pkg-config ];

View file

@ -1,25 +0,0 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libnfc, xz }:
stdenv.mkDerivation rec {
pname = "mfoc-hardnested";
version = "unstable-2021-08-14";
src = fetchFromGitHub {
owner = "nfc-tools";
repo = pname;
rev = "2c25bf05a0b13827b9d06382c5d384b2e5c88238";
hash = "sha256-fhfevQCw0E5TorHx61Vltpmv7DAjgH73i27O7aBKxz4=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libnfc xz ];
meta = with lib; {
description = "A fork of mfoc integrating hardnested code from the proxmark";
license = licenses.gpl2;
homepage = "https://github.com/nfc-tools/mfoc-hardnested";
maintainers = with maintainers; [ azuwis ];
platforms = platforms.unix;
broken = (stdenv.isDarwin && stdenv.isAarch64); # Undefined symbols "_memalign" referenced
};
}

View file

@ -4,6 +4,8 @@
, installShellFiles
, stdenv
, darwin
, bottom
, testers
}:
rustPlatform.buildRustPackage rec {
@ -36,6 +38,10 @@ rustPlatform.buildRustPackage rec {
BTM_GENERATE = true;
passthru.tests.version = testers.testVersion {
package = bottom;
};
meta = with lib; {
description = "A cross-platform graphical process/system monitor with a customizable interface";
homepage = "https://github.com/ClementTsang/bottom";

View file

@ -3,6 +3,8 @@
, fetchFromGitHub
, darwin
, removeReferencesTo
, btop
, testers
}:
stdenv.mkDerivation rec {
@ -30,6 +32,10 @@ stdenv.mkDerivation rec {
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc.cc} $(readlink -f $out/bin/btop)
'';
passthru.tests.version = testers.testVersion {
package = btop;
};
meta = with lib; {
description = "A monitor of resources";
homepage = "https://github.com/aristocratos/btop";

View file

@ -1,10 +1,10 @@
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
index b82852e1..c998b21e 100644
index 7b83df8d..6d04de1a 100644
--- a/cloudinit/distros/__init__.py
+++ b/cloudinit/distros/__init__.py
@@ -74,6 +74,7 @@ OSFAMILIES = {
@@ -75,6 +75,7 @@ OSFAMILIES = {
],
"openEuler": ["openEuler"],
"openeuler": ["openeuler"],
"OpenCloudOS": ["OpenCloudOS", "TencentOS"],
+ "nixos": ["nixos"],
}
@ -12,7 +12,7 @@ index b82852e1..c998b21e 100644
LOG = logging.getLogger(__name__)
diff --git a/cloudinit/distros/nixos.py b/cloudinit/distros/nixos.py
new file mode 100644
index 00000000..d53d2a62
index 00000000..954e564b
--- /dev/null
+++ b/cloudinit/distros/nixos.py
@@ -0,0 +1,109 @@

View file

@ -1,421 +0,0 @@
From 53260ce3bd70a0852d3e0d5569474214cea0ec0c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Roche?= <jfroche@pyxel.be>
Date: Mon, 19 Jun 2023 15:56:46 +0200
Subject: [PATCH] net/dhcp: add udhcpc support
The currently used dhcp client, dhclient, is coming from the unmaintained package, isc-dhcp-client (refer https://www.isc.org/dhcp/) which ended support in 2022.
This change introduce support for the dhcp client, udhcpc, from the busybox project. Busybox advantages are that it is available across many distributions and comes with lightweight executables.
---
cloudinit/distros/__init__.py | 8 +-
cloudinit/net/dhcp.py | 129 ++++++++++++++++++++++-
tests/unittests/net/test_dhcp.py | 175 ++++++++++++++++++++++++++++++-
tools/.github-cla-signers | 1 +
4 files changed, 309 insertions(+), 4 deletions(-)
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
index ec148939..0fab8945 100644
--- a/cloudinit/distros/__init__.py
+++ b/cloudinit/distros/__init__.py
@@ -110,14 +110,18 @@ class Distro(persistence.CloudInitPickleMixin, metaclass=abc.ABCMeta):
resolve_conf_fn = "/etc/resolv.conf"
osfamily: str
- dhcp_client_priority = [dhcp.IscDhclient, dhcp.Dhcpcd]
+ dhcp_client_priority = [dhcp.IscDhclient, dhcp.Dhcpcd, dhcp.Udhcpc]
def __init__(self, name, cfg, paths):
self._paths = paths
self._cfg = cfg
self.name = name
self.networking: Networking = self.networking_cls()
- self.dhcp_client_priority = [dhcp.IscDhclient, dhcp.Dhcpcd]
+ self.dhcp_client_priority = [
+ dhcp.IscDhclient,
+ dhcp.Dhcpcd,
+ dhcp.Udhcpc,
+ ]
def _unpickle(self, ci_pkl_version: int) -> None:
"""Perform deserialization fixes for Distro."""
diff --git a/cloudinit/net/dhcp.py b/cloudinit/net/dhcp.py
index 6c8c2f54..f5586cea 100644
--- a/cloudinit/net/dhcp.py
+++ b/cloudinit/net/dhcp.py
@@ -21,6 +21,7 @@ from cloudinit import subp, temp_utils, util
from cloudinit.net import (
find_fallback_nic,
get_devicelist,
+ get_ib_interface_hwaddr,
get_interface_mac,
is_ib_interface,
)
@@ -28,6 +29,37 @@ from cloudinit.net import (
LOG = logging.getLogger(__name__)
NETWORKD_LEASES_DIR = "/run/systemd/netif/leases"
+UDHCPC_SCRIPT = """#!/bin/sh
+log() {
+ echo "udhcpc[$PPID]" "$interface: $2"
+}
+[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
+case $1 in
+ bound|renew)
+ cat <<JSON > "$LEASE_FILE"
+{
+ "interface": "$interface",
+ "fixed-address": "$ip",
+ "subnet-mask": "$subnet",
+ "routers": "${router%% *}",
+ "static_routes" : "${staticroutes}"
+}
+JSON
+ ;;
+ deconfig)
+ log err "Not supported"
+ exit 1
+ ;;
+ leasefail | nak)
+ log err "configuration failed: $1: $message"
+ exit 1
+ ;;
+ *)
+ echo "$0: Unknown udhcpc command: $1" >&2
+ exit 1
+ ;;
+esac
+"""
class NoDHCPLeaseError(Exception):
@@ -50,6 +82,10 @@ class NoDHCPLeaseMissingDhclientError(NoDHCPLeaseError):
"""Raised when unable to find dhclient."""
+class NoDHCPLeaseMissingUdhcpcError(NoDHCPLeaseError):
+ """Raised when unable to find udhcpc client."""
+
+
def select_dhcp_client(distro):
"""distros set priority list, select based on this order which to use
@@ -60,7 +96,10 @@ def select_dhcp_client(distro):
dhcp_client = client()
LOG.debug("DHCP client selected: %s", client.client_name)
return dhcp_client
- except NoDHCPLeaseMissingDhclientError:
+ except (
+ NoDHCPLeaseMissingDhclientError,
+ NoDHCPLeaseMissingUdhcpcError,
+ ):
LOG.warning("DHCP client not found: %s", client.client_name)
raise NoDHCPLeaseMissingDhclientError()
@@ -497,3 +536,91 @@ class Dhcpcd:
def __init__(self):
raise NoDHCPLeaseMissingDhclientError("Dhcpcd not yet implemented")
+
+
+class Udhcpc(DhcpClient):
+ client_name = "udhcpc"
+
+ def __init__(self):
+ self.udhcpc_path = subp.which("udhcpc")
+ if not self.udhcpc_path:
+ LOG.debug("Skip udhcpc configuration: No udhcpc command found.")
+ raise NoDHCPLeaseMissingUdhcpcError()
+
+ def dhcp_discovery(
+ self,
+ interface,
+ dhcp_log_func=None,
+ distro=None,
+ ):
+ """Run udhcpc on the interface without scripts or filesystem artifacts.
+
+ @param interface: Name of the network interface on which to run udhcpc.
+ @param dhcp_log_func: A callable accepting the udhcpc output and
+ error streams.
+
+ @return: A list of dicts of representing the dhcp leases parsed from
+ the udhcpc lease file.
+ """
+ LOG.debug("Performing a dhcp discovery on %s", interface)
+
+ tmp_dir = temp_utils.get_tmp_ancestor(needs_exe=True)
+ lease_file = os.path.join(tmp_dir, interface + ".lease.json")
+ with contextlib.suppress(FileNotFoundError):
+ os.remove(lease_file)
+
+ # udhcpc needs the interface up to send initial discovery packets
+ subp.subp(["ip", "link", "set", "dev", interface, "up"], capture=True)
+
+ udhcpc_script = os.path.join(tmp_dir, "udhcpc_script")
+ util.write_file(udhcpc_script, UDHCPC_SCRIPT, 0o755)
+
+ cmd = [
+ self.udhcpc_path,
+ "-O",
+ "staticroutes",
+ "-i",
+ interface,
+ "-s",
+ udhcpc_script,
+ "-n", # Exit if lease is not obtained
+ "-q", # Exit after obtaining lease
+ "-f", # Run in foreground
+ "-v",
+ ]
+
+ # For INFINIBAND port the dhcpc must be running with
+ # client id option. So here we are checking if the interface is
+ # INFINIBAND or not. If yes, we are generating the the client-id to be
+ # used with the udhcpc
+ if is_ib_interface(interface):
+ dhcp_client_identifier = get_ib_interface_hwaddr(
+ interface, ethernet_format=True
+ )
+ cmd.extend(
+ ["-x", "0x3d:%s" % dhcp_client_identifier.replace(":", "")]
+ )
+ try:
+ out, err = subp.subp(
+ cmd, update_env={"LEASE_FILE": lease_file}, capture=True
+ )
+ except subp.ProcessExecutionError as error:
+ LOG.debug(
+ "udhcpc exited with code: %s stderr: %r stdout: %r",
+ error.exit_code,
+ error.stderr,
+ error.stdout,
+ )
+ raise NoDHCPLeaseError from error
+
+ if dhcp_log_func is not None:
+ dhcp_log_func(out, err)
+
+ lease_json = util.load_json(util.load_file(lease_file))
+ static_routes = lease_json["static_routes"].split()
+ if static_routes:
+ # format: dest1/mask gw1 ... destn/mask gwn
+ lease_json["static_routes"] = [
+ i for i in zip(static_routes[::2], static_routes[1::2])
+ ]
+ return [lease_json]
diff --git a/tests/unittests/net/test_dhcp.py b/tests/unittests/net/test_dhcp.py
index 55d4c6e9..9123cd15 100644
--- a/tests/unittests/net/test_dhcp.py
+++ b/tests/unittests/net/test_dhcp.py
@@ -13,6 +13,8 @@ from cloudinit.net.dhcp import (
NoDHCPLeaseError,
NoDHCPLeaseInterfaceError,
NoDHCPLeaseMissingDhclientError,
+ NoDHCPLeaseMissingUdhcpcError,
+ Udhcpc,
maybe_perform_dhcp_discovery,
networkd_load_leases,
)
@@ -388,11 +390,13 @@ class TestDHCPDiscoveryClean(CiTestCase):
self.logs.getvalue(),
)
+ @mock.patch("cloudinit.temp_utils.get_tmp_ancestor", return_value="/tmp")
@mock.patch("cloudinit.net.dhcp.find_fallback_nic", return_value="eth9")
@mock.patch("cloudinit.net.dhcp.os.remove")
@mock.patch("cloudinit.net.dhcp.subp.subp")
@mock.patch("cloudinit.net.dhcp.subp.which")
- def test_dhcp_client_failover(self, m_which, m_subp, m_remove, m_fallback):
+ def test_dhcp_client_failover(self, m_which, m_subp, m_remove, m_fallback,
+ m_get_tmp_ancestor):
"""Log and do nothing when nic is absent and no fallback is found."""
m_subp.side_effect = [
("", ""),
@@ -928,3 +932,172 @@ class TestEphemeralDhcpLeaseErrors:
pass
assert len(m_dhcp.mock_calls) == 1
+
+
+class TestUDHCPCDiscoveryClean(CiTestCase):
+ with_logs = True
+ maxDiff = None
+
+ @mock.patch("cloudinit.temp_utils.get_tmp_ancestor", return_value="/tmp")
+ @mock.patch("cloudinit.net.dhcp.subp.which")
+ @mock.patch("cloudinit.net.dhcp.find_fallback_nic")
+ def test_absent_udhcpc_command(self, m_fallback, m_which,
+ m_get_tmp_ancestor):
+ """When dhclient doesn't exist in the OS, log the issue and no-op."""
+ m_fallback.return_value = "eth9"
+ m_which.return_value = None # udhcpc isn't found
+
+ distro = MockDistro()
+ distro.dhcp_client_priority = [Udhcpc]
+
+ with pytest.raises(NoDHCPLeaseMissingDhclientError):
+ maybe_perform_dhcp_discovery(distro)
+
+ self.assertIn(
+ "Skip udhcpc configuration: No udhcpc command found.",
+ self.logs.getvalue(),
+ )
+
+ @mock.patch("cloudinit.temp_utils.get_tmp_ancestor", return_value="/tmp")
+ @mock.patch("cloudinit.net.dhcp.is_ib_interface", return_value=False)
+ @mock.patch("cloudinit.net.dhcp.subp.which", return_value="/sbin/udhcpc")
+ @mock.patch("cloudinit.net.dhcp.os.remove")
+ @mock.patch("cloudinit.net.dhcp.subp.subp")
+ @mock.patch("cloudinit.util.load_json")
+ @mock.patch("cloudinit.util.load_file")
+ @mock.patch("cloudinit.util.write_file")
+ def test_udhcpc_discovery(
+ self,
+ m_write_file,
+ m_load_file,
+ m_loadjson,
+ m_subp,
+ m_remove,
+ m_which,
+ mocked_is_ib_interface,
+ m_get_tmp_ancestor,
+ ):
+ """dhcp_discovery runs udcpc and parse the dhcp leases."""
+ m_subp.return_value = ("", "")
+ m_loadjson.return_value = {
+ "interface": "eth9",
+ "fixed-address": "192.168.2.74",
+ "subnet-mask": "255.255.255.0",
+ "routers": "192.168.2.1",
+ "static_routes": "10.240.0.1/32 0.0.0.0 0.0.0.0/0 10.240.0.1",
+ }
+ self.assertEqual(
+ [
+ {
+ "fixed-address": "192.168.2.74",
+ "interface": "eth9",
+ "routers": "192.168.2.1",
+ "static_routes": [
+ ("10.240.0.1/32", "0.0.0.0"),
+ ("0.0.0.0/0", "10.240.0.1"),
+ ],
+ "subnet-mask": "255.255.255.0",
+ }
+ ],
+ Udhcpc().dhcp_discovery("eth9", distro=MockDistro()),
+ )
+ # Interface was brought up before dhclient called
+ m_subp.assert_has_calls(
+ [
+ mock.call(
+ ["ip", "link", "set", "dev", "eth9", "up"],
+ capture=True,
+ ),
+ mock.call(
+ [
+ "/sbin/udhcpc",
+ "-O",
+ "staticroutes",
+ "-i",
+ "eth9",
+ "-s",
+ "/tmp/udhcpc_script",
+ "-n",
+ "-q",
+ "-f",
+ "-v",
+ ],
+ update_env={"LEASE_FILE": "/tmp/eth9.lease.json"},
+ capture=True,
+ ),
+ ]
+ )
+
+ @mock.patch("cloudinit.temp_utils.get_tmp_ancestor", return_value="/tmp")
+ @mock.patch("cloudinit.net.dhcp.is_ib_interface", return_value=True)
+ @mock.patch("cloudinit.net.dhcp.get_ib_interface_hwaddr")
+ @mock.patch("cloudinit.net.dhcp.subp.which", return_value="/sbin/udhcpc")
+ @mock.patch("cloudinit.net.dhcp.os.remove")
+ @mock.patch("cloudinit.net.dhcp.subp.subp")
+ @mock.patch("cloudinit.util.load_json")
+ @mock.patch("cloudinit.util.load_file")
+ @mock.patch("cloudinit.util.write_file")
+ def test_udhcpc_discovery_ib(
+ self,
+ m_write_file,
+ m_load_file,
+ m_loadjson,
+ m_subp,
+ m_remove,
+ m_which,
+ m_get_ib_interface_hwaddr,
+ m_is_ib_interface,
+ m_get_tmp_ancestor,
+ ):
+ """dhcp_discovery runs udcpc and parse the dhcp leases."""
+ m_subp.return_value = ("", "")
+ m_loadjson.return_value = {
+ "interface": "ib0",
+ "fixed-address": "192.168.2.74",
+ "subnet-mask": "255.255.255.0",
+ "routers": "192.168.2.1",
+ "static_routes": "10.240.0.1/32 0.0.0.0 0.0.0.0/0 10.240.0.1",
+ }
+ m_get_ib_interface_hwaddr.return_value = "00:21:28:00:01:cf:4b:01"
+ self.assertEqual(
+ [
+ {
+ "fixed-address": "192.168.2.74",
+ "interface": "ib0",
+ "routers": "192.168.2.1",
+ "static_routes": [
+ ("10.240.0.1/32", "0.0.0.0"),
+ ("0.0.0.0/0", "10.240.0.1"),
+ ],
+ "subnet-mask": "255.255.255.0",
+ }
+ ],
+ Udhcpc().dhcp_discovery("ib0", distro=MockDistro()),
+ )
+ # Interface was brought up before dhclient called
+ m_subp.assert_has_calls(
+ [
+ mock.call(
+ ["ip", "link", "set", "dev", "ib0", "up"], capture=True
+ ),
+ mock.call(
+ [
+ "/sbin/udhcpc",
+ "-O",
+ "staticroutes",
+ "-i",
+ "ib0",
+ "-s",
+ "/tmp/udhcpc_script",
+ "-n",
+ "-q",
+ "-f",
+ "-v",
+ "-x",
+ "0x3d:0021280001cf4b01",
+ ],
+ update_env={"LEASE_FILE": "/tmp/ib0.lease.json"},
+ capture=True,
+ ),
+ ]
+ )
diff --git a/tools/.github-cla-signers b/tools/.github-cla-signers
index b4a9326e..4d82a055 100644
--- a/tools/.github-cla-signers
+++ b/tools/.github-cla-signers
@@ -65,6 +65,7 @@ jacobsalmela
jamesottinger
Jehops
jf
+jfroche
Jille
JohnKepplers
johnsonshi
--
2.40.1

View file

@ -12,24 +12,23 @@
, coreutils
, gitUpdater
, busybox
, procps
}:
python3.pkgs.buildPythonApplication rec {
pname = "cloud-init";
version = "23.2.2";
version = "23.3.1";
namePrefix = "";
src = fetchFromGitHub {
owner = "canonical";
repo = "cloud-init";
rev = "refs/tags/${version}";
hash = "sha256-lOeLVgT/qTB6JhRcLv9QIfNLMnMyNlUp3dMCqva9Tes=";
hash = "sha256-3UxTqlhLZi/3/buWqDGto4cZN03uONbA8HEWQtaIRxU=";
};
patches = [
./0001-add-nixos-support.patch
# upstream: https://github.com/canonical/cloud-init/pull/4190
./0002-Add-Udhcpc-support.patch
];
prePatch = ''
@ -71,10 +70,12 @@ python3.pkgs.buildPythonApplication rec {
httpretty
dmidecode
# needed for tests; at runtime we rather want the setuid wrapper
passlib
shadow
responses
pytest-mock
coreutils
procps
];
makeWrapperArgs = [
@ -84,8 +85,11 @@ python3.pkgs.buildPythonApplication rec {
disabledTests = [
# tries to create /var
"test_dhclient_run_with_tmpdir"
"test_dhcp_client_failover"
# clears path and fails because mkdir is not found
"test_path_env_gets_set_from_main"
# fails to find cat
"test_subp_combined_stderr_stdout"
# tries to read from /etc/ca-certificates.conf while inside the sandbox
"test_handler_ca_certs"
"TestRemoveDefaultCaCerts"

View file

@ -10796,8 +10796,6 @@ with pkgs;
mfoc = callPackage ../tools/security/mfoc { };
mfoc-hardnested = callPackage ../tools/security/mfoc-hardnested { };
microbin = callPackage ../servers/microbin { };
microdnf = callPackage ../tools/package-management/microdnf { };
@ -11683,9 +11681,7 @@ with pkgs;
optifine = optifinePackages.optifine-latest;
optipng = callPackage ../tools/graphics/optipng {
libpng = libpng12;
};
optipng = callPackage ../tools/graphics/optipng { };
olsrd = callPackage ../tools/networking/olsrd { };

View file

@ -7518,7 +7518,12 @@ self: super: with self; {
onlykey-solo-python = callPackage ../development/python-modules/onlykey-solo-python { };
onnx = callPackage ../development/python-modules/onnx {
protobuf = protobuf3;
# in linux c++ defaults to 17
# on darwin clang is on an old version so c++ defaults to 11
abseil-cpp = if stdenv.isLinux then
pkgs.abseil-cpp_202301
else
pkgs.abseil-cpp_202301.override { cxxStandard = "17"; };
};
onnxconverter-common = callPackage ../development/python-modules/onnxconverter-common {

View file

@ -207,7 +207,8 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
qtinstaller = callPackage ../development/libraries/qtinstaller { };
qtkeychain = callPackage ../development/libraries/qtkeychain {
inherit (pkgs.darwin.apple_sdk.frameworks) CoreFoundation Security;
stdenv = if pkgs.stdenv.isDarwin then pkgs.darwin.apple_sdk_11_0.stdenv else pkgs.stdenv;
inherit (pkgs.darwin.apple_sdk_11_0.frameworks) CoreFoundation Security;
};
qtmpris = callPackage ../development/libraries/qtmpris { };