Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-06-05 00:13:17 +00:00 committed by GitHub
commit daadd0b777
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
313 changed files with 2625 additions and 1748 deletions

4
.github/CODEOWNERS vendored
View File

@ -67,8 +67,8 @@
/nixos/lib/make-disk-image.nix @raitobezarius
# Nix, the package manager
pkgs/tools/package-management/nix/ @raitobezarius @ma27
nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius @ma27
pkgs/tools/package-management/nix/ @raitobezarius
nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
# Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm

11
.github/labeler.yml vendored
View File

@ -16,6 +16,17 @@
- nixos/modules/services/x11/desktop-managers/cinnamon.nix
- nixos/tests/cinnamon.nix
"6.topic: dotnet":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/dotnet.section.md
- maintainers/scripts/update-dotnet-lockfiles.nix
- pkgs/build-support/dotnet/**/*
- pkgs/development/compilers/dotnet/**/*
- pkgs/test/dotnet/**/*
- pkgs/top-level/dotnet-packages.nix
"6.topic: emacs":
- any:
- changed-files:

View File

@ -85,14 +85,14 @@ let
in
make-disk-image {
inherit pkgs lib;
config = evalConfig {
inherit (evalConfig {
modules = [
{
fileSystems."/" = { device = "/dev/vda"; fsType = "ext4"; autoFormat = true; };
boot.grub.device = "/dev/vda";
}
];
};
}) config;
format = "qcow2";
onlyNixStore = false;
partitionTableType = "legacy+gpt";
@ -104,5 +104,3 @@ in
memSize = 2048; # Qemu VM memory size in megabytes. Defaults to 1024M.
}
```

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

@ -429,6 +429,16 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
- `screen`'s module has been cleaned, and will now require you to set `programs.screen.enable` in order to populate `screenrc` and add the program to the environment.
- `security.acme.defaults.server` now has a default value instead of `null`.
This effectively uses the same server, the Let's Encrypt production server,
but makes the default explicit, instead of relying on the Lego default.
A side effect of this is that the directory in which account data is stored
changes and the ACME module will request a new account and new certificates
for all domains. This may cause issues if you pin an `acccounturl` in a CAA
DNS record. To avoid this, you
may set `security.acme.defaults.server = null` to keep the old hashes.
- `security.pam.sshAgentAuth.enable` now requires `services.openssh.authorizedKeysFiles` to be non-empty,
which is the case when `services.openssh.enable` is true. Previously, `pam_ssh_agent_auth` silently failed to work.

View File

@ -38,6 +38,9 @@
for `stateVersion` ≥ 24.11. (It was previously using SQLite for structured
data and the filesystem for blobs).
- `zx` was updated to v8, which introduces several breaking changes.
See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information.
- The `portunus` package and service do not support weak password hashes anymore.
If you installed Portunus on NixOS 23.11 or earlier, upgrade to NixOS 24.05 first to get support for strong password hashing.
Then, follow the instructions on the [upstream release notes](https://github.com/majewsky/portunus/releases/tag/v2.0.0) to upgrade all existing user accounts to strong password hashes.

View File

@ -20,7 +20,7 @@
};
in ''
if [ ! -e /etc/nixos/configuration.nix ]; then
install -m 644 -D ${config} /etc/nixos/configuration.nix
install -m 0644 -D ${config} /etc/nixos/configuration.nix
fi
'';

View File

@ -20,8 +20,7 @@
};
in ''
if [ ! -e /etc/nixos/configuration.nix ]; then
mkdir -p /etc/nixos
cp ${config} /etc/nixos/configuration.nix
install -m 0644 -D ${config} /etc/nixos/configuration.nix
fi
'';

View File

@ -96,7 +96,7 @@ in
Sets which portal backend should be used to provide the implementation
for the requested interface. For details check {manpage}`portals.conf(5)`.
Configs will be linked to `/etx/xdg/xdg-desktop-portal/` with the name `$desktop-portals.conf`
Configs will be linked to `/etc/xdg/xdg-desktop-portal/` with the name `$desktop-portals.conf`
for `xdg.portal.config.$desktop` and `portals.conf` for `xdg.portal.config.common`
as an exception.
'';

View File

@ -10,7 +10,6 @@
, mypy
, systemd
, fakeroot
, util-linux
# filesystem tools
, dosfstools
@ -105,7 +104,6 @@ in
nativeBuildInputs = [
systemd
fakeroot
util-linux
] ++ lib.optionals (compression.enable) [
compressionPkg
] ++ fileSystemTools;
@ -148,7 +146,7 @@ in
runHook preBuild
echo "Building image with systemd-repart..."
unshare --map-root-user fakeroot systemd-repart \
fakeroot systemd-repart \
''${systemdRepartFlags[@]} \
${imageFileBasename}.raw \
| tee repart-output.json

View File

@ -771,6 +771,7 @@
./services/misc/octoprint.nix
./services/misc/ollama.nix
./services/misc/ombi.nix
./services/misc/open-webui.nix
./services/misc/osrm.nix
./services/misc/owncast.nix
./services/misc/packagekit.nix

View File

@ -545,7 +545,7 @@ let
};
server = mkOption {
type = types.str;
type = types.nullOr types.str;
inherit (defaultAndText "server" "https://acme-v02.api.letsencrypt.org/directory") default defaultText;
example = "https://acme-staging-v02.api.letsencrypt.org/directory";
description = ''

View File

@ -142,7 +142,6 @@ in {
okular
kate
khelpcenter
print-manager
dolphin
dolphin-plugins
spectacle
@ -168,12 +167,13 @@ in {
)
kio-extras-kf5
]
# Optional hardware support features
# Optional and hardware support features
++ lib.optionals config.hardware.bluetooth.enable [bluedevil bluez-qt pkgs.openobex pkgs.obexftp]
++ lib.optional config.networking.networkmanager.enable plasma-nm
++ lib.optional config.hardware.pulseaudio.enable plasma-pa
++ lib.optional config.services.pipewire.pulse.enable plasma-pa
++ lib.optional config.powerManagement.enable powerdevil
++ lib.optional config.services.printing.enable print-manager
++ lib.optional config.services.colord.enable colord-kde
++ lib.optional config.services.hardware.bolt.enable plasma-thunderbolt
++ lib.optional config.services.samba.enable kdenetwork-filesharing

View File

@ -23,7 +23,7 @@ let kernel = config.boot.kernelPackages; in
###### implementation
config = lib.mkIf config.hardware.nvidiaOptimus.disable {
boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb" "nvidia-drm"];
boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb" "nvidia-drm" "nvidia-modeset"];
boot.kernelModules = [ "bbswitch" ];
boot.extraModulePackages = [ kernel.bbswitch ];

View File

@ -0,0 +1,94 @@
{
config,
lib,
pkgs,
...
}:
let
inherit (lib) types;
cfg = config.services.open-webui;
in
{
options = {
services.open-webui = {
enable = lib.mkEnableOption "Enable open-webui, an interactive chat web app";
package = lib.mkPackageOption pkgs "open-webui" { };
stateDir = lib.mkOption {
type = types.path;
default = "/var/lib/open-webui";
description = "State directory of open-webui.";
};
host = lib.mkOption {
type = types.str;
default = "localhost";
description = "Host of open-webui";
};
port = lib.mkOption {
type = types.port;
default = 8080;
description = "Port of open-webui";
};
environment = lib.mkOption {
type = types.attrsOf types.str;
default = { };
example = ''
{
OLLAMA_API_BASE_URL = "http://localhost:11434";
# Disable authentication
WEBUI_AUTH = "False";
}
'';
description = "Extra environment variables for open-webui";
};
};
};
config = lib.mkIf cfg.enable {
systemd.services.open-webui = {
description = "User-friendly WebUI for LLMs (Formerly Ollama WebUI)";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
preStart = ''
mkdir -p ${cfg.stateDir}/static
'';
environment = {
STATIC_DIR = "${cfg.stateDir}/static";
DATA_DIR = "${cfg.stateDir}";
} // cfg.environment;
serviceConfig = {
ExecStart = "${lib.getExe cfg.package} serve --host ${cfg.host} --port ${toString cfg.port}";
WorkingDirectory = cfg.stateDir;
StateDirectory = "open-webui";
RuntimeDirectory = "open-webui";
RuntimeDirectoryMode = "0755";
PrivateTmp = true;
DynamicUser = true;
DevicePolicy = "closed";
LockPersonality = true;
MemoryDenyWriteExecute = false; # onnxruntime/capi/onnxruntime_pybind11_state.so: cannot enable executable stack as shared object requires: Permission Denied
PrivateUsers = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
ProcSubset = "all"; # Error in cpuinfo: failed to parse processor information from /proc/cpuinfo
RestrictNamespaces = true;
RestrictRealtime = true;
SystemCallArchitectures = "native";
UMask = "0077";
};
};
};
meta.maintainers = with lib.maintainers; [ shivaraj-bh ];
}

View File

@ -793,6 +793,16 @@ in {
'';
};
};
cron.memoryLimit = mkOption {
type = types.nullOr types.str;
default = null;
example = "1G";
description = ''
The `memory_limit` of PHP is equal to [](#opt-services.nextcloud.maxUploadSize).
The value can be customized for `nextcloud-cron.service` using this option.
'';
};
};
config = mkIf cfg.enable (mkMerge [
@ -1001,7 +1011,13 @@ in {
Type = "exec";
User = "nextcloud";
ExecCondition = "${lib.getExe phpPackage} -f ${webroot}/occ status -e";
ExecStart = "${lib.getExe phpPackage} -f ${webroot}/cron.php";
ExecStart = lib.concatStringsSep " " ([
(lib.getExe phpPackage)
] ++ optional (cfg.cron.memoryLimit != null) "-dmemory_limit=${cfg.cron.memoryLimit}"
++ [
"-f"
"${webroot}/cron.php"
]);
KillMode = "process";
};
};

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

@ -124,7 +124,7 @@ in rec {
"nixos.tests.firewall"
"nixos.tests.ipv6"
"nixos.tests.login"
"nixos.tests.misc.default"
"nixos.tests.misc"
"nixos.tests.nat.firewall"
"nixos.tests.nat.standalone"
"nixos.tests.nfs4.simple"

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 {};
@ -691,6 +692,7 @@ in {
outline = handleTest ./outline.nix {};
image-contents = handleTest ./image-contents.nix {};
openvscode-server = handleTest ./openvscode-server.nix {};
open-webui = runTest ./open-webui.nix;
orangefs = handleTest ./orangefs.nix {};
os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
osquery = handleTestOn ["x86_64-linux"] ./osquery.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

@ -0,0 +1,33 @@
{ lib, ... }:
let
mainPort = "8080";
in
{
name = "open-webui";
meta = with lib.maintainers; {
maintainers = [ shivaraj-bh ];
};
nodes = {
machine =
{ ... }:
{
services.open-webui = {
enable = true;
environment = {
# Requires network connection
RAG_EMBEDDING_MODEL = "";
};
};
};
};
testScript = ''
machine.start()
machine.wait_for_unit("open-webui.service")
machine.wait_for_open_port(${mainPort})
machine.succeed("curl http://127.0.0.1:${mainPort}")
'';
}

View File

@ -5,14 +5,14 @@
stdenv.mkDerivation rec {
pname = "helio-workstation";
version = "3.12";
version = "3.13";
src = fetchFromGitHub {
owner = "helio-fm";
repo = pname;
rev = version;
fetchSubmodules = true;
sha256 = "sha256-U5F78RlM6+R+Ms00Z3aTh3npkbgL+FhhFtc9OpGvbdY=";
sha256 = "sha256-esCulHphPD0gr0dsVBnRTvsGp56vHZmzdbz99mWq9R4=";
};
buildInputs = [

View File

@ -21,13 +21,13 @@
stdenv.mkDerivation rec {
pname = "parlatype";
version = "4.1";
version = "4.2";
src = fetchFromGitHub {
owner = "gkarsay";
repo = pname;
rev = "v${version}";
sha256 = "0546rl5sm7xmgl54cqps3a7bhfs7xdvz98jgdcf4sgiz1k2vh9xq";
sha256 = "1wi9f23zgvsa98xcxgghm53jlafnr3pan1zl4gkn0yd8b2d6avhk";
};
nativeBuildInputs = [
@ -58,9 +58,6 @@ stdenv.mkDerivation rec {
];
postPatch = ''
substituteInPlace data/meson_post_install.py \
--replace-fail 'gtk-update-icon-cache' 'gtk4-update-icon-cache'
patchShebangs data/meson_post_install.py
patchShebangs libparlatype/tests/data/generate_config_data
'';
@ -76,8 +73,7 @@ stdenv.mkDerivation rec {
useful for journalists, students, scientists and whoever needs to
transcribe audio files.
'';
# maintainer lost control of parlatype.org
homepage = "https://github.com/gkarsay/parlatype";
homepage = "https://www.parlatype.xyz/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ alexshpilkin melchips ];
platforms = platforms.linux;

View File

@ -45,7 +45,7 @@ in
stdenv.mkDerivation rec {
pname = "touchosc";
version = "1.3.1.204";
version = "1.3.3.207";
suffix = {
aarch64-linux = "linux-arm64";
@ -56,9 +56,9 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
hash = {
aarch64-linux = "sha256-uSXCgwJUEQZDKPAHDT4kKcvkBg9c+T0nrpvYW8jG8Kg=";
armv7l-linux = "sha256-dG5BF8n66YCYCZzc1pLf2qpMLmbv6lfVZYfgry25jQ0=";
x86_64-linux = "sha256-R07kTuwsfe6WhGpHeyZS/HydDUSH6AByx0pJu/i40xE=";
aarch64-linux = "sha256-peEO5haVHXvCT+F48UiKdgwuccqBuZACEXnepB4dcvY=";
armv7l-linux = "sha256-uQNoEye/Jd3T6pLJY2sN7hkTQl3AAilG5Vr9G61vFRM=";
x86_64-linux = "sha256-+/r9gRK8HyynlJ1syC2VQ6VboPEzsVNqEVrQfNLeEv0=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};

View File

@ -25,13 +25,13 @@
mkDerivation rec {
pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
version = "0.29.4";
version = "0.29.5";
src = fetchFromGitHub {
owner = "bitcoin-ABC";
repo = "bitcoin-abc";
rev = "v${version}";
hash = "sha256-RT9sdwwF39arW2AnoQ9KnRzYqhnQhpjWU1eykTiKWSo=";
hash = "sha256-1gw8VgAVflFjYq3/Rd+GgvCmpG2fjtpPvKU2TtxubWs=";
};
nativeBuildInputs = [ pkg-config cmake ];

View File

@ -16,7 +16,7 @@
}:
let
rev = "14180dcfa42a50e5365175a1bf5dc9dd8db196eb";
rev = "f48de0896d3af80f5e15aef512b7485eb46df9f6";
python = python3.withPackages (ps: with ps; [
epc
orjson
@ -28,13 +28,13 @@ let
in
melpaBuild {
pname = "lsp-bridge";
version = "20240520.1548";
version = "20240601.1149";
src = fetchFromGitHub {
owner = "manateelazycat";
repo = "lsp-bridge";
inherit rev;
hash = "sha256-HIOIHvcazCeyAlMoVSPl8uVXh5zI+UuoNNJgIhFO6BY=";
hash = "sha256-ocKNRSt5RVKGnxd0odI43jdr27oYrRLdnABh6x63CfM=";
};
commit = rev;

View File

@ -5,7 +5,7 @@
callPackage,
}:
let
version = "1.50.0";
version = "1.52.0";
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
arch =
if stdenv.isLinux then
@ -21,7 +21,7 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
name = "rescript-vscode";
publisher = "chenglou92";
inherit version;
hash = "sha256-Dt7mqZQ/vEUFyUD5SsY6RGzg9kq19/Amksrwtfv0TuE=";
hash = "sha256-3H7JgdmrGMdirVpT08wmwy4G6QLt0H65d3l7o/DuvpI=";
};
postPatch = ''
rm -r ${analysisDir}

View File

@ -108,7 +108,8 @@ in stdenv.mkDerivation rec {
tag = last (splitString "-" version);
in ''
rm -rf dependencies/imgui
ln -s ${imgui'}/include/imgui dependencies/imgui
# cemu expects imgui source code, not just header files
ln -s ${imgui'.src} dependencies/imgui
substituteInPlace src/Common/version.h --replace " (experimental)" "-${tag} (experimental)"
substituteInPlace dependencies/gamemode/lib/gamemode_client.h --replace "libgamemode.so.0" "${gamemode.lib}/lib/libgamemode.so.0"
'';

View File

@ -246,10 +246,10 @@
"src": {
"owner": "schellingb",
"repo": "dosbox-pure",
"rev": "1c7ad4fafc5204e3aff83e2caa6020cb2fe43a2d",
"hash": "sha256-cOamfnwLilAz2I8CKA18JvauadbObuAq4JabNcdw7EQ="
"rev": "1e3cb35355769467ca7be192e740eb9728ecc88c",
"hash": "sha256-svVpHUOPPAFMypmeaHLCQfwTAVOZajTMKyeKvWLZlcc="
},
"version": "unstable-2024-05-20"
"version": "unstable-2024-06-03"
},
"easyrpg": {
"fetcher": "fetchFromGitHub",
@ -348,10 +348,10 @@
"src": {
"owner": "libretro",
"repo": "gambatte-libretro",
"rev": "238b195bca073bc1a2032c4e92c097d157e521f8",
"hash": "sha256-i9+a1kVlJ6EPaCOMkuIZgujNEg6MwPRM3mHnhconWHo="
"rev": "f0d83f0eff4ad91471f90acd098d078eea0a67b3",
"hash": "sha256-zcqFVPotOu5gDwzgWzn0lpzhcTwQUm81UpA5FtCrz1M="
},
"version": "unstable-2024-05-17"
"version": "unstable-2024-06-02"
},
"genesis-plus-gx": {
"fetcher": "fetchFromGitHub",
@ -814,10 +814,10 @@
"src": {
"owner": "libretro",
"repo": "swanstation",
"rev": "d5169ed204838b622551c82b3c20df376324870f",
"hash": "sha256-ixLd2xdy6r5irNEhBDbdMpvRR7clnHr1LrTywuqkr84="
"rev": "7a27436548128c00e70b08dde63c52118e2a6228",
"hash": "sha256-u7D044lKNAH4aAaY/Ol7BR3dNeusX4wirIMdUEGw2oM="
},
"version": "unstable-2024-05-27"
"version": "unstable-2024-05-30"
},
"tgbdual": {
"fetcher": "fetchFromGitHub",

View File

@ -6,13 +6,13 @@
stdenvNoCC.mkDerivation rec {
pname = "retroarch-joypad-autoconfig";
version = "1.18.1";
version = "1.19.0";
src = fetchFromGitHub {
owner = "libretro";
repo = "retroarch-joypad-autoconfig";
rev = "v${version}";
hash = "sha256-eWfSqHusTri1HQUkSxY/iAceF/9PFVMC0rhLu/4W35k=";
hash = "sha256-iwxTMwGHix2K5UyjBWFamyo3nVULxwbIF+djyQWz5L0=";
};
makeFlags = [

View File

@ -9,6 +9,7 @@
# to be re-enabled when patch available
# , ffmpeg
, gcc-unwrapped
, icu
, libmediainfo
, libraw
, libsodium
@ -22,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "megacmd";
version = "1.6.3";
version = "1.7.0";
src = fetchFromGitHub {
owner = "meganz";
repo = "MEGAcmd";
rev = "${version}_Linux";
sha256 = "sha256-JnxfFbM+NyeUrEMok62zlsQIxjrUvLLg4tUTiKPDZFc=";
sha256 = "sha256-UlSqwM8GQKeG8/K0t5DbM034NQOeBg+ujNi/MMsVCuM=";
fetchSubmodules = true;
};
@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
cryptopp
curl
# ffmpeg
icu
gcc-unwrapped
libmediainfo
libraw
@ -59,6 +61,7 @@ stdenv.mkDerivation rec {
"--with-curl"
# "--with-ffmpeg"
"--without-freeimage" # disabled as freeimage is insecure
"--with-icu"
"--with-libmediainfo"
"--with-libuv"
"--with-libzen"

View File

@ -17,23 +17,23 @@
, util-linux
, xwininfo
, zenity
, zig_0_11
, zig_0_12
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mepo";
version = "1.2.0";
version = "1.2.1";
src = fetchFromSourcehut {
owner = "~mil";
repo = "mepo";
rev = finalAttrs.version;
hash = "sha256-sxN7yTnk3KDAkP/d3miKa2bEgB3AUaf9/M9ajJyRt3g=";
hash = "sha256-Ii5E9TgUxzlVIdkKS/6RtasOETeclMm1yoU86gs4hB8=";
};
nativeBuildInputs = [
pkg-config
zig_0_11.hook
zig_0_12.hook
makeWrapper
];
@ -56,10 +56,10 @@ stdenv.mkDerivation (finalAttrs: {
postFixup = ''
substituteInPlace $out/bin/mepo_ui_menu_user_pin_updater.sh \
--replace /usr/libexec/geoclue-2.0 ${geoclue2-with-demo-agent}/libexec/geoclue-2.0
--replace-fail /usr/libexec/geoclue-2.0 ${geoclue2-with-demo-agent}/libexec/geoclue-2.0
substituteInPlace $out/bin/mepo_ui_central_menu.sh \
--replace "grep mepo_" "grep '^\.mepo_\|^mepo_'" \
--replace " ls " " ls -a " #circumvent wrapping for script detection
--replace-fail "grep mepo_" "grep '^\.mepo_\|^mepo_'" \
--replace-fail " ls " " ls -a " #circumvent wrapping for script detection
for program in $out/bin/* ; do
wrapProgram $program \
--suffix PATH : $out/bin:${lib.makeBinPath ([

View File

@ -37,7 +37,6 @@ maven.buildMavenPackage rec {
x86_64-linux = "sha256-vXZAlZOh9pXNF1RL78oQRal5pkXFRKDz/7SP9LibgiA=";
aarch64-linux = "sha256-xC+feb41EPi30gBrVR8usanVULI2Pt0knztzNagPQiw=";
};
mvnParameters = "-DskipTests";
nativeBuildInputs = [
copyDesktopItems
@ -46,6 +45,8 @@ maven.buildMavenPackage rec {
gvfs
];
doCheck = false;
# Don't wrap binaries twice.
dontWrapGApps = true;

View File

@ -18,15 +18,15 @@
let
isQt6 = lib.versions.major qtbase.version == "6";
pdfjs = let
version = "4.0.269";
version = "4.2.67";
in
fetchzip {
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/pdfjs-${version}-dist.zip";
hash = "sha256-8gwJUxygcdvERDni/k6WIx3tzk7yb+qHZ4NsfkP0VDo=";
hash = "sha256-7kfT3+ZwoGqZ5OwkO9h3DIuBFd0v8fRlcufxoBdcy8c=";
stripRoot = false;
};
version = "3.1.0";
version = "3.2.0";
in
python3.pkgs.buildPythonApplication {
@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication {
inherit version;
src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz";
hash = "sha256-UA3MHMoI1rC4FPowbiII4lM1rL4OLPmZ+1GRbg9LLl8=";
hash = "sha256-4eGRG5VWI2rKpZ0NGYbWFHlvs2Zz0TljwhZYzWSh8DM=";
};
# Needs tox

View File

@ -24,7 +24,7 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "6.7.3329.31";
version = "6.7.3329.35";
suffix = {
aarch64-linux = "arm64";
@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
hash = {
aarch64-linux = "sha256-TxfsI4XMZM3QvyxV48CrOltnRt0LUwZc2auppTvI+0w=";
x86_64-linux = "sha256-NRGELYgcJVL+mLdaWmDZCImCX8w9L+9ecGYQgIB1dq4=";
aarch64-linux = "sha256-myKcYbLJgbjs0o/VWHbupO0JT38qrmayQ5EiQWCzNHc=";
x86_64-linux = "sha256-NFvHSmMGrhvFWMR1onwkcSYUCWe11+CO1jmOlMv9p18=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "atmos";
version = "1.73.0";
version = "1.76.0";
src = fetchFromGitHub {
owner = "cloudposse";
repo = pname;
rev = "v${version}";
sha256 = "sha256-rJGhDFVvlVtQboqts8+c6JYTRHC0IwrOm5BYVA20yrY=";
sha256 = "sha256-NKORuhX9PBNtyLz+teDHKAKR8T6V6QMPQI/oiXPU96Y=";
};
vendorHash = "sha256-11r4ph0i05lHXKNy8iMNKqCVzeQbPtHwNPiQU7759rQ=";
vendorHash = "sha256-puodXLDfTh4KO39F5nfeLqadOvVGf7krsw1JK1fkMCY=";
ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "tanka";
version = "0.26.0";
version = "0.27.1";
src = fetchFromGitHub {
owner = "grafana";
repo = pname;
rev = "v${version}";
sha256 = "sha256-xKB/SKiw3cKqdpl869Bs/NO1Jbrla8Un0hH4kIGqAPs=";
sha256 = "sha256-4ChTYwRp9R8U97hH1Bgrxr5a/5IoWRAmFgJbD7oJpO4=";
};
vendorHash = "sha256-+BCUQ+czqWkxbDoSvCaAxewTN0SuI+hCHEQpLOvNGj4=";
vendorHash = "sha256-u2l3cX8PKHUCPkHuCOyED2LLWygYCDJEhfTjycEBzHI=";
doCheck = false;

View File

@ -508,6 +508,15 @@
"spdx": "MPL-2.0",
"vendorHash": null
},
"harbor": {
"hash": "sha256-Pv4Eoswmx+FVVq6jqP69bCMrUmt5persxdrtvY9N79I=",
"homepage": "https://registry.terraform.io/providers/goharbor/harbor",
"owner": "goharbor",
"repo": "terraform-provider-harbor",
"rev": "v3.10.10",
"spdx": "MIT",
"vendorHash": "sha256-1zaC82m8ylkz4lSocDVoXjF6yWWEL4He0lIKXs/7VtE="
},
"hcloud": {
"hash": "sha256-D7RBrpOxfSfeip7z+mAkWBjSTVnnM/MfN7Qvl/E+nA0=",
"homepage": "https://registry.terraform.io/providers/hetznercloud/hcloud",

View File

@ -2,11 +2,11 @@
let
pname = "rambox";
version = "2.3.2";
version = "2.3.3";
src = fetchurl {
url = "https://github.com/ramboxapp/download/releases/download/v${version}/Rambox-${version}-linux-x64.AppImage";
hash = "sha256-9AGzhj4UL2rEe67qvkX5VYhQEMETGYSDWv5XOgABSEE=";
hash = "sha256-Z6ux/liDpE0Fb4h0eAZC7F/Tt3eKlXQPBQVCd7Je9TI=";
};
desktopItem = (makeDesktopItem {

View File

@ -64,14 +64,14 @@ let
in
stdenv.mkDerivation rec {
pname = "telegram-desktop";
version = "5.0.6";
version = "5.1.2";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-n3WeyGQCw9fbA/1hZ85mqdm5xuBLjy9qHMcVRb4cmAg=";
hash = "sha256-KTgID7pd0QSFi5t9cdIVEi4/oQirDgsf7tTcEEtRdY0=";
};
patches = [

View File

@ -5,15 +5,15 @@
, withContrib ? true
}:
stdenv.mkDerivation rec {
version = "20231221";
stdenv.mkDerivation (finalAttrs: {
pname = "neomutt";
version = "20240425";
src = fetchFromGitHub {
owner = "neomutt";
repo = "neomutt";
rev = version;
sha256 = "sha256-IXly2N/DD2+XBXVIXJw1sE/0eJwbUaONDNRMi7n1T44=";
rev = finalAttrs.version;
hash = "sha256-QBqPFteoAm3AdQN0XTWpho8DEW2BFCCzBcHUZIiSxyQ=";
};
buildInputs = [
@ -73,42 +73,47 @@ stdenv.mkDerivation rec {
''
# https://github.com/neomutt/neomutt-contrib
# Contains vim-keys, keybindings presets and more.
+ lib.optionalString withContrib "${lib.getExe lndir} ${passthru.contrib} $out/share/doc/neomutt";
+ lib.optionalString withContrib "${lib.getExe lndir} ${finalAttrs.passthru.contrib} $out/share/doc/neomutt";
doCheck = true;
preCheck = ''
cp -r ${passthru.test-files} $(pwd)/test-files
cp -r ${finalAttrs.passthru.test-files} $(pwd)/test-files
chmod -R +w test-files
(cd test-files && ./setup.sh)
export NEOMUTT_TEST_DIR=$(pwd)/test-files
# The test fails with: node_padding.c:135: Check rc == 15... failed
substituteInPlace test/main.c \
--replace-fail "NEOMUTT_TEST_ITEM(test_expando_node_padding)" ""
'';
passthru = {
test-files = fetchFromGitHub {
owner = "neomutt";
repo = "neomutt-test-files";
rev = "1569b826a56c39fd09f7c6dd5fc1163ff5a356a2";
sha256 = "sha256-MaH2zEH1Wq3C0lFxpEJ+b/A+k2aKY/sr1EtSPAuRPp8=";
rev = "00efc8388110208e77e6ed9d8294dfc333753d54";
hash = "sha256-/ELowuMq67v56MAJBtO73g6OqV0DVwW4+x+0u4P5mB0=";
};
contrib = fetchFromGitHub {
owner = "neomutt";
repo = "neomutt-contrib";
rev = "8e97688693ca47ea1055f3d15055a4f4ecc5c832";
sha256 = "sha256-tx5Y819rNDxOpjg3B/Y2lPcqJDArAxVwjbYarVmJ79k=";
hash = "sha256-tx5Y819rNDxOpjg3B/Y2lPcqJDArAxVwjbYarVmJ79k=";
};
};
checkTarget = "test";
postCheck = "unset NEOMUTT_TEST_DIR";
meta = with lib; {
description = "A small but very powerful text-based mail client";
meta = {
description = "Small but very powerful text-based mail client";
mainProgram = "neomutt";
homepage = "http://www.neomutt.org";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ erikryb vrthra ma27 raitobezarius ];
platforms = platforms.unix;
homepage = "https://www.neomutt.org";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ erikryb vrthra ma27 raitobezarius ];
platforms = lib.platforms.unix;
};
}
})

View File

@ -59,13 +59,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "transmission";
version = "4.0.5";
version = "4.0.6";
src = fetchFromGitHub {
owner = "transmission";
repo = "transmission";
rev = finalAttrs.version;
hash = "sha256-gd1LGAhMuSyC/19wxkoE2mqVozjGPfupIPGojKY0Hn4=";
hash = "sha256-KBXvBFgrJ3njIoXrxHbHHLsiocwfd7Eba/GNI8uZA38=";
fetchSubmodules = true;
};

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
pname = "morgen";
version = "3.4.3";
version = "3.4.4";
src = fetchurl {
url = "https://dl.todesktop.com/210203cqcj00tw1/versions/${version}/linux/deb";
hash = "sha256-QxbvD18yoIidiDoU7FsCpdgYZolp8LRx93d1GTjtnfA=";
hash = "sha256-l4wHCapIvD3kZk1DqLNWDLjwg6j7g0+qMB/KuMzH+pQ=";
};
nativeBuildInputs = [

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

@ -4,12 +4,12 @@
}:
let
version = "6.7.8";
version = "6.7.9";
pname = "timeular";
src = fetchurl {
url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
hash = "sha256-nMvbr2PQBWyrhY3mv/4wsdWPhNx5hLFaAp0Ey3nvp7g=";
hash = "sha256-UaoIYJxVfQZujf03Swup+zQwb7RWRXuElcswf+MXXQ4=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "treesheets";
version = "0-unstable-2024-05-20";
version = "0-unstable-2024-05-29";
src = fetchFromGitHub {
owner = "aardappel";
repo = "treesheets";
rev = "149d3377692cf5c585522f9245d9eb5dd7ddb742";
hash = "sha256-qqeK13EazfdQteYcBMgWQ/0F4sBaOYCUpw7BMwfoe7k=";
rev = "23654b9be71b59bbffd156ecedc663bd152d123c";
hash = "sha256-ZTLMqDAmyojvET6qp1ziMNQgk2c+45z2UB3yFMhTmUQ=";
};
nativeBuildInputs = [

View File

@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cloudlog";
version = "2.6.13";
version = "2.6.14";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
hash = "sha256-jhg6Rdd/QhsKZHaeE/2Rh0o0uLD5Jd+3mfXmkpbFcEM=";
hash = "sha256-nsn/pvlFRDGUnm/X5pyzlKWgP6OlfVn3Mdj6vOJZMWQ=";
};
postPatch = ''

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

@ -1,5 +1,6 @@
{ lib
, stdenv
, fetchpatch
, fetchurl
, cmake
, extra-cmake-modules
@ -54,6 +55,14 @@ stdenv.mkDerivation rec {
"-DENABLE_VECTOR_BLF=OFF"
];
patches = [
(fetchpatch {
name = "matio-fix-compilation-for-latest-version-1.5.27.patch";
url = "https://github.com/KDE/labplot/commit/d6142308ffa492d9f7cea00fad3b4cd1babfd00c.patch";
hash = "sha256-qD5jj6GxBKbQezKJb1Z8HnwFO84WJBGQDawS/6o/wHE=";
})
];
nativeBuildInputs = [
cmake
extra-cmake-modules

View File

@ -55,11 +55,13 @@ in maven'.buildMavenPackage {
postPatch = ''
cp -r ${npmPkg} main/webapp/modules/core/3rdparty
'';
mvnParameters = "-DskipTests=true -pl !packaging";
mvnParameters = "-pl !packaging";
mvnHash = "sha256-0qsKUMV9M0ZaddR5ust8VikSrsutdxVNNezKqR+F/6M=";
nativeBuildInputs = [ makeWrapper ];
doCheck = false;
installPhase = ''
mkdir -p $out/lib/server/target/lib
cp -r server/target/lib/* $out/lib/server/target/lib/

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "tulip";
version = "5.7.3";
version = "5.7.4";
src = fetchurl {
url = "mirror://sourceforge/auber/tulip-${version}_src.tar.gz";
hash = "sha256-arpC+FsDYGMf47phtSzyjjvDg/UYZS+akOe5CYfajdU=";
hash = "sha256-7z21WkPi1v2AGishDmXZPAedMjgXPRnpUiHTzEnc5LY=";
};
nativeBuildInputs = [ cmake wrapQtAppsHook ]

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "git-cliff";
version = "2.2.2";
version = "2.3.0";
src = fetchFromGitHub {
owner = "orhun";
repo = "git-cliff";
rev = "v${version}";
hash = "sha256-e7DeGcavBgjnH2QY/nqRThYHKzhmbNxYPoOmMF+0I3s=";
hash = "sha256-iTjfFl/bTvyElCIpTj7dsVu3azUSwNTryyssHdCaODg=";
};
cargoHash = "sha256-MaSqQD3SRuqiOj5hTHAMyTDj2xgboA5QIZEH7BAxjF4=";
cargoHash = "sha256-/Elb/hsk96E7D6TrLgbhD5cQhsXpDigNm5p9FpKGEUQ=";
# attempts to run the program on .git in src which is not deterministic
doCheck = false;

View File

@ -48,9 +48,9 @@ buildGoModule rec {
postInstall = ''
installShellCompletion --cmd git-town \
--bash <($out/bin/git-town completion bash) \
--fish <($out/bin/git-town completion fish) \
--zsh <($out/bin/git-town completion zsh)
--bash <($out/bin/git-town completions bash) \
--fish <($out/bin/git-town completions fish) \
--zsh <($out/bin/git-town completions zsh)
wrapProgram $out/bin/git-town --prefix PATH : ${lib.makeBinPath [ git ]}
'';

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "glab";
version = "1.40.0";
version = "1.41.0";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "cli";
rev = "v${version}";
hash = "sha256-setvszKdG2EQUlVJNbo7gPKE4b7lfdGT30MC82Kk2/s=";
hash = "sha256-DvIp7eMBWKWQ5VW9MW391xnUz8o1KNz1mkJtu7YVILo=";
};
vendorHash = "sha256-vx4dNFM0PfapRQxz9ef1vNs4RiZlZDNhcKlo87gjGTs=";
vendorHash = "sha256-WM19Kx2b31e4/iA92U9FUuF8R1DMvbKotE2D9HpLQpQ=";
ldflags = [
"-s"

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "flowblade";
version = "2.14.0.2";
version = "2.16";
src = fetchFromGitHub {
owner = "jliljebl";
repo = pname;
rev = "v${version}";
sha256 = "sha256-M+M6qkgYD5zM8IOFwQsuQlK7qQsvmSjR+CXVpTW+O8k=";
sha256 = "sha256-+vXljhtGcsS50/J52mJGazZX7oWB/RATvv6nzaLeV0Q=";
};
buildInputs = [

View File

@ -1,21 +1,20 @@
{ lib, buildKodiAddon, fetchFromGitHub, six, requests, infotagger, inputstreamhelper }:
{ lib, buildKodiAddon, fetchFromGitHub, requests, inputstream-adaptive, inputstreamhelper }:
buildKodiAddon rec {
pname = "youtube";
namespace = "plugin.video.youtube";
version = "7.0.6.3";
version = "7.0.7";
src = fetchFromGitHub {
owner = "anxdpanic";
repo = "plugin.video.youtube";
rev = "v${version}";
hash = "sha256-MhVxaI/kZ/CCAcf6Mo4DXmXpCLpxxpBFGwmTBp3rKkI=";
hash = "sha256-i21BCkW4WpnQY1j9Wyn3/26GaAjWNXDb+lOVpmXlNKM=";
};
propagatedBuildInputs = [
six
requests
infotagger
inputstream-adaptive
inputstreamhelper
];

View File

@ -14,12 +14,12 @@
}:
stdenv.mkDerivation rec {
pname = "vdr-softhddevice";
version = "2.3.1";
version = "2.3.2";
src = fetchFromGitHub {
owner = "ua0lnj";
repo = "vdr-plugin-softhddevice";
sha256 = "sha256-hg4zx3M5X56u3AqG8Aj9DDDB/V0w4EiU9EAz8Qe+NVY=";
sha256 = "sha256-nPIEj4DzHUOkwbwUk06Yv4lIGGn6d/C3kmK7EoaL6kE=";
rev = "v${version}";
};

View File

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

View File

@ -15,13 +15,13 @@
buildGoModule rec {
pname = "cri-o";
version = "1.30.1";
version = "1.30.2";
src = fetchFromGitHub {
owner = "cri-o";
repo = "cri-o";
rev = "v${version}";
hash = "sha256-3TO7pPDIYxlWXWNIAqCMWPCFPRxG6k6ilL2wDiAXFVY=";
hash = "sha256-4v7Pt3WS68h+Un4QNATyQ/o/+8b8nVoNsy6VgwB9Brc=";
};
vendorHash = null;

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "nixpacks";
version = "1.23.0";
version = "1.24.1";
src = fetchFromGitHub {
owner = "railwayapp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-M4RZwcFiupZdePDkUWRTiTNA58siMsggTGpvHb8j88Y=";
sha256 = "sha256-niKz+F1RJtZrE8+BaJwy5bjGS3miJf5C9LttTnC+iuk=";
};
cargoHash = "sha256-hSzDboP2YJoPPzugb0ABiogKU7lauJNML8szThB2zqg=";
cargoHash = "sha256-fzG53DqZKgW6Gen+0ZO9lxgPXkxw7S6OdZWNNI+y9hU=";
# skip test due FHS dependency
doCheck = false;

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation {
pname = "sommelier";
version = "124.0";
version = "125.0";
src = fetchzip rec {
url = "https://chromium.googlesource.com/chromiumos/platform2/+archive/${passthru.rev}/vm_tools/sommelier.tar.gz";
passthru.rev = "0ced021a6b362f35592cca5a3915d0ed784615f2";
passthru.rev = "4445ac169a9e043fd260a835384aaa49c457c358";
stripRoot = false;
sha256 = "zSiGhF4FhLUavC7YEOGGq4NE2hxK4YNXF3CpLptoZbM=";
sha256 = "1PofODGZDknZpzXI1d3JcoNYz3IGfw32nm+SmUpeqb8=";
};
nativeBuildInputs = [

View File

@ -20,17 +20,17 @@
buildGoModule rec {
pname = "aaaaxy";
version = "1.5.129";
version = "1.5.139";
src = fetchFromGitHub {
owner = "divVerent";
repo = pname;
rev = "v${version}";
hash = "sha256-kH2eFFxohvuuEP2p7bt8zOYbk3gF86X9y3sNdLYl/Qo=";
hash = "sha256-j8BpLN0PhMqUQXhF1L7uEW2KLaVq5cfckXnWrkltCgM=";
fetchSubmodules = true;
};
vendorHash = "sha256-VEayNWztJYeQoJHVJfAlmHD65PEho1TCttTfT0cbgUQ=";
vendorHash = "sha256-a6nfGP6Lwjwr4wXXRUrCyV9+BCyHOSKczk5rjZdFnlA=";
buildInputs = [
alsa-lib

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

@ -21,11 +21,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "atlauncher";
version = "3.4.36.4";
version = "3.4.36.5";
src = fetchurl {
url = "https://github.com/ATLauncher/ATLauncher/releases/download/v${finalAttrs.version}/ATLauncher-${finalAttrs.version}.jar";
hash = "sha256-7l4D99rTOP+oyaa+O8GPGugr3Nv8EIt6EqK1L9ttFBA=";
hash = "sha256-sytUMRp3qkdE5uzfFhuVqwsBYfRPubEG7/X/JqS2uxY=";
};
env.ICON = fetchurl {
@ -77,14 +77,15 @@ stdenv.mkDerivation (finalAttrs: {
})
];
meta = with lib; {
meta = {
changelog = "https://github.com/ATLauncher/ATLauncher/blob/v${finalAttrs.version}/CHANGELOG.md";
description = "A simple and easy to use Minecraft launcher which contains many different modpacks for you to choose from and play";
downloadPage = "https://atlauncher.com/downloads";
homepage = "https://atlauncher.com";
license = licenses.gpl3;
license = lib.licenses.gpl3;
mainProgram = "atlauncher";
maintainers = [ maintainers.getpsyched ];
platforms = platforms.all;
sourceProvenance = [ sourceTypes.binaryBytecode ];
maintainers = with lib.maintainers; [ getpsyched ];
platforms = lib.platforms.all;
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
};
})

View File

@ -8,13 +8,13 @@
}:
let
version = "1.12.3";
version = "1.12.4";
src = fetchFromGitHub {
owner = "detachhead";
repo = "basedpyright";
rev = "v${version}";
hash = "sha256-n4jiKxkXGCKJkuXSsUktsiJQuCcZ+D/RJH/ippnOVw8=";
hash = "sha256-ZcFCK6KKX10w5KgsUQIDMMBIzU+8pw0t9/pn1tzCnMg=";
};
patchedPackageJSON = runCommand "package.json" { } ''
@ -44,7 +44,7 @@ let
pname = "pyright-internal";
inherit version src;
sourceRoot = "${src.name}/packages/pyright-internal";
npmDepsHash = "sha256-ba7GzkKrXps4W1ptv+j9fMMXwpi30ymbqgIJ64PaZ1g=";
npmDepsHash = "sha256-90IGWvXvUpvIQdpukm8njwcNj7La6rWwoENh4kiBayI=";
dontNpmBuild = true;
# FIXME: Remove this flag when TypeScript 5.5 is released
npmFlags = [ "--legacy-peer-deps" ];
@ -60,7 +60,7 @@ buildNpmPackage rec {
inherit version src;
sourceRoot = "${src.name}/packages/pyright";
npmDepsHash = "sha256-9V1T6w1G1SZi19dgRaFmv+Vy71hmQR+L6cDjQZJrGy8=";
npmDepsHash = "sha256-HI3ehtJ29kFSv0XyrXcp5JGs9HGYb9ub2oOSQ6uEn8Q=";
postPatch = ''
chmod +w ../../

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

@ -56,7 +56,6 @@ maven.buildMavenPackage {
"-Dskip.npm"
"-Dspotless.check.skip"
"-Dmaven.gitcommitid.skip"
"-DskipTests"
];
nativeBuildInputs = [ makeWrapper ];
@ -71,6 +70,8 @@ maven.buildMavenPackage {
runHook postConfigure
'';
doCheck = false;
installPhase = ''
runHook preInstall

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, autoreconfHook
, go-md2man
@ -24,18 +25,27 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "composefs";
version = "1.0.3";
version = "1.0.4";
src = fetchFromGitHub {
owner = "containers";
repo = "composefs";
rev = "v${finalAttrs.version}";
hash = "sha256-YmredtZZKMjzJW/kxiTUmdgO/1iPIKzJsuJz8DeEdGM=";
hash = "sha256-ekUFLZGWTsiJZFv3nHoxuV057zoOtWBIkt+VdtzlaU4=";
};
strictDeps = true;
outputs = [ "out" "lib" "dev" ];
patches = [
# fixes composefs-info tests, remove in next release
# https://github.com/containers/composefs/pull/291
(fetchpatch {
url = "https://github.com/containers/composefs/commit/f7465b3a57935d96451b392b07aa3a1dafb56e7b.patch";
hash = "sha256-OO3IfqLf3dQGjEgKx3Bo630KALmLAWwgdACuyZm2Ujc=";
})
];
postPatch = lib.optionalString installExperimentalTools ''
sed -i "s/noinst_PROGRAMS +\?=/bin_PROGRAMS +=/g" tools/Makefile.am
'';
@ -64,8 +74,8 @@ stdenv.mkDerivation (finalAttrs: {
preCheck = ''
patchShebangs --build tests/*dir tests/*.sh
substituteInPlace tests/*.sh \
--replace " /tmp" " $TMPDIR" \
--replace " /var/tmp" " $TMPDIR"
--replace-quiet " /tmp" " $TMPDIR" \
--replace-quiet " /var/tmp" " $TMPDIR"
'';
passthru = {

View File

@ -21,20 +21,20 @@
stdenv.mkDerivation rec {
pname = "delfin";
version = "0.4.4";
version = "0.4.5";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "avery42";
repo = "delfin";
rev = "v${version}";
hash = "sha256-qbl0PvGKI3S845xLr0aXf/uk2uuOXMjvu9S3BOPzxa0=";
hash = "sha256-iqibdVMf4RBl/EuFvE6tEPDliYmRtIYCW/mO+nNKcWU=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-Js1mIotSOayYDjDVQMqXwaeSC2a1g1DeqD6QmeWwztk=";
hash = "sha256-2V2jx78S0Gj4/w3oduH/s7Pd6XG/GCs4lwhFCdGVdd8=";
};
nativeBuildInputs = [

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "flake-checker";
version = "0.1.18";
version = "0.1.19";
src = fetchFromGitHub {
owner = "DeterminateSystems";
repo = "flake-checker";
rev = "v${version}";
hash = "sha256-XoYpiqatCQCYuKpVGlWcteVp71LXh+leFEtbL5lb0rs=";
hash = "sha256-KJTObuHJQjIgg/5A25Ee+7s2SrmtyYFnvcnklYhSCNE=";
};
cargoHash = "sha256-LM0tYSRhM4GGb/Pa5l2xMAJ26ZyAuSEKlZansE/VNNw=";
cargoHash = "sha256-ADqc7H2MClXyYEw/lc9F4HAfpHrDc/lqL/BIL/PTZro=";
buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
Security

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "flashmq";
version = "1.13.1";
version = "1.14.0";
src = fetchFromGitHub {
owner = "halfgaar";
repo = "FlashMQ";
rev = "v${version}";
hash = "sha256-ZKDoh2eZDs7iQpfsvfsG7ic+A8NG+UUGgq9l2tmfhVI=";
hash = "sha256-rOhH3mRPW4LweQmzztr6/xGqSfo02nFBWrAVd0/oQGA=";
};
nativeBuildInputs = [ cmake installShellFiles ];

View File

@ -1,7 +1,7 @@
{ lib
, stdenv
, buildGoModule
, fetchurl
, fetchFromGitHub
, makeWrapper
, git
, bash
@ -16,23 +16,47 @@
, brotli
, xorg
, nixosTests
, buildNpmPackage
}:
buildGoModule rec {
let
frontend = buildNpmPackage {
pname = "gitea-frontend";
inherit (gitea) src version;
npmDepsHash = "sha256-gXBBiDIIS0aW6qK37HcF0AuJOliblinznRVXoo6DV1s=";
# use webpack directly instead of 'make frontend' as the packages are already installed
buildPhase = ''
BROWSERSLIST_IGNORE_OLD_DATA=true npx webpack
'';
installPhase = ''
mkdir -p $out
cp -R public $out/
'';
};
in buildGoModule rec {
pname = "gitea";
version = "1.22.0";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl {
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
hash = "sha256-bU4u/RsE12InXjJ2ZvIL31z9AzB7XULyV0+ytAYnyjg=";
src = fetchFromGitHub {
owner = "go-gitea";
repo = "gitea";
rev = "v${gitea.version}";
hash = "sha256-LdNEiPch2BZNYMOjE9yWsq78g6DolMjM5wUci3jXj30=";
};
vendorHash = null;
vendorHash = "sha256-8VoJR4p2WnhG6nTFMzBlcrd/B6UwaOU3Q/rnDx9MtWc=";
patches = [
./static-root-path.patch
];
outputs = [ "out" "data" ];
patches = [ ./static-root-path.patch ];
# go-modules derivation doesn't provide $data
# so we need to wait until it is built, and then
# at that time we can then apply the substituteInPlace
overrideModAttrs = _: { postPatch = null; };
postPatch = ''
substituteInPlace modules/setting/server.go --subst-var data
@ -54,11 +78,10 @@ buildGoModule rec {
"-X 'main.Tags=${lib.concatStringsSep " " tags}'"
];
outputs = [ "out" "data" ];
postInstall = ''
mkdir $data
cp -R ./{public,templates,options} $data
ln -s ${frontend}/public $data/public
cp -R ./{templates,options} $data
mkdir -p $out
cp -R ./options/locale $out/locale
@ -84,7 +107,7 @@ buildGoModule rec {
meta = with lib; {
description = "Git with a cup of tea";
homepage = "https://gitea.io";
homepage = "https://about.gitea.com";
license = licenses.mit;
maintainers = with maintainers; [ ma27 techknowlogick SuperSandro2000 ];
broken = stdenv.isDarwin;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gmid";
version = "2.0.2";
version = "2.0.3";
src = fetchFromGitHub {
owner = "omar-polo";
repo = pname;
rev = version;
hash = "sha256-5K6+CVX0/m6SBcTvwy4GD0x9R/yQjd+2tTJiA4OagcI=";
hash = "sha256-izugxV+fSYBf193ilu70M3OkT6gnkXrTP45gEkEImuA=";
};
nativeBuildInputs = [ bison ];

View File

@ -17,11 +17,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "got";
version = "0.99";
version = "0.100";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
hash = "sha256-rqQINToCsuOtm00bdgeQAmmvl5htQJmMV/EKzfD6Hjg=";
hash = "sha256-/DqKIGf/aZ09aL/rB7te+AauHmJ+mOTrVEbkqT9WUBI=";
};
nativeBuildInputs = [ pkg-config bison ]

View File

@ -1,12 +1,12 @@
{
"name": "@withgraphite/graphite-cli",
"version": "1.3.5",
"version": "1.3.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@withgraphite/graphite-cli",
"version": "1.3.5",
"version": "1.3.6",
"hasInstallScript": true,
"license": "None",
"dependencies": {

View File

@ -7,14 +7,14 @@
buildNpmPackage rec {
pname = "graphite-cli";
version = "1.3.5";
version = "1.3.6";
src = fetchurl {
url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
hash = "sha256-W/EFhlJeiZrBK9FG4DhR1iyU9YSSbaf/np2vQ8obA0M=";
hash = "sha256-rD/YWFRHzoM9Gsd9tnCF56RChckaeWGFphYgHa0UvUU=";
};
npmDepsHash = "sha256-X1FWYAuHouOXuAlgrbwgrbwaxKX5JS8iG0RnCPX5TvM=";
npmDepsHash = "sha256-WyV0f5thWG7hg7Vm1UUIlcFCgP83HfXQFBUVHcQdjRo=";
postPatch = ''
ln -s ${./package-lock.json} package-lock.json

View File

@ -7,10 +7,10 @@
}:
stdenv.mkDerivation rec {
pname = "halo";
version = "2.15.2";
version = "2.16.0";
src = fetchurl {
url = "https://github.com/halo-dev/halo/releases/download/v${version}/${pname}-${version}.jar";
hash = "sha256-BCcIDaWtn8OkI+GWs741nWgqyO8qlE9m2hZ3e+iViUI=";
hash = "sha256-YjRoq38y4nFmcvEEWyJMociGNzUgQ5FXzTw2R64urcY=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
libX11,
xorg,
libXext,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "highlight-pointer";
version = "1.1.3";
src = fetchFromGitHub {
owner = "swillner";
repo = "highlight-pointer";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-mz9gXAtrtSV0Lapx8xBOPljuF+HRgDaF2DKCDrHXQa8=";
};
buildInputs = [
libX11
libXext
xorg.libXi
xorg.libXfixes
];
installPhase = ''
runHook preInstall
install -m 555 -D highlight-pointer $out/bin/highlight-pointer
runHook postInstall
'';
meta = with lib; {
description = "Highlight mouse pointer/cursor using a dot";
homepage = "https://github.com/swillner/highlight-pointer";
changelog = "https://github.com/swillner/highlight-pointer/releases/tag/v${finalAttrs.version}";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ DCsunset ];
mainProgram = "highlight-pointer";
};
})

View File

@ -1,13 +1,13 @@
{ lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, immich-go }:
buildGoModule rec {
pname = "immich-go";
version = "0.15.0";
version = "0.16.0";
src = fetchFromGitHub {
owner = "simulot";
repo = "immich-go";
rev = "${version}";
hash = "sha256-gZVjs0aFwlx5joX7iqy7uDd23d/4LjP/t6u7z8X/P8o=";
hash = "sha256-9b9eQ1ufVQsg9hzwK0570HKmWTPcTag6DM2NB7mutjk=";
# Inspired by: https://github.com/NixOS/nixpkgs/blob/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c/pkgs/applications/graphics/pdfcpu/default.nix#L20-L32
# The intention here is to write the information into files in the `src`'s

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

@ -5,7 +5,7 @@
...
}:
let
version = "0.0.6";
version = "0.1.0";
in
buildGoModule {
pname = "izrss";
@ -15,7 +15,7 @@ buildGoModule {
owner = "isabelroses";
repo = "izrss";
rev = "refs/tags/v${version}";
hash = "sha256-tO/m39FMtvxZzNgnVY84k4J2v8vQVdzR3IKofJWCf9U=";
hash = "sha256-Op9aiCQrBH8TuhMTt+3Wthd8UY3lU2g9yJ110v7TtXA=";
};
ldflags = [
@ -24,7 +24,7 @@ buildGoModule {
"-X main.version=${version}"
];
vendorHash = "sha256-/gD82wT4jWNMQsGPb2nYQiFQsUdKICyO6eiRPHrLsy8=";
vendorHash = "sha256-/TRCD6akZV2qDqJz62p7UzFIGuTAKLnUtYqqvdw3rCI=";
meta = {
description = "An RSS feed reader for the terminal written in Go";

View File

@ -6,15 +6,15 @@
}:
let
timestamp = "202401111522";
timestamp = "202405301306";
in
stdenv.mkDerivation (finalAttrs: {
pname = "jdt-language-server";
version = "1.31.0";
version = "1.36.0";
src = fetchurl {
url = "https://download.eclipse.org/jdtls/milestones/${finalAttrs.version}/jdt-language-server-${finalAttrs.version}-${timestamp}.tar.gz";
hash = "sha256-bCX2LQt00d2SqxmvuvvlBB6wbCuFPqtX9/Qv5v6wH3w=";
hash = "sha256-Ao4nTQb0phytT/1W+J70FKj2VhPG0F2UZ2Ubf7A9rns=";
};
sourceRoot = ".";

2
pkgs/by-name/jd/jdt-language-server/update.sh Normal file → Executable file
View File

@ -15,7 +15,7 @@ filename=$(curl -s "$prefix/latest.txt")
newtimestamp=$(echo $filename | sed "s|^.*-$newver-||;s|\.tar\.gz$||")
newhash="$(nix-hash --to-sri --type sha256 $(nix-prefetch-url "$prefix/$filename"))";
sed -i default.nix \
sed -i package.nix \
-e "/^ version =/ s|\".*\"|\"$newver\"|" \
-e "/^ timestamp =/ s|\".*\"|\"$newtimestamp\"|" \
-e "/^ hash =/ s|\".*\"|\"$newhash\"|" \

View File

@ -1,9 +1,6 @@
{ lib
, rustPlatform
, fetchFromGitHub
, autoconf
, automake
, libtool
}:
rustPlatform.buildRustPackage rec {
pname = "jnv";
@ -18,13 +15,6 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-qpVRq6RbrDZDSJkLQ5Au9j2mWXp3gn7QBe3nRmIVK8c=";
nativeBuildInputs = [
autoconf
automake
libtool
rustPlatform.bindgenHook
];
meta = with lib; {
description = "Interactive JSON filter using jq";
mainProgram = "jnv";

View File

@ -12,10 +12,12 @@ maven.buildMavenPackage rec {
};
mvnHash = "sha256-m1o0m0foqJhEzWjC9behBeld5HT08WClcZN2xc3fZrI=";
mvnParameters = "-DskipTests compile";
mvnParameters = "compile";
nativeBuildInputs = [ makeWrapper ];
doCheck = false;
installPhase = ''
runHook preInstall

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "legba";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "evilsocket";
repo = "legba";
rev = "v${version}";
hash = "sha256-yevQEbDuVaSsSfA3ug9rDeWtGjMvS+uD7qHguRVt4sg=";
hash = "sha256-emj2N3S26Nm0UiHGZIraCJN07rJNOMvdWRoUbHneknY=";
};
cargoHash = "sha256-UBt4FP5zW+dijneHNaFJ80Ui5R+m+8aSwHTcqKDeEVg=";
cargoHash = "sha256-viDfJ214Zf5segjrLSTbHav5T5e219NAF+MvuPow+JQ=";
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ openssl.dev samba ];

View File

@ -13,24 +13,24 @@
let
pname = "lx-music-desktop";
version = "2.7.0";
version = "2.8.0";
buildUrl = version: arch: "https://github.com/lyswhut/lx-music-desktop/releases/download/v${version}/lx-music-desktop_${version}_${arch}.deb";
srcs = {
x86_64-linux = fetchurl {
url = buildUrl version "amd64";
hash = "sha256-+mCAFfiJwa+RQ/9vnSPDrC1LoLIoZyFUEJAF6sXdqRM=";
hash = "sha256-Kt/foI7NrXV+Ex2DxLRyP3bVFw0Bx4TLuMyBMZD0bDw=";
};
aarch64-linux = fetchurl {
url = buildUrl version "arm64";
hash = "sha256-fDlgHJqoZLGnUuZeZGdocYLbsE02QBrWPKS31fbGThk=";
hash = "sha256-4X4fXb2V/FigArcIgpgkNBa2+mOemPOx/HkxPlx//gw=";
};
armv7l-linux = fetchurl {
url = buildUrl version "armv7l";
hash = "sha256-X6EXsBvTbPGXCJ+ektMCMGDG2zqGKBvWT/TwjGFL3ug=";
hash = "sha256-uWEQYOT4wxg6HWoL18mEpWF8pONl5Bwf/bnoN4X+A7c=";
};
};

View File

@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "marcel";
version = "0.27.2";
version = "0.28";
pyproject = true;
src = fetchFromGitHub {
owner = "geophile";
repo = "marcel";
rev = "refs/tags/v${version}";
hash = "sha256-jzb4kSrcN+pLFkWYy0hc7NCCextWgZQuf3P+kiouEfY=";
hash = "sha256-aJq8FAW1/Vo2x3st+/cxAzo4jHYPBDx/2i/2h1GVnrs=";
};
nativeBuildInputs = with python3Packages; [

View File

@ -17,8 +17,7 @@ maven.buildMavenPackage rec {
mvnHash = "sha256-7O+G5HT6mtp12zWL3Gn12KPVUwp3GMaWGvXX6Sg1+6k=";
# Disable tests because they require networking
mvnParameters = "-DskipTests";
doCheck = false; # Requires networking
installPhase = ''
runHook preInstall

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

@ -114,6 +114,6 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
changelog = "https://github.com/neovide/neovide/releases/tag/${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ ck3d ];
platforms = platforms.all;
platforms = platforms.linux ++ [ "aarch64-darwin" ];
};
}

View File

@ -7,13 +7,13 @@
}:
buildGoModule rec {
pname = "nezha-agent";
version = "0.16.10";
version = "0.16.11";
src = fetchFromGitHub {
owner = "nezhahq";
repo = "agent";
rev = "v${version}";
hash = "sha256-aNonfJxEjK19+Um8tVCi/My88YGajr59+ubIPor5gOI=";
hash = "sha256-mcTS+PjFa5niWhe8pmWmuYpx+Y9ZWX0hpcLEodN/SIs=";
};
vendorHash = "sha256-L6QdodI8Ur1H6Zc24KSTYAHfzvW2aq9SYwCVgjvSDII=";

View File

@ -5,13 +5,13 @@
}:
buildGoModule rec {
pname = "nom";
version = "2.2.3";
version = "2.4.0";
src = fetchFromGitHub {
owner = "guyfedwards";
repo = "nom";
rev = "v${version}";
hash = "sha256-W0HDoQURZxTvMyFfRGOu8gcZJihtvXvrEaObmi/CAk0=";
hash = "sha256-1KHU+y8aoEdXzP5jUZlTokbv383aKgMt+Wby2bodCTI=";
};
vendorHash = "sha256-wWdsLU656wBAUmnVw21wo+a/OLmyhZ2Bq0j8S190XQs=";

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "normaliz";
version = "3.10.2";
version = "3.10.3";
src = fetchFromGitHub {
owner = "normaliz";
repo = "normaliz";
rev = "v${finalAttrs.version}";
hash = "sha256-Q4OktVvFobP25fYggIqBGtSJu2HsYz9Tm+QbEAz0fMg=";
hash = "sha256-9jN3EbYfWmir+pa4XuJpeT7CnQdhVU9pP8G11npIG00=";
};
buildInputs = [

View File

@ -51,9 +51,6 @@ stdenv.mkDerivation rec {
"--readline=${readline-all}"
];
# Stripping breaks the bundles by removing the zip file from the end.
dontStrip = true;
meta = {
description = "A Unix shell with JSON-compatible structured data. It's our upgrade path from bash to a better language and runtime.";
homepage = "https://www.oilshell.org/";

View File

@ -0,0 +1,142 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
python3,
nixosTests,
}:
let
pname = "open-webui";
version = "0.2.4";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
rev = "v${version}";
hash = "sha256-jWO0mo26C+QTIX5j3ucDk/no+vQnAh7Q6JwB3lLM83k=";
};
frontend = buildNpmPackage {
inherit pname version src;
npmDepsHash = "sha256-QIgYHZusuq2QD8p8MGsNVhCbz6fR+qP9UuU/kbBkadc=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work.
postPatch = ''
substituteInPlace package.json \
--replace-fail "npm run pyodide:fetch && vite build" "vite build" \
'';
env.CYPRESS_INSTALL_BINARY = "0"; # disallow cypress from downloading binaries in sandbox
installPhase = ''
runHook preInstall
mkdir -p $out/share
cp -a build $out/share/open-webui
runHook postInstall
'';
};
in
python3.pkgs.buildPythonApplication rec {
inherit pname version src;
pyproject = true;
# The custom hook tries to run `npm install` in `buildPhase`.
# We don't have to worry, as nodejs depedencies are managed by `frontend` drv.
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '[tool.hatch.build.hooks.custom]' "" \
--replace-fail ', build = "open_webui/frontend"' ""
'';
pythonRelaxDeps = true;
pythonRemoveDeps = [
# using `psycopg2` instead
"psycopg2-binary"
# using `opencv4`
"opencv-python-headless"
# package request: https://github.com/NixOS/nixpkgs/issues/317065
"rapidocr-onnxruntime"
# package request: https://github.com/NixOS/nixpkgs/issues/317066
"langfuse"
# package request: https://github.com/NixOS/nixpkgs/issues/317068
"langchain-chroma"
];
dependencies = with python3.pkgs; [
beautifulsoup4
fastapi
uvicorn
python-multipart
flask
flask-cors
python-socketio
python-jose
passlib
requests
aiohttp
peewee
peewee-migrate
psycopg2
pymysql
bcrypt
litellm
boto3
argon2-cffi
apscheduler
google-generativeai
langchain
langchain-community
fake-useragent
chromadb
sentence-transformers
pypdf
docx2txt
python-pptx
unstructured
markdown
pypandoc
pandas
openpyxl
pyxlsb
xlrd
validators
opencv4
fpdf2
rank-bm25
faster-whisper
pyjwt
black
youtube-transcript-api
pytube
];
build-system = with python3.pkgs; [
hatchling
pythonRelaxDepsHook
];
pythonImportsCheck = [ "open_webui" ];
postInstall = ''
wrapProgram $out/bin/open-webui \
--set FRONTEND_BUILD_DIR "${frontend}/share/open-webui"
'';
passthru.tests = {
inherit (nixosTests) open-webui;
};
meta = {
description = "Full-stack of open-webui. open-webui is a user-friendly WebUI for LLMs (Formerly Ollama WebUI)";
homepage = "https://github.com/open-webui/open-webui";
changelog = "https://github.com/open-webui/open-webui/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ shivaraj-bh ];
mainProgram = "open-webui";
};
}

View File

@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, cmake
, pkg-config
, check
@ -19,8 +18,6 @@
, openssl
, mbedtls
, withPubSub ? false
# for passthru.tests only
, open62541
}:
@ -33,44 +30,35 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "open62541";
version = "1.3.10";
version = "1.4.1";
src = fetchFromGitHub {
owner = "open62541";
repo = "open62541";
rev = "v${finalAttrs.version}";
hash = "sha256-FekO0cKgpYulMXz4r0/TUPz2tawC4k3Sq07Og4xqh4I=";
hash = "sha256-An8Yg6VSelNV/7poLEOjeiIb0+eMoQWG7sYqhytEKMA=";
fetchSubmodules = true;
};
patches = [
(fetchpatch {
name = "Ensure-absolute-paths-in-pkg-config-file.patch";
url = "https://github.com/open62541/open62541/commit/023d4b6b8bdec987f8f3ffee6c09801bbee4fa2d.patch";
sha256 = "sha256-mq4h32js2RjI0Ljown/01SXA3gc+7+zX8meIcvDPvoA=";
})
];
cmakeFlags = [
"-DOPEN62541_VERSION=v${finalAttrs.version}"
(lib.cmakeFeature "OPEN62541_VERSION" finalAttrs.src.rev)
(lib.cmakeFeature "UA_NAMESPACE_ZERO" "FULL")
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
"-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
"-DUA_NAMESPACE_ZERO=FULL"
# Note comment near doCheck
(lib.cmakeBool "UA_BUILD_UNIT_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeBool "UA_ENABLE_ALLOW_REUSEADDR" finalAttrs.finalPackage.doCheck)
"-DUA_BUILD_UNIT_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
]
++ lib.optional withExamples "-DUA_BUILD_EXAMPLES=ON"
++ lib.optional (withEncryption != false)
"-DUA_ENABLE_ENCRYPTION=${lib.toUpper withEncryption}"
++ lib.optional withPubSub "-DUA_ENABLE_PUBSUB=ON"
;
(lib.cmakeBool "UA_BUILD_EXAMPLES" withExamples)
] ++ lib.optionals (withEncryption != false) [
(lib.cmakeFeature "UA_ENABLE_ENCRYPTION" (lib.toUpper withEncryption))
];
nativeBuildInputs = [
cmake
pkg-config
python3Packages.python
]
++ lib.optionals withDoc (with python3Packages; [
] ++ lib.optionals withDoc (with python3Packages; [
sphinx
sphinx_rtd_theme
graphviz-nox
@ -80,7 +68,11 @@ stdenv.mkDerivation (finalAttrs: {
buildFlags = [ "all" ] ++ lib.optional withDoc "doc";
doCheck = true;
# Tests must normally be disabled because they require
# -DUA_ENABLE_ALLOW_REUSEADDR=ON. The option must not be used in production,
# since it is a security risk.
# See https://github.com/open62541/open62541/issues/6407
doCheck = false;
checkInputs = [
check
@ -92,14 +84,30 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelChecking = false;
preCheck = let
disabledTests = lib.optionals withPubSub [
# "Cannot set socket option IP_ADD_MEMBERSHIP"
"pubsub_publish"
disabledTests = [
# error "Could not create a raw Ethernet socket (are you root?)"
"check_eventloop_eth"
# Cannot set socket option IP_ADD_MEMBERSHIP
"check_pubsub_publish"
"check_pubsub_publish_json"
"check_pubsub_connection_udp"
"check_pubsub_get_state"
"check_pubsub_publish_rt_levels"
"check_pubsub_publisherid"
"check_pubsub_subscribe"
"check_pubsub_publishspeed"
"check_pubsub_subscribe_config_freeze"
"check_pubsub_subscribe_rt_levels"
"check_pubsub_multiple_subscribe_rt_levels"
"check_pubsub_config_freeze"
"check_pubsub_publish_rt_levels"
# Could not find the interface
"check_pubsub_connection_ethernet"
"check_pubsub_connection_ethernet_etf"
"check_pubsub_publish_ethernet_etf"
"check_pubsub_informationmodel"
"check_pubsub_informationmodel_methods"
];
regex = "^(${builtins.concatStringsSep "|" disabledTests})\$";
in lib.optionalString (disabledTests != []) ''
@ -131,14 +139,16 @@ stdenv.mkDerivation (finalAttrs: {
passthru.updateScript = nix-update-script { };
passthru.tests = let
open62541Full = encBackend: open62541.override {
open62541Full = encBackend: (open62541.overrideAttrs (_: {
doCheck = true;
})).override {
withDoc = true;
# if (withExamples && withPubSub), one of the example currently fails to build
# if withExamples, one of the example currently fails to build
#withExamples = true;
withEncryption = encBackend;
withPubSub = true;
};
in {
open62541WithTests = finalAttrs.finalPackage.overrideAttrs (_: { doCheck = true; });
open62541Full = open62541Full false;
open62541Full-openssl = open62541Full "openssl";
open62541Full-mbedtls = open62541Full "mbedtls";

View File

@ -31,13 +31,13 @@
stdenv.mkDerivation rec {
pname = "openvas-scanner";
version = "23.3.1";
version = "23.3.2";
src = fetchFromGitHub {
owner = "greenbone";
repo = "openvas-scanner";
rev = "refs/tags/v${version}";
hash = "sha256-0vcGKC979bJLhq/9e+DYaRrsUktjMyMuZNqZYK6BCWQ=";
hash = "sha256-KlWO5Cik380pHWC4Lo7eE47z0tNcnbmHIO0J07UrYlg=";
};
nativeBuildInputs = [

Some files were not shown because too many files have changed in this diff Show More