diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2c1d0e348726..cbbdba9a9094 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6722,6 +6722,7 @@ drakon64 = { name = "Adam Chance"; email = "nixpkgs@drakon.cloud"; + github = "drakon64"; githubId = 6444703; }; dramaturg = { @@ -23224,6 +23225,7 @@ name = "Zhifan"; email = "nonno.felice69uwu@gmail.com"; matrix = "@c3n21:matrix.org"; + github = "c3n21"; githubId = 37077738; }; sinjin2300 = { @@ -24955,6 +24957,12 @@ githubId = 71843723; keys = [ { fingerprint = "EEFB CC3A C529 CFD1 943D A75C BDD5 7BE9 9D55 5965"; } ]; }; + theonlymrcat = { + name = "Max Guppy"; + email = "theonly@mrcat.au"; + github = "TheOnlyMrCat"; + githubId = 23222857; + }; theoparis = { email = "theo@tinted.dev"; github = "theoparis"; diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 07459190d737..43b30bd1afdd 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -48,6 +48,8 @@ +- The Perl implementation of the `switch-to-configuration` program is removed. All switchable systems now use the Rust rewrite. Any prior usage of `system.switch.enableNg` must now be removed. If you have any outstanding issues with the new implementation, please open an issue on GitHub. + - The `no-broken-symlink` build hook now also fails builds whose output derivation contains links to $TMPDIR (typically /build, which contains the build directory). - The `services.polipo` module has been removed as `polipo` is unmaintained and archived upstream. diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix index f71a624156cd..90683fa088dc 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix @@ -24,6 +24,16 @@ pkgs.maliit-keyboard ]; + environment.plasma6.excludePackages = [ + # Optional wallpapers that add 126 MiB to the graphical installer + # closure. They will still need to be downloaded when installing a + # Plasma system, though. + pkgs.kdePackages.plasma-workspace-wallpapers + ]; + + # Avoid bundling an entire MariaDB installation on the ISO. + programs.kde-pim.enable = false; + system.activationScripts.installerDesktop = let diff --git a/nixos/modules/misc/nixpkgs/read-only.nix b/nixos/modules/misc/nixpkgs/read-only.nix index fa372d13e545..db43615c12f0 100644 --- a/nixos/modules/misc/nixpkgs/read-only.nix +++ b/nixos/modules/misc/nixpkgs/read-only.nix @@ -63,7 +63,7 @@ in # find mistaken definitions builtins.seq cfg.config builtins.seq cfg.overlays builtins.seq cfg.hostPlatform builtins.seq cfg.buildPlatform - cfg.pkgs; + cfg.pkgs.__splicedPackages; nixpkgs.config = cfg.pkgs.config; nixpkgs.overlays = cfg.pkgs.overlays; nixpkgs.hostPlatform = cfg.pkgs.stdenv.hostPlatform; diff --git a/nixos/modules/services/desktop-managers/cosmic.nix b/nixos/modules/services/desktop-managers/cosmic.nix index 58e4a10177be..52cb480a7248 100644 --- a/nixos/modules/services/desktop-managers/cosmic.nix +++ b/nixos/modules/services/desktop-managers/cosmic.nix @@ -13,6 +13,7 @@ let cfg = config.services.desktopManager.cosmic; + notExcluded = pkg: utils.disablePackageByName pkg config.environment.cosmic.excludePackages; excludedCorePkgs = lib.lists.intersectLists corePkgs config.environment.cosmic.excludePackages; # **ONLY ADD PACKAGES WITHOUT WHICH COSMIC CRASHES, NOTHING ELSE** corePkgs = @@ -162,6 +163,7 @@ in services.avahi.enable = lib.mkDefault true; services.gnome.gnome-keyring.enable = lib.mkDefault true; services.gvfs.enable = lib.mkDefault true; + services.orca.enable = lib.mkDefault (notExcluded pkgs.orca); services.power-profiles-daemon.enable = lib.mkDefault ( !config.hardware.system76.power-daemon.enable ); diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix index ef9c66d1336d..c70bb52966c0 100644 --- a/nixos/modules/services/desktop-managers/plasma6.nix +++ b/nixos/modules/services/desktop-managers/plasma6.nix @@ -136,7 +136,6 @@ in breeze-icons breeze-gtk ocean-sound-theme - plasma-workspace-wallpapers pkgs.hicolor-icon-theme # fallback icons qqc2-breeze-style qqc2-desktop-style @@ -158,6 +157,7 @@ in [ aurorae plasma-browser-integration + plasma-workspace-wallpapers konsole kwin-x11 (lib.getBin qttools) # Expose qdbus in PATH diff --git a/nixos/modules/services/hardware/nvidia-optimus.nix b/nixos/modules/services/hardware/nvidia-optimus.nix index 7c16cb9676ee..fff8d2a0ddce 100644 --- a/nixos/modules/services/hardware/nvidia-optimus.nix +++ b/nixos/modules/services/hardware/nvidia-optimus.nix @@ -29,6 +29,7 @@ in "nvidia" "nvidiafb" "nvidia-drm" + "nvidia-uvm" "nvidia-modeset" ]; boot.kernelModules = [ "bbswitch" ]; diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 58f6ebc90422..d398c6069e71 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -256,7 +256,7 @@ in description = '' A program that writes a bootloader installation script to the path passed in the first command line argument. - See `nixos/modules/system/activation/switch-to-configuration.pl`. + See `pkgs/by-name/sw/switch-to-configuration-ng/src/src/main.rs`. ''; type = types.unique { message = '' diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl deleted file mode 100755 index 8eee52bfa332..000000000000 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ /dev/null @@ -1,1027 +0,0 @@ -#! @perl@/bin/perl - -# NOTE: This script has an alternative implementation at -# . Any behavioral -# modifications to this script should also be made to that implementation. - - -# Issue #166838 uncovered a situation in which a configuration not suitable -# for the target architecture caused a cryptic error message instead of -# a clean failure. Due to this mismatch, the perl interpreter in the shebang -# line wasn't able to be executed, causing this script to be misinterpreted -# as a shell script. -# -# Let's detect this situation to give a more meaningful error -# message. The following two lines are carefully written to be both valid Perl -# and Bash. -printf "Perl script erroneously interpreted as shell script,\ndoes target platform match nixpkgs.crossSystem platform?\n" && exit 1 - if 0; - -use strict; -use warnings; -use Config::IniFiles; -use File::Path qw(make_path); -use File::Basename; -use File::Slurp qw(read_file write_file edit_file); -use JSON::PP; -use IPC::Cmd; -use Sys::Syslog qw(:standard :macros); -use Cwd qw(abs_path); -use Fcntl ':flock'; - -## no critic(ControlStructures::ProhibitDeepNests) -## no critic(ErrorHandling::RequireCarping) -## no critic(CodeLayout::ProhibitParensWithBuiltins) -## no critic(Variables::ProhibitPunctuationVars, Variables::RequireLocalizedPunctuationVars) -## no critic(InputOutput::RequireCheckedSyscalls, InputOutput::RequireBracedFileHandleWithPrint, InputOutput::RequireBriefOpen) -## no critic(ValuesAndExpressions::ProhibitNoisyQuotes, ValuesAndExpressions::ProhibitMagicNumbers, ValuesAndExpressions::ProhibitEmptyQuotes, ValuesAndExpressions::ProhibitInterpolationOfLiterals) -## no critic(RegularExpressions::ProhibitEscapedMetacharacters) - -# Location of activation scripts -my $out = "@out@"; -# System closure path to switch to -my $toplevel = "@toplevel@"; - -# To be robust against interruption, record what units need to be started etc. -# We read these files again every time this script starts to make sure we continue -# where the old (interrupted) script left off. -my $start_list_file = "/run/nixos/start-list"; -my $restart_list_file = "/run/nixos/restart-list"; -my $reload_list_file = "/run/nixos/reload-list"; - -# Parse restart/reload requests by the activation script. -# Activation scripts may write newline-separated units to the restart -# file and switch-to-configuration will handle them. While -# `stopIfChanged = true` is ignored, switch-to-configuration will -# handle `restartIfChanged = false` and `reloadIfChanged = true`. -# This is the same as specifying a restart trigger in the NixOS module. -# -# The reload file asks the script to reload a unit. This is the same as -# specifying a reload trigger in the NixOS module and can be ignored if -# the unit is restarted in this activation. -my $restart_by_activation_file = "/run/nixos/activation-restart-list"; -my $reload_by_activation_file = "/run/nixos/activation-reload-list"; -my $dry_restart_by_activation_file = "/run/nixos/dry-activation-restart-list"; -my $dry_reload_by_activation_file = "/run/nixos/dry-activation-reload-list"; - -# The action that is to be performed (like switch, boot, test, dry-activate) -# Also exposed via environment variable from now on -my $action = shift(@ARGV); -$ENV{NIXOS_ACTION} = $action; - -# Expose the locale archive as an environment variable for systemctl and the activation script -if ("@localeArchive@" ne "") { - $ENV{LOCALE_ARCHIVE} = "@localeArchive@"; -} - -if (!defined($action) || ($action ne "switch" && $action ne "boot" && $action ne "test" && $action ne "dry-activate" && $action ne "check")) { - print STDERR <<"EOF"; -Usage: $0 [check|switch|boot|test|dry-activate] - -check: run pre-switch checks and exit -switch: make the configuration the boot default and activate now -boot: make the configuration the boot default -test: activate the configuration, but don\'t make it the boot default -dry-activate: show what would be done if this configuration were activated -EOF - exit(1); -} - -# This is a NixOS installation if it has /etc/NIXOS or a proper -# /etc/os-release. -if (!-f "/etc/NIXOS" && (read_file("/etc/os-release", err_mode => "quiet") // "") !~ /^ID="?@distroId@"?/msx) { - die("This is not a NixOS installation!\n"); -} - -make_path("/run/nixos", { mode => oct(755) }); -open(my $stc_lock, '>>', '/run/nixos/switch-to-configuration.lock') or die "Could not open lock - $!"; -flock($stc_lock, LOCK_EX|LOCK_NB) or die "Could not acquire lock - $!"; -openlog("nixos", "", LOG_USER); - -# run pre-switch checks -if (($ENV{"NIXOS_NO_CHECK"} // "") ne "1") { - chomp(my $pre_switch_checks = <<'EOFCHECKS'); -@preSwitchCheck@ -EOFCHECKS - system("$pre_switch_checks $out $action") == 0 or exit 1; - if ($action eq "check") { - exit 0; - } -} - -# Install or update the bootloader. -if ($action eq "switch" || $action eq "boot") { - chomp(my $install_boot_loader = <<'EOFBOOTLOADER'); -@installBootLoader@ -EOFBOOTLOADER - system("$install_boot_loader $toplevel") == 0 or exit 1; -} - -# Just in case the new configuration hangs the system, do a sync now. -if (($ENV{"NIXOS_NO_SYNC"} // "") ne "1") { - system("@coreutils@/bin/sync", "-f", "/nix/store"); -} - -if ($action eq "boot") { - exit(0); -} - -# Path to the directory containing systemd tools of the old system -# Needs to be after the "boot" action exits, as this directory will not exist when doing a NIXOS_LUSTRATE install -my $cur_systemd = abs_path("/run/current-system/sw/bin"); -# Path to the systemd store path of the new system -my $new_systemd = "@systemd@"; - -# Check if we can activate the new configuration. -my $cur_init_interface_version = read_file("/run/current-system/init-interface-version", err_mode => "quiet") // ""; -my $new_init_interface_version = read_file("$toplevel/init-interface-version"); - -if ($new_init_interface_version ne $cur_init_interface_version) { - print STDERR <<'EOF'; -Warning: the new NixOS configuration has an ‘init’ that is -incompatible with the current configuration. The new configuration -won't take effect until you reboot the system. -EOF - exit(100); -} - -# Ignore SIGHUP so that we're not killed if we're running on (say) -# virtual console 1 and we restart the "tty1" unit. -$SIG{PIPE} = "IGNORE"; - -# Replacement for Net::DBus that calls busctl of the current systemd, parses -# it's json output and returns the response using only core modules to reduce -# dependencies on perlPackages in baseSystem -sub busctl_call_systemd1_mgr { - my (@args) = @_; - my $cmd = [ - "$cur_systemd/busctl", "--json=short", "call", "org.freedesktop.systemd1", - "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", - @args - ]; - - my ($ok, $err, undef, $stdout) = IPC::Cmd::run(command => $cmd); - die $err unless $ok; - - my $res = decode_json(join "", @$stdout); - return $res; -} - -# Asks the currently running systemd instance via dbus which units are active. -# Returns a hash where the key is the name of each unit and the value a hash -# of load, state, substate. -sub get_active_units { - my $units = busctl_call_systemd1_mgr("ListUnitsByPatterns", "asas", 0, 0)->{data}->[0]; - my $res = {}; - for my $item (@{$units}) { - my ($id, $description, $load_state, $active_state, $sub_state, - $following, $unit_path, $job_id, $job_type, $job_path) = @{$item}; - if ($following ne "") { - next; - } - if ($job_id == 0 and $active_state eq "inactive") { - next; - } - $res->{$id} = { load => $load_state, state => $active_state, substate => $sub_state }; - } - return $res; -} - -# Asks the currently running systemd instance whether a unit is currently active. -# Takes the name of the unit as an argument and returns a bool whether the unit is active or not. -sub unit_is_active { - my ($unit_name) = @_; - my $units = busctl_call_systemd1_mgr("ListUnitsByNames", "as", 1, , "--", $unit_name)->{data}->[0]; - if (scalar(@{$units}) == 0) { - return 0; - } - my $active_state = $units->[0]->[3]; - return $active_state eq "active" || $active_state eq "activating"; -} - -# Parse a fstab file, given its path. -# Returns a tuple of filesystems and swaps. -# -# Filesystems is a hash of mountpoint and { device, fsType, options } -# Swaps is a hash of device and { options } -sub parse_fstab { - my ($filename) = @_; - my ($fss, $swaps); - foreach my $line (read_file($filename, err_mode => "quiet")) { - chomp($line); - $line =~ s/^\s*\#.*//msx; - if ($line =~ /^\s*$/msx) { - next; - } - my @xs = split(/\s+/msx, $line); - if ($xs[2] eq "swap") { - $swaps->{$xs[0]} = { options => $xs[3] // "" }; - } else { - $fss->{$xs[1]} = { device => $xs[0], fsType => $xs[2], options => $xs[3] // "" }; - } - } - return ($fss, $swaps); -} - -# This subroutine takes a single ini file that specified systemd configuration -# like unit configuration and parses it into a hash where the keys are the sections -# of the unit file and the values are hashes themselves. These hashes have the unit file -# keys as their keys (left side of =) and an array of all values that were set as their -# values. If a value is empty (for example `ExecStart=`), then all current definitions are -# removed. -# -# Instead of returning the hash, this subroutine takes a hashref to return the data in. This -# allows calling the subroutine multiple times with the same hash to parse override files. -sub parse_systemd_ini { - my ($unit_contents, $path) = @_; - # Tie the ini file to a hash for easier access - tie(my %file_contents, "Config::IniFiles", (-file => $path, -allowempty => 1, -allowcontinue => 1)); ## no critic(Miscellanea::ProhibitTies) - - # Copy over all sections - foreach my $section_name (keys(%file_contents)) { - if ($section_name eq "Install") { - # Skip the [Install] section because it has no relevant keys for us - next; - } - # Copy over all keys - foreach my $ini_key (keys(%{$file_contents{$section_name}})) { - # Ensure the value is an array so it's easier to work with - my $ini_value = $file_contents{$section_name}{$ini_key}; - my @ini_values; - if (ref($ini_value) eq "ARRAY") { - @ini_values = @{$ini_value}; - } else { - @ini_values = $ini_value; - } - # Go over all values - for my $ini_value (@ini_values) { - # If a value is empty, it's an override that tells us to clean the value - if ($ini_value eq "") { - delete $unit_contents->{$section_name}->{$ini_key}; - next; - } - push(@{$unit_contents->{$section_name}->{$ini_key}}, $ini_value); - } - } - } - return; -} - -# This subroutine takes the path to a systemd configuration file (like a unit configuration), -# parses it, and returns a hash that contains the contents. The contents of this hash are -# explained in the `parse_systemd_ini` subroutine. Neither the sections nor the keys inside -# the sections are consistently sorted. -# -# If a directory with the same basename ending in .d exists next to the unit file, it will be -# assumed to contain override files which will be parsed as well and handled properly. -sub parse_unit { - my ($unit_path, $base_unit_path) = @_; - - # Parse the main unit and all overrides - my %unit_data; - # Replace \ with \\ so glob() still works with units that have a \ in them - # Valid characters in unit names are ASCII letters, digits, ":", "-", "_", ".", and "\" - $base_unit_path =~ s/\\/\\\\/gmsx; - $unit_path =~ s/\\/\\\\/gmsx; - - foreach (glob("${base_unit_path}{,.d/*.conf}")) { - parse_systemd_ini(\%unit_data, "$_") - } - # Handle drop-in template-unit instance overrides - if ($unit_path ne $base_unit_path) { - foreach (glob("${unit_path}.d/*.conf")) { - parse_systemd_ini(\%unit_data, "$_") - } - } - return %unit_data; -} - -# Checks whether a specified boolean in a systemd unit is true -# or false, with a default that is applied when the value is not set. -sub parse_systemd_bool { - my ($unit_config, $section_name, $bool_name, $default) = @_; - - my @values = @{$unit_config->{$section_name}{$bool_name} // []}; - # Return default if value is not set - if ((scalar(@values) < 1) || (not defined($values[-1]))) { - return $default; - } - # If value is defined multiple times, use the last definition - my $last_value = $values[-1]; - # These are valid values as of systemd.syntax(7) - return $last_value eq "1" || $last_value eq "yes" || $last_value eq "true" || $last_value eq "on"; -} - -# Writes a unit name into a given file to be more resilient against -# crashes of the script. Does nothing when the action is dry-activate. -sub record_unit { - my ($fn, $unit) = @_; - if ($action ne "dry-activate") { - write_file($fn, { append => 1 }, "$unit\n"); - } - return; -} - -# The opposite of record_unit, removes a unit name from a file -sub unrecord_unit { - my ($fn, $unit) = @_; - if ($action ne "dry-activate") { - edit_file(sub { s/^$unit\n//msx }, $fn); - } - return; -} - -# Compare the contents of two unit files and return whether the unit -# needs to be restarted or reloaded. If the units differ, the service -# is restarted unless the only difference is `X-Reload-Triggers` in the -# `Unit` section. If this is the only modification, the unit is reloaded -# instead of restarted. If the only difference is `Options` in the -# `[Mount]` section, the unit is reloaded rather than restarted. -# Returns: -# - 0 if the units are equal -# - 1 if the units are different and a restart action is required -# - 2 if the units are different and a reload action is required -sub compare_units { ## no critic(Subroutines::ProhibitExcessComplexity) - my ($cur_unit, $new_unit) = @_; - my $ret = 0; - # Keys to ignore in the [Unit] section - my %unit_section_ignores = map { $_ => 1 } qw( - X-Reload-Triggers - Description Documentation - OnFailure OnSuccess OnFailureJobMode - IgnoreOnIsolate StopWhenUnneeded - RefuseManualStart RefuseManualStop - AllowIsolate CollectMode - SourcePath - ); - - my $comp_array = sub { - my ($a, $b) = @_; - return join("\0", @{$a}) eq join("\0", @{$b}); - }; - - # Comparison hash for the sections - my %section_cmp = map { $_ => 1 } keys(%{$new_unit}); - # Iterate over the sections - foreach my $section_name (keys(%{$cur_unit})) { - # Missing section in the new unit? - if (not exists($section_cmp{$section_name})) { - # If the [Unit] section was removed, make sure that only keys - # were in it that are ignored - if ($section_name eq "Unit") { - foreach my $ini_key (keys(%{$cur_unit->{"Unit"}})) { - if (not defined($unit_section_ignores{$ini_key})) { - return 1; - } - } - next; # check the next section - } else { - return 1; - } - if ($section_name eq "Unit" and %{$cur_unit->{"Unit"}} == 1 and defined(%{$cur_unit->{"Unit"}}{"X-Reload-Triggers"})) { - # If a new [Unit] section was removed that only contained X-Reload-Triggers, - # do nothing. - next; - } else { - return 1; - } - } - delete $section_cmp{$section_name}; - # Comparison hash for the section contents - my %ini_cmp = map { $_ => 1 } keys(%{$new_unit->{$section_name}}); - # Iterate over the keys of the section - foreach my $ini_key (keys(%{$cur_unit->{$section_name}})) { - delete $ini_cmp{$ini_key}; - my @cur_value = @{$cur_unit->{$section_name}{$ini_key}}; - # If the key is missing in the new unit, they are different... - if (not $new_unit->{$section_name}{$ini_key}) { - # ... unless the key that is now missing is one of the ignored keys - if ($section_name eq "Unit" and defined($unit_section_ignores{$ini_key})) { - next; - } - return 1; - } - my @new_value = @{$new_unit->{$section_name}{$ini_key}}; - # If the contents are different, the units are different - if (not $comp_array->(\@cur_value, \@new_value)) { - # Check if only the reload triggers changed or one of the ignored keys - if ($section_name eq "Unit") { - if ($ini_key eq "X-Reload-Triggers") { - $ret = 2; - next; - } elsif (defined($unit_section_ignores{$ini_key})) { - next; - } - } - # If this is a mount unit, check if it was only `Options` - if ($section_name eq "Mount" and $ini_key eq "Options") { - $ret = 2; - next; - } - return 1; - } - } - # A key was introduced that was missing in the previous unit - if (%ini_cmp) { - if ($section_name eq "Unit") { - foreach my $ini_key (keys(%ini_cmp)) { - if ($ini_key eq "X-Reload-Triggers") { - $ret = 2; - } elsif (defined($unit_section_ignores{$ini_key})) { - next; - } else { - return 1; - } - } - } else { - return 1; - } - }; - } - # A section was introduced that was missing in the previous unit - if (%section_cmp) { - if (%section_cmp == 1 and defined($section_cmp{"Unit"})) { - foreach my $ini_key (keys(%{$new_unit->{"Unit"}})) { - if (not defined($unit_section_ignores{$ini_key})) { - return 1; - } elsif ($ini_key eq "X-Reload-Triggers") { - $ret = 2; - } - } - } else { - return 1; - } - } - - return $ret; -} - -# Called when a unit exists in both the old systemd and the new system and the units -# differ. This figures out of what units are to be stopped, restarted, reloaded, started, and skipped. -sub handle_modified_unit { ## no critic(Subroutines::ProhibitManyArgs, Subroutines::ProhibitExcessComplexity) - my ($unit, $base_name, $new_unit_file, $new_base_unit_file, $new_unit_info, $active_cur, $units_to_stop, $units_to_start, $units_to_reload, $units_to_restart, $units_to_skip) = @_; - - if ($unit eq "sysinit.target" || $unit eq "basic.target" || $unit eq "multi-user.target" || $unit eq "graphical.target" || $unit =~ /\.path$/msx || $unit =~ /\.slice$/msx) { - # Do nothing. These cannot be restarted directly. - - # Slices and Paths don't have to be restarted since - # properties (resource limits and inotify watches) - # seem to get applied on daemon-reload. - } elsif ($unit =~ /\.mount$/msx) { - # Just restart the unit. We wouldn't have gotten into this subroutine - # if only `Options` was changed, in which case the unit would be reloaded. - # The only exception is / and /nix because it's very unlikely we can safely - # unmount them so we reload them instead. This means that we may not get - # all changes into the running system but it's better than crashing it. - if ($unit eq "-.mount" or $unit eq "nix.mount") { - $units_to_reload->{$unit} = 1; - record_unit($reload_list_file, $unit); - } else { - $units_to_restart->{$unit} = 1; - record_unit($restart_list_file, $unit); - } - } elsif ($unit =~ /\.socket$/msx) { - # FIXME: do something? - # Attempt to fix this: https://github.com/NixOS/nixpkgs/pull/141192 - # Revert of the attempt: https://github.com/NixOS/nixpkgs/pull/147609 - # More details: https://github.com/NixOS/nixpkgs/issues/74899#issuecomment-981142430 - } else { - my %new_unit_info = $new_unit_info ? %{$new_unit_info} : parse_unit($new_unit_file, $new_base_unit_file); - if (parse_systemd_bool(\%new_unit_info, "Service", "X-ReloadIfChanged", 0) and not $units_to_restart->{$unit} and not $units_to_stop->{$unit}) { - $units_to_reload->{$unit} = 1; - record_unit($reload_list_file, $unit); - } - elsif ($unit eq "dbus.service" || $unit eq "dbus-broker.service") { - # dbus service should only ever be reloaded, not started/stoped/restarted as that would break the system. - } - elsif (!parse_systemd_bool(\%new_unit_info, "Service", "X-RestartIfChanged", 1) || parse_systemd_bool(\%new_unit_info, "Unit", "RefuseManualStop", 0) || parse_systemd_bool(\%new_unit_info, "Unit", "X-OnlyManualStart", 0)) { - $units_to_skip->{$unit} = 1; - } else { - # It doesn't make sense to stop and start non-services because - # they can't have ExecStop= - if (!parse_systemd_bool(\%new_unit_info, "Service", "X-StopIfChanged", 1) || $unit !~ /\.service$/msx) { - # This unit should be restarted instead of - # stopped and started. - $units_to_restart->{$unit} = 1; - record_unit($restart_list_file, $unit); - # Remove from units to reload so we don't restart and reload - if ($units_to_reload->{$unit}) { - delete $units_to_reload->{$unit}; - unrecord_unit($reload_list_file, $unit); - } - } else { - # If this unit is socket-activated, then stop the - # socket unit(s) as well, and restart the - # socket(s) instead of the service. - my $socket_activated = 0; - if ($unit =~ /\.service$/msx) { - my @sockets = split(/\s+/msx, join(" ", @{$new_unit_info{Service}{Sockets} // []})); - if (scalar(@sockets) == 0) { - @sockets = ("$base_name.socket"); - } - foreach my $socket (@sockets) { - if (defined($active_cur->{$socket})) { - # We can now be sure this is a socket-activate unit - - $units_to_stop->{$socket} = 1; - # Only restart sockets that actually - # exist in new configuration: - if (-e "$toplevel/etc/systemd/system/$socket") { - $units_to_start->{$socket} = 1; - if ($units_to_start eq $units_to_restart) { - record_unit($restart_list_file, $socket); - } else { - record_unit($start_list_file, $socket); - } - $socket_activated = 1; - } - # Remove from units to reload so we don't restart and reload - if ($units_to_reload->{$unit}) { - delete $units_to_reload->{$unit}; - unrecord_unit($reload_list_file, $unit); - } - } - } - } - - if (parse_systemd_bool(\%new_unit_info, "Service", "X-NotSocketActivated", 0)) { - # If the unit explicitly opts out of socket - # activation, restart it as if it weren't (but do - # restart its sockets, that's fine): - $socket_activated = 0; - } - - # If the unit is not socket-activated, record - # that this unit needs to be started below. - # We write this to a file to ensure that the - # service gets restarted if we're interrupted. - if (!$socket_activated) { - $units_to_start->{$unit} = 1; - if ($units_to_start eq $units_to_restart) { - record_unit($restart_list_file, $unit); - } else { - record_unit($start_list_file, $unit); - } - } - - $units_to_stop->{$unit} = 1; - # Remove from units to reload so we don't restart and reload - if ($units_to_reload->{$unit}) { - delete $units_to_reload->{$unit}; - unrecord_unit($reload_list_file, $unit); - } - } - } - } - return; -} - -# Figure out what units need to be stopped, started, restarted or reloaded. -my (%units_to_stop, %units_to_skip, %units_to_start, %units_to_restart, %units_to_reload); - -my %units_to_filter; # units not shown - -%units_to_start = map { $_ => 1 } - split(/\n/msx, read_file($start_list_file, err_mode => "quiet") // ""); - -%units_to_restart = map { $_ => 1 } - split(/\n/msx, read_file($restart_list_file, err_mode => "quiet") // ""); - -%units_to_reload = map { $_ => 1 } - split(/\n/msx, read_file($reload_list_file, err_mode => "quiet") // ""); - -my $active_cur = get_active_units(); -while (my ($unit, $state) = each(%{$active_cur})) { - my $cur_unit_file = "/etc/systemd/system/$unit"; - my $new_unit_file = "$toplevel/etc/systemd/system/$unit"; - - my $base_unit = $unit; - my $cur_base_unit_file = $cur_unit_file; - my $new_base_unit_file = $new_unit_file; - - # Detect template instances. - if (!-e $cur_unit_file && !-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) { - $base_unit = "$1\@.$2"; - $cur_base_unit_file = "/etc/systemd/system/$base_unit"; - $new_base_unit_file = "$toplevel/etc/systemd/system/$base_unit"; - } - - my $base_name = $base_unit; - $base_name =~ s/\.[[:lower:]]*$//msx; - - if (-e $cur_base_unit_file && ($state->{state} eq "active" || $state->{state} eq "activating")) { - if (! -e $new_base_unit_file || abs_path($new_base_unit_file) eq "/dev/null") { - my %cur_unit_info = parse_unit($cur_unit_file, $cur_base_unit_file); - if (parse_systemd_bool(\%cur_unit_info, "Unit", "X-StopOnRemoval", 1)) { - $units_to_stop{$unit} = 1; - } - } - - elsif ($unit =~ /\.target$/msx) { - my %new_unit_info = parse_unit($new_unit_file, $new_base_unit_file); - - # Cause all active target units to be restarted below. - # This should start most changed units we stop here as - # well as any new dependencies (including new mounts and - # swap devices). FIXME: the suspend target is sometimes - # active after the system has resumed, which probably - # should not be the case. Just ignore it. - if ($unit ne "suspend.target" && $unit ne "hibernate.target" && $unit ne "hybrid-sleep.target") { - if (!(parse_systemd_bool(\%new_unit_info, "Unit", "RefuseManualStart", 0) || parse_systemd_bool(\%new_unit_info, "Unit", "X-OnlyManualStart", 0))) { - $units_to_start{$unit} = 1; - record_unit($start_list_file, $unit); - # Don't spam the user with target units that always get started. - if (($ENV{"STC_DISPLAY_ALL_UNITS"} // "") ne "1") { - $units_to_filter{$unit} = 1; - } - } - } - - # Stop targets that have X-StopOnReconfiguration set. - # This is necessary to respect dependency orderings - # involving targets: if unit X starts after target Y and - # target Y starts after unit Z, then if X and Z have both - # changed, then X should be restarted after Z. However, - # if target Y is in the "active" state, X and Z will be - # restarted at the same time because X's dependency on Y - # is already satisfied. Thus, we need to stop Y first. - # Stopping a target generally has no effect on other units - # (unless there is a PartOf dependency), so this is just a - # bookkeeping thing to get systemd to do the right thing. - if (parse_systemd_bool(\%new_unit_info, "Unit", "X-StopOnReconfiguration", 0)) { - $units_to_stop{$unit} = 1; - } - } - - else { - my %cur_unit_info = parse_unit($cur_unit_file, $cur_base_unit_file); - my %new_unit_info = parse_unit($new_unit_file, $new_base_unit_file); - my $diff = compare_units(\%cur_unit_info, \%new_unit_info); - if ($diff == 1) { - handle_modified_unit($unit, $base_name, $new_unit_file, $new_base_unit_file, \%new_unit_info, $active_cur, \%units_to_stop, \%units_to_start, \%units_to_reload, \%units_to_restart, \%units_to_skip); - } elsif ($diff == 2 and not $units_to_restart{$unit}) { - $units_to_reload{$unit} = 1; - record_unit($reload_list_file, $unit); - } - } - } -} - -# Converts a path to the name of a systemd mount unit that would be responsible -# for mounting this path. -sub path_to_unit_name { - my ($path) = @_; - # Use current version of systemctl binary before daemon is reexeced. - open(my $cmd, "-|", "$cur_systemd/systemd-escape", "--suffix=mount", "-p", $path) - or die "Unable to escape $path!\n"; - my $escaped = do { local $/ = undef; <$cmd> }; - chomp($escaped); - close($cmd) or die("Unable to close systemd-escape pipe"); - return $escaped; -} - -# Compare the previous and new fstab to figure out which filesystems -# need a remount or need to be unmounted. New filesystems are mounted -# automatically by starting local-fs.target. FIXME: might be nicer if -# we generated units for all mounts; then we could unify this with the -# unit checking code above. -my ($cur_fss, $cur_swaps) = parse_fstab("/etc/fstab"); -my ($new_fss, $new_swaps) = parse_fstab("$toplevel/etc/fstab"); -foreach my $mount_point (keys(%{$cur_fss})) { - my $cur = $cur_fss->{$mount_point}; - my $new = $new_fss->{$mount_point}; - my $unit = path_to_unit_name($mount_point); - if (!defined($new)) { - # Filesystem entry disappeared, so unmount it. - $units_to_stop{$unit} = 1; - } elsif ($cur->{fsType} ne $new->{fsType} || $cur->{device} ne $new->{device}) { - if ($mount_point eq '/' or $mount_point eq '/nix') { - if ($cur->{options} ne $new->{options}) { - # Mount options changed, so remount it. - $units_to_reload{$unit} = 1; - record_unit($reload_list_file, $unit); - } else { - # Don't unmount / or /nix if the device changed - $units_to_skip{$unit} = 1; - } - } else { - # Filesystem type or device changed, so unmount and mount it. - $units_to_restart{$unit} = 1; - record_unit($restart_list_file, $unit); - } - } elsif ($cur->{options} ne $new->{options}) { - # Mount options changes, so remount it. - $units_to_reload{$unit} = 1; - record_unit($reload_list_file, $unit); - } -} - -# Also handles swap devices. -foreach my $device (keys(%{$cur_swaps})) { - my $cur = $cur_swaps->{$device}; - my $new = $new_swaps->{$device}; - if (!defined($new)) { - # Swap entry disappeared, so turn it off. Can't use - # "systemctl stop" here because systemd has lots of alias - # units that prevent a stop from actually calling - # "swapoff". - if ($action eq "dry-activate") { - print STDERR "would stop swap device: $device\n"; - } else { - print STDERR "stopping swap device: $device\n"; - system("@utillinux@/sbin/swapoff", $device); - } - } - # FIXME: update swap options (i.e. its priority). -} - - -# Should we have systemd re-exec itself? -my $cur_pid1_path = abs_path("/proc/1/exe") // "/unknown"; -my $cur_systemd_system_config = abs_path("/etc/systemd/system.conf") // "/unknown"; -my $new_pid1_path = abs_path("$new_systemd/lib/systemd/systemd") or die; -my $new_systemd_system_config = abs_path("$toplevel/etc/systemd/system.conf") // "/unknown"; - -my $restart_systemd = $cur_pid1_path ne $new_pid1_path; -if ($cur_systemd_system_config ne $new_systemd_system_config) { - $restart_systemd = 1; -} - -# Takes an array of unit names and returns an array with the same elements, -# except all units that are also in the global variable `unitsToFilter`. -sub filter_units { - my ($units) = @_; - my @res; - foreach my $unit (sort(keys(%{$units}))) { - if (!defined($units_to_filter{$unit})) { - push(@res, $unit); - } - } - return @res; -} - -my @units_to_stop_filtered = filter_units(\%units_to_stop); - - -# Show dry-run actions. -if ($action eq "dry-activate") { - if (scalar(@units_to_stop_filtered) > 0) { - print STDERR "would stop the following units: ", join(", ", @units_to_stop_filtered), "\n"; - } - if (scalar(keys(%units_to_skip)) > 0) { - print STDERR "would NOT stop the following changed units: ", join(", ", sort(keys(%units_to_skip))), "\n"; - } - - print STDERR "would activate the configuration...\n"; - system("$out/dry-activate", "$out"); - - # Handle the activation script requesting the restart or reload of a unit. - foreach (split(/\n/msx, read_file($dry_restart_by_activation_file, err_mode => "quiet") // "")) { - my $unit = $_; - my $new_unit_file = "$toplevel/etc/systemd/system/$unit"; - my $base_unit = $unit; - my $new_base_unit_file = $new_unit_file; - - # Detect template instances. - if (!-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) { - $base_unit = "$1\@.$2"; - $new_base_unit_file = "$toplevel/etc/systemd/system/$base_unit"; - } - - my $base_name = $base_unit; - $base_name =~ s/\.[[:lower:]]*$//msx; - - # Start units if they were not active previously - if (not defined($active_cur->{$unit})) { - $units_to_start{$unit} = 1; - next; - } - - handle_modified_unit($unit, $base_name, $new_unit_file, $new_base_unit_file, undef, $active_cur, \%units_to_restart, \%units_to_restart, \%units_to_reload, \%units_to_restart, \%units_to_skip); - } - unlink($dry_restart_by_activation_file); - - foreach (split(/\n/msx, read_file($dry_reload_by_activation_file, err_mode => "quiet") // "")) { - my $unit = $_; - - if (defined($active_cur->{$unit}) and not $units_to_restart{$unit} and not $units_to_stop{$unit}) { - $units_to_reload{$unit} = 1; - record_unit($reload_list_file, $unit); - } - } - unlink($dry_reload_by_activation_file); - - if ($restart_systemd) { - print STDERR "would restart systemd\n"; - } - if (scalar(keys(%units_to_reload)) > 0) { - print STDERR "would reload the following units: ", join(", ", sort(keys(%units_to_reload))), "\n"; - } - if (scalar(keys(%units_to_restart)) > 0) { - print STDERR "would restart the following units: ", join(", ", sort(keys(%units_to_restart))), "\n"; - } - my @units_to_start_filtered = filter_units(\%units_to_start); - if (scalar(@units_to_start_filtered)) { - print STDERR "would start the following units: ", join(", ", @units_to_start_filtered), "\n"; - } - exit 0; -} - - -syslog(LOG_NOTICE, "switching to system configuration $toplevel"); - -if (scalar(keys(%units_to_stop)) > 0) { - if (scalar(@units_to_stop_filtered)) { - print STDERR "stopping the following units: ", join(", ", @units_to_stop_filtered), "\n"; - } - # Use current version of systemctl binary before daemon is reexeced. - system("$cur_systemd/systemctl", "stop", "--", sort(keys(%units_to_stop))); -} - -if (scalar(keys(%units_to_skip)) > 0) { - print STDERR "NOT restarting the following changed units: ", join(", ", sort(keys(%units_to_skip))), "\n"; -} - -# Activate the new configuration (i.e., update /etc, make accounts, -# and so on). -my $res = 0; -print STDERR "activating the configuration...\n"; -system("$out/activate", "$out") == 0 or $res = 2; - -# Handle the activation script requesting the restart or reload of a unit. -foreach (split(/\n/msx, read_file($restart_by_activation_file, err_mode => "quiet") // "")) { - my $unit = $_; - my $new_unit_file = "$toplevel/etc/systemd/system/$unit"; - my $base_unit = $unit; - my $new_base_unit_file = $new_unit_file; - - # Detect template instances. - if (!-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) { - $base_unit = "$1\@.$2"; - $new_base_unit_file = "$toplevel/etc/systemd/system/$base_unit"; - } - - my $base_name = $base_unit; - $base_name =~ s/\.[[:lower:]]*$//msx; - - # Start units if they were not active previously - if (not defined($active_cur->{$unit})) { - $units_to_start{$unit} = 1; - record_unit($start_list_file, $unit); - next; - } - - handle_modified_unit($unit, $base_name, $new_unit_file, $new_base_unit_file, undef, $active_cur, \%units_to_restart, \%units_to_restart, \%units_to_reload, \%units_to_restart, \%units_to_skip); -} -# We can remove the file now because it has been propagated to the other restart/reload files -unlink($restart_by_activation_file); - -foreach (split(/\n/msx, read_file($reload_by_activation_file, err_mode => "quiet") // "")) { - my $unit = $_; - - if (defined($active_cur->{$unit}) and not $units_to_restart{$unit} and not $units_to_stop{$unit}) { - $units_to_reload{$unit} = 1; - record_unit($reload_list_file, $unit); - } -} -# We can remove the file now because it has been propagated to the other reload file -unlink($reload_by_activation_file); - -# Restart systemd if necessary. Note that this is done using the -# current version of systemd, just in case the new one has trouble -# communicating with the running pid 1. -if ($restart_systemd) { - print STDERR "restarting systemd...\n"; - system("$cur_systemd/systemctl", "daemon-reexec") == 0 or $res = 2; -} - -# Forget about previously failed services. -system("$new_systemd/bin/systemctl", "reset-failed"); - -# Make systemd reload its units. -system("$new_systemd/bin/systemctl", "daemon-reload") == 0 or $res = 3; - -# Reload user units -open(my $list_active_users, "-|", "$new_systemd/bin/loginctl", "list-users", "--no-legend") || die("Unable to call loginctl"); -while (my $f = <$list_active_users>) { - if ($f !~ /^\s*(?\d+)\s+(?\S+)/msx) { - next; - } - my ($uid, $name) = ($+{uid}, $+{user}); - print STDERR "reloading user units for $name...\n"; - - system("@su@", "-s", "@shell@", "-l", $name, "-c", - "export XDG_RUNTIME_DIR=/run/user/$uid; " . - "$cur_systemd/systemctl --user daemon-reexec; " . - "$new_systemd/bin/systemctl --user start nixos-activation.service"); -} - -close($list_active_users) || die("Unable to close the file handle to loginctl"); - -# Restart sysinit-reactivation.target. -# This target only exists to restart services ordered before sysinit.target. We -# cannot use X-StopOnReconfiguration to restart sysinit.target because then ALL -# services of the system would be restarted since all normal services have a -# default dependency on sysinit.target. sysinit-reactivation.target ensures -# that services ordered BEFORE sysinit.target get re-started in the correct -# order. Ordering between these services is respected. -print STDERR "restarting sysinit-reactivation.target\n"; -system("$new_systemd/bin/systemctl", "restart", "sysinit-reactivation.target") == 0 or $res = 4; - -# Before reloading we need to ensure that the units are still active. They may have been -# deactivated because one of their requirements got stopped. If they are inactive -# but should have been reloaded, the user probably expects them to be started. -if (scalar(keys(%units_to_reload)) > 0) { - for my $unit (keys(%units_to_reload)) { - if (!unit_is_active($unit)) { - # Figure out if we need to start the unit - my %unit_info = parse_unit("$toplevel/etc/systemd/system/$unit", "$toplevel/etc/systemd/system/$unit"); - if (!(parse_systemd_bool(\%unit_info, "Unit", "RefuseManualStart", 0) || parse_systemd_bool(\%unit_info, "Unit", "X-OnlyManualStart", 0))) { - $units_to_start{$unit} = 1; - record_unit($start_list_file, $unit); - } - # Don't reload the unit, reloading would fail - delete %units_to_reload{$unit}; - unrecord_unit($reload_list_file, $unit); - } - } -} -# Reload units that need it. This includes remounting changed mount -# units. -if (scalar(keys(%units_to_reload)) > 0) { - print STDERR "reloading the following units: ", join(", ", sort(keys(%units_to_reload))), "\n"; - system("$new_systemd/bin/systemctl", "reload", "--", sort(keys(%units_to_reload))) == 0 or $res = 4; - unlink($reload_list_file); -} - -# Restart changed services (those that have to be restarted rather -# than stopped and started). -if (scalar(keys(%units_to_restart)) > 0) { - print STDERR "restarting the following units: ", join(", ", sort(keys(%units_to_restart))), "\n"; - system("$new_systemd/bin/systemctl", "restart", "--", sort(keys(%units_to_restart))) == 0 or $res = 4; - unlink($restart_list_file); -} - -# Start all active targets, as well as changed units we stopped above. -# The latter is necessary because some may not be dependencies of the -# targets (i.e., they were manually started). FIXME: detect units -# that are symlinks to other units. We shouldn't start both at the -# same time because we'll get a "Failed to add path to set" error from -# systemd. -my @units_to_start_filtered = filter_units(\%units_to_start); -if (scalar(@units_to_start_filtered)) { - print STDERR "starting the following units: ", join(", ", @units_to_start_filtered), "\n" -} -system("$new_systemd/bin/systemctl", "start", "--", sort(keys(%units_to_start))) == 0 or $res = 4; -unlink($start_list_file); - - -# Print failed and new units. -my (@failed, @new); -my $active_new = get_active_units(); -while (my ($unit, $state) = each(%{$active_new})) { - if ($state->{state} eq "failed") { - push(@failed, $unit); - next; - } - - if ($state->{substate} eq "auto-restart") { - # A unit in auto-restart substate is a failure *if* it previously failed to start - open(my $main_status_fd, "-|", "$new_systemd/bin/systemctl", "show", "--value", "--property=ExecMainStatus", $unit) || die("Unable to call 'systemctl show'"); - my $main_status = do { local $/ = undef; <$main_status_fd> }; - close($main_status_fd) || die("Unable to close 'systemctl show' fd"); - chomp($main_status); - - if ($main_status ne "0") { - push(@failed, $unit); - next; - } - } - - # Ignore scopes since they are not managed by this script but rather - # created and managed by third-party services via the systemd dbus API. - # This only lists units that are not failed (including ones that are in auto-restart but have not failed previously) - if ($state->{state} ne "failed" && !defined($active_cur->{$unit}) && $unit !~ /\.scope$/msx) { - push(@new, $unit); - } -} - -if (scalar(@new) > 0) { - print STDERR "the following new units were started: ", join(", ", sort(@new)), "\n" -} - -if (scalar(@failed) > 0) { - my @failed_sorted = sort(@failed); - print STDERR "warning: the following units failed: ", join(", ", @failed_sorted), "\n\n"; - system("$new_systemd/bin/systemctl status --no-pager --full '" . join("' '", @failed_sorted) . "' >&2"); - $res = 4; -} - -if ($res == 0) { - syslog(LOG_NOTICE, "finished switching to system configuration $toplevel"); -} else { - syslog(LOG_ERR, "switching to system configuration $toplevel failed (status $res)"); -} - -close($stc_lock) or die "Could not close lock - $!"; -exit($res); diff --git a/nixos/modules/system/activation/switchable-system.nix b/nixos/modules/system/activation/switchable-system.nix index 4783a0704740..a2e804e8a788 100644 --- a/nixos/modules/system/activation/switchable-system.nix +++ b/nixos/modules/system/activation/switchable-system.nix @@ -5,101 +5,49 @@ ... }: -let - perlWrapped = pkgs.perl.withPackages ( - p: with p; [ - ConfigIniFiles - FileSlurp - ] - ); -in { - options.system.switch = { - enable = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Whether to include the capability to switch configurations. - - Disabling this makes the system unable to be reconfigured via `nixos-rebuild`. - - This is good for image based appliances where updates are handled - outside the image. Reducing features makes the image lighter and - slightly more secure. - ''; - }; - - enableNg = lib.mkOption { - type = lib.types.bool; - default = config.system.switch.enable; - defaultText = lib.literalExpression "config.system.switch.enable"; - description = '' - Whether to use `switch-to-configuration-ng`, the Rust-based - re-implementation of the original Perl `switch-to-configuration`. - ''; - }; - }; - - config = lib.mkMerge [ - (lib.mkIf (config.system.switch.enable && !config.system.switch.enableNg) { - warnings = [ - '' - The Perl implementation of switch-to-configuration will be deprecated - and removed in the 25.05 release of NixOS. Please migrate to the - newer implementation by removing `system.switch.enableNg = false` - from your configuration. If you are unable to migrate due to any - issues with the new implementation, please create an issue and tag - the maintainers of `switch-to-configuration-ng`. - '' - ]; - - system.activatableSystemBuilderCommands = '' - mkdir $out/bin - substitute ${./switch-to-configuration.pl} $out/bin/switch-to-configuration \ - --subst-var out \ - --subst-var-by toplevel ''${!toplevelVar} \ - --subst-var-by coreutils "${pkgs.coreutils}" \ - --subst-var-by distroId ${lib.escapeShellArg config.system.nixos.distroId} \ - --subst-var-by installBootLoader ${lib.escapeShellArg config.system.build.installBootLoader} \ - --subst-var-by preSwitchCheck ${lib.escapeShellArg config.system.preSwitchChecksScript} \ - --subst-var-by localeArchive "${config.i18n.glibcLocales}/lib/locale/locale-archive" \ - --subst-var-by perl "${perlWrapped}" \ - --subst-var-by shell "${pkgs.bash}/bin/sh" \ - --subst-var-by su "${pkgs.shadow.su}/bin/su" \ - --subst-var-by systemd "${config.systemd.package}" \ - --subst-var-by utillinux "${pkgs.util-linux}" \ - ; - - chmod +x $out/bin/switch-to-configuration - ${lib.optionalString (pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) '' - if ! output=$(${perlWrapped}/bin/perl -c $out/bin/switch-to-configuration 2>&1); then - echo "switch-to-configuration syntax is not valid:" - echo "$output" - exit 1 - fi - ''} - ''; - }) - (lib.mkIf config.system.switch.enableNg { - # Use a subshell so we can source makeWrapper's setup hook without - # affecting the rest of activatableSystemBuilderCommands. - system.activatableSystemBuilderCommands = '' - ( - source ${pkgs.buildPackages.makeWrapper}/nix-support/setup-hook - - mkdir $out/bin - ln -sf ${lib.getExe pkgs.switch-to-configuration-ng} $out/bin/switch-to-configuration - wrapProgram $out/bin/switch-to-configuration \ - --set OUT $out \ - --set TOPLEVEL ''${!toplevelVar} \ - --set DISTRO_ID ${lib.escapeShellArg config.system.nixos.distroId} \ - --set INSTALL_BOOTLOADER ${lib.escapeShellArg config.system.build.installBootLoader} \ - --set PRE_SWITCH_CHECK ${lib.escapeShellArg config.system.preSwitchChecksScript} \ - --set LOCALE_ARCHIVE ${config.i18n.glibcLocales}/lib/locale/locale-archive \ - --set SYSTEMD ${config.systemd.package} - ) - ''; - }) + imports = [ + (lib.mkRemovedOptionModule [ "system" "switch" "enableNg" ] '' + This option controlled the usage of the new switch-to-configuration-ng, + which is now the only switch-to-configuration implementation. This option + can be removed from configuration. If there are outstanding issues + preventing you from using the new implementation, please open an issue on + GitHub. + '') ]; + options.system.switch.enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Whether to include the capability to switch configurations. + + Disabling this makes the system unable to be reconfigured via `nixos-rebuild`. + + This is good for image based appliances where updates are handled + outside the image. Reducing features makes the image lighter and + slightly more secure. + ''; + }; + + config = lib.mkIf config.system.switch.enable { + # Use a subshell so we can source makeWrapper's setup hook without + # affecting the rest of activatableSystemBuilderCommands. + system.activatableSystemBuilderCommands = '' + ( + source ${pkgs.buildPackages.makeWrapper}/nix-support/setup-hook + + mkdir $out/bin + ln -sf ${lib.getExe pkgs.switch-to-configuration-ng} $out/bin/switch-to-configuration + wrapProgram $out/bin/switch-to-configuration \ + --set OUT $out \ + --set TOPLEVEL ''${!toplevelVar} \ + --set DISTRO_ID ${lib.escapeShellArg config.system.nixos.distroId} \ + --set INSTALL_BOOTLOADER ${lib.escapeShellArg config.system.build.installBootLoader} \ + --set PRE_SWITCH_CHECK ${lib.escapeShellArg config.system.preSwitchChecksScript} \ + --set LOCALE_ARCHIVE ${config.i18n.glibcLocales}/lib/locale/locale-archive \ + --set SYSTEMD ${config.systemd.package} + ) + ''; + }; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 32982001696b..60d118cba38f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -247,7 +247,14 @@ in _module.args.compression = "xz"; }; bind = runTest ./bind.nix; - bird = handleTest ./bird.nix { }; + bird2 = import ./bird.nix { + inherit runTest; + package = pkgs.bird2; + }; + bird3 = import ./bird.nix { + inherit runTest; + package = pkgs.bird3; + }; birdwatcher = handleTest ./birdwatcher.nix { }; bitbox-bridge = runTest ./bitbox-bridge.nix; bitcoind = runTest ./bitcoind.nix; @@ -1283,14 +1290,7 @@ in swapspace = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./swapspace.nix { }; sway = runTest ./sway.nix; swayfx = runTest ./swayfx.nix; - switchTest = runTest { - imports = [ ./switch-test.nix ]; - defaults.system.switch.enableNg = false; - }; - switchTestNg = runTest { - imports = [ ./switch-test.nix ]; - defaults.system.switch.enableNg = true; - }; + switchTest = runTest ./switch-test.nix; sx = runTest ./sx.nix; sympa = runTest ./sympa.nix; syncthing = runTest ./syncthing.nix; diff --git a/nixos/tests/bird.nix b/nixos/tests/bird.nix index d6dccd0f71a3..e036983c6b54 100644 --- a/nixos/tests/bird.nix +++ b/nixos/tests/bird.nix @@ -1,18 +1,9 @@ -# This test does a basic functionality check for all bird variants and demonstrates a use -# of the preCheckConfig option. - { - system ? builtins.currentSystem, - pkgs ? import ../.. { - inherit system; - config = { }; - }, + runTest, + package, }: let - inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest; - inherit (pkgs.lib) optionalString; - makeBirdHost = hostId: { pkgs, ... }: @@ -33,6 +24,8 @@ let }; services.bird = { + inherit package; + enable = true; config = '' @@ -106,31 +99,37 @@ let ]; }; in -makeTest { - name = "bird"; +{ + twoNodeOSPF = runTest { + name = "bird-twoNodeOSPF"; - nodes.host1 = makeBirdHost "1"; - nodes.host2 = makeBirdHost "2"; + nodes.host1 = makeBirdHost "1"; + nodes.host2 = makeBirdHost "2"; - testScript = '' - start_all() + testScript = '' + start_all() - host1.wait_for_unit("bird.service") - host2.wait_for_unit("bird.service") - host1.succeed("systemctl reload bird.service") + host1.wait_for_unit("bird.service") + host2.wait_for_unit("bird.service") - with subtest("Waiting for advertised IPv4 routes"): - host1.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.2\")) | any'") - host2.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.1\")) | any'") - with subtest("Waiting for advertised IPv6 routes"): - host1.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::2\")) | any'") - host2.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::1\")) | any'") + host1.succeed("bird --version") + host2.succeed("bird --version") - with subtest("Check fake routes in preCheckConfig do not exists"): - host1.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'") - host2.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'") + host1.succeed("systemctl reload bird.service") - host1.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'") - host2.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'") - ''; + with subtest("Waiting for advertised IPv4 routes"): + host1.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.2\")) | any'") + host2.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.1\")) | any'") + with subtest("Waiting for advertised IPv6 routes"): + host1.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::2\")) | any'") + host2.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::1\")) | any'") + + with subtest("Check fake routes in preCheckConfig do not exists"): + host1.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'") + host2.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'") + + host1.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'") + host2.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'") + ''; + }; } diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix index daf605f64667..18defdfc9d76 100644 --- a/nixos/tests/switch-test.nix +++ b/nixos/tests/switch-test.nix @@ -663,7 +663,7 @@ in ''; # Returns a comma separated representation of the given list in sorted - # order, that matches the output format of switch-to-configuration.pl + # order, that matches the output format of switch-to-configuration sortedUnits = xs: lib.concatStringsSep ", " (builtins.sort builtins.lessThan xs); dbusService = diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix index 69aa638d05a0..490753ebb840 100644 --- a/pkgs/applications/editors/neovim/utils.nix +++ b/pkgs/applications/editors/neovim/utils.nix @@ -227,12 +227,9 @@ let ) vimPlugins.nvim-treesitter.grammarPlugins; isNvimGrammar = x: builtins.elem x nvimGrammars; - toNvimTreesitterGrammar = callPackage ( - { }: - makeSetupHook { - name = "to-nvim-treesitter-grammar"; - } ./to-nvim-treesitter-grammar.sh - ) { }; + toNvimTreesitterGrammar = makeSetupHook { + name = "to-nvim-treesitter-grammar"; + } ./to-nvim-treesitter-grammar.sh; in (toVimPlugin ( diff --git a/pkgs/applications/emulators/libretro/cores/handy.nix b/pkgs/applications/emulators/libretro/cores/handy.nix index fe046d5eaf38..4d9f9ec997f7 100644 --- a/pkgs/applications/emulators/libretro/cores/handy.nix +++ b/pkgs/applications/emulators/libretro/cores/handy.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "handy"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2025-06-16"; src = fetchFromGitHub { owner = "libretro"; repo = "libretro-handy"; - rev = "4e9e072796e5552a9d57f6ab83b3f85f27b17fb6"; - hash = "sha256-ThzFEqLCX2JC06n6GZgkGzX5sFY5CxFDjkeekXRmbXY="; + rev = "fca239207e9c111da3e85d2faf0b1b9d7524e498"; + hash = "sha256-8RpRhGgW5JWY6TZa9CEaXF66WpbjcjprorVqu+FGYu0="; }; makefile = "Makefile"; diff --git a/pkgs/applications/misc/yokadi/default.nix b/pkgs/applications/misc/yokadi/default.nix index 84030033ffe0..53d8f84371ae 100644 --- a/pkgs/applications/misc/yokadi/default.nix +++ b/pkgs/applications/misc/yokadi/default.nix @@ -6,31 +6,34 @@ sqlalchemy, setproctitle, icalendar, + colorama, }: buildPythonApplication rec { pname = "yokadi"; - version = "1.2.0"; + version = "1.3.0"; src = fetchurl { url = "https://yokadi.github.io/download/${pname}-${version}.tar.gz"; - sha256 = "681c8aa52b2e4b5255e1311e76b4b81dcb63ee7f6ca3a47178e684c06baf330f"; + hash = "sha256-zF2ffHeU+i7wzu1u4DhQ5zJXr8AjXboiyFAisXNX6TM="; }; - propagatedBuildInputs = [ + dependencies = [ python-dateutil sqlalchemy setproctitle icalendar + colorama ]; # Yokadi doesn't have any tests doCheck = false; - meta = with lib; { + meta = { description = "Command line oriented, sqlite powered, todo-list"; homepage = "https://yokadi.github.io/index.html"; - license = licenses.gpl3Plus; - maintainers = [ maintainers.nkpvk ]; + mainProgram = "yokadi"; + license = lib.licenses.gpl3Plus; + maintainers = [ lib.maintainers.nkpvk ]; }; } diff --git a/pkgs/applications/networking/cluster/k3s/docs/USAGE.md b/pkgs/applications/networking/cluster/k3s/docs/USAGE.md index e3f3dfb8d38c..1ddeba7a7132 100644 --- a/pkgs/applications/networking/cluster/k3s/docs/USAGE.md +++ b/pkgs/applications/networking/cluster/k3s/docs/USAGE.md @@ -64,3 +64,37 @@ Tip: If you run into connectivity issues between nodes for specific applications K3s has a config setting `prefer-bundled-bin` (and CLI flag `--prefer-bundled-bin`) that makes k3s use binaries from the `/var/lib/rancher/k3s/data/current/bin/aux/` directory, as unpacked by the k3s binary, before the system `$PATH`. This works with the official distribution of k3s but not with the package from nixpkgs, as it does not bundle the upstream binaries from [`k3s-root`](https://github.com/k3s-io/k3s-root) into the k3s binary. Thus the `prefer-bundled-bin` setting **cannot** be used to work around issues (like [this `mount` regression](https://github.com/util-linux/util-linux/issues/3474)) with binaries used/called by the kubelet. + +### Building from a different source + +Because the package is split into multiple derivations and the build process is generally more complex, it is not very obvious how to build k3s from a different source (fork or arbitrary commit). + +To build k3s from a different source, you must use `.override` together with `overrideBundleAttrs` (for the k3sBundle derivation) and another `.overrideAttrs` (for the final derivation): + +```nix +{ fetchgit, k3s }: +let + k3sRepo = fetchgit { + url = "https://github.com/k3s-io/k3s"; + rev = "99d91538b1327da933356c318dc8040335fbb66c"; + hash = "sha256-vVqZzVp0Tea27s8HDVq4SgqlbHBdZcFzNKmPFi0Yktk="; + }; + vendorHash = "sha256-jrPVY+FVZV9wlbik/I35W8ChcLrHlYbLAwUYU16mJLM="; +in +(k3s.override { + overrideBundleAttrs = { + src = k3sRepo; + inherit vendorHash; + }; +}).overrideAttrs + { + src = k3sRepo; + inherit vendorHash; + } +``` + +- Additionally to `overrideBundleAttrs` there are also: `overrideCniPluginsAttrs` and `overrideContainerdAttrs`. +- `k3s --version` still prints the commit SHA (`k3sCommit` passed into `builder.nix`) from the "base" package instead of the actually used `rev`. +- Depending on the changes made in the fork / commit, the `k3s.override` (without the `overrideAttrs` of the final derivation) might already be enough. +- If the commit is for a different version of k3s, make sure to use the correct "base" package, e.g., `k3s_1_31.override`. Otherwise the build fails with `Tagged version 'v1.33.1+k3s1' does not match expected version 'v1.31.9[+-]*'` +- When adding an entirely new k3s version by calling `builder.nix`, keep in mind that the `k3sCommit` parameter is not used as the `k3sRepo` `rev` (it uses `v${k3sVersion}`). Therefore, you additionally must override the package, as shown above. diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix index becb2c0c6981..95577143cb10 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix @@ -106,8 +106,8 @@ rec { thunderbird-128 = common { applicationName = "Thunderbird ESR"; - version = "128.11.0esr"; - sha512 = "33de73db2d5ab5152ff11c1947317081259f4e7644631b5e6b9c3b192b4473a5ae6fe897b27b3c8e240ff8c606ffaa8cc14e169c34a94b8de6e64b0c5f0f6810"; + version = "128.11.1esr"; + sha512 = "8fd99f68895b543bdc5bba38d7720f0e48e2a82c9fe5e8ca15534e3918cc40b5b2911666dbbbda0a7911783a03a0d8f7371ea353fd67416baca1e1dffdd25c44"; updateScript = callPackage ./update.nix { attrPath = "thunderbirdPackages.thunderbird-128"; diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/default.nix index 9472c7b0aa0e..668bd4298d66 100644 --- a/pkgs/applications/networking/p2p/deluge/default.nix +++ b/pkgs/applications/networking/p2p/deluge/default.nix @@ -68,7 +68,7 @@ let nativeCheckInputs = with pypkgs; [ pytestCheckHook pytest-twisted - pytest-cov + pytest-cov-stub mock mccabe pylint diff --git a/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch b/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch index 1f3a71fb3c9b..166700c2d077 100644 --- a/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch +++ b/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch @@ -1,39 +1,28 @@ -From 9a0102fe1da038ebe08107ead991964df11b0271 Mon Sep 17 00:00:00 2001 -From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> -Date: Mon, 19 Feb 2024 03:31:20 +0000 -Subject: [PATCH] no qtgui darwin bundle - ---- - qtgui/recoll.pro.in | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/qtgui/recoll.pro.in b/qtgui/recoll.pro.in -index a0ef314..6dbc3b5 100644 --- a/qtgui/recoll.pro.in +++ b/qtgui/recoll.pro.in -@@ -180,7 +180,7 @@ windows { - } +@@ -192,7 +192,7 @@ + } } --macx: { +-macx:macxbundlebuild() { +if (false) { - QCBUILDLOC=Qt_6_4_2_for_macOS - - # QT += webkit webkitwidgets -@@ -375,7 +375,7 @@ macx: { + QCBUILDLOC=Qt_6_7_3_for_macOS + RECOLLDEPS = $$PWD/../../.. + QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64 +@@ -402,7 +402,7 @@ QMAKE_BUNDLE_DATA = APP_EXAMPLES APP_EXAMPLES_MAC APP_FILTERS APP_IMAGES APP_DOC } --unix:!macx { +-unix:!macxbundlebuild() { +unix { VPATH = @srcdir@ - -@@ -400,6 +400,13 @@ VPATH = @srcdir@ + # For SingleApplication +@@ -425,6 +425,13 @@ SOURCES += crontool.cpp \ rtitool.cpp -+ macx { ++ macxbundlebuild() { + SOURCES += ../utils/closefrom.cpp \ + ../utils/execmd.cpp \ + ../utils/netcon.cpp \ @@ -43,6 +32,3 @@ index a0ef314..6dbc3b5 100644 FORMS += crontool.ui \ rtitool.ui --- -2.43.0 - diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index bad287cc9153..21911c93390d 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -75,11 +75,11 @@ in mkDerivation rec { pname = "recoll"; - version = "1.39.1"; + version = "1.43.2"; src = fetchurl { url = "https://www.recoll.org/${pname}-${version}.tar.gz"; - hash = "sha256-Eeadj/AnuztCb7VIYEy4hKbduH3CzK53tADvI9+PWmQ="; + hash = "sha256-FbDXknumjktcikOfAe4FKtPmggJGGHasq8dpD+8mNzE="; }; mesonFlags = @@ -107,13 +107,10 @@ mkDerivation rec { ]; env.NIX_CFLAGS_COMPILE = toString [ - "-DNIXPKGS" "-fpermissive" # libxml2-2.12 changed const qualifiers ]; patches = [ - # fix "No/bad main configuration file" error - ./fix-datadir.patch # use the same configure based build for darwin as linux ./0001-no-qtgui-darwin-bundle.patch ]; diff --git a/pkgs/applications/search/recoll/fix-datadir.patch b/pkgs/applications/search/recoll/fix-datadir.patch deleted file mode 100644 index 7d5471b636e8..000000000000 --- a/pkgs/applications/search/recoll/fix-datadir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/utils/rclutil.cpp b/utils/rclutil.cpp -index 6bafc119..d997cd17 100644 ---- a/utils/rclutil.cpp -+++ b/utils/rclutil.cpp -@@ -279,7 +279,7 @@ const string& path_pkgdatadir() - "a subfolder of the installation directory. \n" - "Please set the RECOLL_DATADIR environment variable to point to it\n" - "(e.g. setx RECOLL_DATADIR \"C:/Program Files (X86)/Recoll/Share)\"\n"; --#elif defined(__APPLE__) && defined(RECOLL_AS_MAC_BUNDLE) -+#elif defined(__APPLE__) && defined(RECOLL_AS_MAC_BUNDLE) && defined(NIXPKGS) - // The package manager builds (Macports, Homebrew, Nixpkgs ...) all arrange to set a proper - // compiled value for RECOLL_DATADIR. We can't do this when building a native bundle with - // QCreator, in which case we use the executable location. diff --git a/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix b/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix index 7881b46eac43..10cb5a565772 100644 --- a/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix +++ b/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix @@ -1,12 +1,12 @@ { pkgs, - python, + python3, ... }: # propagatedBuildInputs are for Python libraries and executables # buildInputs are for libraries let - py = python.pkgs; + py = python3.pkgs; in { amixer.propagatedBuildInputs = [ pkgs.alsa-utils ]; diff --git a/pkgs/build-support/rust/hooks/default.nix b/pkgs/build-support/rust/hooks/default.nix index d66804b07ab7..1499380e728b 100644 --- a/pkgs/build-support/rust/hooks/default.nix +++ b/pkgs/build-support/rust/hooks/default.nix @@ -1,16 +1,12 @@ { - buildPackages, - callPackage, - cargo, cargo-nextest, clang, diffutils, lib, makeSetupHook, - maturin, rust, - rustc, stdenv, + pkgsHostTarget, pkgsTargetTarget, # This confusingly-named parameter indicates the *subdirectory of @@ -21,138 +17,118 @@ pkgsCross, }: { - cargoBuildHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-build-hook.sh"; - substitutions = { - inherit (stdenv.targetPlatform.rust) rustcTarget; - inherit (rust.envVars) setEnv; + cargoBuildHook = makeSetupHook { + name = "cargo-build-hook.sh"; + substitutions = { + inherit (stdenv.targetPlatform.rust) rustcTarget; + inherit (rust.envVars) setEnv; + }; + passthru.tests = + { + test = tests.rust-hooks.cargoBuildHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoBuildHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoBuildHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoBuildHook; - }; - } ./cargo-build-hook.sh - ) { }; + } ./cargo-build-hook.sh; - cargoCheckHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-check-hook.sh"; - substitutions = { - inherit (stdenv.targetPlatform.rust) rustcTarget; - inherit (rust.envVars) setEnv; + cargoCheckHook = makeSetupHook { + name = "cargo-check-hook.sh"; + substitutions = { + inherit (stdenv.targetPlatform.rust) rustcTarget; + inherit (rust.envVars) setEnv; + }; + passthru.tests = + { + test = tests.rust-hooks.cargoCheckHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoCheckHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoCheckHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoCheckHook; - }; - } ./cargo-check-hook.sh - ) { }; + } ./cargo-check-hook.sh; - cargoInstallHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-install-hook.sh"; - substitutions = { - targetSubdirectory = target; + cargoInstallHook = makeSetupHook { + name = "cargo-install-hook.sh"; + substitutions = { + targetSubdirectory = target; + }; + passthru.tests = + { + test = tests.rust-hooks.cargoInstallHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoInstallHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoInstallHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoInstallHook; - }; - } ./cargo-install-hook.sh - ) { }; + } ./cargo-install-hook.sh; - cargoNextestHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-nextest-hook.sh"; - propagatedBuildInputs = [ cargo-nextest ]; - substitutions = { - inherit (stdenv.targetPlatform.rust) rustcTarget; + cargoNextestHook = makeSetupHook { + name = "cargo-nextest-hook.sh"; + propagatedBuildInputs = [ cargo-nextest ]; + substitutions = { + inherit (stdenv.targetPlatform.rust) rustcTarget; + }; + passthru.tests = + { + test = tests.rust-hooks.cargoNextestHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoNextestHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoNextestHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoNextestHook; - }; - } ./cargo-nextest-hook.sh - ) { }; + } ./cargo-nextest-hook.sh; - cargoSetupHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-setup-hook.sh"; - propagatedBuildInputs = [ ]; - substitutions = { - defaultConfig = ../fetchcargo-default-config.toml; + cargoSetupHook = makeSetupHook { + name = "cargo-setup-hook.sh"; + propagatedBuildInputs = [ ]; + substitutions = { + defaultConfig = ../fetchcargo-default-config.toml; - # Specify the stdenv's `diff` by abspath to ensure that the user's build - # inputs do not cause us to find the wrong `diff`. - diff = "${lib.getBin diffutils}/bin/diff"; + # Specify the stdenv's `diff` by abspath to ensure that the user's build + # inputs do not cause us to find the wrong `diff`. + diff = "${lib.getBin diffutils}/bin/diff"; - cargoConfig = - lib.optionalString (stdenv.hostPlatform.config != stdenv.targetPlatform.config) '' - [target."${stdenv.targetPlatform.rust.rustcTarget}"] - "linker" = "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc" - "rustflags" = [ "-C", "target-feature=${ - if pkgsTargetTarget.stdenv.targetPlatform.isStatic then "+" else "-" - }crt-static" ] - '' - + '' - [target."${stdenv.hostPlatform.rust.rustcTarget}"] - "linker" = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" - ''; + cargoConfig = + lib.optionalString (stdenv.hostPlatform.config != stdenv.targetPlatform.config) '' + [target."${stdenv.targetPlatform.rust.rustcTarget}"] + "linker" = "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc" + "rustflags" = [ "-C", "target-feature=${ + if pkgsTargetTarget.stdenv.targetPlatform.isStatic then "+" else "-" + }crt-static" ] + '' + + '' + [target."${stdenv.hostPlatform.rust.rustcTarget}"] + "linker" = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" + ''; + }; + + passthru.tests = + { + test = tests.rust-hooks.cargoSetupHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoSetupHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoSetupHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoSetupHook; - }; - } ./cargo-setup-hook.sh - ) { }; + } ./cargo-setup-hook.sh; - maturinBuildHook = callPackage ( - { pkgsHostTarget }: - makeSetupHook { - name = "maturin-build-hook.sh"; - propagatedBuildInputs = [ - pkgsHostTarget.maturin - pkgsHostTarget.cargo - pkgsHostTarget.rustc - ]; - substitutions = { - inherit (stdenv.targetPlatform.rust) rustcTarget; - inherit (rust.envVars) setEnv; + maturinBuildHook = makeSetupHook { + name = "maturin-build-hook.sh"; + propagatedBuildInputs = [ + pkgsHostTarget.maturin + pkgsHostTarget.cargo + pkgsHostTarget.rustc + ]; + substitutions = { + inherit (stdenv.targetPlatform.rust) rustcTarget; + inherit (rust.envVars) setEnv; - }; - } ./maturin-build-hook.sh - ) { }; + }; + } ./maturin-build-hook.sh; - bindgenHook = callPackage ( - { }: - makeSetupHook { - name = "rust-bindgen-hook"; - substitutions = { - libclang = (lib.getLib clang.cc); - inherit clang; - }; - } ./rust-bindgen-hook.sh - ) { }; + bindgenHook = makeSetupHook { + name = "rust-bindgen-hook"; + substitutions = { + libclang = (lib.getLib clang.cc); + inherit clang; + }; + } ./rust-bindgen-hook.sh; } diff --git a/pkgs/by-name/an/annotation-mono/package.nix b/pkgs/by-name/an/annotation-mono/package.nix new file mode 100644 index 000000000000..23cb7cd7211c --- /dev/null +++ b/pkgs/by-name/an/annotation-mono/package.nix @@ -0,0 +1,33 @@ +{ + lib, + stdenvNoCC, + fetchzip, +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "annotation-mono"; + version = "0.2"; + + src = fetchzip { + url = "https://github.com/qwerasd205/AnnotationMono/releases/download/v${finalAttrs.version}/AnnotationMono_v${finalAttrs.version}.zip"; + hash = "sha256-81BcPYE4C9kuetiCzgGPl59WO4QkBML7dwAkD1DCCZo="; + stripRoot = false; + }; + + installPhase = '' + runHook preInstall + + install -D -m444 -t $out/share/fonts/truetype $src/dist/ttf/*.ttf + install -D -m444 -t $out/share/fonts/truetype $src/dist/variable/AnnotationMono-VF.ttf + install -D -m444 -t $out/share/fonts/opentype $src/dist/otf/*.otf + + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/qwerasd205/AnnotationMono"; + description = "Lovingly crafted handwriting-style monospace font"; + license = lib.licenses.ofl; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.theonlymrcat ]; + }; +}) diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index d1b787529e21..49e85c9f6661 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -1,39 +1,39 @@ { lib, - stdenv, + stdenvNoCC, fetchFromGitHub, - pnpm_8, + pnpm_10, nodejs, makeBinaryWrapper, shellcheck, versionCheckHook, }: -stdenv.mkDerivation (finalAttrs: { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "bash-language-server"; - version = "5.4.0"; + version = "5.6.0"; src = fetchFromGitHub { owner = "bash-lsp"; repo = "bash-language-server"; - rev = "server-${finalAttrs.version}"; - hash = "sha256-yJ81oGd9aNsWQMLvDSgMVVH1//Mw/SVFYFIPsJTQYzE="; + tag = "server-${finalAttrs.version}"; + hash = "sha256-Pe32lQSlyWcyUbqwhfoulwNwhrnWdRcKFIl3Jj0Skac="; }; pnpmWorkspaces = [ "bash-language-server" ]; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; - hash = "sha256-W25xehcxncBs9QgQBt17F5YHK0b+GDEmt27XzTkyYWg="; + hash = "sha256-NvyqPv5OKgZi3hW98Da8LhsYatmrzrPX8kLOfLr+BrI="; }; nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpm_10.configHook makeBinaryWrapper versionCheckHook ]; @@ -45,31 +45,46 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; + preInstall = '' + # remove unnecessary files + rm node_modules/.modules.yaml + pnpm --ignore-scripts --prod prune + rm -r node_modules/.pnpm/@mixmark-io*/node_modules/@mixmark-io/domino/{test,.yarn} + find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} + + # https://github.com/pnpm/pnpm/issues/3645 + find node_modules server/node_modules -xtype l -delete + + # remove non-deterministic files + rm node_modules/{.modules.yaml,.pnpm-workspace-state.json} + ''; + installPhase = '' runHook preInstall - pnpm --offline \ - --frozen-lockfile --ignore-script \ - --filter=bash-language-server \ - deploy --prod $out/lib/bash-language-server + mkdir -p $out/{bin,lib/bash-language-server} + cp -r {node_modules,server} $out/lib/bash-language-server/ # Create the executable, based upon what happens in npmHooks.npmInstallHook makeWrapper ${lib.getExe nodejs} $out/bin/bash-language-server \ --suffix PATH : ${lib.makeBinPath [ shellcheck ]} \ --inherit-argv0 \ - --add-flags $out/lib/bash-language-server/out/cli.js + --add-flags $out/lib/bash-language-server/server/out/cli.js runHook postInstall ''; doInstallCheck = true; - meta = with lib; { + meta = { description = "Language server for Bash"; homepage = "https://github.com/bash-lsp/bash-language-server"; - license = licenses.mit; - maintainers = with maintainers; [ doronbehar ]; + changelog = "https://github.com/bash-lsp/bash-language-server/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + doronbehar + gepbird + ]; mainProgram = "bash-language-server"; - platforms = platforms.all; + platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/be/bepasty/package.nix b/pkgs/by-name/be/bepasty/package.nix index 51309a35da9b..4c7c92a84d8d 100644 --- a/pkgs/by-name/be/bepasty/package.nix +++ b/pkgs/by-name/be/bepasty/package.nix @@ -57,7 +57,7 @@ bepastyPython.pkgs.buildPythonPackage rec { build flake8 pytestCheckHook - pytest-cov + pytest-cov-stub selenium tox twine diff --git a/pkgs/by-name/bi/bird2/package.nix b/pkgs/by-name/bi/bird2/package.nix index eb908401a6a7..f38674666305 100644 --- a/pkgs/by-name/bi/bird2/package.nix +++ b/pkgs/by-name/bi/bird2/package.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { "--runstatedir=/run/bird" ]; - passthru.tests = nixosTests.bird; + passthru.tests = nixosTests.bird2; meta = { changelog = "https://gitlab.nic.cz/labs/bird/-/blob/v${version}/NEWS"; diff --git a/pkgs/by-name/bi/bird3/package.nix b/pkgs/by-name/bi/bird3/package.nix index 39b44aa73bbe..b0ef754298f1 100644 --- a/pkgs/by-name/bi/bird3/package.nix +++ b/pkgs/by-name/bi/bird3/package.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { "--runstatedir=/run/bird" ]; - passthru.tests = nixosTests.bird; + passthru.tests = nixosTests.bird3; meta = { changelog = "https://gitlab.nic.cz/labs/bird/-/blob/v${version}/NEWS"; diff --git a/pkgs/by-name/bu/buku/package.nix b/pkgs/by-name/bu/buku/package.nix index edf76eadacc1..ee862b474df0 100644 --- a/pkgs/by-name/bu/buku/package.nix +++ b/pkgs/by-name/bu/buku/package.nix @@ -40,14 +40,14 @@ buildPythonApplication rec { nativeCheckInputs = [ hypothesis - pytest + pytestCheckHook pytest-recording pyyaml mypy-extensions click pylint flake8 - pytest-cov + pytest-cov-stub pyyaml ]; diff --git a/pkgs/by-name/bu/burpsuite/package.nix b/pkgs/by-name/bu/burpsuite/package.nix index b0602201ac8d..fe76eff92b0b 100644 --- a/pkgs/by-name/bu/burpsuite/package.nix +++ b/pkgs/by-name/bu/burpsuite/package.nix @@ -9,20 +9,20 @@ }: let - version = "2025.6"; + version = "2025.6.1"; product = if proEdition then { productName = "pro"; productDesktop = "Burp Suite Professional Edition"; - hash = "sha256-UtxyhXaXpVp9Ynm6vnHYxr+TEnRau1ZHU563xcUmu/0="; + hash = "sha256-At3+tScMbNrZI2qF+kwt41khou8aP5Qn33v6IT7n9HI="; } else { productName = "community"; productDesktop = "Burp Suite Community Edition"; - hash = "sha256-5kpmLkdnGxnt6bSUgAIJaXdFSmmvOffdQaAOlm9sNlo="; + hash = "sha256-1reZGan6hmXTg7RUjaian6Q5VAsR5iuye4kGWkpREM4="; }; src = fetchurl { diff --git a/pkgs/by-name/ca/canaille/package.nix b/pkgs/by-name/ca/canaille/package.nix index d53f3648d64e..5c2d23b62323 100644 --- a/pkgs/by-name/ca/canaille/package.nix +++ b/pkgs/by-name/ca/canaille/package.nix @@ -58,7 +58,7 @@ python.pkgs.buildPythonApplication rec { coverage flask-webtest pyquery - pytest-cov + pytest-cov-stub pytest-httpserver pytest-lazy-fixtures pytest-smtpd diff --git a/pkgs/by-name/ca/cargo-llvm-cov/package.nix b/pkgs/by-name/ca/cargo-llvm-cov/package.nix index 1ad5df27c772..cddf9e4845da 100644 --- a/pkgs/by-name/ca/cargo-llvm-cov/package.nix +++ b/pkgs/by-name/ca/cargo-llvm-cov/package.nix @@ -52,7 +52,7 @@ rustPlatform.buildRustPackage (finalAttrs: { # pull in fixtures needed for the test suite src = fetchFromGitHub { inherit owner; - repo = pname; + repo = "cargo-llvm-cov"; rev = "v${version}"; sha256 = "sha256-iJrnNDSMich5OzEbPgnQWLVz6Zj/MUIzEsaBzqVdoDg="; }; diff --git a/pkgs/by-name/ca/cargo-xbuild/package.nix b/pkgs/by-name/ca/cargo-xbuild/package.nix index 973edf44d469..f47b9201d981 100644 --- a/pkgs/by-name/ca/cargo-xbuild/package.nix +++ b/pkgs/by-name/ca/cargo-xbuild/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "rust-osdev"; - repo = pname; + repo = "cargo-xbuild"; rev = "v${version}"; hash = "sha256-29rCjmzxxIjR5nBN2J3xxP+r8NnPIJV90FkSQQEBbo4="; }; diff --git a/pkgs/by-name/ca/casilda/package.nix b/pkgs/by-name/ca/casilda/package.nix index 3b702edeb455..9349c1a660b5 100644 --- a/pkgs/by-name/ca/casilda/package.nix +++ b/pkgs/by-name/ca/casilda/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitLab, - fetchpatch, meson, ninja, pkg-config, @@ -19,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "casilda"; - version = "0.2.0"; + version = "0.3.0-unstable-2025-06-16"; outputs = [ "out" @@ -30,22 +29,11 @@ stdenv.mkDerivation (finalAttrs: { domain = "gitlab.gnome.org"; owner = "jpu"; repo = "casilda"; - tag = finalAttrs.version; - hash = "sha256-wTYx4Wj8u52+yNc/A5Lg0zqmhKh8X0q99e+TilpUrC4="; + rev = "5b5933d32f0221341c98a25dea1ce5ef78199a79"; + hash = "sha256-LrXoVK7KMjIko6jUkrKY06QdZMQaVrHhG7/C5ickdJA="; }; - patches = [ - # Fix missing clock_gettime function - # https://gitlab.gnome.org/jpu/casilda/-/merge_requests/4 - (fetchpatch { - url = "https://gitlab.gnome.org/jpu/casilda/-/commit/dcebb8e67d6dc7c47332d1c76a1d5bf60eaee7b1.patch"; - hash = "sha256-l3zu29PPRwzDuoeoqUs4Gi3JziyZ9vDdqvRfz7GQ4Sw="; - }) - ]; - - depsBuildBuild = [ - pkg-config - ]; + depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ meson @@ -61,12 +49,10 @@ stdenv.mkDerivation (finalAttrs: { wayland-protocols wayland # for wayland-server libxkbcommon + wlroots_0_18 ]; - propagatedBuildInputs = [ - gtk4 - wlroots_0_18 # todo: move to buildInputs after https://gitlab.gnome.org/jpu/casilda/-/merge_requests/7 - ]; + propagatedBuildInputs = [ gtk4 ]; strictDeps = true; diff --git a/pkgs/by-name/ch/chawan/package.nix b/pkgs/by-name/ch/chawan/package.nix index 1611018bdb78..0ae78cb3df46 100644 --- a/pkgs/by-name/ch/chawan/package.nix +++ b/pkgs/by-name/ch/chawan/package.nix @@ -11,18 +11,18 @@ pkg-config, brotli, zlib, - unstableGitUpdater, + gitUpdater, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "chawan"; - version = "0-unstable-2025-06-14"; + version = "0.2.0"; src = fetchFromSourcehut { owner = "~bptato"; repo = "chawan"; - rev = "288896b6f3da9bb6e4e24190d4163e031f8a2751"; - hash = "sha256-/8pp1E4YAXXh8ORRHseIe48BIG14u8gNkmotA+CXPYY="; + rev = "v${finalAttrs.version}"; + hash = "sha256-DiA7SEXPJTScdoFeGzH45wZP6gZRU8t/fvJLOufuNmU="; }; patches = [ ./mancha-augment-path.diff ]; @@ -73,7 +73,7 @@ stdenv.mkDerivation { wrapProgram $out/bin/mancha ${makeWrapperArgs} ''; - passthru.updateScript = unstableGitUpdater { }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; meta = { description = "Lightweight and featureful terminal web browser"; @@ -83,4 +83,4 @@ stdenv.mkDerivation { maintainers = with lib.maintainers; [ ]; mainProgram = "cha"; }; -} +}) diff --git a/pkgs/by-name/cl/cloudsmith-cli/package.nix b/pkgs/by-name/cl/cloudsmith-cli/package.nix index 130676bcc1dc..093ace78d56e 100644 --- a/pkgs/by-name/cl/cloudsmith-cli/package.nix +++ b/pkgs/by-name/cl/cloudsmith-cli/package.nix @@ -51,7 +51,7 @@ python3.pkgs.buildPythonApplication rec { nativeCheckInputs = with python3.pkgs; [ pytestCheckHook - pytest-cov + pytest-cov-stub ]; checkInputs = with python3.pkgs; [ diff --git a/pkgs/by-name/cl/clps2c-compiler/package.nix b/pkgs/by-name/cl/clps2c-compiler/package.nix index ab776f2db4c4..ff73a5399c16 100644 --- a/pkgs/by-name/cl/clps2c-compiler/package.nix +++ b/pkgs/by-name/cl/clps2c-compiler/package.nix @@ -31,7 +31,7 @@ buildDotnetModule rec { (fetchFromGitHub { name = pname; inherit owner; - repo = pname; + repo = "CLPS2C-Compiler"; rev = "CLPS2C-Compiler-${version}"; sha256 = "sha256-4gLdrIxyw9BFSxF+EXZqTgUf9Kik6oK7eO9HBUzk4QM="; }) diff --git a/pkgs/by-name/co/cosmic-session/package.nix b/pkgs/by-name/co/cosmic-session/package.nix index 0f605f183615..13116e329ed9 100644 --- a/pkgs/by-name/co/cosmic-session/package.nix +++ b/pkgs/by-name/co/cosmic-session/package.nix @@ -50,7 +50,10 @@ rustPlatform.buildRustPackage (finalAttrs: { "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; - env.XDP_COSMIC = "${xdg-desktop-portal-cosmic}/libexec/xdg-desktop-portal-cosmic"; + env = { + XDP_COSMIC = lib.getExe xdg-desktop-portal-cosmic; + ORCA = "orca"; # get orca from $PATH + }; passthru = { providedSessions = [ "cosmic" ]; diff --git a/pkgs/by-name/cp/cpptrace/0001-Use-libdwarf-2-as-the-base-include-path.patch b/pkgs/by-name/cp/cpptrace/0001-Use-libdwarf-2-as-the-base-include-path.patch new file mode 100644 index 000000000000..58b72702449e --- /dev/null +++ b/pkgs/by-name/cp/cpptrace/0001-Use-libdwarf-2-as-the-base-include-path.patch @@ -0,0 +1,51 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Philip Taron +Date: Thu, 19 Jun 2025 09:24:32 -0700 +Subject: [PATCH] Use libdwarf-2 as the base include path + +Signed-off-by: Philip Taron +--- + CMakeLists.txt | 6 +++--- + src/symbols/dwarf/dwarf.hpp | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1c607bd44e528a41ccd637f5293b4f56049f5770..53e1aedf463c5eb95dcfd77fa40de66f51381b47 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -419,7 +419,7 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + target_link_libraries(${target_name} PRIVATE ${LIBDWARF_LIBRARIES}) + endif() + # There seems to be no consistency at all about where libdwarf decides to place its headers........ Figure out if +- # it's libdwarf/libdwarf.h and libdwarf/dwarf.h or just libdwarf.h and dwarf.h ++ # it's libdwarf-2/libdwarf.h and libdwarf-2/dwarf.h or just libdwarf.h and dwarf.h + include(CheckIncludeFileCXX) + # libdwarf's cmake doesn't properly set variables to indicate where its libraries live + if(NOT CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG) +@@ -428,9 +428,9 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + target_include_directories(${target_name} PRIVATE ${LIBDWARF_INCLUDE_DIRS}) + endif() + set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INCLUDE_DIRS}) +- CHECK_INCLUDE_FILE_CXX("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) ++ CHECK_INCLUDE_FILE_CXX("libdwarf-2/libdwarf.h" LIBDWARF_IS_NESTED) + CHECK_INCLUDE_FILE_CXX("libdwarf.h" LIBDWARF_IS_NOT_NESTED) +- # check_include_file("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) ++ # check_include_file("libdwarf-2/libdwarf.h" LIBDWARF_IS_NESTED) + # check_support(LIBDWARF_IS_NESTED nested_libdwarf_include.cpp "" "" "") + if(${LIBDWARF_IS_NESTED}) + target_compile_definitions(${target_name} PRIVATE CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH) +diff --git a/src/symbols/dwarf/dwarf.hpp b/src/symbols/dwarf/dwarf.hpp +index 50b2696148584b7a16da602017793797ba98cb58..53fe275492f4fd7e8e905064696e86f837a55f72 100644 +--- a/src/symbols/dwarf/dwarf.hpp ++++ b/src/symbols/dwarf/dwarf.hpp +@@ -10,8 +10,8 @@ + #include + + #ifdef CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH +- #include +- #include ++ #include ++ #include + #else + #include + #include diff --git a/pkgs/by-name/cp/cpptrace/package.nix b/pkgs/by-name/cp/cpptrace/package.nix index 0a9b0cc43d51..7e174005a80d 100644 --- a/pkgs/by-name/cp/cpptrace/package.nix +++ b/pkgs/by-name/cp/cpptrace/package.nix @@ -14,21 +14,26 @@ stdenv.mkDerivation (finalAttrs: { pname = "cpptrace"; - version = "0.8.3"; + version = "1.0.1"; src = fetchFromGitHub { owner = "jeremy-rifkin"; repo = "cpptrace"; tag = "v${finalAttrs.version}"; - hash = "sha256-oFwRFFDLl4/3szVj/ge8cSrpuuHEzf4VsCPGTE0dxRc="; + hash = "sha256-HUUyH9N+e98Gp6TPeT6TCGpdzd09knHVDaQ3KeDp8LY="; }; + patches = [ + ./0001-Use-libdwarf-2-as-the-base-include-path.patch + ]; + nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libdwarf ]; + buildInputs = [ (lib.getDev libdwarf) ]; + propagatedBuildInputs = [ zstd ] ++ (lib.optionals static [ libdwarf ]); cmakeFlags = [ @@ -40,6 +45,7 @@ stdenv.mkDerivation (finalAttrs: { ]; checkInputs = [ gtest ]; + doCheck = true; passthru = { diff --git a/pkgs/by-name/cr/crc64fast-nvme/Cargo.lock b/pkgs/by-name/cr/crc64fast-nvme/Cargo.lock new file mode 100644 index 000000000000..945edce8b524 --- /dev/null +++ b/pkgs/by-name/cr/crc64fast-nvme/Cargo.lock @@ -0,0 +1,1063 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cbindgen" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" +dependencies = [ + "clap", + "heck", + "indexmap", + "log", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", + "tempfile", + "toml", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.5.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_lex" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" + +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + +[[package]] +name = "crc" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc64fast-nvme" +version = "1.2.0" +dependencies = [ + "cbindgen", + "crc", + "criterion", + "lazy_static", + "proptest", + "rand", +] + +[[package]] +name = "criterion" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" +dependencies = [ + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "is-terminal", + "itertools", + "num-traits", + "once_cell", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + +[[package]] +name = "half" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" + +[[package]] +name = "indexmap" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "is-terminal" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "plotters" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" + +[[package]] +name = "plotters-svg" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "rustix" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "syn" +version = "2.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tempfile" +version = "3.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +dependencies = [ + "fastrand", + "getrandom 0.3.3", + "once_cell", + "rustix", + "windows-sys", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "toml" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "toml_write", + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "wait-timeout" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +dependencies = [ + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags", +] + +[[package]] +name = "zerocopy" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/pkgs/by-name/cr/crc64fast-nvme/package.nix b/pkgs/by-name/cr/crc64fast-nvme/package.nix new file mode 100644 index 000000000000..32661b4c8b10 --- /dev/null +++ b/pkgs/by-name/cr/crc64fast-nvme/package.nix @@ -0,0 +1,40 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "crc64fast-nvme"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "awesomized"; + repo = "crc64fast-nvme"; + tag = finalAttrs.version; + hash = "sha256-BEFdVspQU2exj6ndULCs0TfH7aIx/NvfUkTSL32bIPk="; + }; + + postPatch = '' + cp -L ${./Cargo.lock} Cargo.lock + ''; + + cargoLock = { + lockFile = ./Cargo.lock; + }; + + postInstall = '' + mv $out/bin/build_table $out/bin/pclmulqdq_build_table + install -Dm644 crc64fast_nvme.h -t $out/include/ + ''; + + meta = { + description = "SIMD accelerated carryless-multiplication CRC-64/NVME checksum computation (based on Intel's PCLMULQDQ paper)"; + homepage = "https://github.com/awesomized/crc64fast-nvme"; + mainProgram = "crc_64_nvme_checksum"; + license = with lib.licenses; [ + asl20 + mit + ]; + maintainers = with lib.maintainers; [ powwu ]; + }; +}) diff --git a/pkgs/by-name/de/defaultbrowser/package.nix b/pkgs/by-name/de/defaultbrowser/package.nix index a08d7aa2516c..b8c82b800345 100644 --- a/pkgs/by-name/de/defaultbrowser/package.nix +++ b/pkgs/by-name/de/defaultbrowser/package.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "kerma"; - repo = pname; + repo = "defaultbrowser"; rev = "d2860c00dd7fbb5d615232cc819d7d492a6a6ddb"; sha256 = "sha256-SelUQXoKtShcDjq8uKg3wM0kG2opREa2DGQCDd6IsOQ="; }; diff --git a/pkgs/by-name/de/dep-tree/package.nix b/pkgs/by-name/de/dep-tree/package.nix index 3b63c653b10e..0cc31f828d4c 100644 --- a/pkgs/by-name/de/dep-tree/package.nix +++ b/pkgs/by-name/de/dep-tree/package.nix @@ -39,7 +39,7 @@ buildGoModule { src = fetchFromGitHub { owner = "gabotechs"; - repo = pname; + repo = "dep-tree"; rev = "v${version}"; hash = "sha256-m+afcnwVvPrD+S7c/kfE8mqlD7kO+VPI6sSXCCjXWZM="; }; diff --git a/pkgs/by-name/dr/drawterm/package.nix b/pkgs/by-name/dr/drawterm/package.nix index 4995d8d58b59..835dfea8faac 100644 --- a/pkgs/by-name/dr/drawterm/package.nix +++ b/pkgs/by-name/dr/drawterm/package.nix @@ -13,7 +13,7 @@ wayland, wayland-protocols, libxkbcommon, - wlr-protocols, + libdecor, pulseaudio, nixosTests, withWayland ? false, @@ -23,13 +23,13 @@ let in stdenv.mkDerivation { pname = "drawterm"; - version = "0-unstable-2025-05-18"; + version = "0-unstable-2025-06-13"; src = fetchFrom9Front { owner = "plan9front"; repo = "drawterm"; - rev = "a6c1ce4e0244ca70403dc4e795a9cee548159560"; - hash = "sha256-W9IsFnJE4Bpdc2K9DcRq+zRPMU9Wd4xpM0lHkh5SirQ="; + rev = "4e32a9fa6e58c1474f747a99083303c4a2f14ea7"; + hash = "sha256-j0s6xB8c8vQoOzL34Gu84elec0ig4z75NzlUx6PsW4E="; }; enableParallelBuilding = true; @@ -50,7 +50,7 @@ stdenv.mkDerivation { wayland wayland-protocols libxkbcommon - wlr-protocols + libdecor ] ++ lib.optionals withXorg [ xorg.libX11 diff --git a/pkgs/by-name/du/duti/package.nix b/pkgs/by-name/du/duti/package.nix index 6d46f002ae13..e9175191a3b6 100644 --- a/pkgs/by-name/du/duti/package.nix +++ b/pkgs/by-name/du/duti/package.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { version = "1.5.5pre"; src = fetchFromGitHub { owner = "moretension"; - repo = pname; + repo = "duti"; rev = "fe3d3dc411bcea6af7a8cbe53c0e08ed5ecacdb2"; sha256 = "1pg4i6ghpib2gy1sqpml7dbnhr1vbr43fs2pqkd09i4w3nmgpic9"; }; diff --git a/pkgs/by-name/dw/dwarf2json/package.nix b/pkgs/by-name/dw/dwarf2json/package.nix index fce284d28862..7b910440c0ce 100644 --- a/pkgs/by-name/dw/dwarf2json/package.nix +++ b/pkgs/by-name/dw/dwarf2json/package.nix @@ -2,26 +2,34 @@ lib, fetchFromGitHub, buildGoModule, + versionCheckHook, }: -buildGoModule { +buildGoModule (finalAttrs: { pname = "dwarf2json"; - version = "unstable-2021-04-15"; + version = "0.9.0"; src = fetchFromGitHub { owner = "volatilityfoundation"; repo = "dwarf2json"; - rev = "e8a1ce85dc33bf2039adc7f8a5f47f3016153720"; - sha256 = "sha256-hnS00glAcj78mZp5as63CsEn+dcr+GNEkz8iC3KM0h0="; + rev = "v${finalAttrs.version}"; + sha256 = "sha256-M5KKtn5kly23TwbjD5MVLzIum58exXqCFs6jxsg6oGM="; }; - vendorHash = "sha256-tgs0l+sYdAxMHwVTew++keNpDyrHmevpmOBVIiuL+34="; + vendorHash = "sha256-3PnXB8AfZtgmYEPJuh0fwvG38dtngoS/lxyx3H+rvFs="; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; meta = with lib; { homepage = "https://github.com/volatilityfoundation/dwarf2json"; description = "Convert ELF/DWARF symbol and type information into vol3's intermediate JSON"; license = licenses.vol-sl; - maintainers = with maintainers; [ arkivm ]; + maintainers = with maintainers; [ + arkivm + asauzeau + ]; mainProgram = "dwarf2json"; }; -} +}) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index 04b2905dee99..9b244672a146 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -29,8 +29,6 @@ let "LOONGARCH64" else throw "Unsupported architecture"; - - buildType = if stdenv.hostPlatform.isDarwin then "CLANGPDB" else "GCC5"; in stdenv.mkDerivation (finalAttrs: { @@ -172,6 +170,7 @@ stdenv.mkDerivation (finalAttrs: { finalAttrsInner: let attrs = lib.toFunction attrsOrFun finalAttrsInner; + buildType = attrs.buildType or (if stdenv.hostPlatform.isDarwin then "CLANGPDB" else "GCC5"); in { inherit (finalAttrs) src; diff --git a/pkgs/by-name/em/embellish/package.nix b/pkgs/by-name/em/embellish/package.nix index 7e3ef1eea662..0c7256568c0e 100644 --- a/pkgs/by-name/em/embellish/package.nix +++ b/pkgs/by-name/em/embellish/package.nix @@ -15,6 +15,7 @@ gjs, gnome-autoar, libsoup_3, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "embellish"; @@ -47,6 +48,8 @@ stdenv.mkDerivation (finalAttrs: { libsoup_3 ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "User-friendly application designed for managing Nerd Fonts on your system"; longDescription = '' diff --git a/pkgs/by-name/fa/fastcov/package.nix b/pkgs/by-name/fa/fastcov/package.nix index a118d28f7128..861199298db3 100644 --- a/pkgs/by-name/fa/fastcov/package.nix +++ b/pkgs/by-name/fa/fastcov/package.nix @@ -32,7 +32,7 @@ python3Packages.buildPythonPackage rec { dontUseCmakeConfigure = true; # cmake is used for testing nativeCheckInputs = with python3Packages; [ - pytest + pytestCheckHook pytest-cov-stub ]; diff --git a/pkgs/by-name/fl/flexget/package.nix b/pkgs/by-name/fl/flexget/package.nix index 9a20815265e6..3b76569ea978 100644 --- a/pkgs/by-name/fl/flexget/package.nix +++ b/pkgs/by-name/fl/flexget/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication rec { pname = "flexget"; - version = "3.16.3"; + version = "3.16.5"; pyproject = true; src = fetchFromGitHub { owner = "Flexget"; repo = "Flexget"; tag = "v${version}"; - hash = "sha256-07dCSwRLIf/cmNsFuNHs9XXFGuJvwUNWgLuxRsMOXo4="; + hash = "sha256-tmxVk74eqN4qIe7cJF5IIWe7aXIH3Q2vi1galTF+FbI="; }; pythonRelaxDeps = true; diff --git a/pkgs/by-name/gi/git-machete/package.nix b/pkgs/by-name/gi/git-machete/package.nix index 8582ef0285ba..325a3975344a 100644 --- a/pkgs/by-name/gi/git-machete/package.nix +++ b/pkgs/by-name/gi/git-machete/package.nix @@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec { src = fetchFromGitHub { owner = "virtuslab"; - repo = pname; + repo = "git-machete"; rev = "v${version}"; hash = "sha256-iSuOiQC+dKqcDCS4nTPMrNFpo3ipPUQhfoofM11UInI="; }; diff --git a/pkgs/by-name/gi/git-pw/package.nix b/pkgs/by-name/gi/git-pw/package.nix index cf9bce02d574..083bea01547c 100644 --- a/pkgs/by-name/gi/git-pw/package.nix +++ b/pkgs/by-name/gi/git-pw/package.nix @@ -36,7 +36,7 @@ python3.pkgs.buildPythonApplication rec { nativeCheckInputs = with python3.pkgs; [ pytest-cov-stub - pytest + pytestCheckHook git ]; diff --git a/pkgs/by-name/gi/gitfs/package.nix b/pkgs/by-name/gi/gitfs/package.nix index 3b9cf7cfe17b..94c4b3868edd 100644 --- a/pkgs/by-name/gi/gitfs/package.nix +++ b/pkgs/by-name/gi/gitfs/package.nix @@ -27,8 +27,8 @@ python3Packages.buildPythonApplication rec { ''; nativeCheckInputs = with python3Packages; [ - pytest - pytest-cov + pytestCheckHook + pytest-cov-stub mock ]; propagatedBuildInputs = with python3Packages; [ @@ -38,8 +38,7 @@ python3Packages.buildPythonApplication rec { six ]; - checkPhase = "py.test"; - doCheck = false; + pythonImportsCheck = [ "gitfs" ]; meta = { description = "FUSE filesystem that fully integrates with git"; @@ -53,5 +52,8 @@ python3Packages.buildPythonApplication rec { platforms = lib.platforms.unix; maintainers = [ lib.maintainers.robbinch ]; mainProgram = "gitfs"; + # requires <=python39, otherwise you get this at runtime: + # AttributeError: module 'collections' has no attribute 'MutableMapping' + broken = true; }; } diff --git a/pkgs/by-name/gi/gitify/package.nix b/pkgs/by-name/gi/gitify/package.nix index b5c18a84eb26..19547d81247d 100644 --- a/pkgs/by-name/gi/gitify/package.nix +++ b/pkgs/by-name/gi/gitify/package.nix @@ -95,7 +95,7 @@ stdenv.mkDerivation (finalAttrs: { desktopName = "Gitify"; exec = "gitify %U"; icon = "gitify"; - comment = "GitHub Notifications on your menu bar."; + comment = "GitHub notifications on your menu bar"; categories = [ "Development" ]; startupWMClass = "Gitify"; }) @@ -104,9 +104,9 @@ stdenv.mkDerivation (finalAttrs: { passthru.updateScript = nix-update-script { }; meta = { - homepage = "https://www.gitify.io/"; + homepage = "https://gitify.io/"; changelog = "https://github.com/gitify-app/gitify/releases/tag/v${finalAttrs.version}"; - description = "GitHub Notifications on your menu bar"; + description = "GitHub notifications on your menu bar"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ pineapplehunter ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/gk/gk-cli/package.nix b/pkgs/by-name/gk/gk-cli/package.nix index 6ca98ca42863..52083ce92625 100644 --- a/pkgs/by-name/gk/gk-cli/package.nix +++ b/pkgs/by-name/gk/gk-cli/package.nix @@ -5,6 +5,7 @@ coreutils, installShellFiles, makeWrapper, + gitMinimal, writeShellScript, curl, jq, @@ -13,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "gk-cli"; - version = "2.1.2"; + version = "3.0.9"; src = ( finalAttrs.passthru.sources.${stdenv.system} @@ -28,18 +29,34 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - install -Dm555 gk -t $out/bin/ + install -Dm555 gk*/gk -t $out/bin/ - installShellCompletion --bash ./**/gk.bash - installShellCompletion --fish ./**/gk.fish - installShellCompletion --zsh ./**/_gk + wrapProgram $out/bin/gk \ + --prefix PATH : "${lib.makeBinPath [ gitMinimal ]}" runHook postInstall ''; - postFixup = '' - wrapProgram $out/bin/gk \ - --prefix PATH : "${lib.makeBinPath [ coreutils ]}" + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + # Use timeout because gk hangs instead of closing in the sandbox + installShellCompletion --cmd gk \ + --bash <(HOME="$(mktemp --directory)" timeout 3 $out/bin/gk completion bash) \ + --fish <(HOME="$(mktemp --directory)" timeout 3 $out/bin/gk completion fish) \ + --zsh <(HOME="$(mktemp --directory)" timeout 3 $out/bin/gk completion zsh) + ''; + + doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + installCheckPhase = '' + OUTPUT="$( + HOME="$(mktemp --directory)" \ + timeout 3 `# Use timeout because gk hangs instead of closing in the sandbox` \ + $out/bin/gk setup \ + 2>/dev/null \ + || true # Command fails because not logged in + )" + + echo "$OUTPUT" | grep --quiet '^Git binary found: ✓$' + echo "$OUTPUT" | grep --quiet '^CLI version: ${finalAttrs.version}$' ''; passthru = { @@ -48,49 +65,44 @@ stdenv.mkDerivation (finalAttrs: { base_url = "https://github.com/gitkraken/gk-cli/releases/download/v${finalAttrs.version}/gk_${finalAttrs.version}_"; in { - armv6l-linux = fetchzip { - url = "${base_url}Linux_arm6.zip"; - hash = "sha256-pnEFTkx1JSmQlniVCXvIB6xGD8XyDh9OLDU0V9AZBTs="; - stripRoot = false; - }; - armv7l-linux = fetchzip { - url = "${base_url}Linux_arm7.zip"; - hash = "sha256-qj0++i698s4ELKHU9B2sGIqf9hUJip4+2Car+brkRkM="; - stripRoot = false; - }; aarch64-linux = fetchzip { - url = "${base_url}Linux_arm64.zip"; - hash = "sha256-vHGhlRHbk2/s3YmBdOPDbalEydpQVFkHiCkBVywa4N0="; + url = "${base_url}linux_arm64.zip"; + hash = "sha256-aYgHLpG4nX3Op0+j733jYbK4ZwVKkctMkDPweNTJWso="; stripRoot = false; }; x86_32-linux = fetchzip { - url = "${base_url}Linux_i386.zip"; - hash = "sha256-t+P9SpS9u/17kga74kbYjD6nkjiFusyIwCRGDnkP3tU="; + url = "${base_url}linux_386.zip"; + hash = "sha256-lVu25S7e6a/kHmiD5dxGAlHMQ5yN46+SdFpt8lghejM="; stripRoot = false; }; x86_64-linux = fetchzip { - url = "${base_url}Linux_x86_64.zip"; - hash = "sha256-O6T27edHi20ZFHiNaZKdk/5dtCn2Tpxm0PR934SRwFk="; + url = "${base_url}linux_amd64.zip"; + hash = "sha256-/z2G//Zh8lTHkeJPahyld1EEXXhd/cgIvCojUmzFX8E="; stripRoot = false; }; aarch64-darwin = fetchzip { - url = "${base_url}macOS_arm64.zip"; - hash = "sha256-LW2K+aveJiyYqfga2jpF3DvvFeHJuozqbc/afgtq2Oc="; + url = "${base_url}darwin_arm64.zip"; + hash = "sha256-nDVehD0TTNTvhuDU8RB4lZiVcEJpB+l6EGkzckC7JuU="; stripRoot = false; }; x86_64-darwin = fetchzip { - url = "${base_url}macOS_x86_64.zip"; - hash = "sha256-1w8B4YWouVViTGoUh987pPQIoqdzB0S+M2bBiRI6Kfg="; + url = "${base_url}darwin_amd64.zip"; + hash = "sha256-Lhuqb5592T6VcTMVmAdIDfGMXaS4dSu0wbQeHheXXk4="; + stripRoot = false; + }; + aarch64-windows = fetchzip { + url = "${base_url}windows_arm64.zip"; + hash = "sha256-sXHeqR4AW/sRPp74PieXI1n4VGV94CnrcMF1ovAek8E="; stripRoot = false; }; i686-windows = fetchzip { - url = "${base_url}Windows_i386.zip"; - hash = "sha256-t81/wK1weZ/uEZ5TzivylARTUqks9rLIG7WzeoWXb1k="; + url = "${base_url}windows_386.zip"; + hash = "sha256-u6DyHoYIaExS2CHu20odDVJxzI4k9PpdFQf6UDPAzz0="; stripRoot = false; }; x86_64-windows = fetchzip { - url = "${base_url}Windows_x86_64.zip"; - hash = "sha256-9yydDMI9Gz/OswRhJHF+2c3Ia0zDmXMbf7byj6PJe24="; + url = "${base_url}windows_amd64.zip"; + hash = "sha256-nh+JPR95IWLm7CTrS8qK2dP3c4SH/zm1oIS5GNgxcyo="; stripRoot = false; }; }; diff --git a/pkgs/by-name/gn/gnome-session/ctl.nix b/pkgs/by-name/gn/gnome-session/ctl.nix index 45c676f1c7ab..5aecef4ce161 100644 --- a/pkgs/by-name/gn/gnome-session/ctl.nix +++ b/pkgs/by-name/gn/gnome-session/ctl.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "nix-community"; - repo = pname; + repo = "gnome-session-ctl"; rev = version; hash = "sha256-RY0+iIwwjd7268m3EYrZ1yUBLHXmaWddtSxqgUUH6qQ="; }; diff --git a/pkgs/by-name/go/goose-cli/package.nix b/pkgs/by-name/go/goose-cli/package.nix index 07313b8da664..098363f50f5e 100644 --- a/pkgs/by-name/go/goose-cli/package.nix +++ b/pkgs/by-name/go/goose-cli/package.nix @@ -27,17 +27,17 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "goose-cli"; - version = "1.0.27"; + version = "1.0.28"; src = fetchFromGitHub { owner = "block"; repo = "goose"; tag = "v${finalAttrs.version}"; - hash = "sha256-+HNAOw/BJVNHiDHeEBKoAAs66IXCdYhm1VzVFIzk4m8="; + hash = "sha256-ExFVgG05jlcz3nP6n94324sgXbIHpj8L30oNuqKyfto="; }; useFetchCargoVendor = true; - cargoHash = "sha256-v+UQFbFpkwX+7oNFvKf2v2u3OSkPdgOWntXLW6XJibE="; + cargoHash = "sha256-sW4rWLElTPVzD+KCOrikEFcoIRGujMz+wHOWlYBpi0o="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/gr/graphite-gtk-theme/package.nix b/pkgs/by-name/gr/graphite-gtk-theme/package.nix index 1cfef4fcfaaf..9545941f2568 100644 --- a/pkgs/by-name/gr/graphite-gtk-theme/package.nix +++ b/pkgs/by-name/gr/graphite-gtk-theme/package.nix @@ -66,7 +66,7 @@ lib.checkListOfEnum "${pname}: theme variants" src = fetchFromGitHub { owner = "vinceliuice"; - repo = pname; + repo = "graphite-gtk-theme"; rev = version; hash = "sha256-k93l/7DF0HSKPfiIxzBLz0mBflgbdYJyGLEmWZx3q7o="; }; diff --git a/pkgs/by-name/gt/gtk-mac-integration/package.nix b/pkgs/by-name/gt/gtk-mac-integration/package.nix index d2d56bec0da0..b999d13ab46d 100644 --- a/pkgs/by-name/gt/gtk-mac-integration/package.nix +++ b/pkgs/by-name/gt/gtk-mac-integration/package.nix @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; - repo = pname; - rev = "${pname}-${version}"; + repo = "gtk-mac-integration"; + rev = "gtk-mac-integration-${version}"; sha256 = "0sc0m3p8r5xfh5i4d7dg72kfixx9yi4f800y43bszyr88y52jkga"; }; diff --git a/pkgs/by-name/gt/gtklock-virtkb-module/package.nix b/pkgs/by-name/gt/gtklock-virtkb-module/package.nix new file mode 100644 index 000000000000..3ef7add9f382 --- /dev/null +++ b/pkgs/by-name/gt/gtklock-virtkb-module/package.nix @@ -0,0 +1,40 @@ +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gtk3, + gtklock, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gtklock-virtkb-module"; + version = "0-unstable-2025-02-27"; + + src = fetchFromGitHub { + owner = "progandy"; + repo = "gtklock-virtkb-module"; + rev = "a11c2d8f14a79f271b02711b38220f927bc7fdf8"; + hash = "sha256-+kEv5SlMINCORQQOOZ4Lb1dSJXLCbX2oAsD6NTbuhdE="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + gtk3 + ]; + + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + + passthru.tests.testModule = gtklock.passthru.testModule finalAttrs.finalPackage; + + meta = { + description = "Gtklock module adding a keyboard to the lockscreen"; + homepage = "https://github.com/progandy/gtklock-virtkb-module"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ aleksana ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/ha/hacompanion/package.nix b/pkgs/by-name/ha/hacompanion/package.nix index 327d54960ba0..9ec01b8dee44 100644 --- a/pkgs/by-name/ha/hacompanion/package.nix +++ b/pkgs/by-name/ha/hacompanion/package.nix @@ -2,6 +2,7 @@ lib, fetchFromGitHub, buildGoModule, + nix-update-script, }: buildGoModule rec { @@ -17,6 +18,8 @@ buildGoModule rec { vendorHash = "sha256-y2eSuMCDZTGdCs70zYdA8NKbuPPN5xmnRfMNK+AE/q8="; + passthru.updateScript = nix-update-script { }; + meta = { changelog = "https://github.com/tobias-kuendig/hacompanion/releases/tag/v${version}"; description = "Daemon that sends local hardware information to Home Assistant"; diff --git a/pkgs/by-name/ha/hatch/package.nix b/pkgs/by-name/ha/hatch/package.nix index 2a26b7173f88..da80f9ed5b67 100644 --- a/pkgs/by-name/ha/hatch/package.nix +++ b/pkgs/by-name/ha/hatch/package.nix @@ -129,6 +129,10 @@ python3Packages.buildPythonApplication rec { # Relies on FHS # Could not read ELF interpreter from any of the following paths: /bin/sh, /usr/bin/env, /bin/dash, /bin/ls "test_new_selected_python" + + # https://github.com/pypa/hatch/issues/2006 + "test_project_location_basic_set_first_project" + "test_project_location_complex_set_first_project" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # This test assumes it is running on macOS with a system shell on the PATH. diff --git a/pkgs/by-name/hi/high-tide/package.nix b/pkgs/by-name/hi/high-tide/package.nix index 7e87e49f879b..88c0abe2c1e9 100644 --- a/pkgs/by-name/hi/high-tide/package.nix +++ b/pkgs/by-name/hi/high-tide/package.nix @@ -17,14 +17,14 @@ python313Packages.buildPythonApplication rec { pname = "high-tide"; - version = "0.1.5"; + version = "0.1.7"; pyproject = false; src = fetchFromGitHub { owner = "Nokse22"; repo = "high-tide"; tag = "v${version}"; - hash = "sha256-HoPyqsLPLfqyQbrhoPzr3n81yX1MHZVUVmq5RKDN5pI="; + hash = "sha256-QFa9K/iSPe3cIx90PzPCkJszrygON9ijukv4px3Rob8="; }; nativeBuildInputs = [ @@ -45,8 +45,6 @@ python313Packages.buildPythonApplication rec { gstreamer gst-plugins-base gst-plugins-good - gst-plugins-ugly - gst-plugins-bad libsecret ]); @@ -55,6 +53,7 @@ python313Packages.buildPythonApplication rec { tidalapi requests mpd2 + pypresence ]; dontWrapGApps = true; diff --git a/pkgs/by-name/ho/holo-build/package.nix b/pkgs/by-name/ho/holo-build/package.nix index 0ed9d9232b56..81ed3e7a23bf 100644 --- a/pkgs/by-name/ho/holo-build/package.nix +++ b/pkgs/by-name/ho/holo-build/package.nix @@ -13,7 +13,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "holocm"; - repo = pname; + repo = "holo-build"; rev = "v${version}"; sha256 = "0lypbgf96bcc4m3968xa4il1zwprsdyc0pw6pl9mqq7djxabikd0"; }; diff --git a/pkgs/by-name/ht/htmx-lsp/package.nix b/pkgs/by-name/ht/htmx-lsp/package.nix index 74e67231ee8e..0fbd3545ec61 100644 --- a/pkgs/by-name/ht/htmx-lsp/package.nix +++ b/pkgs/by-name/ht/htmx-lsp/package.nix @@ -2,21 +2,24 @@ lib, rustPlatform, fetchFromGitHub, + unstableGitUpdater, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage { pname = "htmx-lsp"; - version = "0.1.0"; + version = "0.1.0-unstable-2025-06-14"; src = fetchFromGitHub { owner = "ThePrimeagen"; repo = "htmx-lsp"; - rev = version; - hash = "sha256-CvQ+vgo3+qUOj0SS6/NrapzXkP98tpiZbGhRHJxEqeo="; + rev = "c45f55b2bf8be2d92489fd6d69a3db07fe5f214b"; + hash = "sha256-7CAlYYwsanlOCGeY7gYE5Fzk5IEO4hThgINiJmXql7s="; }; useFetchCargoVendor = true; - cargoHash = "sha256-EQHNFiyQ7TwY4LldMFOTX0epilU76LPOiHQIIUsNhS8="; + cargoHash = "sha256-/ypaTrctJo88DHtF/hv6B0dqB06axd/qKFnuI8zs8KA="; + + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "Language server implementation for htmx"; diff --git a/pkgs/by-name/it/itch/package.nix b/pkgs/by-name/it/itch/package.nix index 5ce46f34f1d8..52724e4d6aff 100644 --- a/pkgs/by-name/it/itch/package.nix +++ b/pkgs/by-name/it/itch/package.nix @@ -15,7 +15,7 @@ let version = "26.1.9"; itch-setup = fetchzip { - url = "https://broth.itch.ovh/itch-setup/linux-amd64/1.26.0/itch-setup.zip"; + url = "https://broth.itch.zone/itch-setup/linux-amd64/1.26.0/itch-setup.zip"; stripRoot = false; hash = "sha256-5MP6X33Jfu97o5R1n6Og64Bv4ZMxVM0A8lXeQug+bNA="; }; @@ -36,7 +36,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { inherit version; src = fetchzip { - url = "https://broth.itch.ovh/itch/linux-amd64/${finalAttrs.version}/archive/default#.zip"; + url = "https://broth.itch.zone/itch/linux-amd64/${finalAttrs.version}/archive/default#.zip"; stripRoot = false; hash = "sha256-4k6afBgOKGs7rzXAtIBpmuQeeT/Va8/0bZgNYjuJhgI="; }; diff --git a/pkgs/by-name/ka/kanidm/generic.nix b/pkgs/by-name/ka/kanidm/generic.nix index 08ac4c490901..cd4e9e4af0e5 100644 --- a/pkgs/by-name/ka/kanidm/generic.nix +++ b/pkgs/by-name/ka/kanidm/generic.nix @@ -43,8 +43,8 @@ rustPlatform.buildRustPackage rec { cargoDepsName = "kanidm"; src = fetchFromGitHub { - owner = pname; - repo = pname; + owner = "kanidm"; + repo = "kanidm"; rev = "refs/tags/v${version}"; inherit hash; }; diff --git a/pkgs/by-name/ka/kapitano/package.nix b/pkgs/by-name/ka/kapitano/package.nix new file mode 100644 index 000000000000..a44ecf34a681 --- /dev/null +++ b/pkgs/by-name/ka/kapitano/package.nix @@ -0,0 +1,75 @@ +{ + lib, + fetchFromGitea, + meson, + ninja, + pkg-config, + glib, + gtk4, + libadwaita, + python3Packages, + clamav, + appstream-glib, + desktop-file-utils, + libxml2, + gobject-introspection, + wrapGAppsHook4, + librsvg, +}: +python3Packages.buildPythonApplication rec { + pname = "kapitano"; + version = "1.1.2"; + pyproject = false; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "zynequ"; + repo = "Kapitano"; + tag = version; + hash = "sha256-914M0VRyuzDiITUT5sjt9vNaqshn4skz/FWWMxgPTdc="; + fetchLFS = true; + }; + + nativeBuildInputs = [ + meson + ninja + desktop-file-utils + libxml2 + pkg-config + appstream-glib + wrapGAppsHook4 + gobject-introspection + ]; + + buildInputs = [ + glib + gtk4 + libadwaita + librsvg + ]; + + dependencies = with python3Packages; [ pygobject3 ]; + + postPatch = '' + substituteInPlace src/config/paths_config.py \ + --replace-fail 'USER_DATA_DIR = GLib.get_user_data_dir()' 'USER_DATA_DIR = os.path.join(GLib.get_user_data_dir(), "kapitano"); os.makedirs(USER_DATA_DIR, exist_ok=True)' + ''; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=( + ''${gappsWrapperArgs[@]} + --prefix PATH : "${lib.makeBinPath [ clamav ]}" + ) + ''; + + meta = { + description = "Modern ClamAV front-end that uses gtk4/libadwaita"; + homepage = "https://codeberg.org/zynequ/Kapitano"; + mainProgram = "kapitano"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ lonerOrz ]; + }; +} diff --git a/pkgs/by-name/kd/kddockwidgets/package.nix b/pkgs/by-name/kd/kddockwidgets/package.nix index 6b3afa39ad12..4799d8cb31e8 100644 --- a/pkgs/by-name/kd/kddockwidgets/package.nix +++ b/pkgs/by-name/kd/kddockwidgets/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "KDAB"; - repo = pname; + repo = "KDDockWidgets"; rev = "v${version}"; sha256 = "sha256-4xaTfNwfAIQox2YcusEZJt5f9/Kld+zveFEiIVw5dRc="; }; diff --git a/pkgs/by-name/ke/keeperrl/package.nix b/pkgs/by-name/ke/keeperrl/package.nix index ea8c74e92d14..373c1473a9ec 100644 --- a/pkgs/by-name/ke/keeperrl/package.nix +++ b/pkgs/by-name/ke/keeperrl/package.nix @@ -21,7 +21,7 @@ let free_src = fetchFromGitHub { owner = "miki151"; - repo = pname; + repo = "keeperrl"; rev = version; sha256 = "sha256-0sww+ppctXvxMouclG3OdXpcNgrrOZJw9z8s2GhJ+IE="; }; diff --git a/pkgs/by-name/ke/keycloak/keycloak-metrics-spi/default.nix b/pkgs/by-name/ke/keycloak/keycloak-metrics-spi/default.nix index a595dab70333..49acf107c312 100644 --- a/pkgs/by-name/ke/keycloak/keycloak-metrics-spi/default.nix +++ b/pkgs/by-name/ke/keycloak/keycloak-metrics-spi/default.nix @@ -10,7 +10,7 @@ maven.buildMavenPackage rec { src = fetchFromGitHub { owner = "aerogear"; - repo = pname; + repo = "keycloak-metrics-spi"; rev = "refs/tags/${version}"; hash = "sha256-MMonBRau8FpfCqija6NEdvp4zJfEub2Kwk4MA7FYWHI="; }; diff --git a/pkgs/by-name/lc/lcalc/package.nix b/pkgs/by-name/lc/lcalc/package.nix index f8eab9b3edd5..2d5cb74fda4f 100644 --- a/pkgs/by-name/lc/lcalc/package.nix +++ b/pkgs/by-name/lc/lcalc/package.nix @@ -9,14 +9,14 @@ }: stdenv.mkDerivation rec { - version = "2.1.0"; + version = "2.1.1"; pname = "lcalc"; src = fetchFromGitLab { owner = "sagemath"; repo = "lcalc"; tag = version; - hash = "sha256-v+7Uh6tPOfb3E9dqxx//RqD22XM4S/8ejS2v+D5G5pE="; + hash = "sha256-0CYrRGn5YQ07BaGu0Q5otnjwyh3sNq21EXp3M/KlRdw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/libcollectdclient/package.nix b/pkgs/by-name/li/libcollectdclient/package.nix index b9247629c574..0d0dac4367b1 100644 --- a/pkgs/by-name/li/libcollectdclient/package.nix +++ b/pkgs/by-name/li/libcollectdclient/package.nix @@ -1,24 +1,26 @@ { lib, collectd }: -collectd.overrideAttrs (oldAttrs: { +collectd.overrideAttrs (prevAttrs: { pname = "libcollectdclient"; + buildInputs = [ ]; - configureFlags = (oldAttrs.configureFlags or [ ]) ++ [ + configureFlags = (prevAttrs.configureFlags or [ ]) ++ [ + "--with-perl-bindings=no" "--disable-daemon" "--disable-all-plugins" ]; postInstall = "rm -rf $out/{bin,etc,sbin,share}"; - meta = with lib; { + meta = { description = "C Library for collectd, a daemon which collects system performance statistics periodically"; - homepage = "http://collectd.org"; - license = licenses.gpl2; - platforms = platforms.linux; # TODO: collectd may be linux but the C client may be more portable? - maintainers = [ - maintainers.sheenobu - maintainers.bjornfor + homepage = "https://collectd.org"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + sheenobu + bjornfor ]; }; }) diff --git a/pkgs/by-name/li/libcrossguid/package.nix b/pkgs/by-name/li/libcrossguid/package.nix index 3a165303f5ad..ac743a2452a7 100644 --- a/pkgs/by-name/li/libcrossguid/package.nix +++ b/pkgs/by-name/li/libcrossguid/package.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation rec { - name = "lib" + pname + "-" + version; + name = "lib" + "crossguid" + "-" + version; pname = "crossguid"; version = "2016-02-21"; src = fetchFromGitHub { owner = "graeme-hill"; - repo = pname; + repo = "crossguid"; rev = "8f399e8bd4252be9952f3dfa8199924cc8487ca4"; sha256 = "1i29y207qqddvaxbn39pk2fbh3gx8zvdprfp35wasj9rw2wjk3s9"; }; diff --git a/pkgs/by-name/li/libdwarf/common.nix b/pkgs/by-name/li/libdwarf/common.nix deleted file mode 100644 index 39abf711bbb0..000000000000 --- a/pkgs/by-name/li/libdwarf/common.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - buildInputs, - hash, - version, - url, - knownVulnerabilities, -}: - -stdenv.mkDerivation { - pname = "libdwarf"; - inherit version; - - src = fetchurl { - inherit url hash; - }; - - configureFlags = [ - "--enable-shared" - "--disable-nonshared" - ]; - - inherit buildInputs; - - outputs = [ - "bin" - "lib" - "dev" - "out" - ]; - - meta = { - homepage = "https://github.com/davea42/libdwarf-code"; - platforms = lib.platforms.unix; - license = lib.licenses.lgpl21Plus; - maintainers = [ lib.maintainers.atry ]; - inherit knownVulnerabilities; - }; -} diff --git a/pkgs/by-name/li/libdwarf/package.nix b/pkgs/by-name/li/libdwarf/package.nix index 539940259b58..9c61445ee549 100644 --- a/pkgs/by-name/li/libdwarf/package.nix +++ b/pkgs/by-name/li/libdwarf/package.nix @@ -1,16 +1,48 @@ { - callPackage, + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, zlib, zstd, }: -callPackage ./common.nix rec { - version = "0.11.1"; - url = "https://www.prevanders.net/libdwarf-${version}.tar.xz"; - hash = "sha512:d927b1d0e8dd1540c2f5da2a9d39b2914bb48225b2b9bdca94e7b36349358e1f537044eadc345f11d75de717fdda07ad99a8a7a5eb45e64fe4c79c37e165012f"; +stdenv.mkDerivation (finalAttrs: { + pname = "libdwarf"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "davea42"; + repo = "libdwarf-code"; + tag = "v${finalAttrs.version}"; + hash = "sha256-SsFg+7zGBEGxDSzfiIP5bxdttlBkhEiEQWaU12hINas="; + }; + + nativeBuildInputs = [ + meson + ninja + ]; + buildInputs = [ zlib zstd ]; - knownVulnerabilities = [ ]; -} + + outputs = [ + "bin" + "lib" + "dev" + "out" + ]; + + meta = { + description = "Library for reading DWARF2 and later DWARF"; + mainProgram = "dwarfdump"; + homepage = "https://github.com/davea42/libdwarf-code"; + changelog = "https://github.com/davea42/libdwarf-code/releases/tag/v${finalAttrs.version}/CHANGELOG.md"; + platforms = lib.platforms.unix; + license = lib.licenses.lgpl21Plus; + maintainers = [ lib.maintainers.atry ]; + }; +}) diff --git a/pkgs/by-name/li/libnghttp2_asio/package.nix b/pkgs/by-name/li/libnghttp2_asio/package.nix index 74e2ec56c6bb..4fe8889e16b2 100644 --- a/pkgs/by-name/li/libnghttp2_asio/package.nix +++ b/pkgs/by-name/li/libnghttp2_asio/package.nix @@ -5,12 +5,12 @@ cmake, nghttp2, openssl, - boost, + boost186, }: stdenv.mkDerivation { pname = "libnghttp2_asio"; - version = "unstable-2022-08-11"; + version = "0-unstable-2022-08-11"; outputs = [ "out" @@ -30,7 +30,7 @@ stdenv.mkDerivation { ]; buildInputs = [ - boost + boost186 nghttp2 openssl ]; diff --git a/pkgs/by-name/li/librespeed-cli/package.nix b/pkgs/by-name/li/librespeed-cli/package.nix index 893183bee5d8..b2a64f0fdbcb 100644 --- a/pkgs/by-name/li/librespeed-cli/package.nix +++ b/pkgs/by-name/li/librespeed-cli/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "librespeed-cli"; - version = "1.0.10"; + version = "1.0.12"; src = fetchFromGitHub { owner = "librespeed"; repo = "speedtest-cli"; tag = "v${version}"; - hash = "sha256-LFGlKYWUaHi/byoRPD6zsdr0U5r0zWxxRa2NJNB2yb8="; + hash = "sha256-njaQ/Be5rDCqkZJkij0nRi8aIO5uZYo8t3BjIcdKoCM="; }; - vendorHash = "sha256-psZyyySpY06J+ji+9uHUtX7Ks1hzZC3zINszYP75NfQ="; + vendorHash = "sha256-dmaq9+0FjqYh2ZLg8bu8cPJZ9QClcvwid1nmsftmrf0="; # Tests have additional requirements doCheck = false; diff --git a/pkgs/by-name/li/lite-xl/package.nix b/pkgs/by-name/li/lite-xl/package.nix index 44c478e7209e..c690b84dff08 100644 --- a/pkgs/by-name/li/lite-xl/package.nix +++ b/pkgs/by-name/li/lite-xl/package.nix @@ -5,46 +5,53 @@ lua5_4, meson, ninja, + cmake, pcre2, pkg-config, - SDL2, + sdl3, stdenv, }: - -stdenv.mkDerivation rec { +let pname = "lite-xl"; - version = "2.1.7"; + version = "2.1.8"; +in +stdenv.mkDerivation { + inherit pname version; src = fetchFromGitHub { owner = "lite-xl"; repo = "lite-xl"; rev = "v${version}"; - hash = "sha256-Ig0XDxnll/zruAwWHwuXiqumBXgAPxuK0E1ELupvcXo="; + hash = "sha256-9JpD7f5vOGhLW8dBjjYUI5PSaz/XWW5sIOZCAbKhxtE="; }; nativeBuildInputs = [ meson ninja pkg-config + cmake ]; buildInputs = [ freetype lua5_4 pcre2 - SDL2 + sdl3 ]; mesonFlags = [ "-Duse_system_lua=true" ]; - meta = with lib; { + meta = { description = "Lightweight text editor written in Lua"; homepage = "https://github.com/lite-xl/lite-xl"; - license = licenses.mit; - maintainers = with maintainers; [ sefidel ]; - platforms = platforms.unix; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + luftmensch-luftmensch + sefidel + ]; + platforms = lib.platforms.unix; mainProgram = "lite-xl"; }; } diff --git a/pkgs/by-name/lx/lxqt-panel-profiles/package.nix b/pkgs/by-name/lx/lxqt-panel-profiles/package.nix index 0587b72220cf..6055982917c2 100644 --- a/pkgs/by-name/lx/lxqt-panel-profiles/package.nix +++ b/pkgs/by-name/lx/lxqt-panel-profiles/package.nix @@ -13,14 +13,14 @@ let in stdenv.mkDerivation rec { pname = "lxqt-panel-profiles"; - version = "1.1"; + version = "1.2"; src = fetchFromGitea { domain = "codeberg.org"; owner = "MrReplikant"; repo = "lxqt-panel-profiles"; rev = version; - hash = "sha256-YGjgTLodVTtDzP/SOEg+Ehf1LYggTnG1H1rN5m1jaNM="; + hash = "sha256-V76R3mWF/PgweMaDYTr6eJ3IDBsSJ8BSP5MYpKAWxM8="; }; postPatch = '' @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { --replace-fail "python3" "${pythonWithPyqt6}/bin/python" substituteInPlace usr/share/lxqt-panel-profiles/lxqt-panel-profiles.py \ - --replace-fail "qdbus" "${qt6.qttools}/bin/qdbus" + --replace-fail "qdbus6" "${qt6.qttools}/bin/qdbus" ''; installPhase = '' diff --git a/pkgs/by-name/m-/m-cli/package.nix b/pkgs/by-name/m-/m-cli/package.nix index 4faa5c6dc184..6d207a8606b6 100644 --- a/pkgs/by-name/m-/m-cli/package.nix +++ b/pkgs/by-name/m-/m-cli/package.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "rgcr"; - repo = pname; + repo = "m-cli"; rev = "v${version}"; sha256 = "sha256-KzlE1DdVMLnGmcOS1a2HK4pASofD1EHpdqbzVVIxeb4="; }; diff --git a/pkgs/by-name/ma/marge-bot/package.nix b/pkgs/by-name/ma/marge-bot/package.nix index c914bd8a2ffa..4072d3244879 100644 --- a/pkgs/by-name/ma/marge-bot/package.nix +++ b/pkgs/by-name/ma/marge-bot/package.nix @@ -9,14 +9,14 @@ python3.pkgs.buildPythonApplication rec { pname = "marge-bot"; - version = "0.15.3"; + version = "0.16.0"; pyproject = true; src = fetchFromGitLab { owner = "marge-org"; repo = "marge-bot"; rev = version; - hash = "sha256-i/hnfoBxgP1mo4RV4F10+QOOkPP/fkcwqaLKBlOuP0I="; + hash = "sha256-UgdbeJegeTFP6YF6oMxAeQDI9AO2k6yk4WAFZ/Xspu8="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ma/matcha-gtk-theme/package.nix b/pkgs/by-name/ma/matcha-gtk-theme/package.nix index 61b923022bb7..2f0f5d338649 100644 --- a/pkgs/by-name/ma/matcha-gtk-theme/package.nix +++ b/pkgs/by-name/ma/matcha-gtk-theme/package.nix @@ -28,7 +28,7 @@ lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] col src = fetchFromGitHub { owner = "vinceliuice"; - repo = pname; + repo = "matcha-gtk-theme"; rev = version; sha256 = "sha256-vPAGEa3anWAynEg2AYme4qpHJdLDKk2CmL5iQ1mBYgM="; }; @@ -60,8 +60,8 @@ lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] col ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \ --dest $out/share/themes - mkdir -p $out/share/doc/${pname} - cp -a src/extra/firefox $out/share/doc/${pname} + mkdir -p $out/share/doc/matcha-gtk-theme + cp -a src/extra/firefox $out/share/doc/matcha-gtk-theme jdupes --quiet --link-soft --recurse $out/share diff --git a/pkgs/by-name/ma/matrix-continuwuity/package.nix b/pkgs/by-name/ma/matrix-continuwuity/package.nix index 8ace6e4d0edf..67427c3ad2aa 100644 --- a/pkgs/by-name/ma/matrix-continuwuity/package.nix +++ b/pkgs/by-name/ma/matrix-continuwuity/package.nix @@ -31,18 +31,18 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "matrix-continuwuity"; - version = "0.5.0-rc.5"; + version = "0.5.0-rc.6"; src = fetchFromGitea { domain = "forgejo.ellis.link"; owner = "continuwuation"; repo = "continuwuity"; tag = "v${finalAttrs.version}"; - hash = "sha256-Oq2scBu3Ewao828BT1QGffqIqF5WoH9HMXEXKg1YU0o="; + hash = "sha256-xK/jTURQzFJ1FkF1E9cItTxXAgXgTwAiA9/8aE51FvU="; }; useFetchCargoVendor = true; - cargoHash = "sha256-bjjGR3++CaDEtlsQj9GgdViCEB5l72sI868uTFBtIwg="; + cargoHash = "sha256-+7k1dtrXdonFDXa2Z/qVo4n1hZRmMWEQKKlffki8+/k="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ma/mautrix-discord/package.nix b/pkgs/by-name/ma/mautrix-discord/package.nix index 79d75916b882..a8aa797982e2 100644 --- a/pkgs/by-name/ma/mautrix-discord/package.nix +++ b/pkgs/by-name/ma/mautrix-discord/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "mautrix-discord"; - version = "0.7.3"; + version = "0.7.4"; src = fetchFromGitHub { owner = "mautrix"; repo = "discord"; rev = "v${version}"; - hash = "sha256-q6FpeGWoeIVVeomKMHpXUntMWsMJMV73FDiBfbMQ6Oc="; + hash = "sha256-ygnFZ1I8sPgpKwLK+Zr6ZUStGAH2egVDxS/pXmRqXYI="; }; - vendorHash = "sha256-6R5ryzjAAAI3YtTMlHjrLOXkid2kCe8+ZICnNUjtxaQ="; + vendorHash = "sha256-S3MWJi77TXs7gjPt6O2ruSIUHpsrLPIHQz3rQam1Wsg="; ldflags = [ "-s" diff --git a/pkgs/by-name/ma/mautrix-gmessages/package.nix b/pkgs/by-name/ma/mautrix-gmessages/package.nix index ddbd96cbabcb..48e41c595bbf 100644 --- a/pkgs/by-name/ma/mautrix-gmessages/package.nix +++ b/pkgs/by-name/ma/mautrix-gmessages/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "mautrix-gmessages"; - version = "0.6.2"; + version = "0.6.3"; src = fetchFromGitHub { owner = "mautrix"; repo = "gmessages"; tag = "v${version}"; - hash = "sha256-NzLHCVJaYl8q5meKZDy8St8J9c8oyASLLrXhWG7K+yw="; + hash = "sha256-s6d0fUH0md4oHWDGFDRR3SKbJBCH6qJIk4En6J53yIM="; }; - vendorHash = "sha256-+aX0r7IvsjXwmz5d6X0yzhG28mBYKvyDGoCbKMwkvk8="; + vendorHash = "sha256-d6UVKu9Al445JqwhPXSlQDs0hOTom56p+hVZN2C4S0M="; ldflags = [ "-s" diff --git a/pkgs/by-name/ma/mautrix-meta/package.nix b/pkgs/by-name/ma/mautrix-meta/package.nix index dc6153bab418..9ac48728885e 100644 --- a/pkgs/by-name/ma/mautrix-meta/package.nix +++ b/pkgs/by-name/ma/mautrix-meta/package.nix @@ -15,7 +15,7 @@ buildGoModule rec { pname = "mautrix-meta"; - version = "0.4.6"; + version = "0.5.0"; subPackages = [ "cmd/mautrix-meta" ]; @@ -23,13 +23,13 @@ buildGoModule rec { owner = "mautrix"; repo = "meta"; rev = "v${version}"; - hash = "sha256-FRK32NBtAro/+StacBa/jMg31xkxOKx791RBmuG61z8="; + hash = "sha256-SM57PLfRVEKspqnAZz1XES6ba9Puuzvx8XZwAWKVRmw="; }; buildInputs = lib.optional (!withGoolm) olm; tags = lib.optional withGoolm "goolm"; - vendorHash = "sha256-nFxWPMNV0La21W03WNDZNktcHYLFVzPY/SkAyp0AVxs="; + vendorHash = "sha256-+gQPlI9DHuY01JlUnEaYctOs+2XFAkw+X9SkvH0xlbc="; passthru = { tests = { diff --git a/pkgs/by-name/mc/mcp-grafana/package.nix b/pkgs/by-name/mc/mcp-grafana/package.nix index 8c484ab118f1..34d43a071955 100644 --- a/pkgs/by-name/mc/mcp-grafana/package.nix +++ b/pkgs/by-name/mc/mcp-grafana/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "mcp-grafana"; - version = "0.4.2"; + version = "0.5.0"; src = fetchFromGitHub { owner = "grafana"; repo = "mcp-grafana"; tag = "v${finalAttrs.version}"; - hash = "sha256-3w6xnDAcuDMZPr6lGGh0FpcyG2fRpkeVcJlZMdszu/g="; + hash = "sha256-oFtih2X3ZXKeo0xP8PBafu9HXgzcLUkLCeHm47qZhNA="; }; - vendorHash = "sha256-61nn/p6Un+uHuPK4hipJ3A2DhAEqpWTGefM8ENAOP1E="; + vendorHash = "sha256-AVU1HE3RlEjkL0xO6j/Mii0B9BtUSdALUvSphCTwjrc="; ldflags = [ "-s" diff --git a/pkgs/by-name/me/mediawriter/package.nix b/pkgs/by-name/me/mediawriter/package.nix index 4fd9019fc85b..a123c3dcbd05 100644 --- a/pkgs/by-name/me/mediawriter/package.nix +++ b/pkgs/by-name/me/mediawriter/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "mediawriter"; - version = "5.2.5"; + version = "5.2.6"; src = fetchFromGitHub { owner = "FedoraQt"; repo = "MediaWriter"; tag = version; - hash = "sha256-acKLKnAXTp1w8+pPVXO2gCi3GELEi3skYCYN13QjWyY="; + hash = "sha256-3O+b55H2/qbr8RrHNGz8dPQTt+ecVHtUWSDa24l2Dwc="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/me/memray/package.nix b/pkgs/by-name/me/memray/package.nix index d83af50e5201..b61b29333731 100644 --- a/pkgs/by-name/me/memray/package.nix +++ b/pkgs/by-name/me/memray/package.nix @@ -44,7 +44,7 @@ python3Packages.buildPythonApplication rec { with python3Packages; [ ipython - pytest-cov # fix Unknown pytest.mark.no_cover + pytest-cov-stub # fix Unknown pytest.mark.no_cover pytest-textual-snapshot pytestCheckHook ] diff --git a/pkgs/by-name/me/meowlnir/package.nix b/pkgs/by-name/me/meowlnir/package.nix index 6c9fda7e91ba..14b662d2dc2a 100644 --- a/pkgs/by-name/me/meowlnir/package.nix +++ b/pkgs/by-name/me/meowlnir/package.nix @@ -9,18 +9,18 @@ buildGoModule rec { pname = "meowlnir"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "maunium"; repo = "meowlnir"; tag = "v${version}"; - hash = "sha256-1YuSXKRiMUCRbxGIDOQKGKK7CxM3VD0LLEeULQJ/zRo="; + hash = "sha256-TKt6uwj3RdhSEjGnWmYybJFaQ82qf3tXY4PPUAm6juQ="; }; buildInputs = [ olm ]; - vendorHash = "sha256-g0be4ftBRV6Ver1kULfhnVBAF+iL3+/4e25sozpJ7+s="; + vendorHash = "sha256-rFk4QUAI/Brclt/X/T7O0T6v2dTxpqbNLtoi0twYliw="; doCheck = true; doInstallCheck = true; diff --git a/pkgs/by-name/mi/microsocks/package.nix b/pkgs/by-name/mi/microsocks/package.nix index 8cd33c602e02..1f935426dd4b 100644 --- a/pkgs/by-name/mi/microsocks/package.nix +++ b/pkgs/by-name/mi/microsocks/package.nix @@ -2,6 +2,7 @@ stdenv, fetchFromGitHub, lib, + nix-update-script, }: stdenv.mkDerivation rec { @@ -23,6 +24,8 @@ stdenv.mkDerivation rec { runHook postInstall ''; + passthru.updateScript = nix-update-script { }; + meta = { changelog = "https://github.com/rofl0r/microsocks/releases/tag/v${version}"; description = "Tiny, portable SOCKS5 server with very moderate resource usage"; diff --git a/pkgs/by-name/mi/mihomo-party/package.nix b/pkgs/by-name/mi/mihomo-party/package.nix index 1b907b9473df..b1b410d023ae 100644 --- a/pkgs/by-name/mi/mihomo-party/package.nix +++ b/pkgs/by-name/mi/mihomo-party/package.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "mihomo-party"; - version = "1.7.5"; + version = "1.7.6"; src = let @@ -31,8 +31,8 @@ stdenv.mkDerivation (finalAttrs: { fetchurl { url = "https://github.com/mihomo-party-org/mihomo-party/releases/download/v${finalAttrs.version}/mihomo-party-linux-${finalAttrs.version}-${arch}.deb"; hash = selectSystem { - x86_64-linux = "sha256-Kw7VDyJ07DeinAzsilJU0vBhDLViB8zlpIA+mAPpp2M="; - aarch64-linux = "sha256-OljIM8BI8umkRB1wUqcwQ/H1i1FhYtQ4d5cXMi/Lt9E="; + x86_64-linux = "sha256-83RajPreGieOYBAkoR6FsFREnOGDDuMK6+Qg+R/koac="; + aarch64-linux = "sha256-oWOXLUYWRKRgPtNv9ZvM1ODd44dhymVTKHJBK/xxOOs="; }; }; diff --git a/pkgs/by-name/mi/mitra/package.nix b/pkgs/by-name/mi/mitra/package.nix index 1a51c6ee0057..5192212c7efe 100644 --- a/pkgs/by-name/mi/mitra/package.nix +++ b/pkgs/by-name/mi/mitra/package.nix @@ -6,18 +6,18 @@ rustPlatform.buildRustPackage rec { pname = "mitra"; - version = "4.4.0"; + version = "4.5.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "silverpill"; repo = "mitra"; rev = "v${version}"; - hash = "sha256-ZonEMbafZWfURW7WKUAVmDq7bvi7oXBpKVudbrTF6eE="; + hash = "sha256-y77wLGmSJbGmqUXURjqp6Gz9+xpMvnUEcB9OZ4uF3M8="; }; useFetchCargoVendor = true; - cargoHash = "sha256-n96B51fVkJcBDwcbYHNP6ZWWdU8fu0a0Y72IVbNAAMQ="; + cargoHash = "sha256-sfPnhB1GWIG8tA6Jqr1+03qxwS1DBbRAv4ZY+wKB/jY="; # require running database doCheck = false; diff --git a/pkgs/by-name/ml/mlxbf-bootctl/package.nix b/pkgs/by-name/ml/mlxbf-bootctl/package.nix index 624c510eef39..8db85e010dd5 100644 --- a/pkgs/by-name/ml/mlxbf-bootctl/package.nix +++ b/pkgs/by-name/ml/mlxbf-bootctl/package.nix @@ -10,8 +10,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "Mellanox"; - repo = pname; - rev = "${pname}-${version}"; + repo = "mlxbf-bootctl"; + rev = "mlxbf-bootctl-${version}"; hash = "sha256-F49ZZtty+NARXA/doAFLhsQn4XkPW6GWLXGy4waIaM0="; }; diff --git a/pkgs/by-name/mo/mojave-gtk-theme/package.nix b/pkgs/by-name/mo/mojave-gtk-theme/package.nix index 8cf39693599f..b483b58f762c 100644 --- a/pkgs/by-name/mo/mojave-gtk-theme/package.nix +++ b/pkgs/by-name/mo/mojave-gtk-theme/package.nix @@ -27,14 +27,14 @@ let main_src = fetchFromGitHub { owner = "vinceliuice"; - repo = pname; + repo = "mojave-gtk-theme"; rev = version; hash = "sha256-uL4lO6aWiDfOQkhpTnr/iVx1fI7n/fx7WYr5jDWPfYM="; }; wallpapers_src = fetchFromGitHub { owner = "vinceliuice"; - repo = pname; + repo = "mojave-gtk-theme"; rev = "1dc23c2b45d7e073e080cfb02f43aab0e59b6b2c"; hash = "sha256-nkw8gXYx8fN1yn0A5M2fWwOvfUQ6izynxRw5JA61InM="; name = "wallpapers"; diff --git a/pkgs/by-name/mp/mpris-discord-rpc/package.nix b/pkgs/by-name/mp/mpris-discord-rpc/package.nix new file mode 100644 index 000000000000..8a613bb35d3f --- /dev/null +++ b/pkgs/by-name/mp/mpris-discord-rpc/package.nix @@ -0,0 +1,47 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + dbus, + openssl, + stdenv, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "mpris-discord-rpc"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "patryk-ku"; + repo = "mpris-discord-rpc"; + tag = "v${finalAttrs.version}"; + hash = "sha256-szftij29YTLzqBNirvoTgZfPIRznM1Ax5MPTKqB1nYI="; + }; + + cargoHash = "sha256-/QYeNcmkW6cm1VJkzJfVGvZU79wGswhKUFYc54oQbGw="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + dbus + openssl + ]; + + postInstall = '' + mkdir --parents $out/etc/systemd/user + substitute $src/mpris-discord-rpc.service $out/etc/systemd/user/mpris-discord-rpc.service \ + --replace-fail /usr/bin/mpris-discord-rpc $out/bin/mpris-discord-rpc + ''; + + meta = { + description = "Linux Discord rich presence for music, using MPRIS with album cover and progress bar support"; + homepage = "https://github.com/patryk-ku/mpris-discord-rpc"; + changelog = "https://github.com/patryk-ku/mpris-discord-rpc/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.lukaswrz ]; + mainProgram = "mpris-discord-rpc"; + }; +}) diff --git a/pkgs/by-name/mu/mumps/package.nix b/pkgs/by-name/mu/mumps/package.nix index fb2fbc92ccd3..9d613b4b057d 100644 --- a/pkgs/by-name/mu/mumps/package.nix +++ b/pkgs/by-name/mu/mumps/package.nix @@ -1,19 +1,21 @@ { - blas, - fetchzip, - gfortran, - lapack, lib, + stdenv, + fetchzip, + mpi, + gfortran, + fixDarwinDylibNames, + blas, + lapack, + scalapack, + scotch, metis, parmetis, - withParmetis ? false, # default to false due to unfree license - scotch, - withPtScotch ? mpiSupport, - stdenv, - fixDarwinDylibNames, - mpiSupport ? false, mpiCheckPhaseHook, - scalapack, + static ? stdenv.hostPlatform.isStatic, + mpiSupport ? false, + withParmetis ? false, # default to false due to unfree license + withPtScotch ? mpiSupport, }: assert withParmetis -> mpiSupport; assert withPtScotch -> mpiSupport; @@ -46,14 +48,16 @@ let in stdenv.mkDerivation (finalAttrs: { name = "mumps"; - version = "5.7.3"; + version = "5.8.0"; # makeFlags contain space and one should use makeFlagsArray+ # Setting this magic var is an optional solution __structuredAttrs = true; + strictDeps = true; + src = fetchzip { url = "https://mumps-solver.org/MUMPS_${finalAttrs.version}.tar.gz"; - hash = "sha256-ZnIfAuvOBJDYqCtKGlWs0r39nG6X2lAVRuUmeIJenZw="; + hash = "sha256-opJW7+Z/YhyUFwYTTTuWZuykz8Z4do6/XTBThHyTVCs="; }; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -74,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: { "LIBEXT_SHARED=.dylib" ] ++ [ - "ISCOTCH=-I${scotch.dev}/include" + "ISCOTCH=-I${lib.getDev scotch}/include" "LMETIS=${LMETIS}" "LSCOTCH=${LSCOTCH}" "ORDERINGSF=${ORDERINGSF}" @@ -82,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: { "OPTC=-O3" "OPTL=-O3" "SCALAP=-lscalapack" - "allshared" + "${if static then "all" else "allshared"}" ]; installPhase = @@ -98,9 +102,12 @@ stdenv.mkDerivation (finalAttrs: { ln -s $out/include/mumps_seq/mpi.h $out/include/mumps_mpi.h ''; - nativeBuildInputs = [ - gfortran - ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = + [ + gfortran + ] + ++ lib.optional mpiSupport mpi + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; # Parmetis should be placed before scotch to avoid conflict of header file "parmetis.h" buildInputs = @@ -114,9 +121,12 @@ stdenv.mkDerivation (finalAttrs: { ]; doInstallCheck = true; + nativeInstallCheckInputs = lib.optional mpiSupport mpiCheckPhaseHook; + installCheckPhase = '' runHook preInstallCheck + ${lib.optionalString stdenv.hostPlatform.isDarwin "export DYLD_LIBRARY_PATH=$out/lib\n"} ${lib.optionalString mpiSupport "export MPIRUN='mpirun -n 2'\n"} cd examples @@ -131,6 +141,7 @@ stdenv.mkDerivation (finalAttrs: { $MPIRUN ./csimpletest_save_restore +Date: Wed, 11 Jun 2025 10:41:42 -0700 +Subject: [PATCH] setup.py: remove self-reference and DEVELOPER_MODE + +Signed-off-by: Philip Taron +--- + setup.py | 33 ++------------------------------- + 1 file changed, 2 insertions(+), 31 deletions(-) + +diff --git a/setup.py b/setup.py +index 00f6e9b120525d63fbc17949b2804785f1286118..b5582bcc366148d9c0a442abade65a6127ef2d3c 100755 +--- a/setup.py ++++ b/setup.py +@@ -26,15 +26,7 @@ from setuptools.command.test import test as TestCommand + + faulthandler.enable() + +-basedir = os.path.abspath(os.path.dirname(sys.argv[0])) +-DEVELOPER_MODE = os.path.exists(os.path.join(basedir, 'MANIFEST.in')) +-if DEVELOPER_MODE: +- print('MANIFEST.in exists, running in developer mode') +- +-# Add S3QL sources +-sys.path.insert(0, os.path.join(basedir, 'src')) +-sys.path.insert(0, os.path.join(basedir, 'util')) +-import s3ql ++basedir = "/build/source" + + + class pytest(TestCommand): +@@ -52,27 +44,6 @@ def main(): + + compile_args = ['-Wall', '-Wextra', '-Wconversion', '-Wsign-compare'] + +- # Enable all fatal warnings only when compiling from Mercurial tip. +- # (otherwise we break forward compatibility because compilation with newer +- # compiler may fail if additional warnings are added) +- if DEVELOPER_MODE: +- if os.environ.get('CI') != 'true': +- compile_args.append('-Werror') +- +- # Value-changing conversions should always be explicit. +- compile_args.append('-Werror=conversion') +- +- # Note that (i > -1) is false if i is unsigned (-1 will be converted to +- # a large positive value). We certainly don't want to do this by +- # accident. +- compile_args.append('-Werror=sign-compare') +- +- # These warnings have always been harmless, and have always been due to +- # issues in Cython code rather than S3QL. Cython itself warns if there +- # are unused variables in .pyx code. +- compile_args.append('-Wno-unused-parameter') +- compile_args.append('-Wno-unused-function') +- + required_pkgs = [ + 'apsw >= 3.42.0', # https://github.com/rogerbinns/apsw/issues/459 + 'cryptography', +@@ -88,7 +59,7 @@ def main(): + setuptools.setup( + name='s3ql', + zip_safe=False, +- version=s3ql.VERSION, ++ version="@version@", + description='a full-featured file system for online data storage', + long_description=long_desc, + author='Nikolaus Rath', diff --git a/pkgs/by-name/s3/s3ql/package.nix b/pkgs/by-name/s3/s3ql/package.nix index d652ba0e870b..cba39b690980 100644 --- a/pkgs/by-name/s3/s3ql/package.nix +++ b/pkgs/by-name/s3/s3ql/package.nix @@ -2,28 +2,56 @@ lib, fetchFromGitHub, python3, + replaceVars, sqlite, which, nix-update-script, + writableTmpDirAsHomeHook, }: -python3.pkgs.buildPythonApplication rec { +let + inherit (python3.pkgs) + buildPythonApplication + setuptools + cython + apsw + cryptography + defusedxml + google-auth + google-auth-oauthlib + pyfuse3 + requests + trio + pytest-trio + pytestCheckHook + python + ; +in + +buildPythonApplication rec { pname = "s3ql"; - version = "5.2.3"; + version = "5.3.0"; pyproject = true; src = fetchFromGitHub { owner = "s3ql"; repo = "s3ql"; tag = "s3ql-${version}"; - hash = "sha256-hNqKLpJd0vj96Jx4YnqYsPLq/iTbvmtvjyLrYozaxpk="; + hash = "sha256-SVB+VB508hGXvdHZo5lt09yssjjwHS1tsDU8M4j+swc="; }; - build-system = with python3.pkgs; [ setuptools ]; + patches = [ + (replaceVars ./0001-setup.py-remove-self-reference.patch { inherit version; }) + ]; - nativeBuildInputs = [ which ] ++ (with python3.pkgs; [ cython ]); + build-system = [ setuptools ]; - propagatedBuildInputs = with python3.pkgs; [ + nativeBuildInputs = [ + which + cython + ]; + + dependencies = [ apsw cryptography defusedxml @@ -35,23 +63,23 @@ python3.pkgs.buildPythonApplication rec { trio ]; - nativeCheckInputs = with python3.pkgs; [ + nativeCheckInputs = [ pytest-trio pytestCheckHook + writableTmpDirAsHomeHook ]; preBuild = '' - ${python3.pkgs.python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace - ''; - - preCheck = '' - export HOME=$(mktemp -d) + ${python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace ''; pythonImportsCheck = [ "s3ql" ]; enabledTestPaths = [ "tests/" ]; + # SSL EOF error doesn't match connection reset error. Seems fine. + disabledTests = [ "test_aborted_write2" ]; + passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex" diff --git a/pkgs/by-name/sc/scala-next/package.nix b/pkgs/by-name/sc/scala-next/package.nix index ce1a42e76f88..8ddd38f28586 100644 --- a/pkgs/by-name/sc/scala-next/package.nix +++ b/pkgs/by-name/sc/scala-next/package.nix @@ -1,10 +1,10 @@ { scala, fetchurl }: scala.bare.overrideAttrs (oldAttrs: { - version = "3.7.0"; + version = "3.7.1"; pname = "scala-next"; src = fetchurl { inherit (oldAttrs.src) url; - hash = "sha256-T2zGqv2XSjdA3t0FaJvldcthgpgRrMTyiRznlgQOmBE="; + hash = "sha256-XIeG4T7TXPVAEMteD0BSWrAv7V1f7xrkLpbdpHFuWAw="; }; }) diff --git a/pkgs/by-name/sc/scenic-view/package.nix b/pkgs/by-name/sc/scenic-view/package.nix index 1f0b215fcf93..4a2d5bf17e3b 100644 --- a/pkgs/by-name/sc/scenic-view/package.nix +++ b/pkgs/by-name/sc/scenic-view/package.nix @@ -21,7 +21,7 @@ let src = fetchFromGitHub { owner = "JonathanGiles"; - repo = pname; + repo = "scenic-view"; rev = version; sha256 = "1idfh9hxqs4fchr6gvhblhvjqk4mpl4rnpi84vn1l3yb700z7dwy"; }; @@ -29,9 +29,9 @@ let gradle = gradle_7; desktopItem = makeDesktopItem { - name = pname; - desktopName = pname; - exec = pname; + name = "scenic-view"; + desktopName = "scenic-view"; + exec = "scenic-view"; comment = "JavaFx application to visualize and modify the scenegraph of running JavaFx applications."; mimeTypes = [ "application/java" @@ -61,9 +61,9 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall - mkdir -p $out/bin $out/share/${pname} - cp build/libs/scenicview.jar $out/share/${pname}/${pname}.jar - makeWrapper ${jdk}/bin/java $out/bin/${pname} --add-flags "-jar $out/share/${pname}/${pname}.jar" + mkdir -p $out/bin $out/share/scenic-view + cp build/libs/scenicview.jar $out/share/scenic-view/scenic-view.jar + makeWrapper ${jdk}/bin/java $out/bin/scenic-view --add-flags "-jar $out/share/scenic-view/scenic-view.jar" runHook postInstall ''; diff --git a/pkgs/by-name/sd/SDL_image/package.nix b/pkgs/by-name/sd/SDL_image/package.nix index 658438678bed..a2311c7bbf65 100644 --- a/pkgs/by-name/sd/SDL_image/package.nix +++ b/pkgs/by-name/sd/SDL_image/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "SDL_image"; - version = "1.2.12-unstable-2025-04-27"; + version = "1.2.12-unstable-2025-06-15"; src = fetchFromGitHub { owner = "libsdl-org"; repo = "SDL_image"; - rev = "a5eac02dacd8a8940ffccd1b8d0783c0b5f8ec7d"; - hash = "sha256-vrV12fYGSh/vtCktsUVNvcRCn5lZ2tyBYwqhLPgNdhw="; + rev = "bb266d29e19493fa48bda9bbc56c26363099372f"; + hash = "sha256-I8TqZX3249/bcZtfwrJd545E5h9d9HmRy8GGDH9S+kU="; }; configureFlags = [ diff --git a/pkgs/by-name/se/servarr-ffmpeg/package.nix b/pkgs/by-name/se/servarr-ffmpeg/package.nix index ecc496b163d9..197e817f393e 100644 --- a/pkgs/by-name/se/servarr-ffmpeg/package.nix +++ b/pkgs/by-name/se/servarr-ffmpeg/package.nix @@ -104,7 +104,7 @@ in doCheck = false; meta = { - inherit (old.meta) license; + inherit (old.meta) license pkgConfigModules; mainProgram = "ffprobe"; description = "${old.meta.description} (Servarr fork)"; homepage = "https://github.com/Servarr/FFmpeg"; diff --git a/pkgs/by-name/si/sierra-gtk-theme/package.nix b/pkgs/by-name/si/sierra-gtk-theme/package.nix index 97183f760251..987a18a8d33e 100644 --- a/pkgs/by-name/si/sierra-gtk-theme/package.nix +++ b/pkgs/by-name/si/sierra-gtk-theme/package.nix @@ -37,7 +37,7 @@ lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVaria src = fetchFromGitHub { owner = "vinceliuice"; - repo = pname; + repo = "sierra-gtk-theme"; rev = "05899001c4fc2fec87c4d222cb3997c414e0affd"; sha256 = "174l5mryc34ma1r42pk6572c6i9hmzr9vj1a6w06nqz5qcfm1hds"; }; diff --git a/pkgs/by-name/si/sing-geoip/package.nix b/pkgs/by-name/si/sing-geoip/package.nix index 8695ccf55447..42992cf1b9cd 100644 --- a/pkgs/by-name/si/sing-geoip/package.nix +++ b/pkgs/by-name/si/sing-geoip/package.nix @@ -13,7 +13,7 @@ let src = fetchFromGitHub { owner = "SagerNet"; - repo = pname; + repo = "sing-geoip"; rev = "refs/tags/${version}"; hash = "sha256-nIrbiECK25GyuPEFqMvPdZUShC2JC1NI60Y10SsoWyY="; }; diff --git a/pkgs/by-name/si/singular/package.nix b/pkgs/by-name/si/singular/package.nix index c71f933edc66..d16b427c282a 100644 --- a/pkgs/by-name/si/singular/package.nix +++ b/pkgs/by-name/si/singular/package.nix @@ -1,6 +1,7 @@ { stdenv, fetchFromGitHub, + fetchpatch, gmp, bison, perl, @@ -70,6 +71,18 @@ stdenv.mkDerivation rec { patchShebangs . ''; + # Use fq_nmod_mat_entry instead of row pointer (removed in flint 3.3.0) + patches = [ + (fetchpatch { + url = "https://github.com/Singular/Singular/commit/05f5116e13c8a4f5f820c78c35944dd6d197d442.patch"; + hash = "sha256-4l7JaCCFzE+xINU+E92eBN5CJKIdtQHly4Ed3ZwbKTA="; + }) + (fetchpatch { + url = "https://github.com/Singular/Singular/commit/595d7167e6e019d45d9a4f1e18ae741df1f3c41d.patch"; + hash = "sha256-hpTZy/eAiHAaleasWPAenxM35aqeNAZ//o6OqqdGOJ4="; + }) + ]; + # For reference (last checked on commit 75f460d): # https://github.com/Singular/Singular/blob/spielwiese/doc/Building-Singular-from-source.md # https://github.com/Singular/Singular/blob/spielwiese/doc/external-packages-dynamic-modules.md diff --git a/pkgs/by-name/so/solaar/package.nix b/pkgs/by-name/so/solaar/package.nix index 56a176b95886..f9f2348cfe33 100644 --- a/pkgs/by-name/so/solaar/package.nix +++ b/pkgs/by-name/so/solaar/package.nix @@ -58,7 +58,7 @@ python3Packages.buildPythonApplication rec { nativeCheckInputs = with python3Packages; [ pytestCheckHook pytest-mock - pytest-cov + pytest-cov-stub ]; # the -cli symlink is just to maintain compabilility with older versions where diff --git a/pkgs/by-name/so/soupault/package.nix b/pkgs/by-name/so/soupault/package.nix index cc3506ca0fbb..4038e0c79397 100644 --- a/pkgs/by-name/so/soupault/package.nix +++ b/pkgs/by-name/so/soupault/package.nix @@ -12,7 +12,7 @@ ocamlPackages.buildDunePackage rec { pname = "soupault"; - version = "5.0.0"; + version = "5.1.0"; minimalOCamlVersion = "4.13"; @@ -21,7 +21,7 @@ ocamlPackages.buildDunePackage rec { "https://github.com/PataphysicalSociety/soupault/archive/${version}.tar.gz" "https://codeberg.org/PataphysicalSociety/soupault/archive/${version}.tar.gz" ]; - hash = "sha256-patZn5z+ZT3dONdUojSvFgaVOmG1IpVGdehCUh2uRT8="; + hash = "sha256-yAkJgNwF763b2DFGA+4Ve+jafFxZbFDm3QxisDD6gYo="; }; nativeBuildInputs = diff --git a/pkgs/by-name/so/source-sans-pro/package.nix b/pkgs/by-name/so/source-sans-pro/package.nix index 645d984ae6e8..b31466ba924b 100644 --- a/pkgs/by-name/so/source-sans-pro/package.nix +++ b/pkgs/by-name/so/source-sans-pro/package.nix @@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { homepage = "https://adobe-fonts.github.io/source-sans/"; - description = "Sans serif font family for user interface environments"; + description = "Sans serif font family for user interface environments (version of Source Sans before being renamed)"; license = licenses.ofl; platforms = platforms.all; maintainers = with maintainers; [ ttuegel ]; diff --git a/pkgs/by-name/sp/spacebar/package.nix b/pkgs/by-name/sp/spacebar/package.nix index 535b8d5876d8..dec0ec5dc6ac 100644 --- a/pkgs/by-name/sp/spacebar/package.nix +++ b/pkgs/by-name/sp/spacebar/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "cmacrae"; - repo = pname; + repo = "spacebar"; rev = "v${version}"; sha256 = "sha256-4LiG43kPZtsm7SQ/28RaGMpYsDshCaGvc1mouPG3jFM="; }; diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/README.md b/pkgs/by-name/sw/switch-to-configuration-ng/README.md index c930d8fce97d..ae7003302d0b 100644 --- a/pkgs/by-name/sw/switch-to-configuration-ng/README.md +++ b/pkgs/by-name/sw/switch-to-configuration-ng/README.md @@ -1,6 +1,8 @@ # switch-to-configuration-ng -This program is a reimplementation of [switch-to-configuration](/nixos/modules/system/activation/switch-to-configuration.pl) in Rust. The goal is to be compatible in as many ways as possible to the original implementation, at least as long as the original is still in nixpkgs. Any behavioral modifications to this program should also be implemented in the original, and vice versa. +This program implements the switching/updating of NixOS systems. It starts with the exising running configuration at `/run/current-system` and handles the migration to a new configuration, built from a NixOS configuration's `config.system.build.toplevel` derivation. + +For more information on what happens during a switch, see [what-happens-during-a-system-switch](../../../../nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md). ## Build in a devshell diff --git a/pkgs/by-name/ta/tauno-monitor/package.nix b/pkgs/by-name/ta/tauno-monitor/package.nix index f3dd3945357b..c92b1e7d1b5c 100644 --- a/pkgs/by-name/ta/tauno-monitor/package.nix +++ b/pkgs/by-name/ta/tauno-monitor/package.nix @@ -13,14 +13,14 @@ }: python3Packages.buildPythonApplication rec { pname = "tauno-monitor"; - version = "0.1.28"; + version = "0.1.29"; pyproject = false; src = fetchFromGitHub { owner = "taunoe"; repo = "tauno-monitor"; tag = "v${version}"; - hash = "sha256-DxWB69bkDAe35ci/e18Dji0EpZvbz7Y5y+32ZchV/m8="; + hash = "sha256-U7vp0cPIRQeeuLGazoCQAnVQaKxDznC65bE31SwYU3A="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/tr/tracee/package.nix b/pkgs/by-name/tr/tracee/package.nix index 2fa919eb5c13..8d31cd035687 100644 --- a/pkgs/by-name/tr/tracee/package.nix +++ b/pkgs/by-name/tr/tracee/package.nix @@ -24,7 +24,7 @@ buildGoModule rec { # src = /home/tim/repos/tracee; src = fetchFromGitHub { owner = "aquasecurity"; - repo = pname; + repo = "tracee"; # project has branches and tags of the same name tag = "v${version}"; hash = "sha256-9uP0yoW+xRYv7wHuCfUMU8B2oTQjiSW5p/Ty76ni2wo="; diff --git a/pkgs/by-name/tu/turntable/package.nix b/pkgs/by-name/tu/turntable/package.nix new file mode 100644 index 000000000000..44066eaf0c13 --- /dev/null +++ b/pkgs/by-name/tu/turntable/package.nix @@ -0,0 +1,77 @@ +{ + lib, + stdenv, + fetchFromGitea, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, + libsoup_3, + json-glib, + libsecret, + glib-networking, + + # Per the upstream request. Key owned by Aleksana + lastfmKey ? "b5027c5178ca2abfcc31bd04397c3c0e", + lastfmSecret ? "8d375bdee925a2a35f241c04272bc862", +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "turntable"; + version = "0.3.3"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "GeopJr"; + repo = "Turntable"; + tag = "v${finalAttrs.version}"; + hash = "sha256-fBduW49eNOEzRVBb72zcB5arTjTiRUy8jE3sSMjPITE="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + wrapGAppsHook4 + desktop-file-utils + ]; + + buildInputs = [ + libadwaita + libsoup_3 + json-glib + libsecret + glib-networking + ]; + + mesonFlags = [ + (lib.mesonOption "lastfm_key" lastfmKey) + (lib.mesonOption "lastfm_secret" lastfmSecret) + ]; + + strictDeps = true; + + meta = { + description = "Scrobbles your music to multiple services with playback controls for MPRIS players"; + longDescription = '' + Keep track of your listening habits by scrobbling them + to last.fm, ListenBrainz, Libre.fm and Maloja at the + same time using your favorite music app's, favorite + music app! Turntable comes with a highly customizable + and sleek design that displays information about the + currently playing song and allows you to control your + music player, allowlist it for scrobbling and manage + your scrobbling accounts. All MPRIS-enabled apps are + supported. + ''; + homepage = "https://turntable.geopjr.dev"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ aleksana ]; + mainProgram = "dev.geopjr.Turntable"; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/un/unblob/package.nix b/pkgs/by-name/un/unblob/package.nix index f6228fdcedf6..c5393e37f379 100644 --- a/pkgs/by-name/un/unblob/package.nix +++ b/pkgs/by-name/un/unblob/package.nix @@ -116,7 +116,7 @@ python3.pkgs.buildPythonApplication rec { with python3.pkgs; [ pytestCheckHook - pytest-cov + pytest-cov # cannot use stub versionCheckHook ] ++ runtimeDeps; diff --git a/pkgs/by-name/up/upbound/sources-main.json b/pkgs/by-name/up/upbound/sources-main.json index 215a5d1af933..cbdbbe3b9af6 100644 --- a/pkgs/by-name/up/upbound/sources-main.json +++ b/pkgs/by-name/up/upbound/sources-main.json @@ -8,38 +8,38 @@ "fetchurlAttrSet": { "docker-credential-up": { "aarch64-darwin": { - "hash": "sha256-8VKSDsmuYu/GaKo4JybWEnd+gbW9ZSjEoNlZ7SEans0=", - "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/docker-credential-up/darwin_arm64.tar.gz" + "hash": "sha256-EPJXlxa4Vx7jzdX5/ekIer/EKTAFuqWBcAp4mYyS+JA=", + "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/darwin_arm64.tar.gz" }, "aarch64-linux": { - "hash": "sha256-WPllvTQJr5S6g2h9fe3qXKL/CH7XzADbNRoy+6rex6A=", - "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/docker-credential-up/linux_arm64.tar.gz" + "hash": "sha256-cM8F+Qyg34ypdIusI2jFOzoxM3B+tLRyvmqdeUSpz0c=", + "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/linux_arm64.tar.gz" }, "x86_64-darwin": { - "hash": "sha256-bdKjFgJuKbFQDX1dgz6y2Ue6cFnu4Dec+I7FX+fo/pA=", - "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/docker-credential-up/darwin_amd64.tar.gz" + "hash": "sha256-jvBe0GEDNMj3HlbMBFcwS1CA2y3QnDkYgv943GW0tLs=", + "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/darwin_amd64.tar.gz" }, "x86_64-linux": { - "hash": "sha256-ieP9uiRcgcYqYClB7vGdHF1IpjH61dXD8bqpPPy2Uik=", - "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/docker-credential-up/linux_amd64.tar.gz" + "hash": "sha256-c/tjuO3j+pYFlyGRAeA3jJLit4sZqreEzMa0LRxnTv0=", + "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/linux_amd64.tar.gz" } }, "up": { "aarch64-darwin": { - "hash": "sha256-YYsgNpNVnTp2bPIp9DD1l0YwHcEpMknu7RrIUQ5scCo=", - "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/up/darwin_arm64.tar.gz" + "hash": "sha256-ecNGveGSxYsKFGkAqWNkpr8RKquL1k+/8LsZBNEgWq8=", + "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/darwin_arm64.tar.gz" }, "aarch64-linux": { - "hash": "sha256-wone2UA+Z0wCISQ/PsfYdQqNkX5txVVEyx4a8JnLHXo=", - "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/up/linux_arm64.tar.gz" + "hash": "sha256-70c9eE+SewPICRPzIdOmAj503xB/cL5ud2sQc4uJkJQ=", + "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/linux_arm64.tar.gz" }, "x86_64-darwin": { - "hash": "sha256-hxLZGWq94eHro4G9VJY+FLoz6AHuhm1quP/bhTzBXhE=", - "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/up/darwin_amd64.tar.gz" + "hash": "sha256-DQZNsUYLM97zo7ua5xmxSqkxbC91qqLe49yI6X9ELbM=", + "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/darwin_amd64.tar.gz" }, "x86_64-linux": { - "hash": "sha256-GwAu6z6A4HUhc6vO6xiKZlITm5xiLas8zffuWnesji8=", - "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/up/linux_amd64.tar.gz" + "hash": "sha256-WmsFhA5fteS3+12wPAGym0TZHax+v3zicbh+48aaW0Q=", + "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/linux_amd64.tar.gz" } } }, @@ -49,5 +49,5 @@ "x86_64-darwin", "x86_64-linux" ], - "version": "0.39.0-8.gfb176095" + "version": "0.39.0-43.g3cca6045" } diff --git a/pkgs/by-name/va/vassal/package.nix b/pkgs/by-name/va/vassal/package.nix index aa409fef0f06..71ad88b050c2 100644 --- a/pkgs/by-name/va/vassal/package.nix +++ b/pkgs/by-name/va/vassal/package.nix @@ -6,6 +6,9 @@ jre, makeWrapper, wrapGAppsHook3, + makeDesktopItem, + copyDesktopItems, + versionCheckHook, }: stdenv.mkDerivation rec { @@ -24,6 +27,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper wrapGAppsHook3 + copyDesktopItems ]; installPhase = '' @@ -39,22 +43,43 @@ stdenv.mkDerivation rec { --add-flags "-Duser.dir=$out -cp $out/share/vassal/Vengine.jar \ VASSAL.launch.ModuleManager" + install -Dm444 -t "$out/share/icons/hicolor/scalable/apps/" VASSAL.svg + runHook postInstall ''; + desktopItems = [ + (makeDesktopItem { + name = "VASSAL"; + exec = "vassal"; + icon = "VASSAL"; + desktopName = "VASSAL"; + comment = "The open-source boardgame engine"; + categories = [ "Game" ]; + startupWMClass = "VASSAL-launch-ModuleManager"; + }) + ]; + # Don't move doc to share/, VASSAL expects it to be in the root forceShare = [ "man" "info" ]; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + versionCheckProgram = "${placeholder "out"}/bin/vassal"; + versionCheckProgramArg = "--version"; + meta = with lib; { description = "Free, open-source boardgame engine"; homepage = "https://vassalengine.org/"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.lgpl21Only; maintainers = with maintainers; [ tvestelind ]; - platforms = platforms.unix; + platforms = with lib.platforms; unix ++ windows; mainProgram = "vassal"; }; } diff --git a/pkgs/by-name/vi/vim-vint/package.nix b/pkgs/by-name/vi/vim-vint/package.nix index 52edbdf0d289..68ceeffa4d82 100644 --- a/pkgs/by-name/vi/vim-vint/package.nix +++ b/pkgs/by-name/vi/vim-vint/package.nix @@ -1,7 +1,7 @@ { lib, python3Packages, - fetchPypi, + fetchFromGitHub, }: with python3Packages; @@ -10,17 +10,19 @@ buildPythonApplication rec { pname = "vim-vint"; version = "0.3.21"; - src = fetchPypi { - inherit pname version; - sha256 = "15qdh8fby9xgfjxidcfv1xmrqqrxxapky7zmyn46qx1abhp9piax"; + src = fetchFromGitHub { + owner = "Vimjas"; + repo = "vint"; + tag = "v${version}"; + hash = "sha256-A0yXDkB/b9kEEXSoLeqVdmdm4p2PYL2QHqbF4FgAn30="; }; # For python 3.5 > version > 2.7 , a nested dependency (pythonPackages.hypothesis) fails. disabled = !pythonAtLeast "3.5"; nativeCheckInputs = [ - pytest - pytest-cov + pytestCheckHook + pytest-cov-stub ]; propagatedBuildInputs = [ ansicolor @@ -29,10 +31,13 @@ buildPythonApplication rec { setuptools ]; - # Unpin test dependency versions. This is fixed in master but not yet released. preCheck = '' - sed -i 's/==.*//g' test-requirements.txt - sed -i 's/mock == 1.0.1/mock/g' setup.py + substituteInPlace \ + test/acceptance/test_cli.py \ + test/acceptance/test_cli_vital.py \ + --replace-fail \ + "cmd = ['bin/vint'" \ + "cmd = ['$out/bin/vint'" ''; meta = with lib; { diff --git a/pkgs/by-name/vu/vulnix/package.nix b/pkgs/by-name/vu/vulnix/package.nix index 7ce9413457d8..a31a513a6402 100644 --- a/pkgs/by-name/vu/vulnix/package.nix +++ b/pkgs/by-name/vu/vulnix/package.nix @@ -28,8 +28,8 @@ python3Packages.buildPythonApplication rec { nativeCheckInputs = with python3Packages; [ freezegun - pytest - pytest-cov + pytestCheckHook + pytest-cov-stub ]; propagatedBuildInputs = @@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec { postBuild = "make -C doc"; - checkPhase = "py.test src/vulnix"; + pytestFlagsArray = [ "src/vulnix" ]; postInstall = '' install -D -t $doc/share/doc/vulnix README.rst CHANGES.rst diff --git a/pkgs/by-name/we/wealthfolio/package.nix b/pkgs/by-name/we/wealthfolio/package.nix index 57397f720158..7940cf360560 100644 --- a/pkgs/by-name/we/wealthfolio/package.nix +++ b/pkgs/by-name/we/wealthfolio/package.nix @@ -18,18 +18,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "wealthfolio"; - version = "1.1.3"; + version = "1.1.4"; src = fetchFromGitHub { owner = "afadil"; repo = "wealthfolio"; rev = "v${finalAttrs.version}"; - hash = "sha256-HxzLGo+Tu8r58q7agagapfb69yxmFOLJFqDTQVYhpUE="; + hash = "sha256-NO+cqpEUc1A7Gk0jW5ycHgggYq3hlzf5jJIUTNQD5vA="; }; pnpmDeps = pnpm_9.fetchDeps { inherit (finalAttrs) src pname version; - hash = "sha256-wKj1jy/TDi8Cckx9et2XzX3yPnmfXMDrqv9c4+Yyhu4="; + hash = "sha256-KupqObdNrnWbbt9C4NNmgmQCfJ2O4FjJBwGy6XQhhHg="; }; cargoRoot = "src-tauri"; @@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: { src cargoRoot ; - hash = "sha256-9qxbgVEOmSaOBL6Vo3ZufNyn9wfs/FI+Pz38BiS91S8="; + hash = "sha256-3f3b4aWUewolUI3kWpKSywvlf5WBBiewHbGK0uzdyXY="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/we/werf/package.nix b/pkgs/by-name/we/werf/package.nix index b22b2e1f65a9..8ddc80fe6dcc 100644 --- a/pkgs/by-name/we/werf/package.nix +++ b/pkgs/by-name/we/werf/package.nix @@ -10,17 +10,17 @@ }: buildGoModule (finalAttrs: { pname = "werf"; - version = "2.37.1"; + version = "2.38.0"; src = fetchFromGitHub { owner = "werf"; repo = "werf"; tag = "v${finalAttrs.version}"; - hash = "sha256-FIahppFWQx1UCR7mo3oiFT1SDOoySmqc7Fc2E5XMglY="; + hash = "sha256-cZUzkThVKgPc8bsxmDc2+gsq9YxVswokO1rORvKVIws="; }; proxyVendor = true; - vendorHash = "sha256-u/sG/UZt76Sr3Ckiv8Nn2JnMrVsAIlSWWTvs+Yfn6eU="; + vendorHash = "sha256-aQVDt6VDtQjHCkY2xcbmoKn+UUplJ+a6xfdwPSF/j9Y="; subPackages = [ "cmd/werf" ]; diff --git a/pkgs/by-name/zu/zulip-term/package.nix b/pkgs/by-name/zu/zulip-term/package.nix index d8e3da694844..3ce923be7dba 100644 --- a/pkgs/by-name/zu/zulip-term/package.nix +++ b/pkgs/by-name/zu/zulip-term/package.nix @@ -67,7 +67,7 @@ buildPythonApplication rec { ] ++ (with python3.pkgs; [ pytestCheckHook - pytest-cov + pytest-cov-stub pytest-mock ]); diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index 03564bc068f7..29a7e5f95194 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -56,9 +56,6 @@ (callPackages ../../../build-support/rust/hooks { inherit stdenv - cargo - rustc - callPackage ; }) cargoBuildHook diff --git a/pkgs/development/interpreters/lua-5/hooks/default.nix b/pkgs/development/interpreters/lua-5/hooks/default.nix index cdc44e344d62..9f7396f2a518 100644 --- a/pkgs/development/interpreters/lua-5/hooks/default.nix +++ b/pkgs/development/interpreters/lua-5/hooks/default.nix @@ -1,9 +1,7 @@ # Hooks for building lua packages. { lua, - lib, makeSetupHook, - runCommand, }: let @@ -21,11 +19,8 @@ in # luarocks installs data in a non-overridable location. Until a proper luarocks patch, # we move the files around ourselves - luarocksMoveDataFolder = callPackage ( - { }: - makeSetupHook { - name = "luarocks-move-rock"; - propagatedBuildInputs = [ ]; - } ./luarocks-move-data.sh - ) { }; + luarocksMoveDataFolder = makeSetupHook { + name = "luarocks-move-rock"; + propagatedBuildInputs = [ ]; + } ./luarocks-move-data.sh; } diff --git a/pkgs/development/interpreters/octave/hooks/default.nix b/pkgs/development/interpreters/octave/hooks/default.nix index 8e7acafd8489..633187654b6f 100644 --- a/pkgs/development/interpreters/octave/hooks/default.nix +++ b/pkgs/development/interpreters/octave/hooks/default.nix @@ -1,16 +1,10 @@ # Hooks for building Octave packages. { - octave, - lib, - callPackage, makeSetupHook, }: -rec { - writeRequiredOctavePackagesHook = callPackage ( - { }: - makeSetupHook { - name = "write-required-octave-packages-hook"; - } ./write-required-octave-packages-hook.sh - ) { }; +{ + writeRequiredOctavePackagesHook = makeSetupHook { + name = "write-required-octave-packages-hook"; + } ./write-required-octave-packages-hook.sh; } diff --git a/pkgs/development/libraries/flint/3.nix b/pkgs/development/libraries/flint/3.nix index 2c1b5fc9b3dc..e6566d706a27 100644 --- a/pkgs/development/libraries/flint/3.nix +++ b/pkgs/development/libraries/flint/3.nix @@ -22,11 +22,11 @@ assert stdenv.mkDerivation rec { pname = "flint3"; - version = "3.2.1"; + version = "3.3.1"; src = fetchurl { url = "https://flintlib.org/download/flint-${version}.tar.gz"; - hash = "sha256-ynvkbXeXInfrb+DE92dUhDL1a7U0qhfW26LXzOFc0j8="; + hash = "sha256-ZNcOUTB2z6lx4EELWMHaXTURKRPppWtE4saBtFnT6vs="; }; nativeBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/directories/default.nix b/pkgs/development/ocaml-modules/directories/default.nix index e90a1ce19222..158c890aec42 100644 --- a/pkgs/development/ocaml-modules/directories/default.nix +++ b/pkgs/development/ocaml-modules/directories/default.nix @@ -2,24 +2,28 @@ lib, fetchFromGitHub, buildDunePackage, + fpath, }: buildDunePackage rec { pname = "directories"; - version = "0.5"; - useDune2 = true; + version = "0.6"; - minimalOCamlVersion = "4.07"; + minimalOCamlVersion = "4.14"; src = fetchFromGitHub { - owner = "ocamlpro"; + owner = "OCamlPro"; repo = pname; - rev = version; - sha256 = "sha256-31CGhmmfOORJ1ewgp+IU+p1+f2kfX/W+lxK7EGU62vc="; + tag = version; + hash = "sha256-c/9ChiSODD1K7YsMj65tjErAwXeWvEQ8BkAcUvsr19c="; }; + propagatedBuildInputs = [ + fpath + ]; + meta = { - homepage = "https://github.com/ocamlpro/directories"; + homepage = "https://github.com/OCamlPro/directories"; description = "OCaml library that provides configuration, cache and data paths (and more!) following the suitable conventions on Linux, macOS and Windows"; longDescription = '' directories is an OCaml library that provides configuration, cache and @@ -31,6 +35,7 @@ buildDunePackage rec { xdg-user-dirs on Linux, Known Folders on Windows, Standard Directories on macOS. ''; + changelog = "https://raw.githubusercontent.com/OCamlPro/directories/refs/tags/${src.tag}/CHANGES.md"; license = lib.licenses.isc; maintainers = with lib.maintainers; [ bcc32 ]; }; diff --git a/pkgs/development/ocaml-modules/eigen/default.nix b/pkgs/development/ocaml-modules/eigen/default.nix index 73fd08fa6981..b861f555fca2 100644 --- a/pkgs/development/ocaml-modules/eigen/default.nix +++ b/pkgs/development/ocaml-modules/eigen/default.nix @@ -4,19 +4,18 @@ buildDunePackage, fetchFromGitHub, ctypes, + dune-configurator, }: buildDunePackage rec { pname = "eigen"; - version = "0.2.0"; - - useDune2 = true; + version = "0.3.3"; src = fetchFromGitHub { owner = "owlbarn"; repo = pname; - rev = version; - sha256 = "1zaw03as14hyvfpyj6bjrfbcxp2ljdbqcqqgm53kms244mig425f"; + tag = version; + hash = "sha256-8V4DQ+b2rzy58NTenK1BsJEJiJKYV6hIp2fJWqczHRY="; }; minimalOCamlVersion = "4.02"; @@ -25,11 +24,13 @@ buildDunePackage rec { propagatedBuildInputs = [ ctypes ]; - meta = with lib; { + buildInputs = [ dune-configurator ]; + + meta = { inherit (src.meta) homepage; description = "Minimal/incomplete Ocaml interface to Eigen3, mostly for Owl"; - platforms = platforms.x86_64; - maintainers = [ maintainers.bcdarwin ]; - license = licenses.mit; + platforms = lib.platforms.x86_64; + maintainers = with lib.maintainers; [ bcdarwin ]; + license = lib.licenses.mit; }; } diff --git a/pkgs/development/php-packages/relay/default.nix b/pkgs/development/php-packages/relay/default.nix index c4d7d4e2cea9..58dea5bab480 100644 --- a/pkgs/development/php-packages/relay/default.nix +++ b/pkgs/development/php-packages/relay/default.nix @@ -15,36 +15,36 @@ }: let - version = "0.10.1"; + version = "0.11.0"; hashes = { "aarch64-darwin" = { platform = "darwin-arm64"; hash = { - "8.1" = "sha256-0p24kOzj4l0wBPzmjAzTv1a0EUa4In1pjWHhNhrmsyM="; - "8.2" = "sha256-mgRjWEmtCFg7711RgC2lpSDs5cCcs+ZPqks/uj1mAJo="; - "8.3" = "16nESEzMRDIiVfwjXsGhJsK9UG5UKgfSunHPeyNnyz0="; - "8.4" = "sha256-g8H4vRb1XTnFQo2Db1qvzsENqPYg89/0HSxsW2tDLQQ="; - "8.5" = "6NAzMBqBV0BUI4/KlIbnyz0kcD/hucO4tzbuwPSptig="; + "8.1" = "sha256-/yaUulwiT+y7WZHPTdOWUgMsOnSwGrzMeVuT5W0XFsY="; + "8.2" = "sha256-AFisp5/LsCoVjHQ8VA9d4vUDPutYi26PzsPVton0Gjw="; + "8.3" = "dAJKUU5NED6QHFNrgRTLshkdT6ZtlRlcZh10rGQTON0="; + "8.4" = "sha256-cx2IcRRfD6PyQzZJaWgS4d5Mf70w0uJAwl9hTkr6cDo="; + "8.5" = "8ZfP++7jKcHdm89P+LOQj+ZsXbp2E3b3yuTQx6bOkmE="; }; }; "aarch64-linux" = { platform = "debian-aarch64+libssl3"; hash = { - "8.1" = "sha256-E6GDFgRgm5I1acqLYFs9kw3TAuHq5aq7TatLnPHJseA="; - "8.2" = "sha256-59Un0hAidN/Diu9utUnOgMIdt5ZtOcBFtWrLdHkdME4="; - "8.3" = "sha256-ssqZ85KrQG69fZ39RKceEJPXyGfxxLPI21tnPXtPZDE="; - "8.4" = "JhFUplu9zMgXX2k2RArWWf0pFweAV+1+/T3yUwblJ2A="; - "8.5" = "Ii2bsG4AMMwAKopyOz/qX1RxMaGcstO8kYgup8Vb50w="; + "8.1" = "sha256-VYIWr0PyEzP3HHpnLI1X8NC48Oz9VWi1D70y7xT0WMw="; + "8.2" = "sha256-wF4BiiSRro0R6OUpintAas6WSFuyWiUSVc4yHjBkFRo="; + "8.3" = "sha256-LvIaYShHy4S7McpRX4EoWXpfNSkg2TV587IGbLaeMfg="; + "8.4" = "56Yzuu4JWwnKPabxU0stuLjz3N4AHeRuHeLc8OsdfxU="; + "8.5" = "lcSpj+VgT0soIzN0NX3S9JDO/gHSugKfRL5C3oLvg2w="; }; }; "x86_64-linux" = { platform = "debian-x86-64+libssl3"; hash = { - "8.1" = "sha256-MmRAfRDcG1qV8FrZmhME3UtmXe7Mapk2vSrtE/fQRcE="; - "8.2" = "sha256-2ZRxJJhQaIkWQJX7bdti6+UFk7zY9yCJ9KWTtE3uGAE="; - "8.3" = "sha256-QlUk6q5LQuhWbuqWgb8/JdRfO8V+M6GcTu7rjRqJeiI="; - "8.4" = "V+tl7jTrq8PWEAXXu9IsqIlFiQcZBtMBDTlltWSO9CI="; - "8.5" = "w4Ba1Oh4JDsuZc5nrYH8lITP6Gk4/0i1wwOHmr4BO44="; + "8.1" = "sha256-0gdkrhG/YSl6tjhrQnpIxC6YQj+NJqte6UNDdPv5YvE="; + "8.2" = "sha256-8vQ3Le3ssgb0jTxY2vUmriAHSFJXFlZxcYHcTHFkXDc="; + "8.3" = "sha256-VqtIugl5LZgc/VB7lmXewV3SxagD9l2C966W24sz3Qo="; + "8.4" = "3LjLX+zSjsCmnSWq2xD6wfnHf1dCY/Dl5CXJ3A8DY6Y="; + "8.5" = "TaJQcmxs7baH1pMnSvAoZqPaTiSujFQu1VBTB6h3fA0="; }; }; }; diff --git a/pkgs/development/php-packages/xdebug/default.nix b/pkgs/development/php-packages/xdebug/default.nix index 00a3edc6c178..ccc7da3193c9 100644 --- a/pkgs/development/php-packages/xdebug/default.nix +++ b/pkgs/development/php-packages/xdebug/default.nix @@ -5,7 +5,7 @@ }: let - version = "3.4.3"; + version = "3.4.4"; in buildPecl { inherit version; @@ -16,7 +16,7 @@ buildPecl { owner = "xdebug"; repo = "xdebug"; rev = version; - hash = "sha256-B0sGUwCSKh/AZ9I4rwE22EitgkQWwWh4H+p8N02YAeY="; + hash = "sha256-IYyDolRfzIpIfaJPWLOKdZhGlG4TMR5v7p56fw76JOc="; }; doCheck = true; diff --git a/pkgs/development/python-modules/colcon-mixin/default.nix b/pkgs/development/python-modules/colcon-mixin/default.nix index b2821cda8e44..d5a7b7bdb4f0 100644 --- a/pkgs/development/python-modules/colcon-mixin/default.nix +++ b/pkgs/development/python-modules/colcon-mixin/default.nix @@ -3,7 +3,7 @@ buildPythonPackage, fetchFromGitHub, colcon, - pytest-cov, + pytest-cov-stub, pytestCheckHook, setuptools, scspell, @@ -29,7 +29,7 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ - pytest-cov + pytest-cov-stub pytestCheckHook scspell writableTmpDirAsHomeHook diff --git a/pkgs/development/python-modules/colcon-ros-domain-id-coordinator/default.nix b/pkgs/development/python-modules/colcon-ros-domain-id-coordinator/default.nix index cf3c58ee1142..84650e2d6352 100644 --- a/pkgs/development/python-modules/colcon-ros-domain-id-coordinator/default.nix +++ b/pkgs/development/python-modules/colcon-ros-domain-id-coordinator/default.nix @@ -4,7 +4,7 @@ colcon, fetchFromGitHub, pytestCheckHook, - pytest-cov, + pytest-cov-stub, pytest-repeat, pytest-rerunfailures, scspell, @@ -30,7 +30,7 @@ buildPythonPackage { nativeCheckInputs = [ pytestCheckHook - pytest-cov + pytest-cov-stub pytest-repeat pytest-rerunfailures scspell diff --git a/pkgs/development/python-modules/deltalake/default.nix b/pkgs/development/python-modules/deltalake/default.nix index 5318e09a17ac..8732a1b2aa1a 100644 --- a/pkgs/development/python-modules/deltalake/default.nix +++ b/pkgs/development/python-modules/deltalake/default.nix @@ -12,7 +12,7 @@ polars, pytestCheckHook, pytest-benchmark, - pytest-cov, + pytest-cov-stub, pytest-mock, pandas, azure-storage-blob, @@ -64,7 +64,7 @@ buildPythonPackage rec { pandas polars pytest-benchmark - pytest-cov + pytest-cov-stub pytest-mock azure-storage-blob ]; diff --git a/pkgs/development/python-modules/dramatiq-abort/default.nix b/pkgs/development/python-modules/dramatiq-abort/default.nix index 165a209f21ee..b4130f701bfe 100644 --- a/pkgs/development/python-modules/dramatiq-abort/default.nix +++ b/pkgs/development/python-modules/dramatiq-abort/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, gevent, pytestCheckHook, - pytest-cov, + pytest-cov-stub, dramatiq, redis, setuptools, @@ -37,7 +37,7 @@ buildPythonPackage rec { nativeCheckInputs = [ redis pytestCheckHook - pytest-cov + pytest-cov-stub ]; pythonImportsCheck = [ "dramatiq_abort" ]; diff --git a/pkgs/development/python-modules/falconpy/default.nix b/pkgs/development/python-modules/falconpy/default.nix index b018861f08cf..d45bbc0dded8 100644 --- a/pkgs/development/python-modules/falconpy/default.nix +++ b/pkgs/development/python-modules/falconpy/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "falconpy"; - version = "1.5.2"; + version = "1.5.3"; pyproject = true; src = fetchFromGitHub { owner = "CrowdStrike"; repo = "falconpy"; tag = "v${version}"; - hash = "sha256-neZ0V0OpX1GTchkLdE+hKMRl9jKnJ/OCtXY0q1eAxzA="; + hash = "sha256-yK6delBTDnK5cP8mWIQZRfZClRsM2IeqjqrqOjbrlnc="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/fastembed/default.nix b/pkgs/development/python-modules/fastembed/default.nix index 8349dc19f326..ea827ad40969 100644 --- a/pkgs/development/python-modules/fastembed/default.nix +++ b/pkgs/development/python-modules/fastembed/default.nix @@ -23,14 +23,14 @@ buildPythonPackage rec { pname = "fastembed"; - version = "0.7.0"; + version = "0.7.1"; pyproject = true; src = fetchFromGitHub { owner = "qdrant"; repo = "fastembed"; tag = "v${version}"; - hash = "sha256-CnUg6ZJ3VmKXbeWWsD0j4KTdUhqrgOP5PBnHtghugHQ="; + hash = "sha256-zftNBATvb9iCjEOWIg0Q8/1+VwQ1km/iob3TgOAfJbg="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/garth/default.nix b/pkgs/development/python-modules/garth/default.nix index ba78675bdc35..bb6ced542eb3 100644 --- a/pkgs/development/python-modules/garth/default.nix +++ b/pkgs/development/python-modules/garth/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "garth"; - version = "0.5.15"; + version = "0.5.16"; pyproject = true; disabled = pythonOlder "3.10"; src = fetchPypi { inherit pname version; - hash = "sha256-GAhgngt+MjvpsFc1irRKOTqlhVhyMgST7Z9GiaLBzgc="; + hash = "sha256-5ZmxL5JYHZB5sFrpaCF8vrCo45LAKVYfP/yfilmHprI="; }; pythonRelaxDeps = [ "requests-oauthlib" ]; diff --git a/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix b/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix index b3ea85b95c11..74c9bc3524ac 100644 --- a/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix +++ b/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "google-cloud-network-connectivity"; - version = "2.8.0"; + version = "2.8.1"; pyproject = true; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { src = fetchPypi { inherit version; pname = "google_cloud_network_connectivity"; - hash = "sha256-NHZII5BYlysvlPBxXSu9nN7uqh/Ly3dLtgEuTS9eQOw="; + hash = "sha256-U8czLn5ttFuJ2VynJ0R/fJlK9r0zC43qpP1aU8coorA="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/haystack-ai/default.nix b/pkgs/development/python-modules/haystack-ai/default.nix index 2c367cc70cb1..dec9d6684d27 100644 --- a/pkgs/development/python-modules/haystack-ai/default.nix +++ b/pkgs/development/python-modules/haystack-ai/default.nix @@ -42,7 +42,7 @@ pylint, pytest, pytest-asyncio, - pytest-cov-stub, + pytest-cov, # , pytest-custom-exit-code python-multipart, reno, @@ -167,7 +167,7 @@ buildPythonPackage rec { pylint pytest pytest-asyncio - pytest-cov-stub + pytest-cov # pytest-custom-exit-code python-multipart reno diff --git a/pkgs/development/python-modules/iocapture/default.nix b/pkgs/development/python-modules/iocapture/default.nix index 0e44cad6916b..715abd657b56 100644 --- a/pkgs/development/python-modules/iocapture/default.nix +++ b/pkgs/development/python-modules/iocapture/default.nix @@ -3,7 +3,7 @@ buildPythonPackage, fetchPypi, flexmock, - pytest, + pytestCheckHook, pytest-cov-stub, six, }: @@ -20,7 +20,7 @@ buildPythonPackage rec { nativeCheckInputs = [ flexmock - pytest + pytestCheckHook pytest-cov-stub six ]; diff --git a/pkgs/development/python-modules/langchain-perplexity/default.nix b/pkgs/development/python-modules/langchain-perplexity/default.nix index 22d471f80f47..acc783d3b46b 100644 --- a/pkgs/development/python-modules/langchain-perplexity/default.nix +++ b/pkgs/development/python-modules/langchain-perplexity/default.nix @@ -13,7 +13,7 @@ # tests langchain-tests, pytest-asyncio, - pytest-cov, + pytest-cov-stub, pytest-mock, pytestCheckHook, @@ -51,7 +51,7 @@ buildPythonPackage rec { nativeCheckInputs = [ langchain-tests pytest-asyncio - pytest-cov + pytest-cov-stub pytest-mock pytestCheckHook ]; diff --git a/pkgs/development/python-modules/nonbloat-db/default.nix b/pkgs/development/python-modules/nonbloat-db/default.nix index 7e3d3f9a70d2..b87e03a9604c 100644 --- a/pkgs/development/python-modules/nonbloat-db/default.nix +++ b/pkgs/development/python-modules/nonbloat-db/default.nix @@ -14,7 +14,7 @@ # tests pytestCheckHook, pytest-asyncio, - pytest-cov, + pytest-cov-stub, pytest-mock, pytest-randomly, faker, @@ -45,7 +45,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook pytest-asyncio - pytest-cov + pytest-cov-stub pytest-mock pytest-randomly faker diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix index 53eaa5ccbf35..0bf6b5162c0c 100644 --- a/pkgs/development/python-modules/openai/default.nix +++ b/pkgs/development/python-modules/openai/default.nix @@ -37,6 +37,7 @@ nest-asyncio, pytest-asyncio, pytest-mock, + pytest-xdist, respx, # optional-dependencies toggle @@ -46,7 +47,7 @@ buildPythonPackage rec { pname = "openai"; - version = "1.86.0"; + version = "1.87.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -55,7 +56,7 @@ buildPythonPackage rec { owner = "openai"; repo = "openai-python"; tag = "v${version}"; - hash = "sha256-PDYyuvCkDfQrbkSz0CPfJr++WUu5mODY2nVzTanwqjo="; + hash = "sha256-KXvtAxkALZd/T5mVLkDemO7qQ7E2CLVmRpAg1+cRcdU="; }; postPatch = ''substituteInPlace pyproject.toml --replace-fail "hatchling==1.26.3" "hatchling"''; @@ -103,6 +104,7 @@ buildPythonPackage rec { nest-asyncio pytest-asyncio pytest-mock + pytest-xdist respx ]; diff --git a/pkgs/development/python-modules/paddleocr/default.nix b/pkgs/development/python-modules/paddleocr/default.nix index 77c35499f537..5ce2aeea652c 100644 --- a/pkgs/development/python-modules/paddleocr/default.nix +++ b/pkgs/development/python-modules/paddleocr/default.nix @@ -32,14 +32,14 @@ buildPythonPackage rec { pname = "paddleocr"; - version = "3.0.1"; + version = "3.0.2"; pyproject = true; src = fetchFromGitHub { owner = "PaddlePaddle"; repo = "PaddleOCR"; tag = "v${version}"; - hash = "sha256-B8zIiRpvT0oa/Gg2dLXTqBZmM+XDH3sOzODvleN638E="; + hash = "sha256-PatqxQQR0uwZwNFYBAeAF5JfsRNhA6fzcy7lufWZARg="; }; patches = [ diff --git a/pkgs/development/python-modules/pdfplumber/default.nix b/pkgs/development/python-modules/pdfplumber/default.nix index 6a8b080339cf..876324a0c03c 100644 --- a/pkgs/development/python-modules/pdfplumber/default.nix +++ b/pkgs/development/python-modules/pdfplumber/default.nix @@ -11,7 +11,7 @@ pdfminer-six, pillow, pypdfium2, - pytest-cov, + pytest-cov-stub, pytest-parallel, pytestCheckHook, types-pillow, @@ -44,7 +44,7 @@ buildPythonPackage rec { nbexec pandas pandas-stubs - pytest-cov + pytest-cov-stub pytest-parallel pytestCheckHook types-pillow diff --git a/pkgs/development/python-modules/plaster/default.nix b/pkgs/development/python-modules/plaster/default.nix index 0651404dc477..b01e94bc1d57 100644 --- a/pkgs/development/python-modules/plaster/default.nix +++ b/pkgs/development/python-modules/plaster/default.nix @@ -1,7 +1,8 @@ { + lib, buildPythonPackage, fetchPypi, - pytest, + pytestCheckHook, pytest-cov-stub, }: @@ -15,12 +16,15 @@ buildPythonPackage rec { hash = "sha256-+L78VL+MEUfBCrQCl+yEwmdvotTqXW9STZQ2qAB075g="; }; - checkPhase = '' - py.test - ''; - nativeCheckInputs = [ - pytest + pytestCheckHook pytest-cov-stub ]; + + meta = { + description = "Loader interface around multiple config file formats"; + homepage = "https://pypi.org/project/plaster/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ]; + }; } diff --git a/pkgs/development/python-modules/polars/default.nix b/pkgs/development/python-modules/polars/default.nix index 0cbeee4d65a1..c2dafd53a442 100644 --- a/pkgs/development/python-modules/polars/default.nix +++ b/pkgs/development/python-modules/polars/default.nix @@ -9,7 +9,7 @@ pkgs, # zstd hidden by python3Packages.zstd pytestCheckHook, pytest-codspeed ? null, # Not in Nixpkgs - pytest-cov, + pytest-cov-stub, pytest-xdist, pytest-benchmark, rustc, @@ -229,7 +229,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook pytest-codspeed - pytest-cov + pytest-cov-stub pytest-xdist pytest-benchmark ]; diff --git a/pkgs/development/python-modules/property-manager/default.nix b/pkgs/development/python-modules/property-manager/default.nix index 71fa0e1aeddb..02c0b6accd46 100644 --- a/pkgs/development/python-modules/property-manager/default.nix +++ b/pkgs/development/python-modules/property-manager/default.nix @@ -5,7 +5,7 @@ humanfriendly, verboselogs, coloredlogs, - pytest, + pytestCheckHook, pytest-cov-stub, }: @@ -27,7 +27,7 @@ buildPythonPackage rec { verboselogs ]; nativeCheckInputs = [ - pytest + pytestCheckHook pytest-cov-stub ]; diff --git a/pkgs/development/python-modules/pygame-ce/default.nix b/pkgs/development/python-modules/pygame-ce/default.nix index c677b9a4654a..9b7a912499e3 100644 --- a/pkgs/development/python-modules/pygame-ce/default.nix +++ b/pkgs/development/python-modules/pygame-ce/default.nix @@ -12,6 +12,7 @@ ninja, meson-python, pyproject-metadata, + nix-update-script, fontconfig, freetype, @@ -30,7 +31,7 @@ buildPythonPackage rec { pname = "pygame-ce"; - version = "2.5.4"; + version = "2.5.5"; pyproject = true; disabled = pythonOlder "3.8"; @@ -39,7 +40,7 @@ buildPythonPackage rec { owner = "pygame-community"; repo = "pygame-ce"; tag = version; - hash = "sha256-joMc3QaQNbZ65pBJ7r5D6lWAGW9eM+e0k/ozOHfQL4U="; + hash = "sha256-OWC063N7G8t2ai/Qyz8DwP76BrFve5ZCbLD/mQwVbi4="; # Unicode files cause different checksums on HFS+ vs. other filesystems postFetch = "rm -rf $out/docs/reST"; }; @@ -158,6 +159,8 @@ buildPythonPackage rec { "pygame.version" ]; + passthru.updateScript = nix-update-script { }; + passthru.tests = { inherit pygame-gui; }; diff --git a/pkgs/development/python-modules/pygerber/default.nix b/pkgs/development/python-modules/pygerber/default.nix index 79017768fd90..cd5c62f8dc9f 100644 --- a/pkgs/development/python-modules/pygerber/default.nix +++ b/pkgs/development/python-modules/pygerber/default.nix @@ -26,7 +26,6 @@ dulwich, tzlocal, pytest-xdist, - pytest-cov, pytest-lsp, pytest-asyncio, pytest-mock, @@ -77,7 +76,6 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio - pytest-cov pytest-xdist pytest-lsp pytest-mock @@ -94,6 +92,8 @@ buildPythonPackage rec { "test/gerberx3/test_language_server/tests.py" ]; + pytestFlagsArray = [ "--override-ini required_plugins=''" ]; + pythonImportsCheck = [ "pygerber" ]; meta = { diff --git a/pkgs/development/python-modules/pyscaffold/default.nix b/pkgs/development/python-modules/pyscaffold/default.nix index 5a0b13086071..127ca5bb96c2 100644 --- a/pkgs/development/python-modules/pyscaffold/default.nix +++ b/pkgs/development/python-modules/pyscaffold/default.nix @@ -23,7 +23,7 @@ certifi, flake8, pytest, - pytest-cov-stub, + pytest-cov, pytest-randomly, pytest-xdist, sphinx, @@ -80,7 +80,7 @@ buildPythonPackage rec { flake8 pre-commit pytest - pytest-cov-stub + pytest-cov pytest-randomly pytest-xdist setuptools diff --git a/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix b/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix index d5ba7c9b6d82..a34bf93334e9 100644 --- a/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix +++ b/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix @@ -11,7 +11,7 @@ configupdater, pre-commit, pytest, - pytest-cov-stub, + pytest-cov, pytest-xdist, tox, virtualenv, @@ -44,7 +44,7 @@ buildPythonPackage rec { configupdater pre-commit pytest - pytest-cov-stub + pytest-cov pytest-xdist setuptools-scm tox diff --git a/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix b/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix index 0ee14743b5e9..ee4bc3aa728b 100644 --- a/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix +++ b/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix @@ -11,7 +11,7 @@ pyscaffold, pre-commit, pytest, - pytest-cov-stub, + pytest-cov, pytest-xdist, tox, virtualenv, @@ -45,7 +45,7 @@ buildPythonPackage rec { configupdater pre-commit pytest - pytest-cov-stub + pytest-cov pytest-xdist setuptools-scm tox diff --git a/pkgs/development/python-modules/pyscaffoldext-django/default.nix b/pkgs/development/python-modules/pyscaffoldext-django/default.nix index 6270dbc2d1d5..e0e9ca4cf69f 100644 --- a/pkgs/development/python-modules/pyscaffoldext-django/default.nix +++ b/pkgs/development/python-modules/pyscaffoldext-django/default.nix @@ -10,7 +10,7 @@ configupdater, pre-commit, pytest, - pytest-cov-stub, + pytest-cov, pytest-xdist, tox, virtualenv, @@ -42,7 +42,7 @@ buildPythonPackage rec { configupdater pre-commit pytest - pytest-cov-stub + pytest-cov pytest-xdist setuptools-scm tox diff --git a/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix b/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix index cc70d4098ab8..9763ba8ace95 100644 --- a/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix +++ b/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix @@ -11,7 +11,7 @@ configupdater, pre-commit, pytest, - pytest-cov-stub, + pytest-cov, pytest-xdist, tox, virtualenv, @@ -44,7 +44,7 @@ buildPythonPackage rec { configupdater pre-commit pytest - pytest-cov-stub + pytest-cov pytest-xdist setuptools-scm tox diff --git a/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix b/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix index d84320a77a95..4d6157ed4d99 100644 --- a/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix +++ b/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix @@ -11,7 +11,7 @@ configupdater, pre-commit, pytest, - pytest-cov-stub, + pytest-cov, pytest-xdist, tox, twine, @@ -46,7 +46,7 @@ buildPythonPackage rec { configupdater pre-commit pytest - pytest-cov-stub + pytest-cov pytest-xdist setuptools-scm tox diff --git a/pkgs/development/python-modules/pyscaffoldext-travis/default.nix b/pkgs/development/python-modules/pyscaffoldext-travis/default.nix index 4eeaafd14c22..6c08f6c23adc 100644 --- a/pkgs/development/python-modules/pyscaffoldext-travis/default.nix +++ b/pkgs/development/python-modules/pyscaffoldext-travis/default.nix @@ -10,7 +10,7 @@ configupdater, pre-commit, pytest, - pytest-cov-stub, + pytest-cov, pytest-xdist, tox, virtualenv, @@ -42,7 +42,7 @@ buildPythonPackage rec { configupdater pre-commit pytest - pytest-cov-stub + pytest-cov pytest-xdist setuptools-scm tox diff --git a/pkgs/development/python-modules/reflex-hosting-cli/default.nix b/pkgs/development/python-modules/reflex-hosting-cli/default.nix index f3e3b3ccf8db..aea9e53115d5 100644 --- a/pkgs/development/python-modules/reflex-hosting-cli/default.nix +++ b/pkgs/development/python-modules/reflex-hosting-cli/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "reflex-hosting-cli"; - version = "0.1.49"; + version = "0.1.50"; pyproject = true; # source is not published https://github.com/reflex-dev/reflex/issues/3762 src = fetchPypi { pname = "reflex_hosting_cli"; inherit version; - hash = "sha256-cIU2/hTxXtAsxn5twV8xGwAOcRfqBjeqL4dklXt5fkQ="; + hash = "sha256-1ZTTc09P/0rTNhiqsNDB2RMLcUjKt1rIWtufakkFWkg="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix index 6dee74d2b712..ab32dd6e5aaf 100644 --- a/pkgs/development/python-modules/reikna/default.nix +++ b/pkgs/development/python-modules/reikna/default.nix @@ -4,7 +4,7 @@ buildPythonPackage, sphinx, pytest-cov-stub, - pytest, + pytestCheckHook, mako, numpy, funcsigs, @@ -27,7 +27,7 @@ buildPythonPackage rec { nativeCheckInputs = [ sphinx pytest-cov-stub - pytest + pytestCheckHook ]; propagatedBuildInputs = @@ -39,10 +39,6 @@ buildPythonPackage rec { ++ lib.optional withCuda pycuda ++ lib.optional withOpenCL pyopencl; - checkPhase = '' - py.test - ''; - # Requires device doCheck = false; diff --git a/pkgs/development/python-modules/sanic-ext/default.nix b/pkgs/development/python-modules/sanic-ext/default.nix index 581b44962816..17c33e3563fa 100644 --- a/pkgs/development/python-modules/sanic-ext/default.nix +++ b/pkgs/development/python-modules/sanic-ext/default.nix @@ -18,7 +18,7 @@ msgspec, pydantic, pytest, - pytest-cov, + pytest-cov-stub, pytest-asyncio, tox, jinja2, @@ -51,7 +51,7 @@ buildPythonPackage rec { msgspec pydantic pytest - pytest-cov + pytest-cov-stub pytest-asyncio tox jinja2 diff --git a/pkgs/development/python-modules/sklearn-compat/default.nix b/pkgs/development/python-modules/sklearn-compat/default.nix index 3fd17c6cade4..e4bdc1a2d85f 100644 --- a/pkgs/development/python-modules/sklearn-compat/default.nix +++ b/pkgs/development/python-modules/sklearn-compat/default.nix @@ -6,7 +6,7 @@ scikit-learn, pandas, pytestCheckHook, - pytest-cov, + pytest-cov-stub, pytest-xdist, pytz, }: @@ -34,7 +34,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pandas pytestCheckHook - pytest-cov + pytest-cov-stub pytest-xdist pytz ]; diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index c7d74ee7a43f..cb798da19aac 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "tencentcloud-sdk-python"; - version = "3.0.1403"; + version = "3.0.1404"; pyproject = true; disabled = pythonOlder "3.9"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = version; - hash = "sha256-t38Lx5xW1R/LkUp4WKXXSXuEN5b4zI5i6D9iLBNJw88="; + hash = "sha256-3T/Y5qGbJvsqrB972iV4FkVYuv3YPRwH2B7B4SnjRhg="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 78483cd61b7e..cfe8af1583b3 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -2523,7 +2523,7 @@ let Rhtslib = old.Rhtslib.overrideAttrs (attrs: { preConfigure = '' - substituteInPlace R/zzz.R --replace "-lcurl" "-L${pkgs.curl.out}/lib -lcurl" + substituteInPlace R/zzz.R --replace-fail "-lcurl" "-L${pkgs.curl.out}/lib -lcurl" ''; }); @@ -2534,7 +2534,7 @@ let # during runtime the package directory is not writable as it's in the # nix store, so store the jar in the user's cache directory instead - substituteInPlace R/connection.R --replace \ + substituteInPlace R/connection.R --replace-fail \ 'dest_file <- file.path(dest_folder, "h2o.jar")' \ 'dest_file <- file.path("~/.cache/", "h2o.jar")' ''; @@ -2572,18 +2572,17 @@ let sparklyr = old.sparklyr.overrideAttrs (attrs: { # Pyspark's spark is full featured and better maintained than pkgs.spark preConfigure = '' - substituteInPlace R/zzz.R \ - --replace ".onLoad <- function(...) {" \ - ".onLoad <- function(...) { - Sys.setenv(\"SPARK_HOME\" = Sys.getenv(\"SPARK_HOME\", unset = \"${pkgs.python3Packages.pyspark}/${pkgs.python3Packages.python.sitePackages}/pyspark\")) - Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.jdk}\"))" - ''; - }); + if grep "onLoad" R/zzz.R; then + echo "onLoad is already present, patch needs to be updated!" + exit 1 + fi - proj4 = old.proj4.overrideAttrs (attrs: { - preConfigure = '' - substituteInPlace configure \ - --replace "-lsqlite3" "-L${lib.makeLibraryPath [ pkgs.sqlite ]} -lsqlite3" + cat >> R/zzz.R <-staging branch, because this is tested by the OpenZFS # maintainers. - version = "2.3.2"; + version = "2.3.3"; # rev = ""; tests = { inherit (nixosTests.zfs) unstable; }; - hash = "sha256-+DqpIgHCVi0fDOqvKwaGXIiiXw8xEnlv2tgRwgLX9G8="; + hash = "sha256-NXAbyGBfpzWfm4NaP1/otTx8fOnoRV17343qUMdQp5U="; extraLongDescription = '' This is "unstable" ZFS, and will usually be a pre-release version of ZFS. diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index 4ce5cc6b5061..469f84ad4442 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2025.6.0"; + version = "2025.6.1"; pyproject = true; disabled = python.version != home-assistant.python.version; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; tag = version; - hash = "sha256-CjMNxzX2w6mFdQ0RyEq7rHUC4U+EyVeaupREwtuts3Y="; + hash = "sha256-JTSIVe25EXZ7Bslkcz8/wLFJDx3f78OGsfDodtHMZ/Y="; }; build-system = [ diff --git a/pkgs/servers/isso/default.nix b/pkgs/servers/isso/default.nix index 7428d2d6cbba..26bec1355f12 100644 --- a/pkgs/servers/isso/default.nix +++ b/pkgs/servers/isso/default.nix @@ -66,14 +66,10 @@ buildPythonApplication rec { ''; nativeCheckInputs = [ - pytest - pytest-cov + pytestCheckHook + pytest-cov-stub ]; - checkPhase = '' - pytest - ''; - passthru.tests = { inherit (nixosTests) isso; }; meta = with lib; { diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix index 4cd732fe12b4..62688d27b2f0 100644 --- a/pkgs/servers/monitoring/zabbix/versions.nix +++ b/pkgs/servers/monitoring/zabbix/versions.nix @@ -4,8 +4,8 @@ generic: { hash = "sha256-DQGzk90isqYLNvs3qY/PEIHGg62Ygyot3YeUOhIAg54="; }; v70 = generic { - version = "7.0.13"; - hash = "sha256-2e9/HPsL3lZY2rsigIIPnOHPMyV/rHn0DwM3Org60Xw="; + version = "7.0.14"; + hash = "sha256-/otU7tnjoF3UXPSxoqpjv9wRR+h0DeioeMyu+tHttv8="; }; v60 = generic { version = "6.0.36"; diff --git a/pkgs/servers/nextcloud/packages/default.nix b/pkgs/servers/nextcloud/packages/default.nix index 8d0f2abc5cb5..9e85f589370d 100644 --- a/pkgs/servers/nextcloud/packages/default.nix +++ b/pkgs/servers/nextcloud/packages/default.nix @@ -25,8 +25,7 @@ let { # Create a derivation from the official Nextcloud apps. # This takes the data generated from the go tool. - mkNextcloudDerivation = self.callPackage ( - { }: + mkNextcloudDerivation = { pname, data }: pkgs.fetchNextcloudApp { appName = pname; @@ -39,8 +38,7 @@ let description homepage ; - } - ) { }; + }; } // lib.mapAttrs ( diff --git a/pkgs/tools/audio/beets/common.nix b/pkgs/tools/audio/beets/common.nix index c914a44ef616..e12817b0cc7c 100644 --- a/pkgs/tools/audio/beets/common.nix +++ b/pkgs/tools/audio/beets/common.nix @@ -145,7 +145,7 @@ python3Packages.buildPythonApplication { with python3Packages; [ pytestCheckHook - pytest-cov + pytest-cov-stub mock rarfile responses diff --git a/pkgs/tools/misc/anystyle-cli/Gemfile b/pkgs/tools/misc/anystyle-cli/Gemfile index be47216200d2..8d6364f03b20 100644 --- a/pkgs/tools/misc/anystyle-cli/Gemfile +++ b/pkgs/tools/misc/anystyle-cli/Gemfile @@ -1,37 +1,10 @@ source 'https://rubygems.org' gemspec - group :development, :test do - #gem 'anystyle-data', github: 'inukshuk/anystyle-data' - #gem 'wapiti', github: 'inukshuk/wapiti-ruby' - gem 'bibtex-ruby' - gem 'rake' - gem 'rspec', '~>3.0' - gem 'language_detector', github: 'feedbackmine/language_detector' - gem 'unicode-scripts' - gem 'edtf' - gem 'citeproc' - gem 'unicode_utils' if RUBY_VERSION < '2.4' -end - -group :coverage do - gem 'simplecov', require: false - gem 'coveralls', require: false if ENV['CI'] + gem 'anystyle', github: 'inukshuk/anystyle' end group :debug do - gem 'byebug', require: false -end - -group :profile do - gem 'ruby-prof', require: false - gem 'gnuplot', require: false -end - -group :extra do - gem 'lmdb' - gem 'redis' - gem 'redis-namespace' - gem 'yard' + gem 'debug', require: false end diff --git a/pkgs/tools/misc/anystyle-cli/Gemfile.lock b/pkgs/tools/misc/anystyle-cli/Gemfile.lock index 8d28ef808948..f32ab35dd7c4 100644 --- a/pkgs/tools/misc/anystyle-cli/Gemfile.lock +++ b/pkgs/tools/misc/anystyle-cli/Gemfile.lock @@ -1,99 +1,70 @@ GIT - remote: https://github.com/feedbackmine/language_detector.git - revision: 89102790194150b3a8110ce691f9989b8ce70f8d + remote: https://github.com/inukshuk/anystyle.git + revision: c6f5fb2fa6e8ce9456ad1e1e88d6bba5f3d7731d specs: - language_detector (0.1.2) + anystyle (1.6.0) + anystyle-data (~> 1.3) + bibtex-ruby (~> 6.0) + namae (~> 1.0) + wapiti (~> 2.1) PATH remote: . specs: - anystyle (1.3.10) - anystyle-data (~> 1.2) - bibtex-ruby (~> 5.0) + anystyle-cli (1.5.0) + anystyle (~> 1.6) gli (~> 2.17) - namae (~> 1.0) - wapiti (~> 1.0, >= 1.0.2) GEM remote: https://rubygems.org/ specs: - activesupport (6.0.3.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) - anystyle-data (1.2.0) - bibtex-ruby (5.1.4) + anystyle-data (1.3.0) + bibtex-ruby (6.1.0) latex-decode (~> 0.0) - builder (3.2.4) - byebug (11.1.3) - citeproc (1.0.10) - namae (~> 1.0) - concurrent-ruby (1.1.7) - diff-lcs (1.4.4) - docile (1.3.2) - edtf (3.0.5) - activesupport (>= 3.0, < 7.0) - gli (2.19.2) - gnuplot (2.6.2) - i18n (1.8.5) - concurrent-ruby (~> 1.0) - latex-decode (0.3.1) - lmdb (0.5.3) - minitest (5.14.1) - namae (1.0.1) - rake (13.0.1) - redis (4.2.1) - redis-namespace (1.8.0) - redis (>= 3.0.4) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.3) - ruby-prof (1.4.1) - simplecov (0.19.0) - docile (~> 1.1) - simplecov-html (~> 0.11) - simplecov-html (0.12.2) - thread_safe (0.3.6) - tzinfo (1.2.7) - thread_safe (~> 0.1) - unicode-scripts (1.6.0) - wapiti (1.0.7) + racc (~> 1.7) + builder (3.3.0) + date (3.4.1) + debug (1.10.0) + irb (~> 1.10) + reline (>= 0.3.8) + erb (5.0.1) + gli (2.22.2) + ostruct + io-console (0.8.0) + irb (1.15.2) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + latex-decode (0.4.0) + namae (1.2.0) + racc (~> 1.7) + ostruct (0.6.1) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.6) + date + stringio + racc (1.8.1) + rdoc (6.14.0) + erb + psych (>= 4.0.0) + reline (0.6.1) + io-console (~> 0.5) + rexml (3.4.1) + stringio (3.1.7) + wapiti (2.1.0) builder (~> 3.2) - yard (0.9.25) - zeitwerk (2.4.0) + rexml (~> 3.0) PLATFORMS + arm64-darwin-24 ruby DEPENDENCIES anystyle! - bibtex-ruby - byebug - citeproc - edtf - gnuplot - language_detector! - lmdb - rake - redis - redis-namespace - rspec (~> 3.0) - ruby-prof - simplecov - unicode-scripts - yard + anystyle-cli! + debug BUNDLED WITH - 2.1.4 + 2.5.22 diff --git a/pkgs/tools/misc/anystyle-cli/anystyle-cli.gemspec b/pkgs/tools/misc/anystyle-cli/anystyle-cli.gemspec new file mode 100644 index 000000000000..51c9f782a75a --- /dev/null +++ b/pkgs/tools/misc/anystyle-cli/anystyle-cli.gemspec @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +lib = File.expand_path('../lib/', __FILE__) +$:.unshift lib unless $:.include?(lib) + +require 'anystyle/cli/version' + +Gem::Specification.new do |s| + s.name = 'anystyle-cli' + s.version = AnyStyle::CLI::VERSION.dup + s.platform = Gem::Platform::RUBY + s.authors = ['Sylvester Keil'] + s.email = ['http://sylvester.keil.or.at'] + s.homepage = 'http://anystyle.io' + s.summary = 'AnyStyle CLI' + s.description = 'A command line interface to the AnyStyle Parser and Finder.' + s.license = 'BSD-2-Clause' + s.require_path = 'lib' + s.bindir = 'bin' + s.executables = ['anystyle'] + s.required_ruby_version = '>= 2.3' + + s.add_runtime_dependency('anystyle', '~>1.6') + s.add_runtime_dependency('gli', '~>2.17') + + s.files = `git ls-files`.split("\n") - %w{ + .gitignore + Gemfile + anystyle-cli.gemspec + } +end + +# vim: syntax=ruby diff --git a/pkgs/tools/misc/anystyle-cli/anystyle.gemspec b/pkgs/tools/misc/anystyle-cli/anystyle.gemspec deleted file mode 100644 index 57db427fb024..000000000000 --- a/pkgs/tools/misc/anystyle-cli/anystyle.gemspec +++ /dev/null @@ -1,52 +0,0 @@ -# -*- encoding: utf-8 -*- -lib = File.expand_path('../lib/', __FILE__) -$:.unshift lib unless $:.include?(lib) - -require 'anystyle/version' - -Gem::Specification.new do |s| - s.name = 'anystyle' - s.version = AnyStyle::VERSION.dup - s.platform = Gem::Platform::RUBY - s.authors = ['Sylvester Keil'] - s.email = ['http://sylvester.keil.or.at'] - s.homepage = 'http://anystyle.io' - s.summary = 'Smart and fast bibliography parser.' - s.description = 'A sophisticated parser for academic reference lists and bibliographies based on machine learning algorithms using conditional random fields.' - s.license = 'BSD-2-Clause' - s.executables = [] - s.require_path = 'lib' - - s.required_ruby_version = '>= 2.2' - - s.add_runtime_dependency('bibtex-ruby', '~>5.0') - s.add_runtime_dependency('anystyle-data', '~>1.2') - s.add_runtime_dependency('gli', '~>2.17') - s.add_runtime_dependency('wapiti', '~>1.0', '>=1.0.2') - s.add_runtime_dependency('namae', '~>1.0') - - s.files = - `git ls-files`.split("\n") - `git ls-files spec`.split("\n") - %w{ - .coveralls.yml - .gitignore - .rspec - .simplecov - .travis.yml - Gemfile - Rakefile - appveyor.yml - anystyle.gemspec - res/core.xml - } - - s.rdoc_options = %w{ - --line-numbers - --inline-source - --title "AnyStyle" - --main README.md - } - s.extra_rdoc_files = %w{README.md LICENSE} - -end - -# vim: syntax=ruby diff --git a/pkgs/tools/misc/anystyle-cli/default.nix b/pkgs/tools/misc/anystyle-cli/default.nix index 11fbcbcb1024..959956bb916e 100644 --- a/pkgs/tools/misc/anystyle-cli/default.nix +++ b/pkgs/tools/misc/anystyle-cli/default.nix @@ -9,13 +9,13 @@ let deps = bundlerEnv rec { name = "anystyle-cli-${version}"; source.sha256 = lib.fakeSha256; - version = "1.3.1"; + version = "1.5.0"; inherit ruby; gemdir = ./.; gemset = lib.recursiveUpdate (import ./gemset.nix) { anystyle.source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1w79zcia60nnnyrmyvpd10pmxrpk5c7lj9gmmblhwi8x5mfq9k0n"; + sha256 = "C/OrU7guHzHdY80upEXRfhWmUYDxpI54NIvIjKv0znw="; type = "gem"; }; }; @@ -25,8 +25,8 @@ buildRubyGem rec { inherit ruby; gemName = "anystyle-cli"; pname = gemName; - version = "1.3.1"; - source.sha256 = "1a3ifwxwqkp5dnfk9r8qq8kgfb8k1pl7jjdghbb8ixbxz9ac7awy"; + version = "1.5.0"; + source.sha256 = "Bkk00PBk/6noCXgAbr1XUcdBq5vpdeL0ES02eeNA594="; propagatedBuildInputs = [ deps ]; @@ -38,10 +38,11 @@ buildRubyGem rec { description = "Command line interface to the AnyStyle Parser and Finder"; homepage = "https://anystyle.io/"; license = licenses.bsd2; - maintainers = with maintainers; [ shamilton ]; + maintainers = with maintainers; [ + aschleck + shamilton + ]; mainProgram = "anystyle"; platforms = platforms.unix; - # error: passing argument 2 of 'rb_hash_foreach' from incompatible pointer type [-Wincompatible-pointer-types] - broken = true; }; } diff --git a/pkgs/tools/misc/anystyle-cli/gemset.nix b/pkgs/tools/misc/anystyle-cli/gemset.nix index 9d3377022144..6532e1277684 100644 --- a/pkgs/tools/misc/anystyle-cli/gemset.nix +++ b/pkgs/tools/misc/anystyle-cli/gemset.nix @@ -1,1201 +1,11 @@ { - activesupport = { - dependencies = [ - "concurrent-ruby" - "i18n" - "minitest" - "tzinfo" - "zeitwerk" - ]; - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "02sh4q8izyfdnh7z2nj5mn5sklfvqgx9rrag5j3l51y8aqkrg2yk"; - type = "gem"; - }; - version = "6.0.3.2"; - }; anystyle = { dependencies = [ "anystyle-data" "bibtex-ruby" - "gli" "namae" "wapiti" ]; - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - path = ./.; - type = "path"; - }; - version = "1.3.10"; - }; - anystyle-data = { - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1ry6836mq48d85hjcfp7xiw0yk3ivpiwjvmdwv5jag30ijfyaccy"; - type = "gem"; - }; - version = "1.2.0"; - }; - bibtex-ruby = { - dependencies = [ "latex-decode" ]; - groups = [ - "default" - "development" - "test" - ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "00zwmmmjrbrxhajdvn1d4rnv2qw00arcj021cwyx3hl6dsv22l2w"; - type = "gem"; - }; - version = "5.1.4"; - }; - builder = { - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; - type = "gem"; - }; - version = "3.2.4"; - }; - byebug = { - groups = [ "debug" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; - type = "gem"; - }; - version = "11.1.3"; - }; - citeproc = { - dependencies = [ "namae" ]; - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "13vl5sjmksk5a8kjcqnjxh7kn9gn1n4f9p1rvqfgsfhs54p0m6l2"; - type = "gem"; - }; - version = "1.0.10"; - }; - concurrent-ruby = { - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz"; - type = "gem"; - }; - version = "1.1.7"; - }; - diff-lcs = { - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz"; - type = "gem"; - }; - version = "1.4.4"; - }; - docile = { - groups = [ - "coverage" - "default" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif"; - type = "gem"; - }; - version = "1.3.2"; - }; - edtf = { - dependencies = [ "activesupport" ]; - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0xknzamagsx68iq7zdiswr077sxirig77yggbcsw51m8365ajzpc"; - type = "gem"; - }; - version = "3.0.5"; - }; - gli = { - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0q598mvl20isn3ja1ya0p72svmqwx3m6fjp5slnv0b2c5mh0ahvv"; - type = "gem"; - }; - version = "2.19.2"; - }; - gnuplot = { - groups = [ "profile" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1cvb84lahhy6qxkkgg0pfk9b85qrb1by2p3jlpqgczl6am58vhnj"; - type = "gem"; - }; - version = "2.6.2"; - }; - i18n = { - dependencies = [ "concurrent-ruby" ]; - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk"; - type = "gem"; - }; - version = "1.8.5"; - }; - language_detector = { groups = [ "development" "test" @@ -1203,900 +13,304 @@ platforms = [ ]; source = { fetchSubmodules = false; - rev = "89102790194150b3a8110ce691f9989b8ce70f8d"; - sha256 = "0wxs9i0wqmwysrz1c1i85i4f670m217y12rj5slcmd1y4ylsmvyi"; + rev = "c6f5fb2fa6e8ce9456ad1e1e88d6bba5f3d7731d"; + sha256 = "1fshijsay20dqcvjwrdifv6z1w4xyc3j2rn3648cvq57gjrmxwl2"; type = "git"; - url = "https://github.com/feedbackmine/language_detector.git"; + url = "https://github.com/inukshuk/anystyle.git"; }; - version = "0.1.2"; + version = "1.6.0"; + }; + anystyle-cli = { + dependencies = [ + "anystyle" + "gli" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + path = ./.; + type = "path"; + }; + version = "1.5.0"; + }; + anystyle-data = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0l28mxgcfdbcrb4w0vn293spwxff9ahcmxfs5cws2yq0w5x656y4"; + type = "gem"; + }; + version = "1.3.0"; + }; + bibtex-ruby = { + dependencies = [ + "latex-decode" + "racc" + ]; + groups = [ "extra" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ggx2j1gi46f1a6p45l1abk3nryfg1pj0cdlyrnilnqqpr1cfc96"; + type = "gem"; + }; + version = "6.1.0"; + }; + builder = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; + type = "gem"; + }; + version = "3.3.0"; + }; + date = { + groups = [ + "debug" + "default" + "extra" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0kz6mc4b9m49iaans6cbx031j9y7ldghpi5fzsdh0n3ixwa8w9mz"; + type = "gem"; + }; + version = "3.4.1"; + }; + debug = { + dependencies = [ + "irb" + "reline" + ]; + groups = [ "debug" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1977s95s9ns6mpbhg68pg6ggnpxxf8wly4244ihrx5vm92kqrqhi"; + type = "gem"; + }; + version = "1.10.0"; + }; + erb = { + groups = [ + "debug" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "08rc8pzri3g7c85c76x84j05hkk12jvalrm2m3n97k1n7f03j13n"; + type = "gem"; + }; + version = "5.0.1"; + }; + gli = { + dependencies = [ "ostruct" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1c2x5wh3d3mz8vg5bs7c5is0zvc56j6a2b4biv5z1w5hi1n8s3jq"; + type = "gem"; + }; + version = "2.22.2"; + }; + io-console = { + groups = [ + "debug" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "18pgvl7lfjpichdfh1g50rpz0zpaqrpr52ybn9liv1v9pjn9ysnd"; + type = "gem"; + }; + version = "0.8.0"; + }; + irb = { + dependencies = [ + "pp" + "rdoc" + "reline" + ]; + groups = [ + "debug" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1fpxa2m83rb7xlzs57daqwnzqjmz6j35xr7zb15s73975sak4br2"; + type = "gem"; + }; + version = "1.15.2"; }; latex-decode = { groups = [ "default" - "development" - "test" - ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0dqanr69as05vdyp9gx9737w3g44rhyk7x96bh9x01fnf1yalyzd"; - type = "gem"; - }; - version = "0.3.1"; - }; - lmdb = { - groups = [ "extra" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0qk2ycgyyk052dvbgik35mr4n9im4k1j6v7anbjqhx52y5f07sfg"; - type = "gem"; - }; - version = "0.5.3"; - }; - minitest = { - groups = [ - "default" - "development" - "test" + "extra" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "09bz9nsznxgaf06cx3b5z71glgl0hdw469gqx3w7bqijgrb55p5g"; + sha256 = "1y5xn3zwghpqr6lvs4s0mn5knms8zw3zk7jb58zkkiagb386nq72"; type = "gem"; }; - version = "5.14.1"; + version = "0.4.0"; }; namae = { + dependencies = [ "racc" ]; groups = [ "default" - "development" - "test" - ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } + "extra" ]; + platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "00w0dgvmdy8lw2b5q9zvhqd5k98a192vdmka96qngi9cvnsh5snw"; + sha256 = "17fmp6p74ai2w984xayv3kz2nh44w81hqqvn4cfrim3g115wwh9m"; type = "gem"; }; - version = "1.0.1"; + version = "1.2.0"; }; - rake = { + ostruct = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9"; + type = "gem"; + }; + version = "0.6.1"; + }; + pp = { + dependencies = [ "prettyprint" ]; groups = [ - "development" - "test" + "debug" + "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9"; + sha256 = "1zxnfxjni0r9l2x42fyq0sqpnaf5nakjbap8irgik4kg1h9c6zll"; type = "gem"; }; - version = "13.0.1"; + version = "0.6.2"; }; - redis = { - groups = [ "extra" ]; + prettyprint = { + groups = [ + "debug" + "default" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "19hm66kw5vx1lmlh8bj7rxlddyj0vfp11ajw9njhrmn8173d0vb5"; + sha256 = "14zicq3plqi217w6xahv7b8f7aj5kpxv1j1w98344ix9h5ay3j9b"; type = "gem"; }; - version = "4.2.1"; + version = "0.2.0"; }; - redis-namespace = { - dependencies = [ "redis" ]; - groups = [ "extra" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "05i6s898z5w31z385cba1683pgg5nnmj4m686cbravg7j4pgbcgv"; - type = "gem"; - }; - version = "1.8.0"; - }; - rspec = { + psych = { dependencies = [ - "rspec-core" - "rspec-expectations" - "rspec-mocks" + "date" + "stringio" ]; groups = [ - "development" - "test" + "debug" + "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h"; + sha256 = "0vii1xc7x81hicdbp7dlllhmbw5w3jy20shj696n0vfbbnm2hhw1"; type = "gem"; }; - version = "3.9.0"; + version = "5.2.6"; }; - rspec-core = { - dependencies = [ "rspec-support" ]; + racc = { groups = [ "default" - "development" - "test" + "extra" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1xndkv5cz763wh30x7hdqw6k7zs8xfh0f86amra9agwn44pcqs0y"; + sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; - version = "3.9.2"; + version = "1.8.1"; }; - rspec-expectations = { + rdoc = { dependencies = [ - "diff-lcs" - "rspec-support" + "erb" + "psych" ]; groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1bxkv25qmy39jqrdx35bfgw00g24qkssail9jlljm7hywbqvr9bb"; - type = "gem"; - }; - version = "3.9.2"; - }; - rspec-mocks = { - dependencies = [ - "diff-lcs" - "rspec-support" - ]; - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr"; - type = "gem"; - }; - version = "3.9.1"; - }; - rspec-support = { - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0dandh2fy1dfkjk8jf9v4azbbma6968bhh06hddv0yqqm8108jir"; - type = "gem"; - }; - version = "3.9.3"; - }; - ruby-prof = { - groups = [ "profile" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "12cd91m08ih0imfpy4k87618hd4mhyz291a6bx2hcskza4nf6d27"; - type = "gem"; - }; - version = "1.4.1"; - }; - simplecov = { - dependencies = [ - "docile" - "simplecov-html" - ]; - groups = [ "coverage" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1b082xrklq6k755cc3rzpnfdjv5338rlky9him36jasw8s9q68mr"; - type = "gem"; - }; - version = "0.19.0"; - }; - simplecov-html = { - groups = [ - "coverage" + "debug" "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1v7b4mf7njw8kv4ghl4q7mwz3q0flbld7v8blp4m4m3n3aq11bn9"; + sha256 = "1nyp5vc9nm46nc3aq58f2lackgbip4ynxmznzi1qg6qjsxcdwiic"; type = "gem"; }; - version = "0.12.2"; + version = "6.14.0"; }; - thread_safe = { + reline = { + dependencies = [ "io-console" ]; groups = [ + "debug" "default" - "development" - "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + sha256 = "1yvm0svcdk6377ng6l00g39ldkjijbqg4whdg2zcsa8hrgbwkz0s"; type = "gem"; }; - version = "0.3.6"; + version = "0.6.1"; }; - tzinfo = { - dependencies = [ "thread_safe" ]; + rexml = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1jmbf6lf7pcyacpb939xjjpn1f84c3nw83dy3p1lwjx0l2ljfif7"; + type = "gem"; + }; + version = "3.4.1"; + }; + stringio = { groups = [ + "debug" "default" - "development" - "test" + "extra" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r"; + sha256 = "1yh78pg6lm28c3k0pfd2ipskii1fsraq46m6zjs5yc9a4k5vfy2v"; type = "gem"; }; - version = "1.2.7"; - }; - unicode-scripts = { - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "04xfy4f61xf7qnbfa68aqscmyxk7wx3swn571cijsfqalhz8swjg"; - type = "gem"; - }; - version = "1.6.0"; + version = "3.1.7"; }; wapiti = { - dependencies = [ "builder" ]; + dependencies = [ + "builder" + "rexml" + ]; groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1aw2l759cfmii9a67pn8pswip11v08nabkzm825mrmxa6r91izqs"; - type = "gem"; - }; - version = "1.0.7"; - }; - yard = { - groups = [ "extra" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "126m49mvh4lbvlvrprq7xj2vjixbq3xqr8dwr089vadvs0rkn4rd"; + sha256 = "19bh7nb05pbkix43i7alfg8pzcqid31q5q0g06x2my7gcj79nhad"; type = "gem"; }; - version = "0.9.25"; - }; - zeitwerk = { - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0jvn50k76kl14fpymk4hdsf9sk00jl84yxzl783xhnw4dicp0m0k"; - type = "gem"; - }; - version = "2.4.0"; + version = "2.1.0"; }; } diff --git a/pkgs/tools/misc/bat-extras/default.nix b/pkgs/tools/misc/bat-extras/default.nix index e10913b37852..33dc27b19c30 100644 --- a/pkgs/tools/misc/bat-extras/default.nix +++ b/pkgs/tools/misc/bat-extras/default.nix @@ -1,4 +1,3 @@ -{ }: self: { buildBatExtrasPkg = self.callPackage ./buildBatExtrasPkg.nix { }; diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix index 90645a045a49..bfa1f33c3314 100644 --- a/pkgs/tools/system/collectd/default.nix +++ b/pkgs/tools/system/collectd/default.nix @@ -1,33 +1,40 @@ { lib, stdenv, - fetchurl, + fetchFromGitHub, fetchpatch, callPackage, autoreconfHook, pkg-config, libtool, + bison, + flex, + perl, nixosTests, ... }@args: let plugins = callPackage ./plugins.nix args; in -stdenv.mkDerivation rec { - version = "5.12.0"; +stdenv.mkDerivation (finalAttrs: { pname = "collectd"; + version = "5.12.0"; - src = fetchurl { - url = "https://collectd.org/files/${pname}-${version}.tar.bz2"; - sha256 = "1mh97afgq6qgmpvpr84zngh58m0sl1b4wimqgvvk376188q09bjv"; + src = fetchFromGitHub { + owner = "collectd"; + repo = "collectd"; + tag = "collectd-${finalAttrs.version}"; + hash = "sha256-UTlCY1GPRpbdQFLFUDjNr1PgEdGv4WNtjr8TYbxHK5A="; }; + # All of these are going to be included in the next release patches = [ # fix -t never printing syntax errors # should be included in next release (fetchpatch { + name = "fix-broken-dash-t-option.patch"; url = "https://github.com/collectd/collectd/commit/3f575419e7ccb37a3b10ecc82adb2e83ff2826e1.patch"; - sha256 = "0jwjdlfl0dp7mlbwygp6h0rsbaqfbgfm5z07lr5l26z6hhng2h2y"; + hash = "sha256-XkDxLITmG0FLpgf8Ut1bDqulM4DmPs8Xrec2QB1tkks="; }) (fetchpatch { name = "no_include_longintrepr.patch"; @@ -39,7 +46,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config autoreconfHook + bison + flex + perl # for pod2man ]; + buildInputs = [ libtool ] ++ plugins.buildInputs; @@ -52,9 +63,12 @@ stdenv.mkDerivation rec { ++ plugins.configureFlags ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "--with-fp-layout=nothing" ]; + # Used in `src/virt.c` + env.NIX_CFLAGS_COMPILE = "-DATTRIBUTE_UNUSED=__attribute__((unused))"; + # do not create directories in /var during installPhase postConfigure = '' - substituteInPlace Makefile --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/' '#' + substituteInPlace Makefile --replace-fail '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/' '#' ''; postInstall = '' @@ -69,11 +83,11 @@ stdenv.mkDerivation rec { inherit (nixosTests) collectd; }; - meta = with lib; { + meta = { description = "Daemon which collects system performance statistics periodically"; homepage = "https://collectd.org"; - license = licenses.gpl2Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ bjornfor ]; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ bjornfor ]; }; -} +}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index f413ccf8a2e2..0709c103ad3b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1681,6 +1681,7 @@ mapAliases { quicklispPackagesGCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 quicklispPackagesSBCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 quickserve = throw "'quickserve' has been removed because its upstream is unavailable"; # Added 2025-05-10 + quicksynergy = throw "'quicksynergy' has been removed due to lack of maintenance upstream. Consider using 'deskflow' instead."; # Added 2025-06-18 qv2ray = throw "'qv2ray' has been removed as it was unmaintained"; # Added 2025-06-03 qxw = throw "'qxw' has been removed due to lack of maintenance upstream. Consider using 'crosswords' instead"; # Added 2024-10-19 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c419fe83d377..5250697abedb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1909,7 +1909,7 @@ with pkgs; babelfish = callPackage ../shells/fish/babelfish.nix { }; - bat-extras = recurseIntoAttrs (lib.makeScope newScope (callPackage ../tools/misc/bat-extras { })); + bat-extras = recurseIntoAttrs (lib.makeScope newScope (import ../tools/misc/bat-extras)); beauty-line-icon-theme = callPackage ../data/icons/beauty-line-icon-theme { inherit (plasma5Packages) breeze-icons; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 0233f6df225a..a3f1cae76728 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -918,80 +918,6 @@ let import ../development/ocaml-modules/janestreet { }; - janeStreet_0_15 = - (lib.makeScope self.newScope ( - self': with self'; { - - # ocamlPackages that janestreet v0.15 packages depend on. - jsDeps = - let - uri-sexp = self.uri-sexp.override { inherit (self') ppx_sexp_conv sexplib0; }; - cohttp = self.cohttp.override { - inherit (self') ppx_sexp_conv; - inherit uri-sexp; - }; - ipaddr-sexp = self.ipaddr-sexp.override { inherit (self') ppx_sexp_conv; }; - conduit = self.conduit.override { - inherit (self') ppx_sexp_conv sexplib; - inherit ipaddr-sexp; - }; - conduit-async = self.conduit-async.override { - inherit (self') - async - ppx_sexp_conv - ppx_here - core - sexplib - async_ssl - ; - inherit conduit ipaddr-sexp; - }; - in - { - inherit (self) - dune-configurator - alcotest - re - num - octavius - uutf - ounit - ctypes - ctypes-foreign - ; - ppxlib = self.ppxlib.override { inherit (self') stdio; }; - cohttp-async = self.cohttp-async.override { - inherit (self') - ppx_sexp_conv - base - async - async_kernel - async_unix - core_unix - sexplib0 - core - ; - inherit uri-sexp cohttp conduit-async; - }; - janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix { }; - }; - - janeStreet = import ../development/ocaml-modules/janestreet/0.15.nix { - self = self' // jsDeps; - inherit ocaml; - inherit (pkgs) - bash - fetchpatch - fzf - lib - openssl - zstd - ; - }; - } - )).overrideScope - liftJaneStreet; - javalib = callPackage ../development/ocaml-modules/javalib { }; jingoo = callPackage ../development/ocaml-modules/jingoo { };