diff --git a/pkgs/applications/version-management/jujutsu/default.nix b/pkgs/applications/version-management/jujutsu/default.nix index 54a7617f2b0f..cc0eb566ccc3 100644 --- a/pkgs/applications/version-management/jujutsu/default.nix +++ b/pkgs/applications/version-management/jujutsu/default.nix @@ -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 diff --git a/pkgs/by-name/gr/grafana-alloy/package.nix b/pkgs/by-name/gr/grafana-alloy/package.nix new file mode 100644 index 000000000000..63de413775e6 --- /dev/null +++ b/pkgs/by-name/gr/grafana-alloy/package.nix @@ -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; + }; +} diff --git a/pkgs/by-name/ic/icewm/package.nix b/pkgs/by-name/ic/icewm/package.nix index e19e9490a0ed..73505aa5afbc 100644 --- a/pkgs/by-name/ic/icewm/package.nix +++ b/pkgs/by-name/ic/icewm/package.nix @@ -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; diff --git a/pkgs/by-name/re/renovate/package.nix b/pkgs/by-name/re/renovate/package.nix new file mode 100644 index 000000000000..bf633d9143b5 --- /dev/null +++ b/pkgs/by-name/re/renovate/package.nix @@ -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; + }; +}) diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix index b31d08fbda3a..a6eed4d4772b 100644 --- a/pkgs/development/interpreters/php/8.1.nix +++ b/pkgs/development/interpreters/php/8.1.nix @@ -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; ([ diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix index a63f1391616d..e50bdfd13741 100644 --- a/pkgs/development/interpreters/php/8.2.nix +++ b/pkgs/development/interpreters/php/8.2.nix @@ -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; ([ diff --git a/pkgs/development/interpreters/php/8.3.nix b/pkgs/development/interpreters/php/8.3.nix index 1da9841f7894..ae4ad6e949b1 100644 --- a/pkgs/development/interpreters/php/8.3.nix +++ b/pkgs/development/interpreters/php/8.3.nix @@ -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; ([ diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix index 2d2a0089c443..2446df52a2bc 100644 --- a/pkgs/development/libraries/libxmi/default.nix +++ b/pkgs/development/libraries/libxmi/default.nix @@ -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 ."; diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix index f79a308a33ce..a9b99cf5150c 100644 --- a/pkgs/development/php-packages/mongodb/default.nix +++ b/pkgs/development/php-packages/mongodb/default.nix @@ -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; }; diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix index dc44afc3bc97..d2e42454c102 100644 --- a/pkgs/development/php-packages/phpstan/default.nix +++ b/pkgs/development/php-packages/phpstan/default.nix @@ -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 = { diff --git a/pkgs/development/python-modules/aubio/default.nix b/pkgs/development/python-modules/aubio/default.nix index f6766bd56a53..a250c710d7d6 100644 --- a/pkgs/development/python-modules/aubio/default.nix +++ b/pkgs/development/python-modules/aubio/default.nix @@ -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; [ diff --git a/pkgs/development/python-modules/diffusers/default.nix b/pkgs/development/python-modules/diffusers/default.nix index 855547d5226e..23580b69ced6 100644 --- a/pkgs/development/python-modules/diffusers/default.nix +++ b/pkgs/development/python-modules/diffusers/default.nix @@ -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 ]; diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix index 23ec07248994..5be26edebbfa 100644 --- a/pkgs/development/python-modules/rtslib/default.nix +++ b/pkgs/development/python-modules/rtslib/default.nix @@ -30,5 +30,6 @@ buildPythonPackage rec { mainProgram = "targetctl"; homepage = "https://github.com/open-iscsi/rtslib-fb"; license = licenses.asl20; + platforms = platforms.linux; }; } diff --git a/pkgs/development/python-modules/unstructured/default.nix b/pkgs/development/python-modules/unstructured/default.nix index 3a040b664a96..bfaa9f4cb5d2 100644 --- a/pkgs/development/python-modules/unstructured/default.nix +++ b/pkgs/development/python-modules/unstructured/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix new file mode 100644 index 000000000000..648508d35414 --- /dev/null +++ b/pkgs/development/python-modules/xmpppy/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/misc/logging/beats/7.x.nix b/pkgs/misc/logging/beats/7.x.nix index 5d0629d1fb69..70c1e26a49d6 100644 --- a/pkgs/misc/logging/beats/7.x.nix +++ b/pkgs/misc/logging/beats/7.x.nix @@ -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"; }; diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix index d50b879fa018..0d23d6e4a701 100644 --- a/pkgs/servers/redpanda/default.nix +++ b/pkgs/servers/redpanda/default.nix @@ -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 diff --git a/pkgs/shells/nushell/plugins/default.nix b/pkgs/shells/nushell/plugins/default.nix index eb8bbe14c281..cdc35b15773b 100644 --- a/pkgs/shells/nushell/plugins/default.nix +++ b/pkgs/shells/nushell/plugins/default.nix @@ -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; }; diff --git a/pkgs/shells/nushell/plugins/net.nix b/pkgs/shells/nushell/plugins/net.nix index 8386810a194d..d6d17966c460 100644 --- a/pkgs/shells/nushell/plugins/net.nix +++ b/pkgs/shells/nushell/plugins/net.nix @@ -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"; }; } diff --git a/pkgs/shells/nushell/plugins/polars.nix b/pkgs/shells/nushell/plugins/polars.nix new file mode 100644 index 000000000000..4d2c853892cf --- /dev/null +++ b/pkgs/shells/nushell/plugins/polars.nix @@ -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; + }; +} diff --git a/pkgs/test/kernel.nix b/pkgs/test/kernel.nix index 2ccd188b1edb..e345d9fa207e 100644 --- a/pkgs/test/kernel.nix +++ b/pkgs/test/kernel.nix @@ -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 `' and `' + 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 `' and `' - 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}") diff --git a/pkgs/test/systemd/nixos/default.nix b/pkgs/test/systemd/nixos/default.nix index e45399b63516..37b42ea7ae27 100644 --- a/pkgs/test/systemd/nixos/default.nix +++ b/pkgs/test/systemd/nixos/default.nix @@ -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}") diff --git a/pkgs/tools/networking/moodle-dl/default.nix b/pkgs/tools/networking/moodle-dl/default.nix index 76c3e4b1a20a..df65265127b1 100644 --- a/pkgs/tools/networking/moodle-dl/default.nix +++ b/pkgs/tools/networking/moodle-dl/default.nix @@ -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 ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5cf33b627c88..1ecedeed228d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -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 { };