Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-05-16 06:07:04 +00:00
committed by GitHub
40 changed files with 383 additions and 116 deletions
+6
View File
@@ -1456,6 +1456,12 @@ let
nestedTypes.finalType = finalType;
};
# A list of attrnames is coerced into an attrset of bools by
# setting the values to true.
attrNamesToTrue = coercedTo (types.listOf types.str) (
enabledList: lib.genAttrs enabledList (_attrName: true)
) (types.attrsOf types.bool);
# Augment the given type with an additional type check function.
addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; };
@@ -135,6 +135,29 @@ merging is handled.
problems.
:::
`types.attrNamesToTrue`
: Either a list of attribute names, or an attribute set of
booleans. A list will be coerced into an attribute set with those
names, whose values are set to `true`. This is useful when it is
convenient to be able to write definitions as a simple list, but
still need to be able to override and disable individual values.
::: {#ex-types-attrNamesToTrue .example}
### `types.attrNamesToTrue`
```
{
foo = [ "bar" ];
}
```
```
{
foo.bar = true;
}
```
:::
`types.pkgs`
: A type for the top level Nixpkgs package set.
+44 -7
View File
@@ -13,6 +13,14 @@ let
inherit (config.boot.kernel) features randstructSeed;
inherit (config.boot.kernelPackages) kernel;
modulesTypeDesc = ''
This can either be a list of modules, or an attrset. In an
attrset, names that are set to `true` represent modules that will
be included. Note that setting these names to `false` does not
prevent the module from being loaded. For that, use
{option}`boot.blacklistedKernelModules`.
'';
kernelModulesConf = pkgs.writeText "nixos.conf" ''
${concatStringsSep "\n" config.boot.kernelModules}
'';
@@ -188,20 +196,23 @@ in
};
boot.kernelModules = mkOption {
type = types.listOf types.str;
default = [ ];
type = types.attrNamesToTrue;
default = { };
description = ''
The set of kernel modules to be loaded in the second stage of
the boot process. Note that modules that are needed to
mount the root file system should be added to
{option}`boot.initrd.availableKernelModules` or
{option}`boot.initrd.kernelModules`.
${modulesTypeDesc}
'';
apply = mods: lib.attrNames (lib.filterAttrs (_: v: v) mods);
};
boot.initrd.availableKernelModules = mkOption {
type = types.listOf types.str;
default = [ ];
type = types.attrNamesToTrue;
default = { };
example = [
"sata_nv"
"ext3"
@@ -220,13 +231,21 @@ in
modules for PCI devices are loaded when they match the PCI ID
of a device in your system). To force a module to be loaded,
include it in {option}`boot.initrd.kernelModules`.
${modulesTypeDesc}
'';
apply = mods: lib.attrNames (lib.filterAttrs (_: v: v) mods);
};
boot.initrd.kernelModules = mkOption {
type = types.listOf types.str;
default = [ ];
description = "List of modules that are always loaded by the initrd.";
type = types.attrNamesToTrue;
default = { };
description = ''
Set of modules that are always loaded by the initrd.
${modulesTypeDesc}
'';
apply = mods: lib.attrNames (lib.filterAttrs (_: v: v) mods);
};
boot.initrd.includeDefaultModules = mkOption {
@@ -239,6 +258,24 @@ in
'';
};
boot.initrd.allowMissingModules = mkOption {
type = types.bool;
default = false;
description = ''
Whether the initrd can be built even though modules listed in
{option}`boot.initrd.kernelModules` or
{option}`boot.initrd.availableKernelModules` are missing from
the kernel. This is useful when combining configurations that
include a lot of modules, such as
{option}`hardware.enableAllHardware`, with kernels that don't
provide as many modules as typical NixOS kernels.
Note that enabling this is discouraged. Instead, try disabling
individual modules by setting e.g.
`boot.initrd.availableKernelModules.foo = lib.mkForce false;`
'';
};
system.modulesTree = mkOption {
type = types.listOf types.path;
internal = true;
+7 -4
View File
@@ -25,16 +25,19 @@ with lib;
};
boot.blacklistedKernelModules = mkOption {
type = types.listOf types.str;
default = [ ];
type = types.attrNamesToTrue;
default = { };
example = [
"cirrusfb"
"i2c_piix4"
];
description = ''
List of names of kernel modules that should not be loaded
automatically by the hardware probing code.
Set of names of kernel modules that should not be loaded
automatically by the hardware probing code. This can either be
a list of modules or an attrset. In an attrset, names that are
set to `true` represent modules that will be blacklisted.
'';
apply = mods: lib.attrNames (lib.filterAttrs (_: v: v) mods);
};
boot.extraModprobeConfig = mkOption {
+9 -2
View File
@@ -25,7 +25,7 @@ let
rootModules = config.boot.initrd.availableKernelModules ++ config.boot.initrd.kernelModules;
kernel = config.system.modulesTree;
firmware = config.hardware.firmware;
allowMissing = false;
allowMissing = config.boot.initrd.allowMissingModules;
inherit (config.boot.initrd) extraFirmwarePaths;
};
@@ -783,7 +783,14 @@ in
];
system.build = mkMerge [
{ inherit bootStage1 initialRamdiskSecretAppender extraUtils; }
{
inherit
bootStage1
initialRamdiskSecretAppender
extraUtils
modulesClosure
;
}
# generated in nixos/modules/system/boot/systemd/initrd.nix
(mkIf (!config.boot.initrd.systemd.enable) { inherit initialRamdisk; })
+1 -9
View File
@@ -99,14 +99,6 @@ let
};
kernel-name = config.boot.kernelPackages.kernel.name or "kernel";
# Determine the set of modules that we need to mount the root FS.
modulesClosure = pkgs.makeModulesClosure {
rootModules = config.boot.initrd.availableKernelModules ++ config.boot.initrd.kernelModules;
kernel = config.system.modulesTree;
firmware = config.hardware.firmware;
allowMissing = false;
inherit (config.boot.initrd) extraFirmwarePaths;
};
initrdBinEnv = pkgs.buildEnv {
name = "initrd-bin-env";
@@ -471,7 +463,7 @@ in
}
'';
"/lib".source = "${modulesClosure}/lib";
"/lib".source = "${config.system.build.modulesClosure}/lib";
"/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules;
+1 -3
View File
@@ -326,9 +326,7 @@ in
zfs = lib.mkForce false;
}
'';
type = types.coercedTo (types.listOf types.str) (
enabled: lib.listToAttrs (map (fs: lib.nameValuePair fs true) enabled)
) (types.attrsOf types.bool);
type = types.attrNamesToTrue;
description = ''
Names of supported filesystem types, or an attribute set of file system types
and their state. The set form may be used together with `lib.mkForce` to
@@ -26,6 +26,7 @@ let
luaDrv = originalLuaDrv.overrideAttrs (oa: {
version = attrs.version or oa.version;
__intentionallyOverridingVersion = true;
rockspecVersion = oa.rockspecVersion;
extraConfig = ''
@@ -43,6 +44,7 @@ let
lua.pkgs.luarocksMoveDataFolder
];
version = "${originalLuaDrv.version}-unstable-${oa.version}";
__intentionallyOverridingVersion = true;
}
)
);
@@ -12,13 +12,13 @@
buildKodiAddon rec {
pname = "netflix";
namespace = "plugin.video.netflix";
version = "1.23.3";
version = "1.23.4";
src = fetchFromGitHub {
owner = "CastagnaIT";
repo = namespace;
rev = "v${version}";
hash = "sha256-tve7E7dK60BIHETdwt9hD3/5eEdJB6c6rhw4oDoLAKM=";
hash = "sha256-yq5XNhKQSBh7r/2apHXLMjhovV6xhL9DcDwXn9nt0KQ=";
};
propagatedBuildInputs = [
@@ -67,6 +67,7 @@ let
cef = cef-binary.overrideAttrs (oldAttrs: {
version = "127.3.5";
__intentionallyOverridingVersion = true; # `cef-binary` uses the overridden `srcHash` values in its source FOD
gitRevision = "114ea2a";
chromiumVersion = "127.0.6533.120";
@@ -23,6 +23,7 @@
let
cef = cef-binary.overrideAttrs (oldAttrs: {
version = "126.2.18";
__intentionallyOverridingVersion = true; # `cef-binary` uses the overridden `srcHash` values in its source FOD
gitRevision = "3647d39";
chromiumVersion = "126.0.6478.183";
+2 -3
View File
@@ -36,7 +36,6 @@
systemd,
udev,
xmlto,
which,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -67,7 +66,6 @@ stdenv.mkDerivation (finalAttrs: {
python3Packages.setuptools
systemd
xmlto
which
];
buildInputs = [
@@ -81,6 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
udev
python3Packages.pygobject3
python3Packages.pip
bashInteractive
];
postPatch = ''
@@ -99,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
--replace-fail 'const char *cockpit_config_dirs[] = { PACKAGE_SYSCONF_DIR' 'const char *cockpit_config_dirs[] = { "/etc"'
substituteInPlace src/**/*.c \
--replace '"/bin/sh"' "\"$(which sh)\""
--replace-quiet "/bin/sh" "${lib.getExe bashInteractive}"
# instruct users with problems to create a nixpkgs issue instead of nagging upstream directly
substituteInPlace configure.ac \
+28
View File
@@ -0,0 +1,28 @@
{
lib,
perlPackages,
fetchFromGitLab,
}:
perlPackages.buildPerlPackage rec {
pname = "debsigs";
version = "0.2.2";
src = fetchFromGitLab {
owner = "debsigs";
repo = "debsigs";
tag = "release/${version}";
hash = "sha256-gCc5JmmdhTAUQqkMOK/0YmlCRD0JcpemCpqusYmpoKU=";
};
sourceRoot = "${src.name}/perl";
meta = {
description = "Manipulate the cryptographic signatures stored inside a .deb file";
mainProgram = "debsigs";
homepage = "https://gitlab.com/debsigs/debsigs";
changelog = "https://gitlab.com/debsigs/debsigs/-/tags/release/${version}";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ usertam ];
};
}
+2 -2
View File
@@ -20,14 +20,14 @@
}:
python3Packages.buildPythonApplication rec {
pname = "devtoolbox";
version = "1.2.3";
version = "1.2.5";
pyproject = false; # uses meson
src = fetchFromGitHub {
owner = "aleiepure";
repo = "devtoolbox";
tag = "v${version}";
hash = "sha256-Ns2utC/qiwzEJJkdqwpx320k3srj5OJi8K+u5fI1LwE=";
hash = "sha256-CgpSZvpwBKo2gzp2QbBPFBK0tPhqKFC/DxXdmTWVAwc=";
};
postPatch = ''
+2 -2
View File
@@ -9,7 +9,7 @@
stdenv.mkDerivation rec {
pname = "dinit";
version = "0.19.3";
version = "0.19.4";
src = fetchFromGitHub {
owner = "davmac314";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
postFetch = ''
[ -f "$out/BUILD" ] && rm "$out/BUILD"
'';
hash = "sha256-mhb/0EeJpUReGE2xxVXs0iUGctDOVnpR1Q+IVUtFT0Y=";
hash = "sha256-IKT4k2eXCOCXtiypGbsIpN0OHS+WKqXvr4Mb61fbl0M=";
};
postPatch = ''
+2 -2
View File
@@ -2,9 +2,9 @@
buildDotnetGlobalTool {
pname = "dotnet-ef";
version = "9.0.4";
version = "9.0.5";
nugetHash = "sha256-eQ821C6bx98LJEcdSiozgAaHD2m2+hKVowRTL+L6vzM=";
nugetHash = "sha256-Mu+MlsjH/qa4kMb7z/TuG1lSVSKPX9j9S4mJLVRZ2+E=";
meta = {
description = "The Entity Framework Core tools help with design-time development tasks.";
+55
View File
@@ -0,0 +1,55 @@
{
stdenv,
lib,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
cmake,
pkg-config,
glib,
soapysdr,
sdrplay,
sdrplaySupport ? false,
sqlite,
zeromq,
libacars,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dumpvdl2";
version = "2.4.0";
src = fetchFromGitHub {
owner = "szpajder";
repo = "dumpvdl2";
tag = "v${finalAttrs.version}";
hash = "sha256-kb8FLVuG9tSZta8nmaKRCRZinF1yy4+NNxD5s7X82Wk=";
};
buildInputs = [
glib
soapysdr
sqlite
zeromq
libacars
] ++ lib.optionals sdrplaySupport [ sdrplay ];
nativeBuildInputs = [
cmake
pkg-config
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/szpajder/dumpvdl2";
description = "VDL Mode 2 message decoder and protocol analyzer";
license = lib.licenses.gpl3Plus;
platforms = with lib.platforms; linux ++ darwin;
maintainers = [ lib.maintainers.mafo ];
mainProgram = "dumpvdl2";
};
})
+3 -3
View File
@@ -23,13 +23,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "equibop";
version = "2.1.2";
version = "2.1.4";
src = fetchFromGitHub {
owner = "Equicord";
repo = "Equibop";
tag = "v${finalAttrs.version}";
hash = "sha256-lDDGZUpW9LU5S/gzNJFIuVIk08pQlQLK07RwuzcYyjg=";
hash = "sha256-y5q3shwmMjXlMaLWfxjN164uM8hSbWymsHIIJxM82Nk=";
};
pnpmDeps = pnpm_9.fetchDeps {
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
src
patches
;
hash = "sha256-MuCQJgUHyAKpKWM7lYE49zur+G+KtIVBVXCspWImnY8=";
hash = "sha256-laTyxRh54x3iopGVgoFtcgaV7R6IKux1O/+tzGEy0Fg=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication rec {
pname = "garmindb";
version = "3.6.3";
version = "3.6.4";
pyproject = true;
src = fetchFromGitHub {
owner = "tcgoetz";
repo = "garmindb";
tag = "v${version}";
hash = "sha256-JAUDAYf9CH/BxwV88ziF5Zy+3ibcbieEfHrZpHSU8m0=";
hash = "sha256-0srcvYBexsrkQw+AVH3LuIB/+VaQ77Kjv6rHVOq2Reo=";
};
pythonRelaxDeps = [
+28 -3
View File
@@ -3,23 +3,26 @@
stdenv,
fetchzip,
zstd,
writeShellApplication,
common-updater-scripts,
pcre2,
}:
stdenv.mkDerivation rec {
pname = "geolite-legacy";
version = "20240720";
version = "20250129";
# We use Arch Linux package as a snapshot, because upstream database is updated in-place.
geoip = fetchzip {
url = "https://archive.archlinux.org/packages/g/geoip-database/geoip-database-${version}-1-any.pkg.tar.zst";
hash = "sha256-9rPp1Lu6Q4+Cb4N4e/ezHacpLuUwbGQefEPuSrH8O6o=";
hash = "sha256-/aT/ndml7a3P9/1CM3KhB4/L+F0CDHpHj/NnKWOv2G0=";
nativeBuildInputs = [ zstd ];
stripRoot = false;
};
extra = fetchzip {
url = "https://archive.archlinux.org/packages/g/geoip-database-extra/geoip-database-extra-${version}-1-any.pkg.tar.zst";
hash = "sha256-sb06yszstKalc+b9rSuStRuY3YRebAL1Q4jEJkbGiMI=";
hash = "sha256-qFJKeLEWag5Wvzye5heDs79ai0pkJndmZgS8Ip5T3G4=";
nativeBuildInputs = [ zstd ];
stripRoot = false;
};
@@ -30,6 +33,28 @@ stdenv.mkDerivation rec {
cp ${extra}/usr/share/GeoIP/*.dat $out/share/GeoIP
'';
passthru = {
updateScript = lib.getExe (writeShellApplication {
name = "update-geolite-legacy";
runtimeInputs = [
common-updater-scripts
pcre2
];
text = ''
url=https://archive.archlinux.org/packages/g/geoip-database/
version=$(list-directory-versions --pname geoip-database --url $url |
pcre2grep -o1 '^(\d{8})-1-any\.pkg\.tar\.zst$' |
sort -n |
tail -1)
for key in geoip extra; do
update-source-version "$UPDATE_NIX_ATTR_PATH" "$version" --source-key=$key --ignore-same-version
done
'';
});
};
meta = {
description = "GeoLite Legacy IP geolocation databases";
homepage = "https://mailfud.org/geoip-legacy/";
+2 -2
View File
@@ -9,13 +9,13 @@
}:
buildGoModule rec {
pname = "immich-go";
version = "0.26.0";
version = "0.26.2";
src = fetchFromGitHub {
owner = "simulot";
repo = "immich-go";
tag = "v${version}";
hash = "sha256-ya2KCUGHLdKcoxR83YqNG/4GiSgPABUeVaf1jqHtdzE=";
hash = "sha256-mC7C5B2e57xWrqbyaLM2n79BgdmlgiF2TxTmxT/McSA=";
# Inspired by: https://github.com/NixOS/nixpkgs/blob/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c/pkgs/applications/graphics/pdfcpu/default.nix#L20-L32
# The intention here is to write the information into files in the `src`'s
@@ -33,6 +33,7 @@
let
cef = cef-binary.overrideAttrs (oldAttrs: {
version = "120.1.10";
__intentionallyOverridingVersion = true; # `cef-binary` uses the overridden `srcHash` values in its source FOD
gitRevision = "3ce3184";
chromiumVersion = "120.0.6099.129";
@@ -18,20 +18,6 @@
libxml2,
}:
let
libadwaita' = libadwaita.overrideAttrs (oldAttrs: {
version = "1.6.2-unstable-2025-01-02";
src = oldAttrs.src.override {
tag = null;
rev = "f5f0e7ce69405846a8f8bdad11cef2e2a7e99010";
hash = "sha256-n5RbGHtt2g627T/Tg8m3PjYIl9wfYTIcrplq1pdKAXk=";
};
# `test-application-window` is flaky on aarch64-linux
doCheck = false;
});
in
stdenv.mkDerivation (finalAttrs: {
pname = "netease-cloud-music-gtk";
version = "2.5.2";
@@ -70,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
[
openssl
dbus
libadwaita'
libadwaita
glib-networking
]
++ (with gst_all_1; [
+35
View File
@@ -0,0 +1,35 @@
{
lib,
rustPlatform,
fetchFromGitLab,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "oniux";
version = "0.4.0";
src = fetchFromGitLab {
domain = "gitlab.torproject.org";
owner = "tpo/core";
repo = "oniux";
tag = "v${finalAttrs.version}";
hash = "sha256-wWB/ch8DB2tO4+NuNDaGv8K4AbV5/MbyY01oRGai86A=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-tUOxs9bTcXS3Gq6cHYe+eAGAEYSRvf3JVGugBImbvJM=";
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://gitlab.torproject.org/tpo/core/oniux";
description = "Isolate Applications over Tor using Linux Namespaces";
maintainers = with lib.maintainers; [ tnias ];
platforms = lib.platforms.linux;
license = with lib.licenses; [
asl20
mit
];
mainProgram = "oniux";
};
})
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "sslh";
version = "2.2.1";
version = "2.2.3";
src = fetchFromGitHub {
owner = "yrutschle";
repo = "sslh";
rev = "v${version}";
hash = "sha256-AAGS7/mhlPRbZ6VazVA0wnKf3SrEB/AgF8HgeICwvx4=";
hash = "sha256-SWkhTgJM6s89mgvJbqa+N75+0TYCvlEH1NQgaKjocFo=";
};
postPatch = "patchShebangs *.sh";
+13 -5
View File
@@ -18,6 +18,7 @@
jq,
gettext,
texinfo,
libtool,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -35,7 +36,12 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
autoreconfHook
recutils # recfix
pkg-config
python3.pkgs.jinja2
texinfo # makeinfo
# jq is necessary for some tests and is checked by configure script
jq
];
buildInputs = [
@@ -44,16 +50,14 @@ stdenv.mkDerivation (finalAttrs: {
jansson
libsodium
libpq
libtool
curl
recutils
gettext
texinfo # Fix 'makeinfo' is missing on your system.
libunistring
python3.pkgs.jinja2
# jq is necessary for some tests and is checked by configure script
jq
];
strictDeps = true;
propagatedBuildInputs = [ gnunet ];
# From ./bootstrap
@@ -90,6 +94,10 @@ stdenv.mkDerivation (finalAttrs: {
popd
'';
configureFlags = [
"ac_cv_path__libcurl_config=${lib.getDev curl}/bin/curl-config"
];
enableParallelBuilding = true;
doInstallCheck = true;
@@ -104,5 +104,7 @@ stdenv.mkDerivation (finalAttrs: {
teams = [ lib.teams.ngi ];
platforms = lib.platforms.linux;
mainProgram = "taler-wallet-cli";
# ./configure doesn't understand --build / --host
broken = stdenv.buildPlatform != stdenv.hostPlatform;
};
})
+3 -3
View File
@@ -13,18 +13,18 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "taze";
version = "19.0.4";
version = "19.1.0";
src = fetchFromGitHub {
owner = "antfu-collective";
repo = "taze";
tag = "v${finalAttrs.version}";
hash = "sha256-WHqocBPIop3sNP55+SL1+yibuMQtUnIdMyHxQdQJN5M=";
hash = "sha256-hBXs8S8mOMV7FQIhCzJuhcbTczkwMc5B44fTacAJvyw=";
};
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-AyQMFqtRW8U0zPl0c9kq8olxqgZ97ln0u/UuXw/+QXI=";
hash = "sha256-aUMV2REINp5LDcj1s8bgQAj/4508UEewu+ebD+JT0+M=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -1,7 +1,7 @@
rec {
version = "0.16.0-dev.2";
version = "0.16.0-rc.1";
tag = version;
hash = "sha256-ZCyK6wqFRcKBGo1dgmN9pkvixkLev/STQg7HcrHfG0c=";
cargoHash = "sha256-zqhVwg9+iqjrK2cCGaT4QIN+6CUKZ5ecogA1Oqd8OqQ=";
hash = "sha256-c17CBFPBWe0UR+qwRMLCPGeaozVBq6aRv3haVDoIyyA=";
cargoHash = "sha256-8MulQU6SU1M/ITmPLtYa8SShXRsp7NTMhEZRXEgY5zw=";
updateScript = ./update-unstable.sh;
}
+9 -9
View File
@@ -1,19 +1,19 @@
{
"version": "5.0.23",
"version": "5.1.1",
"darwin-amd64": {
"hash": "sha256-6bnna+8cDuZ593FTbEG6IGAxpuH/hVCjCDZJgkB3qRw=",
"url": "https://github.com/platformsh/cli/releases/download/5.0.23/upsun_5.0.23_darwin_all.tar.gz"
"hash": "sha256-oOM+CP4wWjfWBEejhmDM1hjyWistigPfIqotyOJJU/o=",
"url": "https://github.com/platformsh/cli/releases/download/5.1.1/upsun_5.1.1_darwin_all.tar.gz"
},
"darwin-arm64": {
"hash": "sha256-6bnna+8cDuZ593FTbEG6IGAxpuH/hVCjCDZJgkB3qRw=",
"url": "https://github.com/platformsh/cli/releases/download/5.0.23/upsun_5.0.23_darwin_all.tar.gz"
"hash": "sha256-oOM+CP4wWjfWBEejhmDM1hjyWistigPfIqotyOJJU/o=",
"url": "https://github.com/platformsh/cli/releases/download/5.1.1/upsun_5.1.1_darwin_all.tar.gz"
},
"linux-amd64": {
"hash": "sha256-yxn9r98mUEBCfnd0gkmEKbhPfnHiRxNEsDi3kTJBo6k=",
"url": "https://github.com/platformsh/cli/releases/download/5.0.23/upsun_5.0.23_linux_amd64.tar.gz"
"hash": "sha256-aozHXVnWGGIsOi5AopGbTLzah8AunaUrUoWnakM1+vs=",
"url": "https://github.com/platformsh/cli/releases/download/5.1.1/upsun_5.1.1_linux_amd64.tar.gz"
},
"linux-arm64": {
"hash": "sha256-hr4XXEt/mK4HsV1Wp5oqieQs3gQcAy7AFNACaKA6wmA=",
"url": "https://github.com/platformsh/cli/releases/download/5.0.23/upsun_5.0.23_linux_arm64.tar.gz"
"hash": "sha256-MHb++8FXYo7YRq2HO5IypnyxxCQ7jZ5qysiuqmm0YJg=",
"url": "https://github.com/platformsh/cli/releases/download/5.1.1/upsun_5.1.1_linux_arm64.tar.gz"
}
}
@@ -109,6 +109,7 @@ in
rev = lib.last (lib.splitString "-" (lib.last rel));
in
"${date}-${rev}";
__intentionallyOverridingVersion = true;
meta.broken = luaOlder "5.1" || luaAtLeast "5.5";
@@ -6,16 +6,16 @@
php.buildComposerProject2 (finalAttrs: {
pname = "php-codesniffer";
version = "3.12.2";
version = "3.13.0";
src = fetchFromGitHub {
owner = "PHPCSStandards";
repo = "PHP_CodeSniffer";
tag = finalAttrs.version;
hash = "sha256-6bv5ejTsCAlSoCqtb7NOGVWJ9rYodAgl2zke+2x7ZaM=";
hash = "sha256-ReWLRVKkVY2fiPgZ3MQnHXDUGQYV1zci5B3Musxq5Q0=";
};
vendorHash = "sha256-z3DWMACau49Z46OiUw88y7aTuaFywbFquhjla90FS3E=";
vendorHash = "sha256-+e80bUeTQ6bSvI/rFlCC7vwuM8pMTSnylEnPhH1LD14=";
meta = {
changelog = "https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/tag/${finalAttrs.version}";
@@ -6,7 +6,7 @@
}:
let
version = "1.2.1";
version = "1.3.0";
in
buildPecl {
inherit version;
@@ -16,7 +16,7 @@ buildPecl {
owner = "php";
repo = "pecl-networking-uuid";
tag = "v${version}";
hash = "sha256-C4SoSKkCTQOLKM1h47vbBgiHTG+ChocDB9tzhWfKUsw=";
hash = "sha256-00zJ//O1xqKTedRYThzeXOuL25wKLMZXjJWm/eXLkC4=";
};
buildInputs = [ libuuid ];
@@ -1,29 +1,33 @@
{
lib,
buildPythonPackage,
fetchPypi,
fetchFromGitHub,
pytestCheckHook,
setuptools,
pythonOlder,
}:
buildPythonPackage rec {
pname = "bitstruct";
version = "8.20.0";
version = "8.21.0";
pyproject = true;
src = fetchFromGitHub {
owner = "eerimoq";
repo = "bitstruct";
tag = version;
hash = "sha256-r2FPfSoW1Za7kglwpPXnWvWwzhAB8fQXiLPmbsi/8Ps=";
};
build-system = [
setuptools
];
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-9rFqkwlzE/KmwUZkDJPl+YijnDM2T4wgpChqwcXtXa4=";
};
pythonImportsCheck = [ "bitstruct" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = with lib; {
description = "Python bit pack/unpack package";
homepage = "https://github.com/eerimoq/bitstruct";
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "bluetooth-sensor-state-data";
version = "1.8.0";
version = "1.9.0";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "bluetooth-sensor-state-data";
tag = "v${version}";
hash = "sha256-XWSdPFhoCuIkQR/tXDhEFUsxpoDoiebI73MqRjtAvFo=";
hash = "sha256-V7stHAID6zkLFYDX5HUVF38/8OHa4AZr48FPmSoDcAE=";
};
build-system = [ poetry-core ];
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
aiohttp,
yarl,
aresponses,
@@ -12,16 +13,24 @@
buildPythonPackage rec {
pname = "directv";
version = "0.4.0";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "ctalkington";
repo = "python-directv";
rev = version;
sha256 = "19jckf6qvl8fwi8yff1qy8c44xdz3zpi1ip1md6zl2c503qc91mk";
tag = version;
hash = "sha256-s4bE8ACFCfpNq+HGEO8fv3VCGPI4OOdR5A7RjY2bTKY=";
};
propagatedBuildInputs = [
postPatch = ''
# TypeError: 'Timeout' object does not support the context manager protocol
substituteInPlace directv/directv.py \
--replace-fail "with async_timeout.timeout" "async with async_timeout.timeout"
'';
build-system = [ setuptools ];
dependencies = [
aiohttp
yarl
];
@@ -32,6 +41,8 @@ buildPythonPackage rec {
pytestCheckHook
];
__darwinAllowLocalNetworking = true;
disabledTests = [
# ValueError: Host '#' cannot contain '#' (at position 0)
"test_client_error"
@@ -39,10 +50,11 @@ buildPythonPackage rec {
pythonImportsCheck = [ "directv" ];
meta = with lib; {
meta = {
changelog = "https://github.com/ctalkington/python-directv/releases/tag/${src.tag}";
description = "Asynchronous Python client for DirecTV (SHEF)";
homepage = "https://github.com/ctalkington/python-directv";
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -23,14 +23,14 @@
buildPythonPackage rec {
pname = "langgraph-checkpoint";
version = "2.0.25";
version = "2.0.26";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "checkpoint==${version}";
hash = "sha256-MmbdG5oYLG3rwJ1kr9oJuaWc0Wo7nvqEoFwO9DAw7oM=";
hash = "sha256-DSkjaxUfpsOg2ex0dgfO/UJ7WiQb5wQsAGgHPTckF6o=";
};
sourceRoot = "${src.name}/libs/checkpoint";
+4 -4
View File
@@ -15,22 +15,22 @@
let
pname = "anki-bin";
# Update hashes for both Linux and Darwin!
version = "25.02.4";
version = "25.02.5";
sources = {
linux = fetchurl {
url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
hash = "sha256-vMEmrPrqaasHYQI362mm3/dxCZ6gxan+rPjZrhECYEE=";
hash = "sha256-wYFqT1g+rtoqOR7+Bb5mIJLZ5JdT2M1kcHqJUCuNElA=";
};
# For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
darwin-x86_64 = fetchurl {
url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg";
hash = "sha256-2C4AEy18kP4l2uORqFz7pQvi4wmLqYFyKBJJM26DIzI=";
hash = "sha256-PDlu+oFKWHraPdTuGDCUkO0bhPtkNVibo11B1QkCICw=";
};
darwin-aarch64 = fetchurl {
url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg";
hash = "sha256-5cwcoKxpbeGoBWM/462loI9hwUKg6iQX6VjswI8nA7U=";
hash = "sha256-RqcGHXN29GDGGuFbrQCBmj3cctzoRQZ8svR5hMYPhxs=";
};
};
+2 -2
View File
@@ -1,11 +1,11 @@
{ fetchFromGitHub }:
rec {
version = "4.1.13";
version = "4.1.14";
src = fetchFromGitHub {
owner = "NICMx";
repo = "Jool";
rev = "refs/tags/v${version}";
hash = "sha256-Uls3S53jdoGyJ5xUEipQ0Ev5LAp5wzF2DsaLZCy+6Gc=";
hash = "sha256-fAs289FFdUnddkikm4ceA9d/w1qqqaWuPXmAiq3cIA8=";
};
}
+42 -1
View File
@@ -87,7 +87,48 @@ let
args = rattrs (args // { inherit finalPackage overrideAttrs; });
# ^^^^
overrideAttrs = f0: makeDerivationExtensible (lib.extends (lib.toExtension f0) rattrs);
overrideAttrs =
f0:
let
extends' =
overlay: f:
(
final:
let
prev = f final;
thisOverlay = overlay final prev;
warnForBadVersionOverride = (
thisOverlay ? version
&& !(thisOverlay ? src)
&& !(thisOverlay.__intentionallyOverridingVersion or false)
);
pname = args.pname or "<unknown name>";
version = args.version or "<unknown version>";
pos = builtins.unsafeGetAttrPos "version" thisOverlay;
in
lib.warnIf warnForBadVersionOverride ''
${
args.name or "${pname}-${version}"
} was overridden with `version` but not `src` at ${pos.file or "<unknown file>"}:${
builtins.toString pos.line or "<unknown line>"
}:${builtins.toString pos.column or "<unknown column>"}.
This is most likely not what you want. In order to properly change the version of a package, override
both the `version` and `src` attributes:
hello.overrideAttrs (oldAttrs: rec {
version = "1.0.0";
src = pkgs.fetchurl {
url = "mirror://gnu/hello/hello-''${version}.tar.gz";
hash = "...";
};
})
(To silence this warning, set `__intentionallyOverridingVersion = true` in your `overrideAttrs` call.)
'' (prev // (builtins.removeAttrs thisOverlay [ "__intentionallyOverridingVersion" ]))
);
in
makeDerivationExtensible (extends' (lib.toExtension f0) rattrs);
finalPackage = mkDerivationSimple overrideAttrs args;