Merge master into staging-nixos

This commit is contained in:
nixpkgs-ci[bot]
2026-07-18 10:53:51 +00:00
committed by GitHub
71 changed files with 2301 additions and 451 deletions

View File

@@ -156,8 +156,7 @@ body {
}
a {
text-decoration: none;
border-bottom: 1px solid;
text-decoration: underline;
color: var(--link-color);
}
@@ -480,6 +479,8 @@ div.appendix .variablelist .term {
nav.toc-sidebar {
height: 100%;
padding: 0 1rem 2rem;
background-color: var(--background);
color: var(--main-text-color);
}
/* menu button, shown on mobile, hidden on desktop */
@@ -521,6 +522,59 @@ nav.toc-sidebar li {
nav.toc-sidebar summary {
cursor: pointer;
display: flex;
align-items: center;
list-style: none;
}
nav.toc-sidebar summary::before {
content: "▸";
flex: none;
font-size: 0.75em;
}
nav.toc-sidebar details[open] > summary::before {
content: "▾";
}
nav.toc-sidebar a {
display: block;
width: 100%;
padding: 3px 8px;
border-left: 3px solid transparent;
border-radius: 3px;
color: inherit;
transition:
background-color 120ms ease,
border-color 120ms ease;
}
nav.toc-sidebar a:hover {
background-color: #f2f2f2 !important;
}
nav.toc-sidebar a.active {
background-color: #d8d8d8;
border-left-color: #444;
font-weight: 600;
}
nav.toc-sidebar a.active-trail {
border-left-color: #bbb;
background-color: #e8e8e8;
}
@media (prefers-color-scheme: dark) {
nav.toc-sidebar a:hover {
/* hover should win over scroll selectors despite beeing less specific */
background-color: #606060 !important;
}
nav.toc-sidebar a.active {
background-color: #373737;
border-left-color: #eee;
font-weight: 600;
}
nav.toc-sidebar a.active-trail {
border-left-color: #eee;
background-color: #323232;
}
}
@media screen and (min-width: 768px) {
@@ -553,7 +607,6 @@ nav.toc-sidebar summary {
max-height: none;
overflow-y: auto;
border: none;
border-right: 0.0625rem solid #d8d8d8;
}
/* Hide the toggle button on desktop */

View File

@@ -14402,6 +14402,12 @@
github = "keller00";
githubId = 8452750;
};
kenis1108 = {
email = "1836362346@qq.com";
github = "kenis1108";
githubId = 45393183;
name = "kenis";
};
kenran = {
email = "johannes.maier@mailbox.org";
github = "kenranunderscore";
@@ -29732,12 +29738,6 @@
githubId = 20145996;
name = "Victor Fuentes";
};
vlstill = {
email = "xstill@fi.muni.cz";
github = "vlstill";
githubId = 4070422;
name = "Vladimír Štill";
};
vmandela = {
email = "venkat.mandela@gmail.com";
github = "vmandela";

View File

@@ -717,6 +717,15 @@ with lib.maintainers;
github = "security-review";
};
stardust-xr = {
members = [
pandapip1
technobaboo
];
scope = "Maintain Stardust XR packages";
shortName = "StardustXR";
};
stdenv = {
enableFeatureFreezePing = true;
github = "stdenv";

View File

@@ -1586,6 +1586,8 @@ in
sssd-ldap = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./sssd-ldap.nix { };
sssd-legacy-config = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./sssd-legacy-config.nix { };
stalwart = runTest ./stalwart/stalwart.nix;
stardust-xr-atmosphere = runTest ./stardust-xr/atmosphere.nix;
stardust-xr-flatland = runTest ./stardust-xr/flatland.nix;
stargazer = runTest ./web-servers/stargazer.nix;
starship = runTest ./starship.nix;
startx = import ./startx.nix { inherit pkgs runTest; };

View File

@@ -0,0 +1,39 @@
{
lib,
pkgs,
config,
...
}:
{
imports = [
./user-account.nix
./x11.nix
];
test-support.displayManager.auto.user = "alice";
systemd.user.targets.xdg-desktop-autostart = {
wantedBy = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
};
hardware.graphics.enable = true;
services.monado = {
enable = true;
defaultRuntime = true;
forceDefaultRuntime = true;
};
systemd.user.services.monado = {
requires = [ "graphical-session.target" ];
environment = {
# Stop Monado from probing for any hardware
SIMULATED_ENABLE = "1";
SIMULATED_LEFT = "simple";
SIMULATED_RIGHT = "simple";
# Run as X11 client rather than using direct mode
XRT_COMPOSITOR_FORCE_XCB = "1";
# And run fullscreen so that we can hide the DE
XRT_COMPOSITOR_XCB_FULLSCREEN = "1";
};
};
}

View File

@@ -3,47 +3,57 @@
name = "monado";
nodes.machine =
{ pkgs, ... }:
{
lib,
pkgs,
config,
...
}:
{
hardware.graphics.enable = true;
users.users.alice = {
isNormalUser = true;
uid = 1000;
imports = [ ./common/openxr.nix ];
systemd.user.services.print-openxr-info = {
wantedBy = [ "xdg-desktop-autostart.target" ];
requires = [ "monado.service" ];
script = lib.getExe' pkgs.openxr-loader "openxr_runtime_list";
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
};
services.monado = {
enable = true;
defaultRuntime = true;
forceDefaultRuntime = true;
systemd.user.services.xrgears = {
wantedBy = [ "xdg-desktop-autostart.target" ];
requires = [ "monado.service" ];
script = lib.getExe pkgs.xrgears;
};
# Stop Monado from probing for any hardware
systemd.user.services.monado.environment.SIMULATED_ENABLE = "1";
environment.systemPackages = with pkgs; [ openxr-loader ];
};
testScript =
{ nodes, ... }:
let
userId = toString nodes.machine.users.users.alice.uid;
runtimePath = "/run/user/${userId}";
in
''
# for defaultRuntime
machine.succeed("stat /etc/xdg/openxr/1/active_runtime.json")
with subtest("Ensure X11 starts"):
start_all()
machine.succeed("loginctl enable-linger alice")
machine.wait_for_x()
machine.succeed("loginctl enable-linger alice")
machine.wait_for_unit("user@${userId}.service")
with subtest("Ensure default runtime present"):
machine.succeed("stat /etc/xdg/openxr/1/active_runtime.json")
machine.wait_for_unit("monado.socket", "alice")
machine.systemctl("start monado.service", "alice")
machine.wait_for_unit("monado.service", "alice")
with subtest("Ensure forced runtime present"):
# Monado needs to be started to create the forced runtime file
machine.systemctl("start monado.service", "alice")
machine.wait_for_unit("monado.service", "alice")
machine.succeed("stat /home/alice/.config/openxr/1/active_runtime.json")
# for forceDefaultRuntime
machine.succeed("stat /home/alice/.config/openxr/1/active_runtime.json")
with subtest("Ensure openxr_runtime_list can find runtime"):
machine.wait_for_unit("print-openxr-info.service", "alice")
machine.succeed("su -- alice -c env XDG_RUNTIME_DIR=${runtimePath} openxr_runtime_list")
with subtest("Ensure xrgears launches"):
machine.wait_for_unit("xrgears.service", "alice")
# TODO: 10 seconds should be long enough for anything, but this is theoretically flaky
machine.sleep(10)
machine.screenshot("screen")
'';
}

View File

@@ -0,0 +1,54 @@
{ ... }:
{
name = "stardust-xr-atmosphere";
# Doesn't understand @polling_condition
skipTypeCheck = true;
nodes.machine =
{
lib,
pkgs,
config,
...
}:
{
imports = [ ./common.nix ];
virtualisation.memorySize = 4096;
systemd.user.services.stardust-xr-atmosphere = {
wantedBy = [ "xdg-desktop-autostart.target" ];
requires = [ "stardust-xr-server.service" ];
after = [ "stardust-xr-server.service" ];
script = ''
set -eufx pipefail
${lib.getExe pkgs.stardust-xr-atmosphere} install ${pkgs.stardust-xr-atmosphere}/share/atmosphere/default_envs/the_grid
${lib.getExe pkgs.stardust-xr-atmosphere} set-default the_grid
${lib.getExe pkgs.stardust-xr-atmosphere} show
'';
environment.RUST_BACKTRACE = "full";
};
};
testScript =
{ nodes, ... }:
''
@polling_condition()
def atmosphere_running():
machine.wait_for_unit("stardust-xr-atmosphere.service", "alice")
with subtest("Ensure X11 starts"):
start_all()
machine.succeed("loginctl enable-linger alice")
machine.wait_for_x()
with subtest("Ensure system works"):
with atmosphere_running:
# TODO(@Pandapip1): 20 seconds should be long enough for anything, but this is theoretically flaky
# Adding systemd notify support to stardust-xr-atmosphere should resolve this
machine.sleep(20)
machine.screenshot("screen")
'';
}

View File

@@ -0,0 +1,23 @@
{
lib,
pkgs,
...
}:
{
imports = [ ../common/openxr.nix ];
# TODO(@Pandapip1): For the time being, Stardust doesn't like controllers rather than hand tracking
services.monado.enable = lib.mkForce false;
systemd.user.services.stardust-xr-server = {
wantedBy = [ "xdg-desktop-autostart.target" ];
# requires = [ "monado.service" ];
serviceConfig = {
Type = "notify";
NotifyAccess = "all";
ExecStart = "${lib.getExe pkgs.stardust-xr-server} -e ${pkgs.writeShellScript "notifyReady" "systemd-notify --ready"}";
};
environment.RUST_BACKTRACE = "full";
};
}

View File

@@ -0,0 +1,57 @@
{ ... }:
{
name = "stardust-xr-flatland";
# Doesn't understand @polling_condition
skipTypeCheck = true;
nodes.machine =
{
lib,
pkgs,
config,
...
}:
{
imports = [ ./common.nix ];
systemd.user.services.stardust-xr-flatland = {
wantedBy = [ "xdg-desktop-autostart.target" ];
requires = [ "stardust-xr-server.service" ];
after = [ "stardust-xr-server.service" ];
script = lib.getExe pkgs.stardust-xr-flatland;
environment.RUST_BACKTRACE = "full";
};
systemd.user.services.test-wayland-app = {
wantedBy = [ "xdg-desktop-autostart.target" ];
requires = [ "stardust-xr-flatland.service" ];
after = [ "stardust-xr-flatland.service" ];
script = lib.getExe pkgs.wayland-colorbar;
environment = {
DISPLAY = "";
WAYLAND_DISPLAY = "wayland-0";
};
};
};
testScript =
{ nodes, ... }:
''
@polling_condition()
def wayland_client_running():
machine.wait_for_unit("test-wayland-app.service", "alice")
with subtest("Ensure X11 starts"):
start_all()
machine.succeed("loginctl enable-linger alice")
machine.wait_for_x()
with subtest("Ensure system works"):
with wayland_client_running:
# TODO: 20 seconds should be long enough for anything, but this is theoretically flaky
machine.sleep(20)
machine.screenshot("screen")
'';
}

View File

@@ -34,16 +34,16 @@ let
hash =
{
x86_64-linux = "sha256-4G+zZ5HJuvdJXUt9wPWqqCVOfRpgpe5D5sfevAXJYrU=";
aarch64-linux = "sha256-UEkpGlTV/KZ8Qcw/OBOCNDQHblD7gHHloSzM62FvDnw=";
aarch64-darwin = "sha256-IHu9EwW9/oS2FTr/mB7ugMss5Pku3IyslqFYr4riZyk=";
armv7l-linux = "sha256-Rfp2H6L7bXXhdxf2yphW9YXDGW1+Ea0nKdyTFS8Y/tU=";
x86_64-linux = "sha256-cieB7O7HQ2oJVFT4OfmaToXHh6pFPpBk7dltKZ8CSVM=";
aarch64-linux = "sha256-G5F497a4aL79ijDC3P1mP58w1aA+LmxpSljnU30zbOI=";
aarch64-darwin = "sha256-zBuCRa+EqMafAZahkJP1IajO1ceIIbOfDn5Qwl0Hw90=";
armv7l-linux = "sha256-O39xDcl34Qiafmi7OQn0AYBvqC4Yn7IyOLR/vsI2uHs=";
}
.${system} or throwSystem;
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.127.0";
version = "1.129.1";
# The update server (update.code.visualstudio.com) expects the version path
# segment in X.Y.Z form, so we normalize X.Y to X.Y.0 (e.g. "1.110" → "1.110.0").
@@ -51,7 +51,7 @@ let
downloadVersion = lib.versions.pad 3 version;
# This is used for VS Code - Remote SSH test
rev = "4fe60c8b1cdac1c4c174f2fb180d0d758272d713";
rev = "8a7abeba6e03ea3af87bfbce9a1b7e48fed567b8";
in
buildVscode {
pname = "vscode" + lib.optionalString isInsiders "-insiders";
@@ -84,7 +84,7 @@ buildVscode {
src = fetchurl {
name = "vscode-server-${rev}.tar.gz";
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
hash = "sha256-JpcbzKdVlfRRKCzG/aDoWEGG7Yg0BcjuqCcg/Nez/9U=";
hash = "sha256-LVd4zd90R8sM96tWe9gJacO2KFMQkruoZEO8kI3tzzg=";
};
stdenv = stdenvNoCC;
};

View File

@@ -13,13 +13,13 @@
}:
mkLibretroCore {
core = "ppsspp";
version = "0-unstable-2026-07-08";
version = "0-unstable-2026-07-16";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "0335e5e6a98a9578a2a2b6a7698905d706e4ca82";
hash = "sha256-AE4IZ81Wrjn4g3BY9FEiIGOPQ5vRDUf7Jzo3lLwQqk4=";
rev = "f0c28c67446fd9a08b124ea2bfb0e997fe909de5";
hash = "sha256-p6QNLT7Yp7qWCP/T1HYOzho8oBJVbxheZACatuGq5ng=";
fetchSubmodules = true;
};

View File

@@ -932,13 +932,13 @@
"vendorHash": "sha256-ulhKT0DaS6gg9Ucz9pqqIg4mxRpGDGz2rN1R0RNuumg="
},
"mongodb_mongodbatlas": {
"hash": "sha256-YLlkv806x+s4R4vht6hn9jbv0eVbkCz1BMh4CwZWPUU=",
"hash": "sha256-AC2dxPaWzwYzNfMZtIHsCVkRU6U8NX1soL8zFzxomE8=",
"homepage": "https://registry.terraform.io/providers/mongodb/mongodbatlas",
"owner": "mongodb",
"repo": "terraform-provider-mongodbatlas",
"rev": "v2.13.0",
"rev": "v2.14.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-TODv9c5ZxHVEkzjE5cb50wtfAuRTVzVfzQEYYJijHY0="
"vendorHash": "sha256-oGCpF+upWZfYfobtbakmTLu+8/ZU+c88v6Ffd4UTBX0="
},
"namecheap_namecheap": {
"hash": "sha256-eV2K3KHTEXEEt1WXwfYfNMK+gLUY0EoHFQg9kLdAI3s=",

View File

@@ -6,7 +6,6 @@
pkg-config,
cmake,
ninja,
clang,
python3,
qtshadertools,
tdlib,
@@ -29,6 +28,7 @@
microsoft-gsl,
boost,
ada,
cmark-gfm,
libavif,
libheif,
libjxl,
@@ -47,14 +47,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "telegram-desktop-unwrapped";
version = "6.9.3";
version = "7.0.2";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-QCGtESg+38lHWCFcsevHdc0kQ7LKJQmJjUJWszphah8=";
hash = "sha256-G/A5J2m1sXHD50zDmMD9ehnorAGRjnQ+YGMv6DEiJcQ=";
};
nativeBuildInputs = [
@@ -65,8 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
qtshadertools
]
++ lib.optionals stdenv.hostPlatform.isLinux [
# to build bundled libdispatch
clang
gobject-introspection
]
# Work around ld64's libc++ hardening issue causing Trace/BPT trap: 5
@@ -90,6 +88,7 @@ stdenv.mkDerivation (finalAttrs: {
microsoft-gsl
boost
ada
cmark-gfm
(tdlib.override { tde2eOnly = true; })
]
++ lib.optionals stdenv.hostPlatform.isLinux [

View File

@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "air";
version = "1.65.3";
version = "1.66.0";
src = fetchFromGitHub {
owner = "air-verse";
repo = "air";
tag = "v${finalAttrs.version}";
hash = "sha256-w3UJ6ezvud0KJYeModGueXx0gp9zTxo6R+BoZPH4Bpo=";
hash = "sha256-1JKzskbxLaCNRRXBjHwmYGJVLhIU6aO9IS7KD65SgwQ=";
};
vendorHash = "sha256-03xZ3P/7xjznYdM9rv+8ZYftQlnjJ6ZTq0HdSvGpaWw=";

View File

@@ -27,13 +27,13 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "atlauncher";
version = "3.4.41.0";
version = "3.4.41.1";
src = fetchFromGitHub {
owner = "ATLauncher";
repo = "ATLauncher";
rev = "v${finalAttrs.version}";
hash = "sha256-mowPK9wsX87LHLt17Wmn97H2TRICXuwGKC2p2MBXr4Y=";
hash = "sha256-jxI1x4AoEbVJ7SxUcXK7+ViU6M208yRyDkl7a8iIMyE=";
};
patches = [

View File

@@ -5,26 +5,30 @@
cacert,
cmake,
gitMinimal,
writableTmpDirAsHomeHook,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "aube";
version = "1.27.0";
version = "1.29.1";
src = fetchFromGitHub {
owner = "jdx";
repo = "aube";
tag = "v${finalAttrs.version}";
hash = "sha256-lnW5ZLcdkpt662wDSj5YsnL7wILkJw3xoBs+3n7XWGY=";
hash = "sha256-87r9qltKUhjnYG9O484OUzKFiO8Xoge9VZ13l6RgrdA=";
};
cargoHash = "sha256-Ox3l2VqtHfrAICTj7CL99EL5dXF43snPu7/X1ZFYceM=";
cargoHash = "sha256-Cy5Ea/rF2IJ5WppKKI7E1toy9N+bQEArVW9o2pHzBMc=";
nativeBuildInputs = [ cmake ]; # libz-ng-sys
nativeCheckInputs = [ gitMinimal ];
nativeCheckInputs = [
gitMinimal
writableTmpDirAsHomeHook
];
postInstall = ''
rm -f $out/bin/generate-{error-codes,settings}-docs

View File

@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "betteralign";
version = "0.11.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "dkorunic";
repo = "betteralign";
tag = "v${finalAttrs.version}";
hash = "sha256-deKu4ZTaLhmqbNZRD/fyhNN8dDikQTS+PHSHhmSNUJQ=";
hash = "sha256-8aIFHFZ9O+4Tq9dfbl2Ou8LYekRgBcx6O/G+xP+7BPA=";
# Trick for getting accurate commit, source date and timestamp for ldflags
# Required by upstream https://github.com/dkorunic/betteralign/blob/346baa9c9dd024bfe55302c9d7d0ca46b2734c1c/.goreleaser.yml
@@ -28,7 +28,7 @@ buildGoModule (finalAttrs: {
'';
};
vendorHash = "sha256-JIInHtRrdCA0sevYpjVbljvEhTZLbC+Le3NEj9ULICg=";
vendorHash = "sha256-DaAa3Rj6Tl+KtLjjQlHR/peZPaEeUo7wwlfBeVQVx/s=";
env.CGO_ENABLED = 0;

View File

@@ -4,9 +4,10 @@
rustPlatform,
fetchFromGitHub,
copyDesktopItems,
cargo-tauri,
jq,
makeDesktopItem,
makeBinaryWrapper,
moreutils,
nodejs,
pkg-config,
pnpm_10,
@@ -48,7 +49,17 @@ rustPlatform.buildRustPackage (finalAttrs: {
hash = "sha256-Vs+/KLICqciF7dnC3iRH9TFzNCtXDgOkWFPLxdwA0rE=";
};
postPatch = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
postPatch = ''
jq '
del(.build.beforeBuildCommand) |
.bundle.createUpdaterArtifacts = false |
.plugins.updater.endpoints = []
' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
jq '.bundle.macOS.signingIdentity = null' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
# libappindicator-sys dlopens libayatana-appindicator3.so.1 at runtime; autoPatchelf can't catch it.
substituteInPlace $cargoDepsCopy/*/libappindicator-sys-*/src/lib.rs \
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
@@ -60,18 +71,22 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoHash = "sha256-gX32xCiVKHQ0BIIB9GyWHessIW30zbTcMZLtPJycxn8=";
nativeBuildInputs = [
cargo-tauri.hook
jq
moreutils
nodejs
pnpmConfigHook
pnpm_10
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
copyDesktopItems
++ lib.optionals stdenv.hostPlatform.isLinux [
pkg-config
wrapGAppsHook3
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
makeBinaryWrapper
];
buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
glib-networking
libayatana-appindicator
libsoup_3
@@ -80,49 +95,26 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
# tauri-build embeds frontendDist (../dist) at compile time; populate it
# before cargo build runs.
# before cargo tauri build runs (beforeBuildCommand is stripped in postPatch).
preBuild = ''
pnpm run build:renderer
'';
# cc_switch_lib is an internal staticlib+cdylib+rlib; only the binary is needed.
# tauri/custom-protocol enables embedded-asset serving via `tauri://localhost/`;
# without it, WKWebView/webkit2gtk fall through to devUrl (http://localhost:3000)
# and blank-screen with NSURLErrorCannotConnectToHost.
cargoBuildFlags = [
"--bin"
"cc-switch"
"--features=tauri/custom-protocol"
];
# Upstream Cargo.lock resolves newer tauri crates than the pinned npm packages
# (e.g. tauri 2.10 vs @tauri-apps/api 2.8). cargo tauri build errors on that;
# the previous cargo-only packaging already shipped this combination.
tauriBuildFlags = [ "--ignore-version-mismatches" ];
# Proxy startup test binds to a local address, which the darwin sandbox blocks.
checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [
"--skip=services::provider::tests::update_current_claude_provider_syncs_live_when_proxy_takeover_detected_without_backup"
];
postInstall = ''
rm -rf $out/lib
install -Dm644 src-tauri/icons/32x32.png $out/share/icons/hicolor/32x32/apps/cc-switch.png
install -Dm644 src-tauri/icons/128x128.png $out/share/icons/hicolor/128x128/apps/cc-switch.png
install -Dm644 src-tauri/icons/128x128@2x.png $out/share/icons/hicolor/256x256/apps/cc-switch.png
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p "$out/bin"
makeWrapper "$out/Applications/CC Switch.app/Contents/MacOS/cc-switch" "$out/bin/cc-switch"
'';
desktopItems = [
(makeDesktopItem {
name = "cc-switch";
desktopName = "CC Switch";
exec = finalAttrs.meta.mainProgram;
icon = "cc-switch";
comment = finalAttrs.meta.description;
categories = [
"Development"
"Utility"
];
mimeTypes = [ "x-scheme-handler/ccswitch" ];
startupWMClass = "cc-switch";
})
];
passthru.updateScript = nix-update-script { };
meta = {
@@ -132,7 +124,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
changelog = "https://github.com/farion1231/cc-switch/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
mainProgram = "cc-switch";
maintainers = with lib.maintainers; [ imcvampire ];
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
imcvampire
kenis1108
];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View File

@@ -47,14 +47,14 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "edgetx";
version = "2.11.3";
version = "2.11.5";
src = fetchFromGitHub {
owner = "EdgeTX";
repo = "edgetx";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-vlJsfebTWhdh6HDpUEA1QJJSVGMlcL49XFwIx4A9zHs=";
hash = "sha256-M0NiHvYZD1Qw2VYRV+TKMI0qTfF5MBdTxsBZRMMrnnk=";
};
nativeBuildInputs = [

View File

@@ -30,6 +30,7 @@
"xlites"
"nv14"
"el18"
"pa01"
"pl18"
"pl18ev"
"pl18u"
@@ -44,5 +45,6 @@
"t20v2"
"tx16s"
"f16"
"v14"
"v16"
]

View File

@@ -60,7 +60,14 @@ class Repo:
)
deps_file = self.get_file("DEPS")
evaluated = gclient_eval.Parse(deps_file, vars_override=repo_vars, filename="DEPS")
evaluated = gclient_eval.Parse(
deps_file,
filename="DEPS",
vars_override=repo_vars,
# KeyError: "host_cpu was used as a variable, but was not declared in the vars dict (file 'DEPS', line 114)"
# https://chromium.googlesource.com/webpagereplay.git/+/b2b856131e36c99e9de9c419fe8ca02f857082ba/DEPS#114
builtin_vars= {"host_cpu": "*host_cpu_placeholder*"} if path == "src/third_party/webpagereplay" else None,
)
repo_vars = dict(evaluated.get("vars", {})) | repo_vars

View File

@@ -69,8 +69,8 @@ runCommand "gclient2nix"
# substitutions
depot_tools_checkout = fetchgit {
url = "https://chromium.googlesource.com/chromium/tools/depot_tools";
rev = "977d597d75def6781f890cdce459969a9568ea07";
hash = "sha256-OCIay+a+DHvKKIbDMSjTf6CbHHVfp8k0n1AO3E4yx1U=";
rev = "1b1b01fa912786b88a79f3504176a275183839b5";
hash = "sha256-SRPeosetXYUklafhcuqsJiIKfItUJACG70m4Z5pBQiU=";
};
passthru = {

View File

@@ -18,14 +18,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "lenspect";
version = "1.0.5";
version = "1.0.6";
pyproject = false;
src = fetchFromGitHub {
owner = "vmkspv";
repo = "lenspect";
tag = "v${finalAttrs.version}";
hash = "sha256-aGL6o9gv+z7Ey2XR8IZ/4gBXdDqGlaWaQXf0eVDEHlI=";
hash = "sha256-Crfkha2/aKXjhIP0DqDESbS2iM2QPWR6cDweYzRrUDE=";
};
nativeBuildInputs = [

View File

@@ -7,11 +7,12 @@
openssl,
fzf,
mdcat,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "lumen";
version = "2.31.0";
version = "2.32.0";
__structuredAttrs = true;
@@ -19,10 +20,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "jnsahaj";
repo = "lumen";
tag = "v${finalAttrs.version}";
hash = "sha256-RoOCBwmBIOu17h0cB/t69lw1NWGl6chwAEgK4QixsPs=";
hash = "sha256-wTkg7NGCCON1P422q5/76rodIBqDeWIY07J4pRo8Q8k=";
};
cargoHash = "sha256-RKSFbsqeR+m/VLs1qu6Ln4bZ9prYj5vUoemuLpSe5+M=";
cargoHash = "sha256-ZXw7KEvf1sUHWIM5R4Th2SmekTX6rGXznAq3mtcf3Zo=";
strictDeps = true;
@@ -51,6 +52,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
"--skip=vcs::git::tests::test_working_copy_parent_ref_returns_head"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Fast terminal diff viewer and code review TUI";
homepage = "https://github.com/jnsahaj/lumen";

View File

@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "mainsail";
version = "2.17.0";
version = "2.18.2";
src = fetchFromGitHub {
owner = "mainsail-crew";
repo = "mainsail";
rev = "v${version}";
hash = "sha256-lKLoY5FHO34bT/3apmfVkuW0E1h4/K4r2thF9ht03U4=";
hash = "sha256-Djw5wwVflhU9G99GLUNO0a6wDZTB4y/yBqRruUJZQis=";
};
npmDepsHash = "sha256-HIErBrQ0VP4vdCFZe7uT5b1q+QdSSf08CIQmNcSryZ8=";
npmDepsHash = "sha256-fQnAVwBME4oJ15sOmZAr4qwxSpA5qqr8zJxEsVVGwSg=";
nodejs = nodejs_22;

View File

@@ -8,17 +8,17 @@
buildGoModule (finalAttrs: {
pname = "matrix-alertmanager-receiver";
version = "2026.7.8";
version = "2026.7.15";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "metio";
repo = "matrix-alertmanager-receiver";
tag = finalAttrs.version;
hash = "sha256-BOPdEgAhzY5o4YaPxVKkwsWZRdsaymAK0c13FTmLzMQ=";
hash = "sha256-bsnyRSxpJ3kIZWZtz50KTVz6SMHjANZ2KjcKqyB90JE=";
};
vendorHash = "sha256-hVJZ+SoWCe9juq5ut7yHr+4nshORH1uHLIPCzpB+4Nc=";
vendorHash = "sha256-eAySC6KmVsAZpGG2uPBAfNQBNCHjuTtnsSkjqbMiFeY=";
env.CGO_ENABLED = "0";

View File

@@ -384,6 +384,64 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer):
});
});
"""
intersection_observer_js = """
function createObserver() {
const content = document.querySelector(".content");
const headings = content.querySelectorAll("h1, h2, h3, h4, h5, h6");
const links = new Map();
document.querySelectorAll("ol li a").forEach((a) => {
links.set(a.hash.slice(1), a);
});
const visible = new Set();
function setActive(link) {
document
.querySelectorAll("ol.toc a.active, ol.toc a.active-trail")
.forEach((a) => a.classList.remove("active", "active-trail"));
link.classList.add("active");
let li = link.closest("li")?.parentElement.closest("li");
for (; li; li = li.parentElement.closest("li")) {
li.querySelector(":scope > details > summary > a")?.classList.add(
"active-trail",
);
}
}
const handleIntersect = (entries) => {
for (const entry of entries) {
if (entry.isIntersecting) visible.add(entry.target);
else visible.delete(entry.target);
}
const current = [...visible]
.filter((h) => links.has(h.id))
.sort(
(a, b) => a.getBoundingClientRect().top - b.getBoundingClientRect().top,
)[0];
if (!current) return;
const link = links.get(current.id);
if (link) setActive(link);
};
const observer = new IntersectionObserver(handleIntersect, {
root: content,
rootMargin: "0px 0px -70% 0px",
threshold: 0,
});
[...headings]
.filter((h) => h.id && links.has(h.id))
.forEach((h) => observer.observe(h));
}
document.addEventListener("DOMContentLoaded", createObserver);
"""
header_content = ""
if self._html_params.header:
with open(self._html_params.header) as header_file:
@@ -403,6 +461,7 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer):
"".join((f'<script src="{html.escape(script, True)}" type="text/javascript"></script>'
for script in scripts)),
f"<script>{close_menu_js}</script>",
f"<script>{intersection_observer_js}</script>",
f' <meta name="generator" content="{html.escape(self._html_params.generator, True)}" />',
f' <link rel="home" href="{home.target.href()}" title="{home.target.title}" />' if home.target.href() else "",
f' {up_link}{prev_link}{next_link}',

View File

@@ -152,13 +152,13 @@ let
in
goBuild (finalAttrs: {
pname = "ollama";
version = "0.32.0";
version = "0.32.1";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${finalAttrs.version}";
hash = "sha256-NyZ3H1gsC692IcmdTXjIA9jDtTobUEfJladGW72aNGw=";
hash = "sha256-/bxQrycsBP0iqsvaghQYkGzIEds5jcF8wSoJbkEtO6U=";
};
vendorHash = "sha256-HMwoaFBMbpoy8f0I+O+i7kIa9BslLu3FcVWeaIOkpvs=";

View File

@@ -14,13 +14,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "openasar";
version = "0-unstable-2026-06-04";
version = "0-unstable-2026-07-12";
src = fetchFromGitHub {
owner = "GooseMod";
repo = "OpenAsar";
rev = "82015ce64e753977a3f67bd915e6e42ef5ff77a6";
hash = "sha256-+UFAcVClwBE2501Spd/cJUd1SGBv3oJvTpr0J7IYuV8=";
rev = "5a05f49043d169fe0832e5c5a2e74d08a06f0bd3";
hash = "sha256-fVOoqdnD2PKmpJKIzjFcGNa5Yg73CvzDH4Y1fu11xVE=";
};
postPatch = ''

View File

@@ -18,16 +18,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "openmeters";
version = "1.10.0";
version = "1.11.0";
src = fetchFromGitHub {
owner = "httpsworldview";
repo = "openmeters";
tag = "v${finalAttrs.version}";
hash = "sha256-gtrX9MPZFUy+cMk4MPTNL2+QmORZ9rJ9WEivALgiy5M=";
hash = "sha256-NDn8VfmDP07pgRvotzeJRCphacARCfcaYOAD8ayDyK4=";
};
cargoHash = "sha256-LNELcHA45EEtdwW9iMQqtD0aVA/8Q69xdo+GXklTkQc=";
cargoHash = "sha256-u+UtgvgAQ4hWXk5aYSrRp86zaZgO/NmdMmVs+lJYcII=";
nativeBuildInputs = [
pkg-config

View File

@@ -1,12 +1,16 @@
{
fetchFromGitHub,
lib,
stdenv,
rustPlatform,
gtk4,
pkg-config,
pango,
wrapGAppsHook4,
versionCheckHook,
copyDesktopItems,
makeDesktopItem,
desktopToDarwinBundle,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -25,7 +29,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeBuildInputs = [
pkg-config
wrapGAppsHook4
];
copyDesktopItems
]
++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle;
buildInputs = [
gtk4
@@ -41,9 +47,23 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
desktopItems = [
(makeDesktopItem {
name = "packetry";
desktopName = "Packetry";
comment = finalAttrs.meta.description;
exec = "packetry";
icon = "packetry";
categories = [ "Utility" ];
})
];
# packetry-cli is only necessary on windows https://github.com/greatscottgadgets/packetry/pull/154
postInstall = ''
rm $out/bin/packetry-cli
install -Dm644 appimage/dist/icon.png \
$out/share/icons/hicolor/512x512/apps/packetry.png
'';
meta = {

View File

@@ -16,7 +16,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "parla";
version = "0.6.8";
version = "0.7.0";
__structuredAttrs = true;
strictDeps = true;
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "trufae";
repo = "parla";
tag = finalAttrs.version;
hash = "sha256-buUu3+HhK00rRg3ry6m8yBvH/wln7tUJfB5eXCwLCKc=";
hash = "sha256-fG8xRqOfcePYTZUidUWMd2ZICWpof/ACfXOXPCAexsM=";
};
nativeBuildInputs = [

View File

@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "postsrsd";
version = "2.2.7";
version = "2.3.0";
src = fetchFromGitHub {
owner = "roehling";
repo = "postsrsd";
tag = finalAttrs.version;
hash = "sha256-xBVkhhnLBzCaMFrYze+MdHDJQPJefQdr6jJDTVmN1dU=";
hash = "sha256-3taFk7LEsbk4HmW/llKrjCUTw4upoWpYbVFTHq7Q5t4=";
};
cmakeFlags = [

View File

@@ -11,14 +11,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "pyxel";
version = "2.9.7";
version = "2.9.8";
pyproject = true;
src = fetchFromGitHub {
owner = "kitao";
repo = "pyxel";
tag = "v${finalAttrs.version}";
hash = "sha256-k86VRX25yVNZvsnsWl0EYGd8njhx9yl6gkqI7mznjEs=";
hash = "sha256-yn02IBzasB3zhWCGWITHHamF1ZNKZVfbmQVz28h/3PI=";
};
cargoRoot = "crates";
@@ -30,7 +30,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
version
cargoRoot
;
hash = "sha256-tpJSUdjdXwXK/n1nyMga5uTk7TAz/JLQVN0rSdbKxGk=";
hash = "sha256-GiU+e6GgDzomNx11mWb9gHFWVFO4X3meTqeMovSOffc=";
};
buildAndTestSubdir = "python";

View File

@@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "repomix";
version = "1.15.0";
version = "1.16.1";
src = fetchFromGitHub {
owner = "yamadashy";
repo = "repomix";
tag = "v${version}";
hash = "sha256-M96q1oJ2ipDMfeos5P0FBbngjStC86qBlQcRFXitkt4=";
hash = "sha256-gEhX+k94FFJfqGkiM4TEtCY3oIGS9XIeG/t9sslCy6E=";
};
npmDepsHash = "sha256-3AP+mMFipVUfO7vLY7ZjaJ8FG4uwpxC2+jYtaHz49YI=";
npmDepsHash = "sha256-EfNkUmA6DHpinm2gPUvC8WT2FR21/+8WlymnGUZjFwo=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;

View File

@@ -22,13 +22,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "shaka-packager";
version = "3.8.0";
version = "3.9.2";
src = fetchFromGitHub {
owner = "shaka-project";
repo = "shaka-packager";
tag = "v${finalAttrs.version}";
hash = "sha256-GdBNysDHDWy1Zgtf+gfKtyvqCiPFJeA3K1mErK/GoRk=";
hash = "sha256-pKbTIDIveJFaKaCX4SPqYUIUI8QDk1WeZBgtmdZzg/o=";
};
nativeBuildInputs = [

View File

@@ -70,7 +70,11 @@ stdenv.mkDerivation (finalAttrs: {
lib.optionals miniaudioNeedsPkgconfigs [
"$(pkg-config --libs ${toString miniaudioPkgconfigs})"
]
++ lib.optionals coreaudioSupport [ "-framework CoreAudio" ]
++ lib.optionals coreaudioSupport [
"-framework CoreFoundation"
"-framework CoreAudio"
"-framework AudioToolbox"
]
)
}"
'';

View File

@@ -7,18 +7,26 @@
nix-update-script,
}:
rustPlatform.buildRustPackage {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-atmosphere";
version = "0-unstable-2024-08-22";
version = "0.51.1";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "atmosphere";
rev = "0c8bfb91e8ca32a4895f858067334ed265517309";
hash = "sha256-pk1+kkPV6fx+7Xz9hKFFVw402iztcvNC31zVCc3hfTY=";
tag = finalAttrs.version;
hash = "sha256-FH9Y+p17bGczRhLEfxVqc1peg9Aubw1pu7QOYb6RWvc=";
};
cargoHash = "sha256-eQjRbavmUW2iw0OEC/DPk2FflTc4QCn0K/c4Og+sGW4=";
cargoHash = "sha256-TVAm6BdIAE+gxWkpEUqF3R99UKhIGGSZK9qQ7urR7Uc=";
postInstall = ''
mkdir -p $out/share/atmosphere
cp -r default_envs $out/share/atmosphere
'';
__structuredAttrs = true;
strictDeps = true;
passthru = {
tests.versionTest = testers.testVersion {
@@ -26,9 +34,7 @@ rustPlatform.buildRustPackage {
command = "atmosphere --version";
version = "stardust-xr-atmosphere 0.4.0";
};
updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
updateScript = nix-update-script { };
};
meta = {
@@ -36,10 +42,7 @@ rustPlatform.buildRustPackage {
homepage = "https://stardustxr.org";
license = lib.licenses.mit;
mainProgram = "atmosphere";
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
teams = with lib.teams; [ stardust-xr ];
platforms = lib.platforms.unix;
};
}
})

View File

@@ -0,0 +1,26 @@
diff --git a/src/resize_handles.rs b/src/resize_handles.rs
index 0fcb071..69d2f2f 100644
--- a/src/resize_handles.rs
+++ b/src/resize_handles.rs
@@ -451,7 +451,7 @@ impl<State: ValidState> CustomElement<State> for ResizeHandles<State> {
#[tokio::test]
async fn test_resize_handles() {
use serde::{Deserialize, Serialize};
- use stardust_xr_asteroids::{client, ClientState, Migrate, Reify, Transformable};
+ use stardust_xr_asteroids::{client, ClientState, Migrate, Reify, Tasker, Transformable};
// Simple test state
#[derive(Debug, Serialize, Deserialize)]
@@ -474,7 +474,11 @@ async fn test_resize_handles() {
const APP_ID: &'static str = "org.stardustxr.flatland.ResizeHandles";
}
impl Reify for State {
- fn reify(&self) -> impl stardust_xr_asteroids::Element<Self> {
+ fn reify(
+ &self,
+ _context: &Context,
+ _tasks: impl Tasker<Self>,
+ ) -> impl stardust_xr_asteroids::Element<Self> {
stardust_xr_asteroids::elements::Spatial::default()
.rot(Quat::from_rotation_y(self.time / 10.0))
.build()

View File

@@ -7,32 +7,32 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-flatland";
version = "0-unstable-2024-04-13";
version = "0.51.1";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "flatland";
rev = "b3b0f29c4ea1b82c96cf9de507837bf15a5e4c0e";
hash = "sha256-m7c6XpmpTM1URuqMG2KqtaWbL2Vt8vJFJtmvq123BmY=";
tag = finalAttrs.version;
hash = "sha256-Gp2r6PJiyNb+augDwS/vGPJfwb5U6pVYgSyhS9QlggY=";
};
patches = [ ./fix-reify-test-signature.patch ];
env.STARDUST_RES_PREFIXES = "${finalAttrs.src}/res";
cargoHash = "sha256-oM4nQUEc3iq1x4uRp8Kw5WtE/L5b6VlLOfElMT9Tk98=";
cargoHash = "sha256-2LT/Szwzs83Poe7BojmUFh9yyUEhSgHmBR5QaO/BE4g=";
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
__structuredAttrs = true;
strictDeps = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Flat window for Stardust XR";
homepage = "https://stardustxr.org";
license = lib.licenses.mit;
mainProgram = "flatland";
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
teams = with lib.teams; [ stardust-xr ];
platforms = lib.platforms.unix;
};
})

View File

@@ -5,32 +5,30 @@
nix-update-script,
}:
rustPlatform.buildRustPackage {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-gravity";
version = "0-unstable-2024-12-29";
version = "0.51.1";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "gravity";
rev = "eca5e835cd3abee69984ce6312610644801457a9";
tag = finalAttrs.version;
hash = "sha256-upw0MjGccSI1B10wabKPMGrEo7ATfg4a7Hzaucbf99w=";
};
__structuredAttrs = true;
strictDeps = true;
cargoHash = "sha256-tkWY+dLFDnyir6d0supR3Z202p5i4UewY+J66mL1x/o=";
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
passthru.updateScript = nix-update-script { };
meta = {
description = "Utility to launch apps and stardust clients at an offet";
homepage = "https://stardustxr.org";
license = lib.licenses.mit;
mainProgram = "gravity";
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
teams = with lib.teams; [ stardust-xr ];
platforms = lib.platforms.unix;
};
}
})

View File

@@ -1,59 +0,0 @@
{
lib,
fetchFromGitHub,
rustPlatform,
makeBinaryWrapper,
niri,
stardust-xr-kiara,
testers,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-kiara";
version = "0-unstable-2024-07-13";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "kiara";
rev = "186b00a460c9dd8179f9af42fb9a420506ac3aff";
hash = "sha256-e89/x66S+MpJFtqat1hYEyRVUYFjef62LDN2hQPjNVw=";
};
cargoHash = "sha256-C1eD974cEGbo0vHJqdnCPUopDPDDa6hAFJdzSm8t618=";
nativeBuildInputs = [ makeBinaryWrapper ];
passthru = {
updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
tests.helpTest = testers.runCommand {
name = "stardust-xr-kiara";
script = ''
kiara --help
touch $out
'';
nativeBuildInputs = [ stardust-xr-kiara ];
};
};
postInstall = ''
wrapProgram $out/bin/kiara --prefix PATH : ${niri}/bin
'';
env = {
NIRI_CONFIG = "${finalAttrs.src}/src/niri_config.kdl";
STARDUST_RES_PREFIXES = "${finalAttrs.src}/res";
};
meta = {
description = "360-degree app shell / DE for Stardust XR using Niri";
homepage = "https://stardustxr.org/";
license = lib.licenses.mit;
mainProgram = "kiara";
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
};
})

View File

@@ -1,36 +0,0 @@
{
lib,
fetchFromGitHub,
rustPlatform,
nix-update-script,
}:
rustPlatform.buildRustPackage {
pname = "stardust-xr-magnetar";
version = "0-unstable-2025-04-03";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "magnetar";
rev = "63ff648bb64c23023a0047ea3ff2c0b6b1fd3caf";
hash = "sha256-LRI3HKuOUfUb93mHB8DUpp0hvES+GbzsKAxpkLCLzKQ=";
};
cargoHash = "sha256-ixzasTQDVVU8cGhSW3j8ELJmmYudwfnYQEIoULLQRyo=";
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
meta = {
description = "Workspaces client for Stardust";
homepage = "https://stardustxr.org";
license = lib.licenses.mit;
mainProgram = "magnetar";
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,63 @@
{
lib,
fetchFromGitHub,
rustPlatform,
cmake,
libGL,
libinput,
libxkbcommon,
pkg-config,
udev,
wayland,
libx11,
libxcursor,
libxrandr,
libxi,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-non-spatial-input";
version = "0.51.1";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "non-spatial-input";
tag = finalAttrs.version;
hash = "sha256-CWPEu+WvTtCo2zUXzyQkFcb5bFG9yVu/OnjPuoGKDGA=";
};
cargoHash = "sha256-QZaVDMeuxqHy9iQngb/wpv/P+KxevkoQqGojYIVzo2s=";
__structuredAttrs = true;
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
libGL
libinput
libxkbcommon
udev
wayland
libx11
libxcursor
libxrandr
libxi
];
nativeCheckInputs = [
versionCheckHook
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Utilities that allow using non-spatial (e.g. keyboard and mouse) inputs in Stardust";
homepage = "https://stardustxr.org";
license = lib.licenses.mit;
teams = with lib.teams; [ stardust-xr ];
platforms = lib.platforms.unix;
};
})

View File

@@ -1,38 +0,0 @@
{
lib,
fetchFromGitHub,
rustPlatform,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-phobetor";
version = "0-unstable-2024-02-10";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "phobetor";
rev = "f47d10c9ab8b37941bc9ca94677d6c80332376f3";
hash = "sha256-7CWOoirQ/8zKCO7lBA9snyShlwsKYONiYkl39lQrpTY=";
};
env.STARDUST_RES_PREFIXES = "${finalAttrs.src}/res";
cargoHash = "sha256-H65uAHMAIkJ9D5q/5HxMEbvcfoRhYdFgTQejp6bvu5w=";
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
meta = {
description = "Handheld panel shell for Stardust XR";
homepage = "https://stardustxr.org";
license = lib.licenses.mit;
mainProgram = "phobetor";
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
};
})

View File

@@ -7,18 +7,21 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-protostar";
version = "0-unstable-2024-12-29";
version = "0.51.1";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "protostar";
rev = "9b73eb1e128b49a6d40a27a4cde7715d8cbd2674";
hash = "sha256-9KJO1Z3Aq0+hh9QqufWBxpMmfFOmdgMUJxfgGZMg2n4=";
rev = finalAttrs.version;
hash = "sha256-mL7LnBvc2B9Y56NCDeNyqIDQsuWb4iMehZ7koR1KkX8=";
};
env.STARDUST_RES_PREFIXES = "${finalAttrs.src}/res";
cargoHash = "sha256-9XJ+nnvpTzr/3ii9dFkfZDex/++W5Mq9k0bh2Y6tueA=";
cargoHash = "sha256-6NiEKm6m4xX6ZSF9Gp7APG/lku3fKoobPSS4AodjCI8=";
__structuredAttrs = true;
strictDeps = true;
checkFlags = [
# ---- xdg::test_get_desktop_files stdout ----
@@ -39,18 +42,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
"--skip=xdg::test_render_svg_to_png"
];
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
passthru.updateScript = nix-update-script { };
meta = {
description = "Prototype application launchers for Stardust XR";
homepage = "https://stardustxr.org";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
teams = with lib.teams; [ stardust-xr ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,58 @@
diff --git a/src/wayland/xdg/backend.rs b/src/wayland/xdg/backend.rs
index e3860b8..9404a86 100644
--- a/src/wayland/xdg/backend.rs
+++ b/src/wayland/xdg/backend.rs
@@ -29,9 +29,9 @@ pub struct XdgBackend {
}
impl XdgBackend {
- pub fn new(seat: &Arc<Seat>, toplevel: &Arc<Toplevel>) -> Self {
+ pub fn new(seat: Weak<Seat>, toplevel: &Arc<Toplevel>) -> Self {
Self {
- seat: Arc::downgrade(seat),
+ seat,
toplevel: Arc::downgrade(toplevel),
children: DashMap::new(),
}
diff --git a/src/wayland/xdg/surface.rs b/src/wayland/xdg/surface.rs
index ddc3562..df733da 100644
--- a/src/wayland/xdg/surface.rs
+++ b/src/wayland/xdg/surface.rs
@@ -74,7 +74,6 @@ impl XdgSurface for Surface {
let toplevel_weak = Arc::downgrade(&toplevel);
let display = client.get::<Display>(ObjectId::DISPLAY).unwrap();
- let seat = Arc::downgrade(display.seat.get().unwrap());
let pid = display.pid;
let configured = self.configured.clone();
let mut first_commit = true;
@@ -94,7 +93,8 @@ impl XdgSurface for Surface {
&& configured.load(std::sync::atomic::Ordering::SeqCst)
&& surface.currently_has_valid_buffer()
{
- let mapped_inner = MappedInner::create(&seat.upgrade().unwrap(), &toplevel, pid);
+ let seat = display.seat.get().map(Arc::downgrade).unwrap_or_default();
+ let mapped_inner = MappedInner::create(seat, &toplevel, pid);
*surface.panel_item.lock() = Arc::downgrade(&mapped_inner.panel_item);
mapped_lock.replace(mapped_inner);
return false;
diff --git a/src/wayland/xdg/toplevel.rs b/src/wayland/xdg/toplevel.rs
index b10223e..a2e0f93 100644
--- a/src/wayland/xdg/toplevel.rs
+++ b/src/wayland/xdg/toplevel.rs
@@ -13,6 +13,7 @@ use crate::{
use mint::Vector2;
use parking_lot::Mutex;
use std::sync::Arc;
+use std::sync::Weak;
use waynest::ObjectId;
pub use waynest_protocols::server::stable::xdg_shell::xdg_toplevel::*;
use waynest_server::Client as _;
@@ -23,7 +24,7 @@ pub struct MappedInner {
pub panel_item: Arc<PanelItem<XdgBackend>>,
}
impl MappedInner {
- pub fn create(seat: &Arc<Seat>, toplevel: &Arc<Toplevel>, pid: Option<i32>) -> Self {
+ pub fn create(seat: Weak<Seat>, toplevel: &Arc<Toplevel>, pid: Option<i32>) -> Self {
let (panel_item_node, panel_item) =
PanelItem::create(Box::new(XdgBackend::new(seat, toplevel)), pid);

View File

@@ -1,53 +1,71 @@
{
lib,
fetchFromGitHub,
nix-update-script,
rustPlatform,
cmake,
cpm-cmake,
fontconfig,
alsa-lib,
libGL,
libx11,
libxcursor,
libxcb,
libxi,
libxkbcommon,
libgbm,
openxr-loader,
pkg-config,
libxfixes,
libx11,
vulkan-loader,
wayland,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-server";
version = "0.44.1";
version = "0.51.1";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "server";
tag = finalAttrs.version;
hash = "sha256-sCatpWDdy7NFWOWUARjN3fZMDVviX2iV79G0HTxfYZU=";
hash = "sha256-ntVc5fc1qMjR1FDqoNq35Y6PkG9VPNDVplyTpO6VhKA=";
};
cargoHash = "sha256-jCtMCZG3ku30tabTnVdGfgcLl5DoqhkJpLKPPliJgDU=";
patches = [
# nixosTests/flatland hits a bug:
# it is permissible for a client to create an xdg_toplevel
# before binding wl_seat; weston-presentation-shm never
# binds a wl_seat since it doesn't need to accept input
# TODO(@Pandapip1): upstream
./fix-seat-unwrap-panic.patch
];
cargoHash = "sha256-5HQkrkupBohmopGJh9t3JndVTU6cjbW0LgtBPb+YAr0=";
__structuredAttrs = true;
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
fontconfig
libGL
libxkbcommon
libgbm
openxr-loader
libx11
libxfixes
alsa-lib
wayland
];
env.CPM_SOURCE_CACHE = "./build";
postPatch = ''
install -D ${cpm-cmake}/share/cpm/CPM.cmake $(echo $cargoDepsCopy/*/stereokit-sys-*/StereoKit)/build/cpm/CPM_0.32.2.cmake
postFixup = ''
patchelf $out/bin/stardust-xr-server --add-rpath ${
lib.makeLibraryPath [
# wgpu-hal hardcodes ash's runtime libvulkan dlopen() path (ash does expose an optional linked feature)
vulkan-loader
# Likewise, bevy_openxr doesn't use openxr's linked feature
openxr-loader
# x11-dl via winit x11
libx11
libxcursor
libxi
libxcb
# x11rb via winit and xkbcommon-dl
libxkbcommon
# wgpu-hal I think
libGL
]
}
'';
passthru.updateScript = nix-update-script { };
@@ -58,10 +76,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
changelog = "https://github.com/StardustXR/server/releases";
license = lib.licenses.gpl2Plus;
mainProgram = "stardust-xr-server";
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
teams = with lib.teams; [ stardust-xr ];
platforms = lib.platforms.unix;
};
})

View File

@@ -1,43 +0,0 @@
{
lib,
fetchFromGitHub,
rustPlatform,
libxkbcommon,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stardust-xr-sphereland";
version = "0-unstable-2023-11-07";
src = fetchFromGitHub {
owner = "stardustxr";
repo = "sphereland";
rev = "39552d918c99a84eaf5f2d5e8734a472bf196f65";
hash = "sha256-LKdqTl14cdgD14IwAP34mWdDgREhy1CHOT86HywOxqM=";
};
env.STARDUST_RES_PREFIXES = "${finalAttrs.src}/res";
cargoHash = "sha256-4mESTxfogMQxfDMQRVML752fkinOIqkddW3PHmvxekc=";
buildInputs = [
libxkbcommon
];
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
meta = {
description = "Pointer/keyboard operated window manager for Stardust XR";
homepage = "https://stardustxr.org";
license = lib.licenses.mit;
mainProgram = "sphereland";
maintainers = with lib.maintainers; [
pandapip1
technobaboo
];
platforms = lib.platforms.linux;
};
})

View File

@@ -1,6 +1,6 @@
{
lib,
buildGo125Module,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
runCommand,
@@ -10,21 +10,23 @@
symlinkJoin,
}:
buildGo125Module (finalAttrs: {
buildGoModule (finalAttrs: {
pname = "tflint";
version = "0.61.0";
version = "0.63.1";
src = fetchFromGitHub {
owner = "terraform-linters";
repo = "tflint";
tag = "v${finalAttrs.version}";
hash = "sha256-j2bP3McVCxtVEVQYs3mHWFtmUTKDIEd5aU4I/6W/Pns=";
hash = "sha256-HFzifDEhwr9C/A8xNMyF7k3qbKkpBLLJWXpcIbvTo6Y=";
};
vendorHash = "sha256-R4NmHSyay0FGpOSMNPbXWxNJFH3lhyWxGeJsNefkBrc=";
vendorHash = "sha256-73JuhXBVjCHYPcEyGsBlJZG4EVEf5zF0Hm5Nkrc/yJk=";
doCheck = false;
env.CGO_ENABLED = 0;
subPackages = [ "." ];
ldflags = [

View File

@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://pagure.io/tmpwatch";
description = "Recursively searches through specified directories and removes files which have not been accessed in a specified period of time";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ vlstill ];
maintainers = [ ];
platforms = lib.platforms.unix;
mainProgram = "tmpwatch";
};

View File

@@ -9,17 +9,17 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
version = "0.1.6";
version = "0.2.0";
pname = "to-html";
src = fetchFromGitHub {
owner = "Aloso";
repo = "to-html";
rev = "v${finalAttrs.version}";
hash = "sha256-eNFt9/yK4oHOspNM8PMTewhx8APaHzmgNdrWqrUuQSU=";
hash = "sha256-6gmctDk4zQgH0tyjVfUAFj6kGEe+0B44vEnQIyC7l9k=";
};
cargoHash = "sha256-EeR0nzTKQ4fB/tXuPIWokSNBQIthGpxSySsASo74A/A=";
cargoHash = "sha256-r/gd8yjR7xgI0n7u+NvaoAD6ZHrGPoQ6RVnQlhYsCbI=";
# Requires external resources
doCheck = false;

View File

@@ -9,7 +9,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tombi";
version = "1.2.0";
version = "1.2.1";
__structuredAttrs = true;
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "tombi-toml";
repo = "tombi";
tag = "v${finalAttrs.version}";
hash = "sha256-0ACGYRexG39FG5DzcayEUdsF1JvSPbzJq4m9I1ZWnSI=";
hash = "sha256-aK2Y9knJwJCaRFifGpsEvH5hm0ZqtDPLHYnabxAEZZQ=";
};
# Tests relies on the presence of network
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
"--package"
"tombi-cli"
];
cargoHash = "sha256-IgtFNjp8fql01KGCR6h4+QtEm3AxJxsq900ZEwhRWhg=";
cargoHash = "sha256-d7IJAPiLpQbmuJ7m7bQ5zSTdfnrIJB/dZwZFaXN9ikA=";
postPatch = ''
substituteInPlace Cargo.toml \

View File

@@ -8,13 +8,13 @@
buildGo126Module (finalAttrs: {
pname = "tsgolint";
version = "0.24.0";
version = "0.25.0";
src = fetchFromGitHub {
owner = "oxc-project";
repo = "tsgolint";
tag = "v${finalAttrs.version}";
hash = "sha256-6HTVsCz4lh/SM8nlaFT3U+TEOoEajqPr+60fn9PV4+w=";
hash = "sha256-j4y/qIHkn7hB5i1/52+9c1zcwcARXOvRHJlgx0Isal4=";
fetchSubmodules = true;
};
@@ -41,7 +41,7 @@ buildGo126Module (finalAttrs: {
'';
proxyVendor = true;
vendorHash = "sha256-FVngoARi1ci/h5nE3CVwxkS6XuMvzpZH5j2Nl7suhFg=";
vendorHash = "sha256-kkz6br54y3/H5vajByTCjvHNZg4TkeX6drZ+dMQP2uU=";
subPackages = [ "cmd/tsgolint" ];

View File

@@ -2,30 +2,33 @@
lib,
stdenvNoCC,
fetchzip,
installFonts,
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "ttf-envy-code-r";
version = "PR7";
outputs = [
"out"
"doc"
];
src = fetchzip {
url = "https://download.damieng.com/fonts/original/EnvyCodeR-${version}.zip";
url = "https://dl.damieng.com/fonts/original/EnvyCodeR-${finalAttrs.version}.zip";
hash = "sha256-pJqC/sbNjxEwbVf2CVoXMBI5zvT3DqzRlKSqFT8I2sM=";
};
installPhase = ''
runHook preInstall
nativeBuildInputs = [ installFonts ];
install -Dm644 *.ttf -t $out/share/fonts/truetype
install -Dm644 *.txt -t $out/share/doc/${pname}
runHook postInstall
postInstall = ''
install -Dm644 *.txt -t $doc/share/doc/${finalAttrs.pname}-${finalAttrs.version}
'';
meta = {
homepage = "https://damieng.com/blog/tag/envy-code-r";
homepage = "https://damieng.com/typography/";
description = "Free scalable coding font by DamienG";
license = lib.licenses.unfree;
maintainers = [ ];
maintainers = with lib.maintainers; [ pancaek ];
};
}
})

View File

@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "vunnel";
version = "0.62.1";
version = "0.63.0";
pyproject = true;
src = fetchFromGitHub {
owner = "anchore";
repo = "vunnel";
tag = "v${finalAttrs.version}";
hash = "sha256-Np80Yj8zazMBgeHu27N97K543GmKw8gf9Muixu4WBVQ=";
hash = "sha256-FU8N4LTdfxpcC47OphM0GqTobYFKyl2AJS9Jv24fT/E=";
leaveDotGit = true;
};

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromCodeberg,
cmake,
libffi,
pkg-config,
wayland,
wayland-protocols,
wayland-scanner,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wayland-colorbar";
version = "0.1.1";
src = fetchFromCodeberg {
owner = "Pandapip1";
repo = "wayland-colorbar";
tag = finalAttrs.version;
hash = "sha256-QaJWx5/DkxSc53BFufJwxYwwsJNSV2mYV5EjbFDmx3c=";
};
__structuredAttrs = true;
strictDeps = true;
separateDebugInfo = true;
nativeBuildInputs = [
cmake
pkg-config
wayland-scanner
];
buildInputs = [
libffi
wayland
wayland-protocols
];
passthru.updateScript = nix-update-script { };
meta = {
description = "A simple wayland client that can be used for testing";
homepage = "https://codeberg.org/Pandapip1/wayland-colorbar";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ pandapip1 ];
mainProgram = "wayland-colorbar";
platforms = lib.platforms.unix;
};
})

View File

@@ -161,7 +161,7 @@
changelog = "http://www.ch-werner.de/sqliteodbc/html/index.html#changelog";
license = lib.licenses.bsd2;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ vlstill ];
maintainers = [ ];
};
};

View File

@@ -10,14 +10,14 @@
buildPythonPackage (finalAttrs: {
pname = "ansi2image";
version = "0.1.5";
version = "0.1.6";
pyproject = true;
src = fetchFromGitHub {
owner = "helviojunior";
repo = "ansi2image";
tag = "v${finalAttrs.version}";
hash = "sha256-GWrVo1WJux+ATvG5F9J4WMDlI0XAeTpQg7NrkN1P4Co=";
hash = "sha256-3nTCWyWfFs1NqUGIvYO3ao9MnOMtrq1fmTihLwSky60=";
};
build-system = [ setuptools ];

View File

@@ -9,14 +9,14 @@
buildPythonPackage (finalAttrs: {
pname = "inject";
version = "5.4.1";
version = "5.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ivankorobkov";
repo = "python-inject";
tag = "v${finalAttrs.version}";
hash = "sha256-thVgKkpFtMwTMfeQ2r7xMvLtzBFJ/xIy6aUTq3400VA=";
hash = "sha256-F2YzzcMFmhurTcP1ETvJIfsFHUpPyi0mubGws2YYpok=";
};
build-system = [

View File

@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "libpysal";
version = "4.14.1";
version = "4.15.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pysal";
repo = "libpysal";
tag = "v${version}";
hash = "sha256-epwviJtQ97MxUA4Gpw6SJceCdBPFXnZBF13A1HiJcOo=";
hash = "sha256-ltDrTbx4Z0ZVZHg+v45ETgMGHLDeEX71Qpbe2NykxKw=";
};
build-system = [ setuptools-scm ];

View File

@@ -33,14 +33,14 @@
buildPythonPackage (finalAttrs: {
pname = "meshtastic";
version = "2.7.10";
version = "2.7.11";
pyproject = true;
src = fetchFromGitHub {
owner = "meshtastic";
repo = "python";
tag = finalAttrs.version;
hash = "sha256-bzDGiwaq58zmp93HXK9dpMVQiVZJA8MRO63bm3SPDzU=";
hash = "sha256-jHtGbG5W4KoX4pYr9WfrY56tlr2nhvhM0DeDddMOvis=";
};
pythonRelaxDeps = [

View File

@@ -7,13 +7,13 @@
buildPythonPackage (finalAttrs: {
pname = "std-uritemplate";
version = "2.0.11";
version = "2.0.12";
pyproject = true;
src = fetchPypi {
pname = "std_uritemplate";
inherit (finalAttrs) version;
hash = "sha256-afqeUkc41RG7S5Sz4jk8oFJKrRGOVJJZxU2zZ+BdmFI=";
hash = "sha256-wkXm2caATkNcRfqU7ko8ilfgiu60WvJhEByw1ROWRTQ=";
};
build-system = [ poetry-core ];

View File

@@ -15,14 +15,14 @@
buildPythonPackage (finalAttrs: {
pname = "tagoio-sdk";
version = "5.1.2";
version = "5.1.3";
pyproject = true;
src = fetchFromGitHub {
owner = "tago-io";
repo = "sdk-python";
tag = "v${finalAttrs.version}";
hash = "sha256-PwybHVls5TDqCj/S2LOc8ZNIIg8DyaFZJnutKy0v+2w=";
hash = "sha256-c5e8dCNCzB/oOgZs3KJKD9iysmEFdODoUG53gX/TzvU=";
};
pythonRelaxDeps = [ "requests" ];

View File

@@ -2,37 +2,34 @@
lib,
buildPythonPackage,
fetchFromCodeberg,
pythonAtLeast,
openssl,
rsa,
pyaes,
cryptg,
setuptools,
hatchling,
pytest-asyncio,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "telethon";
version = "1.42.0";
version = "1.44.0";
pyproject = true;
src = fetchFromCodeberg {
owner = "Lonami";
repo = "Telethon";
tag = "v${finalAttrs.version}";
hash = "sha256-NMHJkSTGR3/tck0k97EfVN9f85PAWst+EZ6G7Tgrt5s=";
hash = "sha256-NzLlDwxzLWyySluUazQGPDukT71awCrJZEbjd5T9K/g=";
};
disabled = pythonAtLeast "3.14";
postPatch = ''
substituteInPlace telethon/crypto/libssl.py --replace-fail \
"ctypes.util.find_library('ssl')" "'${lib.getLib openssl}/lib/libssl.so'"
'';
build-system = [
setuptools
hatchling
];
dependencies = [
@@ -50,6 +47,15 @@ buildPythonPackage (finalAttrs: {
]
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
# TL objects (telethon/tl/functions.py etc.) are generated by the hatch build
# hook and only exist in the wheel; remove the source tree so tests import
# the installed package instead of the incomplete sources.
preCheck = ''
rm -r telethon
'';
pythonImportsCheck = [ "telethon" ];
meta = {
homepage = "https://codeberg.org/Lonami/Telethon";
description = "Full-featured Telegram client library for Python 3";

View File

@@ -38,5 +38,15 @@
"x86_64-linux": "3a729b020acb04aefac2c9b4b29c65b37dd7126a14a04d1ef29acb256d3edbd1"
},
"version": "42.5.1"
},
"43": {
"hashes": {
"aarch64-darwin": "2ee24f768c41bc2ed9bd580d7797b185dffb550dafca59c2cd08b51965bcda3a",
"aarch64-linux": "78799ae4fdc7969acb152aa0f33f39bd5eaca2de3eafe817a13487b872abe43c",
"armv7l-linux": "1f32ac165dd1d01f1dcb8bfb881503369c7b739dd292034ef61e2ea75b852a2c",
"headers": "1xqgvsj7pq2j5yvg0yxa4l5l276dmj9zlpxmvy2g993bdypxj8zi",
"x86_64-linux": "be56b5b8451bda585b56e6a6a67757da2cb7ead59f036b6000431a51c0e0c79b"
},
"version": "43.1.0"
}
}

View File

@@ -38,5 +38,15 @@
"x86_64-linux": "e0db56b8781035a48aae7fefdac311abb8993a7f6e72009e7adfb70926565bf0"
},
"version": "42.5.1"
},
"43": {
"hashes": {
"aarch64-darwin": "733c8fd5b80e761739cc776c1c6777115bd39cf86d825e895d996734ee3f3515",
"aarch64-linux": "7bdc6d18aafb3aa434374998bbfccdd2087b9495745dd134c06e5f74eafa95d5",
"armv7l-linux": "77a395bb4f4046fb43de81e9eac4b3f5d7d0f5911f2262bcd110bfe2ad1f3076",
"headers": "1xqgvsj7pq2j5yvg0yxa4l5l276dmj9zlpxmvy2g993bdypxj8zi",
"x86_64-linux": "e946ae6cad7dc279431e841e0bc19ba4e0dc16a82c5a9c1f7c4d9f3925e5b39a"
},
"version": "43.1.0"
}
}

View File

@@ -225,16 +225,20 @@ in
allow_runtime_configurable_key_storage = true;
enable_cet_shadow_stack = false;
is_cfi = false;
v8_builtins_profiling_log_file = "";
enable_dangling_raw_ptr_checks = false;
dawn_use_built_dxc = false;
enable_dangling_raw_ptr_feature_flag = false;
v8_enable_private_mapping_fork_optimization = true;
v8_expose_public_symbols = true;
enable_dangling_raw_ptr_feature_flag = false;
clang_unsafe_buffers_paths = "";
enterprise_cloud_content_analysis = false;
enable_linux_installer = false;
enable_pdf_save_to_drive = false;
}
// lib.optionalAttrs (lib.versionOlder info.version "43") {
enterprise_cloud_content_analysis = false;
}
// lib.optionalAttrs (lib.versionAtLeast info.version "43") {
node_openssl_path = "//third_party/boringssl";
}
// {
# other
enable_widevine = false;

File diff suppressed because it is too large Load Diff

View File

@@ -2153,6 +2153,10 @@ mapAliases {
stacer = throw "'stacer' has been removed because it was abandoned upstream and relied upon vulnerable software"; # Added 2025-11-08
stalwart = warnAlias "`stalwart` is currently pinned to `0.15.5`. If `0.16.x` is needed, it is available as `stalwart_0_16`. Note: `stalwart_0_16` is not compatible with `services.stalwart` at this time." stalwart_0_15;
stalwart-mail = warnAlias "'stalwart-mail' has been renamed to/replaced by 'stalwart'" stalwart; # Added 2026-01-19
stardust-xr-kiara = throw "" "'stardust-xr-kiara' has been removed as it is no longer compatible with the latest versions of the Stardust XR server"; # Added 2026-07-04
stardust-xr-magnetar = throw "" "'stardust-xr-magnetar' has been removed as it is no longer compatible with the latest versions of the Stardust XR server"; # Added 2026-07-04
stardust-xr-phobetor = throw "" "'stardust-xr-phobetor' has been removed as it is no longer compatible with the latest versions of the Stardust XR server"; # Added 2026-07-04
stardust-xr-sphereland = throw "" "'stardust-xr-sphereland' has been removed as it is no longer compatible with the latest versions of the Stardust XR server"; # Added 2026-07-04
starpls-bin = throw "'starpls-bin' has been renamed to/replaced by 'starpls'"; # Converted to throw 2025-10-27
station = throw "station has been removed from nixpkgs, as there were no committers among its maintainers to unblock security issues"; # Added 2025-06-16
steam-run-native = throw "'steam-run-native' has been renamed to/replaced by 'steam-run'"; # Converted to throw 2025-10-27

View File

@@ -4822,6 +4822,7 @@ with pkgs;
electron_40-bin
electron_41-bin
electron_42-bin
electron_43-bin
;
inherit (callPackages ../development/tools/electron/chromedriver { })
@@ -4829,6 +4830,7 @@ with pkgs;
electron-chromedriver_40
electron-chromedriver_41
electron-chromedriver_42
electron-chromedriver_43
;
inherit
@@ -4858,12 +4860,17 @@ with pkgs;
src = electron-source.electron_42;
bin = electron_42-bin;
};
electron_43 = getElectronPkg {
src = electron-source.electron_43;
bin = electron_43-bin;
};
}
)
electron_39
electron_40
electron_41
electron_42
electron_43
;
electron = electron_41;
electron-bin = electron_41-bin;