Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-04-04 06:23:34 +00:00
committed by GitHub
92 changed files with 944 additions and 9094 deletions
-3
View File
@@ -294,9 +294,6 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/modules/services/databases/mysql.nix @6543
/nixos/modules/services/backup/mysql-backup.nix @6543
# Hardened profile & related modules
/pkgs/os-specific/linux/kernel/hardened/ @fabianhjr
# Home Automation
/nixos/modules/services/home-automation/home-assistant.nix @mweinelt
/nixos/modules/services/home-automation/zigbee2mqtt.nix @mweinelt
-9
View File
@@ -149,15 +149,6 @@ The change gets submitted like this:
```
* Update `linux_latest` to the new attribute.
* __SQUASH__ the changes into the `linux: init at …` commit.
* If a new hardened is available:
* Instantiate a `linux_X_Y_hardened = hardenedKernelsFor kernels.linux_X_Y { };` in `kernels` and
`linux_X_Y_hardened = hardenedKernelFor kernels.linux_X_Y { };` in the `packages`-section.
* Make sure to remove the hardened variant of the previous kernel version unless it's LTS.
We only support the latest and latest LTS version of hardened.
* If no new hardened kernel is available:
* Keep the previously latest kernel until its mainline counterpart gets removed.
After that `linux_hardened` points to the latest LTS supported by hardened.
* __SQUASH__ the changes into the `linux_X_Y_hardened: init at …` commit.
### Policy for accepting new kernel flavours {#sec-linux-new-kernels}
@@ -133,8 +133,12 @@
- `services.pyload` has been removed because the package it relies on does not exist anymore in nixpkgs due to vulnerabilities and being unmaintained.
- `linux_hardened` kernel has been removed due to a lack of maintenance.
- `services.tandoor-recipes` now uses a sub-directory for media files by default starting with `26.05`. Existing setups should move media files out of the data directory and adjust `services.tandoor-recipes.extraConfig.MEDIA_ROOT` accordingly. See [Migrating media files for pre 26.05 installations](#module-services-tandoor-recipes-migrating-media).
- `linux-rt` kernel has been removed due to a lack of maintenance.
- `rustic` was upgraded to `0.11.x`, which contains breaking [changes to command-line parameters and configuration file](https://rustic.cli.rs/docs/breaking_changes.html#0110).
- The packages `iw` and `wirelesstools` (`iwconfig`, `iwlist`, etc.) are no longer installed implicitly if wireless networking has been enabled.
+1 -1
View File
@@ -2360,7 +2360,7 @@ let
description = ''
Whether to manage network configuration using {command}`systemd-network`.
This also enables {option}`systemd.networkd.enable`.
This also enables {option}`systemd.network.enable`.
'';
};
-5
View File
@@ -79,11 +79,6 @@ let
) args);
kernels = patchedPkgs.linuxKernel.vanillaPackages // {
inherit (patchedPkgs.linuxKernel.packages)
linux_6_12_hardened
linux_rt_5_10
linux_rt_5_15
linux_rt_6_1
linux_rt_6_6
linux_testing
;
@@ -12,20 +12,20 @@ let
# update-script-start: urls
urls = {
x86_64-linux = {
url = "https://download.jetbrains.com/datagrip/datagrip-2026.1.tar.gz";
hash = "sha256-iO08H4cMYVKx2p1iJsKqooC5YNGIjTbdqwnM98JC2W8=";
url = "https://download.jetbrains.com/datagrip/datagrip-2026.1.1.tar.gz";
hash = "sha256-XX5Gh+wTep4EqW7pP1nBVtxmSpuYRFg7xK+AUV0qPt4=";
};
aarch64-linux = {
url = "https://download.jetbrains.com/datagrip/datagrip-2026.1-aarch64.tar.gz";
hash = "sha256-8omllZC5WbYOsXsZ6JTVaDNh/QIyUVgmw3zBwY2nfkY=";
url = "https://download.jetbrains.com/datagrip/datagrip-2026.1.1-aarch64.tar.gz";
hash = "sha256-B/0W4u41PUJzF1Lrpkq5I+ZFwTmszFjBTCZncwiNCi0=";
};
x86_64-darwin = {
url = "https://download.jetbrains.com/datagrip/datagrip-2026.1.dmg";
hash = "sha256-UBKNSUVhzJ932Ja7rrugKzqlzxiE5Ynv91yDT6onCNM=";
url = "https://download.jetbrains.com/datagrip/datagrip-2026.1.1.dmg";
hash = "sha256-NcfFMsdTIcsp4fd8PjchO+FdIYo3+Zy2nqrJPjsH5LQ=";
};
aarch64-darwin = {
url = "https://download.jetbrains.com/datagrip/datagrip-2026.1-aarch64.dmg";
hash = "sha256-V7ip2Er8bQL0feLvovF/rpJpCTYM/MhEywNax91F8Gk=";
url = "https://download.jetbrains.com/datagrip/datagrip-2026.1.1-aarch64.dmg";
hash = "sha256-W5fpsJp9QlKaVTEoanOf0tbLhhka3OkI4pdQPsdUauU=";
};
};
# update-script-end: urls
@@ -39,8 +39,8 @@ mkJetBrainsProduct {
product = "DataGrip";
# update-script-start: version
version = "2026.1";
buildNumber = "261.22158.299";
version = "2026.1.1";
buildNumber = "261.22158.354";
# update-script-end: version
src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}"));
@@ -36,13 +36,13 @@
"vendorHash": "sha256-aKD+3Y80B3BUmsBsbeAiSpCx7Qh3U/LlTtB2fk/tlTI="
},
"akamai_akamai": {
"hash": "sha256-vC7hVV/p28y7cv9PONEfRVj5uKgumtbq4HpbOYq9vBQ=",
"hash": "sha256-/+IE06obx4Rxzz3uh5QbeS/FhGlK2qTJJFWGAlDWJaw=",
"homepage": "https://registry.terraform.io/providers/akamai/akamai",
"owner": "akamai",
"repo": "terraform-provider-akamai",
"rev": "v10.0.0",
"rev": "v10.1.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-btxzZZtvgeih+OUhc5QnF8ac22TxpGibffGNkljjq6c="
"vendorHash": "sha256-qjtyg+b3CfF24us0Fqw1KqKEbuoqL4eLe4QCuIAp4SE="
},
"aliyun_alicloud": {
"hash": "sha256-oTQaH0E3e7gBn5BuoDUOGX6plQSQR2Ki6cRzIr31qvs=",
@@ -526,11 +526,11 @@
"vendorHash": null
},
"hashicorp_azurerm": {
"hash": "sha256-evfbdwrB8Y3oRy2NXPfLXPWsFKICzHP4wrtQ6t/mbgQ=",
"hash": "sha256-3rj9YJqgys+IZjx8/pMckAYyv5yKhHdySWlCmgZy5TU=",
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
"owner": "hashicorp",
"repo": "terraform-provider-azurerm",
"rev": "v4.65.0",
"rev": "v4.67.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -55,8 +55,8 @@ let
}
else
{
version = "2026.0";
hash = "sha256-Ipcm9DbMUVv9jEqnrzqXsYBy9xtevQsI2vZWVXHi2es=";
version = "2026.1";
hash = "sha256-2VoxP1bbfgXuOiHlD1gv3uUXbC9guQC6skYf2Vxegb4=";
};
in
@@ -98,13 +98,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "obs-studio";
version = "32.1.0";
version = "32.1.1";
src = fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = finalAttrs.version;
hash = "sha256-edmDqavmDT8+bl0nXmDqYPpkuitg9T8u2fI/j6mWoFc=";
hash = "sha256-p/fr5lO97jCl0HYA0x7ZAS7gAXvA+s7nn3XSj1UvtC4=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -17,12 +17,12 @@
stdenv.mkDerivation rec {
pname = "vdr";
version = "2.6.9";
version = "2.8.1";
src = fetchgit {
url = "git://git.tvdr.de/vdr.git";
rev = version;
hash = "sha256-0Metur3+fQhomf+ClY9zXijNsr5wWkaqnzjUNXjsjss=";
hash = "sha256-jQR+d0BEmKwPRlf4ZTtdDvq/MiIFrsmEqJYoSmk2d84=";
};
enableParallelBuilding = true;
@@ -438,18 +438,18 @@ in
docker_29 =
let
version = "29.3.0";
version = "29.3.1";
in
callPackage dockerGen {
inherit version;
cliRev = "v${version}";
cliHash = "sha256-h4GyKwAbeF5y971iH4zRmfnvx/PxbttPBWc12u5IYvQ=";
cliHash = "sha256-K6aUHPprl5U99610UVHpLH8poWfTNF+FvQZbcPg6/E0=";
mobyRev = "docker-v${version}";
mobyHash = "sha256-CYkZ9geZPQdWMqFc3MOT9aA0GVBtsoRVzxZU801DKlA=";
mobyHash = "sha256-DPWb8kg5GUv2qDyEBfvBH4LBOVCUl0//oEYzLwv2l1I=";
runcRev = "v1.3.4";
runcHash = "sha256-1IfY08sBoDpbLrwz1AKBRSTuCZyOgQzYPHTDUI6fOZ8=";
containerdRev = "v2.2.1";
containerdHash = "sha256-fDOfN0XESrBTDW7Nxj9niqU93BQ5/JaGLwAR3u6Xaik=";
containerdRev = "v2.2.2";
containerdHash = "sha256-1jYiyNHR1sXBwXdS33KWE+IB1tOZbiJyUxhsVeXwSrc=";
tiniRev = "369448a167e8b3da4ca5bca0b3307500c3371828";
tiniHash = "sha256-jCBNfoJAjmcTJBx08kHs+FmbaU82CbQcf0IVjd56Nuw=";
};
-742
View File
@@ -1,742 +0,0 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "CoreFoundation-sys"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0e9889e6db118d49d88d84728d0e964d973a5680befb5f85f55141beea5c20b"
dependencies = [
"libc",
"mach",
]
[[package]]
name = "IOKit-sys"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99696c398cbaf669d2368076bdb3d627fb0ce51a26899d7c61228c5c0af3bf4a"
dependencies = [
"CoreFoundation-sys",
"libc",
"mach",
]
[[package]]
name = "aho-corasick"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
dependencies = [
"memchr",
]
[[package]]
name = "android-tzdata"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
[[package]]
name = "android_system_properties"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
dependencies = [
"libc",
]
[[package]]
name = "anstream"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
dependencies = [
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
"is-terminal",
"utf8parse",
]
[[package]]
name = "anstyle"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
[[package]]
name = "anstyle-parse"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
dependencies = [
"windows-sys",
]
[[package]]
name = "anstyle-wincon"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
dependencies = [
"anstyle",
"windows-sys",
]
[[package]]
name = "anytone-emu"
version = "0.1.0"
dependencies = [
"clap",
"home",
"log",
"nix",
"serialport",
"stderrlog",
]
[[package]]
name = "atty"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi 0.1.19",
"libc",
"winapi",
]
[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487f1e0fcbe47deb8b0574e646def1c903389d95241dd1bbcc6ce4a715dfc0c1"
[[package]]
name = "bumpalo"
version = "3.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
[[package]]
name = "cc"
version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
version = "0.4.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
"wasm-bindgen",
"winapi",
]
[[package]]
name = "clap"
version = "4.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80672091db20273a15cf9fdd4e47ed43b5091ec9841bf4c6145c9dfbbcae09ed"
dependencies = [
"clap_builder",
"clap_derive",
"once_cell",
]
[[package]]
name = "clap_builder"
version = "4.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1458a1df40e1e2afebb7ab60ce55c1fa8f431146205aa5f4887e0b111c27636"
dependencies = [
"anstream",
"anstyle",
"bitflags 1.3.2",
"clap_lex",
"strsim",
]
[[package]]
name = "clap_derive"
version = "4.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f"
dependencies = [
"heck",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "clap_lex"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
[[package]]
name = "colorchoice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "core-foundation-sys"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
[[package]]
name = "errno"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
dependencies = [
"errno-dragonfly",
"libc",
"windows-sys",
]
[[package]]
name = "errno-dragonfly"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
dependencies = [
"cc",
"libc",
]
[[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.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "hermit-abi"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
[[package]]
name = "home"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
dependencies = [
"windows-sys",
]
[[package]]
name = "iana-time-zone"
version = "0.1.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
"windows",
]
[[package]]
name = "iana-time-zone-haiku"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
dependencies = [
"cc",
]
[[package]]
name = "io-lifetimes"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
"hermit-abi 0.3.1",
"libc",
"windows-sys",
]
[[package]]
name = "is-terminal"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
dependencies = [
"hermit-abi 0.3.1",
"io-lifetimes",
"rustix",
"windows-sys",
]
[[package]]
name = "js-sys"
version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
dependencies = [
"wasm-bindgen",
]
[[package]]
name = "libc"
version = "0.2.146"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b"
[[package]]
name = "libudev"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78b324152da65df7bb95acfcaab55e3097ceaab02fb19b228a9eb74d55f135e0"
dependencies = [
"libc",
"libudev-sys",
]
[[package]]
name = "libudev-sys"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
dependencies = [
"libc",
"pkg-config",
]
[[package]]
name = "linux-raw-sys"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
[[package]]
name = "log"
version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
[[package]]
name = "mach"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fd13ee2dd61cc82833ba05ade5a30bb3d63f7ced605ef827063c63078302de9"
dependencies = [
"libc",
]
[[package]]
name = "mach2"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
dependencies = [
"libc",
]
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "memoffset"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
dependencies = [
"autocfg",
]
[[package]]
name = "nix"
version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
dependencies = [
"bitflags 1.3.2",
"cfg-if",
"libc",
"memoffset",
"pin-utils",
"static_assertions",
]
[[package]]
name = "num-traits"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
dependencies = [
"autocfg",
]
[[package]]
name = "once_cell"
version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "pin-utils"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "pkg-config"
version = "0.3.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
[[package]]
name = "proc-macro2"
version = "1.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
dependencies = [
"proc-macro2",
]
[[package]]
name = "regex"
version = "1.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
[[package]]
name = "rustix"
version = "0.37.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0"
dependencies = [
"bitflags 1.3.2",
"errno",
"io-lifetimes",
"libc",
"linux-raw-sys",
"windows-sys",
]
[[package]]
name = "scopeguard"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "serialport"
version = "4.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "353dc2cbfc67c9a14a89a1292a9d8e819bd51066b083e08c1974ba08e3f48c62"
dependencies = [
"CoreFoundation-sys",
"IOKit-sys",
"bitflags 2.0.2",
"cfg-if",
"libudev",
"mach2",
"nix",
"regex",
"scopeguard",
"winapi",
]
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "stderrlog"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69a26bbf6de627d389164afa9783739b56746c6c72c4ed16539f4ff54170327b"
dependencies = [
"atty",
"chrono",
"log",
"termcolor",
"thread_local",
]
[[package]]
name = "strsim"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "syn"
version = "2.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "termcolor"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
dependencies = [
"winapi-util",
]
[[package]]
name = "thread_local"
version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
dependencies = [
"cfg-if",
"once_cell",
]
[[package]]
name = "unicode-ident"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
[[package]]
name = "utf8parse"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "wasm-bindgen"
version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
dependencies = [
"winapi",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
"windows-targets",
]
[[package]]
name = "windows-sys"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets",
]
[[package]]
name = "windows-targets"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+21 -18
View File
@@ -1,44 +1,47 @@
{
lib,
rustPlatform,
stdenv,
fetchFromGitHub,
pkg-config,
udev,
cmake,
librsvg,
kdePackages,
hunspell,
nix-update-script,
}:
rustPlatform.buildRustPackage {
stdenv.mkDerivation (finalAttrs: {
pname = "anytone-emu";
version = "unstable-2023-06-15";
version = "0.4.0";
src = fetchFromGitHub {
owner = "hmatuschek";
owner = "dmr-tools";
repo = "anytone-emu";
rev = "c6a63b1c9638b48ed0969f90a5e11e2a5fe59458";
hash = "sha256-Y+7DkenYiwnfVWtMwmtX64sUN7bBVoReEmZQfEjHn8o=";
tag = "v${finalAttrs.version}";
hash = "sha256-kaXD4mIoEikl9HoS/FfIX0oRAKkZHiwIfNWj0CLazPc=";
};
cargoLock = {
lockFile = ./Cargo.lock;
};
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';
nativeBuildInputs = [
pkg-config
cmake
kdePackages.wrapQtAppsHook
];
buildInputs = [
udev
hunspell
librsvg
kdePackages.qtserialport
kdePackages.qtbase
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Tiny emulator for AnyTone radios";
homepage = "https://github.com/hmatuschek/anytone-emu";
homepage = "https://github.com/dmr-tools/anytone-emu";
license = lib.licenses.gpl3Only;
maintainers = [ ];
platforms = lib.platforms.linux;
mainProgram = "anytone-emu";
};
}
})
+3 -3
View File
@@ -10,17 +10,17 @@
}:
buildGoModule (finalAttrs: {
pname = "aws-vault";
version = "7.9.10";
version = "7.9.13";
src = fetchFromGitHub {
owner = "ByteNess";
repo = "aws-vault";
rev = "v${finalAttrs.version}";
hash = "sha256-loq3mZDydyL1dvtBrg/pIta3jKUzpAe9SOr2bw5QwDk=";
hash = "sha256-O0O7sIx9h5DKrKdqi0ecNM6ImRmCsrUGnk94yn5SRYg=";
};
proxyVendor = true;
vendorHash = "sha256-7xu6MnmbiXOrWe8Lc6drpSEZK6+FcMin4Lg22mvGRFM=";
vendorHash = "sha256-RcQQL+exDBQn5vo+9OT5ShD92WDDjfE+Seqmofiz7hs=";
nativeBuildInputs = [
installShellFiles
+5 -5
View File
@@ -39,7 +39,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "beekeeper-studio";
version = "5.6.3";
version = "5.6.4";
src =
let
@@ -54,10 +54,10 @@ stdenv.mkDerivation (finalAttrs: {
fetchurl {
url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${finalAttrs.version}/${asset}";
hash = selectSystem {
x86_64-linux = "sha256-h0ww43lIxqQeaf5rN5MyS9vVSRqLiW0k2Zp4riiIhEc=";
aarch64-linux = "sha256-w6XfwenJ8B7ak9epd2vc1R8Bf5XWvpx7iPeXPICqLwI=";
x86_64-darwin = "sha256-L9Ll7v0wc6LGeXKRz7LwR1Y7sXDDZlvgc26Q8uFr6+U=";
aarch64-darwin = "sha256-a7+Getrr+6PDPML16Z/wzvIYUzc5WpFptAf2nLLREeM=";
x86_64-linux = "sha256-HAWT2JSM+H4iDvfFAAYTRXWszmyHnxd/iik2f0kfVoY=";
aarch64-linux = "sha256-GZqoIVg/RGheSrbViGJF+U9becDml1TNQisZB+cqO4g=";
x86_64-darwin = "sha256-KqW4tYrxl0fwfiLmGLyjkZHxpHm5CGE5z60Ml+X9W/A=";
aarch64-darwin = "sha256-/Gn+64aXBfpdii/TL4rbUKL2TvibYDDIX08B3/wfOlQ=";
};
};
-2
View File
@@ -86,8 +86,6 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
staslyakhov
];
platforms = if withDriver then [ "x86_64-linux" ] else with lib.platforms; linux ++ darwin;
# https://github.com/chipsec/chipsec/issues/1793
broken = withDriver && kernel.kernelOlder "5.4" && kernel.isHardened;
mainProgram = "chipsec_main";
};
})
+3 -3
View File
@@ -49,7 +49,7 @@
# $ conda-shell
# $ conda install spyder
let
version = "25.11.1-1";
version = "26.1.1-1";
src =
let
@@ -65,8 +65,8 @@ let
fetchurl {
url = "https://repo.anaconda.com/miniconda/Miniconda3-py313_${version}-Linux-${arch}.sh";
hash = selectSystem {
x86_64-linux = "sha256-4LEOBQ6JKOLrmq0sUi7jtdMdMASLipmXZjqKRg1TjO8=";
aarch64-linux = "sha256-nznMjEbKN6/tXlY8wjSzrdNP6i8RGeB23K56N3ymuO4=";
x86_64-linux = "sha256-9t+1tZYU/XspVrJAsldanVggPsf3qZ+FEoFYoP3Fwdc=";
aarch64-linux = "sha256-B8grWuwE1fDz5LJGg1tryF4QSCHLywoFnH6oDwKFA/Q=";
};
};
+14 -6
View File
@@ -30,16 +30,24 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
(fetchpatch {
url = "https://sources.debian.org/data/main/e/eflite/0.4.1-8/debian/patches/cvs-update";
sha256 = "0r631vzmky7b7qyhm152557y4fr0xqrpi3y4w66fcn6p4rj03j05";
url = "https://sources.debian.org/data/main/e/eflite/0.4.1-14/debian/patches/cvs-update";
hash = "sha256-BcgBZCbXWOaM4cSPeDPuIDviTymihAo9Puv4Wf8Ow2Q=";
})
(fetchpatch {
url = "https://sources.debian.org/data/main/e/eflite/0.4.1-8/debian/patches/buf-overflow";
sha256 = "071qk133kb7n7bq6kxgh3p9bba6hcl1ixsn4lx8vp8klijgrvkmx";
url = "https://sources.debian.org/data/main/e/eflite/0.4.1-14/debian/patches/link";
hash = "sha256-zAEJl473sk1H6Ltbbeo9IhWE5/Z6QL7EUV63S24bA10=";
})
(fetchpatch {
url = "https://sources.debian.org/data/main/e/eflite/0.4.1-8/debian/patches/link";
sha256 = "0p833dp4pdsya72bwh3syvkq85927pm6snxvx13lvcppisbhj0fc";
url = "https://sources.debian.org/data/main/e/eflite/0.4.1-14/debian/patches/buf-overflow";
hash = "sha256-vc6dn4x0ortRp8TqHgNl0Ki10h3w9WnwOvasOUaYOBw=";
})
(fetchpatch {
url = "https://sources.debian.org/data/main/e/eflite/0.4.1-14/debian/patches/flags";
hash = "sha256-h7+OewOznlOrGNcn2zfE4kb/0rP+h9rTP3TLlyiPTJM=";
})
(fetchpatch {
url = "https://sources.debian.org/data/main/e/eflite/0.4.1-14/debian/patches/gcc-15";
hash = "sha256-hiQaEM9Rf0KV8rgkXdjj3KIF+4jMYS4J4CT4UIfydGQ=";
})
./format.patch
];
+5 -5
View File
@@ -26,7 +26,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "ente-desktop";
version = "1.7.21";
version = "1.7.22";
src = fetchFromGitHub {
owner = "ente-io";
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
"rust"
];
tag = "photosd-v${finalAttrs.version}";
hash = "sha256-nkI2wfjpQPWPmu+IKbNMQuqby2odRG3Dbyzd7cSxmYY=";
hash = "sha256-iEPUlWe1dmXm0dkl12faKbfqffu8LCm8JTa+uVIBwrA=";
};
sourceRoot = "${finalAttrs.src.name}/desktop";
@@ -52,18 +52,18 @@ stdenv.mkDerivation (finalAttrs: {
sourceRoot
cargoRoot
;
hash = "sha256-ftb0h5MOHyQ2iec6iE7/WdHXgrviLCy8oIqFXv5OTq8=";
hash = "sha256-/FkAxi9KpW/Z6sdo7gfxvCmaAe0JzjubScrcGjbLD88=";
};
offlineCache = fetchYarnDeps {
name = "ente-desktop-${finalAttrs.version}-offline-cache";
inherit (finalAttrs) src sourceRoot;
hash = "sha256-dnjTH68lNqSD/RIiaYdip0U8a2RXCNanqF05WnhzjEA=";
hash = "sha256-OnqrowsT0Yion563QD4RA5whN///q4RbkgMDWXs9icg=";
};
webOfflineCache = fetchYarnDeps {
name = "ente-desktop-${finalAttrs.version}-web-offline-cache";
inherit (finalAttrs) src;
sourceRoot = "${finalAttrs.src.name}/web";
hash = "sha256-NhpSwesQ9B5gEeBQVjEEAKO4A68wfmBoQ3ga/baieNE=";
hash = "sha256-bWOwIa7SD0z2StoUg9HlQGTBq2xXltLgQ2ft8umjg/Y=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants
stdenvNoCC.mkDerivation
{
inherit pname;
version = "0-unstable-2026-03-16";
version = "0-unstable-2026-04-02";
src = fetchFromGitLab {
owner = "aiyahm";
repo = "FairyWren-Icons";
rev = "612fd0b98b1b566d772f8e1ecfe60ae2b4f281ce";
hash = "sha256-D/iR0+fO/j3e4mdyDs/qrUQMlzatICnoUcTAwOLRfxs=";
rev = "515fa1a65a368fcfea9a9e9954809560d4464366";
hash = "sha256-cu0aEIUAK4QGY5V3wWbMkweVugJ8Z99ahbla/Cdl9kM=";
};
propagatedBuildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "gerbil";
version = "1.3.0";
version = "1.3.1";
src = fetchFromGitHub {
owner = "fosrl";
repo = "gerbil";
tag = finalAttrs.version;
hash = "sha256-A3ehUYR5dM2No0AXxOCXZi83Lh/NXo6vMSFtYpvSAJo=";
hash = "sha256-liz1v0vMYH9AbGmKHZV7IBYBAT8fkjUsGzNqRXYDmpU=";
};
vendorHash = "sha256-FZuIDHAQtqEuxE1W4yYRnr4Kj8YedNi0Z1NeuWrgnRc=";
vendorHash = "sha256-NtyU/zKysl9h0wqOtwizrOAJK5ODIc8ZvVtbkogBhm8=";
# patch out the /usr/sbin/iptables
postPatch = ''
+39 -24
View File
@@ -1,7 +1,7 @@
{
lib,
stdenvNoCC,
fetchurl,
fetchzip,
nodejs,
sysctl,
writableTmpDirAsHomeHook,
@@ -11,15 +11,14 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "gemini-cli-bin";
version = "0.34.0";
version = "0.36.0";
src = fetchurl {
url = "https://github.com/google-gemini/gemini-cli/releases/download/v${finalAttrs.version}/gemini.js";
hash = "sha256-Qfol6zATjVK6d4gfA6ql3aVwjqRE7NAYqg5YTyEVDHk=";
src = fetchzip {
url = "https://github.com/google-gemini/gemini-cli/releases/download/v${finalAttrs.version}/gemini-cli-bundle.zip";
hash = "sha256-wu+QZ5roBNY1mwtte+7opKFBRdOCXONW95UEJ7M3gJI=";
stripRoot = false;
};
dontUnpack = true;
strictDeps = true;
nativeBuildInputs = [
@@ -31,24 +30,41 @@ stdenvNoCC.mkDerivation (finalAttrs: {
ripgrep
];
patchPhase = ''
runHook prePatch
# chunk filenames contain unpredictable hashes, use glob to iterate
for chunk in ./chunk-*.js; do
# disable auto-update
if grep -q 'enableAutoUpdate: {' "$chunk"; then
sed -i '/enableAutoUpdate: {/,/}/ s/default: true/default: false/' "$chunk"
fi
# use `ripgrep` from `nixpkgs`, more dependencies but prevent downloading incompatible binary on NixOS
# this workaround can be removed once the following upstream issue is resolved:
# https://github.com/google-gemini/gemini-cli/issues/11438
if grep -q 'await resolveExistingRgPath();' "$chunk"; then
substituteInPlace "$chunk" \
--replace-fail 'const existingPath = await resolveExistingRgPath();' 'const existingPath = "${lib.getExe ripgrep}";'
fi
done
runHook postPatch
'';
installPhase = ''
runHook preInstall
local dest="$out/lib/gemini/gemini.js"
install -Dm644 "$src" "$dest"
local bundleDir="$out/lib/gemini"
# disable auto-update
sed -i '/enableAutoUpdate: {/,/}/ s/default: true/default: false/' "$dest"
# use `ripgrep` from `nixpkgs`, more dependencies but prevent downloading incompatible binary on NixOS
# this workaround can be removed once the following upstream issue is resolved:
# https://github.com/google-gemini/gemini-cli/issues/11438
substituteInPlace "$dest" \
--replace-fail 'const existingPath = await resolveExistingRgPath();' 'const existingPath = "${lib.getExe ripgrep}";'
mkdir -p "$bundleDir"
cp -aT . "$bundleDir"
makeWrapper "${lib.getExe nodejs}" "$out/bin/gemini" \
--add-flags "--no-warnings=DEP0040" \
--add-flags "$dest"
--add-flags "$bundleDir/gemini.js"
runHook postInstall
'';
@@ -60,19 +76,18 @@ stdenvNoCC.mkDerivation (finalAttrs: {
++ lib.optionals (with stdenvNoCC.hostPlatform; isDarwin && isx86_64) [
sysctl
];
# versionCheckHook cannot be used because the reported version might be incorrect (e.g., 0.6.1 returns 0.6.0).
# versionCheckHook cannot be used because it assumes the executable is hermetic,
# but we need `nativeInstallCheckInputs`
installCheckPhase = ''
runHook preInstallCheck
"$out/bin/gemini" -v
"$out/bin/gemini" -v | grep "${finalAttrs.version}"
runHook postInstallCheck
'';
passthru.updateScript = nix-update-script {
# Ignore `preview` and `nightly` tags
extraArgs = [ "--version-regex=^v([0-9.]+)$" ];
};
passthru.updateScript = nix-update-script { };
meta = {
description = "AI agent that brings the power of Gemini directly into your terminal";
+5 -5
View File
@@ -18,13 +18,13 @@
let
pname = "gui-for-clash";
version = "1.18.0";
version = "1.21.1";
src = fetchFromGitHub {
owner = "GUI-for-Cores";
repo = "GUI.for.Clash";
tag = "v${version}";
hash = "sha256-M5M3o7RIXszMW2KGv2UDyR002dNOL3FFj0zM4w4D+U0=";
hash = "sha256-eIJYtXa0JdP7hLvBRnWyh0KkdMWvOd2GRXPaqCvP8yE=";
};
metaCommon = {
@@ -53,8 +53,8 @@ let
sourceRoot
;
pnpm = pnpm_10;
fetcherVersion = 2;
hash = "sha256-AHGPAYw/6FRKO2FY1J84NrLcp+bZOclOF6UFY61npFI=";
fetcherVersion = 3;
hash = "sha256-gr6XIhLKWSOJ4LWiliOvMoA9QbPiohrCPmvObz49/pw=";
};
buildPhase = ''
@@ -84,7 +84,7 @@ buildGoModule {
patches = [ ./xdg-path-and-restart-patch.patch ];
vendorHash = "sha256-xQ6TeVoBe8906+/5X1q4e5QHVo+KHymB+yoxM+Obk18=";
vendorHash = "sha256-EeIxt0BzSaZh1F38btUXN9kAvj12nlqEerVgWVGkiuk=";
nativeBuildInputs = [
autoPatchelfHook
@@ -1,27 +1,9 @@
--- a/bridge/bridge.go
+++ b/bridge/bridge.go
@@ -55,9 +55,14 @@
app := NewApp()
- if Env.OS == "darwin" {
- createMacOSSymlink()
- createMacOSMenus(app)
+ if Env.OS == "linux" || Env.OS == "darwin" {
+ userConfigDir, err := os.UserConfigDir()
+ if err == nil {
+ targetPath := filepath.Join(userConfigDir, Env.AppName)
+ if err := os.MkdirAll(targetPath, 0755); err == nil {
+ Env.BasePath = targetPath
+ }
+ }
}
if Env.OS == "windows" {
@@ -80,7 +85,10 @@
}
@@ -93,7 +93,10 @@
func (a *App) RestartApp() FlagResult {
log.Printf("RestartApp")
- exePath := Env.BasePath + "/" + Env.AppName
+ exePath, err := os.Executable()
+ if err != nil {
File diff suppressed because it is too large Load Diff
@@ -1,51 +0,0 @@
From 7dbff0777c4364eec68cf90488d99f06b11dfa98 Mon Sep 17 00:00:00 2001
From: Felix Buehler <account@buehler.rocks>
Date: Tue, 8 Oct 2024 23:49:40 +0200
Subject: [PATCH] build: Bump time from 0.3.34 to 0.3.36 in /backend
---
backend/Cargo.lock | 8 ++++----
backend/Cargo.toml | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/backend/Cargo.lock b/backend/Cargo.lock
index dc3ac0d4..571bd845 100644
--- a/backend/Cargo.lock
+++ b/backend/Cargo.lock
@@ -4771,9 +4771,9 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.34"
+version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
"deranged",
"itoa 1.0.10",
@@ -4792,9 +4792,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]]
name = "time-macros"
-version = "0.2.17"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [
"num-conv",
"time-core",
diff --git a/backend/Cargo.toml b/backend/Cargo.toml
index 2a689961..3d198dff 100644
--- a/backend/Cargo.toml
+++ b/backend/Cargo.toml
@@ -49,7 +49,7 @@ r2d2 = "0.8.10"
r2d2_sqlite = "0.21.0"
toml = "0.7"
rand = "0.8.5"
-time = "0.3.34"
+time = "0.3.36"
sys-locale = "0.3.0"
uuid = "1.4.1"
rlimit = "0.10.1"
@@ -0,0 +1,64 @@
{
"@esbuild/aix-ppc64@npm:0.27.4": "ba2c14b9cd901d9e7ea99b7de8ac259b146bf978c69866328d1765f277b11105cd16ed4df82107593b5c9b667bba5fbcde73cb7a9f511d98caca9e26778f64a5",
"@esbuild/android-arm64@npm:0.27.4": "d5a06758f91f0cf795d3a77198fc26fefbd78c3ddfce682df8d8ddb96b31ee65549ead1f6040a496dad2a1fc0fa345fab90692eff3410663bd0f39ed670ac727",
"@esbuild/android-arm@npm:0.27.4": "faeac957ba9eaff1c79871151dea2101d03691cb3772ffd5b4475551f54bf7962e1313346b6c06527e5dce09c63391b6b987b06070a544c4b8aaf91652ffbb84",
"@esbuild/android-x64@npm:0.27.4": "7e294ba0331704c4c455763a7132efff4484066b1a522d64c3068c9017749b9b2c59dbb04bfa6491d78fb65da826109af0ea6a7517b06c8a7d7a64e706390e59",
"@esbuild/darwin-arm64@npm:0.27.4": "57f495c8302bfb58852915195e3066166239de00ea84f91f4cc84b7f46dcd126bdbef0ceb22581e643d0c3a2ca34936dd72a96b40291362c2716d3edb6e051ee",
"@esbuild/darwin-x64@npm:0.27.4": "8b0af048b1b03a2145484fa02283b5c0c9b528fb857d510d9a02150854a2df3a08ee93a4ed269b7e1da54c9009273dac2ce75a419c32fd2f516550bfc534fe11",
"@esbuild/freebsd-arm64@npm:0.27.4": "67a551695f67acdbe7ada9dfa0d97d30ba9065cf79fa96d4e8b75c892200ea25ad8187fb108811b0af1e1ba559fb2b7d4ec572a002916bed70bca654e2888c14",
"@esbuild/freebsd-x64@npm:0.27.4": "a3b0ce4ce0f6e3614b49fded87a7c5989e34a4b81876450650f372cb119d835e627c325039c9ec93cb5fbb098a14dd0e8cfda8a24e8be670ec7900a27e9b90f3",
"@esbuild/linux-arm64@npm:0.27.4": "f3467a2e4f7db00b73df8e074d6c4d7b685d90965d7db8bf1a041460027b61cd9e9f258cca66dc26e0a1b5d8cb84263cd7bec81d7513e27f0ea9dc86253e69da",
"@esbuild/linux-arm@npm:0.27.4": "b30c834aca19a68de625214e912e3e5e2b040a32c82acba0c66a70af741b43f5a02ab07fd1e2f42f2bd7d336e0cf25333993dd070e23c70ea6470170a3ad90a1",
"@esbuild/linux-ia32@npm:0.27.4": "51d5d31a222490225f78802cda61d4ba618a3b5b35f3ea57675725f2cf7af32740c8be078fd5bb42952719b81de4e5b692ea1961d0618d827cbd5bc3b8298a94",
"@esbuild/linux-loong64@npm:0.27.4": "225d208ce874ec7bac4b9028933872aacc1b3d7be886f90741efa1cdf853ad51a064c176bd76ff24f0ce1b21946865b72c69a68bbabdf0653873d0f95398a4c8",
"@esbuild/linux-mips64el@npm:0.27.4": "ca438a7ada46810bc1b24ebfcccf0e2c2cc3098e0690b6d2f4dd031bf33160fb5dde07d5644d5a60bdf3768d89667da7c0df30debee684efc47f0ed5b876c6da",
"@esbuild/linux-ppc64@npm:0.27.4": "da0bb5332234921f746da98765b9a20421a5334bbca2abf8fa0f149929a94c5e1a42319b62aaf9711918d42bc0e397e7dbdbda7389ff64c63f843d451378eb0c",
"@esbuild/linux-riscv64@npm:0.27.4": "b6942603508353c956f804e8c037d9d7092b7885f78c88882753e21e978f5aace82c0aaa42a4100edf2fce3be76ce582ff4e550a7a87079446a4b6228918100c",
"@esbuild/linux-s390x@npm:0.27.4": "719d52323400ce16ee69314886ca17a97d7ed6a9886387b7e4e70fae7133721eecb65a44b521d79d9b6a4f9a3c5fd78bfe65a3b0c5315f11e68847d012344d97",
"@esbuild/linux-x64@npm:0.27.4": "2281d03477bd82fecd14fbbe2c6ee385bc196fef87a2dee9be9eae69429af9972b53f869741db3fdfd404d936f38f3aaf237194f506f8113b79aa9978c26ffba",
"@esbuild/netbsd-arm64@npm:0.27.4": "ca68d9ba6054eb15e7de67283073a82b6492871bec6d9b67cee0785c6d4b9a3391f7c286dfe093206a659a05bf27dc2b58c1e730c0d7ddcb997b7643684cd734",
"@esbuild/netbsd-x64@npm:0.27.4": "9ca4d720a2b681d1a01b50005bd00eb6ac182055585adc845fee4312ff87c55a678d19bbcbaad9f4211e9d409c7d03121748524978aa5404143e375e22d2f900",
"@esbuild/openbsd-arm64@npm:0.27.4": "1459bc44aabc838255cae80e33b32eb22fd375d924ca3eed9e0987e33a1ddae6e59ac61e529564ed9ab7ce9ad108db0f9eb4c5558eb8bc63b952d4ff3692f4a6",
"@esbuild/openbsd-x64@npm:0.27.4": "809917a83bb809d51d11d59ebc1bf9f44b6a94fb1f82bd5d52ac642a7dfaf55c90a71351d263d2c164b2d38700aa0dca69afec4840f929ce56daf90a696eadc9",
"@esbuild/openharmony-arm64@npm:0.27.4": "0f9f7dd181d505e0bedae25a73ac26ad9acd099f7b7c49e2ecf12998b59e49c64331616f22cba6b0da9bd7ea6f5b7fc59f7860014dda5e6673d25661042f4237",
"@esbuild/sunos-x64@npm:0.27.4": "16c38ba94b9b2ed6a2ce17e6b5071459f24e7f1df51e4b6555de7310ff1696743089462585c8c49103ea468b8b1b4ee47913d759c5b44b45c15963795c731150",
"@esbuild/win32-arm64@npm:0.27.4": "6e7361fc9a6d12896443f5b59897e5539d642514b9ba440a2d245f84d82b4589744905b6144d6d345a25cb5b1d80dcbc8a87109f4c9d9e88533919587d76c8bf",
"@esbuild/win32-ia32@npm:0.27.4": "36b0fdfeed7263f87a86c93a47d45c07b5e5502dd31c4a3244f058a0ccfa08c206c8d450eac1cc1e0ab98dc1edeb601b60d3b673cec28015d4ed2fd3a0592da5",
"@esbuild/win32-x64@npm:0.27.4": "70e6d04df925717d37f64cf9945a2ce9d5265169df6a9f5d75e60079023d8f0de7ca9f6ac8826a947c313116990562fc6f92c635f0a185bdb6d02e94e967fe77",
"@rollup/rollup-android-arm-eabi@npm:4.59.0": "2826ff51b8b07599cd7c2e7d2fe2e7c2e3af86fcfeadf632ca9d3f27d016b7dad5942644affabde024d1b27c279b94dcf9a6ae4c45863c7305bd58471dc1a94e",
"@rollup/rollup-android-arm64@npm:4.59.0": "b2a578f38602c9db45e262a9d5aacd19816e141dcb6d710e6353b70a02f5e933c4e4e46da9ecfcadb8bfc1daf4fe231f441f4c4fa069a8eaf38a5ac6f3a0462d",
"@rollup/rollup-darwin-arm64@npm:4.59.0": "3cc95b3da303d2a7a57a98fe560e257cd145fc94a89db4a98af89ac1fa84b6885af940433b3d32269c261da6bd11e083f0388048e8b9724606e6e3515538cfb3",
"@rollup/rollup-darwin-x64@npm:4.59.0": "0f77763272fe9cbd8962d8a3231aee1b3d86c61b9550f1820159e5201d3faef3cc2d7f0863d55be5495b92a39faf5063637227698388773d1584c6034934edbd",
"@rollup/rollup-freebsd-arm64@npm:4.59.0": "51775730151716411b33649e556a74a2a46a5ca727ad1d31e8b5df7fbf7d791268061ca0a495b36c8f89860250d7593e3fbcf3a2a67c4cdac19fc49250b3f59c",
"@rollup/rollup-freebsd-x64@npm:4.59.0": "d4cb336a08634b2107217e276423a95fde1b7bfee45fe8963cf366f6f6db991484a4a4f01efae7bfd86de416f21f967c2252ea79f780e52bfaa4a63263cede63",
"@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0": "f69c727132578aa389e8726521e29e8ebf0ff52c6a64b9a1963d50990bce3f8ff90a452d69fd3c27c86bd5afe7281c011118a538108e9e62578c13223896abbf",
"@rollup/rollup-linux-arm-musleabihf@npm:4.59.0": "35f8eb802ffc4a29bdf62d8b862d67058db8f9514ea5c511679c5cf2e2d7b1d27b120784873862a6b131cac50df660f1c8e9c72f5b7d1f10550672315e0a24b9",
"@rollup/rollup-linux-arm64-gnu@npm:4.59.0": "028f9caabc51ee7256c6f6ba1af54eef0cb7360bc845d49bea12fd59ca0dedc357aa847922f190b9c3be268373703e808d5135c50293b45f04dd912bc5a862da",
"@rollup/rollup-linux-arm64-musl@npm:4.59.0": "776dd1c831b89e87f6f0a0286d8ca8f78e9f2a5f3181f9b1b4faba3be5a6e5670533dd54d960c48cb1014edee443ff27f347eb602e69d95983d957e197f8f92c",
"@rollup/rollup-linux-loong64-gnu@npm:4.59.0": "0a5f62209161ed05d730a9a4e8d9d705dec17aefe1d69050f4158ed41377cb2554e9a2b6765e48352739c7212b920fd803db00836222a618184ce930afa85256",
"@rollup/rollup-linux-loong64-musl@npm:4.59.0": "f09230ee8be94149ee57380f2e968d622601c18b922bf40470c296d04b5c161caa8e9cf84e14f72a4d253447d916ef7ae2d9b6b81f48d105117cc6430d6a357d",
"@rollup/rollup-linux-ppc64-gnu@npm:4.59.0": "447c223d4abcafe628546ad41fe28c676d9d06604cb41f3cbb1082113a79c46489117a52a0c8070519c6e62e463e41ee5b23f276576537164f2b85413730d6db",
"@rollup/rollup-linux-ppc64-musl@npm:4.59.0": "58d5e4fa5f84a19529e454e23dde39436ae73f025c69de454b5cb5e0b4a66c327e86e69a5812e9dc629c17cb5f4e218a57514170f12ac70beed1db7785e98273",
"@rollup/rollup-linux-riscv64-gnu@npm:4.59.0": "4604f76606c4b86ae01f92adddea6cb993bbd819ae4a5a4efdb1aa4eea2bfae25290bdd35bbb1683f87666d99122c62fb41a217a09b19ba8acc28e901cdda20e",
"@rollup/rollup-linux-riscv64-musl@npm:4.59.0": "e76794d08db7938f40521ce44e1e4da38bcf516da6a0b9c2c5fc7b08cddb36372103d854af4eef9d8529401aa814eb143f8d69b10cfa4b633bb69edbe39a5a34",
"@rollup/rollup-linux-s390x-gnu@npm:4.59.0": "64a101f176a7b29c352d2c51fae1331f457fbc7cc4181151a9d57498ee230c29d444a9c3e470169082a209c9d63366f808c911a0afd8e06dd83e8164214bd875",
"@rollup/rollup-linux-x64-gnu@npm:4.59.0": "9933d8f44c8b873ff2a1c03c35ea00abc924ec7a1e232bb37e023bb4f245dfd8050d1ad452efe5addc00f15900bcd04fab4f62cab47d3a6a3123224bd3d49879",
"@rollup/rollup-linux-x64-musl@npm:4.59.0": "328a20267480eeb8dd724f2356f79fa400e1383f90827b7c64c5121a53ccc93c228ee9a3646f7510616fba9cb5d34a1b7ce18999ee50602399947770a40cb3e0",
"@rollup/rollup-openbsd-x64@npm:4.59.0": "f54636cc4745ce1c0ad31ccdd6201187518252d05d4f0b173c54511925ddf2e7bc6ceb0265e668bc881f44f45061638f3a84183f0787ade03bdd4437595af03e",
"@rollup/rollup-openharmony-arm64@npm:4.59.0": "60aceb22385cfc660ae4b0f746d6f2b336438f3c4e784f8714883e10ec3d7a94adff151df9dbd1fdb255576f06530435038cd2538877ed684ca2856e5569132b",
"@rollup/rollup-win32-arm64-msvc@npm:4.59.0": "ff8862260fce025b2a8be2c7f19ae82a4dd29e3787f221672b21c699df7bbe3c63b8372647852df9dda2f3fa1a553c3a5fdccb17ddaf3a84566e59f8d3295118",
"@rollup/rollup-win32-ia32-msvc@npm:4.59.0": "e63244f7566e663de6b6e9d2e3bbcb23bb46b3aacbd4965d3798e709f039e99035577fa0af30d075f43139a8f83738ebcbb91faae534570fcdc4fb3776c87955",
"@rollup/rollup-win32-x64-gnu@npm:4.59.0": "5a2728d880c990bf1c6ba2821deae0bab40471fa5e6a5c2dad192a3810137b76fffe24e1b4aabad67aabfdc1e510fd141f43c00cf9a87dab8b1da4f521606148",
"@rollup/rollup-win32-x64-msvc@npm:4.59.0": "e7da947539bb2a0c6c9061f9c62ec67a928fe579563e17f302dc2035a0c38439c7b835b894143a278114298ab636241b6f1b23d61d95c7d1a6488439b68454b7",
"@tauri-apps/cli-darwin-arm64@npm:2.10.1": "1a65173ed084df4c346146db2b0f35ef48bd5f808c08c4f07ae180798bcb8a561e0d980204686b58856841789e589f3bf24c638404b167ccb758f88ab971347f",
"@tauri-apps/cli-darwin-x64@npm:2.10.1": "fd9ab35b96156be977a7eb15a7ff7722e05e22c43c6a22b590180953e0efa47008cab9ae52a1a6c1a20082c668bd41af23ec7515bd2134937cb6676faa0c6a47",
"@tauri-apps/cli-linux-arm-gnueabihf@npm:2.10.1": "3fd77920905de754f74afad803105bd3c31a32dee7ff1ac91248aba11bc233c6bdc8e2b2b65d1113b74c5d379889d8dee4646d6471ff508e8cee8afc1c1d298a",
"@tauri-apps/cli-linux-arm64-gnu@npm:2.10.1": "3cede1e8e068f0c0f36a6b3d29c0346506e7ebf6c3ccaaeb9104f37338cd3ceeecee66969e11090e3a89b08ea82a166409135efceee882900b55d9f62342d16b",
"@tauri-apps/cli-linux-arm64-musl@npm:2.10.1": "73b2d41bdb5bb8b3259e213a80f1879907cb008c040bb30b90852372fd0585f438178955f324640b91a1006180a539b5d06065f45475af69294d2732edfb1234",
"@tauri-apps/cli-linux-riscv64-gnu@npm:2.10.1": "002bdeb8fddbe7406d1b7e46c325a4e5bde6e4e0c5cc471e8e12e72fec2e66c992166d2a1a59ff9b0c111c99f3b5c7b66635cf55f85daa43c96d644b394834db",
"@tauri-apps/cli-linux-x64-gnu@npm:2.10.1": "9203b880f26651242a0403796e1e93b1bdaffec0653628438b18634f90709990fc48ffcb47602e9b976caf94debb69cf9c8e87d11270b182651a7e45740855d6",
"@tauri-apps/cli-linux-x64-musl@npm:2.10.1": "21783cb130c1625740b9247d1c49db65ba9948b959864bba677e1036821c71006a25d691fecb30362c45c08ae422567c65311158dd56e24bda515f90cb1b0c98",
"@tauri-apps/cli-win32-arm64-msvc@npm:2.10.1": "874e2a314178a6d785ef733686e99d3de2deab49354782dc846accfe53422a8016f81d523179091d81a00b32152df1705d66cd3108a9aa596aa98758aaca1841",
"@tauri-apps/cli-win32-ia32-msvc@npm:2.10.1": "565c4a94127d7e47cfea481337230f4e98f9b42ba548046a9ebe464f4cd6ac6083a20a619011e31aa70508c1bce9cd31cebc8f477a696cc6c3db346b8bad06f6",
"@tauri-apps/cli-win32-x64-msvc@npm:2.10.1": "eb80c16f1672cc404d9217943047f1d26790d393c51de3002674657afdf96c4d34f75e7d9ba9e74a1492b31bccbf051c67d0ddf7a3277b5a317abf71474725e6"
}
+30 -40
View File
@@ -3,61 +3,51 @@
stdenv,
fetchFromGitHub,
fetchYarnDeps,
yarn-berry_4,
cargo,
cargo-tauri_1,
cargo-tauri,
cmake,
jq,
moreutils,
nodejs-slim,
pkg-config,
rustc,
rustPlatform,
yarnConfigHook,
webkitgtk_4_1,
cyrus_sasl,
freetype,
libsoup_2_4,
libsoup_3,
openssl,
curl,
nix-update-script,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "insulator2";
version = "2.13.2";
version = "2.14.0";
src = fetchFromGitHub {
owner = "andrewinci";
repo = "insulator2";
rev = "v${version}";
hash = "sha256-34JRIB7/x7miReWOxR/m+atjfUiE3XGyh9OBSbMg3m4=";
rev = "v${finalAttrs.version}";
hash = "sha256-3eDA+pwchnwWtweGeSDlf+Vt0Hoylmanf4hnvJ2YOGU=";
};
patches = [
# see: https://github.com/andrewinci/insulator2/pull/733
./fix-rust-1.80.0.patch
];
# Yarn *really* wants us to use corepack if this is set
postPatch = ''
jq 'del(.packageManager)' package.json | sponge package.json
'';
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-5wOgVrcHJVF07QpnN52d4VWEM3FKw3NdLrZ1goAP2oI=";
missingHashes = ./missing-hashes.json;
offlineCache = yarn-berry_4.fetchYarnBerryDeps {
inherit (finalAttrs) src missingHashes;
hash = "sha256-3BgvOoGMY86xzSHf6S0265PYOPEgLv77nT6CO9IGdwc=";
};
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
"apache-avro-0.16.0" = "sha256-v4TeJEhLEqQUgj+EHgFRVUGoLC+SpOUhAXngMP7R7nM=";
"rust-keystore-0.1.1" = "sha256-Cj64uJFZNxnrplhRuqf9/HK/RAaawzfYHo/J9snZ+TU=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
sourceRoot = finalAttrs.src.name + "/backend";
hash = "sha256-u5WFV7luvqSQQtEJFlN//GH6iNcQpH/o01ME1dPtOB4=";
};
cargoRoot = "backend/";
buildAndTestSubdir = cargoRoot;
buildAndTestSubdir = finalAttrs.cargoRoot;
strictDeps = true;
@@ -65,34 +55,34 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
cargo
cargo-tauri_1.hook
cargo-tauri.hook
cmake
jq
moreutils # for sponge
nodejs-slim
pkg-config
rustc
rustPlatform.cargoSetupHook
yarnConfigHook
yarn-berry_4
yarn-berry_4.yarnBerryConfigHook
];
buildInputs = [
cyrus_sasl
freetype
libsoup_2_4
libsoup_3
openssl
# webkitgtk_4_0
webkitgtk_4_1
curl
];
env.OPENSSL_NO_VENDOR = 1;
passthru.updateScript = nix-update-script { };
meta = {
# webkitgtk_4_0 was removed
broken = true;
description = "Client UI to inspect Kafka topics, consume, produce and much more";
homepage = "https://github.com/andrewinci/insulator2";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ tc-kaluza ];
mainProgram = "insulator-2";
mainProgram = "insulator2";
};
}
})
+410 -343
View File
File diff suppressed because it is too large Load Diff
+31 -24
View File
@@ -1,8 +1,8 @@
diff --git a/build.gradle.kts b/build.gradle.kts
index 7e4d28a9..0fe94ff6 100644
index df96f46c..f1f422f2 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -115,46 +115,11 @@ fun isNonStable(version: String): Boolean {
@@ -126,42 +126,11 @@ fun isNonStable(version: String): Boolean {
destinationDirectory.set(layout.buildDirectory)
}
@@ -10,9 +10,7 @@ index 7e4d28a9..0fe94ff6 100644
- group = "jadx"
- description = "Build Windows bundle"
-
- val guiTask = tasks.getByPath("jadx-gui:copyDistWin")
- dependsOn(guiTask)
- from(guiTask.outputs)
- from(distWinConfiguration)
-
- destinationDirectory.set(layout.buildDirectory.dir("distWin"))
- archiveFileName.set("jadx-gui-$jadxVersion-win.zip")
@@ -22,9 +20,7 @@ index 7e4d28a9..0fe94ff6 100644
-val distWinWithJre by tasks.registering(Zip::class) {
- description = "Build Windows with JRE bundle"
-
- val guiTask = tasks.getByPath(":jadx-gui:copyDistWinWithJre")
- dependsOn(guiTask)
- from(guiTask.outputs)
- from(distWinWithJreConfiguration)
-
- destinationDirectory.set(layout.buildDirectory.dir("distWinWithJre"))
- archiveFileName.set("jadx-gui-$jadxVersion-with-jre-win.zip")
@@ -50,20 +46,20 @@ index 7e4d28a9..0fe94ff6 100644
val cleanBuildDir by tasks.registering(Delete::class) {
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index ff9e7e36..7a63af40 100644
index ed67e57a..99aa9eb4 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -4,8 +4,6 @@
dependencies {
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.0")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.10")
-
- implementation("org.openrewrite:plugin:6.19.1")
}
repositories {
diff --git a/buildSrc/src/main/kotlin/jadx-java.gradle.kts b/buildSrc/src/main/kotlin/jadx-java.gradle.kts
index ad65de18..ecb53db1 100644
index 0f60d301..5e577155 100644
--- a/buildSrc/src/main/kotlin/jadx-java.gradle.kts
+++ b/buildSrc/src/main/kotlin/jadx-java.gradle.kts
@@ -3,8 +3,6 @@
@@ -77,7 +73,7 @@ index ad65de18..ecb53db1 100644
val jadxVersion: String by rootProject.extra
diff --git a/buildSrc/src/main/kotlin/jadx-rewrite.gradle.kts b/buildSrc/src/main/kotlin/jadx-rewrite.gradle.kts
deleted file mode 100644
index aab46d55..00000000
index ceca3fe5..00000000
--- a/buildSrc/src/main/kotlin/jadx-rewrite.gradle.kts
+++ /dev/null
@@ -1,35 +0,0 @@
@@ -90,10 +86,10 @@ index aab46d55..00000000
-}
-
-dependencies {
- rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:3.13.0")
- rewrite("org.openrewrite.recipe:rewrite-logging-frameworks:3.11.0")
- rewrite("org.openrewrite.recipe:rewrite-migrate-java:3.13.0")
- rewrite("org.openrewrite.recipe:rewrite-static-analysis:2.12.0")
- rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:3.24.0")
- rewrite("org.openrewrite.recipe:rewrite-logging-frameworks:3.20.0")
- rewrite("org.openrewrite.recipe:rewrite-migrate-java:3.24.0")
- rewrite("org.openrewrite.recipe:rewrite-static-analysis:2.24.0")
-}
-
-tasks {
@@ -117,18 +113,18 @@ index aab46d55..00000000
- }
-}
diff --git a/jadx-gui/build.gradle.kts b/jadx-gui/build.gradle.kts
index b9d64ae7..4c1c23f8 100644
index 2677881f..4cec0884 100644
--- a/jadx-gui/build.gradle.kts
+++ b/jadx-gui/build.gradle.kts
@@ -2,7 +2,6 @@
id("jadx-kotlin")
@@ -3,7 +3,6 @@
id("application")
id("jadx-library")
- id("edu.sc.seis.launch4j") version "3.0.6"
id("com.gradleup.shadow") version "8.3.8"
id("org.beryx.runtime") version "1.13.1"
- id("edu.sc.seis.launch4j") version "4.0.0"
id("org.beryx.runtime") version "2.0.1"
}
@@ -136,36 +135,6 @@
@@ -129,36 +128,6 @@
}
}
@@ -165,7 +161,7 @@ index b9d64ae7..4c1c23f8 100644
runtime {
addOptions("--strip-debug", "--compress", "zip-9", "--no-header-files", "--no-man-pages")
addModules(
@@ -186,48 +155,6 @@ fun escapeJVMOptions(): List<String> {
@@ -179,48 +148,6 @@ fun escapeJVMOptions(): List<String> {
}
}
@@ -211,6 +207,17 @@ index b9d64ae7..4c1c23f8 100644
- duplicatesStrategy = DuplicatesStrategy.EXCLUDE
-}
-
/**
* Register and expose distribution artifacts to use in top level packaging tasks
*/
@@ -230,10 +157,6 @@ fun escapeJVMOptions(): List<String> {
val distWinWithJreConfiguration by configurations.creating {
isCanBeResolved = false
}
-artifacts {
- add(distWinConfiguration.name, copyDistWin)
- add(distWinWithJreConfiguration.name, copyDistWinWithJre)
-}
val syncNLSLines by tasks.registering(JavaExec::class) {
group = "jadx-dev"
description = "Utility task to sync new/missing translation using EN as a reference"
+2 -2
View File
@@ -17,13 +17,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "jadx";
version = "1.5.3";
version = "1.5.5";
src = fetchFromGitHub {
owner = "skylot";
repo = "jadx";
rev = "v${finalAttrs.version}";
hash = "sha256-YfA0o25A3jtqVTB8LsJGCS6+dk7zt9kWnxlzDceHjeg=";
hash = "sha256-WONsXDNhlDuqKsS2Olz3ndZIbi6mdi9JBKaHPpcdTQQ=";
};
patches = [
+16 -9
View File
@@ -1,19 +1,23 @@
{
stdenv,
lib,
fetchurl,
cmake,
perl,
fetchFromGitLab,
gnuplot,
nix-update-script,
perl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libcerf";
version = "3.2";
version = "3.3";
src = fetchurl {
url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${finalAttrs.version}/libcerf-v${finalAttrs.version}.tar.gz";
sha256 = "sha256-6o0RDXPsJKZDBCyjlARhzLsbZUHiExDstwq05NwUSu8=";
src = fetchFromGitLab {
domain = "jugit.fz-juelich.de";
owner = "mlz";
repo = "libcerf";
tag = "v${finalAttrs.version}";
hash = "sha256-EPloejabyLzLP+GIPSIsh6dZDk2WodSEU6CPoICRxnM=";
};
nativeBuildInputs = [
@@ -21,15 +25,18 @@ stdenv.mkDerivation (finalAttrs: {
perl
];
passthru.tests = {
inherit gnuplot;
passthru = {
tests = {
inherit gnuplot;
};
updateScript = nix-update-script { };
};
meta = {
description = "Complex error (erf), Dawson, Faddeeva, and Voigt function library";
homepage = "https://jugit.fz-juelich.de/mlz/libcerf";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = with lib.maintainers; [ hythera ];
platforms = lib.platforms.all;
};
})
@@ -14,13 +14,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "mate-wayland-session";
version = "1.28.4";
version = "1.28.5";
src = fetchFromGitHub {
owner = "mate-desktop";
repo = "mate-wayland-session";
rev = "v${finalAttrs.version}";
hash = "sha256-jcYkiJOo1k0bMP/LkBW+QIrSyoj6qi8zZMTxqmuNQd0=";
hash = "sha256-YWuBAzsLrvnwGgXbcDzIZtQIscIl37Y3wIRCOKidtYo=";
};
nativeBuildInputs = [
@@ -33,9 +33,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
substituteInPlace session/mate-wayland-components.sh \
--replace-fail "polkit-mate-authentication-agent-1" "${mate-polkit}/libexec/polkit-mate-authentication-agent-1" \
--replace-fail "mate-notification-daemon" "${mate-notification-daemon}/libexec/mate-notification-daemon" \
--replace-fail "mate-settings-daemon" "${mate-settings-daemon}/libexec/mate-settings-daemon" \
--replace-fail "cat /usr/bin/blueman-applet" "command -v blueman-applet" \
--replace-fail "cat /usr/bin/gnome-keyring-daemon" "command -v gnome-keyring-daemon"
--replace-fail "mate-settings-daemon" "${mate-settings-daemon}/libexec/mate-settings-daemon"
substituteInPlace session/mate-wayland.sh \
--replace-fail "/usr/share/doc/wayfire/examples/wayfire.ini" "${wayfire.src}/wayfire.ini"
@@ -43,7 +41,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
passthru = {
providedSessions = [ "MATE" ];
updateScript = gitUpdater { rev-prefix = "v"; };
updateScript = gitUpdater {
rev-prefix = "v";
odd-unstable = true;
};
};
meta = {
+3 -3
View File
@@ -15,16 +15,16 @@ in
buildGo126Module (finalAttrs: {
pname = "mediamtx";
# check for hls.js version updates in internal/servers/hls/hlsjsdownloader/VERSION
version = "1.17.0";
version = "1.17.1";
src = fetchFromGitHub {
owner = "bluenviron";
repo = "mediamtx";
tag = "v${finalAttrs.version}";
hash = "sha256-k+XpnoERFJdpjvyby6vvRyJst9nA2NDq3cMkGL7kRQE=";
hash = "sha256-KI6JSyhbraynwwuNp6rBH/VN9/oIJYGC8rTqyTvfDOU=";
};
vendorHash = "sha256-h3i9pSjCs4A2HBiVF8yz0BN6n9UmuOxNurPFlxFGxtw=";
vendorHash = "sha256-4UFSiPDslVHp6olB3c1AEm1ZxgCdeUKTp3KwqEo152I=";
postPatch = ''
cp ${hlsJs} internal/servers/hls/hls.min.js
+2 -2
View File
@@ -11,13 +11,13 @@
buildGoModule (finalAttrs: {
pname = "mongo-tools";
version = "100.15.0";
version = "100.16.0";
src = fetchFromGitHub {
owner = "mongodb";
repo = "mongo-tools";
tag = finalAttrs.version;
hash = "sha256-BiiqCVuwXLpLO2nksYBzJwDnJYk3vMVwVgldEdvxq78=";
hash = "sha256-r5oqgHs5aFeuKTGPy/+DPdJbc70S53frBh0ffMBiEFs=";
};
vendorHash = null;
+9 -2
View File
@@ -12,20 +12,23 @@
dbus,
gdk-pixbuf,
nix-update-script,
wrapGAppsHook3,
gst_all_1,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "museeks";
version = "0.23.1";
version = "0.23.4";
src = fetchurl {
url = "https://github.com/martpie/museeks/releases/download/${finalAttrs.version}/Museeks_${finalAttrs.version}_amd64.deb";
hash = "sha256-bji49ncJriDGrYoC0VYfblcGPDU66Ep+c/z9FNEXnkI=";
hash = "sha256-2WkWBd4opWpCcjE+uWRbDC8RPQoVvflpxbWuuNF2Z54=";
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
wrapGAppsHook3
];
buildInputs = [
@@ -37,6 +40,10 @@ stdenv.mkDerivation (finalAttrs: {
gdk-pixbuf
glib
(lib.getLib stdenv.cc.cc)
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
];
installPhase = ''
+11 -6
View File
@@ -2,24 +2,26 @@
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "nhost-cli";
version = "1.31.3";
version = "1.42.1";
src = fetchFromGitHub {
owner = "nhost";
repo = "cli";
tag = "v${finalAttrs.version}";
hash = "sha256-hUltJCehmlIDRLdJNGC/Oyjl6rnQHzjxSjrQEaDCdAo=";
repo = "nhost";
tag = "cli@${finalAttrs.version}";
hash = "sha256-n61YgU1/Ad1NMZr/1/jnmuZpN8PemPUW/gomf+ETvRw=";
};
sourceRoot = "${finalAttrs.src.name}/cli";
vendorHash = null;
ldflags = [
"-s"
"-w"
"-X=main.Version=v${finalAttrs.version}"
];
@@ -30,10 +32,13 @@ buildGoModule (finalAttrs: {
# require network access
checkFlags = [ "-skip=^TestMakeJSONRequest$" ];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
meta = {
description = "Tool for setting up a local development environment for Nhost";
homepage = "https://github.com/nhost/cli";
changelog = "https://github.com/nhost/cli/releases/tag/v${finalAttrs.version}";
changelog = "https://github.com/nhost/nhost/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ moraxyc ];
mainProgram = "nhost";
@@ -6,14 +6,14 @@
buildGoModule (finalAttrs: {
pname = "ntfy-alertmanager";
version = "0.5.0";
version = "1.0.0";
src = fetchurl {
url = "https://git.xenrox.net/~xenrox/ntfy-alertmanager/refs/download/v${finalAttrs.version}/ntfy-alertmanager-${finalAttrs.version}.tar.gz";
hash = "sha256-Sn2hPt03o4Pi1WY/3d5oWhWUt8x+3P8hoNPS58tj0Kw=";
hash = "sha256-SYDxwnSIUn0GVXIcD6ntf2l1Flaa4ebeTDdlXlNP6/M=";
};
vendorHash = "sha256-NHaLv+Ulzl4ev3a6OjZiacCSmYAtvqFFmbYzAp+4AFU=";
vendorHash = "sha256-tqP/3yBkZQAAehNQVyU9j+jLBwBf/XWVQ+81Rz9+D2Y=";
meta = {
description = "Bridge between ntfy and Alertmanager";
+3 -3
View File
@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ntpd-rs";
version = "1.7.1";
version = "1.7.2";
src = fetchFromGitHub {
owner = "pendulum-project";
repo = "ntpd-rs";
tag = "v${finalAttrs.version}";
hash = "sha256-gOt2X/tqtFrmxkTO/8UFwmyX0vPKHsTu+qe5AfqDtMk=";
hash = "sha256-xH9Z/aOfqY51GxbJeTidsEIbbKNaqNa/okIInvPKxp0=";
};
cargoHash = "sha256-DXAy/K70sNhVOjDOd6G/juE7JgmewPzGHZDeXAOZ1+s=";
cargoHash = "sha256-9NeNBoq8OzSUilZVvYC1jL9Mf3pLKAsFBMWiSO/ky7I=";
nativeBuildInputs = [
pandoc
+2 -2
View File
@@ -11,13 +11,13 @@
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
stdenv.mkDerivation (finalAttrs: {
pname = "onednn";
version = "3.11.1";
version = "3.11.2";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "oneDNN";
rev = "v${finalAttrs.version}";
hash = "sha256-1U932f5RgXT0DVg0rk2GwbdVqtkibctsTYTX7ey9HVY=";
hash = "sha256-xJTllrKs6mPNM85ZqyHTHWKpVOtOghmg4ZRFAvQZ4WU=";
};
outputs = [
+3 -16
View File
@@ -2,33 +2,26 @@
lib,
python3,
fetchFromGitHub,
fetchpatch2,
zlib,
nixosTests,
postgresqlTestHook,
postgresql,
yarn-berry_4,
nodejs,
autoconf,
automake,
libtool,
libpng,
nasm,
pkg-config,
stdenv,
server-mode ? true,
}:
let
pname = "pgadmin";
version = "9.13";
yarnHash = "sha256-ViqjZ40M78EZ4ZOMuiAGJqx6Xyv4dqY9X7jMDbohaY8=";
version = "9.14";
yarnHash = "sha256-j/5qoCrhC7xBPaS6NhZFFQtJ7ThL/wkFXoCtyreLHco=";
src = fetchFromGitHub {
owner = "pgadmin-org";
repo = "pgadmin4";
rev = "REL-${lib.versions.major version}_${lib.versions.minor version}";
hash = "sha256-dG8oxE9g30Dz3K3PveoMjPa1/eY9RWEV2QBdx2Dz+Rg=";
hash = "sha256-NQe1ZN8jQEJE5qSpL5MjgLwWLGrGXCIHaCd8zLpsx3s=";
};
# keep the scope, as it is used throughout the derivation and tests
@@ -68,12 +61,6 @@ pythonPackages.buildPythonApplication rec {
./expose-setup.py.patch
# check for permission of /etc/pgadmin/config_system and don't fail
./check-system-config-dir.patch
# fix session.py See https://github.com/pgadmin-org/pgadmin4/pull/9706
(fetchpatch2 {
name = "session.patch";
url = "https://github.com/pgadmin-org/pgadmin4/commit/7043587387c17635f62bab8414546bb8c0dbadf4.patch?full_index=1";
hash = "sha256-gZrO0dBy5EklZf/dKr9j3RJ54rtzFrw53v91vqkRboY=";
})
];
postPatch = ''
+1 -1
View File
@@ -11,7 +11,7 @@ let
src = fetchurl {
url = "https://github.com/QIDITECH/QIDIStudio/releases/download/v${version}/QIDIStudio_v0${version}_Ubuntu24.AppImage";
hash = "sha256-ikLqTei2smj++AbzNOOwW5PGy2zxmdAvXUQJ1YQ4zMU=";
hash = "sha256-bjQsLWuBcA9rWwX8UICgh0SKJ3zQe1oZWcqf7buoe6E=";
};
appimageContents = appimageTools.extract {
@@ -12,7 +12,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
src = fetchurl rec {
name = "VNC-Viewer-${finalAttrs.version}-MacOSX-universal.dmg";
url = "https://downloads.realvnc.com/download/file/viewer.files/${name}";
hash = "sha256-SiBlw9ihKDLDWBPUxn3cfM0jbUaWDxQ9JDaeDNczQ7c=";
hash = "sha256-nWS7XsAQFcp2uoXXzT+a542Q9vwloZEQHqf4eieKqUA=";
};
sourceRoot = ".";
+1 -1
View File
@@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
"x86_64-linux" = fetchurl rec {
name = "VNC-Viewer-${finalAttrs.version}-Linux-x64.rpm";
url = "https://downloads.realvnc.com/download/file/viewer.files/${name}";
hash = "sha256-fwMfQdOyLnYVfdBj80JHWT+CnKpq/9oM5oNF3aP+jgo=";
hash = "sha256-rIOP7d8qrOeMgaQRYo+GRXT1fLnPegdpONT0p5aBCxM=";
};
}
.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@@ -5,7 +5,7 @@
}:
let
pname = "realvnc-vnc-viewer";
version = "7.12.1";
version = "7.15.1";
meta = {
description = "VNC remote desktop client software by RealVNC";
+3 -3
View File
@@ -26,14 +26,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "s7";
version = "11.7-unstable-2026-03-24";
version = "11.8-unstable-2026-04-02";
src = fetchFromGitLab {
domain = "cm-gitlab.stanford.edu";
owner = "bil";
repo = "s7";
rev = "cd2667b03715dde80c0188ee117d1853b8c2a05f";
hash = "sha256-1+b8yM8JkHRn8b/BsETf5sLWGBN0QSdzQ31NH6Hni0U=";
rev = "937734e05b00c5c2e6b0b6609dfdc38c2be74cda";
hash = "sha256-1ZLRJ5shXrkaey3121Z7P6/ZuUSW43PKRcb4QHYDCOI=";
};
buildInputs =
+11 -5
View File
@@ -3,7 +3,6 @@
rustPlatform,
fetchFromGitHub,
nix-update-script,
# Deps
gdk-pixbuf,
glib,
@@ -16,21 +15,22 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "samrewritten";
version = "20251229.1";
version = "1.2.3";
src = fetchFromGitHub {
owner = "PaulCombal";
repo = "SamRewritten";
tag = finalAttrs.version;
hash = "sha256-E5/h14QnAAkZOrFmrXo457t1cPPNnRTka+CJ1Psor7A=";
tag = "v${finalAttrs.version}";
hash = "sha256-UHq09i0f7tLgAMIEA+GrLqKxzdsFmUrp3iIGAM+MXJ0=";
};
cargoHash = "sha256-7FVjWiNzAQTN9ITmdoRZaQRnwg+epJyphil1e8QAHfo=";
cargoHash = "sha256-jPCF+wIb+DESph5dtF80NV7ydxWm09BQyf4eO2BKmNI=";
# Tests require network access and a running Steam client. Skipping.
doCheck = false;
nativeBuildInputs = [
glib
pkg-config
wrapGAppsHook4
];
@@ -44,6 +44,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
pango
];
postInstall = ''
install -Dm644 assets/org.samrewritten.SamRewritten.gschema.xml \
$out/share/glib-2.0/schemas/org.samrewritten.SamRewritten.gschema.xml
glib-compile-schemas $out/share/glib-2.0/schemas
'';
env.PKG_CONFIG_PATH = "${openssl.dev}/lib/pkgconfig";
passthru.updateScript = nix-update-script { };
+4 -4
View File
@@ -4,7 +4,7 @@
nixosTests,
fetchFromGitHub,
cmake,
asciidoc,
asciidoctor,
pkg-config,
db,
curl,
@@ -23,13 +23,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "saunafs";
version = "5.3.0";
version = "5.8.0";
src = fetchFromGitHub {
owner = "leil-io";
repo = "saunafs";
rev = "v${finalAttrs.version}";
hash = "sha256-pT12m50q6unqx9IzRHRs8WE7ygVJW8bi0IKUHu8bGCs=";
hash = "sha256-XXv+gCjRoMrufpRKDGmwuZUTAVioZXb7mTEKlZ2SuAk=";
};
patches = [
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
asciidoc
asciidoctor
pkg-config
];
buildInputs = [
+3 -3
View File
@@ -42,20 +42,20 @@ in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sparkle";
version = "1.26.2";
version = "1.26.3";
src = fetchFromGitHub {
owner = "xishang0128";
repo = "sparkle";
tag = finalAttrs.version;
hash = "sha256-6/VdWVobiBjjggC215g/zZmVAx1EzGbPE6+xp6ekcJw=";
hash = "sha256-36eqSgXDl3ASDO4wn8cCptSE4qf3FwFyl+TEhCzhGwA=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-P0KwmLwj1FIWBduT2DzOaRCYrbQ+kvcCdCgabAhmMm8=";
hash = "sha256-uiUp2YtPMvG0d9GIedxNzkY0TR/bdbWQv4IFiVZew5s=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,15 +8,15 @@
buildGoModule (finalAttrs: {
pname = "stayrtr";
version = "0.6.2";
version = "0.6.4";
src = fetchFromGitHub {
owner = "bgp";
repo = "stayrtr";
rev = "v${finalAttrs.version}";
hash = "sha256-QdPp+AHOVn/L4lArhwUNNu3OP2ALEFzs/hVnfSxaEbg=";
hash = "sha256-7/n1rflDgJy2X/PTBTnxuxHMi1Kq/vwQQUepFb11EC0=";
};
vendorHash = "sha256-m1CHpmTUQVkBjkjg2bjl9llU1Le1GLRKKLGT4h7MbnE=";
vendorHash = "sha256-ACfCBbW42tic/m86/pAUquqzK1k05VUtH61mRD4Hu+4=";
ldflags = [
"-s"
+3 -3
View File
@@ -16,16 +16,16 @@
buildNpmPackage rec {
pname = "teams-for-linux";
version = "2.7.12";
version = "2.7.13";
src = fetchFromGitHub {
owner = "IsmaelMartinez";
repo = "teams-for-linux";
tag = "v${version}";
hash = "sha256-76pp0ON36aRBDnU4rsg/jTr+kNV+JsOMIclkxKp4JQk=";
hash = "sha256-5JgmV4VeeM3mMlI3AI4BuF9wFzjsrLnmOCESnKbqY9c=";
};
npmDepsHash = "sha256-UkgNfuIwDWc/5zn3m5cvcNgZVRYJdKb6XkncF5CCowU=";
npmDepsHash = "sha256-ChtRC+NtjZdl5mFirSSz6Jo4CvebH1UqtJ4ywfjWEOI=";
nativeBuildInputs = [
makeWrapper
+4 -4
View File
@@ -10,7 +10,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tideways-daemon";
version = "1.15.0";
version = "1.15.2";
src =
finalAttrs.passthru.sources.${stdenvNoCC.hostPlatform.system}
@@ -28,15 +28,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
sources = {
"x86_64-linux" = fetchurl {
url = "https://tideways.s3.amazonaws.com/daemon/${finalAttrs.version}/tideways-daemon_linux_amd64-${finalAttrs.version}.tar.gz";
hash = "sha256-eylOdAhPnB2x6h9k8lcErXuM8IRHME4zSrR6rwwVwgk=";
hash = "sha256-2qERCUuLlrEySbYmhyNq2bXnPB3VP/Bl8n0Q4VDFpDw=";
};
"aarch64-linux" = fetchurl {
url = "https://tideways.s3.amazonaws.com/daemon/${finalAttrs.version}/tideways-daemon_linux_aarch64-${finalAttrs.version}.tar.gz";
hash = "sha256-Ymz7KyB1M0nhAbxvK5iWzRz0w+p9F3/UqkyKAyQazeg=";
hash = "sha256-Ff+mBBTjitzcuAOEyJ2AmObwHfP/Rjl/KEHhZNjBH88=";
};
"aarch64-darwin" = fetchurl {
url = "https://tideways.s3.amazonaws.com/daemon/${finalAttrs.version}/tideways-daemon_macos_arm64-${finalAttrs.version}.tar.gz";
hash = "sha256-rKLNzmHP4K1JseV8FUYsmj48c7d2h2RikmWt3IFTAHY=";
hash = "sha256-1nvs+BYTH/KvFPNxesM5FqEXwv+3kec+bgysv5tci3U=";
};
};
updateScript = "${
+6 -4
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "uutils-procps";
version = "0.0.1-unstable-2026-03-24";
version = "0.0.1-unstable-2026-03-28";
src = fetchFromGitHub {
owner = "uutils";
repo = "procps";
rev = "92f086d2f8b0c2c24311433e116fd7aa9f2357d5";
hash = "sha256-ED7N+X2t7hZGkOyy4bZPqnOIQpBq49cUZy+n85ON1iQ=";
rev = "5c471226274a402533c197ac129b4867389968c8";
hash = "sha256-2X9r02Gda3Qq97PdztoXoBx9RZe67kCgBNMBNCadzjU=";
};
cargoHash = "sha256-OlDo+zE0jtJdtl55Z00J/rxaevFnjSOBT3IO4YSp3GE=";
cargoHash = "sha256-LpsBis5L4hKteI+KIBdCTcpAXIoOH0XE0DvtF2cY/nQ=";
cargoBuildFlags = [ "--workspace" ];
@@ -47,6 +47,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
"--skip=test_ps::test_real_user_selection"
"--skip=test_pkill::test_inverse"
"--skip=test_pgrep::test_pidfile"
# pgrep: pattern that searches for process name longer than 15 characters will result in zero matches
"--skip=test_pgrep::test_pool_workqueue_release"
];
passthru.updateScript = nix-update-script {
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wit-bindgen";
version = "0.54.0";
version = "0.55.0";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = "wit-bindgen";
rev = "v${finalAttrs.version}";
hash = "sha256-hVdQoqQfrVjxwSdpwwxpJApwURp74CSPYFt170RuxWk=";
hash = "sha256-uJdqmOPbz3q4jzHSXlAoFVH62UU3i+qg+2Dq/Uuon20=";
};
cargoHash = "sha256-ENWHRF+74kpIhdY8A+LDHRJy1hTQO+l5vvmVPsKYdlY=";
cargoHash = "sha256-Z+BMjZ7G+kxUyGGUL7R6Acbqm0tI2/2xTDiZGh5rN48=";
# Some tests fail because they need network access to install the `wasm32-unknown-unknown` target.
# However, GitHub Actions ensures a proper build.
+29 -3
View File
@@ -2,25 +2,51 @@
lib,
fetchFromGitHub,
buildGoModule,
gitMinimal,
gitSetupHook,
jujutsu,
}:
buildGoModule (finalAttrs: {
pname = "yatto";
version = "0.21.7";
version = "1.2.0";
src = fetchFromGitHub {
owner = "handlebargh";
repo = "yatto";
tag = "v${finalAttrs.version}";
hash = "sha256-WLksvl6BtrtxULxxqdHpAD6oVdefhqo7aZoxqXrFfOA=";
hash = "sha256-sso0LlKzE/OJILCf7O5mdPgk6BUTiziQq2tcxcPMtkI=";
};
vendorHash = "sha256-I/9Wcwm2rnQxixevtz1i3fhmlM0b8Yq4pb2eieG7bq0=";
vendorHash = "sha256-8bCk6c/EyghsHKLinWGIJhbl76j3V/rzTmrCWh+5cIU=";
ldflags = [
"-s"
"-w"
];
nativeCheckInputs = [
gitMinimal
gitSetupHook
jujutsu
];
checkFlags =
let
# Skip tests that require network access
skippedTests = [
"TestJjCommit"
"TestJjContributors"
"TestJjUser"
"TestResolver/AllContributors_function_resolves_correctly"
"TestResolver"
"TestE2E_AddEditDeleteProject"
"TestE2E_AddEditDeleteProject/jj"
"TestE2E_AddEditDeleteTask"
"TestE2E_AddEditDeleteTask/jj"
];
in
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
meta = {
description = "Terminal-based to-do application built with Bubble Tea";
homepage = "https://github.com/handlebargh/yatto";
+1 -1
View File
@@ -25,7 +25,7 @@ lib.makeScope pkgs.newScope (
libgnomecanvas = callPackage ./platform/libgnomecanvas { };
# for git-head builds
gnome-common = callPackage platform/gnome-common { };
gnome-common = callPackage ./platform/gnome-common { };
gnome_mime_data = callPackage ./platform/gnome-mime-data { };
@@ -3,6 +3,8 @@
stdenv,
unzip,
fetchurl,
libbass,
autoPatchelfHook,
}:
# Upstream changes files in-place, to update:
@@ -15,55 +17,106 @@
let
allBass = {
bass = {
h = "c/bass.h";
h = {
linux = "c/bass.h";
darwin = "c/bass.h";
};
version = "2.4.18.3";
so = {
i686_linux = "libs/x86/libbass.so";
x86_64-linux = "libs/x86_64/libbass.so";
armv7l-linux = "libs/armhf/libbass.so";
aarch64-linux = "libs/aarch64/libbass.so";
x86_64-darwin = "libbass.dylib";
aarch64-darwin = "libbass.dylib";
};
url = "https://web.archive.org/web/20251222154947/https://www.un4seen.com/files/bass24-linux.zip";
hash = "sha256-3iZk+9MaGn7vTbSNprjChICMXhk8Pu4hWHIR3peGkXI=";
url = {
linux = "https://web.archive.org/web/20251222154947/https://www.un4seen.com/files/bass24-linux.zip";
darwin = "https://web.archive.org/web/20260318192647/https://www.un4seen.com/files/bass24-osx.zip";
};
hash = {
linux = "sha256-3iZk+9MaGn7vTbSNprjChICMXhk8Pu4hWHIR3peGkXI=";
darwin = "sha256-363WI4iWsCsUSyhwZV+57iRF/ITVwA9+HFb6+TQ85Zw=";
};
buildInputs = [ ];
};
bass_fx = {
h = "C/bass_fx.h";
h = {
linux = "C/bass_fx.h";
darwin = "bass_fx.h";
};
version = "2.4.12.6";
so = {
i686_linux = "libs/x86/libbass_fx.so";
x86_64-linux = "libs/x86_64/libbass_fx.so";
armv7l-linux = "libs/armhf/libbass_fx.so";
aarch64-linux = "libs/aarch64/libbass_fx.so";
x86_64-darwin = "libbass_fx.dylib";
aarch64-darwin = "libbass_fx.dylib";
};
url = "https://web.archive.org/web/20250627192213/https://www.un4seen.com/files/z/0/bass_fx24-linux.zip";
hash = "sha256-Hul2ELwnaDV8TDRMDXoFisle31GATDkf3PdkR2K9QTs=";
url = {
linux = "https://web.archive.org/web/20250627192213/https://www.un4seen.com/files/z/0/bass_fx24-linux.zip";
darwin = "https://web.archive.org/web/20250927051000/https://www.un4seen.com/files/z/0/bass_fx24-osx.zip";
};
hash = {
linux = "sha256-Hul2ELwnaDV8TDRMDXoFisle31GATDkf3PdkR2K9QTs=";
darwin = "sha256-655JbaIpzdc9xR0Wx+P9F8dACoElwr4v64ju4axo3Gg=";
};
buildInputs = [
libbass
stdenv.cc.cc
];
};
bassmidi = {
h = "bassmidi.h";
h = {
linux = "bassmidi.h";
darwin = "bassmidi.h";
};
version = "2.4.15.3";
so = {
i686_linux = "libs/x86/libbassmidi.so";
x86_64-linux = "libs/x86_64/libbassmidi.so";
armv7l-linux = "libs/armhf/libbassmidi.so";
aarch64-linux = "libs/aarch64/libbassmidi.so";
x86_64-darwin = "libbassmidi.dylib";
aarch64-darwin = "libbassmidi.dylib";
};
url = "https://web.archive.org/web/20240501180447/http://www.un4seen.com/files/bassmidi24-linux.zip";
hash = "sha256-HrF1chhGk32bKN3jwal44Tz/ENGe/zORsrLPeGAv1OE=";
url = {
linux = "https://web.archive.org/web/20240501180447/http://www.un4seen.com/files/bassmidi24-linux.zip";
darwin = "https://web.archive.org/web/20260318193855/https://www.un4seen.com/files/bassmidi24-osx.zip";
};
hash = {
linux = "sha256-HrF1chhGk32bKN3jwal44Tz/ENGe/zORsrLPeGAv1OE=";
darwin = "sha256-Sqr83pSEv6hGGxgzEBLSg56sLR2QiPLazp0cmKz1vis=";
};
buildInputs = [ libbass ];
};
bassmix = {
h = "bassmix.h";
h = {
linux = "bassmix.h";
darwin = "bassmix.h";
};
version = "2.4.12";
so = {
i686_linux = "libs/x86/libbassmix.so";
x86_64-linux = "libs/x86_64/libbassmix.so";
armv7l-linux = "libs/armhf/libbassmix.so";
aarch64-linux = "libs/aarch64/libbassmix.so";
x86_64-darwin = "libbassmix.dylib";
aarch64-darwin = "libbassmix.dylib";
};
url = "https://web.archive.org/web/20240930183631/https://www.un4seen.com/files/bassmix24-linux.zip";
hash = "sha256-oxxBhsjeLvUodg2SOMDH4wUy5na3nxLTqYkB+iXbOgA=";
url = {
linux = "https://web.archive.org/web/20240930183631/https://www.un4seen.com/files/bassmix24-linux.zip";
darwin = "https://web.archive.org/web/20260318194151/https://www.un4seen.com/files/bassmix24-osx.zip";
};
hash = {
linux = "sha256-oxxBhsjeLvUodg2SOMDH4wUy5na3nxLTqYkB+iXbOgA=";
darwin = "sha256-HSu/R7JmPqJfr4jv6MthsdT+7okKm3EYe7+KdR9zSz0=";
};
buildInputs = [ libbass ];
};
};
@@ -74,15 +127,17 @@ let
inherit (bass) version;
src = fetchurl {
inherit (bass) hash url;
url = bass.url.${stdenv.hostPlatform.parsed.kernel.name};
hash = bass.hash.${stdenv.hostPlatform.parsed.kernel.name};
};
unpackCmd = ''
mkdir out
${unzip}/bin/unzip $curSrc -d out
unzip $curSrc -d out
'';
lpropagatedBuildInputs = [ unzip ];
nativeBuildInputs = [ unzip ] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook;
buildInputs = lib.optionals stdenv.hostPlatform.isLinux bass.buildInputs;
dontBuild = true;
installPhase =
let
@@ -95,7 +150,7 @@ let
''
mkdir -p $out/{lib,include}
install -m644 -t $out/lib/ ${so}
install -m644 -t $out/include/ ${bass.h}
install -m644 -t $out/include/ ${bass.h.${stdenv.hostPlatform.parsed.kernel.name}}
'';
meta = {
@@ -103,7 +158,10 @@ let
homepage = "https://www.un4seen.com/";
license = lib.licenses.unfreeRedistributable;
platforms = builtins.attrNames bass.so;
maintainers = with lib.maintainers; [ poz ];
maintainers = with lib.maintainers; [
poz
ulysseszhan
];
};
};
@@ -1,47 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
poetry-core,
python,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "async-dns";
version = "2.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "gera2ld";
repo = "async_dns";
tag = "v${version}";
hash = "sha256-jjfJBqTGX+lM9lwNA4TKmlNC1efuCBUMPm3Gf3eHx24=";
};
build-system = [ poetry-core ];
nativeCheckInputs = [
writableTmpDirAsHomeHook
];
checkPhase = ''
runHook preCheck
# Test needs network access
rm -r tests/resolver
${python.interpreter} -m unittest
runHook postCheck
'';
pythonImportsCheck = [ "async_dns" ];
meta = {
description = "Python DNS library";
homepage = "https://github.com/gera2ld/async_dns";
changelog = "https://github.com/gera2ld/async_dns/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
@@ -1,78 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
packaging,
pytestCheckHook,
scapy,
setuptools,
}:
buildPythonPackage rec {
pname = "boiboite-opener-framework";
version = "1.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Orange-Cyberdefense";
repo = "bof";
tag = version;
hash = "sha256-atKqHRX24UjF/9Dy0aYXAN+80nBJKCd07FmaR5Vl1q4=";
};
pythonRelaxDeps = [ "scapy" ];
build-system = [ setuptools ];
dependencies = [
packaging
scapy
];
nativeCheckInputs = [ pytestCheckHook ];
preCheck = ''
export HOME=$(mktemp -d)
'';
# Race condition, https://github.com/secdev/scapy/pull/4558
# pythonImportsCheck = [ "bof" ];
disabledTests = [
# Tests are using netcat and cat to do UDP connections
"test_0101_knxnet_instantiate"
"test_0101_modbusnet_instantiate"
"test_0102_knxnet_connect"
"test_0102_modbusnet_connect"
"test_0201_knxnet_send_knxpacket"
"test_0201_modbus_send_modbuspacket"
"test_0201_udp_send_str_bytes"
"test_0202_knxnet_send_knxpacket"
"test_0202_modbus_send_modbuspacket"
"test_0202_udp_send_receive"
"test_0203_knxnet_send_raw"
"test_0203_modbus_send_raw"
"test_0203_send_receive_timeout"
"test_0204_knxnet_receive"
"test_0204_modbus_receive"
"test_0204_multicast_error_handling"
"test_0205_broadcast_error_handling"
"test_0301_pndcp_device_raise"
"test_0301_tcp_instantiate"
"test_0302_tcp_connect"
"test_0303_tcp_connect_bad_addr"
"test_0304_tcp_connect_bad_port"
"test_0401_tcp_send_str_bytes"
"test_0402_tcp_send_receive"
"test_0802_search_valid"
];
meta = {
description = "Testing framework for industrial protocols implementations and devices";
homepage = "https://github.com/Orange-Cyberdefense/bof";
changelog = "https://github.com/Orange-Cyberdefense/bof/releases/tag/${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ fab ];
platforms = lib.platforms.linux;
};
}
@@ -1,52 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
flake8,
six,
python,
}:
buildPythonPackage rec {
pname = "flake8-future-import";
version = "0.4.7";
pyproject = true;
# PyPI tarball doesn't include the test suite
src = fetchFromGitHub {
owner = "xZise";
repo = "flake8-future-import";
tag = version;
hash = "sha256-2EcCOx3+PCk9LYpQjHCFNpQVI2Pdi+lWL8R6bNadFe0=";
};
patches = [
./fix-annotations-version-11.patch
];
postPatch = ''
substituteInPlace "test_flake8_future_import.py" \
--replace-fail "'flake8'" "'${lib.getExe flake8}'"
'';
build-system = [ setuptools ];
dependencies = [ flake8 ];
nativeCheckInputs = [ six ];
checkPhase = ''
runHook preCheck
${python.interpreter} -m test_flake8_future_import
runHook postCheck
'';
meta = {
description = "Flake8 extension to check for the imported __future__ modules to make it easier to have a consistent code base";
homepage = "https://github.com/xZise/flake8-future-import";
license = lib.licenses.mit;
};
}
@@ -1,13 +0,0 @@
diff --git a/flake8_future_import.py b/flake8_future_import.py
index 92c3fda..27a1a66 100755
--- a/flake8_future_import.py
+++ b/flake8_future_import.py
@@ -76,7 +76,7 @@ UNICODE_LITERALS = Feature(4, 'unicode_literals', (2, 6, 0), (3, 0, 0))
GENERATOR_STOP = Feature(5, 'generator_stop', (3, 5, 0), (3, 7, 0))
NESTED_SCOPES = Feature(6, 'nested_scopes', (2, 1, 0), (2, 2, 0))
GENERATORS = Feature(7, 'generators', (2, 2, 0), (2, 3, 0))
-ANNOTATIONS = Feature(8, 'annotations', (3, 7, 0), (4, 0, 0))
+ANNOTATIONS = Feature(8, 'annotations', (3, 7, 0), (3, 11, 0))
# Order important as it defines the error code
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
nix-update-script,
# build-system
poetry-core,
@@ -19,14 +20,14 @@
buildPythonPackage (finalAttrs: {
pname = "gguf";
version = "8292";
version = "8545";
pyproject = true;
src = fetchFromGitHub {
owner = "ggml-org";
repo = "llama.cpp";
tag = "b${finalAttrs.version}";
hash = "sha256-nlUG9b+LGKdQ4kfUTqWUPgqavOMVhD8mAYwf3WARO3s=";
hash = "sha256-sb0fSpzwyl2Ws270if/4Ts75J3E6mGEJ/N5GDjzgg6A=";
};
sourceRoot = "${finalAttrs.src.name}/gguf-py";
@@ -48,6 +49,13 @@ buildPythonPackage (finalAttrs: {
pythonImportsCheck = [ "gguf" ];
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"b(.*)"
];
};
meta = {
description = "Module for writing binary files in the GGUF format";
homepage = "https://ggml.ai/";
@@ -14,19 +14,19 @@
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "google-cloud-datacatalog";
version = "3.31.3";
version = "3.29.0";
pyproject = true;
src = fetchFromGitHub {
owner = "googleapis";
repo = "google-cloud-python";
tag = "google-cloud-build-v${version}";
hash = "sha256-qQ+8X6I8lt4OTgbvODsbdab2dYUk0wxWsbaVT2T651U=";
tag = "google-cloud-datacatalog-v${finalAttrs.version}";
hash = "sha256-dVgcnnInqjUjySL7wjxGzI33t1YZJ8e9mSsmjAJ+fBI=";
};
sourceRoot = "${src.name}/packages/google-cloud-datacatalog";
sourceRoot = "${finalAttrs.src.name}/packages/google-cloud-datacatalog";
build-system = [ setuptools ];
@@ -51,18 +51,22 @@ buildPythonPackage rec {
pythonImportsCheck = [ "google.cloud.datacatalog" ];
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"google-cloud-datacatalog-v([0-9.]+)"
];
passthru = {
# bulk updater selects wrong tag
skipBulkUpdate = true;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"google-cloud-datacatalog-v([0-9.]+)"
];
};
};
meta = {
description = "Google Cloud Data Catalog API API client library";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-datacatalog";
changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-datacatalog-${src.tag}/packages/google-cloud-datacatalog/CHANGELOG.md";
changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-datacatalog-${finalAttrs.src.tag}/packages/google-cloud-datacatalog/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.sarahec ];
};
}
})
@@ -1,58 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
jsonschema,
pytestCheckHook,
python-dateutil,
setuptools,
wheel,
}:
buildPythonPackage rec {
pname = "hologram";
version = "0.0.16";
pyproject = true;
src = fetchFromGitHub {
owner = "dbt-labs";
repo = "hologram";
tag = "v${version}";
hash = "sha256-DboVCvByI8bTThamGBwSiQADGxIaEnTMmwmVI+4ARgc=";
};
patches = [
# https://github.com/dbt-labs/hologram/pull/58
(fetchpatch {
name = "python3.11-test-compatibility.patch";
url = "https://github.com/dbt-labs/hologram/commit/84bbe862ef6a2fcc8b8ce85b5c9a006cc7dc1f66.patch";
hash = "sha256-t096jJDoKUPED4QHSfVjUMLtUJjWcqjblCtGR8moEJc=";
})
];
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
jsonschema
python-dateutil
];
nativeCheckInputs = [ pytestCheckHook ];
pythonRelaxDeps = [ "python-dateutil" ];
pythonImportsCheck = [ "hologram" ];
meta = {
description = "Library for automatically generating Draft 7 JSON Schemas from Python dataclasses";
homepage = "https://github.com/dbt-labs/hologram";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
mausch
];
};
}
@@ -45,7 +45,5 @@ stdenv.mkDerivation (finalAttrs: {
"aarch64-linux"
];
description = "AJA video driver";
# FTB for hardened 5.10/5.15 kernels
broken = kernel.kernelOlder "6" && kernel.isHardened;
};
})
-2
View File
@@ -77,7 +77,6 @@ lib.makeOverridable (
# for module compatibility
isZen ? false,
isHardened ? false,
# Whether to utilize the controversial import-from-derivation feature to parse the config
allowImportFromDerivation ? false,
@@ -530,7 +529,6 @@ lib.makeOverridable (
;
inherit
isZen
isHardened
withRust
;
baseVersion = lib.head (lib.splitString "-rc" version);
@@ -1,11 +0,0 @@
Export linux-rt (PREEMPT_RT) specific symbols needed by ZFS.
(Regular kernel provides them static inline in linux/preempt.h.)
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1812 +1812 @@ void migrate_disable(void)
-EXPORT_SYMBOL_GPL(migrate_disable);
+EXPORT_SYMBOL(migrate_disable);
@@ -1843 +1843 @@ void migrate_enable(void)
-EXPORT_SYMBOL_GPL(migrate_enable);
+EXPORT_SYMBOL(migrate_enable);
@@ -75,7 +75,6 @@ lib.makeOverridable (
isLTS ? false,
isZen ? false,
isHardened ? false,
# easy overrides to stdenv.hostPlatform.linux-kernel members
autoModules ? stdenv.hostPlatform.linux-kernel.autoModules or true,
@@ -315,7 +314,6 @@ lib.makeOverridable (
extraMakeFlags
isLTS
isZen
isHardened
;
# Adds dependencies needed to edit the config:
@@ -1,325 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQINBE64OEUBEADPS1v+zoCdKA6zyfUtVIaBoIwMhCibqurXi30tVoC9LgM6W1ve
HwPFukWq7DAS0mZUPE3mSV63JFLaTy0bY/6GO1D4wLdWZx4ppH7XKNCvKCbsi70k
UozFykNVf+83WEskuF1oYzXlF3aB5suz2IWJl7ey1EXgIpehwQaTJUA5JIWYFp9A
566LRNJefYMzUR33xc4dRKj6Etg0xdLVq7/vZoo8HpLCBGNWiP0AKqFWEwTg0xQL
7nsJA5tfJJdwAJvrzjpFsvb63PKG6waAtdHhON4q7E2Udak9fz2tRjxA5l9l2zXk
aqsysUzkxPhNjwMENoQ04KZg4aT+ZhhBzTowSWLp3KV2uaZ66kdPUO3s+/1bPp5/
N/IlykaUwyL773iYOZ5dOY/9hIuX/zssihcrGEMW6yIyZR5uKhzYdaM9ExTXP637
UccgNS9/pskPGPx/xK23NDCfeHzL9YHS5KokA2wb/b9hqpwvLaeblbMl2pt79F1R
ac+rZlrRyX3NvlTQP4hqM9Ei2YBAU7QFDJEjH8pVIceL7grxi1Ju1iD5QiSK+je5
Jj5EAikfwSeAttSzsqNvaXJHfABrv5mkkVt1z3icP3HIHTYnG+uj+t8kvW+o9/1i
pD6e6LUh4w5v1aY9kaK/M3+eBH59yNYI99crPUKUBVfW4gv4DBUJAQTWRQARAQAB
tDVMZXZlbnRlIFBvbHlhayAoYW50aHJheHgpIDxsZXZlbnRlQGxldmVudGVwb2x5
YWsubmV0PokCQQQTAQIAKwIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4ACGQEF
AlSXU9QFCQfATw8ACgkQ/BtUfI2BcsjPbxAAs+UR/bJz/HeYTpPy+HnKwDJgI9GP
AZlNvp+QSIhOTtKCYkQ/Iu+5scY5J0Qyv0pcJW5Rxjx+l7KGovw84jzVznnYsJoy
UQ5H3Ev9T2xW1nrZT3abJ7j6ZIck+Q+WFHu5Plsq6doSXOXmJNoehvT3BVolvc6w
S1+CAoyA5Wm1yfocZgVOvWPWQaa1T4XA7OwxFWrvNWEZwAzTSjkGHkwmji+DxdBd
RPam9+qm/rcN1IJTu6xJPr38a9LydWonsUpTR2Qn7Bo4EJp8yHJLaiLEMV/Nmgrr
1orBYw/OzDzhbdMl+2zzwEBLUMPABdgnPM6ZCZ5PWyWnCU4jsBGyVd0IC5xEu3Eg
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
a6MNZO/+vKN4UTlgjpjxZon+/yK8bsmT/VNie5hzqZim6tfztl3rpJ9jPUeLgr5x
oGePYV02inapzNHdWFHk0L9zR/3KKfJ3IRJwUXp00Eya28hEepIvdxgLYcN1UqVn
VuFuMY8zYSl/VXtPxySCLENJHxvdtClMZXZlbnRlIFBvbHlhayA8bGV2ZW50ZUBs
ZXZlbnRlcG9seWFrLmRlPokCPgQTAQIAKAIbAwYLCQgHAwIGFQgCCQoLBBYCAwEC
HgECF4AFAlSXU9oFCQfATw8ACgkQ/BtUfI2BcsiPxw//X2xUctIrd1O7UOk7LHBX
/xI7xXoWQcA7l/1XMuZhM8yC8yIoAgvFrWBP1a29I0P3/yigkQXs+eTDTdvb0QP2
q72q7Azt852v5u8+dHzoOXDpbo+4lfX+0OBDWimwJuChD8LQH7b7jO0oqWIV0AzM
vegFJVp3cDbyqw08lBz3xZ79A9JtBeewf6PLpXKjEVS8bEAZjZKjsjAY+5ShtJAf
PsD8r353dmkaHgC5Aji74ijZeY3PUCvGVVCGeN9isLnRpTEn7qUvN2DfHJU4w6aw
sXu7m7zidISo6dQLUzo54dHKWPGFy6INNkzXPOgrlbYnjt7v0Ou21/R6HrhdmsSw
lt7GALJcgAUxrcT/ljB3SZhSB0BdH0DXPcUziEdfhgMhhrXYpMjwH2XFBD1MLusW
GaVDbpPrSoEnmPVePcDUonDHePcuLjfOl13mOER1Kf6WFapOCa+4HCLakfKcPnGY
eyfD7Dbz3/046MmfQ8/Iyf8ipFXN6tI2WkRKj8uq9IFYrX3yoCBxZJN837DM3Grq
h48/T3pYU1f9LiekxbsgXmcHoGNdXX5+EsuO+QILZPttlG5QLuqFdJHei77uvW+B
4u8mgzi1Zhh0hRLm4K6UaJ/fBJ87BZSHShPKI9PI073U1O/CcYXnb8cdPLu3UgSQ
FM/bxT70TSYKI01Dt4KXRfWIRgQQEQIABgUCTrg/KAAKCRC+dA9BPyK7GT9FAJ47
X5+0dQaOFkfy3WnMgX3AmIXJYQCfR4XL47rZ9a66jWaD0IbcXMK4oE2JAj4EEwEC
ACgFAk64PJ4CGwMFCQIchwAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPwb
VHyNgXLI2U8QAJGKPv1gWLn7P1KeHVsKkfRf+zgdsoY4mF3bUjX/03z1h1OKp+S7
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
kekzzVjVTZxOgZE=
=yRuG
-----END PGP PUBLIC KEY BLOCK-----
@@ -1,112 +0,0 @@
# Based on recommendations from:
# https://kspp.github.io/Recommended_Settings
# https://wiki.gentoo.org/wiki/Hardened/Hardened_Kernel_Project
#
# Dangerous features that can be permanently (for the boot session) disabled at
# boot via sysctl or kernel cmdline are left enabled here, for improved
# flexibility.
#
{
stdenv,
lib,
version,
}:
with lib.kernel;
with (lib.kernel.whenHelpers version);
assert (lib.versionAtLeast version "4.9");
{
# Mark LSM hooks read-only after init. SECURITY_WRITABLE_HOOKS n
# conflicts with SECURITY_SELINUX_DISABLE y; disabling the latter
# implicitly marks LSM hooks read-only after init.
#
# SELinux can only be disabled at boot via selinux=0
#
# We set SECURITY_WRITABLE_HOOKS n primarily for documentation purposes; the
# config builder fails to detect that it has indeed been unset.
SECURITY_SELINUX_DISABLE = whenOlder "6.4" no; # On 6.4: error: unused option: SECURITY_SELINUX_DISABLE
SECURITY_WRITABLE_HOOKS = whenOlder "6.4" no;
# Perform additional validation of commonly targeted structures.
DEBUG_CREDENTIALS = whenOlder "6.6" yes;
DEBUG_NOTIFIERS = yes;
DEBUG_PI_LIST = whenOlder "5.2" yes; # doesn't BUG()
DEBUG_PLIST = whenAtLeast "5.2" yes;
DEBUG_SG = yes;
DEBUG_VIRTUAL = yes;
SCHED_STACK_END_CHECK = yes;
REFCOUNT_FULL = whenOlder "5.4.208" yes;
# tell EFI to wipe memory during reset
# https://lwn.net/Articles/730006/
RESET_ATTACK_MITIGATION = yes;
# restricts loading of line disciplines via TIOCSETD ioctl to CAP_SYS_MODULE
CONFIG_LDISC_AUTOLOAD = option no;
# Wipe higher-level memory allocations on free() with page_poison=1
PAGE_POISONING_NO_SANITY = whenOlder "5.11" yes;
PAGE_POISONING_ZERO = whenOlder "5.11" yes;
# Enable init_on_free by default
INIT_ON_FREE_DEFAULT_ON = whenAtLeast "5.3" yes;
# Initialize all stack variables on function entry
INIT_STACK_ALL_ZERO = yes;
# Wipe all caller-used registers on exit from a function
ZERO_CALL_USED_REGS = whenAtLeast "5.15" yes;
# Enable the SafeSetId LSM
SECURITY_SAFESETID = whenAtLeast "5.1" yes;
# Reboot devices immediately if kernel experiences an Oops.
PANIC_TIMEOUT = freeform "-1";
GCC_PLUGINS = yes; # Enable gcc plugin options
GCC_PLUGIN_STACKLEAK = whenAtLeast "4.20" yes; # A port of the PaX stackleak plugin
GCC_PLUGIN_RANDSTRUCT = whenOlder "5.19" yes; # A port of the PaX randstruct plugin
GCC_PLUGIN_RANDSTRUCT_PERFORMANCE = whenOlder "5.19" yes;
# Runtime undefined behaviour checks
# https://www.kernel.org/doc/html/latest/dev-tools/ubsan.html
# https://developers.redhat.com/blog/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan
UBSAN = yes;
UBSAN_TRAP = whenAtLeast "5.7" yes;
UBSAN_BOUNDS = whenAtLeast "5.7" yes;
UBSAN_SANITIZE_ALL = whenOlder "6.9" yes;
UBSAN_LOCAL_BOUNDS = option yes; # clang only
CFI_CLANG = option yes; # clang only Control Flow Integrity since 6.1
# Disable various dangerous settings
ACPI_CUSTOM_METHOD = whenOlder "6.9" no; # Allows writing directly to physical memory
PROC_KCORE = no; # Exposes kernel text image layout
INET_DIAG = no; # Has been used for heap based attacks in the past
# INET_DIAG=n causes the following options to not exist anymore, but since they are defined in common-config.nix,
# make them optional
INET_DIAG_DESTROY = option no;
INET_RAW_DIAG = option no;
INET_TCP_DIAG = option no;
INET_UDP_DIAG = option no;
INET_MPTCP_DIAG = option no;
# Use -fstack-protector-strong (gcc 4.9+) for best stack canary coverage.
CC_STACKPROTECTOR_REGULAR = lib.mkForce (whenOlder "4.18" no);
CC_STACKPROTECTOR_STRONG = whenOlder "4.18" yes;
# CONFIG_DEVMEM=n causes these to not exist anymore.
STRICT_DEVMEM = option no;
IO_STRICT_DEVMEM = option no;
# stricter IOMMU TLB invalidation
IOMMU_DEFAULT_DMA_STRICT = option yes;
IOMMU_DEFAULT_DMA_LAZY = option no;
# not needed for less than a decade old glibc versions
LEGACY_VSYSCALL_NONE = lib.mkIf stdenv.hostPlatform.isx86 yes;
}
@@ -1,12 +0,0 @@
{
"6.12": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-v6.12.69-hardened1.patch",
"sha256": "15zgha5qvn8a6ibx4b8mn5bwsm9z4xnpx3kz49ncpnk3iagcr2vw",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.12.69-hardened1/linux-hardened-v6.12.69-hardened1.patch"
},
"sha256": "0rbnbynhm7w4ig8snq97px4ljr5k4zq1a97jqhwk4w0qy9bkcjab",
"version": "6.12.69"
}
}
@@ -1,301 +0,0 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python -p "python3.withPackages (ps: [ps.pygithub ps.packaging])" git gnupg
# This is automatically called by ../update.sh.
from __future__ import annotations
import json
import os
import re
import subprocess
import sys
from dataclasses import dataclass
from pathlib import Path
from tempfile import TemporaryDirectory
from typing import (
Dict,
Iterator,
List,
Optional,
Sequence,
Tuple,
TypedDict,
Union,
)
from github import Github
from github.GitRelease import GitRelease
from packaging.version import parse as parse_version, Version
VersionComponent = Union[int, str]
Version = List[VersionComponent]
PatchData = TypedDict("PatchData", {"name": str, "url": str, "sha256": str, "extra": str})
Patch = TypedDict("Patch", {
"patch": PatchData,
"version": str,
"sha256": str,
})
def read_min_kernel_branch() -> List[str]:
with open(NIXPKGS_KERNEL_PATH / "kernels-org.json") as f:
return list(parse_version(sorted(json.load(f).keys())[0]).release)
@dataclass
class ReleaseInfo:
version: Version
release: GitRelease
HERE = Path(__file__).resolve().parent
NIXPKGS_KERNEL_PATH = HERE.parent
NIXPKGS_PATH = HERE.parents[4]
HARDENED_GITHUB_REPO = "anthraxx/linux-hardened"
HARDENED_TRUSTED_KEY = HERE / "anthraxx.asc"
HARDENED_PATCHES_PATH = HERE / "patches.json"
MIN_KERNEL_VERSION: Version = read_min_kernel_branch()
def run(*args: Union[str, Path]) -> subprocess.CompletedProcess[bytes]:
try:
return subprocess.run(
args,
check=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
encoding="utf-8",
)
except subprocess.CalledProcessError as err:
print(
f"error: `{err.cmd}` failed unexpectedly\n"
f"status code: {err.returncode}\n"
f"stdout:\n{err.stdout.strip()}\n"
f"stderr:\n{err.stderr.strip()}",
file=sys.stderr,
)
sys.exit(1)
def nix_prefetch_url(url: str) -> Tuple[str, Path]:
output = run("nix-prefetch-url", "--print-path", url).stdout
sha256, path = output.strip().split("\n")
return sha256, Path(path)
def verify_openpgp_signature(
*, name: str, trusted_key: Path, sig_path: Path, data_path: Path,
) -> bool:
with TemporaryDirectory(suffix=".nixpkgs-gnupg-home") as gnupg_home_str:
gnupg_home = Path(gnupg_home_str)
run("gpg", "--homedir", gnupg_home, "--import", trusted_key)
keyring = gnupg_home / "pubring.kbx"
try:
subprocess.run(
("gpgv", "--keyring", keyring, sig_path, data_path),
check=True,
stderr=subprocess.PIPE,
encoding="utf-8",
)
return True
except subprocess.CalledProcessError as err:
print(
f"error: signature for {name} failed to verify!",
file=sys.stderr,
)
print(err.stderr, file=sys.stderr, end="")
return False
def fetch_patch(*, name: str, release_info: ReleaseInfo) -> Optional[Patch]:
release = release_info.release
extra = f'-{release_info.version[-1]}'
def find_asset(filename: str) -> str:
try:
it: Iterator[str] = (
asset.browser_download_url
for asset in release.get_assets()
if asset.name == filename
)
return next(it)
except StopIteration:
raise KeyError(filename)
patch_filename = f"{name}.patch"
try:
patch_url = find_asset(patch_filename)
sig_url = find_asset(patch_filename + ".sig")
except KeyError:
print(f"error: {patch_filename}{{,.sig}} not present", file=sys.stderr)
return None
sha256, patch_path = nix_prefetch_url(patch_url)
_, sig_path = nix_prefetch_url(sig_url)
sig_ok = verify_openpgp_signature(
name=name,
trusted_key=HARDENED_TRUSTED_KEY,
sig_path=sig_path,
data_path=patch_path,
)
if not sig_ok:
return None
kernel_ver = re.sub(r"v?(.*)(-hardened[\d]+)$", r'\1', release_info.release.tag_name)
major = kernel_ver.split('.')[0]
sha256_kernel, _ = nix_prefetch_url(f"mirror://kernel/linux/kernel/v{major}.x/linux-{kernel_ver}.tar.xz")
return Patch(
patch=PatchData(name=patch_filename, url=patch_url, sha256=sha256, extra=extra),
version=kernel_ver,
sha256=sha256_kernel
)
def normalize_kernel_version(version_str: str) -> list[str|int]:
# There have been two variants v6.10[..] and 6.10[..], drop the v
version_str_without_v = version_str[1:] if not version_str[0].isdigit() else version_str
version: list[str|int] = []
for component in re.split(r'\.|\-', version_str_without_v):
try:
version.append(int(component))
except ValueError:
version.append(component)
return version
def version_string(version: Version) -> str:
return ".".join(str(component) for component in version)
def major_kernel_version_key(kernel_version: list[int|str]) -> str:
return version_string(kernel_version[:-1])
def commit_patches(*, kernel_key: Version, message: str) -> None:
new_patches_path = HARDENED_PATCHES_PATH.with_suffix(".new")
with open(new_patches_path, "w") as new_patches_file:
json.dump(patch_json, new_patches_file, indent=4, sort_keys=True)
new_patches_file.write("\n")
os.rename(new_patches_path, HARDENED_PATCHES_PATH)
message = f"linux/hardened/patches/{kernel_key}: {message}"
print(message)
if os.environ.get("COMMIT"):
run(
"git",
"-C",
NIXPKGS_PATH,
"commit",
f"--message={message}",
HARDENED_PATCHES_PATH,
)
# Load the existing patches.
with open(HARDENED_PATCHES_PATH) as patches_file:
patch_json = json.load(patches_file)
patch_versions = set([parse_version(k) for k in patch_json.keys()])
with open(NIXPKGS_KERNEL_PATH / "kernels-org.json") as kernel_versions_json:
kernel_versions = json.load(kernel_versions_json)
kernels = {
parse_version(version): meta
for version, meta in kernel_versions.items()
if version != "testing"
}
latest_lts = sorted(ver for ver, meta in kernels.items() if meta.get("lts", False))[-1]
keys = sorted(kernels.keys())
latest_release = keys[-1]
fallback = keys[-2]
g = Github(os.environ.get("GITHUB_TOKEN"))
repo = g.get_repo(HARDENED_GITHUB_REPO)
failures = False
all_candidates = set([latest_lts, latest_release, fallback])
kernels_to_package = {}
for release in repo.get_releases()[:30]:
version = normalize_kernel_version(release.tag_name)
# needs to look like e.g. 5.6.3-hardened1
if len(version) < 4:
continue
if not (isinstance(version[-2], int)):
continue
kernel_version = version[:-1]
kernel_key = parse_version(major_kernel_version_key(kernel_version))
if kernel_key not in all_candidates:
continue
try:
found = kernels_to_package[kernel_key]
if found.version > version:
continue
except KeyError:
pass
kernels_to_package[kernel_key] = ReleaseInfo(version=version, release=release)
if latest_release in kernels_to_package:
if fallback != latest_lts:
del kernels_to_package[fallback]
kernel_versions = set([latest_lts, latest_release])
else:
kernel_versions = set([latest_lts, fallback])
# Remove patches for unpackaged kernel versions.
removals = False
for kernel_key in sorted(patch_versions - kernels_to_package.keys()):
del patch_json[str(kernel_key)]
removals = True
commit_patches(kernel_key=kernel_key, message="remove")
# Update hardened-patches.json for each release.
for kernel_key in sorted(kernels_to_package.keys()):
release_info = kernels_to_package[kernel_key]
release = release_info.release
version = release_info.version
version_str = release.tag_name
name = f"linux-hardened-{version_str}"
old_version: Optional[list[int|str]] = None
old_version_str: Optional[str] = None
update: bool
try:
old_filename = patch_json[str(kernel_key)]["patch"]["name"]
old_version_str = old_filename.replace("linux-hardened-", "").replace(
".patch", ""
)
old_version = normalize_kernel_version(old_version_str)
update = old_version < version
except KeyError:
update = True
if update:
patch = fetch_patch(name=name, release_info=release_info)
if patch is None:
failures = True
else:
if str(kernel_key) in patch_json:
message = f"{old_version_str} -> {version_str}"
else:
message = f"init at {version_str}"
patch_json[str(kernel_key)] = patch
commit_patches(kernel_key=kernel_key, message=message)
if removals:
print("Hardened kernels were removed. Don't forget to remove their attributes!")
if failures:
sys.exit(1)
@@ -1,62 +0,0 @@
{
lib,
buildLinux,
fetchurl,
kernelPatches ? [ ],
structuredExtraConfig ? { },
extraMeta ? { },
argsOverride ? { },
...
}@args:
let
version = "5.10.245-rt139"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in
buildLinux (
args
// {
inherit version;
pname = "linux-rt";
# modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ.
modDirVersion = lib.versions.pad 3 version;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
hash = "sha256-Ex516xTab9aDs4grzYVghc/KR8waqJzS3rG0jSLSnZ8=";
};
kernelPatches =
let
rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
hash = "sha256-0/8We7wtj6Y3oMDdkLzmpuOz0kiY4RlWZeUcxy7UDds=";
};
};
in
[ rt-patch ] ++ kernelPatches;
isLTS = true;
structuredExtraConfig =
with lib.kernel;
{
PREEMPT_RT = yes;
# Fix error: unused option: PREEMPT_RT.
EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt)
# Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n').
PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it.
# Fix error: unused option: RT_GROUP_SCHED.
RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch.
}
// structuredExtraConfig;
extraMeta = extraMeta // {
inherit branch;
};
}
// argsOverride
)
@@ -1,67 +0,0 @@
{
lib,
buildLinux,
fetchurl,
kernelPatches ? [ ],
structuredExtraConfig ? { },
extraMeta ? { },
argsOverride ? { },
...
}@args:
let
version = "5.15.195-rt90"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in
buildLinux (
args
// {
inherit version;
pname = "linux-rt";
# modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ.
modDirVersion =
if (builtins.match "[^.]*[.][^.]*-.*" version) == null then
version
else
lib.replaceStrings [ "-" ] [ ".0-" ] version;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
hash = "sha256-I9CA3DL5nTk5w9G9ZaaO2FuPk0+SzBhBpj+Jjc25pEE=";
};
kernelPatches =
let
rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
hash = "sha256-RdymUTnItL0Vi8Vt5j1lAlX/hxp6+Ka+oPBgD9agwZY=";
};
};
in
[ rt-patch ] ++ kernelPatches;
structuredExtraConfig =
with lib.kernel;
{
PREEMPT_RT = yes;
# Fix error: unused option: PREEMPT_RT.
EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt)
# Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n').
PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it.
# Fix error: unused option: RT_GROUP_SCHED.
RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch.
}
// structuredExtraConfig;
isLTS = true;
extraMeta = extraMeta // {
inherit branch;
};
}
// argsOverride
)
@@ -1,67 +0,0 @@
{
lib,
buildLinux,
fetchurl,
kernelPatches ? [ ],
structuredExtraConfig ? { },
extraMeta ? { },
argsOverride ? { },
...
}@args:
let
version = "6.1.156-rt56"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in
buildLinux (
args
// {
inherit version;
pname = "linux-rt";
# modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ.
modDirVersion =
if (builtins.match "[^.]*[.][^.]*-.*" version) == null then
version
else
lib.replaceStrings [ "-" ] [ ".0-" ] version;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
hash = "sha256-1LsUiyBOWu04aQSJc2lhza+SX+ezXPH1bEetegmgIo4=";
};
kernelPatches =
let
rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
hash = "sha256-kyTBYH+sQ55AJOzUER7xqnuA5KVFgEhHWC9ToniBquo=";
};
};
in
[ rt-patch ] ++ kernelPatches;
structuredExtraConfig =
with lib.kernel;
{
PREEMPT_RT = yes;
# Fix error: unused option: PREEMPT_RT.
EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt)
# Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n').
PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it.
# Fix error: unused option: RT_GROUP_SCHED.
RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch.
}
// structuredExtraConfig;
extraMeta = extraMeta // {
inherit branch;
};
isLTS = true;
}
// argsOverride
)
@@ -1,67 +0,0 @@
{
lib,
buildLinux,
fetchurl,
kernelPatches ? [ ],
structuredExtraConfig ? { },
extraMeta ? { },
argsOverride ? { },
...
}@args:
let
version = "6.6.112-rt63"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in
buildLinux (
args
// {
inherit version;
pname = "linux-rt";
# modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ.
modDirVersion =
if (builtins.match "[^.]*[.][^.]*-.*" version) == null then
version
else
lib.replaceStrings [ "-" ] [ ".0-" ] version;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
hash = "sha256-bH2SvzFqVukd5By2DaH2PZSk+Kr672oTBV3wwpETiiI=";
};
kernelPatches =
let
rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
hash = "sha256-bv3jejZ2fitvGLzlpmUpWojC1TSf1o6Yd9hBUihv4gc=";
};
};
in
[ rt-patch ] ++ kernelPatches;
structuredExtraConfig =
with lib.kernel;
{
PREEMPT_RT = yes;
# Fix error: unused option: PREEMPT_RT.
EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt)
# Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n').
PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it.
# Fix error: unused option: RT_GROUP_SCHED.
RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch.
}
// structuredExtraConfig;
extraMeta = extraMeta // {
inherit branch;
};
isLTS = true;
}
// argsOverride
)
-27
View File
@@ -27,31 +27,4 @@
name = "request-key-helper";
patch = ./request-key-helper.patch;
};
hardened =
let
mkPatch =
kernelVersion:
{
version,
sha256,
patch,
}:
let
src = patch;
in
{
name = lib.removeSuffix ".patch" src.name;
patch = fetchurl (lib.removeAttrs src [ "extra" ]);
extra = src.extra;
inherit version sha256;
};
patches = lib.importJSON ./hardened/patches.json;
in
lib.mapAttrs mkPatch patches;
export-rt-sched-migrate = {
name = "export-rt-sched-migrate";
patch = ./export-rt-sched-migrate.patch;
};
}
@@ -1,80 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
# To update all rt kernels run: ./update-rt.sh
# To update just one ./linux-rt-5.X.nix run: ./update-rt.sh ./linux-rt-5.X.nix
# To add a new kernel branch 5.Y run: ./update-rt.sh ./linux-rt-5.Y.nix
# (with nonexistent .nix file) and update all-packages.nix.
# To commit run with: env COMMIT=1
mirror=https://kernel.org/pub/linux/kernel
main() {
if [ $# -ge 1 ]; then
update-if-needed "$1"
else
update-all-if-needed
fi
}
update-all-if-needed() {
for f in "$(dirname "$0")"/linux-rt-*.nix; do
update-if-needed "$f"
done
}
file-version() {
file="$1" # e.g. ./linux-rt-5.4.nix
if [ -e "$file" ]; then
grep ' version = ' "$file" | grep -o '[0-9].[^"]*'
fi
}
latest-rt-version() {
branch="$1" # e.g. 5.4
curl -sL "$mirror/projects/rt/$branch/sha256sums.asc" |
sed -ne '/.patch.xz/ { s/.*patch-\(.*\).patch.xz/\1/p}' |
grep -v '\-rc' |
sort --version-sort |
tail -n 1
}
update-if-needed() {
file="$1" # e.g. ./linux-rt-5.4.nix (created if does not exist)
branch=$(basename "$file" .nix) # e.g. linux-rt-5.4
branch=${branch#linux-rt-} # e.g. 5.4
cur=$(file-version "$file") # e.g. 5.4.59-rt36 or empty
new=$(latest-rt-version "$branch") # e.g. 5.4.61-rt37
kversion=${new%-*} # e.g. 5.4.61
major=${branch%.*} # e.g 5
nixattr="linux-rt_${branch/./_}"
if [ "$new" = "$cur" ]; then
echo "$nixattr: $cur (up-to-date)"
return
fi
khash=$(nix-prefetch-url "$mirror/v${major}.x/linux-${kversion}.tar.xz" | nix-hash --type sha256 --to-sri)
phash=$(nix-prefetch-url "$mirror/projects/rt/${branch}/older/patch-${new}.patch.xz" | nix-hash --type sha256 --to-sri)
if [ "$cur" ]; then
msg="$nixattr: $cur -> $new"
else
msg="$nixattr: init at $new"
prev=$(ls -v "$(dirname "$0")"/linux-rt-*.nix | tail -1)
cp "$prev" "$file"
cur=$(file-version "$file")
fi
echo "$msg"
sed -i "$file" \
-e "s/$cur/$new/" \
-e "s|kernel/v[0-9]*|kernel/v$major|" \
-e "1,/.patch.xz/ s|hash = .*|hash = \"$khash\";|" \
-e "1,/.patch.xz/! s|hash = .*|hash = \"$phash\";|"
if [ "${COMMIT:-}" ]; then
git add "$file"
git commit -m "$msg"
fi
}
return 2>/dev/null || main "$@"
-6
View File
@@ -3,9 +3,3 @@ cd "$(dirname "$(readlink -f "$0")")" || exit
echo "Update linux (mainline)"
COMMIT=1 ./update-mainline.py || echo "update-mainline failed with exit code $?"
echo "Update linux-rt"
COMMIT=1 ./update-rt.sh || echo "update-rt failed with exit code $?"
echo "Update linux-hardened"
COMMIT=1 ./hardened/update.py || echo "update-hardened failed with exit code $?"
@@ -39,8 +39,6 @@ stdenv.mkDerivation {
homepage = "https://github.com/aircrack-ng/rtl8188eus";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ moni ];
broken =
((lib.versions.majorMinor kernel.version) == "5.4" && kernel.isHardened)
|| kernel.kernelAtLeast "6.17";
broken = kernel.kernelAtLeast "6.17";
};
}
+1 -3
View File
@@ -45,8 +45,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ defelo ];
broken =
stdenv.hostPlatform.isAarch64
|| ((lib.versions.majorMinor kernel.version) == "5.4" && kernel.isHardened);
broken = stdenv.hostPlatform.isAarch64;
};
})
+1 -1
View File
@@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl2Only;
platforms = [ "x86_64-linux" ];
# FIX: error: invalid initializer
broken = (kernel.kernelOlder "6" && kernel.isHardened) || kernel.kernelAtLeast "6.17";
broken = kernel.kernelAtLeast "6.17";
maintainers = with lib.maintainers; [ lonyelon ];
};
})
+1 -1
View File
@@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/morrownr/rtl8852bu-20240418";
license = lib.licenses.gpl2Only;
platforms = [ "x86_64-linux" ];
broken = (kernel.kernelOlder "6" && kernel.isHardened) || kernel.kernelAtLeast "6.18"; # Similar to 79c1cf6
broken = kernel.kernelAtLeast "6.18"; # Similar to 79c1cf6
maintainers = with lib.maintainers; [
lonyelon
thtrf
+1 -2
View File
@@ -187,8 +187,7 @@ stdenv.mkDerivation {
];
maintainers = with lib.maintainers; [ raskin ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
broken =
kernel != null && ((lib.versionOlder kernel.version "4.14") || kernel.isHardened || kernel.isZen);
broken = kernel != null && ((lib.versionOlder kernel.version "4.14") || kernel.isZen);
homepage = "https://sysdig.com/opensource/";
downloadPage = "https://github.com/draios/sysdig/releases";
};
@@ -46,7 +46,6 @@ stdenv.mkDerivation {
homepage = "https://github.com/mkubecek/vmware-host-modules";
license = lib.licenses.gpl2Only;
platforms = [ "x86_64-linux" ];
broken = (kernel.kernelOlder "5.5" && kernel.isHardened);
maintainers = with lib.maintainers; [
deinferno
vifino
-1
View File
@@ -146,6 +146,5 @@ stdenv.mkDerivation {
andersk
spacefrogg
];
broken = kernel.isHardened;
};
}
+14 -10
View File
@@ -1140,10 +1140,12 @@ mapAliases {
lincity_ng = warnAlias "lincity_ng has been renamed to lincity-ng" lincity-ng; # Added 2025-10-09
linphone = linphonePackages.linphone-desktop; # Added 2025-09-20
linux-libre = throw "linux_libre has been removed due to lack of maintenance"; # Added 2025-10-01
linux-rt = throw "linux-rt has been removed due to lack of maintenance"; # Added 2026-03-24
linux-rt_5_4 = throw "linux_rt 5.4 has been removed because it will reach its end of life within 25.11"; # Added 2025-10-22
linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10;
linux-rt_5_15 = linuxKernel.kernels.linux_rt_5_15;
linux-rt_6_1 = linuxKernel.kernels.linux_rt_6_1;
linux-rt_5_10 = throw "linux-rt_5_10 has been removed due to lack of maintenance"; # Added 2026-03-24
linux-rt_5_15 = throw "linux-rt_5_15 has been removed due to lack of maintenance"; # Added 2026-03-24
linux-rt_6_1 = throw "linux_rt_6_1 has been removed due to lack of maintenance"; # Added 2026-03-24
linux-rt_latest = throw "linux-rt_latest has been removed due to lack of maintenance"; # Added 2026-03-24
linux_5_4 = throw "linux 5.4 was removed because it will reach its end of life within 25.11"; # Added 2025-10-26
linux_5_4_hardened = throw "linux_hardened on nixpkgs only contains latest stable and latest LTS"; # Added 2025-08-10
linux_5_10 = linuxKernel.kernels.linux_5_10;
@@ -1155,7 +1157,7 @@ mapAliases {
linux_6_6 = linuxKernel.kernels.linux_6_6;
linux_6_6_hardened = throw "linux_hardened on nixpkgs only contains latest stable and latest LTS"; # Added 2025-08-10
linux_6_12 = linuxKernel.kernels.linux_6_12;
linux_6_12_hardened = linuxKernel.kernels.linux_6_12_hardened;
linux_6_12_hardened = throw "linux_6_12_hardened has been removed due to lack of maintenance"; # Added 2026-03-18
linux_6_13 = throw "linux 6.13 was removed because it has reached its end of life upstream"; # Added 2025-06-29
linux_6_13_hardened = throw "linux 6.13 was removed because it has reached its end of life upstream"; # Added 2025-06-29
linux_6_14 = throw "linux 6.14 was removed because it has reached its end of life upstream"; # Added 2025-06-29
@@ -1166,7 +1168,7 @@ mapAliases {
linux_6_18 = linuxKernel.kernels.linux_6_18;
linux_6_19 = linuxKernel.kernels.linux_6_19;
linux_ham = throw "linux_ham has been removed in favour of the standard kernel packages"; # Added 2025-06-24
linux_hardened = linuxPackages_hardened.kernel; # Added 2025-08-10
linux_hardened = throw "linux_hardened has been removed due to lack of maintenance"; # Added 2026-03-18
linux_latest-libre = throw "linux_latest_libre has been removed due to lack of maintenance"; # Added 2025-10-01
linux_lqx = throw "linux_lqx has been removed due to lack of maintenance"; # Added 2026-03-13
linux_rpi0 = linuxKernel.kernels.linux_rpi1;
@@ -1176,6 +1178,8 @@ mapAliases {
linux_rpi3 = linuxKernel.kernels.linux_rpi3;
linux_rpi4 = linuxKernel.kernels.linux_rpi4;
linuxPackages-libre = throw "linux_libre has been removed due to lack of maintenance"; # Added 2025-10-01
linuxPackages-rt = throw "linuxPackages-rt has been removed due to lack of maintenance"; # Added 2026-03-24
linuxPackages-rt_latest = throw "linuxPackages-rt_latest has been removed due to lack of maintenance"; # Added 2026-03-24
linuxPackages_5_4 = throw "linux 5.4 was removed because it will reach its end of life within 25.11"; # Added 2025-10-26
linuxPackages_5_4_hardened = throw "linux_hardened on nixpkgs only contains latest stable and latest LTS"; # Added 2025-08-10
linuxPackages_5_10 = linuxKernel.packages.linux_5_10;
@@ -1187,7 +1191,7 @@ mapAliases {
linuxPackages_6_6 = linuxKernel.packages.linux_6_6;
linuxPackages_6_6_hardened = throw "linux_hardened on nixpkgs only contains latest stable and latest LTS"; # Added 2025-08-10
linuxPackages_6_12 = linuxKernel.packages.linux_6_12;
linuxPackages_6_12_hardened = linuxKernel.packages.linux_6_12_hardened; # Added 2025-08-10
linuxPackages_6_12_hardened = throw "linuxPackages_6_12_hardened has been removed due to lack of maintenance"; # Added 2026-03-18
linuxPackages_6_13 = throw "linux 6.13 was removed because it has reached its end of life upstream"; # Added 2025-06-29
linuxPackages_6_13_hardened = throw "linux 6.13 was removed because it has reached its end of life upstream"; # Added 2025-06-29
linuxPackages_6_14 = throw "linux 6.14 was removed because it has reached its end of life upstream"; # Added 2025-06-29
@@ -1198,7 +1202,7 @@ mapAliases {
linuxPackages_6_18 = linuxKernel.packages.linux_6_18;
linuxPackages_6_19 = linuxKernel.packages.linux_6_19;
linuxPackages_ham = throw "linux_ham has been removed in favour of the standard kernel packages"; # Added 2025-06-24
linuxPackages_hardened = linuxKernel.packages.linux_hardened; # Added 2025-08-10
linuxPackages_hardened = throw "linuxPackages_hardened has been removed due to lack of maintenance"; # Added 2026-03-18
linuxPackages_latest-libre = throw "linux_latest_libre has been removed due to lack of maintenance"; # Added 2025-10-01
linuxPackages_latest_xen_dom0 = throw "'linuxPackages_latest_xen_dom0' has been renamed to/replaced by 'linuxPackages_latest'"; # Converted to throw 2025-10-27
linuxPackages_lqx = throw "linuxPackages_lqx has been removed due to lack of maintenance"; # Added 2026-03-13
@@ -1209,9 +1213,9 @@ mapAliases {
linuxPackages_rpi3 = linuxKernel.packages.linux_rpi3;
linuxPackages_rpi4 = linuxKernel.packages.linux_rpi4;
linuxPackages_rt_5_4 = throw "linux_rt 5.4 has been removed because it will reach its end of life within 25.11"; # Added 2025-10-22
linuxPackages_rt_5_10 = linuxKernel.packages.linux_rt_5_10;
linuxPackages_rt_5_15 = linuxKernel.packages.linux_rt_5_15;
linuxPackages_rt_6_1 = linuxKernel.packages.linux_rt_6_1;
linuxPackages_rt_5_10 = throw "linuxPackages_rt_5_10 has been removed due to lack of maintenance"; # Added 2026-03-24
linuxPackages_rt_5_15 = throw "linuxPackages_rt_5_15 has been removed due to lack of maintenance"; # Added 2026-03-24
linuxPackages_rt_6_1 = throw "linuxPackages_rt_6_1 has been removed due to lack of maintenance"; # Added 2026-03-24
linuxPackages_xen_dom0 = throw "'linuxPackages_xen_dom0' has been renamed to/replaced by 'linuxPackages'"; # Converted to throw 2025-10-27
linuxPackages_xen_dom0_hardened = throw "'linuxPackages_xen_dom0_hardened' has been renamed to/replaced by 'linuxPackages_hardened'"; # Converted to throw 2025-10-27
linuxstopmotion = throw "'linuxstopmotion' has been renamed to/replaced by 'stopmotion'"; # Converted to throw 2025-10-27
-8
View File
@@ -8653,8 +8653,6 @@ with pkgs;
linuxPackagesFor = linuxKernel.packagesFor;
hardenedLinuxPackagesFor = linuxKernel.hardenedPackagesFor;
linuxManualConfig = linuxKernel.manualConfig;
linuxPackages_custom = linuxKernel.customPackage;
@@ -8685,12 +8683,6 @@ with pkgs;
linuxPackages_testing = linuxKernel.packages.linux_testing;
linux_testing = linuxKernel.kernels.linux_testing;
# Realtime kernel
linuxPackages-rt = linuxKernel.packageAliases.linux_rt_default;
linuxPackages-rt_latest = linuxKernel.packageAliases.linux_rt_latest;
linux-rt = linuxPackages-rt.kernel;
linux-rt_latest = linuxPackages-rt_latest.kernel;
# zen-kernel
linuxPackages_zen = linuxKernel.packages.linux_zen;
linux_zen = linuxPackages_zen.kernel;
+16 -91
View File
@@ -14,7 +14,6 @@
# When adding a kernel:
# - Update packageAliases.linux_latest to the latest version
# - Update linux_latest_hardened when the patches become available
let
inherit (lib) recurseIntoAttrs dontRecurseIntoAttrs;
@@ -26,7 +25,6 @@ let
packagesFor
packageAliases
vanillaPackages
rtPackages
rpiPackages
;
@@ -43,38 +41,6 @@ let
};
}
);
# Hardened Linux
hardenedKernelFor =
kernel': overrides:
let
kernel = kernel'.override overrides;
version = kernelPatches.hardened.${kernel.meta.branch}.version;
major = lib.versions.major version;
sha256 = kernelPatches.hardened.${kernel.meta.branch}.sha256;
modDirVersion' = builtins.replaceStrings [ kernel.version ] [ version ] kernel.modDirVersion;
in
kernel.override {
structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix {
inherit stdenv lib version;
};
argsOverride = {
inherit version;
pname = "linux-hardened";
modDirVersion = modDirVersion' + kernelPatches.hardened.${kernel.meta.branch}.extra;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v${major}.x/linux-${version}.tar.xz";
inherit sha256;
};
extraMeta = {
broken = kernel.meta.broken;
};
};
kernelPatches = kernel.kernelPatches ++ [
kernelPatches.hardened.${kernel.meta.branch}
];
isHardened = true;
};
in
{
kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
@@ -100,14 +66,6 @@ in
];
};
linux_rt_5_10 = callPackage ../os-specific/linux/kernel/linux-rt-5.10.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
kernelPatches.export-rt-sched-migrate
];
};
linux_5_15 = callPackage ../os-specific/linux/kernel/mainline.nix {
branch = "5.15";
kernelPatches = [
@@ -116,14 +74,6 @@ in
];
};
linux_rt_5_15 = callPackage ../os-specific/linux/kernel/linux-rt-5.15.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
kernelPatches.export-rt-sched-migrate
];
};
linux_6_1 = callPackage ../os-specific/linux/kernel/mainline.nix {
branch = "6.1";
kernelPatches = [
@@ -132,14 +82,6 @@ in
];
};
linux_rt_6_1 = callPackage ../os-specific/linux/kernel/linux-rt-6.1.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
kernelPatches.export-rt-sched-migrate
];
};
linux_6_6 = callPackage ../os-specific/linux/kernel/mainline.nix {
branch = "6.6";
kernelPatches = [
@@ -148,14 +90,6 @@ in
];
};
linux_rt_6_6 = callPackage ../os-specific/linux/kernel/linux-rt-6.6.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
kernelPatches.export-rt-sched-migrate
];
};
linux_6_12 = callPackage ../os-specific/linux/kernel/mainline.nix {
branch = "6.12";
kernelPatches = [
@@ -230,10 +164,6 @@ in
kernelPatches.request_key_helper
];
};
linux_6_12_hardened = hardenedKernelFor kernels.linux_6_12 { };
linux_hardened = linux_6_12_hardened;
}
// lib.optionalAttrs config.allowAliases {
linux_lqx = throw "linux_lqx has been removed due to lack of maintenance";
@@ -261,11 +191,17 @@ in
linux_6_9_hardened = throw "linux 6.9 was removed because it has reached its end of life upstream";
linux_6_10_hardened = throw "linux 6.10 was removed because it has reached its end of life upstream";
linux_6_11_hardened = throw "linux 6.11 was removed because it has reached its end of life upstream";
linux_6_12_hardened = throw "linux_6_12_hardened has been removed due to lack of maintenance";
linux_6_13_hardened = throw "linux 6.13 was removed because it has reached its end of life upstream";
linux_6_14_hardened = throw "linux 6.14 was removed because it has reached its end of life upstream";
linux_6_15_hardened = throw "linux 6.15 was removed because it has reached its end of life upstream";
linux_hardened = throw "linux_hardened has been removed due to lack of maintenance";
linux_rt_5_4 = throw "linux_rt 5.4 has been removed because it will reach its end of life within 25.11";
linux_rt_5_10 = throw "linux_rt_5_10 has been removed due to lack of maintenance";
linux_rt_5_15 = throw "linux_rt_5_15 has been removed due to lack of maintenance";
linux_rt_6_1 = throw "linux_rt_6_1 has been removed due to lack of maintenance";
linux_rt_6_6 = throw "linux_rt_6_6 has been removed due to lack of maintenance";
linux_ham = throw "linux_ham has been removed in favour of the standard kernel packages";
@@ -346,7 +282,6 @@ in
inherit (kernel)
isLTS
isZen
isHardened
;
inherit (kernel) kernelOlder kernelAtLeast;
kernelModuleMakeFlags = self.kernel.commonMakeFlags ++ [
@@ -733,8 +668,6 @@ in
)).extend
(lib.fixedPoints.composeManyExtensions kernelPackagesExtensions);
hardenedPackagesFor = kernel: overrides: packagesFor (hardenedKernelFor kernel overrides);
vanillaPackages = {
# recurse to build modules for the kernels
linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
@@ -758,17 +691,6 @@ in
linux_6_17 = throw "linux 6.17 was removed because it reached its end of life upstream"; # Added 2025-12-22
};
rtPackages = {
# realtime kernel packages
linux_rt_5_10 = packagesFor kernels.linux_rt_5_10;
linux_rt_5_15 = packagesFor kernels.linux_rt_5_15;
linux_rt_6_1 = packagesFor kernels.linux_rt_6_1;
linux_rt_6_6 = packagesFor kernels.linux_rt_6_6;
}
// lib.optionalAttrs config.allowAliases {
linux_rt_5_4 = throw "linux_rt 5.4 was removed because it will reach its end of life within 25.11"; # Added 2025-10-22
};
rpiPackages = {
linux_rpi1 = packagesFor kernels.linux_rpi1;
linux_rpi2 = packagesFor kernels.linux_rpi2;
@@ -778,17 +700,12 @@ in
packages = recurseIntoAttrs (
vanillaPackages
// rtPackages
// rpiPackages
// {
# Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
linux_testing = packagesFor kernels.linux_testing;
linux_hardened = recurseIntoAttrs (packagesFor kernels.linux_hardened);
linux_6_12_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_12_hardened);
linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
linux_xanmod = recurseIntoAttrs (packagesFor kernels.linux_xanmod);
linux_xanmod_stable = recurseIntoAttrs (packagesFor kernels.linux_xanmod_stable);
@@ -809,10 +726,18 @@ in
linux_6_9_hardened = throw "linux 6.9 was removed because it has reached its end of life upstream";
linux_6_10_hardened = throw "linux 6.10 was removed because it has reached its end of life upstream";
linux_6_11_hardened = throw "linux 6.11 was removed because it has reached its end of life upstream";
linux_6_12_hardened = throw "linux_6_12_hardened has been removed due to lack of maintenance";
linux_6_13_hardened = throw "linux 6.13 was removed because it has reached its end of life upstream";
linux_6_14_hardened = throw "linux 6.14 was removed because it has reached its end of life upstream";
linux_6_15_hardened = throw "linux 6.15 was removed because it has reached its end of life upstream";
linux_hardened = throw "linux_hardened has been removed due to lack of maintenance";
linux_ham = throw "linux_ham has been removed in favour of the standard kernel packages";
linux_rt_5_4 = throw "linux_rt 5.4 was removed because it will reach its end of life within 25.11"; # Added 2025-10-22
linux_rt_5_10 = throw "linux_rt_5_10 has been removed due to lack of maintenance";
linux_rt_5_15 = throw "linux_rt_5_15 has been removed due to lack of maintenance";
linux_rt_6_1 = throw "linux_rt_6_1 has been removed due to lack of maintenance";
linux_rt_6_6 = throw "linux_rt_6_6 has been removed due to lack of maintenance";
}
);
@@ -820,11 +745,11 @@ in
linux_default = packages.linux_6_18;
# Update this when adding the newest kernel major version!
linux_latest = packages.linux_6_19;
linux_rt_default = packages.linux_rt_5_15;
linux_rt_latest = packages.linux_rt_6_6;
}
// lib.optionalAttrs config.allowAliases {
linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake";
linux_rt_default = throw "linux_rt_default has been removed due to lack of maintenance";
linux_rt_latest = throw "linux_rt_latest has been removed due to lack of maintenance";
};
manualConfig = callPackage ../os-specific/linux/kernel/build.nix { };
+4
View File
@@ -89,6 +89,7 @@ mapAliases {
argon2_cffi = throw "'argon2_cffi' has been renamed to/replaced by 'argon2-cffi'"; # Converted to throw 2025-10-29
astropy-extension-helpers = extension-helpers; # Added 2025-10-15
asyauth-bad = throw "'asyauth-bad' has been renamed to/replaced by 'badauth'"; # added 2025-11-06
async-dns = throw "'async-dns' has been removed as it was unmaintained upstream"; # Added 2026-03-23
async_generator = throw "'async_generator' has been renamed to/replaced by 'async-generator'"; # Converted to throw 2025-10-29
async_stagger = throw "'async_stagger' has been renamed to/replaced by 'async-stagger'"; # Converted to throw 2025-10-29
asyncio-nats-client = throw "'asyncio-nats-client' has been renamed to/replaced by 'nats-py'"; # Converted to throw 2025-10-29
@@ -111,6 +112,7 @@ mapAliases {
bjoern = throw "'bjoern' has been removed, as the upstream repository was unmaintained and it was using libraries with severe security issues."; # Added 2025-09-01
bkcharts = throw "'bkcharts' has been removed as the upstream repository was archived in 2018"; # added 2025-08-26
BlinkStick = throw "'BlinkStick' has been renamed to/replaced by 'blinkstick'"; # Converted to throw 2025-10-29
boiboite-opener-framework = throw "'boiboite-opener-framework' has been removed as it was unmaintained upstream"; # Added 2026-03-23
bsblan = throw "'bsblan' has been renamed to/replaced by 'python-bsblan'"; # Converted to throw 2025-10-29
bsddb3 = throw "'bsddb3' has been removed because it was deprecated in favor of 'berkeleydb'"; # added 2026-01-20
bt_proximity = throw "'bt_proximity' has been renamed to/replaced by 'bt-proximity'"; # Converted to throw 2025-10-29
@@ -205,6 +207,7 @@ mapAliases {
fenics = throw "fenics has been removed, use fenics-dolfinx instead"; # added 2025-08-07
filebrowser_safe = throw "'filebrowser_safe' has been renamed to/replaced by 'filebrowser-safe'"; # Converted to throw 2025-10-29
filesplit = throw "filesplit has been removed, since it is unmaintained"; # added 2025-08-20
flake8-future-import = throw "'flake8-future-import' has been removed as it was unmaintained upstream"; # Added 2026-03-22
flask-security-too = throw "'flask-security-too' has been renamed to/replaced by 'flask-security'"; # Converted to throw 2025-10-29
flask-silk = throw "flask-silk was removed, as it is unmaintained since 2018."; # added 2025-05-25
flask-themes2 = throw "'flask-themes2' was removed as the only consumer pyload-ng was removed"; # added 2026-03-21
@@ -249,6 +252,7 @@ mapAliases {
hglib = throw "'hglib' has been renamed to/replaced by 'python-hglib'"; # Converted to throw 2025-10-29
hijri-converter = hijridate; # added 2025-08-07
holistic-trace-analysis = throw "'holistic-trace-analysis' was removed because there is no such package on PyPI"; # added 2026-02-28
hologram = throw "'hologram' has been removed as it was unmaintained upstream"; # Added 2026-03-22
homeassistant-bring-api = throw "'homeassistant-bring-api' has been renamed to/replaced by 'bring-api'"; # Converted to throw 2025-10-29
homepluscontrol = throw "'homepluscontrol' has been removed as it was unmaintained upstream"; # Added 2026-03-22
HTSeq = throw "'HTSeq' has been renamed to/replaced by 'htseq'"; # Converted to throw 2025-10-29
-8
View File
@@ -1110,8 +1110,6 @@ self: super: with self; {
async-cache = callPackage ../development/python-modules/async-cache { };
async-dns = callPackage ../development/python-modules/async-dns { };
async-generator = callPackage ../development/python-modules/async-generator { };
async-interrupt = callPackage ../development/python-modules/async-interrupt { };
@@ -2196,8 +2194,6 @@ self: super: with self; {
boa-api = callPackage ../development/python-modules/boa-api { };
boiboite-opener-framework = callPackage ../development/python-modules/boiboite-opener-framework { };
boilerpy3 = callPackage ../development/python-modules/boilerpy3 { };
bokeh = callPackage ../development/python-modules/bokeh { };
@@ -5597,8 +5593,6 @@ self: super: with self; {
flake8-docstrings = callPackage ../development/python-modules/flake8-docstrings { };
flake8-future-import = callPackage ../development/python-modules/flake8-future-import { };
flake8-import-order = callPackage ../development/python-modules/flake8-import-order { };
flake8-length = callPackage ../development/python-modules/flake8-length { };
@@ -7092,8 +7086,6 @@ self: super: with self; {
holidays = callPackage ../development/python-modules/holidays { };
hologram = callPackage ../development/python-modules/hologram { };
holoviews = callPackage ../development/python-modules/holoviews { };
home-assistant-bluetooth = callPackage ../development/python-modules/home-assistant-bluetooth { };
-179
View File
@@ -1,179 +0,0 @@
/*
A small release file, with few packages to be built. The aim is to reduce
the load on Hydra when testing the `stdenv-updates' branch.
*/
{
nixpkgs ? {
outPath = (import ../../lib).cleanSource ../..;
revCount = 1234;
shortRev = "abcdef";
},
supportedSystems ? [
"x86_64-linux"
"x86_64-darwin"
],
# Attributes passed to nixpkgs. Don't build packages marked as unfree.
nixpkgsArgs ? {
config = {
allowAliases = false;
allowUnfree = false;
inHydra = true;
};
__allowFileset = false;
},
}:
let
release-lib = import ./release-lib.nix {
inherit supportedSystems nixpkgsArgs;
};
inherit (release-lib)
all
linux
darwin
mapTestOn
unix
;
in
{
tarball = import ./make-tarball.nix {
inherit nixpkgs;
officialRelease = false;
};
}
// (mapTestOn {
aspell = all;
at = linux;
autoconf = all;
automake = all;
avahi = unix; # Cygwin builds fail
bash = all;
bashInteractive = all;
bc = all;
binutils = linux;
bind = linux;
bsdiff = all;
bzip2 = all;
cmake = all;
coreutils = all;
cpio = all;
cron = linux;
cups = linux;
dbus = linux;
diffutils = all;
e2fsprogs = linux;
emacs = linux;
file = all;
findutils = all;
flex = all;
gcc = all;
glibc = linux;
glibcLocales = linux;
gnugrep = all;
gnum4 = all;
gnumake = all;
gnupatch = all;
gnupg = linux;
gnuplot = unix; # Cygwin builds fail
gnused = all;
gnutar = all;
gnutls = linux;
grub2 = linux;
guile = linux; # tests fail on Cygwin
gzip = all;
hddtemp = linux;
hdparm = linux;
hello = all;
host = linux;
iana-etc = linux;
icewm = linux;
idutils = all;
inetutils = linux;
iputils = linux;
qemu = linux;
qemu_kvm = linux;
lapack-reference = linux;
less = all;
lftp = all;
libtool = all;
libtool_2 = all;
libxml2 = all;
libxslt = all;
lout = linux;
lsof = linux;
ltrace = linux;
lvm2 = linux;
lynx = linux;
xz = linux;
man = linux;
man-pages = linux;
mc = all;
mdadm = linux;
mesa = linux;
mingetty = linux;
mktemp = all;
monotone = linux;
mutt = linux;
mysql = linux;
# netcat broken on darwin
netcat = linux;
nfs-utils = linux;
nix = all;
nixUnstable = all;
nss_ldap = linux;
nssmdns = linux;
ntfs3g = linux;
ntp = linux;
openssh = linux;
openssl = all;
pan = linux;
pciutils = linux;
perl = all;
pkg-config = all;
pmccabe = linux;
procps = linux;
python3 = unix; # Cygwin builds fail
readline = all;
rlwrap = all;
rpcbind = linux;
rsync = linux;
screen = linux ++ darwin;
scrot = linux;
sdparm = linux;
smartmontools = all;
sqlite = unix; # Cygwin builds fail
squid = linux;
msmtp = linux;
stdenv = all;
strace = linux;
su = linux;
sudo = linux;
sysklogd = linux;
syslinux = [ "i686-linux" ];
tcl = linux;
tcpdump = linux;
texinfo = all;
time = linux;
tinycc = linux;
udev = linux;
unzip = all;
usbutils = linux;
util-linux = linux;
util-linuxMinimal = linux;
w3m = all;
wget = all;
which = all;
wirelesstools = linux;
wpa_supplicant = linux;
xfsprogs = linux;
xkeyboard_config = linux;
zip = all;
tests.stdenv.tests-stdenv-gcc-stageCompare = linux;
})