Compare commits

..

47 Commits

Author SHA1 Message Date
TomaSajt
2e05bb6390 rPackages.talib: fix build 2026-07-25 01:28:25 +02:00
TomaSajt
5c436850f3 rPackages.{BayesPET,GapAnalysis}: fix build 2026-07-25 01:28:25 +02:00
TomaSajt
745a352bff rPackages.{minimaxALT,netboost,impARI,telegramR}: fix build 2026-07-25 01:28:25 +02:00
TomaSajt
93f80bbdca rPackages.Rmpi: remove unnecessary configure flags 2026-07-25 01:28:25 +02:00
TomaSajt
a63d08610e rPackages.npRmpi: fix build 2026-07-25 01:28:24 +02:00
TomaSajt
4c087c3f0d rPackages: fix more builds 2026-07-25 01:28:24 +02:00
TomaSajt
f5c6c22b2d rPackages.{RFIF,gridmicrotex}: fix build 2026-07-25 01:28:24 +02:00
TomaSajt
9b4ad5276e rPackages.{BinaryDosage,cmtkr,drogonR,lstar}: fix build 2026-07-25 01:28:24 +02:00
TomaSajt
b8058ec5e4 rPackages.{automerge,libipldr}: fix build 2026-07-25 01:28:23 +02:00
TomaSajt
e02ed81090 rPackages.rvMF: fix build 2026-07-25 01:28:23 +02:00
TomaSajt
4bc7ff2d77 rPackages.mx_crypto: fix build 2026-07-25 01:28:23 +02:00
TomaSajt
5d06f32a47 rPackages.sundialr: fix build 2026-07-25 01:28:23 +02:00
TomaSajt
61b4623f29 rPackages.scip: fix build 2026-07-25 01:28:23 +02:00
TomaSajt
9531839e5d rPackages.Uno: fix build 2026-07-25 01:28:22 +02:00
TomaSajt
4a5112ed96 rPackages.buildRPackage: patch shebangs automatically in configure 2026-07-25 01:28:22 +02:00
László Kupcsik
9fdcdb7c48 rPackages: Remove explicit references to split outputs
Clean up
2026-07-25 01:28:22 +02:00
TomaSajt
9d802f481b R: move to pkgs/by-name 2026-07-25 01:28:22 +02:00
TomaSajt
0bcd43ec97 R: move default withRecommendedPackages value into package file 2026-07-25 01:28:21 +02:00
László Kupcsik
650c8e19d3 rPackages.fraq: add missing deps 2026-07-25 01:28:21 +02:00
TomaSajt
b9aaf127a0 rPackages.redatamx: fix build, set unfree 2026-07-25 01:28:21 +02:00
László Kupcsik
6736d3cece rPackages.HiSpaR: add missing dep 2026-07-25 01:28:21 +02:00
TomaSajt
4e044dcc09 rPackages.{FactoMineR,pander}: remove extra RDepends 2026-07-25 01:28:20 +02:00
TomaSajt
b5e45e0540 rPackages: append extra RDepends to propagatedBuildInputs 2026-07-25 01:28:20 +02:00
László Kupcsik
6333bdc74f rPackages.SingleR: fix build 2026-07-25 01:28:20 +02:00
TomaSajt
e46ca72853 rPackages.stringfish: don't use vendored pcre2 2026-07-25 01:28:20 +02:00
TomaSajt
8753744532 rPackages: unify and fix packages using R CMD config --ldflags 2026-07-25 01:28:19 +02:00
TomaSajt
806c8ca0f8 rPackages: prune packagesToSkipCheck 2026-07-25 01:28:19 +02:00
TomaSajt
5c7e709369 rPackages.Rmpi: fix missing symbol error 2026-07-25 01:28:19 +02:00
TomaSajt
ef933315f5 rPackages.V8: unpin icu 2026-07-25 01:28:19 +02:00
TomaSajt
edf6c5ea1f rPackages: fix strictDeps build for broken packages 2026-07-25 01:28:18 +02:00
TomaSajt
272dfff16c rPackages.cn_farms: fix build by dropping patch 2026-07-25 01:28:18 +02:00
TomaSajt
02c63ab3b9 rPackages: fix strictDeps build for several packages (part 6) 2026-07-25 01:28:13 +02:00
TomaSajt
34f2b99342 rPackages: fix strictDeps build for several packages (part 5) 2026-07-25 01:27:10 +02:00
TomaSajt
6236bf49d3 rPackages: fix strictDeps build for several packages (part 4) 2026-07-25 01:27:03 +02:00
TomaSajt
1fa185d9ff rPackages: fix strictDeps build for several packages (part 3) 2026-07-25 01:26:56 +02:00
TomaSajt
d96f5ea72b rPackages.{unix,RAppArmor}: use libapparmor 2026-07-25 01:26:56 +02:00
TomaSajt
504240d3ea rPackages: fix strictDeps build for several packages (part 2) 2026-07-25 01:26:46 +02:00
TomaSajt
e694a84530 rPackages: apply keep-sorted directives 2026-07-25 01:26:46 +02:00
TomaSajt
b450716440 rPackages: add keep-sorted directives 2026-07-25 01:26:45 +02:00
TomaSajt
be36bc8931 rPackages.pathfindR: remove broken patch 2026-07-25 01:26:45 +02:00
TomaSajt
bf580f1dad jasp-desktop: 0.97.1 -> 0.98.1 2026-07-25 01:26:45 +02:00
TomaSajt
34f31ca20c rPackages: fix strictDeps build for several packages (part 1) 2026-07-25 01:26:03 +02:00
Dev
d77944972d rPackages.V8: fixed build 2026-07-25 00:56:40 +02:00
Justin Bedo
e92169d817 rPackages.pak: fix build 2026-07-25 00:56:40 +02:00
Justin Bedo
6a8809c9f5 rPackages.RSQLite: fix build 2026-07-25 00:56:40 +02:00
Justin Bedo
12a822958e rPackages: CRAN and BioC update 2026-07-25 00:56:39 +02:00
Justin Bedo
033febc59f R: 4.6.0 -> 4.6.1 2026-07-25 00:56:36 +02:00
287 changed files with 31263 additions and 30941 deletions

View File

@@ -88,7 +88,7 @@ jobs:
GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
run: gh api /rate_limit | jq
- uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
- uses: actions/labeler@b8dd2d9be0f68b860e7dae5dae7d772984eacd6d # v6.2.0
name: Labels from touched files
if: |
github.event_name == 'pull_request_target' &&
@@ -98,7 +98,7 @@ jobs:
configuration-path: .github/labeler.yml # default
sync-labels: true
- uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
- uses: actions/labeler@b8dd2d9be0f68b860e7dae5dae7d772984eacd6d # v6.2.0
name: Labels from touched files (no sync)
if: |
github.event_name == 'pull_request_target' &&
@@ -108,7 +108,7 @@ jobs:
configuration-path: .github/labeler-no-sync.yml
sync-labels: false
- uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
- uses: actions/labeler@b8dd2d9be0f68b860e7dae5dae7d772984eacd6d # v6.2.0
name: Labels from touched files (development branches)
# Development branches like staging-next, haskell-updates and python-updates get special labels.
# This is to avoid the mass of labels there, which is mostly useless - and really annoying for

3
.gitignore vendored
View File

@@ -27,9 +27,6 @@ tags
.mypy_cache
__pycache__
/AGENTS.md
/CLAUDE.md
/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/
/pkgs/development/mobile/androidenv/xml/*

View File

@@ -211,7 +211,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
/pkgs/development/perl-modules @stigtsp @marcusramberg
# R
/pkgs/applications/science/math/R @jbedo
/pkgs/by-name/r/R @jbedo
/pkgs/development/r-modules @jbedo
# Rust

View File

@@ -9,9 +9,9 @@
},
"branch": "nixpkgs-unstable",
"submodules": false,
"revision": "7525d999cd850b9a488817abc89c75dc733acf17",
"url": "https://github.com/NixOS/nixpkgs/archive/7525d999cd850b9a488817abc89c75dc733acf17.tar.gz",
"hash": "sha256-4IHyyLgLBdKefkljdKod4IMn023pQiDXAWJA187cmdY="
"revision": "421eebfd0ec7bccd4abe826ce62d7e6e83129493",
"url": "https://github.com/NixOS/nixpkgs/archive/421eebfd0ec7bccd4abe826ce62d7e6e83129493.tar.gz",
"hash": "sha256:1lxfhfgiv1sz2v7fg43gny57sa6wf59n98q7ldsyb2p06f4sal7w"
}
},
"version": 8

View File

@@ -741,7 +741,7 @@ Notable attributes:
Compliance suite for [modular service](https://nixos.org/manual/nixos/unstable/#modular-services) integrations.
Tests that a service manager integration correctly handles the portable modular services contract: `process.argv`, `process.environment` (including `null` values that unset a variable), sub-services, assertions, and warnings.
Tests that a service manager integration correctly handles the portable modular services contract: `process.argv`, sub-services, assertions, and warnings.
### Return value {#tester-modularServiceCompliance-return}

View File

@@ -70,26 +70,6 @@ in
Command used for reloading in the underlying service manager to reload.
'';
};
environment = lib.mkOption {
type = types.lazyAttrsOf (
types.nullOr (types.coercedTo (types.either types.path types.package) (x: "${x}") types.str)
);
default = { };
example = lib.literalExpression ''{ FOO = "bar"; PATH = null; }'';
description = ''
Environment variables passed verbatim to the service process by the
service manager. Entries set to `null` actively unset the variable
before the process starts -- backends without native unset support use
a wrapper (e.g. `execline`'s `unexport`) so the variable is absent
even when the service manager or a backend-specific override would
otherwise supply it.
Values appear in the rendered unit and may be world-readable. For
secrets, use a backend-specific mechanism such as
`systemd.service.serviceConfig.EnvironmentFile`.
'';
};
};
notificationProtocol = mkOption {

View File

@@ -48,10 +48,6 @@ let
(dummyPkg "cowsay.sh")
"world"
];
environment = {
FOO = "bar";
DROPPED = null;
};
};
};
service3 = {
@@ -114,7 +110,6 @@ let
"/usr/bin/echo"
"hello"
];
environment = { };
};
services = { };
assertions = [
@@ -133,10 +128,6 @@ let
"${dummyPkg "cowsay.sh"}"
"world"
];
environment = {
FOO = "bar";
DROPPED = null;
};
};
services = { };
assertions = [ ];
@@ -145,7 +136,6 @@ let
service3 = {
process = {
argv = [ "/bin/false" ];
environment = { };
};
services.exclacow = {
process = {
@@ -153,7 +143,6 @@ let
"${dummyPkg "cowsay-ng"}/bin/cowsay"
"!"
];
environment = { };
};
services = { };
assertions = [

View File

@@ -3423,6 +3423,13 @@
githubId = 32903896;
keys = [ { fingerprint = "CB5C 7B3C 3E6F 2A59 A583 A90A 8A60 0376 7BE9 5976"; } ];
};
benesim = {
name = "Benjamin Isbarn";
email = "benjamin.isbarn@gmail.com";
github = "BeneSim";
githubId = 29384538;
keys = [ { fingerprint = "D35E C9CE E631 638F F1D8 B401 6F0E 410D C3EE D02"; } ];
};
bengsparks = {
email = "benjamin.sparks@protonmail.com";
github = "bengsparks";
@@ -29692,13 +29699,6 @@
githubId = 116078858;
keys = [ { fingerprint = "CDEA 7E04 69E3 0885 A754 4B05 0104 BC05 F41B 77B8"; } ];
};
vherrmann = {
name = "Valentin Herrmann";
email = "me@valentin-herrmann.de";
github = "vherrmann";
githubId = 50072577;
keys = [ { fingerprint = "309D A29B 4070 FDFD C01A 3AB4 9E60 CB44 5C4B BC4C"; } ];
};
videl = {
email = "thibaut.smith@mailbox.org";
github = "videl";

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash
#!nix-shell -p jq git
# shellcheck shell=bash
#
# Usage: eval-pkg-sets.sh [extra flags for nix-* commands ...]
#
# Must be executed in a git checkout of Nixpkgs.
set -euo pipefail
NIXPKGS="$(git rev-parse --show-toplevel)"
PKGSETS="$(nix-env --readonly-mode --json --drv-path -f "$NIXPKGS" -qaP -A haskell.compiler "$@" \
| jq -r 'to_entries | unique_by(.value.drvPath) .[] .key | sub("^haskell.compiler";"haskell.packages")')"
trap 'exit 1' SIGINT SIGTERM
set +e
badsets=""
for set in $PKGSETS; do
# Confirm an equivalent package set to haskell.compiler.$entry exists and is usable
if ! nix-instantiate --readonly-mode -A "$set.ghc" "$@" > /dev/null 2>&1; then
echo "Skipping $set... ($set.ghc does not evaluate)"
else
echo "Evaluating $set..."
if ! nix-env --readonly-mode -f "$NIXPKGS" -qaP --drv-path -A "$set" "$@" > /dev/null; then
badsets+="$set "
fi
fi
done
if [ -n "$badsets" ]; then
echo "Found potential eval issues in the following sets:" >&2
# shellcheck disable=SC2086
printf '%s\n' $badsets
exit 1
fi

View File

@@ -33,7 +33,7 @@ fi
# Stackage solver to use, LTS or Nightly
# (should be capitalized like the display name)
SOLVER=Nightly
SOLVER=LTS
# Stackage solver verson, if any. Use latest if empty
VERSION=
TMP_TEMPLATE=update-stackage.XXXXXXX
@@ -105,7 +105,6 @@ sed -r \
-e '/ hledger-ui /d' \
-e '/ hledger-web /d' \
-e '/ spacecookie /d' \
-e '/ hnix-store-core /d' \
< "${tmpfile_new}" >> $stackage_config
# Explanations:
# cabal2nix, distribution-nixpkgs, jailbreak-cabal, language-nix: These are our packages and we know what we are doing.

View File

@@ -43,7 +43,7 @@ When reviewing a modular service, you should check the following. Details and ra
### NixOS VM test
See the initial [Modular Services PR](https://github.com/NixOS/nixpkgs/pull/372170) for an [example](https://github.com/NixOS/nixpkgs/pull/372170/files#diff-e7fe16489cf3cd08ecc22b2c7896039d407a329b75691c046c95447423b3153f) of a NixOS VM test.
Best practices: keep tests minimal and focused (boot a VM, enable the service, and assert a basic request succeeds). For general guidance, see the [NixOS Tests chapter](https://nixos.org/manual/nixos/unstable/#sec-nixos-tests).
TBD: describe best practices here.
### `_class = "service"`

View File

@@ -152,16 +152,7 @@ let
};
systemdServiceOptions = buildPackages.nixosOptionsDoc {
inherit
(evalModules {
modules = [
(modules.importApply ../../modules/system/service/systemd/service.nix {
pkgs = throw "nixos docs / systemdServiceOptions: Do not reference pkgs in docs";
})
];
})
options
;
inherit (evalModules { modules = [ ../../modules/system/service/systemd/service.nix ]; }) options;
# TODO: filter out options that are not systemd-specific, maybe also change option prefix to just `service-opt-`?
inherit revision warningsAreErrors;
transformOptions =

View File

@@ -89,11 +89,6 @@ def main() -> None:
type=Path,
required=True,
)
arg_parser.add_argument(
"--test-script",
help="path to a test script to run, taking precedence over the one defined in the config file",
type=Path,
)
arg_parser.add_argument(
"--keep-vm-state",
help=argparse.SUPPRESS,
@@ -168,12 +163,8 @@ def main() -> None:
if args.debug_hook_attach is not None:
debugger = Debug(logger, args.debug_hook_attach)
config = load_driver_configuration(args.config)
if args.test_script is not None:
config.test_script = args.test_script
with Driver(
config=config,
config=load_driver_configuration(args.config),
out_dir=output_directory,
logger=logger,
keep_machine_state=args.keep_machine_state,

View File

@@ -116,8 +116,6 @@ in
packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
in
mkIf cfg.enable {
programs.fuse.enable = true;
warnings = lib.optional (cfg.configPackages == [ ] && cfg.config == { }) ''
xdg-desktop-portal 1.17 reworked how portal implementations are loaded, you
should either set `xdg.portal.config` or `xdg.portal.configPackages`

View File

@@ -15,13 +15,14 @@ in
description = ''
Enable ReGreet, a clean and customizable greeter for greetd.
By default enables {option}`services.greetd` and configures a
{command}`default_session` to launch ReGreet using the
{command}`cage` compositor.
To use ReGreet, {option}`services.greetd` has to be enabled and
{option}`services.greetd.settings.default_session` should contain the
appropriate configuration to launch
{option}`config.programs.regreet.package`. For examples, see the
[ReGreet Readme](https://github.com/rharish101/ReGreet#set-as-default-session).
See the
[ReGreet Readme](https://github.com/rharish101/ReGreet#set-as-default-session)
for other examples.
A minimal configuration that launches ReGreet in {command}`cage` is
enabled by this module by default.
'';
};
@@ -47,8 +48,8 @@ in
[ "-s" "-d" "-m" "last" ]
'';
description = ''
Arguments to be passed to [cage](https://github.com/cage-kiosk/cage)
when using it as the default compositor.
Additional arguments to be passed to
[cage](https://github.com/cage-kiosk/cage).
'';
};

View File

@@ -403,11 +403,6 @@ in
as the underlying package isn't being maintained. Working alternatives are
libinput and synaptics.
'')
(mkRemovedOptionModule [ "services" "xserver" "windowManager" "afterstep" ] ''
The services.xserver.windowManager.afterstep module and the corresponding
package have been removed from Nixpkgs because they were unmaintained
upstream.
'')
(mkRemovedOptionModule [ "services" "xserver" "windowManager" "ragnarwm" ] ''
The services.xserver.windowManager.ragnarwm module has been removed
because the corresponding package was removed from nixpkgs.

View File

@@ -1422,6 +1422,7 @@ let
modulePath = config.security.pam.pam_unixModulePath;
settings = {
nullok = true;
yescrypt = lib.mkIf config.security.pam.enableLegacySettings true;
};
}
{

View File

@@ -577,6 +577,7 @@ in
control = "requisite";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
settings.yescrypt = true;
}
];

View File

@@ -1,7 +1,6 @@
{
config,
lib,
utils,
pkgs,
...
}:
@@ -77,37 +76,9 @@ in
services.greetd.settings.default_session.user = lib.mkDefault "greeter";
security.pam.services.greetd = {
useDefaultRules = false;
rules = {
auth = utils.pam.autoOrderRules [
{
name = "login";
control = "substack";
modulePath = "login";
}
];
account = utils.pam.autoOrderRules [
{
name = "login";
control = "include";
modulePath = "login";
}
];
password = utils.pam.autoOrderRules [
{
name = "login";
control = "substack";
modulePath = "login";
}
];
session = utils.pam.autoOrderRules [
{
name = "login";
control = "include";
modulePath = "login";
}
];
};
allowNullPassword = true;
startSession = true;
enableGnomeKeyring = lib.mkDefault config.services.gnome.gnome-keyring.enable;
};
# This prevents nixos-rebuild from killing greetd by activating getty again

View File

@@ -100,37 +100,9 @@ in
security.pam.services = {
ly = {
useDefaultRules = false;
rules = {
auth = utils.pam.autoOrderRules [
{
name = "login";
control = "substack";
modulePath = "login";
}
];
account = utils.pam.autoOrderRules [
{
name = "login";
control = "include";
modulePath = "login";
}
];
password = utils.pam.autoOrderRules [
{
name = "login";
control = "substack";
modulePath = "login";
}
];
session = utils.pam.autoOrderRules [
{
name = "login";
control = "include";
modulePath = "login";
}
];
};
startSession = true;
unixAuth = true;
enableGnomeKeyring = lib.mkDefault config.services.gnome.gnome-keyring.enable;
};
}
// optionalAttrs dmcfg.autoLogin.enable {

View File

@@ -458,6 +458,7 @@ in
control = "requisite";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
settings.yescrypt = true;
}
];

View File

@@ -0,0 +1,30 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.services.xserver.windowManager.afterstep;
in
{
###### interface
options = {
services.xserver.windowManager.afterstep.enable = mkEnableOption "afterstep";
};
###### implementation
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton {
name = "afterstep";
start = ''
${pkgs.afterstep}/bin/afterstep &
waitPID=$!
'';
};
environment.systemPackages = [ pkgs.afterstep ];
};
}

View File

@@ -8,6 +8,7 @@ in
{
imports = [
./2bwm.nix
./afterstep.nix
./berry.nix
./bspwm.nix
./cwm.nix

View File

@@ -30,9 +30,8 @@ let
dnsmasqResolve = config.services.dnsmasq.enable && config.services.dnsmasq.resolveLocalQueries;
transformSettings =
settings:
lib.mapAttrs (
transformSettings = settings: {
Resolve = lib.mapAttrs (
key: value:
# concat lists for options that should result in space-separated values
if
@@ -46,9 +45,10 @@ let
concatStringsSep " " value
else
value
) settings;
) settings.Resolve;
};
resolvedConf = settingsToSections { Resolve = transformSettings cfg.settings.Resolve; };
resolvedConf = settingsToSections (transformSettings cfg.settings);
in
{
imports = [

View File

@@ -1,9 +1,3 @@
# Non-module arguments
# These are separate from the module arguments to avoid implicit dependencies.
# This makes service modules self-contained, allowing mixing of Nixpkgs versions.
{ pkgs }:
# The module
{
lib,
config,
@@ -98,11 +92,6 @@ in
to prevent systemd substitution. Set this option explicitly to enable
systemd's substitution features.
When {option}`process.environment` contains keys set to `null`, the default
is automatically prefixed with `unexport KEY` invocations (from
`pkgs.execline`) so those variables are unset before the process starts,
regardless of what `Environment=` or inherited environment supplies.
To extend {option}`process.argv` with systemd specifiers, you can append
to the escaped arguments:
@@ -120,19 +109,8 @@ in
for available specifiers like `%n`, `%i`, `%t`.
'';
type = types.str;
default =
let
nullEnvKeys = lib.attrNames (lib.filterAttrs (_: v: v == null) config.process.environment);
in
if nullEnvKeys == [ ] then
config.systemd.lib.escapeSystemdExecArgs config.process.argv
else
lib.concatMapStringsSep " " (
k: "${escapeSystemdExecArg "${pkgs.execline}/bin/unexport"} ${escapeSystemdExecArg k}"
) nullEnvKeys
+ " "
+ config.systemd.lib.escapeSystemdExecArgs config.process.argv;
defaultText = lib.literalMD "The escaped `process.argv`, prefixed with `\"unexport\" \"KEY\"` (from `pkgs.execline`) for each key in `process.environment` set to `null`.";
default = config.systemd.lib.escapeSystemdExecArgs config.process.argv;
defaultText = lib.literalExpression "config.systemd.lib.escapeSystemdExecArgs config.process.argv";
};
systemd.mainExecReload = mkOption {
@@ -209,7 +187,7 @@ in
types.submoduleWith {
class = "service";
modules = [
(lib.modules.importApply ./service.nix { inherit pkgs; })
./service.nix
];
specialArgs = {
inherit systemdPackage;
@@ -229,9 +207,6 @@ in
systemd.services."" = {
# TODO description;
wantedBy = lib.mkDefault [ "multi-user.target" ];
environment = lib.mapAttrs (_: lib.mkDefault) (
lib.filterAttrs (_: v: v != null) config.process.environment
);
serviceConfig = {
ExecReload = config.systemd.mainExecReload;
Type = lib.mkDefault (if config.notificationProtocol.systemd then "notify" else "simple");

View File

@@ -63,7 +63,7 @@ let
modularServiceConfiguration = portable-lib.configure {
serviceManagerPkgs = pkgs;
extraRootModules = [
(lib.modules.importApply ./service.nix { inherit pkgs; })
./service.nix
./config-data-path.nix
];
extraRootSpecialArgs = {

View File

@@ -76,40 +76,6 @@ let
};
};
# Test that `process.environment` becomes `Environment=` entries on the unit,
# that null values are dropped from `Environment=` and wrapped with unexport
# in `ExecStart`.
system.services.envvars = {
process = {
argv = [ hello' ];
environment = {
FOO = "bar";
BAZ = "qux";
DROPPED = null;
};
};
};
# Test that an explicit `systemd.service.environment` override wins over
# the portable default produced by `process.environment`.
system.services.envvars-override = {
process = {
argv = [ hello' ];
environment.FOO = "from-process";
};
systemd.service.environment.FOO = "from-systemd";
};
# Test that `process.environment` `null` unsets via wrapper even when the
# systemd layer sets the same key (true unset, not just "skip setting").
system.services.envvars-unset = {
process = {
argv = [ hello' ];
environment.FOO = null;
};
systemd.service.environment.FOO = "leaked";
};
# Test extending process.argv with systemd specifiers
system.services.argv-extended =
{ config, ... }:
@@ -171,22 +137,6 @@ runCommand "test-modular-service-systemd-units"
# The base command should be escaped ($1 -> $$1, m%n -> m%%n), but the appended --systemd-unit %n should not be
grep -F 'ExecStart="${hello}/bin/hello" "--greeting" "Fun $$1 fact, remainder is often expressed as m%%n" --systemd-unit %n' ${toplevel}/etc/systemd/system/argv-extended.service >/dev/null
# process.environment becomes Environment= entries; null values are dropped
# from Environment= and wrapped with unexport in ExecStart.
grep -F 'Environment="FOO=bar"' ${toplevel}/etc/systemd/system/envvars.service >/dev/null
grep -F 'Environment="BAZ=qux"' ${toplevel}/etc/systemd/system/envvars.service >/dev/null
! grep -F 'Environment=.*DROPPED' ${toplevel}/etc/systemd/system/envvars.service
grep 'ExecStart=.*unexport.*DROPPED' ${toplevel}/etc/systemd/system/envvars.service >/dev/null
# systemd.service.environment override wins over process.environment.
grep -F 'Environment="FOO=from-systemd"' ${toplevel}/etc/systemd/system/envvars-override.service >/dev/null
! grep -F 'FOO=from-process' ${toplevel}/etc/systemd/system/envvars-override.service
# process.environment null uses unexport wrapper for true unset, even when
# the systemd layer has an Environment= entry for the same key.
grep -F 'Environment="FOO=leaked"' ${toplevel}/etc/systemd/system/envvars-unset.service >/dev/null
grep 'ExecStart=.*unexport.*FOO' ${toplevel}/etc/systemd/system/envvars-unset.service >/dev/null
[[ ! -e ${toplevel}/etc/systemd/system/foo.socket ]]
[[ ! -e ${toplevel}/etc/systemd/system/bar.socket ]]
[[ ! -e ${toplevel}/etc/systemd/system/bar-db.socket ]]

View File

@@ -153,7 +153,6 @@ in
console-log = runTest ./nixos-test-driver/console-log.nix;
containers = runTest ./nixos-test-driver/containers.nix;
nspawn-daemon-reexec-dbus = runTest ./nspawn-daemon-reexec-dbus.nix;
multi-arch-test = runTest ./nixos-test-driver/multi-arch-test.nix;
skip-typecheck = runTest ./nixos-test-driver/skip-typecheck.nix;
console-timeout = runTest ./nixos-test-driver/console-timeout.nix;
options-doc-regression = import ./nixos-test-driver/options-doc-regression.nix { inherit pkgs; };

View File

@@ -57,7 +57,6 @@
with subtest("create user"):
machine.succeed("useradd -m alice")
machine.succeed("(echo foobar; echo foobar) | passwd alice")
machine.succeed("grep -F 'alice:$y$' /etc/shadow")
with subtest("Check whether switching VTs works"):
machine.fail("pgrep -f 'agetty.*tty2'")

View File

@@ -28,7 +28,6 @@
with subtest("create user"):
machine.succeed("useradd -m alice")
machine.succeed("(echo foobar; echo foobar) | passwd alice")
machine.succeed("grep -F 'alice:$y$' /etc/shadow")
with subtest("Check whether switching VTs works"):
machine.fail("pgrep -f 'agetty.*tty2'")

View File

@@ -1,55 +0,0 @@
{ pkgs, lib, ... }:
{
name = "multi-arch-test";
meta.maintainers = with pkgs.lib.maintainers; [ tfc ];
node.pkgsReadOnly = false;
nodes = {
# Setting build = host platform because such standard VM setups
# are well-cached by the multi-arch build infrastructure of the
# project.
vmIntel = {
nixpkgs.buildPlatform = "x86_64-linux";
nixpkgs.hostPlatform = "x86_64-linux";
};
vmArm = {
nixpkgs.buildPlatform = "aarch64-linux";
nixpkgs.hostPlatform = "aarch64-linux";
};
};
defaults = {
# not needed for this test and shrinks the closure
# because we dont' need qemu for all architectures
virtualisation.qemu.guestAgent.enable = false;
# the test is already very slow but we don't need DHCP anyway
networking.dhcpcd.enable = false;
# fix the network-online target, otherwise it doesn't work
# properly as a synchronization mechanism.
systemd.network.wait-online.enable = true;
systemd.network.wait-online.anyInterface = true;
};
# slow due to SW emulation but shouldn't be slower than that
globalTimeout = 5 * 60;
testScript = { nodes, ... }: /* python */ ''
start_all()
vmIntel.systemctl("start network-online.target")
vmArm.systemctl("start network-online.target")
vmIntel.wait_for_unit("network-online.target")
vmArm.wait_for_unit("network-online.target")
vmIntel.succeed("ping -c 1 vmArm")
vmArm.succeed("ping -c 1 vmIntel")
archIntel = vmIntel.succeed("uname -m")
t.assertIn("${nodes.vmIntel.nixpkgs.hostPlatform.qemuArch}", archIntel, "machine1 is an intel VM")
archArm = vmArm.succeed("uname -m")
t.assertIn("${nodes.vmArm.nixpkgs.hostPlatform.qemuArch}", archArm, "machine1 is an ARM VM")
'';
}

View File

@@ -16,9 +16,9 @@ let
inherit tiling_wm;
};
stableVersion = {
version = "2026.1.2.11"; # "Android Studio Quail 2 | 2026.1.2 Patch 1"
sha256Hash = "sha256-HMnNVPQA27DQeITw98DKtSTbXOCl73CyOu1v3TzURbk=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.2.11/android-studio-quail2-patch1-linux.tar.gz";
version = "2026.1.2.10"; # "Android Studio Quail 2 | 2026.1.2"
sha256Hash = "sha256-ZERaVAkucFbG638aia0RbQ/uwu9flluOWU1iq9tYWQ8=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.2.10/android-studio-quail2-linux.tar.gz";
};
betaVersion = {
version = "2026.1.3.5"; # "Android Studio Quail 3 | 2026.1.3 RC 1"

View File

@@ -12,46 +12,6 @@
let
zig = zig_0_15;
mkModule =
{
pname,
version,
src,
zigDeps,
}:
stdenv.mkDerivation (finalAttrs: {
inherit
pname
version
src
zigDeps
;
nativeBuildInputs = [ zig ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ];
env.EMACS_INCLUDE_DIR = "${emacs}/include";
dontSetZigDefaultFlags = true;
doCheck = true;
zigCheckFlags = [
"-Dcpu=baseline"
# See https://github.com/ghostty-org/ghostty/blob/main/PACKAGING.md#build-options
"-Doptimize=ReleaseFast"
];
zigBuildFlags = finalAttrs.zigCheckFlags;
postConfigure = ''
cp -rLT ${finalAttrs.zigDeps} "$ZIG_GLOBAL_CACHE_DIR/p"
chmod -R u+w "$ZIG_GLOBAL_CACHE_DIR/p"
'';
});
libExt = stdenv.hostPlatform.extensions.sharedLibrary;
in
melpaBuild (finalAttrs: {
pname = "ghostel";
version = "0.44.0";
@@ -59,37 +19,59 @@ melpaBuild (finalAttrs: {
src = fetchFromGitHub {
owner = "dakra";
repo = "ghostel";
tag = "v${finalAttrs.version}";
tag = "v${version}";
hash = "sha256-vRGZoQtjsL42ga07fOfEjccKRidAhqgwHBoKs++62Ls=";
};
# this can be put into mkModule, but we put it here to ease user overrideAttrs
zigDeps = zig.fetchDeps {
inherit (finalAttrs) src pname version;
fetchAll = true;
hash = "sha256-yrVgiofdmVjTGJ+PGPGRCc8gb/JcEca1uAzIoPgHHqU=";
};
module = stdenv.mkDerivation (finalAttrs: {
inherit pname version src;
deps = zig.fetchDeps {
inherit (finalAttrs) src pname version;
fetchAll = true;
hash = "sha256-yrVgiofdmVjTGJ+PGPGRCc8gb/JcEca1uAzIoPgHHqU=";
};
nativeBuildInputs = [ zig ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ];
env.EMACS_INCLUDE_DIR = "${emacs}/include";
dontSetZigDefaultFlags = true;
doCheck = true;
zigCheckFlags = [
"-Dcpu=baseline"
# See https://github.com/ghostty-org/ghostty/blob/main/PACKAGING.md#build-options
"-Doptimize=ReleaseFast"
];
zigBuildFlags = finalAttrs.zigCheckFlags;
postConfigure = ''
cp -rLT ${finalAttrs.deps} "$ZIG_GLOBAL_CACHE_DIR/p"
chmod -R u+w "$ZIG_GLOBAL_CACHE_DIR/p"
'';
});
libExt = stdenv.hostPlatform.extensions.sharedLibrary;
in
melpaBuild {
inherit pname version src;
files = ''
(:defaults "etc" "ghostel-module${libExt}" "ghostel-module.version")
'';
preBuild = ''
install ${finalAttrs.finalPackage.module}/ghostel-module${libExt} ghostel-module${libExt}
install --mode=444 ${finalAttrs.finalPackage.module}/ghostel-module.version ghostel-module.version
install ${module}/ghostel-module${libExt} ghostel-module${libExt}
install --mode=444 ${module}/ghostel-module.version ghostel-module.version
'';
passthru = {
updateScript = nix-update-script { };
module = mkModule {
pname = "${finalAttrs.pname}-module";
inherit (finalAttrs)
version
src
zigDeps
;
};
inherit module;
};
meta = {
@@ -101,4 +83,4 @@ melpaBuild (finalAttrs: {
];
license = lib.licenses.gpl3Plus;
};
})
}

View File

@@ -107,10 +107,10 @@ in
{
emacs31 = import ./make-emacs.nix (mkArgs {
pname = "emacs";
version = "31.0.91";
version = "31.0.90";
variant = "mainline";
rev = "emacs-31.0.91";
hash = "sha256-3nvCiLiEtII1C57CLfDIbVqhiwadYViF9Nv32yDtLIQ=";
rev = "emacs-31.0.90";
hash = "sha256-Rzlnn+NKQ+jICXLNop27RnVInq79myn4hueJieDO2Ck=";
});
emacs30 = import ./make-emacs.nix (mkArgs {

View File

@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-eslint";
publisher = "dbaeumer";
version = "3.0.34";
hash = "sha256-ynCPFzne4YS4WNjQSmGky+e2IaE3SLxj6FkjKyLPcAs=";
version = "3.0.24";
hash = "sha256-ZQVzpSSLf3tpO4QtLjbCOje3L5/EqzT9A9IOssl6e54=";
};
meta = {

View File

@@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "opera";
version = "0-unstable-2026-07-23";
version = "0-unstable-2026-07-13";
src = fetchFromGitHub {
owner = "libretro";
repo = "opera-libretro";
rev = "74dd2a8c6319678ffce9f31bdf36279db5681762";
hash = "sha256-NHXOfKItLkQJ0/jH1gLBpLFqOKBB8qgH5gMw7j1YoLw=";
rev = "1edda8a2a6c6b9ae259d5c7cd7d54dcba9ee7e32";
hash = "sha256-dc7xRjFxfSL2q9u1N0QH2j+oPbRGng2Z3U3J484lXiU=";
};
makefile = "Makefile";

View File

@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "prboom";
version = "0-unstable-2026-07-21";
version = "0-unstable-2026-07-07";
src = fetchFromGitHub {
owner = "libretro";
repo = "libretro-prboom";
rev = "c5b09532fa633e015ac75c0a2acfec049f65ded3";
hash = "sha256-13oL/U3uwNejqTIbKmITRbK8Eddg9YH5CMDIDXA6zKs=";
rev = "31563d6e65faa6b9b7e975754d2062370bba4342";
hash = "sha256-eFRzbVTL5ARf650D0ZAEFGNTxjAy1CjBiAhwSQR8vJ4=";
};
makefile = "Makefile";

View File

@@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "snes9x2005" + lib.optionalString withBlarggAPU "-plus";
version = "0-unstable-2026-07-22";
version = "0-unstable-2026-04-20";
src = fetchFromGitHub {
owner = "libretro";
repo = "snes9x2005";
rev = "deb49d80d1836e3e737480a326e31a54c46c04ae";
hash = "sha256-UMW+YTzcSZ5CWSyRBYc8y1cDh/CU3Am11rkjSXlyxZA=";
rev = "b60356971fc9caae02cd0853676dced886a08be7";
hash = "sha256-6IuEFyJEoCHluSAXbk5qRTXku1XJCZ6p04BhdjqZqJQ=";
};
makefile = "Makefile";

View File

@@ -837,7 +837,7 @@
}
},
"ungoogled-chromium": {
"version": "150.0.7871.186",
"version": "150.0.7871.181",
"deps": {
"depot_tools": {
"rev": "f4fadaf6a5ba1bced9d3d9021060667b563bf583",
@@ -849,16 +849,16 @@
"hash": "sha256-/1A+DkzAQj2zGPe/A/G0Z3VrYJXUxq4Hd/+d/o5p3G8="
},
"ungoogled-patches": {
"rev": "150.0.7871.186-1",
"hash": "sha256-kL9xE/w0W4Wf+z9qX5EFLGMYWQ3Hvyzhy7PtF59a/Sk="
"rev": "150.0.7871.181-1",
"hash": "sha256-ifqEnOcvi49cFOYan8ShiwteXYnFrLPclrIBZiE1rGY="
},
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
},
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "0fcdce5f4fdec8d442d7df760cb541f1ca6e446d",
"hash": "sha256-6coAYewN8RC5kx0PmmiV6mXQhLqWF3BZP320PmOcPvw=",
"rev": "24b04c927b23c39cf9c5227cc8dc6f64a744c8e9",
"hash": "sha256-F52wmxyNPEV26v8YgAz+MRhyEGyV7YUX+/wj95H4Lf0=",
"recompress": true
},
"src/third_party/clang-format/script": {

View File

@@ -45,11 +45,11 @@
"vendorHash": "sha256-031RZo1EqWrt79NvdrrZ9FW/E+mfwkGmr7wyMYX4SHg="
},
"aliyun_alicloud": {
"hash": "sha256-es2ti8tSgShwUWYtZ7OEff88LLiAnK4B/Hq9PaNEEOc=",
"hash": "sha256-G52l+5WlcxSNflx0ioD0jEKI1GBWe5D4qW8VH8k6uTA=",
"homepage": "https://registry.terraform.io/providers/aliyun/alicloud",
"owner": "aliyun",
"repo": "terraform-provider-alicloud",
"rev": "v1.286.0",
"rev": "v1.285.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-sZeXHTrMUUPllPzvpbFjwA5FjFJXnO1k5h9B5i8U+vs="
},
@@ -445,13 +445,13 @@
"vendorHash": "sha256-FcxAh8EOvnT8r1GHu0Oj2C5Jgbr2WPwD7/vY4/qIvTA="
},
"gitlabhq_gitlab": {
"hash": "sha256-eTtmEW3sdCkpojxshhdQq+8qNTYjzin5TmCGil/3F5E=",
"hash": "sha256-BMOFi/g0W6xo/Kfqw8oqsMeeU3aXyWAKSgF9lIS4AbA=",
"homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab",
"owner": "gitlabhq",
"repo": "terraform-provider-gitlab",
"rev": "v19.2.1",
"rev": "v19.1.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-uEXZEYlQZ24h4IffJQEmqqrmHbiRSKVGJ1OCv4k1zVQ="
"vendorHash": "sha256-9aoJGVTC9t76auYy8K3QSWGzSAq9aTxemKNc3aCLjRY="
},
"go-gandi_gandi": {
"hash": "sha256-fsCtmwyxkXfOtiZG27VEb010jglK35yr4EynnUWlFog=",
@@ -905,13 +905,13 @@
"vendorHash": "sha256-t4dbDJNjEQ6/u+/6zqk2Sdd3LVn/L2BCJujpiLdGc58="
},
"metio_migadu": {
"hash": "sha256-qeN2Zlx4qSrjb7qxjDf4v3uG1GR/faTiCNKD/HZkoyw=",
"hash": "sha256-Aef1H/L2EFeU9mhecOnlPAbJbt3XfBL0Wz67IqxCI10=",
"homepage": "https://registry.terraform.io/providers/metio/migadu",
"owner": "metio",
"repo": "terraform-provider-migadu",
"rev": "2026.7.23",
"rev": "2026.7.2",
"spdx": "0BSD",
"vendorHash": "sha256-rwIHdtVVWygfxadoJigGBIUV0xoQ6vqDsHJgjYQ2RBM="
"vendorHash": "sha256-wUX2smEhKUftBCRi7ANq8NpHXpB+EmlVshrhI2ltY2I="
},
"mongey_kafka": {
"hash": "sha256-rTa6c7jAMH027V7h/yUGVGz6TS0PDdObilxU0Vpr6FI=",

View File

@@ -78,8 +78,8 @@ rec {
thunderbird = thunderbird-latest;
thunderbird-latest = common {
version = "153.0";
sha512 = "f77bde3dd0933dd35870a889386c41d55ff0cbe276ec3373b27e9885f7db7e35529e7ecc2fc149ae4f8c5ae53eddb3ad444e7499a850a59a82b8940c7a4c7747";
version = "152.0.1";
sha512 = "f66c87de4dd73c3c45e420a55d76c3cb6ac091a61794ccf58ba59d1a40cf8001dee19a6a7f4c6bef7d36ea94ed4e4f677449d3006b2004abbd3fab42ad1c9228";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-latest";
@@ -89,24 +89,11 @@ rec {
# Eventually, switch to an updateScript without versionPrefix hardcoded...
thunderbird-esr = thunderbird-140;
thunderbird-153 = common {
applicationName = "Thunderbird ESR";
version = "153.0.1esr";
sha512 = "3773b49b69341aea108a627faa0dd5b7cfb52cdb4c37e625fbb8cbaef7f9166f925ecbc199173302d5bef7994e6bff3b56cd56a3a4c38a9d702cc3e5aeafcf7c";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-153";
versionPrefix = "153";
versionSuffix = "esr";
};
};
thunderbird-140 = common {
applicationName = "Thunderbird ESR";
version = "140.13.0esr";
sha512 = "778d2fc2837ba367e90c4336f3873da5a0823c182e2f50aa9373cd1ee9ee2b5310372ad9d33e1e11978791b67de4a6952d3036ff7d57b257a06f49c8cd4a830e";
version = "140.12.1esr";
sha512 = "24e795483ba7bc112c0debe1becdaf79cc2de95703b9ee726d0216bfc1db7b33c169503f83ac867e5998a8d1d0284a6ef12c7d35d98b10d6432497c2db237477";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-140";

View File

@@ -12,13 +12,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "droidcam-obs";
version = "2.5.1";
version = "2.5.0";
src = fetchFromGitHub {
owner = "dev47apps";
repo = "droidcam-obs-plugin";
tag = finalAttrs.version;
hash = "sha256-T7CQrjQK5OV1bgqa2il9snsK7nScuVhV06NuX2SoIeI=";
hash = "sha256-JPAQoGZFzTIdBQ7GpCPaYUVPkkcBdCRFkVPU+nyRa7Q=";
};
preBuild = ''

View File

@@ -122,8 +122,7 @@ in
stdenvNoCC.mkDerivation (
{
name =
if (attrs ? pname && attrs ? version) then "${attrs.pname}-${attrs.version}" else baseNameOf src;
name = baseNameOf src;
}
// optionalAttrs
// forcedAttrs

View File

@@ -29,10 +29,6 @@ let
services = {
svc = {
process.argv = [ "${coreutils}/bin/true" ];
process.environment = {
FOO = "bar";
DROPPED = null;
};
assertions = [
{
assertion = true;
@@ -74,19 +70,6 @@ let
expected = [ "${coreutils}/bin/true" ];
};
# A set environment variable round-trips through process.environment.
testProcessEnvironment = {
expr = c.process.environment.FOO;
expected = "bar";
};
# A null environment variable is preserved as null (unset request),
# rather than coerced to a string or dropped from the attrset.
testProcessEnvironmentNull = {
expr = c.process.environment.DROPPED;
expected = null;
};
testAssertions = {
expr = lib.elem {
assertion = true;
@@ -203,9 +186,6 @@ let
mkdir -p "$dir"
echo "$$" > "$dir/pid"
printf '%s\n' "$@" > "$dir/args"
# Record the process's own environment as received from the service
# manager (NUL-delimited, as the kernel stores it).
"${coreutils}/bin/cat" "/proc/$$/environ" > "$dir/environ"
exec "${coreutils}/bin/sleep" infinity
'';
@@ -258,31 +238,6 @@ let
|| { echo "${id}: expected arg ${lib.escapeShellArg arg} not found"; cat "${sharedDir}/${id}/args"; exit 1; }
'') expectedArgs;
/**
Shell snippet: assert that the service's recorded environment contains
each `present` entry (an exact `KEY=value` string) and contains no
variable named in `absent`.
*/
checkEnv =
id:
{
present ? [ ],
absent ? [ ],
}:
''
# The recorded environ is NUL-delimited; render one entry per line.
tr '\0' '\n' < "${sharedDir}/${id}/environ" > "${sharedDir}/${id}/environ.lines"
''
+ lib.concatMapStrings (entry: ''
grep -qxF -- ${lib.escapeShellArg entry} "${sharedDir}/${id}/environ.lines" \
|| { echo "${id}: expected env ${lib.escapeShellArg entry} not found"; cat "${sharedDir}/${id}/environ.lines"; exit 1; }
'') present
+ lib.concatMapStrings (key: ''
if grep -qE ${lib.escapeShellArg "^${key}="} "${sharedDir}/${id}/environ.lines"; then
echo "${id}: env variable ${lib.escapeShellArg key} should be unset"; exit 1
fi
'') absent;
mkTestScript =
name: text:
lib.getExe (writeShellApplication {
@@ -375,24 +330,6 @@ in
);
};
environment = mkTest {
name = "${namePrefix}-environment";
services.test = {
process.argv = mkArgv "env" [ ];
process.environment = {
FOO = "bar";
DROPPED = null;
};
};
testExe = mkTestScript "environment" (
waitAndCheck "env" [ ]
+ checkEnv "env" {
present = [ "FOO=bar" ];
absent = [ "DROPPED" ];
}
);
};
sub-services = mkTest {
name = "${namePrefix}-sub-services";
services.a = {

View File

@@ -0,0 +1,81 @@
From 081d9c3284075c65b70837079bd67621c3b64da7 Mon Sep 17 00:00:00 2001
From: Moraxyc <i@qaq.li>
Date: Sun, 28 Dec 2025 00:39:49 +0800
Subject: [PATCH] fix build with c23
---
libAfterBase/fs.c | 2 +-
src/ASDocGen/ASDocGen.c | 2 +-
src/Ident/Ident.c | 2 +-
src/afterstep/dirtree.c | 2 +-
src/afterstep/menus.h | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/libAfterBase/fs.c b/libAfterBase/fs.c
index 731bfd3..954bfd6 100644
--- a/libAfterBase/fs.c
+++ b/libAfterBase/fs.c
@@ -818,7 +818,7 @@ my_scandir (char *dirname, struct direntry *(*namelist[]),
}
/* Optionally sort the list */
if (dcomp)
- qsort (*namelist, n, sizeof (struct direntry *), (int (*)())dcomp);
+ qsort (*namelist, n, sizeof (struct direntry *), (int (*)(const void *, const void *))dcomp);
/* Return the count of the entries */
return n;
diff --git a/src/ASDocGen/ASDocGen.c b/src/ASDocGen/ASDocGen.c
index 31d7a70..9a86219 100644
--- a/src/ASDocGen/ASDocGen.c
+++ b/src/ASDocGen/ASDocGen.c
@@ -667,7 +667,7 @@ write_options_keywords(const char *source_dir, const char *syntax_dir, SyntaxDef
sorted_list = safecalloc( max_i, sizeof(TermDef*));
for (i = 0; i < max_i; i++)
sorted_list[i] = &(syntax->terms[i]) ;
- qsort(sorted_list, max_i, sizeof(TermDef*), (int (*)())sort_terms_by_alpha );
+ qsort(sorted_list, max_i, sizeof(TermDef*), (int (*)(const void *, const void *))sort_terms_by_alpha );
for (i = 0; i < max_i; i++)
{
SyntaxDef *sub_syntax = sorted_list[i]->sub_syntax ;
diff --git a/src/Ident/Ident.c b/src/Ident/Ident.c
index 1497d06..d6ddad6 100644
--- a/src/Ident/Ident.c
+++ b/src/Ident/Ident.c
@@ -89,7 +89,7 @@ void HandleEvents();
void DispatchEvent (ASEvent * event);
void process_message (send_data_type type, send_data_type *body);
-Window make_ident_window();
+Window make_ident_window(int width, int height);
void fill_window_data();
void display_window_data();
void add_property( const char *name, const char *value, unsigned long value_encoding, Bool span_cols );
diff --git a/src/afterstep/dirtree.c b/src/afterstep/dirtree.c
index 46ce782..48f7e30 100644
--- a/src/afterstep/dirtree.c
+++ b/src/afterstep/dirtree.c
@@ -675,7 +675,7 @@ void dirtree_sort (dirtree_t * tree)
list = (dirtree_t **) safemalloc (n * sizeof (dirtree_t *));
for (n = 0, t = tree->child; t != NULL; t = t->next, n++)
list[n] = t;
- qsort (list, n, sizeof (dirtree_t *), (int (*)())dirtree_compar);
+ qsort (list, n, sizeof (dirtree_t *), (int (*)(const void *, const void *))dirtree_compar);
tree->child = list[0];
for (i = 1; i < n; i++)
list[i - 1]->next = list[i];
diff --git a/src/afterstep/menus.h b/src/afterstep/menus.h
index 98b2ad3..bb2a5b1 100644
--- a/src/afterstep/menus.h
+++ b/src/afterstep/menus.h
@@ -95,7 +95,7 @@ MenuData* FindPopup( const char* name, int quiet );
void DeleteMenuItem( MenuDataItem* item );
-MenuData *CreateMenuData();
+MenuData *CreateMenuData(char *name);
MenuData *NewMenuData (char *name);
void DeleteMenuData (MenuData * menu);
--
2.51.2

View File

@@ -0,0 +1,101 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
dbus,
fltk_1_3,
gtk2,
libice,
libsm,
libtiff,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "afterstep";
version = "2.2.12";
src = fetchFromGitHub {
owner = "afterstep";
repo = "afterstep";
rev = finalAttrs.version;
hash = "sha256-j1ADTRZ3Mxv9VNZWhWCFMnM/CJfkphdrgbw9Ca3bBw0=";
};
patches = [
(fetchpatch {
url = "https://salsa.debian.org/debian/afterstep/raw/master/debian/patches/44-Fix-build-with-gcc-5.patch";
hash = "sha256-RNLB6PuFVA1PsYt2VwLyLyvY2OO3oIl1xk+0/6nwN+4=";
})
# Fix pending upstream inclusion for binutils-2.36 support:
# https://github.com/afterstep/afterstep/pull/7
(fetchpatch {
name = "binutils-2.36.patch";
url = "https://github.com/afterstep/afterstep/commit/5e9e897cf8c455390dd6f5b27fec49707f6b9088.patch";
hash = "sha256-aGMTyojzXEHGjO9lMT6dwLl01Fd333BUuCIX0FU9ac4=";
})
# fix build with c23
# fs.c:821:66: error: passing argument 4 of 'qsort' from incompatible pointer type [-Wincompatible-pointer-types]
# Ident.c:326:1: error: conflicting types for 'make_ident_window'; have 'Window(int, int)' {aka 'long unsigned int(int, int)'}
# menuitem.c:85:11: error: conflicting types for 'CreateMenuData'; have 'MenuData *(char *)'
./fix-build-with-c23.patch
];
postPatch = ''
# Causes fatal ldconfig cache generation attempt on non-NixOS Linux
for mkfile in autoconf/Makefile.common.lib.in libAfter{Base,Image}/Makefile.in; do
substituteInPlace $mkfile \
--replace-fail 'test -w /etc' 'false'
done
'';
nativeBuildInputs = [
pkg-config
];
buildInputs = [
dbus
fltk_1_3
gtk2
libice
libsm
libtiff
];
outputs = [
"out"
"man"
];
strictDeps = true;
preConfigure = ''
# A strange type of bug: dbus is not immediately found by pkg-config
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config dbus-1 --cflags)"
'';
# Parallel build fails due to missing dependencies between private libraries:
# ld: cannot find ../libAfterConf/libAfterConf.a: No such file or directory
# Let's disable parallel builds until it's fixed upstream:
# https://github.com/afterstep/afterstep/issues/8
enableParallelBuilding = false;
meta = {
homepage = "http://www.afterstep.org/";
description = "NEXTStep-inspired window manager";
longDescription = ''
AfterStep is a window manager for the Unix X Window System. Originally
based on the look and feel of the NeXTStep interface, it provides end
users with a consistent, clean, and elegant desktop. The goal of AfterStep
development is to provide for flexibility of desktop configuration,
improving aestetics, and efficient use of system resources.
'';
license = lib.licenses.gpl2Plus;
maintainers = [ ];
mainProgram = "afterstep";
platforms = lib.platforms.linux;
};
})

View File

@@ -9,14 +9,12 @@
stdenv.mkDerivation {
pname = "airspyhf";
version = "1.8.1";
version = "1.6.8-unstable-2025-07-12";
src = fetchFromGitHub {
owner = "airspy";
repo = "airspyhf";
# Not clear why upstream won't tag releases. See:
# https://github.com/airspy/airspyhf/commit/c0bb66dd8976651c53884ccec3d70a108f1e50e1#r193607536
rev = "c0bb66dd8976651c53884ccec3d70a108f1e50e1";
rev = "87cf12a30f3a0f10f313aab8e54999ca69b753af";
hash = "sha256-7bXBv4YTOaWRFI6Svb9/lSBEAssUgJMqxKM5zHk1swM=";
};

View File

@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "all-the-package-names";
version = "2.0.2511";
version = "2.0.2503";
src = fetchFromGitHub {
owner = "nice-registry";
repo = "all-the-package-names";
tag = "v${version}";
hash = "sha256-KnEvFnPXQZ+XhNyweWIE0mjM4vqcqXcJKuus/dFq5f0=";
hash = "sha256-UtwbQXhX8dmmA6dVuVFcMQkM98kOt/U//OAVMGBImDU=";
};
npmDepsHash = "sha256-Xw/SXRpQkPd+EcemeHO89tC9amDiVV/RD/1H0H8rax0=";
npmDepsHash = "sha256-V7MWSEJT2RtYE1iYJHj2ltrfzke+GO1PfT/wo+MqlZk=";
passthru.updateScript = nix-update-script { };

View File

@@ -15,21 +15,21 @@
buildGoModule (finalAttrs: {
pname = "anubis";
version = "1.26.0";
version = "1.25.0";
src = fetchFromGitHub {
owner = "TecharoHQ";
repo = "anubis";
tag = "v${finalAttrs.version}";
hash = "sha256-0ceF4Te0H5edBhvGJgGc/NLJxEAcDVGnnKlqHKnpW60=";
hash = "sha256-9/XIwSMEmnS3L/Wzg6ABso7R6W3TYkJomC8aFMycxZo=";
};
vendorHash = "sha256-+NPwL4p0p/s74m1Ld0z2GEcsWk5FqhcLbHrTNP3yEzk=";
vendorHash = "sha256-9CMD8Rn4q8b+hyrph+BqqS32ijZyJRNsop6ML7z5Zuk=";
npmDeps = fetchNpmDeps {
name = "anubis-npm-deps";
inherit (finalAttrs) src;
hash = "sha256-6sj9C8GHm+RzFl/X5HIPhIDl5l8muBzDSXSRCHumGBs=";
hash = "sha256-2U91Dt+ymspjYgTtgCjahCNr6fIs85TT/k+I8M2aC9s=";
};
nativeBuildInputs = [
@@ -75,8 +75,6 @@ buildGoModule (finalAttrs: {
export DONT_USE_NETWORK=1
'';
__darwinAllowLocalNetworking = true;
passthru = {
tests = { inherit (nixosTests) anubis; };
updateScript = nix-update-script { extraArgs = [ "--version-regex=^v(\\d+\\.\\d+\\.\\d+)$" ]; };

View File

@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "assh";
version = "2.17.3";
version = "2.17.2";
src = fetchFromGitHub {
repo = "assh";
owner = "moul";
tag = "v${finalAttrs.version}";
hash = "sha256-CH6QM/dy5fKo7Tq2ekrc06iqjJDZl8JHMG7jalho7BI=";
hash = "sha256-/w4RluA7py6d75S04czNsgHpmR5rmAUZx8OnZfu9oNg=";
};
vendorHash = "sha256-ENCJNgMLTZDlKL0DIt48F1G8TYo2blPdsFH6v8dNC8w=";
vendorHash = "sha256-EA39KqAN9SHPU362j6/j6okvT+eZb2R4unMA0bB+bVg=";
ldflags = [
"-s"

View File

@@ -11,13 +11,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "autoprefixer";
version = "10.5.4";
version = "10.5.3";
src = fetchFromGitHub {
owner = "postcss";
repo = "autoprefixer";
tag = finalAttrs.version;
hash = "sha256-616VFB6qJiNfsDsaxR4Y+xoqKDrBOtKgWfGMeiaDeGQ=";
hash = "sha256-hjckcgWojItp2gseQI18zzxizjw/HxQPiTb/JegSCcs=";
};
nativeBuildInputs = [
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-+EPzrG2vt2FRIwcJqwwiYPevQFCNAbX7kgFlY+vLbqE=";
hash = "sha256-diOgX9lXKOwCx9V737mmmtrhqDg5beXJH/PjlJHFpto=";
};
installPhase = ''

View File

@@ -7,16 +7,16 @@
}:
buildGoModule (finalAttrs: {
pname = "aztfexport";
version = "0.20.0";
version = "0.19.0";
src = fetchFromGitHub {
owner = "Azure";
repo = "aztfexport";
tag = "v${finalAttrs.version}";
hash = "sha256-wHI/osu2Jq85zCgh1HfOTuO81mYtQJcSbvlDnXd7Duc=";
hash = "sha256-97lahgEsth2YUeqTe8J58brykpFV0lG6KwB7FJgODAE=";
};
vendorHash = "sha256-QDpoOlu1qGNK0ennplusXBgeQWZP3EH7aSStllP8uzw=";
vendorHash = "sha256-4u40PdRT3E+BZ8bIrnIgRnJkpws6EPK5DRyXu9oY7hc=";
ldflags = [
"-s"

View File

@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "azurehound";
version = "3.0.0";
version = "2.12.2";
src = fetchFromGitHub {
owner = "SpecterOps";
repo = "AzureHound";
tag = "v${finalAttrs.version}";
hash = "sha256-4uc4XSjvuMUSeCsJl9uHBFIaeG1KZ1xDaACXnXkp7v0=";
hash = "sha256-w8PmSt+QvU0HELkgdYLfIUgK3R5vCYzlPbMyrHztiPw=";
};
vendorHash = "sha256-WF46wXaNU/Em0KpF6hkuuJ+7K1IKLGqpNS/HxpxX5WY=";

View File

@@ -1,8 +1,8 @@
diff --git a/apps/desktop/src/key-management/biometrics/native-v2/os-biometrics-linux.service.ts b/apps/desktop/src/key-management/biometrics/native-v2/os-biometrics-linux.service.ts
index 110db23ec79..dfaf600bcdf 100644
--- a/apps/desktop/src/key-management/biometrics/native-v2/os-biometrics-linux.service.ts
+++ b/apps/desktop/src/key-management/biometrics/native-v2/os-biometrics-linux.service.ts
@@ -83,7 +83,7 @@ export default class OsBiometricsServiceLinux implements OsBiometricService {
diff --git a/apps/desktop/src/key-management/biometrics/os-biometrics-linux.service.ts b/apps/desktop/src/key-management/biometrics/os-biometrics-linux.service.ts
index 791b4d6f88..dfee0bbf8d 100644
--- a/apps/desktop/src/key-management/biometrics/os-biometrics-linux.service.ts
+++ b/apps/desktop/src/key-management/biometrics/os-biometrics-linux.service.ts
@@ -115,7 +115,7 @@ export default class OsBiometricsServiceLinux implements OsBiometricService {
// The user needs to manually set up the polkit policy outside of the sandbox
// since we allow access to polkit via dbus for the sandboxed clients, the authentication works from
// the sandbox, once the policy is set up outside of the sandbox.
@@ -10,4 +10,4 @@ index 110db23ec79..dfaf600bcdf 100644
+ return false;
}
async runSetup(): Promise<void> {
async osBiometricsSetup(): Promise<void> {

View File

@@ -5,14 +5,14 @@
copyDesktopItems,
dart-sass,
darwin,
electron_41,
electron_39,
fetchFromGitHub,
gnome-keyring,
jq,
makeDesktopItem,
makeWrapper,
nix-update-script,
nodejs_24,
nodejs_22,
pkg-config,
rustc,
rustPlatform,
@@ -22,17 +22,17 @@
let
icon = "bitwarden";
electron = electron_41;
electron = electron_39;
in
buildNpmPackage (finalAttrs: {
pname = "bitwarden-desktop";
version = "2026.7.0";
version = "2026.6.1";
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
tag = "desktop-v${finalAttrs.version}";
hash = "sha256-E4glf4G70BuT0GYu1kEb5Z9B76ElIlDPe1rdGSdmCzo=";
hash = "sha256-ee+C58Y5pZWEmqbRO/w7rdY+e6gy4EL7Sn0S1AxGMXI=";
};
patches = [
@@ -64,7 +64,7 @@ buildNpmPackage (finalAttrs: {
rm -r apps/cli
'';
nodejs = nodejs_24;
nodejs = nodejs_22;
makeCacheWritable = true;
npmFlags = [
@@ -74,7 +74,7 @@ buildNpmPackage (finalAttrs: {
npmWorkspace = "apps/desktop";
npmDepsFetcherVersion = 3;
npmDepsHash = "sha256-8wjt5wnJG4S4EeGWGxbo6Bwt76GIqrSiwqwwwQ17Y5Y=";
npmDepsHash = "sha256-C5GLei/WWetd4qLv7obBJWbQR9LBy+Sqdbjko3/W7VY=";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs)
@@ -84,7 +84,7 @@ buildNpmPackage (finalAttrs: {
cargoRoot
patches
;
hash = "sha256-PLfR+yS+MtscRRuyLaK/qIWJVDoefhOobev1fpNeHNo=";
hash = "sha256-xyK3+z2yfCG9K5XAB6LNEeyqMRknONi6ZfY/3oko7Z8=";
};
cargoRoot = "apps/desktop/desktop_native";
@@ -197,7 +197,7 @@ buildNpmPackage (finalAttrs: {
# Extract the polkit policy file from the multiline string in the source code.
# This may break in the future but its better than copy-pasting it manually.
mkdir -p $out/share/polkit-1/actions/
pushd apps/desktop/src/key-management/biometrics/native-v2
pushd apps/desktop/src/key-management/biometrics
awk '/const polkitPolicy = `/{gsub(/^.*`/, ""); print; str=1; next} str{if (/`;/) str=0; gsub(/`;/, ""); print}' os-biometrics-linux.service.ts > $out/share/polkit-1/actions/com.bitwarden.Bitwarden.policy
popd

View File

@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "bobgen";
version = "0.49.0";
version = "0.48.0";
src = fetchFromGitHub {
owner = "stephenafamo";
repo = "bob";
tag = "v${finalAttrs.version}";
hash = "sha256-5uwYw5CraOBUG55MIWa9I6GGIdJz/K+OXHIjOrjFuTQ=";
hash = "sha256-iD9GPYBt1s6xx4vNRlArERmv5AyBR6Q4mLLDNDWy1qY=";
};
vendorHash = "sha256-fQmhAuxl23jRGJ4ysKh9QiiA8dtZlM37dE9aBXrYwao=";
vendorHash = "sha256-tL6f8XkAsBL76idEVxlAAcdYyzo9Rh9fEHy6ysfZWG8=";
subPackages = [
"gen/bobgen-sql"

View File

@@ -21,11 +21,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "btrfs-progs";
version = "7.1";
version = "7.0";
src = fetchurl {
url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${finalAttrs.version}.tar.xz";
hash = "sha256-0fVcwpcTmMkULqp50gPmPVhqO0uGf5VmZKHWgyLNTjQ=";
hash = "sha256-wobWh2y81yMnoLQX5M/SgDU+wj43tUn9vNeACoMtmpk=";
};
nativeBuildInputs = [

View File

@@ -15,20 +15,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "bumpp";
version = "12.0.0";
version = "11.1.0";
src = fetchFromGitHub {
owner = "antfu-collective";
repo = "bumpp";
tag = "v${finalAttrs.version}";
hash = "sha256-9o3eUZ4cCusvV+IwQbLqbEI4NhTKkcwgqv4Mqe/VxZ4=";
hash = "sha256-LzFusuzFpbqh/gNV0c0vhoKE17CzTPJUppdpdKaGOFs=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-Em3HvH5nCiyxgaPQvenqAnOraYnvQNxLVdHQd1lz3+o=";
hash = "sha256-KYTz/SO4rV+c57G8dv4ExCZrunA0xvgCNk8Td4HbCig=";
};
nativeBuildInputs = [

View File

@@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
__structuredAttrs = true;
pname = "cargo-feature-combinations";
version = "0.4.1";
version = "0.3.0";
src = fetchFromGitHub {
owner = "romnn";
repo = "cargo-feature-combinations";
tag = "v${finalAttrs.version}";
hash = "sha256-0aPe0YmEpLHt3aZHDuNlov/TiRbLLpR7TLt0ULkjsVU=";
hash = "sha256-PneHMWX7IRoX4oSm8iePeI+pEPs8n3F2PW06ZWKDFcc=";
};
cargoHash = "sha256-r09otRStFli5Bx0pfDOMu1LGDonDyCVGPEdY/KnjkmY=";
cargoHash = "sha256-DCfO2N6ml1a1P2hFs3gxRE9k+WYv8eqMzwL+cionwYE=";
passthru.updateScript = nix-update-script { };

View File

@@ -16,14 +16,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-update";
version = "22.1.0";
version = "22.0.0";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-0iXO+cmW1vfKc9sPTnw132fZlqTMfInVCIgT8NLrhwM=";
hash = "sha256-7SjJ+v+6PzwV8dTXxSVxKrj4/yUlyGVJtt0A+WaWNc8=";
};
cargoHash = "sha256-6yE4zdGosZhXhT3Q3mh/1h33OXqXrAWhZ0b18qaI1vs=";
cargoHash = "sha256-xRjPnZPewo/5pCDUem8+9Ko0XJ1p5HJtLLmErtZQb8w=";
nativeBuildInputs = [
cmake

View File

@@ -13,6 +13,7 @@
libxml2,
libxklavier,
libxtst,
gtk2,
intltool,
libxslt,
at-spi2-core,
@@ -81,6 +82,7 @@ stdenv.mkDerivation (finalAttrs: {
pythonEnv
python3.pkgs.pygobject3
libxtst
gtk2
];
propagatedBuildInputs = [
@@ -88,8 +90,6 @@ stdenv.mkDerivation (finalAttrs: {
libxklavier
];
configureFlags = [ "--enable-gtk2-module=no" ];
postPatch = ''
patchShebangs .
substituteInPlace libcaribou/Makefile.am --replace "--shared-library=libcaribou.so.0" "--shared-library=$out/lib/libcaribou.so.0"

View File

@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "cdncheck";
version = "1.2.45";
version = "1.2.44";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "cdncheck";
tag = "v${finalAttrs.version}";
hash = "sha256-TR7ogxaJ9Vee6bpqWKu75Yf8KWo8bPTBKwIecGkN68I=";
hash = "sha256-8Lte+arj2nqEU8WmaX4bf/WOJV6bdMLskm0BqSyBOuE=";
};
vendorHash = "sha256-iJ1agL7sZ3ZKbW1wMA+qi8FgHdPa6gZLQ5BBPKJTNaQ=";

View File

@@ -19,14 +19,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "cine";
version = "1.7.4";
version = "1.7.0";
pyproject = false;
src = fetchFromGitHub {
owner = "diegopvlk";
repo = "Cine";
tag = "v${finalAttrs.version}";
hash = "sha256-D25/wz9nsxi9Y1D8hnb3S1kNfdUfPM4ojyLovDkUEI4=";
hash = "sha256-WBzdBZ7WL6HAd26tJtTaw39jAtdNYNiNmYHhVr+JBtM=";
fetchSubmodules = true;
};

View File

@@ -75,13 +75,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "cinnamon";
version = "6.6.9";
version = "6.6.8";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "cinnamon";
tag = finalAttrs.version;
hash = "sha256-RQsgfPvdt1xe7HhZamynAvATVlBeLLElatjpN1Tgt2M=";
hash = "sha256-ByPn2VV40y+3/FW/KPIsLt43FhVxQAQldCK26KNKdjw=";
};
patches = [
@@ -93,6 +93,12 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/linuxmint/cinnamon/commit/3a2d558aa575f0ea364c5b4e30d2eb3ee604ee58.patch";
hash = "sha256-+uAGuQJ0VsIvMvPFafyoXmU4MiHfbbRXLzeW/n62ucw=";
})
# cinnamon-calendar-server.py: Allow ICal 4.0
(fetchpatch {
url = "https://github.com/linuxmint/cinnamon/commit/dcf2d986c1ec167b0a8005ef2ca427317438c8d7.patch";
hash = "sha256-4sCZShUOXPaJoumiuEG558e0l8CIehH0P+C9OouG3vI=";
})
];
buildInputs = [

View File

@@ -11,15 +11,15 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "clouddrive2";
version = "1.0.12";
version = "1.0.11";
src = fetchurl {
url = "https://github.com/cloud-fs/cloud-fs.github.io/releases/download/v${finalAttrs.version}/clouddrive-2-${os}-${arch}-${finalAttrs.version}.tgz";
hash =
{
x86_64-linux = "sha256-Z1xAFMXlajdAAZGY7R7UJrOSLPzyMLXC6wbJnrOXtsc=";
aarch64-linux = "sha256-rgRBFCbH3QS/6Db2urDItj825QDFakknAvoIOWv9r0o=";
aarch64-darwin = "sha256-9E9xp4f6mFe+otFaAbetjk5agAH9IXLPkuRa669+AgY=";
x86_64-linux = "sha256-X5WAnHyXdAkWrN/AbkDE0eNH4mwdPcZ0Cs5Q21KB6/w=";
aarch64-linux = "sha256-somHyDBG94pGQB+IZd404H1tX0X2qC8LeIcXeihU6yA=";
aarch64-darwin = "sha256-GaL2bCwQdtI3bq2wkwza1OEHFvhppdZpUIq3QRQ0vN8=";
}
.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
};

View File

@@ -10,11 +10,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "copilot-language-server";
version = "1.526.0";
version = "1.521.0";
src = fetchzip {
url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-js-${finalAttrs.version}.zip";
hash = "sha256-T1DYN/mVqISYtNGD1KBitXPgEIcrKQMqxquC7CywDo4=";
hash = "sha256-uHt22/756jxh34HhIbMEu3nGebbTF1325ylWuKzZzEI=";
stripRoot = false;
};

View File

@@ -11,16 +11,16 @@
buildGo126Module (finalAttrs: {
pname = "crush";
version = "0.86.0";
version = "0.81.0";
src = fetchFromGitHub {
owner = "charmbracelet";
repo = "crush";
tag = "v${finalAttrs.version}";
hash = "sha256-dUeXU65A9/d365a9Z+eUoHOR0RnJV9SAYsks+Vtz9js=";
hash = "sha256-FOvkCQxDW1dipzIzgQz2uvHIv6bm/TVV1WwhrvmBDWg=";
};
vendorHash = "sha256-9WkkosPMwXsj32a5Zj4ZxphuB7aVteKq/YTzxP9Xmf0=";
vendorHash = "sha256-4gHvyEqiFhEvZ90lJbXeI/1fMMo6L19P/PD5Eu5YUmI=";
ldflags = [
"-s"

View File

@@ -8,17 +8,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "datafusion-cli";
version = "54.1.0";
version = "54.0.0";
src = fetchFromGitHub {
name = "datafusion-cli-source";
owner = "apache";
repo = "datafusion";
tag = finalAttrs.version;
hash = "sha256-zeR6eyU4Cc5gHiE331ap8wuyYEj7s7BgqB+oOKwMfZw=";
hash = "sha256-BWpHiLCn7idvzI2rlsre8l23TbxQU1Ma6bCjAMxQ6m8=";
};
cargoHash = "sha256-XXR1Turs+QwONZHq38MZHbcjv5DYZH9iqeuBl20gy3U=";
cargoHash = "sha256-Sj/biBiJPIYwxpL+Fua0k47vOu6gyyAhcKb4ZSUli6k=";
buildAndTestSubdir = "datafusion-cli";

View File

@@ -15,16 +15,16 @@
buildGoModule (finalAttrs: {
pname = "dcp";
version = "0.25.9";
version = "0.25.5";
src = fetchFromGitHub {
owner = "microsoft";
repo = "dcp";
tag = "v${finalAttrs.version}";
hash = "sha256-MjBnJRdlGF2efEH0TcJjM3JVEByRzeqAZ13sR9EL0Ik=";
hash = "sha256-umcrTAPWAInbjdZYhY0xEbI7heGwr+8FGMI7BIWSdD0=";
};
vendorHash = "sha256-eJAMl1vGX2JANdYe8SWWLsNImd3raEEYvSfvwwfV4Xk=";
vendorHash = "sha256-hcuVUUr3kr3iBmSEhHy365LIWGGLFTYnBRa5jnt7kPw=";
# This is required so we:
# - Delete an inconsistent vendor directory from upstream

View File

@@ -2,51 +2,36 @@
lib,
stdenv,
fetchFromGitHub,
# nativeBuildInputs
autoreconfHook,
intltool,
pkg-config,
rustPlatform,
cargo,
rustc,
# buildInputs
libxml2,
pciutils,
gtk3,
pkg-config,
gtk2,
ddccontrol-db,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ddccontrol";
version = "3.2.0";
version = "1.0.3";
src = fetchFromGitHub {
owner = "ddccontrol";
repo = "ddccontrol";
tag = finalAttrs.version;
sha256 = "sha256-8VqnmWLXt6rXapAqvzvtDQ9XjQ7H6s7pLqPhQ6Zflc4=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-UN308Tt9LCRLBSswem06UupjdIFntt6SqpTxteY5O78=";
sha256 = "sha256-qyD6i44yH3EufIW+LA/LBMW20Tejb49zvsDfv6YFD6c=";
};
nativeBuildInputs = [
autoreconfHook
intltool
pkg-config
rustPlatform.cargoSetupHook
cargo
rustc
];
buildInputs = [
libxml2
pciutils
gtk3
gtk2
ddccontrol-db
];
@@ -55,14 +40,13 @@ stdenv.mkDerivation (finalAttrs: {
];
prePatch = ''
substituteInPlace configure.ac \
--replace-fail \
"\$""{datadir}/ddccontrol-db" \
substituteInPlace configure.ac \
--replace \
"\$""{datadir}/ddccontrol-db" \
"${ddccontrol-db}/share/ddccontrol-db"
substituteInPlace src/lib/Makefile.am \
--replace-fail \
'DDCONTROL_DATADIR="$(datadir)/ddccontrol-db"' \
'DDCONTROL_DATADIR="${ddccontrol-db}/share/ddccontrol-db"'
substituteInPlace src/ddcpci/Makefile.am \
--replace "chmod 4711" "chmod 0711"
'';
preConfigure = ''
@@ -72,7 +56,6 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Program used to control monitor parameters by software";
homepage = "https://github.com/ddccontrol/ddccontrol";
mainProgram = "ddccontrol";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [

View File

@@ -1,14 +1,14 @@
{
"aarch64-darwin": {
"version": "3.5.17",
"version": "3.4.27",
"vscodeVersion": "1.110.1",
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/2c489dfc762456657db8662309c0d5e76e886397/Devin-darwin-arm64-3.5.17.zip",
"sha256": "bca8cc6154f99f5153cd5b508899d8db64be795a96856a14f1d052b7d8091edd"
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/0d4bf12ed4a7597cb8ae9016fe8474468aad98a2/Devin-darwin-arm64-3.4.27.zip",
"sha256": "c42b0671c246ef295807e822809cb82dfe65831d4879d68f25334f754babec8d"
},
"x86_64-linux": {
"version": "3.5.17",
"version": "3.4.27",
"vscodeVersion": "1.110.1",
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/2c489dfc762456657db8662309c0d5e76e886397/Devin-linux-x64-3.5.17.tar.gz",
"sha256": "e7ce36c4baacc617a4d89b0e2fb4403f83b328fefd897aec1be5e31038be4e91"
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/0d4bf12ed4a7597cb8ae9016fe8474468aad98a2/Devin-linux-x64-3.4.27.tar.gz",
"sha256": "80850124b31331f63c24a201d1317bdacdfb438fb2bcc9b31c9b7a6391391619"
}
}

View File

@@ -0,0 +1,34 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation {
pname = "devmem2";
version = "unstable-2004-08-05";
src = fetchurl {
urls = [
"http://lartmaker.nl/lartware/port/devmem2.c"
"https://raw.githubusercontent.com/hackndev/tools/7ed212230f8fbb1da3424a15ee88de3279bf96ec/devmem2.c"
];
sha256 = "14f1k7v6i1yaxg4xcaaf5i4aqn0yabba857zjnbg9wiymy82qf7c";
};
hardeningDisable = [ "format" ]; # fix compile error
buildCommand = ''
$CC "$src" -o devmem2
install -D devmem2 "$out/bin/devmem2"
'';
meta = {
description = "Simple program to read/write from/to any location in memory";
mainProgram = "devmem2";
homepage = "http://lartmaker.nl/lartware/port/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bjornfor ];
};
}

View File

@@ -1,33 +0,0 @@
From 2373861a858fb6ee7d50870ae66a59f05c6cd4bd Mon Sep 17 00:00:00 2001
From: Nadzeya Hutsko <nadzeya@ubuntu.com>
Date: Wed, 22 Jul 2026 20:46:52 +0200
Subject: [PATCH] Fix build with Poppler >= 26.06
poppler 26.06 changed the Page box accessors to return a const reference
instead of a pointer. Take the address of the result, guarded by a
version check so older poppler still builds
---
plug-ins/pdf/pdf-import.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/plug-ins/pdf/pdf-import.cpp b/plug-ins/pdf/pdf-import.cpp
index 3af268646..35fc6d9e3 100644
--- a/plug-ins/pdf/pdf-import.cpp
+++ b/plug-ins/pdf/pdf-import.cpp
@@ -93,8 +93,13 @@ public :
(Annot *annot, void *user_data) G_GNUC_UNUSED,
void *annotDisplayDecideCbkData G_GNUC_UNUSED)
{
+#if POPPLER_VERSION_MAJOR > 26 || (POPPLER_VERSION_MAJOR == 26 && POPPLER_VERSION_MINOR >= 6)
+ const PDFRectangle *mediaBox = &page->getMediaBox();
+ const PDFRectangle *clipBox = &page->getCropBox ();
+#else
const PDFRectangle *mediaBox = page->getMediaBox();
const PDFRectangle *clipBox = page->getCropBox ();
+#endif
if (page->isOk()) {
real w1 = (clipBox->x2 - clipBox->x1);
--
GitLab

View File

@@ -50,21 +50,16 @@ let
in
stdenv.mkDerivation {
pname = "dia";
version = "0.97.2-unstable-2026-07-24";
version = "unstable-2025-10-26";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "dia";
rev = "ad68cc378b7a187706bc2648c48b44d16fb80819";
hash = "sha256-ejjSc9GGXD5GsbeRps1T20xifJuzWA1yq/G7jk797Cw=";
rev = "efdf829e8afdbbeb371820932769e35415ebe886";
hash = "sha256-VFFU5iJnVJdZ2tkNszZ2ooBD+GiCL6MqanzpEWIJerk=";
};
patches = [
# https://gitlab.gnome.org/GNOME/dia/-/merge_requests/146
./fix-build-with-poppler-26-06.patch
];
postPatch = ''
# Fix build with poppler 25.10.0
substituteInPlace plug-ins/pdf/pdf-import.cpp \

View File

@@ -10,21 +10,20 @@
buildGoModule (finalAttrs: {
pname = "diffnav";
version = "0.12.0";
version = "0.11.0";
src = fetchFromGitHub {
owner = "dlvhdr";
repo = "diffnav";
tag = "v${finalAttrs.version}";
hash = "sha256-DrEbo9YYg4FCXQXuIkbPxO5Z3ZOPZJYeGoLoP/vT0Y0=";
hash = "sha256-6VtAQzZNLQrf8QYVXxLUgb3F6xguFDbwaE9kahPhbSE=";
};
vendorHash = "sha256-2OzHyBPsylQVXhPlqk2owEhiibFi3H1UENvGGDdzGss=";
vendorHash = "sha256-gmmckzR0D1oFuTG5TAb6gLMoNbcZl9EsjbFjhPfJqnQ=";
ldflags = [
"-s"
"-w"
"-X github.com/dlvhdr/diffnav/pkg/version.Version=${finalAttrs.version}"
];
nativeBuildInputs = [

View File

@@ -61,13 +61,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "easyeffects";
version = "8.2.8";
version = "8.2.7";
src = fetchFromGitHub {
owner = "wwmm";
repo = "easyeffects";
tag = "v${finalAttrs.version}";
hash = "sha256-gkUJxEmFfUAKUnr+Gs65y9l0bdNXXd0f8ql0keM2bVs=";
hash = "sha256-YYwVoqCRVAZVu8vCTN3ZSicy1Fzw3l+hQbooGAE/AEI=";
};
nativeBuildInputs = [

View File

@@ -8,18 +8,18 @@
buildGoModule (finalAttrs: {
pname = "filebeat";
version = "8.19.19";
version = "8.19.17";
src = fetchFromGitHub {
owner = "elastic";
repo = "beats";
tag = "v${finalAttrs.version}";
hash = "sha256-3hvP+4U3PWlOsaLHO1MZuIpcB6YzPv2dMPlC68esiHE=";
hash = "sha256-Xpth1SoXMXCUh/DFf3wA+Ql6SedtUB7tCYzDElpX5Lc=";
};
proxyVendor = true; # darwin/linux hash mismatch
vendorHash = "sha256-e++Y5mhwms/uJnZCUyZNifoYqGH4TGEugSFHSGl0AQE=";
vendorHash = "sha256-Wxk+eI0XfBpQqqUNuskyr+/bTRqT38hszdkz/LJweQo=";
subPackages = [ "filebeat" ];

View File

@@ -9,6 +9,7 @@
fetchurl,
glib,
libxml2,
pcre,
zlib,
libjpeg,
giflib,
@@ -52,6 +53,7 @@ stdenv.mkDerivation {
++ [
glib
libxml2
pcre
zlib
libjpeg
giflib

View File

@@ -16,13 +16,13 @@
rustPlatform.buildRustPackage {
pname = "forecast";
version = "0-unstable-2026-07-17";
version = "0-unstable-2026-07-12";
src = fetchFromGitHub {
owner = "cosmic-utils";
repo = "forecast";
rev = "22a7de05c4bdaa4a4fa33f51091eb681d021f90e";
hash = "sha256-z0WYytAEZ1PaO5yyh+iDbJOSPZmnKV503HUZTpQPUXw=";
rev = "0de1b7502979eb3704445c98ce8dbb7969e109da";
hash = "sha256-9IZDDIhZY+YC0SOie5z0Ed5UAvBcf+soZ0RRz8sr71w=";
};
cargoHash = "sha256-F5AlYm9bzJJUrDiY712dbwpCR3lzvQNFKXHzIDG+TVQ=";

View File

@@ -38,13 +38,13 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gale";
version = "1.19.0";
version = "1.13.4";
src = fetchFromGitHub {
owner = "Kesomannen";
repo = "gale";
tag = finalAttrs.version;
hash = "sha256-VufV/Z1XODQKwbEpMrw0xNMdMl8D1t3bPIfdwRhQI9I=";
hash = "sha256-ZCHknOp6ll9q6OBW/5/mNcu0d0zZj1rkCjPiumjMVzk=";
};
pnpmDeps = fetchPnpmDeps {
@@ -56,7 +56,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-/IR+34cdnCt9WpYdMaT92YIC/2JjEe/mZdeQewdWTek=";
hash = "sha256-bCGiYVmoWjpwneTQUwetna7u29BMIv48qWgZ2gd93hQ=";
};
postPatch = ''
@@ -70,11 +70,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoRoot = "src-tauri";
buildAndTestSubdir = finalAttrs.cargoRoot;
cargoHash = "sha256-4WSWvMQIYPzfxjDyuQI37ymxJhMVGxmxYDVSoknIzmg=";
checkFlags = [
"--skip=config::bepinex::tests::check_from_string" # Fails a left == right check, even with left and right data being identical
];
cargoHash = "sha256-kAPTiGHWO/eBapPcH8xItOFeZYC0URzLYdl2GMQ50Ls=";
nativeBuildInputs = [
jq

View File

@@ -18,16 +18,16 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gitoxide";
version = "0.56.0";
version = "0.55.0";
src = fetchFromGitHub {
owner = "GitoxideLabs";
repo = "gitoxide";
tag = "v${finalAttrs.version}";
hash = "sha256-2zNXe+niwH8oDZEx6It7APggOtL7vrnRGKO4OoteTIw=";
hash = "sha256-UtdXlIvX82UUhc4RWZZTBV5kz4YqfOTd4D/pGhDUfSI=";
};
cargoHash = "sha256-u9O4y6W0TuwdedNaQ127Bz4d3Olw9RzV/+AzxAstJQE=";
cargoHash = "sha256-Kv0NKA3OdHBn2M8DmcGyjcN2acGJYOdbczOb/nRsvDs=";
nativeBuildInputs = [
cmake

View File

@@ -5,12 +5,12 @@
}:
let
version = "1.6.3";
version = "1.6.2";
pname = "gsender";
src = fetchurl {
url = "https://github.com/Sienci-Labs/gsender/releases/download/v${version}/gSender-${version}-Linux-Intel-64Bit.AppImage";
hash = "sha256-xWsRSzJm5aA13qCBI2MRzauvPqoOBtxqtGb3gLAa3sI=";
hash = "sha256-DZBTnvbxh2n4KVhbbe7JG0/q+wNQVEkHN8w4+5RuQGw=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };

View File

@@ -18,11 +18,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gtkwave";
version = "3.3.128";
version = "3.3.127";
src = fetchurl {
url = "mirror://sourceforge/gtkwave/gtkwave-gtk3-${finalAttrs.version}.tar.gz";
sha256 = "sha256-gX4Zf8GAj4qsNUPCwvloPLATaMkRkrjq5a9YBw7x0fg=";
sha256 = "sha256-8Z2i20Oye7zGaXJYQ0UZRaaMOkziMlYuNB1vY7gLVeQ=";
};
nativeBuildInputs = [

View File

@@ -4,14 +4,14 @@ Date: Wed, 4 Feb 2026 15:36:17 +0800
Subject: [PATCH 1/2] nix: use terracotta from nix
---
.../hmcl/terracotta/TerracottaBundle.java | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)
.../hmcl/terracotta/TerracottaBundle.java | 21 +++----------------
1 file changed, 3 insertions(+), 18 deletions(-)
diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaBundle.java b/HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaBundle.java
index ecc99f3..b46ada0 100644
index 727edde9b..5b6e8b02f 100644
--- a/HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaBundle.java
+++ b/HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaBundle.java
@@ -147,26 +147,11 @@ public final class TerracottaBundle {
@@ -139,26 +139,11 @@ public final class TerracottaBundle {
}
public Path locate(String file) {
@@ -33,13 +33,20 @@ index ecc99f3..b46ada0 100644
- return AbstractTerracottaProvider.Status.LEGACY_VERSION;
- }
- } catch (IOException e) {
- LOG.warning("Cannot determine whether legacy versions exist.", e);
- Logger.LOG.warning("Cannot determine whether legacy versions exist.", e);
- }
- return AbstractTerracottaProvider.Status.NOT_EXIST;
+ return AbstractTerracottaProvider.Status.READY;
}
private boolean isLocalBundleValid() throws IOException { // FIXME: Make control flow clearer.
@@ -188,4 +173,4 @@ public final class TerracottaBundle {
}
return true;
}
-}
+}
\ No newline at end of file
--
2.52.0

View File

@@ -50,13 +50,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "hmcl";
version = "3.16.2";
version = "3.15.3";
src = fetchurl {
# HMCL has built-in keys, such as the Microsoft OAuth secret and the CurseForge API key.
# See https://github.com/HMCL-dev/HMCL/blob/refs/tags/release-3.6.12/.github/workflows/gradle.yml#L26-L28
url = "https://github.com/HMCL-dev/HMCL/releases/download/v${finalAttrs.version}/HMCL-${finalAttrs.version}.jar";
hash = "sha256-kvQDDZwA2sy8UQLZG4FqGmSh0sDcEuSg5CM6uy0DzCc=";
hash = "sha256-/7RLhSHCnxtKxmusjnrfUEweYXzOoKcQO3G9+loBofk=";
};
# - HMCL prompts users to download prebuilt Terracotta binary for
@@ -71,12 +71,12 @@ stdenv.mkDerivation (finalAttrs: {
terracottaBundleJava = fetchurl {
name = "hmcl-terracotta-bundle-java-${finalAttrs.version}";
url = "https://raw.githubusercontent.com/HMCL-dev/HMCL/v${finalAttrs.version}/${finalAttrs.terracottaBundleJavaPath}";
hash = "sha256-dZHRim/7VNW0/nA6I8r3t5zGfzIMxG2lzdZ//dzv2Gs=";
hash = "sha256-1o/CUDeywtDlhAxqInk77aUwGCCYeZ84VMIyouN49uU=";
};
macOSProviderJava = fetchurl {
name = "hmcl-macos-provider-java-${finalAttrs.version}";
url = "https://raw.githubusercontent.com/HMCL-dev/HMCL/v${finalAttrs.version}/${finalAttrs.macOSProviderJavaPath}";
hash = "sha256-7vI2U8vx3GYwlshoHJF/J8n2RS6TZ/cvoAivqYtW23Q=";
hash = "sha256-+Zji2B8ksT7P+IObyrM9q7vHPJVl5ZtH+v/J8Mfr0Q4=";
};
terracottaBundleJavaPath = "HMCL/src/main/java/org/jackhuang/hmcl/terracotta/TerracottaBundle.java";
macOSProviderJavaPath = "HMCL/src/main/java/org/jackhuang/hmcl/terracotta/provider/MacOSProvider.java";

View File

@@ -32,7 +32,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "i2p";
version = "2.13.0";
version = "2.12.0";
src = fetchzip {
urls = [
@@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
"https://files.i2p-projekt.de/"
"https://download.i2p2.no/releases/"
]);
hash = "sha256-fCtjCKbvad8Uk+1ir1suJ0MqV8JjAcmOKXJicbUtKls=";
hash = "sha256-gpxmCNtatF6wVvBBB5/LWzgL5e7i8c145dQ/yzldwwQ=";
};
strictDeps = true;

View File

@@ -22,13 +22,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
__structuredAttrs = true;
pname = "iloader";
version = "2.2.7";
version = "2.2.6";
src = fetchFromGitHub {
owner = "nab138";
repo = "iloader";
rev = "v${finalAttrs.version}";
sha256 = "sha256-DLs9jNnkykAdFSaDZCfLmUl+oYja7kxWlV5Db2TQQE8=";
sha256 = "sha256-zSl08bhJ/OrdcvvL1ciybxgnLqrg4IinmcGXrsPQYyQ=";
};
nodeModules = stdenv.mkDerivation {
@@ -71,7 +71,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoRoot = "src-tauri";
buildAndTestSubdir = "src-tauri";
cargoHash = "sha256-92C6xeEVLtjCSqkJBrCOaMjBJj7yIuRM3zRtkurnBT4=";
cargoHash = "sha256-6nDqIikItl5SuHN2o/iQREiOkY+bYkP7akShOEtY9JY=";
doCheck = false;

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "intel-compute-runtime";
version = "26.27.39122.11";
version = "26.22.38646.4";
src = fetchFromGitHub {
owner = "intel";
repo = "compute-runtime";
tag = finalAttrs.version;
hash = "sha256-CbOtBgYlvn5r15gB7skmmZ+ZvRwq7FFtouICakku0ls=";
hash = "sha256-YjCRbYsq44U+pwdTnyA5lffJtSHVK2u3R2XRRNb6l9c=";
};
nativeBuildInputs = [

View File

@@ -3,6 +3,7 @@
callPackage,
crystal,
fetchFromGitHub,
fetchpatch2,
librsvg,
pkg-config,
libxml2,
@@ -41,6 +42,15 @@ crystal.buildCrystalPackage rec {
inherit (versions.invidious) hash;
};
patches = [
# Remove with the first release containing this commit.
(fetchpatch2 {
name = "CVE-2026-58447.patch";
url = "https://github.com/iv-org/invidious/commit/77ad41678b45c4f6815940123f1796fc51259f45.patch?full_index=1";
hash = "sha256-0pf6eu0ckQ2gYHLr2tEDy+1dvAhVjepG26kuxuHbZl8=";
})
];
postPatch =
let
# Replacing by the value (templates) of the variables ensures that building

View File

@@ -1,9 +1,9 @@
{
"invidious": {
"hash": "sha256-QV3fN0wwbtds5hoQfPu56rlULe2/xu0Kw9wAS9fszKQ=",
"version": "2.20260723.0",
"date": "2026.07.23",
"commit": "5953859e"
"hash": "sha256-xJZjEnSeMnDo37ohtSAI2ucaPPv+nBYdrslHUCL/Pd8=",
"version": "2.20260626.0",
"date": "2026.06.27",
"commit": "ad0bd928"
},
"videojs": {
"hash": "sha256-jED3zsDkPN8i6GhBBJwnsHujbuwlHdsVpVqa1/pzSH4="

View File

@@ -12,16 +12,16 @@
let
pname = "Jan";
version = "0.8.4";
version = "0.8.3";
darwin-src = fetchzip {
url = "https://github.com/janhq/jan/releases/download/v${version}/jan-mac-universal-${version}.zip";
hash = "sha256-hK9cu9c2kJRCJ3iy0CucRP0whgDgF5K29JgR4AIKXVg=";
hash = "sha256-h2v71DzXez/+wlEp8IMVBk33LlXPhNPJ1UPNLYPShoE=";
};
linux-src = fetchurl {
url = "https://github.com/janhq/jan/releases/download/v${version}/Jan_${version}_amd64.AppImage";
hash = "sha256-NNTIq02kisIjINS2TCh0Rb2UyRMSlJLR2+uzZmWxSVo=";
hash = "sha256-vEmioWQ4ic/FrtNFMKaLOcEy2BTRdouPc4PYWk90ZBI=";
};
appimageContents = appimageTools.extractType2 {

View File

@@ -1,5 +1,5 @@
diff --git a/Tools/CMake/Install.cmake b/Tools/CMake/Install.cmake
index edd96b0..1fbdb3c 100644
index a3ed1f3..a564046 100644
--- a/Tools/CMake/Install.cmake
+++ b/Tools/CMake/Install.cmake
@@ -229,24 +229,10 @@ if(LINUX)
@@ -20,10 +20,10 @@ index edd96b0..1fbdb3c 100644
- #install(DIRECTORY ${MODULES_RENV_ROOT_PATH}/
- # DESTINATION ${JASP_INSTALL_PREFIX}/lib64/renv-root)
-
-if(NOT FLATPAK_USED) #because flatpak already puts renv-cache in /app/lib64 anyway
- install(DIRECTORY ${MODULES_RENV_CACHE_PATH}/
- if(NOT FLATPAK_USED) #because flatpak already puts renv-cache in /app/lib64 anyway
- install(DIRECTORY ${MODULES_RENV_CACHE_PATH}/
- DESTINATION ${JASP_INSTALL_PREFIX}/lib64/renv-cache)
-endif()
- endif()
#Flatpak wrapper that sets some environment variables that JASP needs
install(PROGRAMS ${CMAKE_SOURCE_DIR}/Tools/flatpak/org.jaspstats.JASP

View File

@@ -97,9 +97,9 @@
},
"jaspLearnBayes": {
"pname": "jaspLearnBayes",
"version": "0.95.5-release.12",
"tag": "0.95.5-release.12_R-4-5-2_Release",
"hash": "sha256-zqMcWFML/iexmegMtGWCe/OCGqwmWW98/XZfKVs6N8w="
"version": "0.96.5-release.0",
"tag": "0.96.5-release.0_R-4-5-2_Release",
"hash": "sha256-TdlwB2TV+YNj4Uwf4rNSIw/OtKQHEbrFKv1t2RioTmI="
},
"jaspLearnStats": {
"pname": "jaspLearnStats",

View File

@@ -25,13 +25,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "jasp-desktop";
version = "0.97.1";
version = "0.98.1";
src = fetchFromGitHub {
owner = "jasp-stats";
repo = "jasp-desktop";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-4K6ReOJJF8Pt/RdNSp2ZVH/d64ZMCFlX1RIXDAWWWBE=";
hash = "sha256-73RxbWVa03V6MdcW9k4Hv8EBsSNw0Feg91SioWLgC5U=";
};
patches = [
@@ -68,8 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
qt6.qtbase
qt6.qtdeclarative
qt6.qtwebengine
qt6.qtsvg
qt6.qt5compat
qt6.qthttpserver
];
# needed so that the linker can find libRInside.so

View File

@@ -31,7 +31,7 @@ let
};
in
stdenv.mkDerivation (finalAttrs: {
version = "16.4.15";
version = "16.4.11";
pname = "jmol";
src =
@@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
in
fetchurl {
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${finalAttrs.version}/Jmol-${finalAttrs.version}-binary.tar.gz";
hash = "sha256-JdkeJRjlNsjWYbn5WRe2np+vV2W0TumtZy72/ofkpG8=";
hash = "sha256-kDt6XF5axy9DhygLZcImV37plkq/xDqi2aL2wKV9wh4=";
};
patchPhase = ''

View File

@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "jwx";
version = "4.2.0";
version = "4.1.0";
src = fetchFromGitHub {
owner = "lestrrat-go";
repo = "jwx";
tag = "v${finalAttrs.version}";
hash = "sha256-sX4z0JhINss0kE42F3rSMyVvBUWH1OVli0UKFiqfZbU=";
hash = "sha256-+u2PR1L66cua6iGer9qYlnPpfYt1j9cZ0PSrWntpYp0=";
};
vendorHash = "sha256-lX03CF9WhcDGgvYhHlG+XaXIeinEWRTwzO8mmnyBzBM=";
vendorHash = "sha256-dxC00wr51c48yxdCUWsL44RMmk+pBmqXkUQqjP90GNU=";
sourceRoot = "${finalAttrs.src.name}/cmd/jwx";

View File

@@ -22,11 +22,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "kamailio";
version = "6.1.3";
version = "6.0.5";
src = fetchurl {
url = "https://www.kamailio.org/pub/kamailio/${finalAttrs.version}/src/kamailio-${finalAttrs.version}_src.tar.gz";
hash = "sha256-49s9IWb0TY892Q2wkGP3C1W77M4pWr1/McNNi53XlyE=";
hash = "sha256-LEpl8MTkNULs0EJCO2/IKe4Vqwmlauf0QbdCfWvOGzA=";
};
buildInputs = [

View File

@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "kapow";
version = "1.7.1";
version = "1.7.0";
src = fetchFromGitHub {
owner = "gottcode";
repo = "kapow";
rev = "v${finalAttrs.version}";
hash = "sha256-gBr1CmOpwJOqolY6HA4fv7YCaFSeRmxbJeVkZCau9QE=";
hash = "sha256-IWkvAXDcWodrV23/wv3GEQXWdNcaIZDsU3LUtxsD+cA=";
};
nativeBuildInputs = [

View File

@@ -3,16 +3,16 @@
stdenvNoCC,
fetchzip,
}:
let
pname = "kawkab-mono";
version = "0.501";
src = fetchzip {
url = "https://github.com/aiaf/kawkab-mono/releases/download/v${version}/kawkab-mono-${version}.zip";
hash = "sha256-cDpQGTu3XzLrDtInAZtnCw6BymX7fupbbr7L4bd7kN8=";
};
in
stdenvNoCC.mkDerivation {
inherit pname version src;
pname = "kawkab-mono";
version = "20151015";
src = fetchzip {
url = "https://makkuk.com/kawkab-mono/downloads/kawkab-mono-0.1.zip";
stripRoot = false;
hash = "sha256-arZTzXj7Ba5G4WF3eZVGNaONhOsYVPih9iBgsN/lg14=";
};
installPhase = ''
runHook preInstall
@@ -23,11 +23,8 @@ stdenvNoCC.mkDerivation {
'';
meta = {
description = "Monospaced Arabic typeface designed for code and text-editing";
description = "Arab fixed-width font";
homepage = "https://makkuk.com/kawkab-mono/";
downloadPage = "https://github.com/aiaf/kawkab-mono";
changelog = "https://github.com/aiaf/kawkab-mono/releases/tag/v${version}";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ talal ];
};
}

View File

@@ -7,7 +7,7 @@
}:
buildGoModule (finalAttrs: {
pname = "ketch";
version = "0.12.0";
version = "0.10.0";
__structuredAttrs = true;
strictDeps = true;
@@ -16,10 +16,10 @@ buildGoModule (finalAttrs: {
owner = "1broseidon";
repo = "ketch";
tag = "v${finalAttrs.version}";
hash = "sha256-qp4EwQBrN0ic/gUAvBAirz03kL7Vjhs1LbKBd+uXmHA=";
hash = "sha256-m6KEPbNd13eJsNigJyGGlV2dt0bcZTZcDBCBh/l5rjY=";
};
vendorHash = "sha256-Kk7fY27y1ziJEMpwRUoGfslGYYQdayLDuuRvNyfiAy8=";
vendorHash = "sha256-UsTR7+GSuxUQ0aBq8fv1M18LegeDqf/XoiyASQKe5EI=";
ldflags = [
"-s"

Some files were not shown because too many files have changed in this diff Show More