Merge master into staging-next
This commit is contained in:
@@ -1058,24 +1058,22 @@ in
|
||||
++ (lib.optional (lib.versionOlder overridePackage.version "30") (upgradeWarning 29 "24.11"))
|
||||
++ (lib.optional (lib.versionOlder overridePackage.version "31") (upgradeWarning 30 "25.05"));
|
||||
|
||||
services.nextcloud.package =
|
||||
with pkgs;
|
||||
lib.mkDefault (
|
||||
if pkgs ? nextcloud then
|
||||
throw ''
|
||||
The `pkgs.nextcloud`-attribute has been removed. If it's supposed to be the default
|
||||
nextcloud defined in an overlay, please set `services.nextcloud.package` to
|
||||
`pkgs.nextcloud`.
|
||||
''
|
||||
else if versionOlder stateVersion "24.05" then
|
||||
nextcloud27
|
||||
else if versionOlder stateVersion "24.11" then
|
||||
nextcloud29
|
||||
else if versionOlder stateVersion "25.05" then
|
||||
nextcloud30
|
||||
else
|
||||
nextcloud31
|
||||
);
|
||||
services.nextcloud.package = lib.mkDefault (
|
||||
if pkgs ? nextcloud then
|
||||
throw ''
|
||||
The `pkgs.nextcloud`-attribute has been removed. If it's supposed to be the default
|
||||
nextcloud defined in an overlay, please set `services.nextcloud.package` to
|
||||
`pkgs.nextcloud`.
|
||||
''
|
||||
else if lib.versionOlder stateVersion "24.05" then
|
||||
pkgs.nextcloud27
|
||||
else if lib.versionOlder stateVersion "24.11" then
|
||||
pkgs.nextcloud29
|
||||
else if lib.versionOlder stateVersion "25.05" then
|
||||
pkgs.nextcloud30
|
||||
else
|
||||
pkgs.nextcloud31
|
||||
);
|
||||
|
||||
services.nextcloud.phpOptions = mkMerge [
|
||||
(lib.mapAttrs (lib.const lib.mkOptionDefault) defaultPHPSettings)
|
||||
|
||||
@@ -699,6 +699,7 @@ in
|
||||
imports = [ ./odoo.nix ];
|
||||
_module.args.package = pkgs.odoo16;
|
||||
};
|
||||
oku = runTest ./oku.nix;
|
||||
oncall = runTest ./web-apps/oncall.nix;
|
||||
# 9pnet_virtio used to mount /nix partition doesn't support
|
||||
# hibernation. This test happens to work on x86_64-linux but
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
name = "oku";
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ethancedwards8 ];
|
||||
|
||||
nodes.machine = {
|
||||
imports = [ ./common/x11.nix ];
|
||||
|
||||
environment.systemPackages = with pkgs; [ oku ];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_x()
|
||||
|
||||
with subtest("Wait until Oku has finished loading the Valgrind docs page"):
|
||||
machine.execute("xterm -e 'oku -n file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &");
|
||||
machine.wait_for_window("oku")
|
||||
'';
|
||||
|
||||
}
|
||||
@@ -2972,8 +2972,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "marp-vscode";
|
||||
publisher = "marp-team";
|
||||
version = "3.2.0";
|
||||
hash = "sha256-SSkmvm9NJnLw38luZWF6K7g5caaivtP+v+39qPR/oyo=";
|
||||
version = "3.2.1";
|
||||
hash = "sha256-c3e4vWmnR/enummRSfwlulPEAjZ9TlncnAU3SJcUEaI=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.91"
|
||||
version = "1.0.98"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8"
|
||||
checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
|
||||
|
||||
[[package]]
|
||||
name = "goblin"
|
||||
version = "0.9.2"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "53ab3f32d1d77146981dea5d6b1e8fe31eedcb7013e5e00d6ccd1259a4b4d923"
|
||||
checksum = "0e961b33649994dcf69303af6b3a332c1228549e604d455d61ec5d2ab5e68d3a"
|
||||
dependencies = [
|
||||
"log",
|
||||
"plain",
|
||||
@@ -21,21 +21,21 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.11"
|
||||
version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
|
||||
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.22"
|
||||
version = "0.4.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
|
||||
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.4"
|
||||
version = "2.7.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
|
||||
|
||||
[[package]]
|
||||
name = "plain"
|
||||
@@ -45,18 +45,18 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.89"
|
||||
version = "1.0.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
|
||||
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.37"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
|
||||
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
@@ -74,9 +74,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.18"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
|
||||
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
|
||||
|
||||
[[package]]
|
||||
name = "same-file"
|
||||
@@ -89,18 +89,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "scroll"
|
||||
version = "0.12.0"
|
||||
version = "0.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6"
|
||||
checksum = "c1257cd4248b4132760d6524d6dda4e053bc648c9070b960929bf50cfb1e7add"
|
||||
dependencies = [
|
||||
"scroll_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "scroll_derive"
|
||||
version = "0.12.0"
|
||||
version = "0.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932"
|
||||
checksum = "22fc4f90c27b57691bbaf11d8ecc7cfbfe98a4da6dbe60226115d322aa80c06e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -109,18 +109,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.213"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1"
|
||||
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.213"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5"
|
||||
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -129,9 +129,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.132"
|
||||
version = "1.0.141"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
|
||||
checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
@@ -141,9 +141,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.85"
|
||||
version = "2.0.104"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56"
|
||||
checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -152,9 +152,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.13"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
|
||||
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
|
||||
|
||||
[[package]]
|
||||
name = "walkdir"
|
||||
|
||||
@@ -43,6 +43,8 @@ struct PriorityKey {
|
||||
root_index: usize,
|
||||
}
|
||||
|
||||
const FHSENV_MARKER_FILE: &str = "nix-support/is-fhsenv";
|
||||
|
||||
fn build_reference_map(refs: Vec<RefGraphNode>) -> HashMap<PathBuf, Vec<PathBuf>> {
|
||||
refs.into_iter()
|
||||
.map(|mut gn| {
|
||||
@@ -119,6 +121,11 @@ fn collect_candidate_paths(
|
||||
let mut candidates: HashMap<_, Vec<_>> = HashMap::new();
|
||||
|
||||
for (path, priority) in paths {
|
||||
if path.join(FHSENV_MARKER_FILE).exists() {
|
||||
// is another fhsenv, skip it
|
||||
continue;
|
||||
}
|
||||
|
||||
for entry in WalkDir::new(&path).follow_links(true) {
|
||||
let entry: PathBuf = match entry {
|
||||
Ok(ent) => {
|
||||
@@ -134,7 +141,7 @@ fn collect_candidate_paths(
|
||||
// could be a broken symlink, that's fine, we still want to handle those
|
||||
Some(_) => e
|
||||
.path()
|
||||
.ok_or_else(|| anyhow!("I/O error when walking {path:?}"))?
|
||||
.ok_or_else(|| anyhow!("I/O error when walking {}", path.display()))?
|
||||
.into(),
|
||||
None => {
|
||||
// symlink loop
|
||||
@@ -256,14 +263,30 @@ fn build_env(out: &Path, plan: HashMap<PathBuf, PathBuf>) -> anyhow::Result<()>
|
||||
.parent()
|
||||
.ok_or(anyhow!("destination directory is root"))
|
||||
.with_context(|| {
|
||||
format!("When trying to determine destination directory for {full_dest:?}")
|
||||
format!(
|
||||
"When trying to determine destination directory for {}",
|
||||
full_dest.display()
|
||||
)
|
||||
})?;
|
||||
fs::create_dir_all(dest_dir)
|
||||
.with_context(|| format!("When trying to create directory {dest_dir:?}"))?;
|
||||
ufs::symlink(&src, &full_dest)
|
||||
.with_context(|| format!("When symlinking {src:?} to {full_dest:?}"))?;
|
||||
.with_context(|| format!("When trying to create directory {}", dest_dir.display()))?;
|
||||
ufs::symlink(&src, &full_dest).with_context(|| {
|
||||
format!(
|
||||
"When symlinking {} to {}",
|
||||
src.display(),
|
||||
full_dest.display()
|
||||
)
|
||||
})?;
|
||||
}
|
||||
|
||||
let marker = out.join(FHSENV_MARKER_FILE);
|
||||
fs::create_dir_all(
|
||||
marker
|
||||
.parent()
|
||||
.ok_or(anyhow!("marker file is in root, this should never happen"))?,
|
||||
)?;
|
||||
fs::write(marker, [])?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -283,7 +306,7 @@ fn main() -> anyhow::Result<()> {
|
||||
|
||||
paths = extend_to_closure(paths, &refs)?;
|
||||
paths32 = extend_to_closure(paths32, &refs)?;
|
||||
};
|
||||
}
|
||||
|
||||
let plan = build_plan(paths, paths32)?;
|
||||
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-update";
|
||||
version = "16.4.0";
|
||||
version = "17.0.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-Y0TvzOjkq/9/NG87iGhazLSZFnFCEG/S+lI4AJDAw0M=";
|
||||
hash = "sha256-CMsvkASFVqmvIxvixoXYwvyAgp4Vq9rj17o50M8Fw1Q=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-PD6HycP6+/tKafirCc2Oj0MffHizLqTmDIrdIOmXY/w=";
|
||||
cargoHash = "sha256-kp9liu8ZGL9Q+rH9XKWMgsA9hvkYEim90RdMp2+dVPg=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "changie";
|
||||
version = "1.22.0";
|
||||
version = "1.22.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "miniscruff";
|
||||
repo = "changie";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-tq29L9YlzhjbHkUfE0ZZhSrH+rcAwgYjcEAUjP/lHm8=";
|
||||
hash = "sha256-JXVrOZKm8whmc3LkCDsbZkNcYMgiolp9dgnZFPYCtAs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-nAwBVa+UssbfFbcOWFcsWUllBTeW89xPcgS+ofXDPf0=";
|
||||
vendorHash = "sha256-bUopfHd6/0dd3OuxQMW9ZNsZtVqnRSDRqZLkfaQq12I=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -44,6 +44,7 @@ buildNpmPackage rec {
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [
|
||||
malo
|
||||
markus1189
|
||||
omarjatoi
|
||||
];
|
||||
mainProgram = "claude";
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ddev";
|
||||
version = "1.24.6";
|
||||
version = "1.24.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ddev";
|
||||
repo = "ddev";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vOf500/HdOWn24MdXDfbetqAyKbEsaut707O+Rndks8=";
|
||||
hash = "sha256-1BlipTmpjoHjzDz5ueCYn410qzsVePikA1c5Z93Rboo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -30,7 +30,7 @@ let
|
||||
__intentionallyOverridingVersion = true;
|
||||
});
|
||||
|
||||
version = "1.8";
|
||||
version = "1.8.1";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "devenv";
|
||||
@@ -40,10 +40,10 @@ rustPlatform.buildRustPackage {
|
||||
owner = "cachix";
|
||||
repo = "devenv";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Cg4DxHCZiXiSlbwveJpyCFzWIblWi467I2/pmsAWiAw=";
|
||||
hash = "sha256-YsSFlVWUu4RSYnObqcBJ4Mr3bJVVhuFhaQAktHytBAI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-uUI0O60x8AVG85MJYzEbNdsO818yFu4w66WuozboWso=";
|
||||
cargoHash = "sha256-zJorGAsp5k5oBuXogYqEPVexcNsYCeiTmrQqySd1AGs=";
|
||||
|
||||
buildAndTestSubdir = "devenv";
|
||||
|
||||
|
||||
@@ -106,12 +106,12 @@ in
|
||||
# Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "diffoscope";
|
||||
version = "301";
|
||||
version = "302";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
|
||||
hash = "sha256-piTdP812LgcxvvgvUOKUrkxVXCbclyQW8dp84beT7H4=";
|
||||
hash = "sha256-PngiG+nPaPrGHt+uTeH7R+MlKjPXFxfkFiDo6+pssTw=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
From aaa07b6430c555a8c41f458ccf0eca2213e82317 Mon Sep 17 00:00:00 2001
|
||||
From: wxt <3264117476@qq.com>
|
||||
Date: Sat, 28 Sep 2024 11:06:40 +0800
|
||||
Subject: [PATCH] update time
|
||||
|
||||
---
|
||||
Cargo.lock | 16 ++++++++++++----
|
||||
1 file changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 282fe41..8b308d5 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -952,6 +952,12 @@ dependencies = [
|
||||
"minimal-lexical",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "num-conv"
|
||||
+version = "0.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
|
||||
+
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.32.2"
|
||||
@@ -1313,12 +1319,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
-version = "0.3.31"
|
||||
+version = "0.3.36"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
|
||||
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"itoa",
|
||||
+ "num-conv",
|
||||
"powerfmt",
|
||||
"serde",
|
||||
"time-core",
|
||||
@@ -1333,10 +1340,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
-version = "0.2.16"
|
||||
+version = "0.2.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
|
||||
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
|
||||
dependencies = [
|
||||
+ "num-conv",
|
||||
"time-core",
|
||||
]
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -6,22 +6,18 @@
|
||||
fontconfig,
|
||||
freetype,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "figma-agent";
|
||||
version = "0.3.2";
|
||||
version = "0.3.2-unstable-2024-11-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "neetly";
|
||||
repo = "figma-agent-linux";
|
||||
tag = version;
|
||||
sha256 = "sha256-iXLQOc8gomOik+HIIoviw19II5MD6FM0W5DT3aqtIcM=";
|
||||
rev = "6709a1b7ffcbfb227472d8f017bfbbda77ddca7d";
|
||||
sha256 = "sha256-Cq+ivyrj6wt7DEUM730BG44sMkpOMt4qxb+J3itVar4=";
|
||||
};
|
||||
|
||||
cargoPatches = [
|
||||
./0001-update-time.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-4OAce76XCLlngC7BrX8eiQlHo+Mi2Tfrb9t1Rc/gSFA=";
|
||||
cargoHash = "sha256-QdEs1zaQ2CQT50nIhKxtp7zpJfa64xQgOy3sTOUGmxk=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@@ -33,11 +29,17 @@ rustPlatform.buildRustPackage rec {
|
||||
freetype
|
||||
];
|
||||
|
||||
checkFlags = [
|
||||
# All tests fail due to unavailable bindings
|
||||
"--skip=figma-agent-freetype-sys"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Figma Agent for Linux with a focus on performance";
|
||||
homepage = "https://github.com/neetly/figma-agent-linux";
|
||||
description = "Figma Agent for Linux (a.k.a. Font Helper)";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "figma-agent";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "go-jsonschema";
|
||||
version = "0.20.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "omissis";
|
||||
repo = "go-jsonschema";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-e1eL5Blf9l4cSR7Tg740eTFza3ViJEiwLaoUsUZzQu4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-vHtigJ2YNFFWGxv6/pGwmmGE0Fn+2S7NguyrhVME7ak=";
|
||||
|
||||
ldflags = [
|
||||
"-X main.version=v${finalAttrs.version}"
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
|
||||
env.GOWORK = "off";
|
||||
|
||||
# Tests are in a nested Go module which makes things difficult.
|
||||
preBuild = ''
|
||||
rm -rf tests
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "A tool to generate Go data types from JSON Schema definitions.";
|
||||
homepage = "https://github.com/omissis/go-jsonschema";
|
||||
changelog = "https://github.com/omissis/go-jsonschema/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
shellhazard
|
||||
];
|
||||
mainProgram = "go-jsonschema";
|
||||
};
|
||||
})
|
||||
@@ -15,6 +15,7 @@
|
||||
legendary-heroic,
|
||||
nile,
|
||||
comet-gog,
|
||||
umu-launcher,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -90,6 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
makeWrapper "${electron}/bin/electron" "$out/bin/heroic" \
|
||||
--inherit-argv0 \
|
||||
--set ELECTRON_FORCE_IS_PACKAGED 1 \
|
||||
--suffix PATH ":" "${umu-launcher}/bin" \
|
||||
--add-flags --disable-gpu-compositing \
|
||||
--add-flags $out/opt/heroic/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
|
||||
|
||||
@@ -1,160 +1,22 @@
|
||||
{
|
||||
buildFHSEnv,
|
||||
steam,
|
||||
heroic-unwrapped,
|
||||
extraPkgs ? pkgs: [ ],
|
||||
extraLibraries ? pkgs: [ ],
|
||||
}:
|
||||
|
||||
buildFHSEnv {
|
||||
steam.buildRuntimeEnv {
|
||||
pname = "heroic";
|
||||
inherit (heroic-unwrapped) version;
|
||||
inherit (heroic-unwrapped) version meta;
|
||||
|
||||
runScript = "heroic";
|
||||
|
||||
# Many Wine and native games need 32-bit libraries.
|
||||
multiArch = true;
|
||||
|
||||
# required by Electron
|
||||
unshareIpc = false;
|
||||
|
||||
targetPkgs =
|
||||
pkgs:
|
||||
with pkgs;
|
||||
[
|
||||
heroic-unwrapped
|
||||
gamemode
|
||||
curl
|
||||
gawk
|
||||
zenity
|
||||
kdePackages.kdialog
|
||||
mangohud
|
||||
net-tools
|
||||
opencl-headers
|
||||
p7zip
|
||||
pciutils
|
||||
perl
|
||||
psmisc
|
||||
python3
|
||||
umu-launcher
|
||||
unzip
|
||||
which
|
||||
xorg.xrandr
|
||||
zstd
|
||||
]
|
||||
++ extraPkgs pkgs;
|
||||
|
||||
multiPkgs =
|
||||
let
|
||||
xorgDeps =
|
||||
pkgs: with pkgs.xorg; [
|
||||
libICE
|
||||
libpthreadstubs
|
||||
libSM
|
||||
libX11
|
||||
libXaw
|
||||
libxcb
|
||||
libXcomposite
|
||||
libXcursor
|
||||
libXdmcp
|
||||
libXext
|
||||
libXfixes
|
||||
libXi
|
||||
libXinerama
|
||||
libXmu
|
||||
libXrandr
|
||||
libXrender
|
||||
libXScrnSaver
|
||||
libXt
|
||||
libXtst
|
||||
libXv
|
||||
libXxf86vm
|
||||
];
|
||||
gstreamerDeps =
|
||||
pkgs: with pkgs.gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
gst-plugins-ugly
|
||||
gst-plugins-bad
|
||||
gst-libav
|
||||
];
|
||||
in
|
||||
pkgs:
|
||||
with pkgs;
|
||||
[
|
||||
alsa-lib
|
||||
alsa-plugins
|
||||
bash
|
||||
cabextract
|
||||
cairo
|
||||
coreutils
|
||||
cups
|
||||
dbus
|
||||
freealut
|
||||
freetype
|
||||
fribidi
|
||||
giflib
|
||||
glib
|
||||
gnutls
|
||||
gtk3
|
||||
icu
|
||||
lcms2
|
||||
libevdev
|
||||
libgcrypt
|
||||
libGLU
|
||||
libglvnd
|
||||
libgpg-error
|
||||
libgudev
|
||||
libjpeg
|
||||
libkrb5
|
||||
libmpeg2
|
||||
libogg
|
||||
libopus
|
||||
libpng
|
||||
libpulseaudio
|
||||
libselinux
|
||||
libsndfile
|
||||
libtheora
|
||||
libtiff
|
||||
libunwind
|
||||
libusb1
|
||||
libv4l
|
||||
libva
|
||||
libvdpau
|
||||
libvorbis
|
||||
libvpx
|
||||
libwebp
|
||||
libxkbcommon
|
||||
libxml2
|
||||
mpg123
|
||||
ncurses
|
||||
ocl-icd
|
||||
openal
|
||||
openldap
|
||||
openssl
|
||||
pango
|
||||
pipewire
|
||||
samba4
|
||||
sane-backends
|
||||
SDL2
|
||||
speex
|
||||
sqlite
|
||||
udev
|
||||
unixODBC
|
||||
util-linux
|
||||
vulkan-loader
|
||||
wayland
|
||||
zlib
|
||||
]
|
||||
++ xorgDeps pkgs
|
||||
++ gstreamerDeps pkgs
|
||||
++ extraLibraries pkgs;
|
||||
extraPkgs = pkgs: [ heroic-unwrapped ] ++ extraPkgs pkgs;
|
||||
inherit extraLibraries;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share
|
||||
ln -s ${heroic-unwrapped}/share/applications $out/share
|
||||
ln -s ${heroic-unwrapped}/share/icons $out/share
|
||||
'';
|
||||
|
||||
meta = heroic-unwrapped.meta;
|
||||
}
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "hugo";
|
||||
version = "0.148.1";
|
||||
version = "0.148.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gohugoio";
|
||||
repo = "hugo";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-EGga3tSaq+95s+3iamiCZ0qfdLE6Nw3hhZ7t54OIRjU=";
|
||||
hash = "sha256-6ILQRihdVkDrL5sEITfGzzMzXFmvYpO39s/QeUAVW6o=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-vckvhw1kpcI2SXSNjUR6u5o21qz9ZcWw+namDglpwxc=";
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "hyprprop";
|
||||
version = "0.1-unstable-2025-07-18";
|
||||
version = "0.1-unstable-2025-07-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "contrib";
|
||||
rev = "481175e17e155f19a3b31416530b6edf725e7034";
|
||||
hash = "sha256-usBNOT/uzFdsKDe5Ik+C36zqL+BfT7Lp2rqKWrpQuqk=";
|
||||
rev = "6839b23345b71db17cd408373de4f5605bf589b8";
|
||||
hash = "sha256-PFAJoEqQWMlo1J+yZb+4HixmhbRVmmNl58e/AkLYDDI=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/hyprprop";
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "jfrog-cli";
|
||||
version = "2.77.0";
|
||||
version = "2.78.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jfrog";
|
||||
repo = "jfrog-cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-CUmx2hQppay8S+zBs4XEXle8pF5mVXPyCJhtYyZ1N8M=";
|
||||
hash = "sha256-9lhoAgu7y+JbZk/Cee2G74nhEJ4C2KKStcBistuIRtE=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-TmOzexlojVF+9WqbEVzKFfbdgjGVzyBgeKjFEX5UobI=";
|
||||
vendorHash = "sha256-8Aaxwysbuzo2n2w4OPn7jooqrjEGwrZAlgec3j/pN2A=";
|
||||
|
||||
checkFlags = "-skip=^TestReleaseBundle";
|
||||
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "juju";
|
||||
version = "3.6.7";
|
||||
version = "3.6.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "juju";
|
||||
repo = "juju";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FJ6LZcsokno+VTj+mXO0YD8Q9qC5qG3CgXqnrPNokRY=";
|
||||
hash = "sha256-Y+sUR8HURkiICa6lffz0u3CeX9bzOjtbFOdvy7PaZfU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-blzjN9UknamoffR5Kpd1HmGhB+bWb+zL0SnzelW40M0=";
|
||||
vendorHash = "sha256-ghgXwaSyOVW3Viw+xA9r6KogKWJp0IWMByVdWCbE6hY=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/juju"
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lianad";
|
||||
version = "11.1"; # keep in sync with liana
|
||||
version = "12.0"; # keep in sync with liana
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wizardsardine";
|
||||
repo = "liana";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-trP6jnhMPASPkV7VwSHCl7gUhmx4F+68YK/QK+SPPZg=";
|
||||
hash = "sha256-TZUNYr7p4P/++eX9ZNU/d1IurPrkZn/PJmJOsB01VMY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Zmxb4ZxuIyyKWrGaX3/1UHgkmo/XtqIHuP9luAnzgm4=";
|
||||
cargoHash = "sha256-Hb5icOKgQiDzFLWwUfkwXcr1vn80QcAr+fKwG37PkYc=";
|
||||
|
||||
buildInputs = [ udev ];
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
pango,
|
||||
webkitgtk_6_0,
|
||||
nix-update-script,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -55,7 +56,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
cp -r ${finalAttrs.src}/data/hicolor $out/share/icons
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
tests = { inherit (nixosTests) oku; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Browser for the Oku Network and Peer-to-peer sites";
|
||||
|
||||
@@ -49,6 +49,10 @@ buildGoModule (finalAttrs: {
|
||||
"TestInterQueryCache_ClientError"
|
||||
"TestIntraQueryCache_ClientError"
|
||||
"TestSSOCredentialService"
|
||||
|
||||
# This test depends on the metrics available in go not changing. This is a bit
|
||||
# too unstable for us updating go independently.
|
||||
"TestJSONSerialization"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# Skip tests that require network, not available in the darwin sandbox
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
autoreconfHook,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
bash,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "prctl";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hikerockies";
|
||||
repo = "prctl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-1b8SO70mp0ACL3hw/iwKpPUpI5G7hF7l84hlSDHB2oA=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
patches = [
|
||||
# Eliminate unsafe strcpy() calls,
|
||||
# cf. <https://github.com/hikerockies/prctl/pull/1>
|
||||
./prctl-strcpy-overflow.patch
|
||||
|
||||
# Correct option parsing,
|
||||
# cf. <https://github.com/hikerockies/prctl/pull/2>
|
||||
./prctl-getopt.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace prctl.c \
|
||||
--replace-fail '"/bin/bash"' '"${lib.getExe bash}"'
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Tool to query and modify process behaviour";
|
||||
homepage = "https://tracker.debian.org/pkg/prctl";
|
||||
changelog = "https://github.com/hikerockies/prctl/blob/v${finalAttrs.version}/ChangeLog";
|
||||
mainProgram = "prctl";
|
||||
maintainers = with lib.maintainers; [ mvs ];
|
||||
license = lib.licenses.gpl2Only;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,55 @@
|
||||
From 6745b6362681f57823a57575a7949bd510767ac4 Mon Sep 17 00:00:00 2001
|
||||
From: Mikael Voss <mvs@nyantec.com>
|
||||
Date: Wed, 23 Jul 2025 18:37:10 +0200
|
||||
Subject: [PATCH 1/2] Replace unsound use of EOF
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
While getopt_long returns -1 on error, EOF is an implementation‐defined
|
||||
negative integer constant that just happens to be defined as -1 by most
|
||||
C standard libraries.
|
||||
---
|
||||
prctl.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/prctl.c b/prctl.c
|
||||
index 38cbcd1..527584c 100644
|
||||
--- a/prctl.c
|
||||
+++ b/prctl.c
|
||||
@@ -299,8 +299,8 @@ main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
opterr = 0;
|
||||
- while ((opt = getopt_long(argc, argv, "+qhv", longopts,
|
||||
- (int *) NULL)) != EOF) {
|
||||
+ while ((opt = getopt_long(argc, argv, "+qhv", longopts,
|
||||
+ (int *) NULL)) != -1) {
|
||||
switch (opt) {
|
||||
case 'u':
|
||||
if (strcmp(optarg, "silent") == 0) {
|
||||
|
||||
From 0c11b937c30e41e97c3fa852f6d65cd595bc193f Mon Sep 17 00:00:00 2001
|
||||
From: Mikael Voss <mvs@nyantec.com>
|
||||
Date: Wed, 23 Jul 2025 18:54:39 +0200
|
||||
Subject: [PATCH 2/2] Properly display invalid long options
|
||||
|
||||
---
|
||||
prctl.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/prctl.c b/prctl.c
|
||||
index 527584c..4c1d632 100644
|
||||
--- a/prctl.c
|
||||
+++ b/prctl.c
|
||||
@@ -375,8 +375,8 @@ main(int argc, char **argv)
|
||||
break;
|
||||
|
||||
case '?':
|
||||
- fprintf(stderr, "%s: invalid option - %c\n",
|
||||
- progname, optopt);
|
||||
+ fprintf(stderr, "%s: invalid option: %s\n",
|
||||
+ progname, argv[optind - 1]);
|
||||
exit(1);
|
||||
break;
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
From 079877486d9bbe170de2fbc3cba37713d11ab224 Mon Sep 17 00:00:00 2001
|
||||
From: Mikael Voss <mvs@nyantec.com>
|
||||
Date: Wed, 23 Jul 2025 17:33:04 +0200
|
||||
Subject: [PATCH 1/2] Avoid unnecessary copy of argv[0]
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The programme is copying the contents of *argv[0] into a fixed‐size
|
||||
buffer of 512 bytes using strcpy(). This might result in a buffer
|
||||
overflow and is unnecessary as the contents are never modified.
|
||||
---
|
||||
prctl.c | 12 +++++-------
|
||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/prctl.c b/prctl.c
|
||||
index 38cbcd1..b8cb85b 100644
|
||||
--- a/prctl.c
|
||||
+++ b/prctl.c
|
||||
@@ -51,13 +51,13 @@ struct option longopts[] = {
|
||||
int verbose=0;
|
||||
|
||||
void
|
||||
-print_version(char *progname)
|
||||
+print_version(char const *progname)
|
||||
{
|
||||
printf("%s version %s\n", progname, VERSION);
|
||||
}
|
||||
|
||||
void
|
||||
-usage(char *progname)
|
||||
+usage(char const *progname)
|
||||
{
|
||||
print_version(progname);
|
||||
printf("Usage: %s [-v] [-h|--help] [--version]\n", progname);
|
||||
@@ -273,8 +273,7 @@ int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int opt, cmd_start;
|
||||
- char *progname;
|
||||
- char fullpath[512];
|
||||
+ char const *progname;
|
||||
char shellname[128];
|
||||
int unaligned_val = -99;
|
||||
int fpemu_val = -99;
|
||||
@@ -284,11 +283,10 @@ main(int argc, char **argv)
|
||||
int display_all = 0;
|
||||
int umask;
|
||||
|
||||
- strcpy(fullpath, argv[0]);
|
||||
- if ((progname = strrchr(fullpath, '/')) != NULL) {
|
||||
+ if ((progname = strrchr(argv[0], '/')) != NULL) {
|
||||
progname++;
|
||||
} else {
|
||||
- progname = fullpath;
|
||||
+ progname = argv[0];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
From c233d083cec389e10dc9e85b3a835cf81246c275 Mon Sep 17 00:00:00 2001
|
||||
From: Mikael Voss <mvs@nyantec.com>
|
||||
Date: Wed, 23 Jul 2025 17:57:59 +0200
|
||||
Subject: [PATCH 2/2] Avoid unnecessary copy of shell path
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The programme tries getenv("SHELL") and getpwuid(getuid())->pw_shell to
|
||||
determine the preferred shell, falling back to DEFAULT_SHELL, and
|
||||
copies the contents pointed to into a fixed‐sized buffer of 128 bytes
|
||||
using strcpy().
|
||||
|
||||
This could result in a buffer overflow and is not necessary: While both
|
||||
getenv() and getpwuid() return pointers to locations which might get
|
||||
modified by subsequent calls to their respective function families,
|
||||
they are only called once, so that these pointers can be aliased safely.
|
||||
|
||||
In addition, getenv("SHELL") would return a null pointer if the variable
|
||||
is unset in the environment, resulting in a null pointer dereference in
|
||||
the enclosing strcpy() call.
|
||||
---
|
||||
prctl.c | 22 +++++++++-------------
|
||||
1 file changed, 9 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/prctl.c b/prctl.c
|
||||
index b8cb85b..342419c 100644
|
||||
--- a/prctl.c
|
||||
+++ b/prctl.c
|
||||
@@ -274,7 +274,7 @@ main(int argc, char **argv)
|
||||
{
|
||||
int opt, cmd_start;
|
||||
char const *progname;
|
||||
- char shellname[128];
|
||||
+ char const *shellname;
|
||||
int unaligned_val = -99;
|
||||
int fpemu_val = -99;
|
||||
int mcekill_val = -99;
|
||||
@@ -443,31 +443,27 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
printf("Starting a shell\n");
|
||||
- strcpy(shellname, getenv("SHELL"));
|
||||
-
|
||||
+ shellname = getenv("SHELL");
|
||||
+
|
||||
/*
|
||||
* Make sure SHELL environment variable is not unset. If it
|
||||
- * is, start bash.
|
||||
+ * is, start user login shell or bash.
|
||||
*/
|
||||
- if (shellname[0] == 0) {
|
||||
+ if (shellname == NULL) {
|
||||
struct passwd *pwd_entry;
|
||||
|
||||
pwd_entry = getpwuid(getuid());
|
||||
- if (pwd_entry == NULL) {
|
||||
- strcpy(shellname, DEFAULT_SHELL);
|
||||
+ if (pwd_entry != NULL && pwd_entry->pw_shell != NULL) {
|
||||
+ shellname = pwd_entry->pw_shell;
|
||||
} else {
|
||||
- if (pwd_entry->pw_shell != NULL) {
|
||||
- strcpy(shellname, pwd_entry->pw_shell);
|
||||
- } else {
|
||||
- strcpy(shellname, DEFAULT_SHELL);
|
||||
- }
|
||||
+ shellname = DEFAULT_SHELL;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Now exec the shell
|
||||
*/
|
||||
- if (execlp(shellname, (char *)shellname, (char *) 0) == -1) {
|
||||
+ if (execlp(shellname, shellname, (char *) 0) == -1) {
|
||||
fprintf(stderr, "Failed to exec the shell: %s\n",
|
||||
strerror(errno));
|
||||
exit(1);
|
||||
@@ -32,18 +32,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "q2pro";
|
||||
version = "0-unstable-2025-05-03";
|
||||
version = "0-unstable-2025-07-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skullernet";
|
||||
repo = "q2pro";
|
||||
rev = "aba81ef8bc277e9a4e11733a449a29d07ea28c7a";
|
||||
hash = "sha256-5iUvHmqhB8X9ylTMS1va4qTnPCRPI4yOg2L0Qp2d9hE=";
|
||||
rev = "3aa0d40ba58935154b0d2a02116021bfbb4f17e8";
|
||||
hash = "sha256-aqpOoECNKozbCWnCFpyTCbUlTx8tdpqjMAES7x9yEM0=";
|
||||
};
|
||||
|
||||
# build date and rev number is displayed in the game's console
|
||||
revCount = "3817"; # git rev-list --count ${src.rev}
|
||||
SOURCE_DATE_EPOCH = "1746223027"; # git show -s --format=%ct ${src.rev}
|
||||
revCount = "3832"; # git rev-list --count ${src.rev}
|
||||
SOURCE_DATE_EPOCH = "1753090158"; # git show -s --format=%ct ${src.rev}
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "quarkus-cli";
|
||||
version = "3.24.4";
|
||||
version = "3.24.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/quarkusio/quarkus/releases/download/${finalAttrs.version}/quarkus-cli-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-MvLqKqFFrd3EV/9TEhYqn7lArWfNYzUg4UNUSFT2Nek=";
|
||||
hash = "sha256-yO7sq4WZ39TtpZ6MD8rWZgJXl2P6IOLbnzxCN8caEN0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rabbitmqadmin-ng";
|
||||
version = "2.2.1";
|
||||
version = "2.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rabbitmq";
|
||||
repo = "rabbitmqadmin-ng";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-F/AkkmGn6LvbCiSE3znl/U/YDYLGQ7SCe0lBDTBzqic=";
|
||||
hash = "sha256-ifvSDtj+A9wR6tvM82bzP9I4ZpOYrIzqkGtL7jFfPvQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ZldTiRsxJH3UYNC9KeQ4WtPM75CtcAB6sbo3yzzZ5xA=";
|
||||
cargoHash = "sha256-7r44ouNmqycF9ZBccR0iN6qps1oc7sjQCgK0G19zzF0=";
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "signal-export";
|
||||
version = "3.6.0";
|
||||
version = "3.7.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "signal_export";
|
||||
hash = "sha256-lflRY6EC9fqgdYwQ9Incc2PJ22okZC9Juu6X7pxGJ8w=";
|
||||
hash = "sha256-xaXU+SODijD/iq2owj5IPKL+L2nrVfi573P58Txz8io=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
|
||||
+159
-129
@@ -13,161 +13,191 @@
|
||||
privateTmp ? true, # if the steam bubblewrap should isolate /tmp
|
||||
}:
|
||||
let
|
||||
steamEnv =
|
||||
buildRuntimeEnv =
|
||||
{
|
||||
name,
|
||||
runScript,
|
||||
passthru ? { },
|
||||
meta ? { },
|
||||
}:
|
||||
buildFHSEnv {
|
||||
inherit
|
||||
name
|
||||
runScript
|
||||
passthru
|
||||
meta
|
||||
privateTmp
|
||||
;
|
||||
extraPkgs ? pkgs: [ ],
|
||||
extraLibraries ? pkgs: [ ],
|
||||
extraProfile ? "",
|
||||
extraPreBwrapCmds ? "",
|
||||
extraBwrapArgs ? [ ],
|
||||
extraEnv ? { },
|
||||
...
|
||||
}@args:
|
||||
buildFHSEnv (
|
||||
(builtins.removeAttrs args [
|
||||
"extraPkgs"
|
||||
"extraLibraries"
|
||||
"extraProfile"
|
||||
"extraPreBwrapCmds"
|
||||
"extraBwrapArgs"
|
||||
"extraArgs"
|
||||
"extraEnv"
|
||||
])
|
||||
// {
|
||||
inherit privateTmp;
|
||||
|
||||
multiArch = true;
|
||||
includeClosures = true;
|
||||
multiArch = true;
|
||||
includeClosures = true;
|
||||
|
||||
# https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#command-line-tools
|
||||
targetPkgs =
|
||||
pkgs:
|
||||
with pkgs;
|
||||
[
|
||||
steam-unwrapped
|
||||
# https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#command-line-tools
|
||||
targetPkgs =
|
||||
pkgs:
|
||||
with pkgs;
|
||||
[
|
||||
bash
|
||||
coreutils
|
||||
file
|
||||
lsb-release # not documented, called from Big Picture
|
||||
pciutils # not documented, complains about lspci on startup
|
||||
glibc_multi.bin
|
||||
xdg-utils # calls xdg-open occasionally
|
||||
xz
|
||||
zenity
|
||||
|
||||
bash
|
||||
coreutils
|
||||
file
|
||||
lsb-release # not documented, called from Big Picture
|
||||
pciutils # not documented, complains about lspci on startup
|
||||
glibc_multi.bin
|
||||
xdg-utils # calls xdg-open occasionally
|
||||
xz
|
||||
zenity
|
||||
# Steam expects it to be /sbin specifically
|
||||
(pkgs.runCommand "sbin-ldconfig" { } ''
|
||||
mkdir -p $out/sbin
|
||||
ln -s /bin/ldconfig $out/sbin/ldconfig
|
||||
'')
|
||||
|
||||
# Steam expects it to be /sbin specifically
|
||||
(pkgs.runCommand "sbin-ldconfig" { } ''
|
||||
mkdir -p $out/sbin
|
||||
ln -s /bin/ldconfig $out/sbin/ldconfig
|
||||
'')
|
||||
# crashes on startup if it can't find libX11 locale files
|
||||
(pkgs.runCommand "xorg-locale" { } ''
|
||||
mkdir -p $out
|
||||
ln -s ${xorg.libX11}/share $out/share
|
||||
'')
|
||||
]
|
||||
++ extraPkgs pkgs;
|
||||
|
||||
# crashes on startup if it can't find libX11 locale files
|
||||
(pkgs.runCommand "xorg-locale" { } ''
|
||||
mkdir -p $out
|
||||
ln -s ${xorg.libX11}/share $out/share
|
||||
'')
|
||||
]
|
||||
++ extraPkgs pkgs;
|
||||
# https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#shared-libraries
|
||||
multiPkgs =
|
||||
pkgs:
|
||||
with pkgs;
|
||||
[
|
||||
glibc
|
||||
libxcrypt
|
||||
libGL
|
||||
|
||||
# https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#shared-libraries
|
||||
multiPkgs =
|
||||
pkgs:
|
||||
with pkgs;
|
||||
[
|
||||
glibc
|
||||
libxcrypt
|
||||
libGL
|
||||
libdrm
|
||||
libgbm
|
||||
udev
|
||||
libudev0-shim
|
||||
libva
|
||||
vulkan-loader
|
||||
|
||||
libdrm
|
||||
libgbm
|
||||
udev
|
||||
libudev0-shim
|
||||
libva
|
||||
vulkan-loader
|
||||
networkmanager
|
||||
# not documented, used for network status things in Big Picture
|
||||
# FIXME: figure out how to only build libnm?
|
||||
libcap # not documented, required by srt-bwrap
|
||||
]
|
||||
++ extraLibraries pkgs;
|
||||
|
||||
networkmanager
|
||||
# not documented, used for network status things in Big Picture
|
||||
# FIXME: figure out how to only build libnm?
|
||||
libcap # not documented, required by srt-bwrap
|
||||
]
|
||||
++ extraLibraries pkgs;
|
||||
profile = ''
|
||||
# prevents log spam from SteamRT GTK trying to load host GIO modules
|
||||
unset GIO_EXTRA_MODULES
|
||||
|
||||
extraInstallCommands = lib.optionalString (steam-unwrapped != null) ''
|
||||
ln -s ${steam-unwrapped}/share $out/share
|
||||
'';
|
||||
# udev event notifications don't work reliably inside containers.
|
||||
# SDL2 already tries to automatically detect flatpak and pressure-vessel
|
||||
# and falls back to inotify-based discovery [1]. We make SDL2 do the
|
||||
# same by telling it explicitly.
|
||||
#
|
||||
# [1] <https://github.com/libsdl-org/SDL/commit/8e2746cfb6e1f1a1da5088241a1440fd2535e321>
|
||||
export SDL_JOYSTICK_DISABLE_UDEV=1
|
||||
|
||||
profile = ''
|
||||
# prevents log spam from SteamRT GTK trying to load host GIO modules
|
||||
unset GIO_EXTRA_MODULES
|
||||
# This is needed for IME (e.g. iBus, fcitx5) to function correctly on non-CJK locales
|
||||
# https://github.com/ValveSoftware/steam-for-linux/issues/781#issuecomment-2004757379
|
||||
export GTK_IM_MODULE='xim'
|
||||
|
||||
# udev event notifications don't work reliably inside containers.
|
||||
# SDL2 already tries to automatically detect flatpak and pressure-vessel
|
||||
# and falls back to inotify-based discovery [1]. We make SDL2 do the
|
||||
# same by telling it explicitly.
|
||||
#
|
||||
# [1] <https://github.com/libsdl-org/SDL/commit/8e2746cfb6e1f1a1da5088241a1440fd2535e321>
|
||||
export SDL_JOYSTICK_DISABLE_UDEV=1
|
||||
# See https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#graphics-driver
|
||||
export LIBGL_DRIVERS_PATH=/run/opengl-driver/lib/dri:/run/opengl-driver-32/lib/dri
|
||||
export __EGL_VENDOR_LIBRARY_DIRS=/run/opengl-driver/share/glvnd/egl_vendor.d:/run/opengl-driver-32/share/glvnd/egl_vendor.d
|
||||
export LIBVA_DRIVERS_PATH=/run/opengl-driver/lib/dri:/run/opengl-driver-32/lib/dri
|
||||
export VDPAU_DRIVER_PATH=/run/opengl-driver/lib/vdpau:/run/opengl-driver-32/lib/vdpau
|
||||
|
||||
# This is needed for IME (e.g. iBus, fcitx5) to function correctly on non-CJK locales
|
||||
# https://github.com/ValveSoftware/steam-for-linux/issues/781#issuecomment-2004757379
|
||||
export GTK_IM_MODULE='xim'
|
||||
|
||||
# See https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#graphics-driver
|
||||
export LIBGL_DRIVERS_PATH=/run/opengl-driver/lib/dri:/run/opengl-driver-32/lib/dri
|
||||
export __EGL_VENDOR_LIBRARY_DIRS=/run/opengl-driver/share/glvnd/egl_vendor.d:/run/opengl-driver-32/share/glvnd/egl_vendor.d
|
||||
export LIBVA_DRIVERS_PATH=/run/opengl-driver/lib/dri:/run/opengl-driver-32/lib/dri
|
||||
export VDPAU_DRIVER_PATH=/run/opengl-driver/lib/vdpau:/run/opengl-driver-32/lib/vdpau
|
||||
|
||||
# Steam gets confused by the symlinks to bind mounts to symlinks /etc/localtime ends up being, so help it out.
|
||||
# See also: https://github.com/flathub/com.valvesoftware.Steam/blob/28481f09f33c12b6ac7421d13af9ed1523c54ec4/steam_wrapper/steam_wrapper.py#L160
|
||||
if [ -z ''${TZ+x} ]; then
|
||||
new_TZ="$(readlink -f /etc/localtime | grep -P -o '(?<=/zoneinfo/).*$')"
|
||||
if [ $? -eq 0 ]; then
|
||||
export TZ="$new_TZ"
|
||||
# Steam gets confused by the symlinks to bind mounts to symlinks /etc/localtime ends up being, so help it out.
|
||||
# See also: https://github.com/flathub/com.valvesoftware.Steam/blob/28481f09f33c12b6ac7421d13af9ed1523c54ec4/steam_wrapper/steam_wrapper.py#L160
|
||||
if [ -z ''${TZ+x} ]; then
|
||||
new_TZ="$(readlink -f /etc/localtime | grep -P -o '(?<=/zoneinfo/).*$')"
|
||||
if [ $? -eq 0 ]; then
|
||||
export TZ="$new_TZ"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
set -a
|
||||
${lib.toShellVars extraEnv}
|
||||
set +a
|
||||
set -a
|
||||
${lib.toShellVars extraEnv}
|
||||
set +a
|
||||
|
||||
${extraProfile}
|
||||
'';
|
||||
${extraProfile}
|
||||
'';
|
||||
|
||||
inherit extraPreBwrapCmds;
|
||||
inherit extraPreBwrapCmds;
|
||||
|
||||
extraBwrapArgs = [
|
||||
# Steam will dump crash reports here, make those more accessible
|
||||
"--bind-try /tmp/dumps /tmp/dumps"
|
||||
]
|
||||
++ extraBwrapArgs;
|
||||
};
|
||||
extraBwrapArgs = [
|
||||
# Steam will dump crash reports here, make those more accessible
|
||||
"--bind-try /tmp/dumps /tmp/dumps"
|
||||
]
|
||||
++ extraBwrapArgs;
|
||||
}
|
||||
);
|
||||
in
|
||||
steamEnv {
|
||||
name = "steam";
|
||||
buildRuntimeEnv {
|
||||
pname = "steam";
|
||||
inherit (steam-unwrapped) version meta;
|
||||
|
||||
extraPkgs = pkgs: [ steam-unwrapped ] ++ extraPkgs pkgs;
|
||||
inherit
|
||||
extraLibraries
|
||||
extraProfile
|
||||
extraPreBwrapCmds
|
||||
extraBwrapArgs
|
||||
extraEnv
|
||||
;
|
||||
|
||||
runScript = writeShellScript "steam-wrapped" ''
|
||||
exec steam ${extraArgs} "$@"
|
||||
'';
|
||||
|
||||
passthru.run = steamEnv {
|
||||
name = "steam-run";
|
||||
extraInstallCommands = ''
|
||||
ln -s ${steam-unwrapped}/share $out/share
|
||||
'';
|
||||
|
||||
runScript = writeShellScript "steam-run" ''
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: steam-run command-to-run args..." >&2
|
||||
exit 1
|
||||
fi
|
||||
passthru =
|
||||
let
|
||||
makeSteamRun =
|
||||
package:
|
||||
buildRuntimeEnv {
|
||||
name = "steam-run";
|
||||
|
||||
exec "$@"
|
||||
'';
|
||||
extraPkgs = pkgs: package ++ extraPkgs pkgs;
|
||||
|
||||
meta = (steam-unwrapped.meta or { }) // {
|
||||
description = "Run commands in the same FHS environment that is used for Steam";
|
||||
mainProgram = "steam-run";
|
||||
name = "steam-run";
|
||||
# steam-run itself is just a script that lives in nixpkgs (which is licensed under MIT).
|
||||
# steam is a dependency and already unfree, so normal steam-run will not install without
|
||||
# allowing unfree packages or appropriate `allowUnfreePredicate` rules.
|
||||
license = lib.licenses.mit;
|
||||
inherit
|
||||
extraLibraries
|
||||
extraProfile
|
||||
extraPreBwrapCmds
|
||||
extraBwrapArgs
|
||||
extraEnv
|
||||
;
|
||||
|
||||
runScript = writeShellScript "steam-run" ''
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: steam-run command-to-run args..." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Run commands in the same FHS environment that is used for Steam";
|
||||
mainProgram = "steam-run";
|
||||
name = "steam-run";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
inherit buildRuntimeEnv;
|
||||
|
||||
run = makeSteamRun [ steam-unwrapped ];
|
||||
run-free = makeSteamRun [ ];
|
||||
};
|
||||
};
|
||||
|
||||
meta = (steam-unwrapped.meta or { }) // {
|
||||
description = "Steam dependencies (dummy package, do not use)";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,31 +4,31 @@
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "storj-uplink";
|
||||
version = "1.131.7";
|
||||
version = "1.133.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "storj";
|
||||
repo = "storj";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-zZQOiYH2YN6pRwu2ddt+IEJ35RJ3rplbQ+T4/zKtv8w=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-MvaA8AkoP4FszEEM33QKDt5zeXMZ3XDt5uU1t6C6Q1I=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/uplink" ];
|
||||
|
||||
vendorHash = "sha256-8g5NZpw2T2NuyizSh/cA2seSChEGWzlZmR82Xg0ClKQ=";
|
||||
vendorHash = "sha256-N1rEEM+oH2VVOvg9c8gICQ1aDO9FS/faVbQl0kj1jYM=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
ldflags = [ "-s" ];
|
||||
|
||||
meta = with lib; {
|
||||
# Tests fail with 'listen tcp 127.0.0.1:0: bind: operation not permitted'.
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = {
|
||||
description = "Command-line tool for Storj";
|
||||
homepage = "https://storj.io";
|
||||
license = licenses.agpl3Only;
|
||||
license = lib.licenses.agpl3Only;
|
||||
mainProgram = "uplink";
|
||||
maintainers = with maintainers; [ felipeqq2 ];
|
||||
maintainers = with lib.maintainers; [ felipeqq2 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "terraform_local";
|
||||
version = "0.24.0";
|
||||
version = "0.24.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-w+Jd8OPA5XjLw5zp8AEwHlPT5Or4z+elaW9pFKMR9OA=";
|
||||
hash = "sha256-LPrrKDoXUwg/P1m+Gi4I0iUoaRNjNpTWlbBLupkTrpE=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [ setuptools ];
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
buildFHSEnv,
|
||||
lib,
|
||||
steam,
|
||||
umu-launcher-unwrapped,
|
||||
@@ -7,39 +6,28 @@
|
||||
extraLibraries ? pkgs: [ ],
|
||||
extraProfile ? "", # string to append to shell profile
|
||||
extraEnv ? { }, # Environment variables to include in shell profile
|
||||
withMultiArch ? true, # Many Wine games need 32-bit libraries.
|
||||
}:
|
||||
let
|
||||
# Steam is not a dependency, but we re-use some of its implementation
|
||||
steam' = steam.override {
|
||||
inherit extraEnv extraProfile;
|
||||
};
|
||||
in
|
||||
buildFHSEnv {
|
||||
steam.buildRuntimeEnv {
|
||||
pname = "umu-launcher";
|
||||
inherit (umu-launcher-unwrapped) version meta;
|
||||
|
||||
targetPkgs =
|
||||
pkgs:
|
||||
[
|
||||
# Use umu-launcher-unwrapped from the package args, to support overriding
|
||||
umu-launcher-unwrapped
|
||||
]
|
||||
++ extraPkgs pkgs;
|
||||
multiPkgs = extraLibraries;
|
||||
multiArch = withMultiArch;
|
||||
extraPkgs = pkgs: [ umu-launcher-unwrapped ] ++ extraPkgs pkgs;
|
||||
inherit
|
||||
extraLibraries
|
||||
extraProfile
|
||||
extraEnv
|
||||
;
|
||||
|
||||
executableName = umu-launcher-unwrapped.meta.mainProgram;
|
||||
runScript = lib.getExe umu-launcher-unwrapped;
|
||||
|
||||
# Legendary spawns UMU, doesn't wait for it to exit,
|
||||
# and immediately exits itself. This makes it so we can't
|
||||
# die with parent, because parent is already dead.
|
||||
dieWithParent = false;
|
||||
|
||||
extraInstallCommands = ''
|
||||
ln -s ${umu-launcher-unwrapped}/lib $out/lib
|
||||
ln -s ${umu-launcher-unwrapped}/share $out/share
|
||||
'';
|
||||
|
||||
# For umu & proton, we need roughly the same environment as Steam.
|
||||
# For simplicity, we use Steam's `profile` implementation.
|
||||
# See https://github.com/NixOS/nixpkgs/pull/381047
|
||||
# And https://github.com/NixOS/nixpkgs/issues/297662#issuecomment-2647656699
|
||||
inherit (steam'.args) profile;
|
||||
}
|
||||
|
||||
@@ -16,18 +16,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "v2ray-core";
|
||||
version = "5.37.0";
|
||||
version = "5.38.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2fly";
|
||||
repo = "v2ray-core";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-guALD7pXZUWE9eBYvjUhAE1QeodH3Nw30nVyRaNrRGw=";
|
||||
hash = "sha256-vx0ttx7ACbgTeP7JCb+VHHBwPS97RVK9tZJaxf/bIyQ=";
|
||||
};
|
||||
|
||||
# `nix-update` doesn't support `vendorHash` yet.
|
||||
# https://github.com/Mic92/nix-update/pull/95
|
||||
vendorHash = "sha256-zf2oalZB/5EDqo0lrKbiaYSt0uw7Qh9J5exgxGrvLUg=";
|
||||
vendorHash = "sha256-P/QWkUXJPHHndN2yEVYl3mq55Vi5/ayNwMtDHyQygdQ=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -45,13 +45,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vulkan-cts";
|
||||
version = "1.4.3.1";
|
||||
version = "1.4.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "VK-GL-CTS";
|
||||
rev = "vulkan-cts-${finalAttrs.version}";
|
||||
hash = "sha256-DW9Js4eVC7I5pyjdmcP6TdLZ9RrFKfizAgOYuQmzF5Q=";
|
||||
hash = "sha256-Ahp8Wcil0IWSMXXA0Hlm/4KtBCo4HFSQtYAjIlFGtgA=";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
|
||||
@@ -34,9 +34,9 @@ let
|
||||
"20.1.6".officialRelease.sha256 = "sha256-PfCzECiCM+k0hHqEUSr1TSpnII5nqIxg+Z8ICjmMj0Y=";
|
||||
"21.1.0-rc1".officialRelease.sha256 = "sha256-EZMG3kNqGTvKSuvslbrtNnyqBCG5C2gN9Y2qHbiuh8Q=";
|
||||
"22.0.0-git".gitRelease = {
|
||||
rev = "f3a3270dbca3649b7d56aaa42cb8481fb34e2d67";
|
||||
rev-version = "22.0.0-unstable-2025-07-20";
|
||||
sha256 = "sha256-rMiPa8T2n0IWtOv0SYb+eWWHRfPTBGEb4yCp11gVzRE=";
|
||||
rev = "90de4a4ac96ef314e3af9c43c516d5aaf105777a";
|
||||
rev-version = "22.0.0-unstable-2025-07-28";
|
||||
sha256 = "sha256-zTxqMegoqoXHFLXZijWsTXny5y2WLdXTwMtiPnY9KLs=";
|
||||
};
|
||||
}
|
||||
// llvmVersions;
|
||||
|
||||
@@ -359,7 +359,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "boto3-stubs";
|
||||
version = "1.39.11";
|
||||
version = "1.39.14";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -367,7 +367,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "boto3_stubs";
|
||||
inherit version;
|
||||
hash = "sha256-3Ig1yx4lbzCWAx5ehFVkNk0LKNXLT/7/5U7K99smaug=";
|
||||
hash = "sha256-NNiQIr4JdELwK9Tpof51gDy2taP2tHY7tqXr191tfck=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -3,12 +3,13 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build
|
||||
# build-system
|
||||
setuptools,
|
||||
|
||||
# runtime
|
||||
# dependencies
|
||||
looseversion,
|
||||
packaging,
|
||||
tomlkit,
|
||||
typing-extensions,
|
||||
|
||||
# tests
|
||||
@@ -18,14 +19,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lightning-utilities";
|
||||
version = "0.14.3";
|
||||
version = "0.15.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Lightning-AI";
|
||||
repo = "utilities";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-MI2dhcxYZJw+EMO05m+W/yE5UlNBB2AHltb0XDamxMc=";
|
||||
hash = "sha256-4WCsaprtAvrKFbPCa1bZJzT0Fo5F9sMYT2A+bolEmwk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -38,6 +39,7 @@ buildPythonPackage rec {
|
||||
dependencies = [
|
||||
looseversion
|
||||
packaging
|
||||
tomlkit
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
|
||||
@@ -106,8 +106,8 @@ rec {
|
||||
"sha256-etvr1Nu5aInbxZ7VINX0GAVSxymk11yWDPWiLcB+FXU=";
|
||||
|
||||
mypy-boto3-appintegrations =
|
||||
buildMypyBoto3Package "appintegrations" "1.39.0"
|
||||
"sha256-HPiNjI2qR+n/M4n8/chH58CJqVT1aI+H9oJss3xjVCU=";
|
||||
buildMypyBoto3Package "appintegrations" "1.39.14"
|
||||
"sha256-SLOj38N3NbssE3apROhXjVYDN7NCyGVnyWKqywiBwSw=";
|
||||
|
||||
mypy-boto3-application-autoscaling =
|
||||
buildMypyBoto3Package "application-autoscaling" "1.39.0"
|
||||
@@ -178,8 +178,8 @@ rec {
|
||||
"sha256-MXS/FQkRYkWXS/ZCDnQkYnIgQ9k+JV9fAl8FZ9504cs=";
|
||||
|
||||
mypy-boto3-budgets =
|
||||
buildMypyBoto3Package "budgets" "1.39.0"
|
||||
"sha256-JH8+9lZOkcA3noyuVt0kQP5w04rlDy2W3wD6PzEauas=";
|
||||
buildMypyBoto3Package "budgets" "1.39.14"
|
||||
"sha256-Td+Do7vxVC/t9MHgx7DXNV0+ABddqCCOFoN2OPMHoJ0=";
|
||||
|
||||
mypy-boto3-ce =
|
||||
buildMypyBoto3Package "ce" "1.39.0"
|
||||
@@ -334,8 +334,8 @@ rec {
|
||||
"sha256-ZcXizvC4Y/WkJnyegLLdxkxvv3LD7A/XB6k7Lb7UkI4=";
|
||||
|
||||
mypy-boto3-config =
|
||||
buildMypyBoto3Package "config" "1.39.0"
|
||||
"sha256-eZC2Lyb/xh+bQi7qskPjrrQymOXgAaT0UB20T/zUpNA=";
|
||||
buildMypyBoto3Package "config" "1.39.14"
|
||||
"sha256-FbsHEAA1wDmN3ne+NTnzxHTUgZCLVPYFCVuX0L4tH90=";
|
||||
|
||||
mypy-boto3-connect =
|
||||
buildMypyBoto3Package "connect" "1.39.0"
|
||||
@@ -446,8 +446,8 @@ rec {
|
||||
"sha256-uYeekAsfyETYQYWR3L8S+uzlp6EQpvYEWsqiX+60b/Y=";
|
||||
|
||||
mypy-boto3-ec2 =
|
||||
buildMypyBoto3Package "ec2" "1.39.10"
|
||||
"sha256-8fxtJZJnC0UDtEqRMdOzU92mht0oAg4zjxcS1kb6biw=";
|
||||
buildMypyBoto3Package "ec2" "1.39.14"
|
||||
"sha256-D3xsvpQ8CMGj6brwxwLNjlmSDLP4oW91WuZyvPJO9qw=";
|
||||
|
||||
mypy-boto3-ec2-instance-connect =
|
||||
buildMypyBoto3Package "ec2-instance-connect" "1.39.0"
|
||||
@@ -574,8 +574,8 @@ rec {
|
||||
"sha256-pKeTUtqqLKy5DX4ASRJK1LpRg7Y6KnrnKcY7twMXiHM=";
|
||||
|
||||
mypy-boto3-glue =
|
||||
buildMypyBoto3Package "glue" "1.39.7"
|
||||
"sha256-/BVuh0ocQWpWcdlxFW6NIhp1pQ5hNp/Jiji9HMoGD7U=";
|
||||
buildMypyBoto3Package "glue" "1.39.12"
|
||||
"sha256-7k4hI6y282CI5Tm1i+smjIHO6N83mFlE2cY3SngekXo=";
|
||||
|
||||
mypy-boto3-grafana =
|
||||
buildMypyBoto3Package "grafana" "1.39.0"
|
||||
@@ -762,8 +762,8 @@ rec {
|
||||
"sha256-4O3YwpoJd0hMIvNLIoH6pQfHAB+SXxGvuJ/ZBAXIizI=";
|
||||
|
||||
mypy-boto3-kms =
|
||||
buildMypyBoto3Package "kms" "1.39.0"
|
||||
"sha256-G36mwjFKniqdiowwRj9T947p2mGIT2Wz1bJ2TREac/M=";
|
||||
buildMypyBoto3Package "kms" "1.39.14"
|
||||
"sha256-HKOO9AXAt3ZIj1dgftxszcfkJjGtrSPcZKufye/HKrQ=";
|
||||
|
||||
mypy-boto3-lakeformation =
|
||||
buildMypyBoto3Package "lakeformation" "1.39.0"
|
||||
@@ -878,8 +878,8 @@ rec {
|
||||
"sha256-m2GQMKzrBEiKkk8gBhRvETEe4SplH5l/GYpc86wwBG0=";
|
||||
|
||||
mypy-boto3-mediapackagev2 =
|
||||
buildMypyBoto3Package "mediapackagev2" "1.39.7"
|
||||
"sha256-rVbM/wQ0NJ5K0LMIQWgAN4kW419f4mhiR8Sadog+aPA=";
|
||||
buildMypyBoto3Package "mediapackagev2" "1.39.14"
|
||||
"sha256-X5RvEr/I1Yj0IeCUGtNA92FzmqZY/grri8pgs0NVtqg=";
|
||||
|
||||
mypy-boto3-mediastore =
|
||||
buildMypyBoto3Package "mediastore" "1.39.0"
|
||||
@@ -966,8 +966,8 @@ rec {
|
||||
"sha256-FvlItvDTdy6snW2oENJGKnGQi/6FGytV+PVaJNXH7Nk=";
|
||||
|
||||
mypy-boto3-omics =
|
||||
buildMypyBoto3Package "omics" "1.39.0"
|
||||
"sha256-F3NyoF6+p+icDI14Ieb1Kv4lvL0Qlyxu4svExfcaRSU=";
|
||||
buildMypyBoto3Package "omics" "1.39.13"
|
||||
"sha256-iPx1rzAdu0DsTJRVWdJGCgSy+dzwykIQaXwiZt/zYxg=";
|
||||
|
||||
mypy-boto3-opensearch =
|
||||
buildMypyBoto3Package "opensearch" "1.39.5"
|
||||
@@ -1290,8 +1290,8 @@ rec {
|
||||
"sha256-pW6TPUN9BkawWJUe7Mkv/GCvguzEb15Q+hrp22oic4E=";
|
||||
|
||||
mypy-boto3-sqs =
|
||||
buildMypyBoto3Package "sqs" "1.39.0"
|
||||
"sha256-J51InpuP+4YPLcY0lgjp6yia4MjDVYc56eYsWV5FaDQ=";
|
||||
buildMypyBoto3Package "sqs" "1.39.14"
|
||||
"sha256-YFcAbN+G8sLzZ27WV0xBKZD9EqRBKzoLlVanySJJPKc=";
|
||||
|
||||
mypy-boto3-ssm =
|
||||
buildMypyBoto3Package "ssm" "1.39.9"
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "publicsuffixlist";
|
||||
version = "1.0.2.20250719";
|
||||
version = "1.0.2.20250724";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-AEQ660tm0jEPMBxIpsIrni1GyxiQa12UlH87msEZzec=";
|
||||
hash = "sha256-eZKPikda5WtjxSS+nZGftcMVFjFrZMeHVt9XAl5QQWs=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -23,14 +23,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pymilvus";
|
||||
version = "2.5.13";
|
||||
version = "2.5.14";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "milvus-io";
|
||||
repo = "pymilvus";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-+sBOpGnvF6MPCCkaosUemow39Jdy/yNjfnJ+QGX7teI=";
|
||||
hash = "sha256-h+HjDM+uhmcz7fKXE4RWtqD2+Evd9rqG3Zd5jsDyCNE=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
meson,
|
||||
meson-python,
|
||||
cython_3_1,
|
||||
attrs,
|
||||
useful-types,
|
||||
pytestCheckHook,
|
||||
pillow,
|
||||
pytest-regressions,
|
||||
dirty-equals,
|
||||
}:
|
||||
let
|
||||
pname = "srctools";
|
||||
version = "2.6.0";
|
||||
in
|
||||
buildPythonPackage {
|
||||
inherit pname version;
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-QHPRSgu3i443kLeLeJXVpPP0hqMbsi4lScAYHrrfWEM=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
meson
|
||||
meson-python
|
||||
cython_3_1
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
attrs
|
||||
useful-types
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pillow
|
||||
pytest-regressions
|
||||
dirty-equals
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "srctools" ];
|
||||
|
||||
meta = {
|
||||
description = "Modules for working with Valve's Source Engine file formats";
|
||||
homepage = "https://github.com/TeamSpen210/srctools";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ different-name ];
|
||||
};
|
||||
}
|
||||
@@ -321,6 +321,7 @@ let
|
||||
NET_CLS_BPF = module;
|
||||
NET_ACT_BPF = module;
|
||||
NET_SCHED = yes;
|
||||
NET_SCH_BPF = whenAtLeast "6.16" yes;
|
||||
L2TP_V3 = yes;
|
||||
L2TP_IP = module;
|
||||
L2TP_ETH = module;
|
||||
@@ -653,6 +654,8 @@ let
|
||||
# default to dual role mode
|
||||
USB_DWC2_DUAL_ROLE = yes;
|
||||
USB_DWC3_DUAL_ROLE = yes;
|
||||
|
||||
USB_XHCI_SIDEBAND = whenAtLeast "6.16" yes; # needed for audio offload
|
||||
};
|
||||
|
||||
usb-serial = {
|
||||
|
||||
@@ -30,5 +30,9 @@
|
||||
"6.15": {
|
||||
"version": "6.15.8",
|
||||
"hash": "sha256:19i87zpq3zhpg09sdirnzys2s2yrv9xn8mpibl1a6qmr2sy94znk"
|
||||
},
|
||||
"6.16": {
|
||||
"version": "6.16",
|
||||
"hash": "sha256:10ydzfzc3g0nhns6md08gpfshhjcyd58lylqr15alijjdgzf4jqs"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1132,6 +1132,7 @@ mapAliases {
|
||||
linuxPackages_6_13 = linuxKernel.packages.linux_6_13;
|
||||
linuxPackages_6_14 = linuxKernel.packages.linux_6_14;
|
||||
linuxPackages_6_15 = linuxKernel.packages.linux_6_15;
|
||||
linuxPackages_6_16 = linuxKernel.packages.linux_6_16;
|
||||
linuxPackages_ham = linuxKernel.packages.linux_ham;
|
||||
linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1;
|
||||
linuxPackages_rpi02w = linuxKernel.packages.linux_rpi3;
|
||||
@@ -1156,6 +1157,7 @@ mapAliases {
|
||||
linux_6_13 = linuxKernel.kernels.linux_6_13;
|
||||
linux_6_14 = linuxKernel.kernels.linux_6_14;
|
||||
linux_6_15 = linuxKernel.kernels.linux_6_15;
|
||||
linux_6_16 = linuxKernel.kernels.linux_6_16;
|
||||
linux_ham = linuxKernel.kernels.linux_ham;
|
||||
linux_rpi0 = linuxKernel.kernels.linux_rpi1;
|
||||
linux_rpi02w = linuxKernel.kernels.linux_rpi3;
|
||||
|
||||
@@ -14918,11 +14918,7 @@ with pkgs;
|
||||
springLobby = callPackage ../games/spring/springlobby.nix { };
|
||||
|
||||
steam-run = steam.run;
|
||||
|
||||
# This exists so Hydra tries to build all of Steam's dependencies.
|
||||
steam-fhsenv-without-steam = steam.override { steam-unwrapped = null; };
|
||||
|
||||
steam-run-free = steam-fhsenv-without-steam.run;
|
||||
steam-run-free = steam.run-free;
|
||||
|
||||
steamback = python3.pkgs.callPackage ../tools/games/steamback { };
|
||||
|
||||
|
||||
@@ -219,6 +219,14 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
linux_6_16 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "6.16";
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
];
|
||||
};
|
||||
|
||||
linux_testing =
|
||||
let
|
||||
testing = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
@@ -732,6 +740,7 @@ in
|
||||
linux_6_6 = recurseIntoAttrs (packagesFor kernels.linux_6_6);
|
||||
linux_6_12 = recurseIntoAttrs (packagesFor kernels.linux_6_12);
|
||||
linux_6_15 = recurseIntoAttrs (packagesFor kernels.linux_6_15);
|
||||
linux_6_16 = recurseIntoAttrs (packagesFor kernels.linux_6_16);
|
||||
}
|
||||
// lib.optionalAttrs config.allowAliases {
|
||||
linux_4_19 = throw "linux 4.19 was removed because it will reach its end of life within 24.11"; # Added 2024-09-21
|
||||
@@ -801,7 +810,7 @@ in
|
||||
packageAliases = {
|
||||
linux_default = packages.linux_6_12;
|
||||
# Update this when adding the newest kernel major version!
|
||||
linux_latest = packages.linux_6_15;
|
||||
linux_latest = packages.linux_6_16;
|
||||
linux_rt_default = packages.linux_rt_5_15;
|
||||
linux_rt_latest = packages.linux_rt_6_6;
|
||||
}
|
||||
|
||||
@@ -17150,6 +17150,8 @@ self: super: with self; {
|
||||
|
||||
squarify = callPackage ../development/python-modules/squarify { };
|
||||
|
||||
srctools = callPackage ../development/python-modules/srctools { };
|
||||
|
||||
sre-yield = callPackage ../development/python-modules/sre-yield { };
|
||||
|
||||
srp = callPackage ../development/python-modules/srp { };
|
||||
|
||||
@@ -272,7 +272,9 @@ let
|
||||
jobs.tests.stdenv.hooks.patch-shebangs.x86_64-linux
|
||||
*/
|
||||
]
|
||||
++ collect isDerivation jobs.stdenvBootstrapTools
|
||||
# FIXME: these are just temporarily omitted until fixed
|
||||
# see https://hydra.nixos.org/build/303330677#tabs-constituents
|
||||
#++ collect isDerivation jobs.stdenvBootstrapTools
|
||||
++ optionals supportDarwin.x86_64 [
|
||||
jobs.stdenv.x86_64-darwin
|
||||
jobs.cargo.x86_64-darwin
|
||||
|
||||
Reference in New Issue
Block a user