diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md
index 2e7efbd71690..fb6d78e1046c 100644
--- a/doc/release-notes/rl-2605.section.md
+++ b/doc/release-notes/rl-2605.section.md
@@ -29,6 +29,8 @@
- `iroh` has been removed and split up into `iroh-dns-server` and `iroh-relay`.
+- `python3Packages.pygame` has been been renamed to `python3Packages.pygame-original`, the attribute `python3Packages.pygame` will from python 3.14 default to the more actively maintained `python3Packages.pygame-ce`
+
- `python3Packages.gradio` has been updated to version 6. See upstream's migration guide at https://www.gradio.app/main/guides/gradio-6-migration-guide.
- `vicinae` has been updated to v0.17. Version 0.17 contains a complete overhaul of the configuration system. For update instructions, see the [release notes for v0.17.0](https://github.com/vicinaehq/vicinae/releases/tag/v0.17.0) and the [upstream configuration documentation](https://docs.vicinae.com/config).
diff --git a/nixos/modules/services/audio/icecast.nix b/nixos/modules/services/audio/icecast.nix
index 930b6af004a2..feb78ca8fc5c 100644
--- a/nixos/modules/services/audio/icecast.nix
+++ b/nixos/modules/services/audio/icecast.nix
@@ -5,8 +5,14 @@
...
}:
let
+ inherit (lib)
+ mkRemovedOptionModule
+ mkRenamedOptionModule
+ ;
+
cfg = config.services.icecast;
configFile = pkgs.writeText "icecast.xml" ''
+
${cfg.hostname}
@@ -16,7 +22,7 @@ let
- ${cfg.logDir}
+ /var/log/icecast
${pkgs.icecast}/share/icecast/admin
${pkgs.icecast}/share/icecast/web
@@ -29,18 +35,27 @@ let
0
-
- ${cfg.user}
- ${cfg.group}
-
- ${cfg.extraConf}
+ ${cfg.extraConfig}
'';
in
{
+ imports = [
+ (mkRemovedOptionModule [ "services" "icecast" "logDir" ] ''
+ The log directory is now managed by systemd's LogsDirectory= directive.
+ '')
+ (mkRemovedOptionModule [ "services" "icecast" "user" ] ''
+ The service now runs under the dynamically allocated `icecast` user.
+ '')
+ (mkRemovedOptionModule [ "services" "icecast" "group" ] ''
+ The service now runs under the dynamically allocated `icecast` group.
+ '')
+ (mkRenamedOptionModule [ "services" "icecast" "extraConf" ] [ "services" "icecast" "extraConfig" ])
+ ];
+
###### interface
options = {
@@ -69,12 +84,6 @@ in
};
};
- logDir = lib.mkOption {
- type = lib.types.path;
- description = "Base directory used for logging.";
- default = "/var/log/icecast";
- };
-
listen = {
port = lib.mkOption {
type = lib.types.port;
@@ -89,22 +98,12 @@ in
};
};
- user = lib.mkOption {
- type = lib.types.str;
- description = "User privileges for the server.";
- default = "nobody";
- };
-
- group = lib.mkOption {
- type = lib.types.str;
- description = "Group privileges for the server.";
- default = "nogroup";
- };
-
- extraConf = lib.mkOption {
+ extraConfig = lib.mkOption {
type = lib.types.lines;
- description = "icecast.xml content.";
default = "";
+ description = ''
+ Extra configuration added to {file}`icecast.xml` inside the `` element.
+ '';
};
};
@@ -120,11 +119,20 @@ in
description = "Icecast Network Audio Streaming Server";
wantedBy = [ "multi-user.target" ];
- preStart = "mkdir -p ${cfg.logDir} && chown ${cfg.user}:${cfg.group} ${cfg.logDir}";
serviceConfig = {
Type = "simple";
- ExecStart = "${pkgs.icecast}/bin/icecast -c ${configFile}";
- ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+ DynamicUser = true;
+ ExecStart = toString [
+ (lib.getExe pkgs.icecast)
+ "-c"
+ configFile
+ ];
+ ExecReload = toString [
+ (lib.getExe' pkgs.coreutils "kill")
+ "-HUP"
+ "$MAINPID"
+ ];
+ LogsDirectory = "icecast";
};
};
diff --git a/nixos/modules/services/security/kanidm.nix b/nixos/modules/services/security/kanidm.nix
index f0c6e836194d..0abf864a8fc7 100644
--- a/nixos/modules/services/security/kanidm.nix
+++ b/nixos/modules/services/security/kanidm.nix
@@ -394,7 +394,7 @@ in
instanceUrl = mkOption {
description = "The instance url to which the provisioning tool should connect.";
default = "https://localhost:${serverPort}";
- defaultText = ''"https://localhost:"'';
+ defaultText = "https://localhost:";
type = types.str;
};
diff --git a/nixos/modules/system/activation/activatable-system.nix b/nixos/modules/system/activation/activatable-system.nix
index c3739f627a16..6513706b2769 100644
--- a/nixos/modules/system/activation/activatable-system.nix
+++ b/nixos/modules/system/activation/activatable-system.nix
@@ -74,7 +74,7 @@ in
''
cp ${activationScript} $out/activate
cp ${dryActivationScript} $out/dry-activate
- ${lib.getExe pkgs.gnused} --in-place --expression "s|@out@|''${!toplevelVar}|g" $out/activate $out/dry-activate
+ ${lib.getExe pkgs.buildPackages.gnused} --in-place --expression "s|@out@|''${!toplevelVar}|g" $out/activate $out/dry-activate
'';
system.systemBuilderCommands = lib.mkIf config.system.activatable config.system.activatableSystemBuilderCommands;
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 4edc8777cf16..be7df9027bb4 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -748,6 +748,7 @@ in
hydra = runTest ./hydra;
i18n = runTest ./i18n.nix;
i3wm = runTest ./i3wm.nix;
+ icecast = runTest ./icecast.nix;
icingaweb2 = runTest ./icingaweb2.nix;
ifm = runTest ./ifm.nix;
ifstate = import ./ifstate { inherit runTest; };
diff --git a/nixos/tests/icecast.nix b/nixos/tests/icecast.nix
new file mode 100644
index 000000000000..bb6652e8ecf8
--- /dev/null
+++ b/nixos/tests/icecast.nix
@@ -0,0 +1,25 @@
+{
+ pkgs,
+ ...
+}:
+
+{
+ name = "icecast";
+ meta = {
+ inherit (pkgs.icecast.meta) maintainers;
+ };
+
+ nodes.machine = {
+ services.icecast = {
+ enable = true;
+ hostname = "nixos.test";
+ admin.password = "test";
+ };
+ };
+
+ testScript = ''
+ machine.wait_for_unit("icecast.service")
+ machine.wait_for_open_port(8000)
+ machine.succeed("curl -fail http://localhost:8000 | grep -q 'DO NOT ATTEMPT TO PARSE ICECAST HTML OUTPUT'")
+ '';
+}
diff --git a/pkgs/by-name/br/brutalmaze/package.nix b/pkgs/by-name/br/brutalmaze/package.nix
index fd7341aae392..1266b4cce2a5 100644
--- a/pkgs/by-name/br/brutalmaze/package.nix
+++ b/pkgs/by-name/br/brutalmaze/package.nix
@@ -1,14 +1,14 @@
{
lib,
fetchFromSourcehut,
- python3Packages,
+ python312Packages,
}:
-python3Packages.buildPythonApplication rec {
+python312Packages.buildPythonApplication rec {
pname = "brutalmaze";
version = "1.1.1";
format = "pyproject";
- disabled = python3Packages.pythonOlder "3.7";
+ disabled = python312Packages.pythonOlder "3.7";
src = fetchFromSourcehut {
owner = "~cnx";
@@ -17,14 +17,19 @@ python3Packages.buildPythonApplication rec {
sha256 = "1m105iq378mypj64syw59aldbm6bj4ma4ynhc50gafl656fabg4y";
};
- nativeBuildInputs = with python3Packages; [
+ postPatch = ''
+ substituteInPlace pyproject.toml \
+ --replace-fail "pygame" "pygame-ce"
+ '';
+
+ nativeBuildInputs = with python312Packages; [
flit-core
];
- propagatedBuildInputs = with python3Packages; [
+ propagatedBuildInputs = with python312Packages; [
loca
palace
- pygame
+ pygame-ce
];
doCheck = false; # there's no test
diff --git a/pkgs/by-name/cl/claude-code-router/package.nix b/pkgs/by-name/cl/claude-code-router/package.nix
index 736842ad94cd..4cf6bfcffe0e 100644
--- a/pkgs/by-name/cl/claude-code-router/package.nix
+++ b/pkgs/by-name/cl/claude-code-router/package.nix
@@ -4,30 +4,31 @@
fetchFromGitHub,
lib,
makeBinaryWrapper,
- nodejs_24,
- pnpm_9,
+ nodejs_20,
+ pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
versionCheckHook,
}:
let
- buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_24; };
- pnpm' = pnpm_9.override { nodejs = nodejs_24; };
+ nodejs = nodejs_20;
+ buildNpmPackage' = buildNpmPackage.override { inherit nodejs; };
+ pnpm' = pnpm_10.override { inherit nodejs; };
in
buildNpmPackage' (finalAttrs: {
pname = "claude-code-router";
- version = "1.0.64";
+ version = "1.0.73";
src = fetchFromGitHub {
owner = "musistudio";
repo = "claude-code-router";
- rev = "1a4462a92362e8c41d4539dc1a79fb85fccf9559";
- hash = "sha256-q818e8PcKjdBqYk6WfGLKQ8pybXWVxmNV8KX7GjEQq0=";
+ rev = "a7e20325dbb2a8827db0c9ee12924bdecfa19fd9";
+ hash = "sha256-E5m5DiuCaZy8ac4bejpnyooaJ+YKc0ZqMIOhI2aOclk=";
};
postPatch = ''
substituteInPlace src/cli.ts \
- --replace-fail '"node"' '"${lib.getExe nodejs_24}"'
+ --replace-fail '"node"' '"${lib.getExe nodejs}"'
'';
npmDeps = null;
@@ -35,7 +36,7 @@ buildNpmPackage' (finalAttrs: {
inherit (finalAttrs) pname src;
pnpm = pnpm';
fetcherVersion = 2;
- hash = "sha256-BLPGTbDvvI40kuXfE/p3+s9hkE0reXr7OJA6UGXN4ys=";
+ hash = "sha256-xvbw0+w6LxiQj2CpF+diVTsoKrxT8HXub1ASrGrlXR4=";
};
nativeBuildInputs = [
@@ -63,7 +64,7 @@ buildNpmPackage' (finalAttrs: {
cp ${finalAttrs.passthru.ui}/index.html $out/lib/claude-code-router/dist/
mkdir -p $out/bin
- makeBinaryWrapper ${lib.getExe nodejs_24} $out/bin/ccr \
+ makeBinaryWrapper ${lib.getExe nodejs} $out/bin/ccr \
--add-flags "$out/lib/claude-code-router/dist/cli.js"
runHook postInstall
@@ -84,7 +85,7 @@ buildNpmPackage' (finalAttrs: {
inherit (finalAttrs') pname src sourceRoot;
pnpm = pnpm';
fetcherVersion = 2;
- hash = "sha256-ZjYLUec9EADQmKfju8hMbq0y4f1TDVwjbe3yw8Gh4Ac=";
+ hash = "sha256-YtOcuqhJLJYg0C8J0/THA7UfKMVHE8oN5BcJQ2zSpWQ=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/de/deterministic-uname/package.nix b/pkgs/by-name/de/deterministic-uname/package.nix
index 2297a6341507..771803f6b9b5 100644
--- a/pkgs/by-name/de/deterministic-uname/package.nix
+++ b/pkgs/by-name/de/deterministic-uname/package.nix
@@ -35,6 +35,8 @@ replaceVarsWith {
"Darwin" # darwin isn't in host-os.m4 so where does this come from?
else if forPlatform.isFreeBSD then
"FreeBSD"
+ else if forPlatform.isCygwin then
+ "Cygwin"
else
"unknown";
diff --git a/pkgs/by-name/do/doggo/package.nix b/pkgs/by-name/do/doggo/package.nix
index 8049d7da93b1..c37472e0f550 100644
--- a/pkgs/by-name/do/doggo/package.nix
+++ b/pkgs/by-name/do/doggo/package.nix
@@ -9,16 +9,16 @@
buildGoModule rec {
pname = "doggo";
- version = "1.1.2";
+ version = "1.1.3";
src = fetchFromGitHub {
owner = "mr-karan";
repo = "doggo";
rev = "v${version}";
- hash = "sha256-OKzsxYQYgMhTfdFebETHC+3Fm6A8bIOkYN5F9OZk1pc=";
+ hash = "sha256-wraqaztGZHkldWL3tesclqQzOy4B7T/Vg18A1guFvOc=";
};
- vendorHash = "sha256-T6fNOX4XzUuD9eYqC9jCeAE7+8KMyg0UVbsmy9u+BP0=";
+ vendorHash = "sha256-+tuMDQnbW3kjpVhck3aSMw1+Rv8aCzdOqD4KD7KX3G8=";
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/doggo" ];
diff --git a/pkgs/by-name/do/dolphin-emu/package.nix b/pkgs/by-name/do/dolphin-emu/package.nix
index 2d5a906d5d68..3edb8c1be552 100644
--- a/pkgs/by-name/do/dolphin-emu/package.nix
+++ b/pkgs/by-name/do/dolphin-emu/package.nix
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
- fetchpatch2,
# nativeBuildInputs
cmake,
@@ -19,6 +18,7 @@
enet,
ffmpeg,
fmt,
+ glslang,
gtest,
hidapi,
libXdmcp,
@@ -27,7 +27,6 @@
libusb1,
lz4,
lzo,
- mbedtls,
miniupnpc,
minizip-ng,
openal,
@@ -36,6 +35,7 @@
sfml,
xxHash,
xz,
+ zlib-ng,
# linux-only
alsa-lib,
bluez,
@@ -55,13 +55,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dolphin-emu";
- version = "2509";
+ version = "2512";
src = fetchFromGitHub {
owner = "dolphin-emu";
repo = "dolphin";
tag = finalAttrs.version;
- hash = "sha256-ZTNg8DRgtC1jS3MoYK1wwzjJbMkLNdkRub+KOg3NmYM=";
+ hash = "sha256-VmDhYZfYyzf08FXZTeBYmdEp9P8AugUpiOxNj8aEJqw=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = ''
@@ -72,13 +72,6 @@ stdenv.mkDerivation (finalAttrs: {
'';
};
- patches = [
- (fetchpatch2 {
- url = "https://github.com/dolphin-emu/dolphin/commit/8edef722ce1aae65d5a39faf58753044de48b6e0.patch?full_index=1";
- hash = "sha256-QEG0p+AzrExWrOxL0qRPa+60GlL0DlLyVBrbG6pGuog=";
- })
- ];
-
strictDeps = true;
nativeBuildInputs = [
@@ -98,6 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
enet
ffmpeg
fmt
+ glslang
gtest
hidapi
libXdmcp
@@ -106,7 +100,7 @@ stdenv.mkDerivation (finalAttrs: {
libusb1
lz4
lzo
- mbedtls
+ #mbedtls_2 # Use vendored, as using nixpkgs' would mark the package unsafe
miniupnpc
minizip-ng
openal
@@ -117,8 +111,7 @@ stdenv.mkDerivation (finalAttrs: {
sfml
xxHash
xz
- # Causes linker errors with minizip-ng, prefer vendored. Possible reason why: https://github.com/dolphin-emu/dolphin/pull/12070#issuecomment-1677311838
- #zlib-ng
+ zlib-ng
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
diff --git a/pkgs/by-name/du/duplicati/package.nix b/pkgs/by-name/du/duplicati/package.nix
index 692c1a658872..c67c7239ced2 100644
--- a/pkgs/by-name/du/duplicati/package.nix
+++ b/pkgs/by-name/du/duplicati/package.nix
@@ -1,15 +1,61 @@
{
lib,
stdenv,
+ buildNpmPackage,
buildDotnetModule,
fetchFromGitHub,
autoPatchelfHook,
dotnetCorePackages,
+ bun,
icu,
openssl,
krb5,
}:
+let
+ # for update.sh easy to handle
+ ngclientVersion = "0.0.163";
+ ngclientRev = "2546891ad116cb0a7a8df1c2bcf8a11fc17d58a4";
+ ngclientHash = "sha256-MQOJHr3JBceO7qZRQvCcR4NNxpc77oRRjBQkmMv9RUA=";
+
+ # from Duplicati/Server/webroot/ngclient/package.json
+ ngclient = buildNpmPackage {
+ pname = "ngclient";
+ version = ngclientVersion;
+
+ src = fetchFromGitHub {
+ owner = "duplicati";
+ repo = "ngclient";
+ rev = ngclientRev;
+ hash = ngclientHash;
+ };
+
+ npmDepsHash = "sha256-HYKzf7JaoOYvYlVZgMZ0jvYHf96be6abTZNtefgy59Y=";
+
+ nativeBuildInputs = [ bun ];
+
+ npmBuildScript = "build:prod";
+
+ env = {
+ NG_CLI_ANALYTICS = "false";
+ CI = "true";
+ };
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out
+ cp -r dist/ngclient/* $out/
+
+ runHook postInstall
+ '';
+
+ postInstall = ''
+ substituteInPlace $out/browser/index.html \
+ --replace-fail '' ''
+ '';
+ };
+in
buildDotnetModule rec {
pname = "duplicati";
version = "2.2.0.1";
@@ -66,6 +112,11 @@ buildDotnetModule rec {
"Duplicati.Service"
];
+ postPatch = ''
+ rm -rf Duplicati/Server/webroot/ngclient
+ ln -s ${ngclient}/browser Duplicati/Server/webroot/ngclient
+ '';
+
postFixup = ''
mv $out/bin/Duplicati.Agent $out/bin/duplicati-agent
mv $out/bin/Duplicati.GUI.TrayIcon $out/bin/duplicati
diff --git a/pkgs/by-name/du/duplicati/update.sh b/pkgs/by-name/du/duplicati/update.sh
index 5b80ca9926df..99540f90487b 100755
--- a/pkgs/by-name/du/duplicati/update.sh
+++ b/pkgs/by-name/du/duplicati/update.sh
@@ -9,6 +9,9 @@ REPO="duplicati"
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
TARGET="$SCRIPT_DIR/package.nix"
+TMP=$(mktemp -d)
+trap 'rm -rf "$TMP"' EXIT
+
TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/$OWNNER/$REPO/tags" |
jq -r '.[].name' |
grep -E '^v[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+_stable_' |
@@ -22,7 +25,35 @@ DATE=$(echo "$TAG" | cut -d_ -f3)
HASH=$(nix-prefetch-github $OWNNER $REPO --rev "$TAG" |
jq -r '.hash')
+curl -sL "https://raw.githubusercontent.com/$OWNNER/$REPO/$TAG/Duplicati/Server/webroot/ngclient/package.json" \
+ -o "$TMP/package.json"
+
+NGCLIENT_VERSION=$(
+ jq -r '.dependencies["@duplicati/ngclient"]' \
+ "$TMP/package.json" |
+ sed 's/^[^0-9]*//'
+)
+
+git clone --no-tags https://github.com/duplicati/ngclient.git "$TMP/ngclient"
+NGCLIENT_REV=$(cd "$TMP/ngclient" && git log --format="%H %s" | grep "$NGCLIENT_VERSION" | awk '{print $1}')
+
+NGCLIENT_HASH=$(
+ nix-prefetch-github $OWNNER ngclient --rev "$NGCLIENT_REV" |
+ jq -r .hash
+)
+
+echo "version=$VERSION"
+echo "channel=$CHANNEL"
+echo "date=$DATE"
+
+echo "ngclientVersion=$NGCLIENT_VERSION"
+echo "ngclientRev=$NGCLIENT_REV"
+echo "ngclientHash=$NGCLIENT_HASH"
+
sed -i \
+ -e "/ngclientVersion = /c\ ngclientVersion = \"$NGCLIENT_VERSION\";" \
+ -e "/ngclientRev = /c\ ngclientRev = \"$NGCLIENT_REV\";" \
+ -e "/ngclientHash = /c\ ngclientHash = \"$NGCLIENT_HASH\";" \
-e "/version = \"/c\ version = \"$VERSION\";" \
-e "/channel = \"/c\ channel = \"$CHANNEL\";" \
-e "/buildDate = \"/c\ buildDate = \"$DATE\";" \
diff --git a/pkgs/by-name/el/elementary-xfce-icon-theme/package.nix b/pkgs/by-name/el/elementary-xfce-icon-theme/package.nix
index 9388005ba874..f5188c0adb7f 100644
--- a/pkgs/by-name/el/elementary-xfce-icon-theme/package.nix
+++ b/pkgs/by-name/el/elementary-xfce-icon-theme/package.nix
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "elementary-xfce-icon-theme";
- version = "0.21";
+ version = "0.22";
src = fetchFromGitHub {
owner = "shimmerproject";
repo = "elementary-xfce";
rev = "v${version}";
- hash = "sha256-ncPL76HCC9n4wTciGeqb+YAUcCE9EeOpWGM5DRYUCYg=";
+ hash = "sha256-snNh6883YUmzU1OG8jLf41/0NrEzfwFikyVtX1JeNdw=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/en/endgame-singularity/package.nix b/pkgs/by-name/en/endgame-singularity/package.nix
index 21fd5c4faff5..daa9143f5051 100644
--- a/pkgs/by-name/en/endgame-singularity/package.nix
+++ b/pkgs/by-name/en/endgame-singularity/package.nix
@@ -31,6 +31,11 @@ python3.pkgs.buildPythonApplication {
srcs = [ main_src ] ++ lib.optional enableDefaultMusicPack music_src;
sourceRoot = main_src.name;
+ postPatch = ''
+ substituteInPlace setup.py \
+ --replace-fail "pygame>=2.5.2" "pygame-ce"
+ '';
+
nativeBuildInputs = [ unzip ]; # The music is zipped
build-system = with python3.pkgs; [
@@ -38,7 +43,7 @@ python3.pkgs.buildPythonApplication {
];
dependencies = with python3.pkgs; [
- pygame
+ pygame-ce
numpy
polib
];
diff --git a/pkgs/by-name/fa/falcon/bump-minimum-cmake-required-version.patch b/pkgs/by-name/fa/falcon/bump-minimum-cmake-required-version.patch
new file mode 100644
index 000000000000..5f72338cc57e
--- /dev/null
+++ b/pkgs/by-name/fa/falcon/bump-minimum-cmake-required-version.patch
@@ -0,0 +1,250 @@
+From a1f4fa1607249b0356c2cd2c54134cb3dc2dc231 Mon Sep 17 00:00:00 2001
+From: Stanislas Marquis
+Date: Fri, 3 Mar 2023 12:44:09 +0100
+Subject: [PATCH] Update cmake minimum version >= 3.16.3 (ubuntu FF)
+
+---
+ CMakeLists.txt | 2 +-
+ apps/faldoc/CMakeLists.txt | 2 +-
+ clt/falcon/editline/CMakeLists.txt | 4 ++--
+ dist/nsis/CMakeLists.txt | 2 +-
+ modules/native/MP/CMakeLists.txt | 2 +-
+ modules/native/conio/CMakeLists.txt | 2 +-
+ modules/native/curl/CMakeLists.txt | 2 +-
+ modules/native/dbi/CMakeLists.txt | 2 +-
+ modules/native/dbus/CMakeLists.txt | 2 +-
+ modules/native/dynlib/CMakeLists.txt | 2 +-
+ modules/native/feathers/CMakeLists.txt | 2 +-
+ modules/native/gd2/CMakeLists.txt | 2 +-
+ modules/native/gtk/CMakeLists.txt | 2 +-
+ modules/native/hpdf/CMakeLists.txt | 2 +-
+ modules/native/sdl/CMakeLists.txt | 2 +-
+ modules/native/wopi/CMakeLists.txt | 2 +-
+ tests/native/dynlib/CMakeLists.txt | 2 +-
+ 17 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 81c404677..de2125e3d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,7 +34,7 @@
+ # List of available modules: CURL DBI DBUS DYNLIB GD2 GTK PDF SDL
+ #
+
+-cmake_minimum_required(VERSION 2.6.2)
++cmake_minimum_required(VERSION 3.16.3)
+ project(Falcon)
+
+
+diff --git a/apps/faldoc/CMakeLists.txt b/apps/faldoc/CMakeLists.txt
+index 3e0867f63..7ef40d7b3 100644
+--- a/apps/faldoc/CMakeLists.txt
++++ b/apps/faldoc/CMakeLists.txt
+@@ -4,7 +4,7 @@
+ # CMake configuration file for Feather modules
+ ####################################################################
+
+-cmake_minimum_required(VERSION 2.6.2)
++cmake_minimum_required(VERSION 3.16.3)
+ project(falcon-app-faldoc)
+
+ set(FALDOC_DIR "${FALCON_APP_DIR}/faldoc" )
+diff --git a/clt/falcon/editline/CMakeLists.txt b/clt/falcon/editline/CMakeLists.txt
+index 8b51862ad..933ef0a13 100644
+--- a/clt/falcon/editline/CMakeLists.txt
++++ b/clt/falcon/editline/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+ project(Editline)
+
+ find_package(Curses REQUIRED)
+@@ -23,4 +23,4 @@ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/config.h
+ )
+-
+\ No newline at end of file
++
+diff --git a/dist/nsis/CMakeLists.txt b/dist/nsis/CMakeLists.txt
+index c6e0110bb..996ce5436 100644
+--- a/dist/nsis/CMakeLists.txt
++++ b/dist/nsis/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ #
+ # Configurator for NSIS installer
+ #
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+
+ #
+ # Files to be configured
+diff --git a/modules/native/MP/CMakeLists.txt b/modules/native/MP/CMakeLists.txt
+index 2b86107e0..f8eba5c40 100644
+--- a/modules/native/MP/CMakeLists.txt
++++ b/modules/native/MP/CMakeLists.txt
+@@ -5,7 +5,7 @@
+ ####################################################################
+
+ PROJECT(MP)
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
+ # Set here project-wide options
+ # OPTION( WITH_OPT "An poption" OFF)
+diff --git a/modules/native/conio/CMakeLists.txt b/modules/native/conio/CMakeLists.txt
+index 104c9bcec..d828d7e09 100644
+--- a/modules/native/conio/CMakeLists.txt
++++ b/modules/native/conio/CMakeLists.txt
+@@ -4,7 +4,7 @@
+ # CMake configuration file for @PROJECT_NAME@
+ ####################################################################
+
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+ project(conio)
+
+ # find the falcon installation. Set CMAKE_INSTALL_PREFIX to the falcon root
+diff --git a/modules/native/curl/CMakeLists.txt b/modules/native/curl/CMakeLists.txt
+index 2f1e908e7..7d7a2377c 100644
+--- a/modules/native/curl/CMakeLists.txt
++++ b/modules/native/curl/CMakeLists.txt
+@@ -4,7 +4,7 @@
+ # CMake configuration file for curl
+ ####################################################################
+
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+ project(Falcon_curl)
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+
+diff --git a/modules/native/dbi/CMakeLists.txt b/modules/native/dbi/CMakeLists.txt
+index 3a3f72c5f..20dbee902 100644
+--- a/modules/native/dbi/CMakeLists.txt
++++ b/modules/native/dbi/CMakeLists.txt
+@@ -3,7 +3,7 @@
+ #
+ # CMake configuration file for DBI
+ ####################################################################
+-cmake_minimum_required(VERSION 2.6.2)
++cmake_minimum_required(VERSION 3.16.3)
+ project(Falcon_DBI)
+
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+diff --git a/modules/native/dbus/CMakeLists.txt b/modules/native/dbus/CMakeLists.txt
+index 4bd76ce38..09f575fa7 100644
+--- a/modules/native/dbus/CMakeLists.txt
++++ b/modules/native/dbus/CMakeLists.txt
+@@ -5,7 +5,7 @@
+ ####################################################################
+
+ PROJECT(dbus)
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+
+ INCLUDE( ${CMAKE_ROOT}/Modules/FindPkgConfig.cmake)
+
+diff --git a/modules/native/dynlib/CMakeLists.txt b/modules/native/dynlib/CMakeLists.txt
+index 92bc09e59..6e1f31ec9 100644
+--- a/modules/native/dynlib/CMakeLists.txt
++++ b/modules/native/dynlib/CMakeLists.txt
+@@ -4,7 +4,7 @@
+ # CMake configuration file for dynlib
+ ####################################################################
+
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+ project(Falcon_dynlib)
+
+ find_package(Falcon REQUIRED)
+diff --git a/modules/native/feathers/CMakeLists.txt b/modules/native/feathers/CMakeLists.txt
+index 7be6dca12..3591a4b9a 100644
+--- a/modules/native/feathers/CMakeLists.txt
++++ b/modules/native/feathers/CMakeLists.txt
+@@ -3,7 +3,7 @@
+ #
+ # CMake configuration file for Feather modules
+ ####################################################################
+-cmake_minimum_required(VERSION 2.6.2)
++cmake_minimum_required(VERSION 3.16.3)
+ PROJECT(Falcon_Feathers)
+
+ # Find our Find*.cmake files
+diff --git a/modules/native/gd2/CMakeLists.txt b/modules/native/gd2/CMakeLists.txt
+index 7d775d1e7..73692d4fd 100644
+--- a/modules/native/gd2/CMakeLists.txt
++++ b/modules/native/gd2/CMakeLists.txt
+@@ -5,7 +5,7 @@
+ ####################################################################
+
+ PROJECT(gd2)
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+ MESSAGE(STATUS "Building GD2 module" )
+
+
+diff --git a/modules/native/gtk/CMakeLists.txt b/modules/native/gtk/CMakeLists.txt
+index 0f08e4bb3..f1bc647e9 100644
+--- a/modules/native/gtk/CMakeLists.txt
++++ b/modules/native/gtk/CMakeLists.txt
+@@ -3,7 +3,7 @@
+ #
+ project( gtk )
+
+-cmake_minimum_required( VERSION 2.6.3 )
++cmake_minimum_required( VERSION 3.16.3 )
+
+ list( APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake )
+
+diff --git a/modules/native/hpdf/CMakeLists.txt b/modules/native/hpdf/CMakeLists.txt
+index 679444146..cf86e9392 100644
+--- a/modules/native/hpdf/CMakeLists.txt
++++ b/modules/native/hpdf/CMakeLists.txt
+@@ -4,7 +4,7 @@
+ # CMake configuration file for Feather modules
+ ####################################################################
+
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+ project(falcon-module-hpdf)
+
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
+diff --git a/modules/native/sdl/CMakeLists.txt b/modules/native/sdl/CMakeLists.txt
+index 32a07dfd5..7d46ae513 100644
+--- a/modules/native/sdl/CMakeLists.txt
++++ b/modules/native/sdl/CMakeLists.txt
+@@ -6,7 +6,7 @@
+ if(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 OLD)
+ endif(COMMAND cmake_policy)
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+ PROJECT(Falcon_SDL)
+
+
+diff --git a/modules/native/wopi/CMakeLists.txt b/modules/native/wopi/CMakeLists.txt
+index 3f711cd6d..56e6c539b 100644
+--- a/modules/native/wopi/CMakeLists.txt
++++ b/modules/native/wopi/CMakeLists.txt
+@@ -3,7 +3,7 @@
+ # Falcon Web Oriented Programming Interface
+ #
+
+-cmake_minimum_required(VERSION 2.6.2)
++cmake_minimum_required(VERSION 3.16.3)
+ project( falcon_wopi )
+
+ ######################################################################
+diff --git a/tests/native/dynlib/CMakeLists.txt b/tests/native/dynlib/CMakeLists.txt
+index 1781380d9..ed3f1e99f 100644
+--- a/tests/native/dynlib/CMakeLists.txt
++++ b/tests/native/dynlib/CMakeLists.txt
+@@ -3,7 +3,7 @@
+ #
+ # CMake configuration file for dynlib - TESTS
+ ####################################################################
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.16.3)
+
+ include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}
diff --git a/pkgs/by-name/fa/falcon/package.nix b/pkgs/by-name/fa/falcon/package.nix
index f511b92ae385..1f6835a67ab9 100644
--- a/pkgs/by-name/fa/falcon/package.nix
+++ b/pkgs/by-name/fa/falcon/package.nix
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
- fetchpatch,
cmake,
pkg-config,
pcre,
@@ -22,12 +21,8 @@ stdenv.mkDerivation {
};
patches = [
- # part of https://github.com/falconpl/falcon/pull/11
- (fetchpatch {
- name = "bump-minimum-cmake-required-version.patch";
- url = "https://github.com/falconpl/falcon/commit/a1f4fa1607249b0356c2cd2c54134cb3dc2dc231.patch";
- hash = "sha256-oYLB+71/oan2MOyHTr/IpgDwik+T8ToP1q7AroaBq1g=";
- })
+ # https://github.com/falconpl/falcon/pull/11
+ ./bump-minimum-cmake-required-version.patch
];
nativeBuildInputs = [
diff --git a/pkgs/by-name/gf/gfxreconstruct/package.nix b/pkgs/by-name/gf/gfxreconstruct/package.nix
index 18b0fbc2b54c..b04642602e79 100644
--- a/pkgs/by-name/gf/gfxreconstruct/package.nix
+++ b/pkgs/by-name/gf/gfxreconstruct/package.nix
@@ -28,6 +28,14 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
+ cmakeFlags = [
+ # The CMakeLists.txt is actually 3.10 compatible, but it specifies 3.5 as `CMAKE_VERSION_MINIMUM`
+ "-DCMAKE_POLICY_VERSION_MINIMUM=3.10"
+ ];
+
+ # Workaround for "error: ... class std::__cxx11::wstring_convert' is deprecated [-Werror=deprecated-declarations]"
+ env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
buildInputs = [
libX11
libxcb
diff --git a/pkgs/by-name/gm/gmobile/package.nix b/pkgs/by-name/gm/gmobile/package.nix
index b1ee83de0f93..c312466132d1 100644
--- a/pkgs/by-name/gm/gmobile/package.nix
+++ b/pkgs/by-name/gm/gmobile/package.nix
@@ -17,7 +17,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gmobile";
- version = "0.5.0";
+ version = "0.6.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "Phosh";
repo = "gmobile";
tag = "v${finalAttrs.version}";
- hash = "sha256-VBtZU3AM+Off8bHYyW50y3+PY9u7D+xzChlnBlae+ns=";
+ hash = "sha256-+IRKGkqDgSRAWbK30R2eGA3mI393ARdzYNKBA75AyyY=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/go/gollama/package.nix b/pkgs/by-name/go/gollama/package.nix
index d09e99eea157..2e4ec0582eb3 100644
--- a/pkgs/by-name/go/gollama/package.nix
+++ b/pkgs/by-name/go/gollama/package.nix
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "gollama";
- version = "v2.0.1";
+ version = "v2.0.4";
src = fetchFromGitHub {
owner = "sammcj";
repo = "gollama";
tag = "v${version}";
- hash = "sha256-6r0mAimyFxQ/cJyB9vMJeP6S5cEdzzfb5axXfeOE1nU=";
+ hash = "sha256-unvnFKkEWJnyzuNz8zekB8ZSXP/dUqv24qgyhkP3kkY=";
};
- vendorHash = "sha256-eOxEq+4JQCCWpnVy7aKM9GiZ29bzvfsrqXD4Op8+/K4=";
+ vendorHash = "sha256-t7Kl6WnS8vvLyvKzkDswv0yOaeTE3IgZCNAC3dD8euU=";
doCheck = false;
diff --git a/pkgs/by-name/gt/gtuber/package.nix b/pkgs/by-name/gt/gtuber/package.nix
deleted file mode 100644
index 750c7acdd7ff..000000000000
--- a/pkgs/by-name/gt/gtuber/package.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- lib,
- stdenv,
- fetchFromGitHub,
- meson,
- ninja,
- pkg-config,
- gobject-introspection,
- vala,
- glib,
- libsoup_3,
- json-glib,
- libxml2,
- gst_all_1,
- unstableGitUpdater,
-}:
-
-stdenv.mkDerivation {
- pname = "gtuber";
- version = "0-unstable-2025-01-19";
-
- src = fetchFromGitHub {
- owner = "Rafostar";
- repo = "gtuber";
- rev = "446e26668a4e01fc2ca9c261a7f1c281577e566d";
- hash = "sha256-5Z6sID7Alm4FWl1qCQV1w5DmGsmor2vbnZUJi3Is650=";
- };
-
- nativeBuildInputs = [
- meson
- ninja
- pkg-config
- gobject-introspection # For g-ir-scanner
- vala # For vapigen
- ];
- buildInputs = [
- glib
- libsoup_3
- json-glib
- libxml2
- gst_all_1.gstreamer
- gst_all_1.gst-plugins-base
- ];
-
- passthru = {
- updateScript = unstableGitUpdater { };
- };
-
- meta = {
- description = "GStreamer plugin for streaming videos from websites";
- homepage = "https://rafostar.github.io/gtuber/";
- license = lib.licenses.lgpl21Plus;
- maintainers = with lib.maintainers; [ chuangzhu ];
- platforms = lib.platforms.unix;
- };
-}
diff --git a/pkgs/by-name/gy/gyroflow/package.nix b/pkgs/by-name/gy/gyroflow/package.nix
index 0b858f385e33..f3db838c18c9 100644
--- a/pkgs/by-name/gy/gyroflow/package.nix
+++ b/pkgs/by-name/gy/gyroflow/package.nix
@@ -19,8 +19,8 @@ let
lens-profiles = fetchFromGitHub {
owner = "gyroflow";
repo = "lens_profiles";
- tag = "v19";
- hash = "sha256-8R2mMqKxzoa5Sfqxs8pcfwUfo1PQKSrnM+60Ri3wiXY=";
+ tag = "v36";
+ hash = "sha256-JjH7cGT9hzB9pv0W6FUPaejkiUj357IM2siJNrSHiYY=";
};
in
rustPlatform.buildRustPackage rec {
diff --git a/pkgs/by-name/hi/highscore-blastem/package.nix b/pkgs/by-name/hi/highscore-blastem/package.nix
new file mode 100644
index 000000000000..a8a60f13a6ad
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-blastem/package.nix
@@ -0,0 +1,54 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ meson,
+ ninja,
+ pkg-config,
+ libhighscore,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-blastem";
+ version = "0-unstable-2025-06-28";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "blastem-highscore";
+ rev = "d19e9a8ddd0accf017f44dcc81bdd2661f63f25f";
+ hash = "sha256-KetitwqL4S0T4GayeTdwR5hG/LVUF+mJ8oGIN6XPLfU=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/highscore";
+
+ postPatch = ''
+ patchShebangs gen-db.sh
+
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty').stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of BlastEm to Highscore";
+ homepage = "https://github.com/highscore-emu/blastem-highscore";
+ license = lib.licenses.gpl3Plus;
+ inherit (libhighscore.meta) maintainers platforms;
+ badPlatforms = lib.platforms.aarch64;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-bsnes/package.nix b/pkgs/by-name/hi/highscore-bsnes/package.nix
new file mode 100644
index 000000000000..de023330065e
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-bsnes/package.nix
@@ -0,0 +1,58 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ pkg-config,
+ libhighscore,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-bsnes";
+ version = "0-unstable-2025-12-23";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "bsnes";
+ rev = "df88234e314f97a2ca124df1982e4bd39f6fcea0";
+ hash = "sha256-QI9mRvcsPkVBhUZlhchgGVPROj7HAqgtHHnbHVzIIBI=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/bsnes";
+
+ nativeBuildInputs = [
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ ];
+
+ makeFlags = [
+ "target=highscore"
+ "binary=library"
+ "build=performance"
+ "local=false"
+ "platform=linux"
+ ];
+
+ installFlags = [
+ "libdir=${placeholder "out"}/lib"
+ ];
+
+ enableParallelBuilding = true;
+
+ passthru.updateScript = unstableGitUpdater {
+ url = finalAttrs.src.gitRepoUrl;
+ };
+
+ meta = {
+ description = "Port of bsnes to Highscore";
+ homepage = "https://github.com/highscore-emu/bsnes";
+ license = with lib.licenses; [
+ gpl2Plus
+ mit
+ ];
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-desmume/package.nix b/pkgs/by-name/hi/highscore-desmume/package.nix
new file mode 100644
index 000000000000..1ab7b2d51d1b
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-desmume/package.nix
@@ -0,0 +1,62 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ meson,
+ ninja,
+ pkg-config,
+ libhighscore,
+ libGL,
+ libX11,
+ SDL2,
+ libpcap,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-desmume";
+ version = "0-unstable-2025-09-21";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "desmume";
+ rev = "7d80d2a70850a5595ac8160e6dee5dea8b2fe293";
+ hash = "sha256-wpW8Y68qzuu6J51snw2slbD6cnceFzONG4kutBOeB8I=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/desmume/src/frontend/highscore";
+
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty').stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ libGL
+ libX11
+ SDL2
+ libpcap
+ ];
+
+ # cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
+ hardeningDisable = [ "format" ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of DeSmuME to Highscore";
+ homepage = "https://github.com/highscore-emu/desmume";
+ license = lib.licenses.gpl2Plus;
+ inherit (libhighscore.meta) platforms maintainers;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-gearsystem/package.nix b/pkgs/by-name/hi/highscore-gearsystem/package.nix
new file mode 100644
index 000000000000..94d65f62e6b4
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-gearsystem/package.nix
@@ -0,0 +1,51 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ meson,
+ ninja,
+ pkg-config,
+ libhighscore,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-gearsystem";
+ version = "0-unstable-2026-01-02";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "gearsystem";
+ rev = "7a2cd21c54f1487ec255b71eaf629d1e48d4bbf1";
+ hash = "sha256-y4ZSw2yXBNg49X4aB1TE79ydu3EVqvtb73eB2QBKLEk=";
+ };
+
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty', '--match', ''', check: false).stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ sourceRoot = "${finalAttrs.src.name}/platforms/highscore";
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of Gearsystem to Highscore";
+ homepage = "https://github.com/highscore-emu/Gearsystem";
+ license = lib.licenses.gpl3Plus;
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-mednafen/package.nix b/pkgs/by-name/hi/highscore-mednafen/package.nix
new file mode 100644
index 000000000000..27283551044a
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-mednafen/package.nix
@@ -0,0 +1,57 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ meson,
+ ninja,
+ pkg-config,
+ libhighscore,
+ zstd,
+ libchdr,
+ libvorbis,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-mednafen";
+ version = "0-unstable-2025-12-28";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "mednafen-highscore";
+ rev = "58404782e3f69186c7be821a880cf1442b240f2f";
+ hash = "sha256-FXSfBAPpi+Ch9vuPQf6nqLMKxvrbXG+6F5HHaU9fs2s=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/highscore";
+
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty', check: false).stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ zstd
+ libchdr
+ libvorbis
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of Mednafen to Highscore";
+ homepage = "https://github.com/highscore-emu/mednafen-highscore";
+ license = lib.licenses.gpl2Plus;
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-mgba/package.nix b/pkgs/by-name/hi/highscore-mgba/package.nix
new file mode 100644
index 000000000000..d573f8aeb19a
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-mgba/package.nix
@@ -0,0 +1,68 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ pkg-config,
+ libhighscore,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation {
+ pname = "highscore-mgba";
+ version = "0-unstable-2026-01-02";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "mgba";
+ rev = "a6d684ff03b91d219b861b85791f4069df698562";
+ hash = "sha256-Ur7BG+AJ6KQ+XX2qKoj13w556VNnHtxULXd1d+gHUig=";
+ };
+
+ outputs = [
+ "out"
+ "dev"
+ "doc"
+ ];
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ ];
+
+ cmakeFlags = [
+ (lib.cmakeBool "ENABLE_DEBUGGERS" false)
+ (lib.cmakeBool "USE_EDITLINE" false)
+ (lib.cmakeBool "ENABLE_GDB_STUB" false)
+ (lib.cmakeBool "USE_ZLIB" false)
+ (lib.cmakeBool "USE_MINIZIP" false)
+ (lib.cmakeBool "USE_PNG" false)
+ (lib.cmakeBool "USE_LIBZIP" false)
+ (lib.cmakeBool "USE_SQLITE3" false)
+ (lib.cmakeBool "USE_ELF" false)
+ (lib.cmakeBool "USE_LUA" false)
+ (lib.cmakeBool "USE_JSON_C" false)
+ (lib.cmakeBool "USE_LZMA" false)
+ (lib.cmakeBool "USE_DISCORD_RPC" false)
+ (lib.cmakeBool "ENABLE_SCRIPTING" false)
+ (lib.cmakeBool "BUILD_QT" false)
+ (lib.cmakeBool "BUILD_SDL" false)
+ (lib.cmakeBool "BUILD_HIGHSCORE" true)
+ (lib.cmakeBool "SKIP_LIBRARY" true)
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of mGBA to Highscore";
+ homepage = "https://github.com/highscore-emu/mednafen-highscore";
+ license = lib.licenses.mpl20;
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+}
diff --git a/pkgs/by-name/hi/highscore-mupen64plus/package.nix b/pkgs/by-name/hi/highscore-mupen64plus/package.nix
new file mode 100644
index 000000000000..c681af6bd9ee
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-mupen64plus/package.nix
@@ -0,0 +1,52 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ meson,
+ ninja,
+ pkg-config,
+ libhighscore,
+ mupen64plus,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-mupen64plus";
+ version = "0-unstable-2025-12-28";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "mupen64plus-highscore";
+ rev = "94ab5644e5363cf359b334ac057f3f36d24910be";
+ hash = "sha256-Q+6iL7DGr62C2fVEP0EWCgm7S7AYAW1C2X1GPKbI7aY=";
+ };
+
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty', check: false).stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ mupen64plus
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of Mupen64Plus to Highscore";
+ homepage = "https://github.com/highscore-emu/mupen64plus-highscore";
+ license = lib.licenses.gpl2Plus;
+ inherit (libhighscore.meta) maintainers;
+ inherit (mupen64plus.meta) platforms broken;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-nestopia/package.nix b/pkgs/by-name/hi/highscore-nestopia/package.nix
new file mode 100644
index 000000000000..ca8046c548af
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-nestopia/package.nix
@@ -0,0 +1,51 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitLab,
+ meson,
+ ninja,
+ pkg-config,
+ libhighscore,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-nestopia";
+ version = "0-unstable-2025-12-30";
+
+ src = fetchFromGitLab {
+ owner = "highscore-emu";
+ repo = "nestopia";
+ rev = "529e69b6e577f42a246c8fa44ef7f3095647adaf";
+ hash = "sha256-2aBEtut6AShP1Nz0BqNTFD3/gN2cj5PY8JL8WbLE7XE=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/highscore";
+
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty', '--match', ''', check: false).stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of Nestopia to Highscore";
+ homepage = "https://gitlab.com/highscore-emu/nestopia";
+ license = lib.licenses.gpl2Plus;
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-prosystem/package.nix b/pkgs/by-name/hi/highscore-prosystem/package.nix
new file mode 100644
index 000000000000..278d6b4d670e
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-prosystem/package.nix
@@ -0,0 +1,51 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitLab,
+ meson,
+ ninja,
+ pkg-config,
+ libhighscore,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-prosystem";
+ version = "0-unstable-2025-12-27";
+
+ src = fetchFromGitLab {
+ owner = "highscore-emu";
+ repo = "prosystem";
+ rev = "44d86957d9377fdc1650c8cdaafbf7e2e2671827";
+ hash = "sha256-vxgh819XwI6rjoI7WwUEPx0PVpb58+MIOhCINQKom0Q=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/highscore";
+
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty', '--match', ''', check: false).stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of ProSystem to Highscore";
+ homepage = "https://gitlab.com/highscore-emu/prosystem";
+ license = lib.licenses.gpl2Plus;
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-sameboy/package.nix b/pkgs/by-name/hi/highscore-sameboy/package.nix
new file mode 100644
index 000000000000..037aa861820b
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-sameboy/package.nix
@@ -0,0 +1,53 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ meson,
+ ninja,
+ pkg-config,
+ rgbds,
+ libhighscore,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-sameboy";
+ version = "0-unstable-2025-12-31";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "SameBoy";
+ rev = "80e1d0b5aef4098539979a4670882d590ac9a1ca";
+ hash = "sha256-Fp9GODDu0170NoCHCfX5+vs8hQccS/P1N4jM+L784+o=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/highscore";
+
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty', '--match', ''', check: false).stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ rgbds
+ ];
+
+ buildInputs = [
+ libhighscore
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of SameBoy to Highscore";
+ homepage = "https://github.com/highscore-emu/SameBoy";
+ license = lib.licenses.mit;
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-stella/package.nix b/pkgs/by-name/hi/highscore-stella/package.nix
new file mode 100644
index 000000000000..eeb0c9bc4d89
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-stella/package.nix
@@ -0,0 +1,51 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ meson,
+ ninja,
+ pkg-config,
+ libhighscore,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-stella";
+ version = "0-unstable-2026-01-02";
+
+ src = fetchFromGitHub {
+ owner = "highscore-emu";
+ repo = "stella";
+ rev = "a8d92c100e83ae2249c5b30afcaa4b4ed31fcc46";
+ hash = "sha256-QfKtAIMCqniF15vCuWKz/pwb0FuE6xDp6/rfeUWpMgQ=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/src/os/highscore";
+
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace-fail "run_command('git', 'describe', '--always', '--dirty', check: false).stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ libhighscore
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Port of Stella to Highscore";
+ homepage = "https://github.com/highscore-emu/stella";
+ license = lib.licenses.gpl2Only;
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore-unwrapped/cores-dir-from-envvar.patch b/pkgs/by-name/hi/highscore-unwrapped/cores-dir-from-envvar.patch
new file mode 100644
index 000000000000..5c728842924c
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-unwrapped/cores-dir-from-envvar.patch
@@ -0,0 +1,25 @@
+diff --git a/shared/config.vapi b/shared/config.vapi
+index 1b0d8d7..e25bfbc 100644
+--- a/shared/config.vapi
++++ b/shared/config.vapi
+@@ -9,7 +9,6 @@ namespace Config {
+ public const string VERSION_SUFFIX;
+ public const string VCS_TAG;
+ public const string PROFILE;
+- public const string CORES_DIR;
+ public const string DATA_DIR;
+ public const string RUNNER_PATH;
+ }
+diff --git a/src/core-register.vala b/src/core-register.vala
+index 892aca7..2485cc7 100644
+--- a/src/core-register.vala
++++ b/src/core-register.vala
+@@ -15,7 +15,7 @@ public class Highscore.CoreRegister : Object {
+ suggested_cores = new HashTable (str_hash, str_equal);
+
+ try {
+- scan_directory (File.new_for_path (Config.CORES_DIR));
++ scan_directory (File.new_for_path (Environment.get_variable ("HIGHSCORE_CORES_DIR")));
+ } catch (Error e) {
+ critical ("Failed to scan cores: %s", e.message);
+ }
diff --git a/pkgs/by-name/hi/highscore-unwrapped/package.nix b/pkgs/by-name/hi/highscore-unwrapped/package.nix
new file mode 100644
index 000000000000..1a309c758d21
--- /dev/null
+++ b/pkgs/by-name/hi/highscore-unwrapped/package.nix
@@ -0,0 +1,117 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitLab,
+ blueprint-compiler,
+ meson,
+ ninja,
+ pkg-config,
+ vala,
+ glib,
+ gtk4,
+ desktop-file-utils,
+ itstool,
+ python3,
+ json-glib,
+ libgee,
+ libadwaita,
+ libarchive,
+ libglycin,
+ libhighscore,
+ libmanette,
+ sqlite,
+ libGL,
+ libepoxy,
+ libpulseaudio,
+ SDL2,
+ librsvg,
+ libmirage,
+ feedbackd,
+ unstableGitUpdater,
+}:
+
+let
+ libmanette-1-alpha = libmanette.overrideAttrs (prev: {
+ version = "0.2.13-unstable-2025-10-10";
+ src = fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "GNOME";
+ repo = "libmanette";
+ rev = "9b1b45e2aa3221938cd23e5f87a79b69e1996f64";
+ hash = "sha256-4Vinc3sBU2PJmOZUOrod6AJbRq6W2nNLcC//FVHGuhg=";
+ };
+
+ buildInputs = prev.buildInputs ++ [ libadwaita ];
+ });
+in
+stdenv.mkDerivation (finalAttrs: {
+ pname = "highscore-unwrapped";
+ version = "0-unstable-2026-01-01";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "World";
+ repo = "highscore";
+ rev = "c9f537e06414a32632e9f9d7a73d9028b788f275";
+ hash = "sha256-6sBfjVFIFg0w3apzJBYMYEIjTavnOAE0YK3ayzoyDks=";
+ };
+
+ patches = [
+ # Highscore finds cores under $out/lib/highscore/cores/
+ # Allow the wrapper to override it with $HIGHSCORE_CORES_DIR
+ ./cores-dir-from-envvar.patch
+ ];
+
+ postPatch = ''
+ substituteInPlace meson.build --replace-fail \
+ "run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip()" \
+ "'${finalAttrs.src.rev}'"
+ '';
+
+ nativeBuildInputs = [
+ blueprint-compiler
+ meson
+ ninja
+ pkg-config
+ vala
+ glib # For glib-compile-resources
+ gtk4 # For gtk4-update-icon-cache
+ desktop-file-utils
+ itstool
+ # Used in build time, detected by meson
+ (python3.withPackages (ps: [ ps.pygobject3 ]))
+ # To prevent double wrapping, not wrapping it here
+ # wrapGAppsHook4
+ ];
+
+ buildInputs = [
+ glib
+ libgee
+ gtk4
+ json-glib
+ libadwaita
+ libarchive
+ libglycin
+ libhighscore
+ libmanette-1-alpha
+ sqlite
+ libGL
+ libepoxy
+ libpulseaudio
+ SDL2
+ librsvg
+ libmirage
+ feedbackd
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Rewrite of Highscore, formerly gnome-games";
+ homepage = "https://gitlab.gnome.org/World/highscore/";
+ license = lib.licenses.gpl3Plus;
+ inherit (libhighscore.meta) maintainers platforms;
+ };
+})
diff --git a/pkgs/by-name/hi/highscore/package.nix b/pkgs/by-name/hi/highscore/package.nix
new file mode 100644
index 000000000000..9ca252e1ff23
--- /dev/null
+++ b/pkgs/by-name/hi/highscore/package.nix
@@ -0,0 +1,73 @@
+{
+ symlinkJoin,
+ wrapGAppsHook4,
+ gtk4,
+ feedbackd,
+ librsvg,
+ glycin-loaders,
+ highscore-unwrapped,
+ highscore-blastem,
+ highscore-bsnes,
+ highscore-desmume,
+ highscore-gearsystem,
+ highscore-mednafen,
+ highscore-mgba,
+ highscore-mupen64plus,
+ highscore-nestopia,
+ highscore-prosystem,
+ highscore-sameboy,
+ highscore-stella,
+
+ # Allow users to override
+ cores ? builtins.filter (p: p.meta.available) [
+ highscore-blastem
+ highscore-bsnes
+ highscore-desmume
+ highscore-gearsystem
+ highscore-mednafen
+ highscore-mgba
+ highscore-mupen64plus
+ highscore-nestopia
+ highscore-prosystem
+ highscore-sameboy
+ highscore-stella
+ ],
+}:
+
+symlinkJoin {
+ pname = "highscore";
+ inherit (highscore-unwrapped) version meta;
+
+ paths = [ highscore-unwrapped ] ++ cores;
+
+ nativeBuildInputs = [
+ wrapGAppsHook4
+ ];
+
+ buildInputs = [
+ # For gsettings-schemas
+ highscore-unwrapped
+ gtk4
+ feedbackd
+ # For GDK_PIXBUF_MODULE_FILE
+ librsvg
+ ];
+
+ dontWrapGApps = true;
+
+ # symlinkJoin doesn't run other build phases
+ postBuild = ''
+ rm $out/share/dbus-1/services/app.drey.Highscore{,.SearchProvider}.service
+ cp {${highscore-unwrapped},$out}/share/dbus-1/services/app.drey.Highscore.service
+ cp {${highscore-unwrapped},$out}/share/dbus-1/services/app.drey.Highscore.SearchProvider.service
+ substituteInPlace $out/share/dbus-1/services/app.drey.Highscore{,.SearchProvider}.service \
+ --replace-fail "${highscore-unwrapped}" "$out"
+
+ gappsWrapperArgsHook
+
+ makeWrapper ${highscore-unwrapped}/bin/highscore $out/bin/highscore \
+ "''${gappsWrapperArgs[@]}" \
+ --prefix XDG_DATA_DIRS : "${glycin-loaders}/share" \
+ --set HIGHSCORE_CORES_DIR $out/lib/highscore/cores
+ '';
+}
diff --git a/pkgs/by-name/ic/icecast/package.nix b/pkgs/by-name/ic/icecast/package.nix
index 7200b2e25c90..770ce90b5f8c 100644
--- a/pkgs/by-name/ic/icecast/package.nix
+++ b/pkgs/by-name/ic/icecast/package.nix
@@ -2,36 +2,48 @@
lib,
stdenv,
fetchurl,
- libxml2,
- libxslt,
+ pkg-config,
curl,
- libvorbis,
- libtheora,
- speex,
+ libigloo,
libkate,
libopus,
+ libtheora,
+ libvorbis,
+ libxml2,
+ libxslt,
+ rhash,
+ speex,
+ nixosTests,
}:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "icecast";
- version = "2.4.4";
+ version = "2.5.0";
src = fetchurl {
- url = "http://downloads.xiph.org/releases/icecast/icecast-${version}.tar.gz";
- sha256 = "0i2d9rhav0x6js2qhjf5iy6j2a7f0d11ail0lfv40hb1kygrgda9";
+ url = "http://downloads.xiph.org/releases/icecast/icecast-${finalAttrs.version}.tar.gz";
+ hash = "sha256-2aoHx0Ka7BnZUP9v1CXDcfdxWM00/yIPwZGywYbGfHo=";
};
+ nativeBuildInputs = [ pkg-config ];
+
buildInputs = [
- libxml2
- libxslt
curl
- libvorbis
- libtheora
- speex
+ libigloo
libkate
libopus
+ libtheora
+ libvorbis
+ libxml2
+ libxslt
+ rhash
+ speex
];
+ passthru.tests = {
+ inherit (nixosTests) icecast;
+ };
+
meta = {
description = "Server software for streaming multimedia";
mainProgram = "icecast";
@@ -50,4 +62,4 @@ stdenv.mkDerivation rec {
maintainers = with lib.maintainers; [ jcumming ];
platforms = with lib.platforms; unix;
};
-}
+})
diff --git a/pkgs/by-name/ki/kicad/versions.nix b/pkgs/by-name/ki/kicad/versions.nix
index 1d76961809bf..cba6c1d4dbcc 100644
--- a/pkgs/by-name/ki/kicad/versions.nix
+++ b/pkgs/by-name/ki/kicad/versions.nix
@@ -3,23 +3,23 @@
{
"kicad" = {
kicadVersion = {
- version = "9.0.6";
+ version = "9.0.7";
src = {
- rev = "878335d000462f1498adc4267854bb594a21bd36";
- sha256 = "0mfnlx0dlpk3jz1b8pard6b7ax1ycyv069k4vg89ph2bia1a9d98";
+ rev = "45f01a94961af4dfa9a179d25bcf642cd8c80b92";
+ sha256 = "0glsdq5c54d2sif0jmpym79i6vham5w3kzcvcr0yq5nimqig7h0q";
};
};
libVersion = {
- version = "9.0.6";
+ version = "9.0.7";
libSources = {
- symbols.rev = "e92aabf81dc1af151fa452a33679dcb42b93fcbd";
- symbols.sha256 = "03k3y86mgc10ir5l1gdzc0r7w1gg7iavb1zl31kgfh9hnfmgv06w";
- templates.rev = "710c895e2f3be0ec366139bf33c9ca711c990630";
+ symbols.rev = "65d897cc92950ff2af888eb67e527ba7a2b99fe8";
+ symbols.sha256 = "08qb4rqxsyhrcvj1k200m2c06jjy7jwjmf9n1qkcm0biqqc5dba4";
+ templates.rev = "cdf507d0373b5bfd8161b45f6fb86a49b56c4694";
templates.sha256 = "0zs29zn8qjgxv0w1vyr8yxmj02m8752zagn4vcraqgik46dwg2id";
- footprints.rev = "0836ca140b415055e373de97c466961088d8972a";
- footprints.sha256 = "0jzkrmzkxv3kqqmkpq5dpp3shy9ajfg1b1yzhk4ddzvy8l05qym4";
- packages3d.rev = "1e24671163ce0f44bf57b46445c7e7be1a95977d";
- packages3d.sha256 = "04hw6b4hyl2plfgynin3dv7siqml4341264wz2wngddszq8z32ki";
+ footprints.rev = "084757e0326f98c10943b8ffe5be284fe912a160";
+ footprints.sha256 = "1w7dkb93s84ymi1syxpzacbmkxlnlh0k4z1c62nabspb901nn524";
+ packages3d.rev = "123ddef066ce40e20443e678c5baf6a7d4a04399";
+ packages3d.sha256 = "1bv1k8i01x7gyayrlkzl3d2nsf7mcdmzx8gjwx1i2va9557rgli9";
};
};
};
diff --git a/pkgs/by-name/ko/koodo-reader/bump-abi-compat.patch b/pkgs/by-name/ko/koodo-reader/bump-abi-compat.patch
new file mode 100644
index 000000000000..c9e2ba143fd4
--- /dev/null
+++ b/pkgs/by-name/ko/koodo-reader/bump-abi-compat.patch
@@ -0,0 +1,78 @@
+diff --git a/package.json b/package.json
+index 3a001b5..c6ba849 100644
+--- a/package.json
++++ b/package.json
+@@ -14,6 +14,8 @@
+ "repository": "https://github.com/koodo-reader/koodo-reader",
+ "private": false,
+ "resolutions": {
++ "nan": "2.24.0",
++ "node-abi": "3.85.0",
+ "//": "See https://github.com/facebook/create-react-app/issues/11773",
+ "react-error-overlay": "6.0.9"
+ },
+@@ -22,7 +24,7 @@
+ "adm-zip": "^0.5.2",
+ "axios": "^0.19.2",
+ "basic-ftp": "^5.0.5",
+- "better-sqlite3": "^11.6.0",
++ "better-sqlite3": "^12.4.5",
+ "buffer": "^6.0.3",
+ "chardet": "^2.0.0",
+ "copy-text-to-clipboard": "^2.2.0",
+diff --git a/yarn.lock b/yarn.lock
+index 83cf080..0dda6d2 100644
+--- a/yarn.lock
++++ b/yarn.lock
+@@ -5358,10 +5358,10 @@ bcrypt-pbkdf@^1.0.0, bcrypt-pbkdf@^1.0.2:
+ dependencies:
+ tweetnacl "^0.14.3"
+
+-better-sqlite3@^11.6.0:
+- version "11.6.0"
+- resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-11.6.0.tgz#e50736956e6fe1c30dc94f1bc94a9c15d63b7b6b"
+- integrity sha512-2J6k/eVxcFYY2SsTxsXrj6XylzHWPxveCn4fKPKZFv/Vqn/Cd7lOuX4d7rGQXT5zL+97MkNL3nSbCrIoe3LkgA==
++better-sqlite3@^12.4.5:
++ version "12.5.0"
++ resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-12.5.0.tgz#c570873d9635b5d56baa52f7e72634c2c589f35f"
++ integrity sha512-WwCZ/5Diz7rsF29o27o0Gcc1Du+l7Zsv7SYtVPG0X3G/uUI1LqdxrQI7c9Hs2FWpqXXERjW9hp6g3/tH7DlVKg==
+ dependencies:
+ bindings "^1.5.0"
+ prebuild-install "^7.1.1"
+@@ -10853,10 +10853,10 @@ mz@^2.7.0:
+ object-assign "^4.0.1"
+ thenify-all "^1.0.0"
+
+-nan@^2.19.0, nan@^2.20.0:
+- version "2.22.0"
+- resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.0.tgz#31bc433fc33213c97bad36404bb68063de604de3"
+- integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==
++nan@2.24.0, nan@^2.19.0, nan@^2.20.0:
++ version "2.24.0"
++ resolved "https://registry.yarnpkg.com/nan/-/nan-2.24.0.tgz#a8919b36e692aa5b260831910e4f81419fc0a283"
++ integrity sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==
+
+ nanoid@^3.3.6:
+ version "3.3.6"
+@@ -10906,17 +10906,10 @@ no-case@^3.0.4:
+ lower-case "^2.0.2"
+ tslib "^2.0.3"
+
+-node-abi@^3.0.0, node-abi@^3.3.0:
+- version "3.71.0"
+- resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.71.0.tgz#52d84bbcd8575efb71468fbaa1f9a49b2c242038"
+- integrity sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==
+- dependencies:
+- semver "^7.3.5"
+-
+-node-abi@^3.45.0:
+- version "3.74.0"
+- resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.74.0.tgz#5bfb4424264eaeb91432d2adb9da23c63a301ed0"
+- integrity sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==
++node-abi@3.85.0, node-abi@^3.0.0, node-abi@^3.3.0, node-abi@^3.45.0:
++ version "3.85.0"
++ resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.85.0.tgz#b115d575e52b2495ef08372b058e13d202875a7d"
++ integrity sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==
+ dependencies:
+ semver "^7.3.5"
+
diff --git a/pkgs/by-name/ko/koodo-reader/bump-node-abi.patch b/pkgs/by-name/ko/koodo-reader/bump-node-abi.patch
deleted file mode 100644
index ca73761e30f9..000000000000
--- a/pkgs/by-name/ko/koodo-reader/bump-node-abi.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/yarn.lock b/yarn.lock
-index 83cf080..8bee81e 100644
---- a/yarn.lock
-+++ b/yarn.lock
-@@ -10914,9 +10914,9 @@ node-abi@^3.0.0, node-abi@^3.3.0:
- semver "^7.3.5"
-
- node-abi@^3.45.0:
-- version "3.74.0"
-- resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.74.0.tgz#5bfb4424264eaeb91432d2adb9da23c63a301ed0"
-- integrity sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==
-+ version "3.77.0"
-+ resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.77.0.tgz#3ad90d5c9d45663420e5aa4ff58dbf4e3625419a"
-+ integrity sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==
- dependencies:
- semver "^7.3.5"
-
diff --git a/pkgs/by-name/ko/koodo-reader/package.nix b/pkgs/by-name/ko/koodo-reader/package.nix
index 8ce9ba71e4b9..c1013d200b71 100644
--- a/pkgs/by-name/ko/koodo-reader/package.nix
+++ b/pkgs/by-name/ko/koodo-reader/package.nix
@@ -14,32 +14,32 @@
wrapGAppsHook3,
xcbuild,
- electron_37,
+ electron_39,
nix-update-script,
}:
let
- electron = electron_37; # don't use latest electron to avoid going over the supported abi numbers
+ electron = electron_39; # don't use latest electron to avoid going over the supported abi numbers
in
stdenv.mkDerivation (finalAttrs: {
pname = "koodo-reader";
- version = "2.2.3";
+ version = "2.2.4";
src = fetchFromGitHub {
owner = "troyeguo";
repo = "koodo-reader";
tag = "v${finalAttrs.version}";
- hash = "sha256-VQC1xvFw6TDw6P3UcQ4Y++UpjSgEGiRh0M+i1Z8O+N4=";
+ hash = "sha256-KUcI+0+ICMdwAF30CLM3QdS+X8UnYiHhcYkvEQ6WgS8=";
};
patches = [
- ./bump-node-abi.patch
+ ./bump-abi-compat.patch
];
- offlineCache = fetchYarnDeps {
+ yarnOfflineCache = fetchYarnDeps {
inherit (finalAttrs) src patches;
- hash = "sha256-gRaHVWSTBwjVcswy6DVk5yLympudbDcKkvWDry4rsvI=";
+ hash = "sha256-XyFcY0XeNdNzLuqfv9Z2/41875Nl5OrAT/QVyI/+OQc=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/li/libchdr/package.nix b/pkgs/by-name/li/libchdr/package.nix
new file mode 100644
index 000000000000..453c20d9382c
--- /dev/null
+++ b/pkgs/by-name/li/libchdr/package.nix
@@ -0,0 +1,48 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ pkg-config,
+ zlib,
+ zstd,
+}:
+
+stdenv.mkDerivation {
+ pname = "libchdr";
+ version = "0-unstable-2025-12-27";
+
+ src = fetchFromGitHub {
+ owner = "rtissera";
+ repo = "libchdr";
+ rev = "07a7dad23378b001f4ab174ef51bd6553f883edd";
+ hash = "sha256-FCZ442mDF/pO5sNHNcPtWxSOB8o3I0YwwNXzu1B2vVQ=";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+
+ buildInputs = [
+ zlib
+ zstd
+ ];
+
+ cmakeFlags = [
+ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
+ (lib.cmakeBool "INSTALL_STATIC_LIBS" stdenv.hostPlatform.isStatic)
+ (lib.cmakeBool "WITH_SYSTEM_ZLIB" true)
+ (lib.cmakeBool "WITH_SYSTEM_ZSTD" true)
+ (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib")
+ (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include")
+ ];
+
+ meta = {
+ description = "Standalone library for reading MAME's CHDv1-v5 formats";
+ homepage = "https://github.com/rtissera/libchdr";
+ license = lib.licenses.bsd3;
+ maintainers = with lib.maintainers; [ aleksana ];
+ platforms = lib.platforms.all;
+ };
+}
diff --git a/pkgs/by-name/li/libhighscore/package.nix b/pkgs/by-name/li/libhighscore/package.nix
new file mode 100644
index 000000000000..47a8c87eeb4a
--- /dev/null
+++ b/pkgs/by-name/li/libhighscore/package.nix
@@ -0,0 +1,54 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitLab,
+ meson,
+ ninja,
+ pkg-config,
+ glib,
+ vala,
+ gobject-introspection,
+ unstableGitUpdater,
+}:
+
+stdenv.mkDerivation {
+ pname = "libhighscore";
+ version = "0-unstable-2025-12-06";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "alicem";
+ repo = "libhighscore";
+ rev = "6920d96b440ccfc070fc87c39c51beab8ac053bd";
+ hash = "sha256-JXfPLPHA3HwXRG6sT/5TSMbtU+BqBh/+ZVrzJxW0xLg=";
+ };
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ glib # For glib-mkenums
+ gobject-introspection # For g-ir-scanner
+ vala # For vapigen
+ ];
+
+ # In highscore-1.pc
+ propagatedBuildInputs = [
+ glib
+ ];
+
+ passthru.updateScript = unstableGitUpdater {
+ hardcodeZeroVersion = true;
+ };
+
+ meta = {
+ description = "Interface for porting emulators to Highscore";
+ homepage = "https://gitlab.gnome.org/alicem/libhighscore";
+ license = lib.licenses.lgpl21Plus;
+ maintainers = with lib.maintainers; [
+ chuangzhu
+ aleksana
+ ];
+ platforms = lib.platforms.linux;
+ };
+}
diff --git a/pkgs/by-name/li/libigloo/package.nix b/pkgs/by-name/li/libigloo/package.nix
new file mode 100644
index 000000000000..89dc3a318127
--- /dev/null
+++ b/pkgs/by-name/li/libigloo/package.nix
@@ -0,0 +1,27 @@
+{
+ lib,
+ stdenv,
+ fetchurl,
+ rhash,
+ icecast,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "libigloo";
+ version = "0.9.5";
+
+ src = fetchurl {
+ url = "https://downloads.xiph.org/releases/igloo/libigloo-${finalAttrs.version}.tar.gz";
+ hash = "sha256-6iLpEZ96IYiBD5kQDFFVxnYtRZWuITuawp5ptPC4cok=";
+ };
+
+ buildInputs = [ rhash ];
+
+ doCheck = true;
+
+ meta = {
+ description = "Generic C framework used and developed by the Icecast project";
+ license = lib.licenses.gpl2Only;
+ inherit (icecast.meta) maintainers;
+ };
+})
diff --git a/pkgs/by-name/li/libiodbc/package.nix b/pkgs/by-name/li/libiodbc/package.nix
index 5a699674b787..93c3ac3b9fc5 100644
--- a/pkgs/by-name/li/libiodbc/package.nix
+++ b/pkgs/by-name/li/libiodbc/package.nix
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = lib.optionals useGTK [ gtk2 ];
+ # temporary workaround for compile error with GCC 15
+ # https://github.com/openlink/iODBC/issues/113
+ env.NIX_CFLAGS_COMPILE = "-std=gnu17";
+
preBuild = ''
export NIX_LDFLAGS_BEFORE="-rpath $out/lib"
'';
diff --git a/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix b/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix
index 03ce92adf84a..5e89f53f019c 100644
--- a/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix
+++ b/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix
@@ -37,7 +37,7 @@ let
pname = "librewolf-bin-unwrapped";
- version = "143.0.4-1";
+ version = "146.0.1-1";
in
stdenv.mkDerivation {
@@ -47,9 +47,9 @@ stdenv.mkDerivation {
url = "https://gitlab.com/api/v4/projects/44042130/packages/generic/librewolf/${version}/librewolf-${version}-${arch}-package.tar.xz";
hash =
{
- i686-linux = "sha256-GKdnsh7nkXlZh8QYBUhmB003IqfPI1+KxogZCxmyiUY=";
- x86_64-linux = "sha256-1ZwXfE13K8X/fhBs0ibFaM7A/bRDNbU4hpEGdZIjIRk=";
- aarch64-linux = "sha256-ICxN/7gqFlqH910DTo+cbrM1AoioY2Jbp2U8AfNxGUg=";
+ i686-linux = "sha256-Z8dQhYH3PuKI2vXQ2nQ4CmyNyDxtAirX0YVxI0r5n3w=";
+ x86_64-linux = "sha256-pRpSHAkLQpg80pOfUBvGBujr4fDDg4wpltVIw9wrlBE=";
+ aarch64-linux = "sha256-BTqzBAohy+kcWou2WKStoAykcqV1DYfLRNbjUF/TTIY=";
}
.${stdenv.hostPlatform.system} or throwSystem;
};
diff --git a/pkgs/by-name/lt/ltspice/package.nix b/pkgs/by-name/lt/ltspice/package.nix
index 88440254f8b6..5bec10da633d 100644
--- a/pkgs/by-name/lt/ltspice/package.nix
+++ b/pkgs/by-name/lt/ltspice/package.nix
@@ -46,7 +46,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
mkdir -p $out
- install -Dm644 ltspice.png $out/share/pixmaps/ltspice.png
+ install -Dm644 ltspice.png $out/share/icons/hicolor/256x256/apps/ltspice.png
install -m755 -d $out/libexec/ltspice
install -m755 *.exe $out/libexec/ltspice
diff --git a/pkgs/by-name/mu/music-assistant/package.nix b/pkgs/by-name/mu/music-assistant/package.nix
index 3133cb4026f8..3877924bfac4 100644
--- a/pkgs/by-name/mu/music-assistant/package.nix
+++ b/pkgs/by-name/mu/music-assistant/package.nix
@@ -47,14 +47,14 @@ assert
python.pkgs.buildPythonApplication rec {
pname = "music-assistant";
- version = "2.7.2";
+ version = "2.7.3";
pyproject = true;
src = fetchFromGitHub {
owner = "music-assistant";
repo = "server";
tag = version;
- hash = "sha256-JOS7t4vXkxHXvcI0tCAw3KfcrohUD4NV4w6oYIncQv4=";
+ hash = "sha256-6D3B88wjfVHvNhNrTDOu77eAkherOqdBVafUhht7okA=";
};
patches = [
diff --git a/pkgs/by-name/mu/music-assistant/providers.nix b/pkgs/by-name/mu/music-assistant/providers.nix
index 5768277224ed..a40106dec226 100644
--- a/pkgs/by-name/mu/music-assistant/providers.nix
+++ b/pkgs/by-name/mu/music-assistant/providers.nix
@@ -1,7 +1,7 @@
# Do not edit manually, run ./update-providers.py
{
- version = "2.7.2";
+ version = "2.7.3";
providers = {
airplay = ps: [
];
diff --git a/pkgs/by-name/ne/newlisp/package.nix b/pkgs/by-name/ne/newlisp/package.nix
index a1d4f0682593..d6cda77945ba 100644
--- a/pkgs/by-name/ne/newlisp/package.nix
+++ b/pkgs/by-name/ne/newlisp/package.nix
@@ -20,6 +20,9 @@ stdenv.mkDerivation (finalAttrs: {
readline
];
+ # Build fails with C standard newer than C17
+ env.NIX_CFLAGS_COMPILE = "-std=gnu17";
+
configureScript = "./configure-alt";
doCheck = true;
diff --git a/pkgs/by-name/pi/pipeline/package.nix b/pkgs/by-name/pi/pipeline/package.nix
index a1ef37c6b805..53e4c5898a60 100644
--- a/pkgs/by-name/pi/pipeline/package.nix
+++ b/pkgs/by-name/pi/pipeline/package.nix
@@ -13,16 +13,18 @@
pkg-config,
wrapGAppsHook4,
glib,
- appstream-glib,
+ appstream,
desktop-file-utils,
blueprint-compiler,
sqlite,
clapper-unwrapped,
+ clapper-enhancers,
gettext,
gst_all_1,
- gtuber,
glib-networking,
gnome,
+ libjxl,
+ libheif,
webp-pixbuf-loader,
librsvg,
nix-update-script,
@@ -35,12 +37,12 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitLab {
owner = "schmiddi-on-mobile";
repo = "pipeline";
- rev = finalAttrs.version;
+ tag = finalAttrs.version;
hash = "sha256-iMBdyjN6fMDOSE110tA9i6+D4UaNGG2aBoq+4s0YyJI=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
- inherit (finalAttrs) src;
+ inherit (finalAttrs) src pname version;
hash = "sha256-w+q90i6FQRPFceniUfwouU2p673O4sVnsRfowCu2fWY=";
};
@@ -48,12 +50,13 @@ stdenv.mkDerivation (finalAttrs: {
meson
ninja
cargo
+ gettext
rustPlatform.cargoSetupHook
rustc
pkg-config
wrapGAppsHook4
glib
- appstream-glib
+ appstream
desktop-file-utils
blueprint-compiler
];
@@ -64,38 +67,46 @@ stdenv.mkDerivation (finalAttrs: {
openssl
sqlite
clapper-unwrapped
-
+ clapper-enhancers
gst_all_1.gstreamer
gst_all_1.gst-libav
gst_all_1.gst-plugins-base
- (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
+ gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
- gettext
- gtuber
+ gst_all_1.gst-plugins-ugly
+ gst_all_1.gst-vaapi
glib-networking # For GIO_EXTRA_MODULES. Fixes "TLS support is not available"
];
- # Pull in WebP support for YouTube avatars.
- # In postInstall to run before gappsWrapperArgsHook.
- postInstall = ''
- export GDK_PIXBUF_MODULE_FILE="${
- gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
- extraLoaders = [
- webp-pixbuf-loader
- librsvg
- ];
- }
- }"
+ preFixup = ''
+ gappsWrapperArgs+=(
+ --set GDK_PIXBUF_MODULE_FILE ${
+ gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
+ extraLoaders = [
+ libjxl
+ librsvg
+ webp-pixbuf-loader
+ libheif.lib
+ ];
+ }
+ }
+ --set CLAPPER_ENHANCERS_PATH ${clapper-enhancers}/${clapper-enhancers.passthru.pluginPath}
+ )
'';
- passthru.updateScript = nix-update-script { attrPath = finalAttrs.pname; };
+ passthru = {
+ updateScript = nix-update-script { };
+ };
meta = {
description = "Watch YouTube and PeerTube videos in one place";
homepage = "https://mobile.schmidhuberj.de/pipeline";
mainProgram = "tubefeeder";
license = lib.licenses.gpl3Plus;
- maintainers = with lib.maintainers; [ chuangzhu ];
+ maintainers = with lib.maintainers; [
+ chuangzhu
+ normalcea
+ ];
platforms = lib.platforms.linux;
};
})
diff --git a/pkgs/by-name/qu/quick-lint-js/package.nix b/pkgs/by-name/qu/quick-lint-js/package.nix
index bbdcb9dfeae9..8dbf16b71b7e 100644
--- a/pkgs/by-name/qu/quick-lint-js/package.nix
+++ b/pkgs/by-name/qu/quick-lint-js/package.nix
@@ -2,10 +2,12 @@
buildPackages,
cmake,
fetchFromGitHub,
+ fetchpatch2,
lib,
ninja,
stdenv,
versionCheckHook,
+
}:
let
@@ -53,6 +55,13 @@ stdenv.mkDerivation (finalAttrs: {
pname = "quick-lint-js";
inherit version src;
+ patches = [
+ (fetchpatch2 {
+ url = "https://github.com/quick-lint/quick-lint-js/commit/a2798b35021f34bc798e2b70ec703075dd5eb7f6.patch";
+ hash = "sha256-jEzFFntk94HQPNYLqU1XlwCnhaqt95Kk3TXmfqBGxBc=";
+ })
+ ];
+
nativeBuildInputs = [
cmake
ninja
diff --git a/pkgs/by-name/re/renameutils/package.nix b/pkgs/by-name/re/renameutils/package.nix
index 77180071f168..8dfafc645538 100644
--- a/pkgs/by-name/re/renameutils/package.nix
+++ b/pkgs/by-name/re/renameutils/package.nix
@@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
--replace "ls_program = xstrdup(\"ls\")" "ls_program = xstrdup(\"${coreutils}/bin/ls\")"
'';
+ # Fix build with gcc 15
+ env.NIX_CFLAGS_COMPILE = "-std=gnu17";
+
nativeBuildInputs = [ readline ];
preConfigure = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) ''
diff --git a/pkgs/by-name/re/reproxy/package.nix b/pkgs/by-name/re/reproxy/package.nix
index 87c292e75d74..c911263de1c9 100644
--- a/pkgs/by-name/re/reproxy/package.nix
+++ b/pkgs/by-name/re/reproxy/package.nix
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "reproxy";
- version = "1.3.0";
+ version = "1.4.0";
src = fetchFromGitHub {
owner = "umputun";
repo = "reproxy";
tag = "v${version}";
- hash = "sha256-zpfgwlGYXe7I3yO8Cc53ZrPDpXn8hk6cOcXwWyxub+A=";
+ hash = "sha256-pnmm/JEMcQ5UQUwUqGdzC/BphrH4tBz79Bq3c13GqbA=";
};
vendorHash = null;
diff --git a/pkgs/by-name/sa/safeeyes/package.nix b/pkgs/by-name/sa/safeeyes/package.nix
index f3170d96e093..4f79a7a4adeb 100644
--- a/pkgs/by-name/sa/safeeyes/package.nix
+++ b/pkgs/by-name/sa/safeeyes/package.nix
@@ -19,12 +19,12 @@
python3Packages.buildPythonApplication rec {
pname = "safeeyes";
- version = "3.2.0";
+ version = "3.3.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
- hash = "sha256-t8PMQxQjfyW3t0bamo8kAlminAMfUe0ThtzrgUc33Xo=";
+ hash = "sha256-11nw13AAqupSIZRrhmDaViO3V/yYK8/xsVF8ylS49Rw=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/se/searxng/package.nix b/pkgs/by-name/se/searxng/package.nix
index 22a2e45f124b..59dbb4e24f26 100644
--- a/pkgs/by-name/se/searxng/package.nix
+++ b/pkgs/by-name/se/searxng/package.nix
@@ -85,6 +85,7 @@ python.pkgs.toPythonModule (
whitenoise
]
++ httpx.optional-dependencies.http2
+ ++ httpx.optional-dependencies.socks
++ httpx-socks.optional-dependencies.asyncio;
# tests try to connect to network
diff --git a/pkgs/by-name/st/stellarium/package.nix b/pkgs/by-name/st/stellarium/package.nix
index 0e693f0bbcfb..9ba7325f883b 100644
--- a/pkgs/by-name/st/stellarium/package.nix
+++ b/pkgs/by-name/st/stellarium/package.nix
@@ -22,13 +22,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "stellarium";
- version = "25.3";
+ version = "25.4";
src = fetchFromGitHub {
owner = "Stellarium";
repo = "stellarium";
rev = "v${finalAttrs.version}";
- hash = "sha256-9uQ6u1+dSszmKG8eY6kSXhqsCPRGw6tulCTCrLByIxc=";
+ hash = "sha256-DA4VuVTVGTTzZA9ml+sh6R2qUU+QhHD9k1qOb8C5sSA=";
};
patches = [
diff --git a/pkgs/by-name/tr/trayer/package.nix b/pkgs/by-name/tr/trayer/package.nix
index e1e3ce54a3a4..7110e480abb6 100644
--- a/pkgs/by-name/tr/trayer/package.nix
+++ b/pkgs/by-name/tr/trayer/package.nix
@@ -5,6 +5,7 @@
pkg-config,
gdk-pixbuf,
gtk2,
+ fetchpatch,
}:
stdenv.mkDerivation rec {
@@ -22,6 +23,15 @@ stdenv.mkDerivation rec {
patchShebangs configure
'';
+ patches = [
+ # Adding missing arg in function decleration
+ (fetchpatch {
+ name = "fix_function_dec.patch";
+ url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/x11-misc/trayer-srg/files/trayer-srg-1.1.8-fix-define.patch?id=94ae89d1b044c24138d5c8903df68e9654a5462f";
+ hash = "sha256-LighVaBDePheBO+dWG6JHhm/Y6sxdtvTrBar8VrPRH4=";
+ })
+ ];
+
nativeBuildInputs = [ pkg-config ];
buildInputs = [
diff --git a/pkgs/by-name/ug/uget/fix-match-ugtk_setting_dialog_new-declaration-with-d.patch b/pkgs/by-name/ug/uget/fix-match-ugtk_setting_dialog_new-declaration-with-d.patch
new file mode 100644
index 000000000000..27e819a5205b
--- /dev/null
+++ b/pkgs/by-name/ug/uget/fix-match-ugtk_setting_dialog_new-declaration-with-d.patch
@@ -0,0 +1,26 @@
+From 3a63063a5722947e8089d33ebdaf3ef6b293e2b3 Mon Sep 17 00:00:00 2001
+From: Moraxyc
+Date: Sat, 3 Jan 2026 13:24:27 +0800
+Subject: [PATCH] fix: match ugtk_setting_dialog_new declaration with
+ definition
+
+---
+ ui-gtk/UgtkSettingDialog.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ui-gtk/UgtkSettingDialog.h b/ui-gtk/UgtkSettingDialog.h
+index 750949e..0e82638 100644
+--- a/ui-gtk/UgtkSettingDialog.h
++++ b/ui-gtk/UgtkSettingDialog.h
+@@ -75,7 +75,7 @@ struct UgtkSettingDialog
+ struct UgtkMediaWebsiteForm media_website;
+ };
+
+-UgtkSettingDialog* ugtk_setting_dialog_new ();
++UgtkSettingDialog* ugtk_setting_dialog_new (const gchar* title, GtkWindow* parent);
+ void ugtk_setting_dialog_free (UgtkSettingDialog* sdialog);
+
+ void ugtk_setting_dialog_run (UgtkSettingDialog* dialog, UgtkApp* app);
+--
+2.52.0
+
diff --git a/pkgs/by-name/ug/uget/package.nix b/pkgs/by-name/ug/uget/package.nix
index d78dfbfe13f9..386081d06732 100644
--- a/pkgs/by-name/ug/uget/package.nix
+++ b/pkgs/by-name/ug/uget/package.nix
@@ -26,6 +26,13 @@ stdenv.mkDerivation rec {
sha256 = "0jchvgkkphhwp2z7vd4axxr9ns8b6vqc22b2z8a906qm8916wd8i";
};
+ patches = [
+ # Fix build with gcc15
+ # UgtkMenubar.c:188:19: error: too many arguments to function 'ugtk_setting_dialog_new'; expected 0, have 2
+ # UgtkSettingDialog.c:50:21: error: conflicting types for 'ugtk_setting_dialog_new'; have 'UgtkSettingDialog *(const gchar *, GtkWindow *)' {aka 'UgtkSettingDialog *(const char *, struct _GtkWindow *)'}
+ ./fix-match-ugtk_setting_dialog_new-declaration-with-d.patch
+ ];
+
# Apply upstream fix for -fno-common toolchains.
postPatch = ''
# TODO: remove the replace once upstream fix is released:
diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix
index f6c9f3c1c639..5c370f7da788 100644
--- a/pkgs/by-name/ve/vesktop/package.nix
+++ b/pkgs/by-name/ve/vesktop/package.nix
@@ -88,11 +88,16 @@ stdenv.mkDerivation (finalAttrs: {
export CSC_IDENTITY_AUTO_DISCOVERY=false
'';
- # electron builds must be writable on darwin
- preBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
- cp -r ${electron.dist}/Electron.app .
- chmod -R u+w Electron.app
- '';
+ # electron builds must be writable
+ preBuild =
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
+ cp -r ${electron.dist}/Electron.app .
+ chmod -R u+w Electron.app
+ ''
+ + lib.optionalString stdenv.hostPlatform.isLinux ''
+ cp -r ${electron.dist} electron-dist
+ chmod -R u+w electron-dist
+ '';
buildPhase = ''
runHook preBuild
@@ -101,7 +106,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpm exec electron-builder \
--dir \
-c.asarUnpack="**/*.node" \
- -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \
+ -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else "electron-dist"} \
-c.electronVersion=${electron.version}
runHook postBuild
diff --git a/pkgs/by-name/xf/xfig/package.nix b/pkgs/by-name/xf/xfig/package.nix
index f88b70103928..fd2e3ca1b263 100644
--- a/pkgs/by-name/xf/xfig/package.nix
+++ b/pkgs/by-name/xf/xfig/package.nix
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
+ fetchpatch,
makeWrapper,
imagemagick,
libXpm,
@@ -38,6 +39,18 @@ stdenv.mkDerivation rec {
libXft
];
+ # Upstream-accepted patches for C23 compatibility from Gentoo and Debian
+ patches = [
+ (fetchpatch {
+ url = "https://www-user.tu-chemnitz.de/~hamari/distfiles/xfig-3.2.9a-modern-c.patch";
+ hash = "sha256-brUonsrWP97QnIkHnAHa2PSAiV9JUVOzmu0kvuLNFGw=";
+ })
+ (fetchpatch {
+ url = "https://sources.debian.org/data/main/x/xfig/1%3A3.2.9a-4/debian/patches/19_boolean.patch";
+ hash = "sha256-cMUyp/93bCva4gT349IThhuYmOGZBd0EZ38Y4JrxZn8=";
+ })
+ ];
+
postPatch = ''
substituteInPlace src/main.c --replace-fail '"fig2dev"' '"${fig2dev}/bin/fig2dev"'
'';
diff --git a/pkgs/by-name/ze/zeroc-ice/fix-mb_init.patch b/pkgs/by-name/ze/zeroc-ice/fix-mb_init.patch
new file mode 100644
index 000000000000..bac289fc81f6
--- /dev/null
+++ b/pkgs/by-name/ze/zeroc-ice/fix-mb_init.patch
@@ -0,0 +1,34 @@
+From faa694a7171a06f83034fd869adc4cffa2ae0c18 Mon Sep 17 00:00:00 2001
+From: laurensmiers
+Date: Wed, 22 Oct 2025 14:50:23 +0200
+Subject: [PATCH] fix: mb_init does not accept any parameter
+
+Defined in mbchar.c:114 :
+```c
+void mb_init()
+/*
+ * Initialize multi-byte character settings.
+ * First called prior to setting the 'mcpp_mode'.
+ * Will be called again each time the multibyte character encoding is changed.
+ */
+{
+```
+
+It does not expect any parameters.
+---
+ mcpp_main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mcpp_main.c b/mcpp_main.c
+index 54a62b2..44265ad 100644
+--- a/mcpp_main.c
++++ b/mcpp_main.c
+@@ -302,7 +302,7 @@ int mcpp_lib_main
+ inc_dirp = &null; /* Initialize to current (null) directory */
+ cur_fname = cur_fullname = "(predefined)"; /* For predefined macros */
+ init_defines(); /* Predefine macros */
+- mb_init(TRUE); /* Should be initialized prior to get options */
++ mb_init(); /* Should be initialized prior to get options */
+ do_options( argc, argv, &in_file, &out_file); /* Command line options */
+
+ /* Open input file, "-" means stdin. */
diff --git a/pkgs/by-name/ze/zeroc-ice/fix-reserved-keywords.patch b/pkgs/by-name/ze/zeroc-ice/fix-reserved-keywords.patch
new file mode 100644
index 000000000000..90b409f322c8
--- /dev/null
+++ b/pkgs/by-name/ze/zeroc-ice/fix-reserved-keywords.patch
@@ -0,0 +1,55 @@
+From bd5ddbde9e4ed24101cdc86007f26e95f38dd5b1 Mon Sep 17 00:00:00 2001
+From: laurensmiers
+Date: Wed, 22 Oct 2025 14:52:30 +0200
+Subject: [PATCH] fix: don't use reserved keyword for goto statement
+
+Rename:
+- 'true' to 'exit_success'
+- 'false' to 'exit_fail'
+
+Chose not to change the flow of the code by removing the goto's to
+avoid regressions.
+---
+ system.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/system.c b/system.c
+index 646caf6..0a15aec 100644
+--- a/system.c
++++ b/system.c
+@@ -1738,7 +1738,7 @@ static int open_file(
+ if (! fullname) /* Non-existent or directory */
+ return FALSE;
+ if (included( fullname)) /* Once included */
+- goto true;
++ goto exit_success;
+
+ if ((max_open != 0 && max_open <= include_nest)
+ /* Exceed the known limit of open files */
+@@ -1765,12 +1765,12 @@ static int open_file(
+ if ((fp = mcpp_fopen( fullname, "r")) == NULL) {
+ file->fp = mcpp_fopen( cur_fullname, "r");
+ fseek( file->fp, file->pos, SEEK_SET);
+- goto false;
++ goto exit_fail;
+ }
+ if (max_open == 0) /* Remember the limit of the system */
+ max_open = include_nest;
+ } else if (fp == NULL) /* No read permission */
+- goto false;
++ goto exit_fail;
+ /* Truncate buffer of the includer to save memory */
+ len = (int) (file->bptr - file->buffer);
+ if (len) {
+@@ -1802,9 +1802,9 @@ static int open_file(
+ if (mkdep && ((mkdep & MD_SYSHEADER) || ! infile->sys_header))
+ put_depend( fullname); /* Output dependency line */
+
+-true:
++exit_success:
+ return TRUE;
+-false:
++exit_fail:
+ free( fullname);
+ return FALSE;
+ }
diff --git a/pkgs/by-name/ze/zeroc-ice/package.nix b/pkgs/by-name/ze/zeroc-ice/package.nix
index 9331ac1502a6..6832f757beb7 100644
--- a/pkgs/by-name/ze/zeroc-ice/package.nix
+++ b/pkgs/by-name/ze/zeroc-ice/package.nix
@@ -6,6 +6,7 @@
expat,
libedit,
lmdb,
+ mcpp,
openssl,
libxcrypt,
python3, # for tests only
@@ -13,21 +14,26 @@
}:
let
- zeroc_mcpp = stdenv.mkDerivation rec {
- pname = "zeroc-mcpp";
- version = "2.7.2.14";
+ mcpp' = mcpp.overrideAttrs (prevAttrs: rec {
+ pname = "mcpp-zeroc-ice";
+ version = "2.7.3";
src = fetchFromGitHub {
owner = "zeroc-ice";
repo = "mcpp";
rev = "v${version}";
- sha256 = "1psryc2ql1cp91xd3f8jz84mdaqvwzkdq2pr96nwn03ds4cd88wh";
+ hash = "sha256-hZGU5mqMRTTHV2bR9uzM6ALj1sypjPxO5Ajg8aKzLxc=";
};
- configureFlags = [ "--enable-mcpplib" ];
- installFlags = [ "PREFIX=$(out)" ];
- };
+ # zeroc-ice's fork diverges quite a bit from upstream mcpp, so prevAttrs.patches is not used here
+ patches = [
+ # See https://github.com/zeroc-ice/mcpp/pull/12
+ ./fix-mb_init.patch
+ ./fix-reserved-keywords.patch
+ ];
+ installFlags = prevAttrs.installFlags or [ ] ++ [ "PREFIX=$(out)" ];
+ });
in
stdenv.mkDerivation rec {
pname = "zeroc-ice";
@@ -41,7 +47,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
- zeroc_mcpp
+ mcpp'
bzip2
expat
libedit
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index 9d42368f724d..9f7394d52ab6 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
url = "https://raw.githubusercontent.com/sagemath/sage/9.2/build/pkgs/ecl/patches/write_error.patch";
sha256 = "0hfxacpgn4919hg0mn4wf4m8r7y592r4gw7aqfnva7sckxi6w089";
})
+ ]
+ ++ lib.optionals stdenv.cc.isGNU [
# Fix gcc15 compat for downstream packages e.g. sage
# error: ‘bool’ cannot be defined via ‘typedef’
(fetchpatch {
diff --git a/pkgs/development/python-modules/aioslimproto/default.nix b/pkgs/development/python-modules/aioslimproto/default.nix
index 7ea0fb920fee..9c91609aeacd 100644
--- a/pkgs/development/python-modules/aioslimproto/default.nix
+++ b/pkgs/development/python-modules/aioslimproto/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "aioslimproto";
- version = "3.1.2";
+ version = "3.1.4";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = "aioslimproto";
tag = version;
- hash = "sha256-NrMcM3pIzTw9FkfVDptIIdIya7jHtwwzT7RRJTmB40c=";
+ hash = "sha256-9WPlVAj/Bo7k/oWHI3xDkn07OrQdvNruou2s/zxB61Q=";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/pulumi-aws/default.nix b/pkgs/development/python-modules/pulumi-aws/default.nix
index 8eb788b87961..81329bad9500 100644
--- a/pkgs/development/python-modules/pulumi-aws/default.nix
+++ b/pkgs/development/python-modules/pulumi-aws/default.nix
@@ -26,6 +26,14 @@ buildPythonPackage rec {
sourceRoot = "${src.name}/sdk/python";
+ postPatch = ''
+ # We need the version of pulumi-aws in its package metadata to be accurate
+ # as this seems to be used to determine which version of the
+ # pulumi-resource-aws plugin to be dynamically downloaded by the pulumi CLI
+ substituteInPlace pyproject.toml \
+ --replace-fail "7.0.0a0+dev" "${version}"
+ '';
+
build-system = [ setuptools ];
dependencies = [
diff --git a/pkgs/development/python-modules/pygame/0001-Use-SDL_AllocFormat-instead-of-creating-it-manually.patch b/pkgs/development/python-modules/pygame-original/0001-Use-SDL_AllocFormat-instead-of-creating-it-manually.patch
similarity index 100%
rename from pkgs/development/python-modules/pygame/0001-Use-SDL_AllocFormat-instead-of-creating-it-manually.patch
rename to pkgs/development/python-modules/pygame-original/0001-Use-SDL_AllocFormat-instead-of-creating-it-manually.patch
diff --git a/pkgs/development/python-modules/pygame/0001-Use-SDL_HasSurfaceRLE-when-available.patch b/pkgs/development/python-modules/pygame-original/0001-Use-SDL_HasSurfaceRLE-when-available.patch
similarity index 100%
rename from pkgs/development/python-modules/pygame/0001-Use-SDL_HasSurfaceRLE-when-available.patch
rename to pkgs/development/python-modules/pygame-original/0001-Use-SDL_HasSurfaceRLE-when-available.patch
diff --git a/pkgs/development/python-modules/pygame/0002-Don-t-assume-that-touch-devices-support-get_num_fing.patch b/pkgs/development/python-modules/pygame-original/0002-Don-t-assume-that-touch-devices-support-get_num_fing.patch
similarity index 100%
rename from pkgs/development/python-modules/pygame/0002-Don-t-assume-that-touch-devices-support-get_num_fing.patch
rename to pkgs/development/python-modules/pygame-original/0002-Don-t-assume-that-touch-devices-support-get_num_fing.patch
diff --git a/pkgs/development/python-modules/pygame/default.nix b/pkgs/development/python-modules/pygame-original/default.nix
similarity index 94%
rename from pkgs/development/python-modules/pygame/default.nix
rename to pkgs/development/python-modules/pygame-original/default.nix
index d4a4c92f89c8..58e869518086 100644
--- a/pkgs/development/python-modules/pygame/default.nix
+++ b/pkgs/development/python-modules/pygame-original/default.nix
@@ -6,6 +6,7 @@
replaceVars,
fontconfig,
python,
+ pythonAtLeast,
# build-system
cython,
@@ -128,11 +129,13 @@ buildPythonPackage rec {
pythonImportsCheck = [ "pygame" ];
meta = {
- description = "Python library for games";
+ description = "Python library for games (original distribution)";
homepage = "https://www.pygame.org/";
changelog = "https://github.com/pygame/pygame/releases/tag/${src.tag}";
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [ emilytrau ];
platforms = lib.platforms.unix;
+ # https://github.com/pygame/pygame/issues/4706
+ broken = pythonAtLeast "3.14";
};
}
diff --git a/pkgs/development/python-modules/pygame/fix-dependency-finding.patch b/pkgs/development/python-modules/pygame-original/fix-dependency-finding.patch
similarity index 100%
rename from pkgs/development/python-modules/pygame/fix-dependency-finding.patch
rename to pkgs/development/python-modules/pygame-original/fix-dependency-finding.patch
diff --git a/pkgs/development/python-modules/pygame/skip-mixer-test.patch b/pkgs/development/python-modules/pygame-original/skip-mixer-test.patch
similarity index 100%
rename from pkgs/development/python-modules/pygame/skip-mixer-test.patch
rename to pkgs/development/python-modules/pygame-original/skip-mixer-test.patch
diff --git a/pkgs/development/python-modules/pygame/skip-rle-tests.patch b/pkgs/development/python-modules/pygame-original/skip-rle-tests.patch
similarity index 100%
rename from pkgs/development/python-modules/pygame/skip-rle-tests.patch
rename to pkgs/development/python-modules/pygame-original/skip-rle-tests.patch
diff --git a/pkgs/development/python-modules/sphinx-autodoc2/default.nix b/pkgs/development/python-modules/sphinx-autodoc2/default.nix
index d50c265dab7c..edcddd2b3462 100644
--- a/pkgs/development/python-modules/sphinx-autodoc2/default.nix
+++ b/pkgs/development/python-modules/sphinx-autodoc2/default.nix
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
+ fetchDebianPatch,
pythonOlder,
flit-core,
@@ -30,6 +31,17 @@ buildPythonPackage rec {
hash = "sha256-Wu079THK1mHVilD2Fx9dIzuIOOYOXpo/EMxVczNutCI=";
};
+ patches = [
+ # compatibility with astroid 4, see: https://github.com/sphinx-extensions2/sphinx-autodoc2/pull/93
+ (fetchDebianPatch {
+ pname = "python-sphinx-autodoc2";
+ inherit version;
+ debianRevision = "9";
+ patch = "astroid-4.patch";
+ hash = "sha256-tRWDee30GSQ+AobCAHdtw65B6YyRpzn7kW5rzK7/QOk=";
+ })
+ ];
+
build-system = [ flit-core ];
dependencies = [
diff --git a/pkgs/development/tools/godot/common.nix b/pkgs/development/tools/godot/common.nix
index a50cf1bb6c1a..2064cb098b52 100644
--- a/pkgs/development/tools/godot/common.nix
+++ b/pkgs/development/tools/godot/common.nix
@@ -423,6 +423,11 @@ let
url = "https://github.com/godotengine/godot/commit/6ce71f0fb0a091cffb6adb4af8ab3f716ad8930b.patch";
hash = "sha256-hgAtAtCghF5InyGLdE9M+9PjPS1BWXWGKgIAyeuqkoU=";
})
+ (fetchpatch {
+ name = "thorvg-header-fix.patch";
+ url = "https://github.com/godotengine/godot/commit/1823460787a6c1bb8e4eaf21ac2a3f90d24d5ee0.patch";
+ hash = "sha256-PcHEMXd0v2c3j6Eitxt5uWi6cD+OmsBAn3TNMNRNPog=";
+ })
# Fix a crash in the mono test project build. It no longer seems to
# happen in 4.4, but an existing fix couldn't be identified.
./CSharpLanguage-fix-crash-in-reload_assemblies-after-.patch
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 3642e3c24a53..d632b1ade6ea 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -19,7 +19,9 @@ in
enableGold ? withGold stdenv.targetPlatform,
enableGoldDefault ? false,
- enableShared ? !stdenv.hostPlatform.isStatic,
+ # shared lib linking fails on cygwin due to multiple definitions
+ # https://cygwin.com/cgit/cygwin-packages/binutils/blame/binutils.cygport
+ enableShared ? (!stdenv.hostPlatform.isStatic && !stdenv.hostPlatform.isCygwin),
# WARN: Enabling all targets increases output size to a multiple.
withAllTargets ? false,
}:
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/plotly-chart-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/plotly-chart-card/package.nix
index d868f674497c..8388b37d3b01 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/plotly-chart-card/package.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/plotly-chart-card/package.nix
@@ -1,5 +1,6 @@
{
lib,
+ nodejs_22,
buildNpmPackage,
buildGoModule,
fetchFromGitHub,
@@ -24,7 +25,7 @@ let
};
in
-buildNpmPackage rec {
+buildNpmPackage.override { nodejs = nodejs_22; } rec {
pname = "plotly-graph-card";
version = "3.3.5";
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 8b558dcb85e8..33622bd1bd99 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -529,8 +529,8 @@ let
src = fetchFromGitHub {
owner = "nginx";
repo = "njs";
- rev = "0.8.9";
- hash = "sha256-TalS9EJP+vB1o3BKaTvXXnudjKhNOcob3kDAyeKej3c=";
+ tag = "0.9.4";
+ hash = "sha256-Ee55QKaeZ0mYGKUroKr/AYGoOCakEonU483qkhmZdzU=";
};
# njs module sources have to be writable during nginx build, so we copy them
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix
index 440e8b1e729f..2caacc492dde 100644
--- a/pkgs/servers/klipper/default.nix
+++ b/pkgs/servers/klipper/default.nix
@@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "klipper";
- version = "0.13.0-unstable-2025-11-17";
+ version = "0.13.0-unstable-2026-01-02";
src = fetchFromGitHub {
owner = "KevinOConnor";
repo = "klipper";
- rev = "b4c7cf4a3365a7bdc05b1ac146f8f48b5666ce8d";
- sha256 = "sha256-R4WHzRGz+0Tv/bGlTplARuIOlajrIlJjP6wmPMonDEY=";
+ rev = "e60fe3d99b545d7e42ff2f5278efa5822668a57c";
+ sha256 = "sha256-ab3Z+J3wR/j5j6GS7vwcH42isn7xVPm+eH1pWQ2J8D0=";
};
sourceRoot = "${src.name}/klippy";
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index c96b9b11df59..368e2ddf9b56 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -3,6 +3,7 @@
stdenv,
fetchurl,
fetchpatch2,
+ buildPackages,
pcre,
pcre2,
jemalloc,
@@ -24,7 +25,6 @@ let
{
version,
hash,
- extraNativeBuildInputs ? [ ],
}:
stdenv.mkDerivation rec {
pname = "varnish";
@@ -35,12 +35,15 @@ let
inherit hash;
};
+ strictDeps = true;
+
nativeBuildInputs = with python3.pkgs; [
pkg-config
docutils
sphinx
makeWrapper
];
+
buildInputs = [
libxslt
groff
@@ -54,6 +57,14 @@ let
++ lib.optional stdenv.hostPlatform.isDarwin libunwind
++ lib.optional stdenv.hostPlatform.isLinux jemalloc;
+ configureFlags = [
+ # the checks behind those to not work when doing cross but for simplicity we always define them
+ "ac_cv_have_tcp_fastopen=yes"
+ "ac_cv_have_tcp_keep=yes"
+ "ac_cv_have_working_close_range=yes"
+ "PYTHON=${buildPackages.python3.interpreter}"
+ ];
+
buildFlags = [ "localstatedir=/var/run" ];
patches =
@@ -75,11 +86,32 @@ let
];
postPatch = ''
- substituteInPlace bin/varnishtest/vtc_main.c --replace /bin/rm "${coreutils}/bin/rm"
+ substituteInPlace bin/varnishtest/vtc_main.c --replace-fail /bin/rm "${coreutils}/bin/rm"
+ '';
+
+ postConfigure = lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+ # prevent cache invalidation
+ substituteInPlace bin/varnishd/Makefile \
+ --replace-fail "vhp_hufdec.h: vhp_gen_hufdec" "vhp_hufdec.h:"
+
+ ln -s "${buildPackages.varnish.vhp_hufdec_h}" bin/varnishd/vhp_hufdec.h
+
+ substituteInPlace bin/varnishstat/Makefile \
+ --replace-fail "varnishstat_curses_help.c: varnishstat_help_gen" "varnishstat_curses_help.c:" \
+ --replace-fail "./varnishstat_help_gen" "${buildPackages.varnish}/bin/varnishstat_help_gen"
+
+ # the docs execute lots of commands to gather options and flags
+ substituteInPlace doc/Makefile \
+ --replace-fail "SUBDIRS = graphviz sphinx" "SUBDIRS = graphviz"
+ substituteInPlace Makefile \
+ --replace-fail "include lib bin vmod etc doc man contrib" "include lib bin vmod etc doc contrib"
'';
postInstall = ''
wrapProgram "$out/sbin/varnishd" --prefix PATH : "${lib.makeBinPath [ stdenv.cc ]}"
+ ''
+ + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+ cp bin/varnishd/vhp_hufdec.h $vhp_hufdec_h
'';
# https://github.com/varnishcache/varnish-cache/issues/1875
@@ -88,7 +120,10 @@ let
outputs = [
"out"
"dev"
+ ]
+ ++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
"man"
+ "vhp_hufdec_h" # only used for cross compilation
];
passthru = {
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 7dfe86967e25..894042f7d9ab 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -734,6 +734,7 @@ mapAliases {
gsettings-qt = lomiri.gsettings-qt; # Added 2025-12-06
gtkcord4 = throw "'gtkcord4' has been renamed to/replaced by 'dissent'"; # Converted to throw 2025-10-27
gtkextra = throw "'gtkextra' has been removed due to lack of maintenance upstream."; # Added 2025-06-10
+ gtuber = throw "'gtuber' has been removed due to being discontinued by upstream."; # Added 2025-12-12
guile-disarchive = throw "'guile-disarchive' has been renamed to/replaced by 'disarchive'"; # Converted to throw 2025-10-27
guile-sdl = throw "guile-sdl has been removed, as it was broken"; # Added 2025-08-25
gutenprintBin = gutenprint-bin; # Added 2025-08-21
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index fcb0a5310058..b9f0fc43bfae 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -13443,12 +13443,15 @@ self: super: with self; {
pygal = callPackage ../development/python-modules/pygal { };
- pygame = callPackage ../development/python-modules/pygame { };
+ # pygame-ce is better maintained upstream, the breaking point was https://github.com/NixOS/nixpkgs/pull/475917#issuecomment-3706940043
+ pygame = if pythonAtLeast "3.14" then pygame-ce else pygame-original;
pygame-ce = callPackage ../development/python-modules/pygame-ce { };
pygame-gui = callPackage ../development/python-modules/pygame-gui { };
+ pygame-original = callPackage ../development/python-modules/pygame-original { };
+
pygame-sdl2 = callPackage ../development/python-modules/pygame-sdl2 { };
pygatt = callPackage ../development/python-modules/pygatt { };