1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-09-11 15:08:33 +01:00

Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-06-04 12:01:48 +00:00 committed by GitHub
commit 6ec1ebc334
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
34 changed files with 562 additions and 224 deletions

View file

@ -11585,7 +11585,7 @@
name = "Daniel Kuehn";
};
lelgenio = {
email = "lelgenio@disroot.org";
email = "lelgenio@lelgenio.com";
github = "lelgenio";
githubId = 31388299;
name = "Leonardo Eugênio";

View file

@ -102,6 +102,7 @@ in rec {
(onSystems ["x86_64-linux"] "nixos.tests.installer.swraid")
(onSystems ["x86_64-linux"] "nixos.tests.installer.zfsroot")
(onSystems ["x86_64-linux"] "nixos.tests.nixos-rebuild-specialisations")
(onFullSupported "nixos.tests.nix-misc.default")
(onFullSupported "nixos.tests.ipv6")
(onFullSupported "nixos.tests.keymap.azerty")
(onFullSupported "nixos.tests.keymap.colemak")

View file

@ -643,6 +643,7 @@ in {
nitter = handleTest ./nitter.nix {};
nix-config = handleTest ./nix-config.nix {};
nix-ld = handleTest ./nix-ld.nix {};
nix-misc = handleTest ./nix/misc.nix {};
nix-serve = handleTest ./nix-serve.nix {};
nix-serve-ssh = handleTest ./nix-serve-ssh.nix {};
nixops = handleTest ./nixops/default.nix {};

View file

@ -1,188 +1,139 @@
# Miscellaneous small tests that don't warrant their own VM run.
{ pkgs, ... }:
let
inherit (pkgs) lib;
tests = {
default = testsForPackage { nixPackage = pkgs.nix; };
lix = testsForPackage { nixPackage = pkgs.lix; };
};
import ./make-test-python.nix ({ lib, pkgs, ...} : let
foo = pkgs.writeText "foo" "Hello World";
in {
name = "misc";
meta.maintainers = with lib.maintainers; [ eelco ];
testsForPackage = args: lib.recurseIntoAttrs {
# If the attribute is not named 'test'
# You will break all the universe on the release-*.nix side of things.
# `discoverTests` relies on `test` existence to perform a `callTest`.
test = testMiscFeatures args;
passthru.override = args': testsForPackage (args // args');
};
testMiscFeatures = { nixPackage, ... }: pkgs.testers.nixosTest (
let
foo = pkgs.writeText "foo" "Hello World";
in {
name = "misc";
meta.maintainers = with lib.maintainers; [ raitobezarius ];
nodes.machine =
{ lib, ... }:
{ swapDevices = lib.mkOverride 0
[ { device = "/root/swapfile"; size = 128; } ];
environment.variables.EDITOR = lib.mkOverride 0 "emacs";
documentation.nixos.enable = lib.mkOverride 0 true;
systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
systemd.tmpfiles.settings."10-test"."/tmp/somefile".d = {};
virtualisation.fileSystems = { "/tmp2" =
{ fsType = "tmpfs";
options = [ "mode=1777" "noauto" ];
};
# Tests https://discourse.nixos.org/t/how-to-make-a-derivations-executables-have-the-s-permission/8555
"/user-mount/point" = {
device = "/user-mount/source";
fsType = "none";
options = [ "bind" "rw" "user" "noauto" ];
};
"/user-mount/denied-point" = {
device = "/user-mount/denied-source";
fsType = "none";
options = [ "bind" "rw" "noauto" ];
};
nodes.machine =
{ lib, ... }:
{ swapDevices = lib.mkOverride 0
[ { device = "/root/swapfile"; size = 128; } ];
environment.variables.EDITOR = lib.mkOverride 0 "emacs";
documentation.nixos.enable = lib.mkOverride 0 true;
systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
systemd.tmpfiles.settings."10-test"."/tmp/somefile".d = {};
virtualisation.fileSystems = { "/tmp2" =
{ fsType = "tmpfs";
options = [ "mode=1777" "noauto" ];
};
# Tests https://discourse.nixos.org/t/how-to-make-a-derivations-executables-have-the-s-permission/8555
"/user-mount/point" = {
device = "/user-mount/source";
fsType = "none";
options = [ "bind" "rw" "user" "noauto" ];
};
"/user-mount/denied-point" = {
device = "/user-mount/denied-source";
fsType = "none";
options = [ "bind" "rw" "noauto" ];
};
systemd.automounts = lib.singleton
{ wantedBy = [ "multi-user.target" ];
where = "/tmp2";
};
users.users.sybil = { isNormalUser = true; group = "wheel"; };
users.users.alice = { isNormalUser = true; };
security.sudo = { enable = true; wheelNeedsPassword = false; };
boot.kernel.sysctl."vm.swappiness" = 1;
boot.kernelParams = [ "vsyscall=emulate" ];
system.extraDependencies = [ foo ];
nix.package = nixPackage;
};
systemd.automounts = lib.singleton
{ wantedBy = [ "multi-user.target" ];
where = "/tmp2";
};
users.users.sybil = { isNormalUser = true; group = "wheel"; };
users.users.alice = { isNormalUser = true; };
security.sudo = { enable = true; wheelNeedsPassword = false; };
boot.kernel.sysctl."vm.swappiness" = 1;
boot.kernelParams = [ "vsyscall=emulate" ];
system.extraDependencies = [ foo ];
};
testScript =
''
import json
testScript =
''
with subtest("nixos-version"):
machine.succeed("[ `nixos-version | wc -w` = 2 ]")
with subtest("nixos-rebuild"):
assert "NixOS module" in machine.succeed("nixos-rebuild --help")
def get_path_info(path):
result = machine.succeed(f"nix --option experimental-features nix-command path-info --json {path}")
parsed = json.loads(result)
return parsed
with subtest("Sanity check for uid/gid assignment"):
assert "4" == machine.succeed("id -u messagebus").strip()
assert "4" == machine.succeed("id -g messagebus").strip()
assert "users:x:100:" == machine.succeed("getent group users").strip()
with subtest("Regression test for GMP aborts on QEMU."):
machine.succeed("expr 1 + 2")
with subtest("nix-db"):
out = "${foo}"
info = get_path_info(out)
print(info)
with subtest("the swap file got created"):
machine.wait_for_unit("root-swapfile.swap")
machine.succeed("ls -l /root/swapfile | grep 134217728")
pathinfo = info[0] if isinstance(info, list) else info[out]
with subtest("whether kernel.poweroff_cmd is set"):
machine.succeed('[ -x "$(cat /proc/sys/kernel/poweroff_cmd)" ]')
if (
pathinfo["narHash"]
!= "sha256-BdMdnb/0eWy3EddjE83rdgzWWpQjfWPAj3zDIFMD3Ck="
):
raise Exception("narHash not set")
with subtest("whether the io cgroupv2 controller is properly enabled"):
machine.succeed("grep -q '\\bio\\b' /sys/fs/cgroup/cgroup.controllers")
if pathinfo["narSize"] != 128:
raise Exception("narSize not set")
with subtest("whether we have a reboot record in wtmp"):
machine.shutdown
machine.wait_for_unit("multi-user.target")
machine.succeed("last | grep reboot >&2")
with subtest("nixos-version"):
machine.succeed("[ `nixos-version | wc -w` = 2 ]")
with subtest("whether we can override environment variables"):
machine.succeed('[ "$EDITOR" = emacs ]')
with subtest("nixos-rebuild"):
assert "NixOS module" in machine.succeed("nixos-rebuild --help")
with subtest("whether hostname (and by extension nss_myhostname) works"):
assert "machine" == machine.succeed("hostname").strip()
assert "machine" == machine.succeed("hostname -s").strip()
with subtest("Sanity check for uid/gid assignment"):
assert "4" == machine.succeed("id -u messagebus").strip()
assert "4" == machine.succeed("id -g messagebus").strip()
assert "users:x:100:" == machine.succeed("getent group users").strip()
with subtest("whether systemd-udevd automatically loads modules for our hardware"):
machine.succeed("systemctl start systemd-udev-settle.service")
machine.wait_for_unit("systemd-udev-settle.service")
assert "mousedev" in machine.succeed("lsmod")
with subtest("Regression test for GMP aborts on QEMU."):
machine.succeed("expr 1 + 2")
with subtest("whether systemd-tmpfiles-clean works"):
machine.succeed(
"touch /tmp/foo", "systemctl start systemd-tmpfiles-clean", "[ -e /tmp/foo ]"
)
# move into the future
machine.succeed(
'date -s "@$(($(date +%s) + 1000000))"',
"systemctl start systemd-tmpfiles-clean",
)
machine.fail("[ -e /tmp/foo ]")
with subtest("the swap file got created"):
machine.wait_for_unit("root-swapfile.swap")
machine.succeed("ls -l /root/swapfile | grep 134217728")
with subtest("whether systemd-tmpfiles settings works"):
machine.succeed("[ -e /tmp/somefile ]")
with subtest("whether kernel.poweroff_cmd is set"):
machine.succeed('[ -x "$(cat /proc/sys/kernel/poweroff_cmd)" ]')
with subtest("whether automounting works"):
machine.fail("grep '/tmp2 tmpfs' /proc/mounts")
machine.succeed("touch /tmp2/x")
machine.succeed("grep '/tmp2 tmpfs' /proc/mounts")
with subtest("whether the io cgroupv2 controller is properly enabled"):
machine.succeed("grep -q '\\bio\\b' /sys/fs/cgroup/cgroup.controllers")
with subtest(
"Whether mounting by a user is possible with the `user` option in fstab (#95444)"
):
machine.succeed("mkdir -p /user-mount/source")
machine.succeed("touch /user-mount/source/file")
machine.succeed("chmod -R a+Xr /user-mount/source")
machine.succeed("mkdir /user-mount/point")
machine.succeed("chown alice:users /user-mount/point")
machine.succeed("su - alice -c 'mount /user-mount/point'")
machine.succeed("su - alice -c 'ls /user-mount/point/file'")
with subtest(
"Whether mounting by a user is denied without the `user` option in fstab"
):
machine.succeed("mkdir -p /user-mount/denied-source")
machine.succeed("touch /user-mount/denied-source/file")
machine.succeed("chmod -R a+Xr /user-mount/denied-source")
machine.succeed("mkdir /user-mount/denied-point")
machine.succeed("chown alice:users /user-mount/denied-point")
machine.fail("su - alice -c 'mount /user-mount/denied-point'")
with subtest("whether we have a reboot record in wtmp"):
machine.shutdown
machine.wait_for_unit("multi-user.target")
machine.succeed("last | grep reboot >&2")
with subtest("shell-vars"):
machine.succeed('[ -n "$NIX_PATH" ]')
with subtest("whether we can override environment variables"):
machine.succeed('[ "$EDITOR" = emacs ]')
with subtest("Test sysctl"):
machine.wait_for_unit("systemd-sysctl.service")
assert "1" == machine.succeed("sysctl -ne vm.swappiness").strip()
machine.execute("sysctl vm.swappiness=60")
assert "60" == machine.succeed("sysctl -ne vm.swappiness").strip()
with subtest("whether hostname (and by extension nss_myhostname) works"):
assert "machine" == machine.succeed("hostname").strip()
assert "machine" == machine.succeed("hostname -s").strip()
with subtest("whether systemd-udevd automatically loads modules for our hardware"):
machine.succeed("systemctl start systemd-udev-settle.service")
machine.wait_for_unit("systemd-udev-settle.service")
assert "mousedev" in machine.succeed("lsmod")
with subtest("whether systemd-tmpfiles-clean works"):
machine.succeed(
"touch /tmp/foo", "systemctl start systemd-tmpfiles-clean", "[ -e /tmp/foo ]"
)
# move into the future
machine.succeed(
'date -s "@$(($(date +%s) + 1000000))"',
"systemctl start systemd-tmpfiles-clean",
)
machine.fail("[ -e /tmp/foo ]")
with subtest("whether systemd-tmpfiles settings works"):
machine.succeed("[ -e /tmp/somefile ]")
with subtest("whether automounting works"):
machine.fail("grep '/tmp2 tmpfs' /proc/mounts")
machine.succeed("touch /tmp2/x")
machine.succeed("grep '/tmp2 tmpfs' /proc/mounts")
with subtest(
"Whether mounting by a user is possible with the `user` option in fstab (#95444)"
):
machine.succeed("mkdir -p /user-mount/source")
machine.succeed("touch /user-mount/source/file")
machine.succeed("chmod -R a+Xr /user-mount/source")
machine.succeed("mkdir /user-mount/point")
machine.succeed("chown alice:users /user-mount/point")
machine.succeed("su - alice -c 'mount /user-mount/point'")
machine.succeed("su - alice -c 'ls /user-mount/point/file'")
with subtest(
"Whether mounting by a user is denied without the `user` option in fstab"
):
machine.succeed("mkdir -p /user-mount/denied-source")
machine.succeed("touch /user-mount/denied-source/file")
machine.succeed("chmod -R a+Xr /user-mount/denied-source")
machine.succeed("mkdir /user-mount/denied-point")
machine.succeed("chown alice:users /user-mount/denied-point")
machine.fail("su - alice -c 'mount /user-mount/denied-point'")
with subtest("shell-vars"):
machine.succeed('[ -n "$NIX_PATH" ]')
with subtest("nix-db"):
machine.succeed("nix-store -qR /run/current-system | grep nixos-")
with subtest("Test sysctl"):
machine.wait_for_unit("systemd-sysctl.service")
assert "1" == machine.succeed("sysctl -ne vm.swappiness").strip()
machine.execute("sysctl vm.swappiness=60")
assert "60" == machine.succeed("sysctl -ne vm.swappiness").strip()
with subtest("Test boot parameters"):
assert "vsyscall=emulate" in machine.succeed("cat /proc/cmdline")
'';
});
in
tests
with subtest("Test boot parameters"):
assert "vsyscall=emulate" in machine.succeed("cat /proc/cmdline")
'';
})

64
nixos/tests/nix/misc.nix Normal file
View file

@ -0,0 +1,64 @@
# Miscellaneous small tests that don't warrant their own VM run.
{ pkgs, ... }:
let
inherit (pkgs) lib;
tests = {
default = testsForPackage { nixPackage = pkgs.nix; };
lix = testsForPackage { nixPackage = pkgs.lix; };
};
testsForPackage = args: lib.recurseIntoAttrs {
# If the attribute is not named 'test'
# You will break all the universe on the release-*.nix side of things.
# `discoverTests` relies on `test` existence to perform a `callTest`.
test = testMiscFeatures args;
passthru.override = args': testsForPackage (args // args');
};
testMiscFeatures = { nixPackage, ... }: pkgs.testers.nixosTest (
let
foo = pkgs.writeText "foo" "Hello World";
in {
name = "${nixPackage.pname}-misc";
meta.maintainers = with lib.maintainers; [ raitobezarius artturin ];
nodes.machine =
{ lib, ... }:
{
system.extraDependencies = [ foo ];
nix.package = nixPackage;
};
testScript =
''
import json
def get_path_info(path):
result = machine.succeed(f"nix --option experimental-features nix-command path-info --json {path}")
parsed = json.loads(result)
return parsed
with subtest("nix-db"):
out = "${foo}"
info = get_path_info(out)
print(info)
pathinfo = info[0] if isinstance(info, list) else info[out]
if (
pathinfo["narHash"]
!= "sha256-BdMdnb/0eWy3EddjE83rdgzWWpQjfWPAj3zDIFMD3Ck="
):
raise Exception("narHash not set")
if pathinfo["narSize"] != 128:
raise Exception("narSize not set")
with subtest("nix-db"):
machine.succeed("nix-store -qR /run/current-system | grep nixos-")
'';
});
in
tests

View file

@ -24,13 +24,13 @@
}:
let
version = "2.8.6";
version = "2.9.0";
src = fetchFromGitHub {
owner = "paperless-ngx";
repo = "paperless-ngx";
rev = "refs/tags/v${version}";
hash = "sha256-Jcy/nds/JuivRV8mRtq2FbBB2L/CGqmoHoG1wVCwHFU=";
hash = "sha256-7dcZbuz3yi0sND6AEqIwIo9byeZheOpIAhmBpOW5lhU=";
};
# subpath installation is broken with uvicorn >= 0.26
@ -74,7 +74,7 @@ let
cd src-ui
'';
npmDepsHash = "sha256-xRUZnFekzWHPtlUbpt0JZmlNjdjS1bBZDz8MmH8DC2U=";
npmDepsHash = "sha256-gLEzifZK8Ok1SOo3YIIV5pTx4cbedQh025VqkodYrYQ=";
nativeBuildInputs = [
pkg-config

View file

@ -0,0 +1,77 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
wrapQtAppsHook,
pkg-config,
qtbase,
qwt,
fftwFloat,
libsamplerate,
portaudio,
libusb1,
libsndfile,
featuresOverride ? { },
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sdr-j-fm";
# The stable release doen't include the commit the came after 3.16 which
# added support for cmake options instead of using cmake set() commands. See
# also: https://github.com/JvanKatwijk/sdr-j-fm/pull/25
version = "3.16-unstable-2023-12-07";
src = fetchFromGitHub {
owner = "JvanKatwijk";
repo = "sdr-j-fm";
rev = "8e3a67f8fbf72dd6968cbeb2e3d7d513fd107c71";
hash = "sha256-l9WqfhDp2V01lhleYZqRpmyL1Ww+tJj10bjkMMlvyA0=";
};
nativeBuildInputs = [
cmake
wrapQtAppsHook
pkg-config
];
buildInputs = [
qtbase
qwt
fftwFloat
libsamplerate
portaudio
libusb1
libsndfile
];
cmakeFlags = lib.mapAttrsToList lib.cmakeBool finalAttrs.passthru.features;
passthru = {
features = {
# All of these features don't require an external depencies, althought it
# may be implied - upstraem bundles everything they need in their repo.
AIRSPY = true;
SDRPLAY = true;
SDRPLAY_V3 = true;
HACKRF = true;
PLUTO = true;
# Some more cmake flags are mentioned in upstream's CMakeLists.txt file
# but they don't actually make a difference.
} // featuresOverride;
};
postInstall = ''
# Weird default of upstream
mv $out/linux-bin $out/bin
'';
meta = with lib; {
description = "SDR based FM radio receiver software";
homepage = "https://github.com/JvanKatwijk/sdr-j-fm";
license = licenses.gpl2Only;
maintainers = with maintainers; [ doronbehar ];
# Upstream doesn't find libusb1 on Darwin. Upstream probably doesn't
# support it officially.
platforms = platforms.linux;
};
})

View file

@ -44,6 +44,10 @@
let
platformSpecific = {
i686.msVarsArgs = {
flavor = "OVMF";
archDir = "Ia32";
};
x86_64.msVarsArgs = {
flavor = "OVMF_4M";
archDir = "X64";

View file

@ -33,11 +33,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "apt";
version = "2.9.3";
version = "2.9.4";
src = fetchurl {
url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz";
hash = "sha256-7R0BlcpujXjbulOJ7Eb8/gQiut77vce1GkbJCfa6LXE=";
hash = "sha256-Ra6jeJM7nkaPZWBR7Sv8+TurArs1D5TodUcn6xe0B6Q=";
};
# cycle detection; lib can't be split

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "butt";
version = "1.41.1";
version = "1.42.0";
src = fetchurl {
url = "https://danielnoethen.de/butt/release/${finalAttrs.version}/butt-${finalAttrs.version}.tar.gz";
hash = "sha256-y/XIcFm1TWVd5SL+kDCJc21CtMwipMQgRE4gPra5+98=";
hash = "sha256-/Y96Pq/3D37n/2JZdvcEQ1BBEtHlJ030QLesfNyBg2g=";
};
postPatch = ''

View file

@ -0,0 +1,56 @@
{
lib,
fetchFromGitHub,
rustPlatform,
makeWrapper,
cargo,
rustfmt,
cargo-show-asm,
cargo-expand,
clang,
# Workaround to allow easily overriding runtime inputs
runtimeInputs ? [
cargo
rustfmt
cargo-show-asm
cargo-expand
clang
],
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "irust";
version = "1.71.23";
src = fetchFromGitHub {
owner = "sigmaSd";
repo = "IRust";
rev = "irust@${version}";
hash = "sha256-+kl22m2Is8CdLlqGSFOglw4/fM1exayaMH05YSuTsbw=";
};
cargoHash = "sha256-4aQ1IOTcUAkgiQucUG8cg9pVShtlu2IJeqNCGO+6VYY=";
nativeBuildInputs = [ makeWrapper ];
postFixup = ''
wrapProgram $out/bin/irust \
--suffix PATH : ${lib.makeBinPath runtimeInputs}
'';
checkFlags = [
"--skip=repl"
"--skip=printer::tests"
];
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Cross Platform Rust Repl";
homepage = "https://github.com/sigmaSd/IRust";
license = licenses.mit;
maintainers = with maintainers; [ lelgenio ];
mainProgram = "irust";
};
}

View file

@ -0,0 +1,41 @@
{
lib,
fetchurl,
appimageTools,
makeWrapper,
}:
let
pname = "muffon";
version = "2.0.3";
src = fetchurl {
url = "https://github.com/staniel359/muffon/releases/download/v${version}/muffon-${version}-linux-x86_64.AppImage";
hash = "sha256-2eLe/xvdWcOcUSE0D+pMOcOYCfFVEyKO13LiaJiZgX0=";
};
appimageContents = appimageTools.extractType2 { inherit pname src version; };
in
appimageTools.wrapType2 {
inherit pname src version;
extraInstallCommands = ''
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/muffon \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
install -m 444 -D ${appimageContents}/muffon.desktop -t $out/share/applications
substituteInPlace $out/share/applications/muffon.desktop \
--replace-fail 'Exec=AppRun' 'Exec=muffon'
install -m 444 -D ${appimageContents}/muffon.png \
$out/share/icons/hicolor/512x512/apps/muffon.png
'';
meta = {
description = "Advanced multi-source music streaming client";
homepage = "https://muffon.netlify.app/";
changelog = "https://github.com/staniel359/muffon/releases/tag/v${version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ octodi ];
mainProgram = "muffon";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -34,13 +34,13 @@
, pantheon
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "epiphany";
version = "46.0";
version = "46.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-9DSPLPUcB8DBBtEwFy1NI/LNQGh3Hh3gB7dYyireVmA=";
url = "mirror://gnome/sources/epiphany/${lib.versions.major finalAttrs.version}/epiphany-${finalAttrs.version}.tar.xz";
hash = "sha256-Jg+BRp7WR0bCsRQ/Lzi+3NloR3hlZ7CX2fcv072dsUI=";
};
nativeBuildInputs = [
@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
packageName = "epiphany";
};
};
@ -106,4 +106,4 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}
})

View file

@ -43,13 +43,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "gdm";
version = "46.0";
version = "46.2";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/gdm/${lib.versions.major finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
hash = "sha256-jWy1IXbspItrvxz+L9rgjZZ3taDyvKYA3uRgTeDdHvw=";
hash = "sha256-TuNFQioWU3FQzYQkUM2lKyyoaYS8Ue4gzcAl3PS9Jos=";
};
mesonFlags = [

View file

@ -73,11 +73,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-control-center";
version = "46.1";
version = "46.2";
src = fetchurl {
url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz";
hash = "sha256-gXkkIwGd7aHSoHTB7Pan5u8xcsCcvm9NeZWktd6igxI=";
hash = "sha256-YzXGy4Fk5XTbUh//Yc+j36pV8dtmrjvKAnUKGT4cTz0=";
};
patches = [

View file

@ -24,15 +24,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gtksourceview";
version = "5.12.0";
version = "5.12.1";
outputs = [ "out" "dev" "devdoc" ];
src = let
inherit (finalAttrs) pname version;
in fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-2vMv9dMVDWOFkX01A6hbngR7oViysDB5MUycAIE/oB8=";
src = fetchurl {
url = "mirror://gnome/sources/gtksourceview/${lib.versions.majorMinor finalAttrs.version}/gtksourceview-${finalAttrs.version}.tar.xz";
hash = "sha256-hMgqrZhcWq2ufOp4BJBKdjQeyCsmjUZZTBpHjzm0LB8=";
};
patches = [

View file

@ -12,15 +12,15 @@
, gnome
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libdex";
version = "0.6.0";
version = "0.6.1";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-HojSsAYo5Ya3I7f7pRXM6XUvrxISLN5aPA1biDmYUio=";
url = "mirror://gnome/sources/libdex/${lib.versions.majorMinor finalAttrs.version}/libdex-${finalAttrs.version}.tar.xz";
hash = "sha256-0XbeZXhXHjKowLYDtqWhP6X4f7a1RCV1s47FrxaxepI=";
};
nativeBuildInputs = [
@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
description = "Library supporting deferred execution for GNOME and GTK";
homepage = "https://gitlab.gnome.org/GNOME/libdex";
maintainers = teams.gnome.members;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
license = licenses.lgpl21Plus;
};
}
})

View file

@ -0,0 +1,62 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
flit-core,
fzf,
packaging,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "iterfzf";
version = "1.4.0.51.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "dahlia";
repo = "iterfzf";
rev = "refs/tags/${version}";
hash = "sha256-Xjk+r2PdIg+oULA5gfI129p1fNOO8RINNxP+pveiocM=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"' \
--replace-fail 'backend-path = ["."]' '# backend-path = ["."]' \
--replace-fail 'build-backend = "build_dist"' '# build-backend = "build_dist"'
substituteInPlace iterfzf/test_iterfzf.py \
--replace-fail 'executable="fzf"' 'executable="${fzf}/bin/fzf"'
'';
build-system = [
flit-core
setuptools
packaging
];
dependencies = [ fzf ];
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = [
# AttributeError
"test_no_query"
"test_select_one_ambiguous"
];
pythonImportsCheck = [ "iterfzf" ];
meta = with lib; {
description = "Pythonic interface to fzf, a CLI fuzzy finder";
homepage = "https://github.com/dahlia/iterfzf";
changelog = "https://github.com/dahlia/iterfzf/releases/tag/${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "llama-index-graph-stores-nebula";
version = "0.1.3";
version = "0.2.0";
pyproject = true;
disabled = pythonOlder "3.8";
@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "llama_index_graph_stores_nebula";
inherit version;
hash = "sha256-Mhej0nslypY1Z99VUrTgl4S9PlrBWbaKvANSwEKTMZk=";
hash = "sha256-wX/j4wSUp12QlXLy0B0dUB0V7zjDX75NBE9mNWbj0w8=";
};
build-system = [ poetry-core ];

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "llama-index-graph-stores-neo4j";
version = "0.2.0";
version = "0.2.2";
pyproject = true;
disabled = pythonOlder "3.8";
@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "llama_index_graph_stores_neo4j";
inherit version;
hash = "sha256-+FkhevhrjEmJk9WXHJ0oR9T6DF5ZHWzDtrIWMjVa2vY=";
hash = "sha256-z2XLZ5tt2uTzTxx5F3jxSLLva2PwDMterKH17P46qjU=";
};
build-system = [ poetry-core ];

View file

@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "plugwise";
version = "0.37.9";
version = "0.38.0";
pyproject = true;
disabled = pythonOlder "3.11";
@ -31,7 +31,7 @@ buildPythonPackage rec {
owner = "plugwise";
repo = "python-plugwise";
rev = "refs/tags/v${version}";
hash = "sha256-8o2cTGkoYLrHQsAWnTg7cj9bJ+Wv1/lbHJiZ50jjFxo=";
hash = "sha256-IearyHkIH3iJyIGqdJetg3cu0kvEpZLgI0sotxpQWyw=";
};
postPatch = ''

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "pytrydan";
version = "0.6.1";
version = "0.7.0";
pyproject = true;
disabled = pythonOlder "3.10";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "dgomes";
repo = "pytrydan";
rev = "refs/tags/v${version}";
hash = "sha256-5sTHfxNV4JEonGke8ZZ/pXoLA15iCuJ/iSW1XwFMltg=";
hash = "sha256-9TZZ4J3fIUGaeWYd5kP9eFABvL/95muD7sDevUaGprQ=";
};
postPatch = ''

View file

@ -0,0 +1,59 @@
{
lib,
buildPythonPackage,
click,
click-shell,
fetchFromGitHub,
iterfzf,
poetry-core,
pythonRelaxDepsHook,
pythonOlder,
pyyaml,
rich,
typer,
}:
buildPythonPackage rec {
pname = "typer-shell";
version = "0.1.9";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "FergusFettes";
repo = "typer-shell";
rev = "refs/tags/v${version}";
hash = "sha256-y66Je9E0IWDuGrHtd1D8zP7E0EVfvrF3KOlA2dRFU+s=";
};
pythonRelaxDeps = [
"iterfzf"
"typer"
];
build-system = [ poetry-core ];
nativeBuildInputs = [ pythonRelaxDepsHook ];
dependencies = [
click
click-shell
iterfzf
pyyaml
rich
typer
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [ "typer_shell" ];
meta = with lib; {
description = "Library for making beautiful shells/REPLs with Typer";
homepage = "https://github.com/FergusFettes/typer-shell";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -1,7 +1,8 @@
{ lib
, stdenv
, buildPythonApplication
, fetchPypi
, fetchFromGitHub
, fetchpatch
, makeWrapper
# Tie withPlugins through the fixed point here, so it will receive an
# overridden version properly
@ -77,9 +78,11 @@ buildPythonApplication rec {
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-qcICSsjcgOrLG8zHBx0eSVSiXDAeHPH4roRZI9TZTkk=";
src = fetchFromGitHub {
owner = "buildbot";
repo = "buildbot";
rev = "v${version}";
hash = "sha256-rDbAWLoEEjygW72YDBsVwiaHdRTVYA9IFxY3XMDleho=";
};
build-system = [
@ -134,10 +137,20 @@ buildPythonApplication rec {
# This patch disables the test that tries to read /etc/os-release which
# is not accessible in sandboxed builds.
./skip_test_linux_distro.patch
# Fix gitpoller, source: https://github.com/buildbot/buildbot/pull/7664
# Included in next release.
(fetchpatch {
url = "https://github.com/buildbot/buildbot/commit/dd5d61e63e3b0740cc538a225ccf104ccecfc734.patch";
sha256 = "sha256-CL6uRaKxh8uCBfWQ0tNiLh2Ym0HVatWni8hcuTyAAw0=";
excludes = ["master/buildbot/test/unit/changes/test_gitpoller.py"];
})
];
postPatch = ''
substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
substituteInPlace master/buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
'';
preBuild = ''
cd master
'';
# Silence the depreciation warning from SqlAlchemy

View file

@ -1,6 +1,6 @@
diff -Nur buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py
--- buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py 2017-04-19 16:57:02.000000000 +0200
+++ buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py 2017-05-04 12:22:54.575762551 +0200
diff -Nur buildbot-0.9.6/master/buildbot/test/unit/test_buildbot_net_usage_data.py buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py
--- buildbot-0.9.6/master/buildbot/test/unit/test_buildbot_net_usage_data.py 2017-04-19 16:57:02.000000000 +0200
+++ buildbot-0.9.6.patched/master/buildbot/test/unit/test_buildbot_net_usage_data.py 2017-05-04 12:22:54.575762551 +0200
@@ -147,6 +147,7 @@
_sendBuildbotNetUsageData({'foo': 'bar'})

View file

@ -27,16 +27,16 @@ let
in
buildNpmPackage rec {
pname = "homepage-dashboard";
version = "0.8.13";
version = "0.9.1";
src = fetchFromGitHub {
owner = "gethomepage";
repo = "homepage";
rev = "v${version}";
hash = "sha256-5AGtNfeFI5fkeXg1PK9ylifHzp9P6XW80XQQFY1YGj8=";
hash = "sha256-EgZhk3NtuIjvFab0y9UdGYDR+Iw/0vg/uFxnzqKuloo=";
};
npmDepsHash = "sha256-UrRpjbFGziPNN03Fj9T+K+kav0LhaAFp/o+SXja6Jxk=";
npmDepsHash = "sha256-jYZUVwrOxoAbfHHSBkN5IlYhC6yZVVwRoZErkbYrjUs=";
preBuild = ''
mkdir -p config

View file

@ -10,12 +10,12 @@
}@args:
callPackage ../nginx/generic.nix args rec {
version = "1.5.1";
version = "1.5.2";
pname = if withQuic then "angieQuic" else "angie";
src = fetchurl {
url = "https://download.angie.software/files/angie-${version}.tar.gz";
hash = "sha256-pSBy+Gv3rSa0WqQOxLHM0V03/vLqvOYBGxrjY9qsBfQ=";
hash = "sha256-jX0WBIdL3RQpgdeVf4oZByDNKQbrEjKbImC86Ceqkoc=";
};
configureFlags = lib.optionals withAcme [

View file

@ -11,19 +11,19 @@
buildGoModule rec {
pname = "trivy";
version = "0.51.4";
version = "0.52.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = "trivy";
rev = "refs/tags/v${version}";
hash = "sha256-f7qWD63dvKGnwGmeENPjtqvpRgq06MkLCQ0MVgsLJRw=";
hash = "sha256-lsUqzbHv+/P5RAOc774GhFMaY21+T7NnPKK9v/uLP8M=";
};
# Hash mismatch on across Linux and Darwin
proxyVendor = true;
vendorHash = "sha256-U1HkIBHoZVrisTbVRqqP/B9idZ9G3KsCGLSVBbBV7lE=";
vendorHash = "sha256-MsHlJ56MT+UqF+Psj+hKKpwPnRTcQ3RvWoHbmI93A5E=";
subPackages = [ "cmd/trivy" ];

View file

@ -19,13 +19,13 @@
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
stdenv.mkDerivation (finalAttrs: {
pname = "kaldi";
version = "0-unstable-2024-04-30";
version = "0-unstable-2024-06-03";
src = fetchFromGitHub {
owner = "kaldi-asr";
repo = "kaldi";
rev = "51744d32acc9b19457f9aaed09c83f218f4b5de4";
sha256 = "sha256-StONwrzu3i+OCTQ7IAB6slM2cPGZVfCoVqa5gPnREc4=";
rev = "67548a31c45f93d8b25ee553c5969d6a6d5d9408";
sha256 = "sha256-yCyBha7i2rxYjEDRYdg8QI7raCEkOPT0Tc8dzSamsmc=";
};
cmakeFlags = [

View file

@ -260,7 +260,7 @@ let
passthru = {
inherit aws-sdk-cpp boehmgc;
tests = {
misc = nixosTests.misc.lix.passthru.override { nixPackage = self; };
misc = nixosTests.nix-misc.lix.passthru.override { nixPackage = self; };
};
};

View file

@ -62,6 +62,7 @@ in
, mdbook
, mdbook-linkcheck
, nlohmann_json
, nixosTests
, openssl
, perl
, pkg-config
@ -251,6 +252,9 @@ self = stdenv.mkDerivation {
tests = {
nixi686 = pkgsi686Linux.nixVersions.${self_attribute_name};
# Basic smoke test that needs to pass when upgrading nix.
# Note that this test does only test the nixVersions.stable attribute.
misc = nixosTests.nix-misc.default;
};
};

View file

@ -1,5 +1,6 @@
{ lib, stdenv, fetchFromGitHub
, attr, judy, keyutils, libaio, libapparmor, libbsd, libcap, libgcrypt, lksctp-tools, zlib
, libglvnd, mesa
}:
stdenv.mkDerivation rec {
@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
# All platforms inputs then Linux-only ones
buildInputs = [ judy libbsd libgcrypt zlib ]
++ lib.optionals stdenv.hostPlatform.isLinux [
attr keyutils libaio libapparmor libcap lksctp-tools
attr keyutils libaio libapparmor libcap lksctp-tools libglvnd mesa
];
makeFlags = [

View file

@ -24239,6 +24239,8 @@ with pkgs;
sdrplay = callPackage ../applications/radio/sdrplay { };
sdr-j-fm = libsForQt5.callPackage ../applications/radio/sdr-j-fm { };
sdrpp = callPackage ../applications/radio/sdrpp {
inherit (darwin.apple_sdk.frameworks) AppKit;
};

View file

@ -5975,6 +5975,8 @@ self: super: with self; {
iterative-telemetry = callPackage ../development/python-modules/iterative-telemetry { };
iterfzf = callPackage ../development/python-modules/iterfzf { };
iterm2 = callPackage ../development/python-modules/iterm2 { };
itsdangerous = callPackage ../development/python-modules/itsdangerous { };
@ -15581,6 +15583,8 @@ self: super: with self; {
typer = callPackage ../development/python-modules/typer { };
typer-shell = callPackage ../development/python-modules/typer-shell { };
type-infer = callPackage ../development/python-modules/type-infer { };
types-aiobotocore = callPackage ../development/python-modules/types-aiobotocore { };