Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-06-07 06:01:17 +00:00 committed by GitHub
commit e7fb1ff4be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
24 changed files with 451 additions and 120 deletions

View File

@ -19,16 +19,16 @@
rustPlatform.buildRustPackage rec {
pname = "jujutsu";
version = "0.17.1";
version = "0.18.0";
src = fetchFromGitHub {
owner = "martinvonz";
repo = "jj";
rev = "v${version}";
hash = "sha256-3f/odQ5MgYGdPKUFqF90YGN84fXgG6BRkpN96TxJz1c=";
hash = "sha256-5KKF85RNCPPaXMxBb7m2XC3EaEo+UcEhBdfMEzNPsAg=";
};
cargoHash = "sha256-N4UUouJfhKhosMBFVM0QEUNgkh7NFryXUoPmGVXcLGQ=";
cargoHash = "sha256-MiJuen3Lo7nPaAK30cENw3ACAdoYbHDoiGS05dk5m6U=";
cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors
useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping

View File

@ -0,0 +1,125 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchYarnDeps
, buildGoModule
, systemd
, yarn
, fixup-yarn-lock
, nodejs
, grafana-alloy
, nix-update-script
, installShellFiles
, testers
}:
buildGoModule rec {
pname = "grafana-alloy";
version = "1.1.1";
src = fetchFromGitHub {
rev = "v${version}";
owner = "grafana";
repo = "alloy";
hash = "sha256-jaOQG+QkVi10lUp6izvSGE9j76ULc4yKbxdDhLHykYI=";
};
proxyVendor = true;
vendorHash = "sha256-6Xc2siImM1Dl716uGhtAGcn+PO2OLuYLxanzg8Ho6SA=";
nativeBuildInputs = [ fixup-yarn-lock yarn nodejs installShellFiles ];
ldflags =
let
prefix = "github.com/grafana/alloy/internal/build";
in
[
"-s"
"-w"
# https://github.com/grafana/alloy/blob/3201389252d2c011bee15ace0c9f4cdbcb978f9f/Makefile#L110
"-X ${prefix}.Branch=v${version}"
"-X ${prefix}.Version=${version}"
"-X ${prefix}.Revision=v${version}"
"-X ${prefix}.BuildUser=nix"
"-X ${prefix}.BuildDate=1970-01-01T00:00:00Z"
];
tags = [
"netgo"
"builtinassets"
"promtail_journal_enabled"
];
subPackages = [
"."
];
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/internal/web/ui/yarn.lock";
sha256 = "sha256-o3vCI9GHCr4SjYsiT0wQ4mN76QeAGwOfLVCzGp7NMf4=";
};
preBuild = ''
pushd internal/web/ui
# Yarn wants a real home directory to write cache, config, etc to
export HOME=$NIX_BUILD_TOP/fake_home
fixup-yarn-lock yarn.lock
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules/
yarn --offline build
popd
'';
# uses go-systemd, which uses libsystemd headers
# https://github.com/coreos/go-systemd/issues/351
NIX_CFLAGS_COMPILE = lib.optionals stdenv.isLinux [ "-I${lib.getDev systemd}/include" ];
checkFlags = [
"-tags nonetwork" # disable network tests
"-tags nodocker" # disable docker tests
];
# go-systemd uses libsystemd under the hood, which does dlopen(libsystemd) at
# runtime.
# Add to RUNPATH so it can be found.
postFixup = lib.optionalString stdenv.isLinux ''
patchelf \
--set-rpath "${lib.makeLibraryPath [ (lib.getLib systemd) ]}:$(patchelf --print-rpath $out/bin/alloy)" \
$out/bin/alloy
'';
postInstall = ''
installShellCompletion --cmd alloy \
--bash <($out/bin/alloy completion bash) \
--fish <($out/bin/alloy completion fish) \
--zsh <($out/bin/alloy completion zsh)
'';
passthru = {
tests = {
version = testers.testVersion {
version = "v${version}";
command = "${lib.getExe grafana-alloy} --version";
package = grafana-alloy;
};
};
updateScript = nix-update-script { };
# alias for nix-update to be able to find and update this attribute
offlineCache = yarnOfflineCache;
};
meta = with lib; {
description = "Open source OpenTelemetry Collector distribution with built-in Prometheus pipelines and support for metrics, logs, traces, and profiles";
mainProgram = "alloy";
license = licenses.asl20;
homepage = "https://grafana.com/oss/alloy";
maintainers = with maintainers; [ flokli emilylange ];
platforms = lib.platforms.unix;
};
}

View File

@ -40,13 +40,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "icewm";
version = "3.5.0";
version = "3.5.1";
src = fetchFromGitHub {
owner = "ice-wm";
repo = "icewm";
rev = finalAttrs.version;
hash = "sha256-n0p8i6v6QreCFiChngHnx+5K4Djj34/+dmIA+bj/0cU=";
hash = "sha256-5rDOmhXMc7B67rMa9s55LV/T9B8yb2vVNGM2fnFG6u8=";
};
strictDeps = true;

View File

@ -0,0 +1,105 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
nodejs,
overrideSDK,
pnpm_9,
python3,
renovate,
testers,
xcbuild,
}:
let
# fix build error, `no member named 'aligned_alloc'` on x86_64-darwin
# https://github.com/NixOS/nixpkgs/issues/272156#issuecomment-1839904283
stdenv' = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv;
in
stdenv'.mkDerivation (finalAttrs: {
pname = "renovate";
version = "37.393.0";
src = fetchFromGitHub {
owner = "renovatebot";
repo = "renovate";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-YgxcGNMgmwrausdR7kvG1NiyQPn0FcCq/isf9qUDCFY=";
};
postPatch = ''
substituteInPlace package.json \
--replace-fail "0.0.0-semantic-release" "${finalAttrs.version}"
'';
nativeBuildInputs = [
makeWrapper
nodejs
pnpm_9.configHook
python3
] ++ lib.optional stdenv'.hostPlatform.isDarwin xcbuild;
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-Zbe561q6xDKDIN+E/2eyQMz2GtpPvJEv2pAauMa+8pE=";
};
env.COREPACK_ENABLE_STRICT = 0;
buildPhase =
''
runHook preBuild
pnpm build
pnpm prune --prod --ignore-scripts
''
# The optional dependency re2 is not built by pnpm and needs to be built manually.
# If re2 is not built, you will get an annoying warning when you run renovate.
+ ''
pushd node_modules/.pnpm/re2*/node_modules/re2
mkdir -p $HOME/.node-gyp/${nodejs.version}
echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
export npm_config_nodedir=${nodejs}
npm run rebuild
popd
runHook postBuild
'';
# TODO: replace with `pnpm deploy`
# now it fails to build with ERR_PNPM_NO_OFFLINE_META
# see https://github.com/pnpm/pnpm/issues/5315
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib/node_modules/renovate}
cp -r dist node_modules package.json $out/lib/node_modules/renovate
makeWrapper "${lib.getExe nodejs}" "$out/bin/renovate" \
--add-flags "$out/lib/node_modules/renovate/dist/renovate.js"
makeWrapper "${lib.getExe nodejs}" "$out/bin/config-validator" \
--add-flags "$out/lib/node_modules/renovate/dist/config-validator.js"
runHook postInstall
'';
passthru.tests = {
version = testers.testVersion { package = renovate; };
};
meta = {
description = "Cross-platform Dependency Automation by Mend.io";
homepage = "https://github.com/renovatebot/renovate";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [
marie
natsukium
];
mainProgram = "renovate";
platforms = nodejs.meta.platforms;
};
})

View File

@ -1,17 +1,9 @@
{ callPackage, fetchpatch, ... }@_args:
{ callPackage, ... }@_args:
let
base = callPackage ./generic.nix ((removeAttrs _args [ "fetchpatch" ]) // {
version = "8.1.28";
hash = "sha256-i+RQCW4BU8R9dThOfdWVzIl/HVPOAGBwjOlYm8wxQe4=";
extraPatches = [
# Fix build with libxml 2.12+.
# Patch from https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082
(fetchpatch {
url = "https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082.patch";
hash = "sha256-HvpTL7aXO9gr4glFdhqUWQPrG8TYTlvbNINq33M3zS0=";
})
];
base = callPackage ./generic.nix (_args // {
version = "8.1.29";
hash = "sha256-h6YDEyY/L1M/GA5xknLKXkfNmITU7DyTcgGY6v+uCCc=";
});
in
base.withExtensions ({ all, ... }: with all; ([

View File

@ -2,8 +2,8 @@
let
base = callPackage ./generic.nix (_args // {
version = "8.2.19";
hash = "sha256-PBj3zlG3x7JreX4flwedOGswNH6wToF/XmyOmydeKmo=";
version = "8.2.20";
hash = "sha256-Xexvphx7nEeqHXZma+ZR8mQu0rz2zYY4xX41cc4qrGE=";
});
in
base.withExtensions ({ all, ... }: with all; ([

View File

@ -2,8 +2,8 @@
let
base = callPackage ./generic.nix (_args // {
version = "8.3.7";
hash = "sha256-AcIM3hxaVpZlGHXtIvUHhJZ5+6dA+MQhYWt9Q9f3l9o=";
version = "8.3.8";
hash = "sha256-9KbLAFrhF6uobCBEkyz1Y4maLpd6wJeBqnSyFh3cVjs=";
});
in
base.withExtensions ({ all, ... }: with all; ([

View File

@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "03d4ikh29l38rl1wavb0icw7m5pp7yilnv7bb2k8qij1dinsymlx";
};
CFLAGS = "-std=gnu89";
# For the x86_64 GNU/Linux arch to be recognized by 'configure'
preConfigure = "cp ${libtool}/share/libtool/build-aux/config.sub .";

View File

@ -16,13 +16,13 @@
buildPecl rec {
pname = "mongodb";
version = "1.19.1";
version = "1.19.2";
src = fetchFromGitHub {
owner = "mongodb";
repo = "mongo-php-driver";
rev = version;
hash = "sha256-5HGQDgZZu+miPijJD/Y48WlUVfxjkeU9gA7hByzxb/o=";
hash = "sha256-dsX7AMcbSfgzN6TfpJTaRAbhyBpOECvaok+CCOb4hyI=";
fetchSubmodules = true;
};

View File

@ -6,16 +6,16 @@
php.buildComposerProject (finalAttrs: {
pname = "phpstan";
version = "1.11.2";
version = "1.11.4";
src = fetchFromGitHub {
owner = "phpstan";
repo = "phpstan-src";
rev = finalAttrs.version;
hash = "sha256-g1YIFqNo1UTmNrgS+lAkDXSnKsmhLj+Itoi3tgxdx4Y=";
hash = "sha256-9scH169cOc4rFUqqs6gqySI9aGEU5Exi8v4VtG9ujY8=";
};
vendorHash = "sha256-sFV22B5ohbDvclb1nuvpMhhfKjEe7FAFCqWfIguAY8M=";
vendorHash = "sha256-u1GS1gyuU6T1ZJ1BLZZ/KbMoPemoN8VSFeR63/KgIAA=";
composerStrictValidation = false;
meta = {

View File

@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
setuptools,
numpy,
pytestCheckHook,
@ -21,6 +22,15 @@ buildPythonPackage rec {
hash = "sha256-RvzhB1kQNP0IbAygwH2RBi/kSyuFPAHgsiCATPeMHTo=";
};
patches = [
(fetchpatch {
# fix "incompatible function pointer types initializing 'PyUFuncGenericFunction'"
name = "const-function-signature.patch";
url = "https://github.com/aubio/aubio/commit/95ff046c698156f21e2ca0d1d8a02c23ab76969f.patch";
hash = "sha256-qKcIPjpcZUizSN/t96WOiOn+IlsrlC0+g7gW77KejH0=";
})
];
buildInputs = lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks;
[

View File

@ -40,7 +40,7 @@
buildPythonPackage rec {
pname = "diffusers";
version = "0.28.0";
version = "0.28.2";
pyproject = true;
disabled = pythonOlder "3.8";
@ -49,7 +49,7 @@ buildPythonPackage rec {
owner = "huggingface";
repo = "diffusers";
rev = "refs/tags/v${version}";
hash = "sha256-DYUVg96oHYoRqw/RGoH48YXfK/kfkYoqGQfkiOUr8DU=";
hash = "sha256-q1Y7YJSTVkPZF7KeHdOwO7XgTDBvFGioLR57adc1P+o=";
};
build-system = [ setuptools ];

View File

@ -30,5 +30,6 @@ buildPythonPackage rec {
mainProgram = "targetctl";
homepage = "https://github.com/open-iscsi/rtslib-fb";
license = licenses.asl20;
platforms = platforms.linux;
};
}

View File

@ -57,7 +57,7 @@
grpcio,
}:
let
version = "0.14.3";
version = "0.14.4";
optional-dependencies = {
huggingflace = [
langdetect
@ -100,7 +100,7 @@ buildPythonPackage {
owner = "Unstructured-IO";
repo = "unstructured";
rev = "refs/tags/${version}";
hash = "sha256-s+f3nCSuY/FhjNDnIaCj13WSp7Y7DqYwAJYfTxwH1Cc=";
hash = "sha256-1pkBa9SO0PJM0U0EWBtwUjdEnGQB1tSQvdjwb6FIIB8=";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,35 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
gitUpdater,
six,
setuptools,
}:
buildPythonPackage rec {
pname = "xmpppy";
version = "0.7.1";
pyproject = true;
src = fetchFromGitHub {
owner = "xmpppy";
repo = "xmpppy";
rev = "refs/tags/${version}";
hash = "sha256-SnzIjEWSCdiCtD8bmPTH02JprmZhrABB4HCqtt2RBuk=";
};
dependencies = [ six ];
build-system = [ setuptools ];
passthru.updateScript = gitUpdater { };
meta = with lib; {
description = "Python 2/3 implementation of XMPP";
homepage = "https://github.com/xmpppy/xmpppy";
changelog = "https://github.com/xmpppy/xmpppy/blob/${version}/CHANGES.rst";
license = licenses.gpl3Only;
maintainers = with maintainers; [ jopejoe1 ];
};
}

View File

@ -1,6 +1,6 @@
{ lib, fetchFromGitHub, elk7Version, buildGoModule, libpcap, nixosTests, systemd, config }:
let beat = package: extraArgs: buildGoModule (rec {
let beat = package: extraArgs: buildGoModule (lib.attrsets.recursiveUpdate (rec {
pname = package;
version = elk7Version;
@ -21,7 +21,7 @@ let beat = package: extraArgs: buildGoModule (rec {
maintainers = with maintainers; [ fadenb basvandijk dfithian ];
platforms = platforms.linux;
};
} // extraArgs);
}) extraArgs);
in
rec {
auditbeat7 = beat "auditbeat" { meta.description = "Lightweight shipper for audit data"; };

View File

@ -7,12 +7,12 @@
, stdenv
}:
let
version = "24.1.4";
version = "24.1.6";
src = fetchFromGitHub {
owner = "redpanda-data";
repo = "redpanda";
rev = "v${version}";
sha256 = "sha256-8N4Ig1IorKYe2ehKCeRNxVWmxLajaaDNvEgH/pSSVJE=";
sha256 = "sha256-zLqeokN84LrthNOg2wRmCy324sk4cMDPaTcdDbdhIoY=";
};
server = callPackage ./server.nix { inherit src version; };
in

View File

@ -3,6 +3,7 @@
lib.makeScope newScope (self: with self; {
gstat = callPackage ./gstat.nix { inherit Security; };
formats = callPackage ./formats.nix { inherit IOKit Foundation; };
polars = callPackage ./polars.nix { inherit IOKit Foundation; };
query = callPackage ./query.nix { inherit IOKit CoreFoundation; };
regex = throw "`nu_plugin_regex` is no longer compatible with the current Nushell release.";
net = callPackage ./net.nix { inherit IOKit CoreFoundation; };

View File

@ -1,10 +1,11 @@
{ lib
, rustPlatform
, fetchFromGitHub
, stdenv
, IOKit
, CoreFoundation
, unstableGitUpdater
{
lib,
rustPlatform,
fetchFromGitHub,
stdenv,
IOKit,
CoreFoundation,
unstableGitUpdater,
}:
rustPlatform.buildRustPackage {
@ -20,9 +21,7 @@ rustPlatform.buildRustPackage {
cargoHash = "sha256-nBxcxADyvPgGrfkW8eBq/wmB2Slq+YGJV2IlxuuCgCg=";
nativeBuildInputs = [
rustPlatform.bindgenHook
];
nativeBuildInputs = [ rustPlatform.bindgenHook ];
buildInputs = lib.optionals stdenv.isDarwin [
CoreFoundation
@ -36,6 +35,6 @@ rustPlatform.buildRustPackage {
homepage = "https://github.com/fennewald/nu_plugin_net";
license = licenses.mit;
maintainers = with maintainers; [ happysalada ];
mainProgram = "nu-plugin-net";
mainProgram = "nu_plugin_net";
};
}

View File

@ -0,0 +1,45 @@
{
stdenv,
lib,
rustPlatform,
openssl,
nushell,
pkg-config,
IOKit,
Foundation,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "nushell_plugin_polars";
inherit (nushell) version src;
cargoHash = "sha256-GkVX12MEHFP4g183zUzOUn4MNeTEBEpB+D5s0OXa4nc=";
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
buildInputs =
[ openssl ]
++ lib.optionals stdenv.isDarwin [
IOKit
Foundation
];
cargoBuildFlags = [ "--package nu_plugin_polars" ];
checkPhase = ''
cargo test --manifest-path crates/nu_plugin_polars/Cargo.toml
'';
passthru.updateScript = nix-update-script {
# Skip the version check and only check the hash because we inherit version from nushell.
extraArgs = [ "--version=skip" ];
};
meta = with lib; {
description = "Nushell dataframe plugin commands based on polars.";
mainProgram = "nu_plugin_polars";
homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_polars";
license = licenses.mit;
maintainers = with maintainers; [ joaquintrinanes ];
platforms = with platforms; all;
};
}

View File

@ -1,6 +1,3 @@
# to run these tests:
# nix-instantiate --eval --strict . -A tests.kernel-config
#
# make sure to use NON EXISTING kernel settings else they may conflict with
# common-config.nix
{ lib, pkgs }:
@ -37,37 +34,40 @@ let
{ NIXOS_FAKE_USB_DEBUG = option yes;}
];
failures = runTests {
testEasy = {
expr = (getConfig { NIXOS_FAKE_USB_DEBUG = yes;}).NIXOS_FAKE_USB_DEBUG;
expected = { tristate = "y"; optional = false; freeform = null; };
};
# mandatory flag should win over optional
testMandatoryCheck = {
expr = (getConfig mandatoryVsOptionalConfig).NIXOS_FAKE_USB_DEBUG.optional;
expected = false;
};
testYesWinsOverNo = {
expr = (getConfig mkDefaultWorksConfig)."NIXOS_TEST_BOOLEAN".tristate;
expected = "y";
};
testAllOptionalRemainOptional = {
expr = (getConfig allOptionalRemainOptional)."NIXOS_FAKE_USB_DEBUG".optional;
expected = true;
};
# check that freeform options are unique
# Should trigger
# > The option `settings.NIXOS_FAKE_MMC_BLOCK_MINORS.freeform' has conflicting definitions, in `<unknown-file>' and `<unknown-file>'
testTreeform = let
res = builtins.tryEval ( (getConfig freeformConfig).NIXOS_FAKE_MMC_BLOCK_MINORS.freeform);
in {
expr = res.success;
expected = false;
};
};
in
runTests {
testEasy = {
expr = (getConfig { NIXOS_FAKE_USB_DEBUG = yes;}).NIXOS_FAKE_USB_DEBUG;
expected = { tristate = "y"; optional = false; freeform = null; };
};
# mandatory flag should win over optional
testMandatoryCheck = {
expr = (getConfig mandatoryVsOptionalConfig).NIXOS_FAKE_USB_DEBUG.optional;
expected = false;
};
testYesWinsOverNo = {
expr = (getConfig mkDefaultWorksConfig)."NIXOS_TEST_BOOLEAN".tristate;
expected = "y";
};
testAllOptionalRemainOptional = {
expr = (getConfig allOptionalRemainOptional)."NIXOS_FAKE_USB_DEBUG".optional;
expected = true;
};
# check that freeform options are unique
# Should trigger
# > The option `settings.NIXOS_FAKE_MMC_BLOCK_MINORS.freeform' has conflicting definitions, in `<unknown-file>' and `<unknown-file>'
testTreeform = let
res = builtins.tryEval ( (getConfig freeformConfig).NIXOS_FAKE_MMC_BLOCK_MINORS.freeform);
in {
expr = res.success;
expected = false;
};
}
lib.optional (failures != [])
(throw "The following kernel unit tests failed: ${lib.generators.toPretty {} failures}")

View File

@ -1,37 +1,42 @@
{ pkgs, lib, stdenv, ... }:
lib.runTests {
# Merging two non-list definitions must still result in an error
# about a conflicting definition.
test-unitOption-merging-non-lists-conflict =
let nixos = pkgs.nixos {
system.stateVersion = lib.trivial.release;
systemd.services.systemd-test-nixos = {
serviceConfig = lib.mkMerge [
{ StateDirectory = "foo"; }
{ StateDirectory = "bar"; }
];
let
failures = lib.runTests {
# Merging two non-list definitions must still result in an error
# about a conflicting definition.
test-unitOption-merging-non-lists-conflict =
let nixos = pkgs.nixos {
system.stateVersion = lib.trivial.release;
systemd.services.systemd-test-nixos = {
serviceConfig = lib.mkMerge [
{ StateDirectory = "foo"; }
{ StateDirectory = "bar"; }
];
};
};
};
in {
expr = (builtins.tryEval (nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory)).success;
expected = false;
};
in {
expr = (builtins.tryEval (nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory)).success;
expected = false;
};
# Merging must lift non-list definitions to a list
# if at least one of them is a list.
test-unitOption-merging-list-non-list-append =
let nixos = pkgs.nixos {
system.stateVersion = lib.trivial.release;
systemd.services.systemd-test-nixos = {
serviceConfig = lib.mkMerge [
{ StateDirectory = "foo"; }
{ StateDirectory = ["bar"]; }
];
# Merging must lift non-list definitions to a list
# if at least one of them is a list.
test-unitOption-merging-list-non-list-append =
let nixos = pkgs.nixos {
system.stateVersion = lib.trivial.release;
systemd.services.systemd-test-nixos = {
serviceConfig = lib.mkMerge [
{ StateDirectory = "foo"; }
{ StateDirectory = ["bar"]; }
];
};
};
};
in {
expr = nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory;
expected = [ "foo" "bar" ];
in {
expr = nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory;
expected = [ "foo" "bar" ];
};
};
}
in
lib.optional (failures != [])
(throw "The following systemd unit tests failed: ${lib.generators.toPretty {} failures}")

View File

@ -1,27 +1,36 @@
{ lib, python3Packages, fetchPypi }:
{ lib, python3Packages, fetchFromGitHub, gitUpdater }:
python3Packages.buildPythonApplication rec {
pname = "moodle-dl";
version = "2.2.2.4";
version = "2.3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-76JU/uYJH7nVWCR+d8vvjYCCSMfe/8R9l756AmzZPHU=";
src = fetchFromGitHub {
owner = "C0D3D3V";
repo = "Moodle-DL";
rev = "refs/tags/${version}";
hash = "sha256-IBd8cVXxbQ8oR10RXSPmu5cLajn5PuNXomXHOWsXfdM=";
};
propagatedBuildInputs = with python3Packages; [
sentry-sdk
colorama
yt-dlp
aiodns
aiofiles
aiohttp
certifi
colorama
colorlog
html2text
readchar
requests
aioxmpp
sentry-sdk
xmpppy
yt-dlp
];
# upstream has no tests
doCheck = false;
passthru.updateScript = gitUpdater { };
meta = with lib; {
homepage = "https://github.com/C0D3D3V/Moodle-Downloader-2";
maintainers = [ maintainers.kmein ];

View File

@ -17163,6 +17163,8 @@ self: super: with self; {
xmodem = callPackage ../development/python-modules/xmodem { };
xmpppy = callPackage ../development/python-modules/xmpppy { };
xnatpy = callPackage ../development/python-modules/xnatpy { };
xnd = callPackage ../development/python-modules/xnd { };