Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
Fabián Heredia Montiel 2026-01-22 10:40:19 -06:00
commit 82c1a79c43
No known key found for this signature in database
GPG key ID: 8605A622F972CD0A
54 changed files with 761 additions and 437 deletions

View file

@ -295,6 +295,7 @@ let
elemAt
isList
concatAttrValues
replaceElemAt
;
inherit (self.strings)
concatStrings

View file

@ -2019,4 +2019,41 @@ rec {
:::
*/
concatAttrValues = set: concatLists (attrValues set);
/**
Replaces a list's nth element with a new element
# Inputs
`list`
: Input list
`idx`
: index to replace
`newElem`
: new element to replace with
# Type
```
replaceElemAt :: [a] -> int - b -> [a]
```
# Examples
:::{.example}
## `replaceElemAt` usage example
```nix
lib.replaceElemAt` [1 2 3] 0 "a"
=> ["a" 2 3]
```
:::
*/
replaceElemAt =
list: idx: newElem:
assert lib.assertMsg (idx >= 0 && idx < length list)
"'lists.replaceElemAt' called with index ${toString idx} on a list of size ${toString (length list)}";
genList (i: if i == idx then newElem else elemAt list i) (length list);
}

View file

@ -4909,4 +4909,17 @@ runTests {
targetTarget = "prefix-tt";
};
};
testReplaceElemAt = {
expr = lib.replaceElemAt [ 1 2 3 ] 1 "a";
expected = [
1
"a"
3
];
};
testReplaceElemAtOutOfRange = testingThrow (lib.replaceElemAt [ 1 2 3 ] 5 "a");
testReplaceElemAtNegative = testingThrow (lib.replaceElemAt [ 1 2 3 ] (-1) "a");
}

View file

@ -1355,13 +1355,13 @@
"vendorHash": "sha256-CcbNooB1AjLbyMkTNmAklqNm6o6FVCBEBiEnD/U5yGU="
},
"terraform-routeros_routeros": {
"hash": "sha256-KhxNuzVaZFCO6XTCaj9wBddgw7TXULh/6LnMjiqPRLg=",
"hash": "sha256-19QR6kugDQoWlW3U1u2PX/7+S+Rb+o58HWsKHHd7pqo=",
"homepage": "https://registry.terraform.io/providers/terraform-routeros/routeros",
"owner": "terraform-routeros",
"repo": "terraform-provider-routeros",
"rev": "v1.98.0",
"rev": "v1.99.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-+u00PWotHxCQ/BveXY23ulrQszoyG59GCkUIYKwlulc="
"vendorHash": "sha256-0VVL8wF8bAB77erJ4YgHN5Q4gkuRPL30OucJe7Jvj1w="
},
"timohirt_hetznerdns": {
"hash": "sha256-wmXZ6+5Ex3G2JUdw2is2VIo/X1X0V1Auw5KmYpGllug=",

View file

@ -310,27 +310,20 @@ stdenv.mkDerivation (
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
./modtool-newmod-permissions.patch
];
passthru =
shared.passthru
// {
# Deps that are potentially overridden and are used inside GR plugins - the same version must
inherit
boost
volk
;
# Used by many gnuradio modules, the same attribute is present in
# previous gnuradio versions where there it's log4cpp.
logLib = spdlog;
}
// lib.optionalAttrs (hasFeature "gr-uhd") {
inherit uhd;
}
// lib.optionalAttrs (hasFeature "gr-pdu") {
inherit libiio libad9361;
}
// lib.optionalAttrs (hasFeature "gr-qtgui") {
inherit (libsForQt5) qwt;
};
passthru = shared.passthru // {
# Deps that are potentially overridden and are used inside GR plugins - the same version must
inherit
uhd
boost
volk
libiio
libad9361
;
# Used by many gnuradio modules, the same attribute is present in
# previous gnuradio versions where there it's log4cpp.
logLib = spdlog;
inherit (libsForQt5) qwt;
};
postInstall =
shared.postInstall

View file

@ -50,6 +50,8 @@
soapyplutosdr
soapyremote
soapyrtlsdr
]
++ lib.optionals (unwrapped.hasFeature "gr-uhd") [
soapyuhd
],
# Allow to add whatever you want to the wrapper
@ -62,10 +64,14 @@ let
pythonPkgs =
extraPythonPackages
++ [ (unwrapped.python.pkgs.toPythonModule unwrapped) ]
++ unwrapped.passthru.uhd.pythonPath
++ lib.optionals (unwrapped.passthru.uhd.pythonPath != [ ]) [
(unwrapped.python.pkgs.toPythonModule unwrapped.passthru.uhd)
]
++ lib.optionals (unwrapped.hasFeature "gr-uhd") (
unwrapped.passthru.uhd.pythonPath
# Check if uhd was built with python support, which means it should
# be added as a python module too.
++ lib.optionals (unwrapped.passthru.uhd.pythonPath != [ ]) [
(unwrapped.python.pkgs.toPythonModule unwrapped.passthru.uhd)
]
)
# Add the extraPackages as python modules as well
++ (map unwrapped.python.pkgs.toPythonModule extraPackages)
++ lib.flatten (
@ -81,35 +87,31 @@ let
pname = unwrapped.pname + "-wrapped";
inherit (unwrapped) outputs version;
makeWrapperArgs = builtins.concatStringsSep " " (
[
]
# Emulating wrapGAppsHook3 & wrapQtAppsHook working together
++
lib.optionals ((unwrapped.hasFeature "gnuradio-companion") || (unwrapped.hasFeature "gr-qtgui"))
[
"--prefix"
"XDG_DATA_DIRS"
":"
"$out/share"
"--prefix"
"XDG_DATA_DIRS"
":"
"$out/share/gsettings-schemas/${pname}"
"--prefix"
"XDG_DATA_DIRS"
":"
"${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}"
"--prefix"
"XDG_DATA_DIRS"
":"
"${hicolor-icon-theme}/share"
# Needs to run `gsettings` on startup, see:
# https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1764890.html
"--prefix"
"PATH"
":"
"${lib.getBin glib}/bin"
]
lib.optionals ((unwrapped.hasFeature "gnuradio-companion") || (unwrapped.hasFeature "gr-qtgui")) [
"--prefix"
"XDG_DATA_DIRS"
":"
"$out/share"
"--prefix"
"XDG_DATA_DIRS"
":"
"$out/share/gsettings-schemas/${pname}"
"--prefix"
"XDG_DATA_DIRS"
":"
"${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}"
"--prefix"
"XDG_DATA_DIRS"
":"
"${hicolor-icon-theme}/share"
# Needs to run `gsettings` on startup, see:
# https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1764890.html
"--prefix"
"PATH"
":"
"${lib.getBin glib}/bin"
]
++ lib.optionals (unwrapped.hasFeature "gnuradio-companion") [
"--set"
"GDK_PIXBUF_MODULE_FILE"
@ -157,45 +159,34 @@ let
":"
"${lib.makeSearchPath soapysdr.passthru.searchPath extraSoapySdrPackages}"
]
++
lib.optionals (unwrapped.hasFeature "gr-qtgui")
# 3.7 builds with qt4
(
if lib.versionAtLeast unwrapped.versionAttr.major "3.8" then
[
"--prefix"
"QT_PLUGIN_PATH"
":"
"${lib.makeSearchPath unwrapped.qt.qtbase.qtPluginPrefix (
map lib.getBin (
[
unwrapped.qt.qtbase
]
++ lib.optionals stdenv.hostPlatform.isLinux [
unwrapped.qt.qtwayland
]
)
)}"
"--prefix"
"QML2_IMPORT_PATH"
":"
"${lib.makeSearchPath unwrapped.qt.qtbase.qtQmlPrefix (
map lib.getBin (
[
unwrapped.qt.qtbase
]
++ lib.optionals stdenv.hostPlatform.isLinux [
unwrapped.qt.qtwayland
]
)
)}"
]
else
# Add here qt4 related environment for 3.7?
[
]
++ lib.optionals (unwrapped.hasFeature "gr-qtgui") [
"--prefix"
"QT_PLUGIN_PATH"
":"
"${lib.makeSearchPath unwrapped.qt.qtbase.qtPluginPrefix (
map lib.getBin (
[
unwrapped.qt.qtbase
]
++ lib.optionals stdenv.hostPlatform.isLinux [
unwrapped.qt.qtwayland
]
)
)}"
"--prefix"
"QML2_IMPORT_PATH"
":"
"${lib.makeSearchPath unwrapped.qt.qtbase.qtQmlPrefix (
map lib.getBin (
[
unwrapped.qt.qtbase
]
++ lib.optionals stdenv.hostPlatform.isLinux [
unwrapped.qt.qtwayland
]
)
)}"
]
++ extraMakeWrapperArgs
);

View file

@ -50,12 +50,10 @@ let
};
in
symlinkJoin {
name = "bird-lg-${bird-lg-frontend.version}";
pname = "bird-lg";
inherit (bird-lg-frontend) version meta;
paths = [
bird-lg-frontend
bird-lg-proxy
];
}
// {
inherit (bird-lg-frontend) version meta;
}

View file

@ -3,24 +3,24 @@
let
pname = "brave";
version = "1.86.139";
version = "1.86.142";
allArchives = {
aarch64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
hash = "sha256-+KJzQZuCf2zpouF+hZ2hAmJ57yWt2qAemdYt6X4x+P0=";
hash = "sha256-K0Df1uZb802SVFKnj/dNShPZSw46DYvwxKG8w9bzB20=";
};
x86_64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-l0KtiMU+L7k6i5sjiPC24CABUdn9ax1uKqkqWe/flPM=";
hash = "sha256-juFpIax+GzXsVPkSz2U0hjczIaaF8Mj+CT0uqKgaRQo=";
};
aarch64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip";
hash = "sha256-Iv5UjfYzR+nmiW/LY22iOUvjGIbTRkjWC3fDigCmbFo=";
hash = "sha256-uQA2jA+QMbON3z8lHclxe1/S2OszitS9xYbTCS5MR+Q=";
};
x86_64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip";
hash = "sha256-X9McQDYPQ93zzTjR5Lq3+OFxjWGAR/JGa/u39GZL1Vs=";
hash = "sha256-kzhi03Q30mqK+XNaLpJ9zvHiCgYAJZqX7npL7ywMZbE=";
};
};

View file

@ -5,18 +5,18 @@
versionCheckHook,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "cloudlist";
version = "1.2.2";
version = "1.3.0";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "cloudlist";
tag = "v${version}";
hash = "sha256-xCGGyPfD6cQgVTowh8ZO9Ak3xH5Hct51Vm18FJWLF1E=";
tag = "v${finalAttrs.version}";
hash = "sha256-Tm2gqRZxfeu5gOndVeeFU9HCePpXyx/G73VzVuJRRzY=";
};
vendorHash = "sha256-PW9Yu8d5PPIL6cc692N8e5qO73drEgfu7JrVeihggcs=";
vendorHash = "sha256-LkjJrxrK1N+6v6ilMT68lu21B3NemxdquMIA5e8r1a0=";
subPackages = [ "cmd/cloudlist/" ];
@ -32,9 +32,9 @@ buildGoModule rec {
meta = {
description = "Tool for listing assets from multiple cloud providers";
homepage = "https://github.com/projectdiscovery/cloudlist";
changelog = "https://github.com/projectdiscovery/cloudlist/releases/tag/v${version}";
changelog = "https://github.com/projectdiscovery/cloudlist/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "cloudlist";
};
}
})

View file

@ -1,22 +1,22 @@
{
"version": "2.3.35",
"version": "2.3.41",
"vscodeVersion": "1.105.1",
"sources": {
"x86_64-linux": {
"url": "https://downloads.cursor.com/production/cf8353edc265f5e46b798bfb276861d0bf3bf129/linux/x64/Cursor-2.3.35-x86_64.AppImage",
"hash": "sha256-o/NIEtSOlUl67g18mWDG4M0thPA4VIfiWudv0Xiov08="
"url": "https://downloads.cursor.com/production/2ca326e0d1ce10956aea33d54c0e2d8c13c58a32/linux/x64/Cursor-2.3.41-x86_64.AppImage",
"hash": "sha256-ItUgknMzSDeXxN3Yi/pz2wZoz7vVVqx9nGXuGmbHbXc="
},
"aarch64-linux": {
"url": "https://downloads.cursor.com/production/cf8353edc265f5e46b798bfb276861d0bf3bf129/linux/arm64/Cursor-2.3.35-aarch64.AppImage",
"hash": "sha256-2l9ppSze2nkvAfszblkhMSl+QhGENNe62AlgCcXBhfM="
"url": "https://downloads.cursor.com/production/2ca326e0d1ce10956aea33d54c0e2d8c13c58a32/linux/arm64/Cursor-2.3.41-aarch64.AppImage",
"hash": "sha256-0D0IbkUyvCyCbf8apO7WG3KrcCEgv2TLNRjFOD8mcgU="
},
"x86_64-darwin": {
"url": "https://downloads.cursor.com/production/cf8353edc265f5e46b798bfb276861d0bf3bf129/darwin/x64/Cursor-darwin-x64.dmg",
"hash": "sha256-Jl6t4oHC6nqOGDKUvvfViPgKJzpG2vpvht4JMBLHzVk="
"url": "https://downloads.cursor.com/production/2ca326e0d1ce10956aea33d54c0e2d8c13c58a32/darwin/x64/Cursor-darwin-x64.dmg",
"hash": "sha256-/GcQppfoBS9rIksQ/wYYH9Is7Sw2ZnjoW1Tk0hN8Y7g="
},
"aarch64-darwin": {
"url": "https://downloads.cursor.com/production/cf8353edc265f5e46b798bfb276861d0bf3bf129/darwin/arm64/Cursor-darwin-arm64.dmg",
"hash": "sha256-ZHxvA+iDluib9PLl5ilthdd0Z+xT+w9OSD25vySc9wI="
"url": "https://downloads.cursor.com/production/2ca326e0d1ce10956aea33d54c0e2d8c13c58a32/darwin/arm64/Cursor-darwin-arm64.dmg",
"hash": "sha256-ejhhXRhNTMh9n2cPkpNC0msk4Z1OFD2EzxwkJYw92XU="
}
}
}

View file

@ -7,11 +7,11 @@
stdenv.mkDerivation rec {
pname = "courier-unicode";
version = "2.4.0";
version = "2.5.0";
src = fetchurl {
url = "mirror://sourceforge/courier/courier-unicode/${version}/courier-unicode-${version}.tar.bz2";
hash = "sha256-6Ay88OOmzC56Z+waGDDWxOiqD/aXcy7B0R5UTg5kVw8=";
hash = "sha256-Xsp6U2UWEg745d5gFOaQcRvGs/saG9V9LxkDxU3ts+A=";
};
nativeBuildInputs = [

View file

@ -29,17 +29,17 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "deno";
version = "2.6.4";
version = "2.6.5";
src = fetchFromGitHub {
owner = "denoland";
repo = "deno";
tag = "v${finalAttrs.version}";
fetchSubmodules = true; # required for tests
hash = "sha256-g2NZz8yLozle9LvEHbG9KIOBKc7x/RIkZLUyPUKd6U8=";
hash = "sha256-oNZXPBW61IQdA3MFS1gxNoInSCt6mUitedAXx+tuFaw=";
};
cargoHash = "sha256-FB/8RuFRKzihGLfyOoUNuhIGgo8RzDTtrUh8nsqp0GE=";
cargoHash = "sha256-H1vX/aiB5inK6Fo0l3sEZnvqgRImTpjkxRZHLBPgz0U=";
patches = [
./patches/0002-tests-replace-hardcoded-paths.patch

View file

@ -20,11 +20,11 @@ stdenv.mkDerivation rec {
# the wrapped version of Descent 3. Once theres a stable version of Descent
# 3 that supports the -additionaldir command-line option, we can stop using
# an unstable version of Descent 3.
version = "1.5.0-beta-unstable-2025-06-15";
version = "1.5.0-beta-unstable-2026-01-21";
src = fetchFromGitHub {
owner = "DescentDevelopers";
repo = "Descent3";
rev = "0171d7b76a0c6d77908169af8ff3ea8d4d1cd930";
rev = "937e649ea616b7b732211443c5c7378d144cd39c";
leaveDotGit = true;
# Descent 3 is supposed to display its Git commit hash in the bottom right
# corner of the main menu. That feature only works if either the .git
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
git rev-parse --verify HEAD | tr --delete '\n' > git-hash.txt
rm -r .git
'';
hash = "sha256-/lJlrV1OswlNa8nMfiUdQof7zb+wgwI97MwNCZFNd8g=";
hash = "sha256-WGjIHBGpV0j7K3LHRNv4qkZkSrZTEQGryixl6i0BK8U=";
};
hardeningDisable = [ "format" ];

View file

@ -17,13 +17,17 @@ stdenv.mkDerivation {
};
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp easysnap* $out/bin/
for i in $out/bin/*; do
substituteInPlace $i \
--replace zfs ${zfs}/bin/zfs
--replace-fail zfs ${lib.getExe zfs}
done
runHook postInstall
'';
meta = {

View file

@ -8,21 +8,20 @@
gitMinimal,
deno,
nix-update-script,
versionCheckHook,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fresh";
version = "0.1.77";
version = "0.1.86";
src = fetchFromGitHub {
owner = "sinelaw";
repo = "fresh";
tag = "v${finalAttrs.version}";
hash = "sha256-+ESguKlMUB2gm9zNee35wKdZmKLhLcPFa3Z7n4KNpVQ=";
hash = "sha256-o67oowSU1V9Cy2RvLEaZ5J3CPX2kD7qByDOc+8gpDq8=";
};
cargoHash = "sha256-MrFVolkqGRESPNPsQPDZGvHNVYyB9+ok4GANgIfBbZU=";
passthru.updateScript = nix-update-script { };
cargoHash = "sha256-I78sdf/p5TZZufMZF8rETRb91veklwNHHByHF1WbLgk=";
nativeBuildInputs = [
pkg-config
@ -31,27 +30,17 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeCheckInputs = [
gitMinimal
rustPlatform.bindgenHook
];
buildInputs = [
openssl
];
# Tests create a local http server to check update functionality
__darwinAllowLocalNetworking = true;
# Due to issues with incorrect import paths with the actual app, I have disabled the checks below. Need to report upstream.
checkFlags = [
"--skip=e2e::"
];
cargoTestFlags = [
"--lib"
"--bins"
];
# The v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem
# To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE
env.RUSTY_V8_ARCHIVE = deno.librusty_v8;
preBuild = ''
mkdir -p $out/share/fresh-editor/plugins/
'';
@ -60,6 +49,24 @@ rustPlatform.buildRustPackage (finalAttrs: {
rm -rf $out/bin/fresh.dSYM
'';
# Tests create a local http server to check update functionality
__darwinAllowLocalNetworking = true;
# Due to issues with incorrect import paths with the actual app, I have disabled the checks below. Need to report upstream.
checkFlags = [
"--skip=e2e::"
"--skip=services::plugins::embedded::tests::test_extract_plugins"
];
cargoTestFlags = [
"--lib"
"--bins"
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Terminal-based text editor with LSP support and TypeScript plugins";
homepage = "https://github.com/sinelaw/fresh";

View file

@ -12,14 +12,14 @@
}:
buildGoModule rec {
version = "3.6.3";
version = "3.6.4";
pname = "grafana-loki";
src = fetchFromGitHub {
owner = "grafana";
repo = "loki";
rev = "v${version}";
hash = "sha256-bkB3VXpZIpVjvYF7b2lGNFQ5AbTdadPkLFMdOuzRalo=";
hash = "sha256-zzYW0zg0Cg18aDNS4cGDeTW21K/sDB/BkpsoPpxgFok=";
};
vendorHash = null;

View file

@ -0,0 +1,3 @@
{
"webcrypto": "sha256-HX8CcCRbDlVMLMbKGnqKlrkMT9XITLbQE/2OW9zO72w="
}

View file

@ -1,6 +1,6 @@
{
lib,
flutter335,
flutter338,
fetchFromGitHub,
imagemagick,
alsa-lib,
@ -10,25 +10,28 @@
yq-go,
_experimental-update-script-combinators,
nix-update-script,
dart,
}:
let
pname = "interstellar";
version = "0.11.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "interstellar-app";
repo = "interstellar";
tag = "v${version}";
hash = "sha256-5CFl5pvxentbKCPHkPDj4d5i3d2S3UxkQ56OX14Y8gY=";
hash = "sha256-ZhZBy/KECz/Gs3RSuuXmTtI5pKPBMFQNG/kS8JvEaFc=";
};
in
flutter335.buildFlutterApplication {
flutter338.buildFlutterApplication {
inherit pname version src;
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = lib.importJSON ./git-hashes.json;
nativeBuildInputs = [ imagemagick ];
buildInputs = [
@ -72,6 +75,16 @@ flutter335.buildFlutterApplication {
supportedFeatures = [ ];
}
)
{
command = [
dart.fetchGitHashesScript
"--input"
./pubspec.lock.json
"--output"
./git-hashes.json
];
supportedFeatures = [ ];
}
];
};

View file

@ -244,11 +244,11 @@
"dependency": "direct main",
"description": {
"name": "crypto",
"sha256": "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855",
"sha256": "c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.6"
"version": "3.0.7"
},
"csslib": {
"dependency": "transitive",
@ -978,21 +978,21 @@
"dependency": "direct main",
"description": {
"name": "media_kit",
"sha256": "48c10c3785df5d88f0eef970743f8c99b2e5da2b34b9d8f9876e598f62d9e776",
"sha256": "2a207ea7baf1a2ea2ff2016d512e572ca6fc02a937769effb5c27b4d682b4a53",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.0"
"version": "1.2.3"
},
"media_kit_libs_android_video": {
"dependency": "transitive",
"description": {
"name": "media_kit_libs_android_video",
"sha256": "adff9b571b8ead0867f9f91070f8df39562078c0eb3371d88b9029a2d547d7b7",
"sha256": "3f6274e5ab2de512c286a25c327288601ee445ed8ac319e0ef0b66148bd8f76c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.7"
"version": "1.3.8"
},
"media_kit_libs_ios_video": {
"dependency": "transitive",
@ -1028,11 +1028,11 @@
"dependency": "direct main",
"description": {
"name": "media_kit_libs_video",
"sha256": "958cc55e7065d9d01f52a2842dab2a0812a92add18489f1006d864fb5e42a3ef",
"sha256": "2b235b5dac79c6020e01eef5022c6cc85fedc0df1738aadc6ea489daa12a92a9",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.6"
"version": "1.0.7"
},
"media_kit_libs_windows_video": {
"dependency": "transitive",
@ -1048,11 +1048,11 @@
"dependency": "direct main",
"description": {
"name": "media_kit_video",
"sha256": "a656a9463298c1adc64c57f2d012874f7f2900f0c614d9545a3e7b8bb9e2137b",
"sha256": "afaa509e7b7e0bf247557a3a740cde903a52c34ace9810f94500e127bd7b043d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.0"
"version": "2.0.1"
},
"meta": {
"dependency": "transitive",
@ -1304,26 +1304,6 @@
"source": "hosted",
"version": "2.0.1"
},
"screen_brightness_android": {
"dependency": "transitive",
"description": {
"name": "screen_brightness_android",
"sha256": "d34f5321abd03bc3474f4c381f53d189117eba0b039eac1916aa92cca5fd0a96",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.3"
},
"screen_brightness_platform_interface": {
"dependency": "transitive",
"description": {
"name": "screen_brightness_platform_interface",
"sha256": "737bd47b57746bc4291cab1b8a5843ee881af499514881b0247ec77447ee769c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.0"
},
"screen_retriever": {
"dependency": "transitive",
"description": {
@ -1910,16 +1890,6 @@
"source": "hosted",
"version": "15.0.2"
},
"volume_controller": {
"dependency": "transitive",
"description": {
"name": "volume_controller",
"sha256": "d75039e69c0d90e7810bfd47e3eedf29ff8543ea7a10392792e81f9bded7edf5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.4.0"
},
"wakelock_plus": {
"dependency": "transitive",
"description": {
@ -1981,14 +1951,15 @@
"version": "3.0.3"
},
"webcrypto": {
"dependency": "transitive",
"dependency": "direct overridden",
"description": {
"name": "webcrypto",
"sha256": "e393b3d0b01694a8f81efecf278ed7392877130e6e7b29f578863e4f2d0b2ebd",
"url": "https://pub.dev"
"path": ".",
"ref": "dbb909449cee4b62f352a41038243a1c10690323",
"resolved-ref": "dbb909449cee4b62f352a41038243a1c10690323",
"url": "https://github.com/matehat/webcrypto.dart.git"
},
"source": "hosted",
"version": "0.5.8"
"source": "git",
"version": "0.6.0"
},
"webpush_encryption": {
"dependency": "direct main",
@ -2094,15 +2065,15 @@
"dependency": "direct main",
"description": {
"name": "youtube_explode_dart",
"sha256": "9ff345caf8351c59eb1b7560837f761e08d2beaea3b4187637942715a31a6f58",
"sha256": "3d731d71df9901b1915bae806781df519cff32517e36db279f844ae619669e45",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.5.2"
"version": "3.0.5"
}
},
"sdks": {
"dart": ">=3.9.0 <4.0.0",
"flutter": "3.38.4"
"flutter": "3.38.5"
}
}

View file

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "Lighthouse";
version = "1.3.2";
version = "1.4.0";
src = fetchFromGitHub {
owner = "ShayBox";
repo = "Lighthouse";
rev = version;
hash = "sha256-GgKY7HDu6e/hpYNOZdcjLvaNfQOZMl+H6CmKTbd1LNE=";
hash = "sha256-Ai+d7BKA1o98iOhQ7VXltnWHW/knw122xLZHhFM6gZ0=";
};
cargoHash = "sha256-oC5HA6diRlRWoeeQQgWR32yxZ2BLyFmKbaSkFBLdrXc=";
cargoHash = "sha256-+5fxqWq7akICVmDa8Lc6M8laEAWrrEyg4uCFLoCNRpo=";
nativeBuildInputs = [ pkg-config ];

View file

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "livekit";
version = "1.9.6";
version = "1.9.11";
src = fetchFromGitHub {
owner = "livekit";
repo = "livekit";
rev = "v${version}";
hash = "sha256-hDBdxuAWFJr5iAFOjGdUwO7zNgsVmFXIRaII1T5m20Y=";
hash = "sha256-mmDTY4nWUowSHPTSlvfVaNlv0Rp176H5FvJsYrNnt/8=";
};
vendorHash = "sha256-hgziX88Ty3HYQKgpgu/LqdtzqcfjZktZstsve6jVKk4=";
vendorHash = "sha256-yEAIfef7Ryepcpq9Te+Iamod1SfqXZoluhFaYGYcsVc=";
subPackages = [ "cmd/server" ];

View file

@ -33,20 +33,22 @@
buildClient ? true,
buildServer ? true,
SDL2,
useSDL2 ? true,
sdl3,
# Use SDL3 (experimental) instead of SDL2
useSdl3 ? false,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "luanti";
version = "5.14.0";
version = "5.15.0";
src = fetchFromGitHub {
owner = "luanti-org";
repo = "luanti";
tag = finalAttrs.version;
hash = "sha256-y4Bnlq3nE2u4PN0VPyBP31YORrG6LPPoSb7T5i9JnVM=";
hash = "sha256-ooZyyVFbf8OreYYs3XZlTht10cpdzsRgbOUWyaqX4jw=";
};
patches = [
@ -69,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "BUILD_SERVER" buildServer)
(lib.cmakeBool "BUILD_UNITTESTS" (finalAttrs.finalPackage.doCheck or false))
(lib.cmakeBool "ENABLE_PROMETHEUS" buildServer)
(lib.cmakeBool "USE_SDL2" useSDL2)
(lib.cmakeBool "USE_SDL3" useSdl3)
# Ensure we use system libraries
(lib.cmakeBool "ENABLE_SYSTEM_GMP" true)
(lib.cmakeBool "ENABLE_SYSTEM_JSONCPP" true)
@ -77,14 +79,6 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "ENABLE_UPDATE_CHECKER" false)
# ...but make it clear that this is a nix package
(lib.cmakeFeature "VERSION_EXTRA" "NixOS")
# Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed
(lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin")
(lib.cmakeFeature "CMAKE_INSTALL_DATADIR" "share")
(lib.cmakeFeature "CMAKE_INSTALL_DOCDIR" "share/doc/luanti")
(lib.cmakeFeature "CMAKE_INSTALL_MANDIR" "share/man")
(lib.cmakeFeature "CMAKE_INSTALL_LOCALEDIR" "share/locale")
];
nativeBuildInputs = [
@ -116,9 +110,7 @@ stdenv.mkDerivation (finalAttrs: {
openal
libogg
libvorbis
]
++ lib.optionals (buildClient && useSDL2) [
SDL2
(if useSdl3 then sdl3 else SDL2)
]
++ lib.optionals (buildClient && !stdenv.hostPlatform.isDarwin) [
xorg.libX11

View file

@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
cmake,
ninja,
pkg-config,
SDL2,
xorg,
libGL,
zlib,
freetype,
tinyxml,
openvr,
rapidjson,
zziplib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ogre-next";
version = "3.0.0";
src = fetchFromGitHub {
owner = "OGRECave";
repo = "ogre-next";
tag = "v${finalAttrs.version}";
hash = "sha256-nJkCGKl9+6gApVtqk5OZjTOJllAJIiBKuquTYvR4NPs=";
};
patches = [
(fetchpatch2 {
# https://github.com/OGRECave/ogre-next/pull/542
url = "https://github.com/OGRECave/ogre-next/commit/c1dad50e8510dea9d75d97b0ace33a870993895c.patch?full_index=1";
hash = "sha256-JYsksDxcLrkHqlgdP3KdHlFuvYxNazlchPGoTXE9LYQ=";
})
];
nativeBuildInputs = [
cmake
pkg-config
ninja
];
buildInputs = [
SDL2
freetype
zziplib
zlib
tinyxml
openvr
rapidjson
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libGL
xorg.libX11
xorg.libXaw
xorg.libXrandr
xorg.libXt
xorg.libxcb
];
# TODO: Figure out Vulkan plugin deps
cmakeFlags = [
(lib.cmakeBool "OGRE_BUILD_COMPONENT_PLANAR_REFLECTIONS" true)
# Use STB instead of freeimage since the latter is marked as insecure
(lib.cmakeBool "OGRE_CONFIG_ENABLE_FREEIMAGE" false)
(lib.cmakeBool "OGRE_CONFIG_ENABLE_STBI" true)
];
meta = {
description = "3D Object-Oriented Graphics Rendering Engine";
homepage = "https://www.ogre3d.org/";
maintainers = with lib.maintainers; [
marcin-serwin
];
platforms = lib.platforms.linux;
license = lib.licenses.mit;
# build problems around NEON intrinsics
broken = stdenv.hostPlatform.isAarch64;
};
})

View file

@ -14,12 +14,12 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencode";
version = "1.1.25";
version = "1.1.30";
src = fetchFromGitHub {
owner = "anomalyco";
repo = "opencode";
tag = "v${finalAttrs.version}";
hash = "sha256-cvz4HO5vNwA3zWx7zdVfs59Z7vD/00+MMCDbLU5WKpM=";
hash = "sha256-RTj64yrVLTFNpVc8MvPAJISOlBo/j2MnuL5jo4VtKWM=";
};
node_modules = stdenvNoCC.mkDerivation {
@ -66,7 +66,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# NOTE: Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
outputHash = "sha256-ojbTZBWM353NLMMHckMjFf+k6TpeOoF/yeQR9dq0nNo=";
outputHash = "sha256-5U8lpx3sy6XXgR99IfUqDffIZ8FQ1nxXq5dVwpS+d00=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
@ -80,12 +80,17 @@ stdenvNoCC.mkDerivation (finalAttrs: {
];
patches = [
# NOTE: Relax Bun version check to be a warning instead of an error
./relax-bun-version-check.patch
# NOTE: Remove special and windows build targes
./remove-special-and-windows-build-targets.patch
];
postPatch = ''
# NOTE: Relax Bun version check to be a warning instead of an error
substituteInPlace packages/script/src/index.ts \
--replace-fail 'throw new Error(`This script requires bun@''${expectedBunVersionRange}' \
'console.warn(`Warning: This script requires bun@''${expectedBunVersionRange}'
'';
configurePhase = ''
runHook preConfigure

View file

@ -1,28 +0,0 @@
From 0e07ea8225f5667e39c6aa59eea726266f0afab0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
Date: Thu, 13 Nov 2025 10:16:31 +0100
Subject: [PATCH] Change Bun version check from error to warning
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
---
packages/script/src/index.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/script/src/index.ts b/packages/script/src/index.ts
index 141d2b75..de06d0dc 100644
--- a/packages/script/src/index.ts
+++ b/packages/script/src/index.ts
@@ -10,7 +10,7 @@ if (!expectedBunVersion) {
}
if (process.versions.bun !== expectedBunVersion) {
- throw new Error(`This script requires bun@${expectedBunVersion}, but you are using bun@${process.versions.bun}`)
+ console.warn(`Warning: This script expects bun@${expectedBunVersion}, but you are using bun@${process.versions.bun}`)
}
const CHANNEL = process.env["OPENCODE_CHANNEL"] ?? (await $`git branch --show-current`.text().then((x) => x.trim()))
--
2.51.0

View file

@ -8,7 +8,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pdfium-binaries";
version = "7363";
version = "7643";
src =
let
@ -27,17 +27,17 @@ stdenv.mkDerivation (finalAttrs: {
hash =
if withV8 then
selectSystem {
x86_64-linux = "sha256-KbAJUdbT3XjLs68y4xwEG5w8o/89epkXSCKpQsyuNec=";
aarch64-linux = "sha256-zvaTKszH5yT1afzs0W3LV1caN6gaCIJiKIh9bElfI48=";
x86_64-darwin = "sha256-xGnmndTkYSIGn44Y4cfYW36QmkVAOhgIlcsWaRYFbCk=";
aarch64-darwin = "sha256-NYY/YIVtSux4B6UZb7kkZs+GzxXNopmvtknw/HhVEQs=";
x86_64-linux = "sha256-u44789oMKbBQ6USu4BnyoL4ZcCKDVkh81kOku9ZfloE=";
aarch64-linux = "sha256-w+WI4+aESiBafPv4bbvwVqptecenzEj3M9wSH43n294=";
x86_64-darwin = "sha256-0cPMIu8NDrnDd/4g0eL0j0jV9bzQCh36Ahx4mC/Hw9E=";
aarch64-darwin = "sha256-R09JnjpcQMMfjbhFzRwE4/KXb9FCXzt/APM+oEUdknk=";
}
else
selectSystem {
x86_64-linux = "sha256-mlSmVeE1oDQ1OlW8K7EXk51r7GCbDXH2l/tbat2aiB0=";
aarch64-linux = "sha256-YiCMdwQ2Y0F120iKW3ZkxJKvDgP/vpPw1ItmRnsnz9U=";
x86_64-darwin = "sha256-I2fWQC+GKzZwqTPwXkl9vDJ/HIH3GKzD+kNaUDcNKuw=";
aarch64-darwin = "sha256-AhYAr5SySWJO3jbvs+DvEZ/WaCJ+KhxpFVyOVsJxuXE=";
x86_64-linux = "sha256-IpiNeuB5fOm2hYBfjydrg4G00xtvJQEqZJIzxHtzwac=";
aarch64-linux = "sha256-NgboVIUuntEO/CyXcTJB8Gn9H1B5Z0GEfR7FhCFbHko=";
x86_64-darwin = "sha256-fBatwgVRO4TawMAd0MaXxvgX+OLln+K10RjsGsvPLBs=";
aarch64-darwin = "sha256-Sqrt5V0IxYuZmy1w9faDrESkoI4QNhtKS+GHY0ushGA=";
};
stripRoot = false;
};

View file

@ -10,7 +10,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
name = "ruqola";
pname = "ruqola";
version = "2.5.1";
src = fetchFromGitLab {

View file

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "scalingo";
version = "1.42.0";
version = "1.43.0";
src = fetchFromGitHub {
owner = pname;
repo = "cli";
rev = version;
hash = "sha256-Ifrt3pvKw40f7lDwM2C2EVm/g6i4Dd+3fxVphAxU3as=";
hash = "sha256-A1kz4Zh6SiXcsmFqHuldRTa1qI8+bJBALjweWYBvnTo=";
};
vendorHash = null;

View file

@ -58,6 +58,14 @@ rustPlatform.buildRustPackage {
rm -rf target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/build/
'';
checkFlags = [
# error: struct `MyCustomDocument` is never constructed
"--skip=schema::document"
# thread 'ampc::dht::tests::proptest_chaos' panicked at crates/core/src/ampc/dht/mod.rs:670:33:
# assertion `left == right` failed
"--skip=ampc::dht::tests::proptest_chaos"
];
passthru.updateScript = unstableGitUpdater { };
meta = {

View file

@ -0,0 +1,38 @@
diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake
index fcf7cc4..7239f20 100644
--- a/CMake/Dependencies.cmake
+++ b/CMake/Dependencies.cmake
@@ -84,7 +84,10 @@ elseif(MYGUI_RENDERSYSTEM EQUAL 7)
endif()
elseif(MYGUI_RENDERSYSTEM EQUAL 8)
# Find OGRE
- find_package(OGRE_next)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(OGRE REQUIRED IMPORTED_TARGET GLOBAL OGRE)
+ pkg_check_modules(OGRE_HLMS REQUIRED IMPORTED_TARGET GLOBAL OGRE-Hlms)
+ set(OGRE_INCLUDE_DIR "${OGRE_INCLUDE_DIRS}")
macro_log_feature(OGRE_FOUND "ogre" "Support for the Ogre render system" "" TRUE "" "")
endif()
diff --git a/Platforms/Ogre2/Ogre2Platform/CMakeLists.txt b/Platforms/Ogre2/Ogre2Platform/CMakeLists.txt
index c40cd8f..2647ae8 100644
--- a/Platforms/Ogre2/Ogre2Platform/CMakeLists.txt
+++ b/Platforms/Ogre2/Ogre2Platform/CMakeLists.txt
@@ -1,6 +1,6 @@
set (PROJECTNAME MyGUI.Ogre2Platform)
-message(STATUS "Platform Ogre-next:" ${OGRE_NEXT})
+message(STATUS "Platform Ogre-next: ${OGRE_HLMS_INCLUDE_DIRS}")
include_directories(
include
@@ -8,8 +8,7 @@ include_directories(
${OGRE_CONFIG_INCLUDE_DIR}
${OGRE_INCLUDE_DIR}
${OGRE_SOURCE_DIR}
- ${OGRE_NEXT}/Components/Hlms/Unlit/include
- ${OGRE_NEXT}/Components/Hlms/Common/include
+ ${OGRE_HLMS_INCLUDE_DIRS}
)
include(${PROJECTNAME}.list)

View file

@ -0,0 +1,65 @@
{
stdenv,
lib,
fetchFromGitHub,
cmake,
pkg-config,
ninja,
boost,
freetype,
libuuid,
ois,
ogre-next,
libX11,
}:
stdenv.mkDerivation {
pname = "mygui";
version = "0-unstable-2024-02-01";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "cryham";
repo = "mygui-next";
rev = "a1490ffe01d503c31a00d8277007ffcb27a4258e";
hash = "sha256-R80rTsbmkYtrjIYqdYmbfciEM4rtEzLtsM4XfShJwns=";
};
patches = [ ./mygui-use-pkg-config-for-ogre-next.patch ];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail 'cmake_minimum_required(VERSION 2.6)' \
'cmake_minimum_required(VERSION 3.10)'
'';
nativeBuildInputs = [
cmake
pkg-config
ninja
];
buildInputs = [
boost
freetype
libuuid
ois
ogre-next
libX11
];
cmakeFlags = [
(lib.cmakeBool "MYGUI_BUILD_DEMOS" false)
(lib.cmakeBool "MYGUI_BUILD_TOOLS" false)
(lib.cmakeBool "MYGUI_DONT_USE_OBSOLETE" true)
(lib.cmakeFeature "MYGUI_RENDERSYSTEM" "8")
];
meta = {
description = "Library for creating GUIs for games and 3D applications (Stunt Rally fork)";
homepage = "http://mygui.info/";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
};
}

View file

@ -0,0 +1,118 @@
{
lib,
fetchFromGitHub,
stdenv,
callPackage,
cmake,
boost,
SDL2,
libvorbis,
pkg-config,
makeWrapper,
enet,
bullet,
openal,
tinyxml-2,
rapidjson,
ogre-next,
ninja,
libX11,
}:
let
mygui = callPackage ./mygui.nix { };
in
stdenv.mkDerivation (finalAttrs: {
pname = "stuntrally";
version = "3.3";
src = fetchFromGitHub {
owner = "stuntrally";
repo = "stuntrally3";
tag = finalAttrs.version;
hash = "sha256-BJMMsJ/ONZTpvXetaaHlgm6rih9oZmtJNBXv0IM855Y=";
};
tracks = fetchFromGitHub {
owner = "stuntrally";
repo = "tracks3";
tag = finalAttrs.version;
hash = "sha256-nvIN5hIfTfnuJdlLNlmpmYo3WQhUxYWz14OFra/55w4=";
};
patches = [
./stuntrally-use-pkg-config-for-ogre-next.patch
./stuntrally-init-data-dirs-to-nix-paths.patch
];
postPatch = ''
substituteInPlace bin/Release/plugins.cfg \
--replace-fail "PluginFolder=." "PluginFolder=${ogre-next}/lib/OGRE/"
substituteInPlace src/vdrift/paths.cpp \
--replace-fail "@GAME_DATA_DIR@" "$out/share/stuntrally3/data" \
--replace-fail "@GAME_CONFIG_DIR@" "$out/share/stuntrally3/config"
'';
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
ninja
makeWrapper
];
buildInputs = [
boost
ogre-next
mygui
rapidjson
SDL2
libvorbis
enet
bullet
openal
tinyxml-2
libX11
];
installPhase = ''
runHook preInstall
pushd ..
share_dir=$out/share/stuntrally3
mkdir -p $share_dir
cp -r config $share_dir/config
cp bin/Release/plugins.cfg $share_dir/config
cp -r data $share_dir/data
cp -r ${finalAttrs.tracks} $share_dir/data/tracks
install -Dm644 -t $out/share/icons/hicolor/512x512/apps data/gui/{stuntrally,sr-editor}.png
install -Dm644 -t $out/share/applications dist/{stuntrally3,sr-editor3}.desktop
for binary in sr-editor3 sr-translator stuntrally3
do
install -Dm755 -t $out/bin bin/Release/$binary
# Force X11, otherwise fails with `OGRE EXCEPTION(9:UnimplementedException)`
wrapProgram $out/bin/$binary \
--set SDL_VIDEODRIVER x11
done
popd
runHook postInstall
'';
passthru = {
inherit mygui;
};
meta = {
description = "3D racing game with Sci-Fi elements and own Track Editor";
homepage = "https://cryham.org/stuntrally/";
mainProgram = "stuntrally3";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ pSub ];
platforms = lib.platforms.linux;
};
})

View file

@ -0,0 +1,26 @@
diff --git a/src/common/Main.cpp b/src/common/Main.cpp
index f63a5b8..8260bcf 100644
--- a/src/common/Main.cpp
+++ b/src/common/Main.cpp
@@ -154,7 +154,7 @@ void MainEntryPoints::createSystems(
PATHS::UserConfigDir()+"/",
PATHS::CacheDir()+"/",
PATHS::GameConfigDir()+"/",
- String("./") );
+ PATHS::GameConfigDir()+"/" );
app->mGraphicsSystem = graphicsSystem;
diff --git a/src/vdrift/paths.cpp b/src/vdrift/paths.cpp
index 9122031..d06bb59 100755
--- a/src/vdrift/paths.cpp
+++ b/src/vdrift/paths.cpp
@@ -145,6 +145,8 @@ void PATHS::Init(bool log_paths)
fs::path exe = execname(); // binary dir
game_bin = exe.parent_path().string();
+ game_data = "@GAME_DATA_DIR@";
+ game_config = "@GAME_CONFIG_DIR@";
// Find game data dir and defaults config dir
char *datadir = getenv("STUNTRALLY3_DATA_ROOT");

View file

@ -0,0 +1,45 @@
diff --git a/CMake/DependenciesConfig.cmake b/CMake/DependenciesConfig.cmake
index aca28ea..76f4186 100644
--- a/CMake/DependenciesConfig.cmake
+++ b/CMake/DependenciesConfig.cmake
@@ -7,11 +7,14 @@ find_package(Bullet REQUIRED)
find_package(enet REQUIRED)
find_package(MyGUI REQUIRED)
find_package(Ogg REQUIRED)
-find_package(OGRE REQUIRED)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(OGRE REQUIRED IMPORTED_TARGET GLOBAL OGRE)
+pkg_check_modules(OGRE-Hlms REQUIRED IMPORTED_TARGET GLOBAL OGRE-Hlms)
+pkg_check_modules(OGRE-Overlay REQUIRED IMPORTED_TARGET GLOBAL OGRE-Overlay)
find_package(OpenAL REQUIRED)
find_package(RapidJSON REQUIRED)
find_package(SDL2 REQUIRED)
find_package(tinyxml2 REQUIRED)
find_package(Vorbis REQUIRED)
-include(AddMissingTargets)
\ No newline at end of file
+include(AddMissingTargets)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d84ae0c..22c367d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -175,14 +175,16 @@ foreach( EXE ${EXE_LIST} )
endif ()
target_link_libraries(
- ${EXE}
+ ${EXE}
PRIVATE
boost::boost
Bullet::Bullet
enet::enet
MyGUI::MyGUI
Ogg::ogg
- OGRE::OGRE
+ PkgConfig::OGRE
+ PkgConfig::OGRE-Hlms
+ PkgConfig::OGRE-Overlay
OpenAL::OpenAL
rapidjson
SDL2::SDL2

View file

@ -85,7 +85,7 @@ stdenv.mkDerivation (finalAttrs: {
# Tests that hang up in the Darwin sandbox
"SecurityTest"
"SecurityFromBufferTest"
"python_test"
"PythonThriftTNonblockingServer"
# fails on hydra, passes locally
"concurrency_test"
@ -95,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: {
"TInterruptTest"
"TServerIntegrationTest"
"processor"
"processor_test"
"TNonblockingServerTest"
"TNonblockingSSLServerTest"
"StressTest"

View file

@ -1,8 +1,7 @@
{
lib,
stdenv,
substitute,
fetchpatch,
llvmPackages_20,
fetchurl,
fetchFromGitHub,
cmake,
@ -36,15 +35,23 @@
let
inherit (lib) optionals cmakeBool;
stdenv' = (
# Fix a compilation issue on Darwin, that upstream is aware of:
# https://github.com/EttusResearch/uhd/issues/881
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
llvmPackages_20.stdenv
else
stdenv
);
in
stdenv.mkDerivation (finalAttrs: {
stdenv'.mkDerivation (finalAttrs: {
pname = "uhd";
# NOTE: Use the following command to update the package, and the uhdImageSrc attribute:
#
# nix-shell maintainers/scripts/update.nix --argstr package uhd --argstr commit true
#
version = "4.9.0.0";
version = "4.9.0.1";
outputs = [
"out"
@ -57,41 +64,42 @@ stdenv.mkDerivation (finalAttrs: {
rev = "v${finalAttrs.version}";
# The updateScript relies on the `src` using `hash`, and not `sha256. To
# update the correct hash for the `src` vs the `uhdImagesSrc`
hash = "sha256-XA/ADJ0HjD6DxqFTVMwFa7tRgM56mHAEL+a0paWxKyM=";
hash = "sha256-AOZYCmkgsM09YORW7dVsPAwecXNZQOxOscJnVOlMoP0=";
};
# Firmware images are downloaded (pre-built) from the respective release on Github
uhdImagesSrc = fetchurl {
url = "https://github.com/EttusResearch/uhd/releases/download/v${finalAttrs.version}/uhd-images_${finalAttrs.version}.tar.xz";
# Please don't convert this to a hash, in base64, see comment near src's
# hash.
sha256 = "194gsmvn7gmwj7b1lw9sq0d0y0babbd0q1229qbb3qjc6f6m0p0y";
sha256 = "15ahcxb7hsylvdzzv0q0shd3wqm7p2y4kzbqk85cvsxbdklxhsvn";
};
# This are the minimum required Python dependencies, this attribute might
# be useful if you want to build a development environment with a python
# interpreter able to import the uhd module.
pythonPath =
optionals (enablePythonApi || enableUtils) [
python3.pkgs.numpy
python3.pkgs.setuptools
]
++ optionals enableUtils [
python3.pkgs.requests
python3.pkgs.six
/*
These deps are needed for the usrp_hwd.py utility, however even if they
would have been added here, the utility wouldn't have worked because it
depends on an old python library mprpc that is not supported for Python >
3.8. See also report upstream:
https://github.com/EttusResearch/uhd/issues/744
python3.pkgs.gevent
python3.pkgs.pyudev
python3.pkgs.pyroute2
*/
];
inherit (finalAttrs.finalPackage.passthru) pythonPath;
passthru = {
runtimePython = python3.withPackages (ps: finalAttrs.pythonPath);
runtimePython = python3.withPackages (ps: finalAttrs.finalPackage.passthru.pythonPath);
# This are the minimum required Python dependencies, this attribute might
# be useful if you want to build a development environment with a python
# interpreter able to import the uhd module.
pythonPath =
optionals (enablePythonApi || enableUtils) [
python3.pkgs.numpy
python3.pkgs.setuptools
]
++ optionals enableUtils [
python3.pkgs.requests
python3.pkgs.six
/*
These deps are needed for the usrp_hwd.py utility, however even if they
would have been added here, the utility wouldn't have worked because it
depends on an old python library mprpc that is not supported for Python >
3.8. See also report upstream:
https://github.com/EttusResearch/uhd/issues/744
python3.pkgs.gevent
python3.pkgs.pyudev
python3.pkgs.pyroute2
*/
];
updateScript = [
./update.sh
# Pass it this file name as argument
@ -100,11 +108,11 @@ stdenv.mkDerivation (finalAttrs: {
};
cmakeFlags = [
"-DENABLE_LIBUHD=ON"
"-DENABLE_USB=ON"
(cmakeBool "ENABLE_LIBUHD" true)
(cmakeBool "ENABLE_USB" true)
# Regardless of doCheck, we want to build the tests to help us gain
# confident that the package is OK.
"-DENABLE_TESTS=ON"
(cmakeBool "ENABLE_TESTS" true)
(cmakeBool "ENABLE_EXAMPLES" enableExamples)
(cmakeBool "ENABLE_UTILS" enableUtils)
(cmakeBool "ENABLE_C_API" enableCApi)
@ -148,7 +156,7 @@ stdenv.mkDerivation (finalAttrs: {
# ABI differences GCC 7.1
# /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1
]
++ optionals stdenv.hostPlatform.isAarch32 [
++ optionals stdenv'.hostPlatform.isAarch32 [
"-DCMAKE_CXX_FLAGS=-Wno-psabi"
];
@ -181,7 +189,7 @@ stdenv.mkDerivation (finalAttrs: {
];
# many tests fails on darwin, according to ofborg
doCheck = !stdenv.hostPlatform.isDarwin;
doCheck = !stdenv'.hostPlatform.isDarwin;
doInstallCheck = true;
@ -192,7 +200,7 @@ stdenv.mkDerivation (finalAttrs: {
"installFirmware"
"removeInstalledTests"
]
++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [
++ optionals (enableUtils && stdenv'.hostPlatform.isLinux) [
"moveUdevRules"
];

View file

@ -92,7 +92,7 @@ let
in
stdenv.mkDerivation (
{
name = "wkhtmltopdf";
pname = "wkhtmltopdf";
dontStrip = true;

View file

@ -26,10 +26,11 @@ let
"19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I=";
"20.1.8".officialRelease.sha256 = "sha256-ysyB/EYxi2qE9fD5x/F2zI4vjn8UDoo1Z9ukiIrjFGw=";
"21.1.8".officialRelease.sha256 = "sha256-pgd8g9Yfvp7abjCCKSmIn1smAROjqtfZaJkaUkBSKW0=";
"22.0.0-git".gitRelease = {
rev = "dcf8ae80289fd5e343b6ca172073388b6d227b62";
rev-version = "22.0.0-unstable-2026-01-11";
sha256 = "sha256-7IQ4v4K4onZZ/oBQKUy32LaZ6M7E7N/QIUYdjhOsbqc=";
"22.1.0-rc1".officialRelease.sha256 = "sha256-uyLW+z4rp4iL25eNfGF7BbvE91smx+XqFDH+GEnvd7c=";
"23.0.0-git".gitRelease = {
rev = "2a8a694b508df2fa519283afa0211f4cd04cab6c";
rev-version = "22.0.0-unstable-2026-01-18";
sha256 = "sha256-Ut0PPwL8kqRxSw4sjVSnreG8AlKqi48o4Yb2jWj2zHA=";
};
}
// llvmVersions;

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "ngtcp2";
version = "1.19.0";
version = "1.20.0";
src = fetchFromGitHub {
owner = "ngtcp2";
repo = "ngtcp2";
rev = "v${version}";
hash = "sha256-u+dgcC/MWzRCIeynvZimR8EB/GX7Z33T8BFZ1O++YLk=";
hash = "sha256-8enkRWmPLZXBtlD9v8N7zuZB+Fv+igl30W7q2UqI2ZE=";
};
outputs = [

View file

@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "bidsschematools";
version = "1.1.4";
version = "1.1.5";
pyproject = true;
src = fetchFromGitHub {
owner = "bids-standard";
repo = "bids-specification";
tag = "schema-${version}";
hash = "sha256-4aRM0c1onwASuhkKA7DLPjhLGeo6WAE3T2mKePFiRvw=";
hash = "sha256-LAcrmnfksisLQb1JE82p/tm5HhHAfezCApz8CeUciZQ=";
};
sourceRoot = "${src.name}/tools/schemacode";

View file

@ -80,7 +80,7 @@ buildPythonPackage rec {
description = "Dissect module implementing a parser for Cobalt Strike related data";
homepage = "https://github.com/fox-it/dissect.cobaltstrike";
changelog = "https://github.com/fox-it/dissect.cobaltstrike/releases/tag/${src.tag}";
license = lib.licenses.agpl3Only;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}

View file

@ -32,7 +32,7 @@ buildPythonPackage rec {
description = "Dissect module implementing a parser for C-like structures";
homepage = "https://github.com/fox-it/dissect.cstruct";
changelog = "https://github.com/fox-it/dissect.cstruct/releases/tag/${src.tag}";
license = lib.licenses.agpl3Only;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}

View file

@ -42,7 +42,7 @@ buildPythonPackage rec {
description = "Dissect module implementing a parser for various database formats";
homepage = "https://github.com/fox-it/dissect.database";
changelog = "https://github.com/fox-it/dissect.database/releases/tag/${src.tag}";
license = lib.licenses.agpl3Only;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}

View file

@ -37,7 +37,7 @@ buildPythonPackage rec {
description = "Dissect module implementing various utility functions for the other Dissect modules";
homepage = "https://github.com/fox-it/dissect.util";
changelog = "https://github.com/fox-it/dissect.util/releases/tag/${src.tag}";
license = lib.licenses.agpl3Only;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "dump-nskeyedarchiver";
};

View file

@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "iamdata";
version = "0.1.202601211";
version = "0.1.202601221";
pyproject = true;
src = fetchFromGitHub {
owner = "cloud-copilot";
repo = "iam-data-python";
tag = "v${finalAttrs.version}";
hash = "sha256-Zq9lKDETW2gk1ILoFZDg/ZKs8B7zDbLXhtQi6f64KLY=";
hash = "sha256-IyRkeKrLd4F4m9IkfHN/FFF0k2BNTMGIC76id+qULPk=";
};
__darwinAllowLocalNetworking = true;

View file

@ -29,14 +29,14 @@
buildPythonPackage (finalAttrs: {
pname = "pocket-tts";
version = "1.0.2";
version = "1.0.3";
pyproject = true;
src = fetchFromGitHub {
owner = "kyutai-labs";
repo = "pocket-tts";
tag = "v${finalAttrs.version}";
hash = "sha256-m//UCZEENE5bl9TV0rDCA3Th1TykvC5oZLay+f7lEr8=";
hash = "sha256-zGZySn8nXCjwfcXYglJIrS/u1cqiJrErx1wQkC7H93k=";
};
build-system = [

View file

@ -11,16 +11,16 @@
hatch-vcs,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "signxml";
version = "4.2.0";
version = "4.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "XML-Security";
repo = "signxml";
tag = "v${version}";
hash = "sha256-oyDhJZVn08rIcR3ti9jsYxyBPgz6VaJSbBVYrTQkbVU=";
tag = "v${finalAttrs.version}";
hash = "sha256-IZa62HIsCsNiIlHhLgy0GRIq+E3HBnYSdy/LtDvPa/E=";
};
build-system = [
@ -44,8 +44,8 @@ buildPythonPackage rec {
meta = {
description = "Python XML Signature and XAdES library";
homepage = "https://github.com/XML-Security/signxml";
changelog = "https://github.com/XML-Security/signxml/blob/${src.tag}/Changes.rst";
changelog = "https://github.com/XML-Security/signxml/blob/${finalAttrs.src.tag}/Changes.rst";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}
})

View file

@ -7,13 +7,13 @@
buildPythonPackage (finalAttrs: {
pname = "types-awscrt";
version = "0.31.0";
version = "0.31.1";
pyproject = true;
src = fetchPypi {
pname = "types_awscrt";
inherit (finalAttrs) version;
hash = "sha256-qotCFIrwhHvhTiuOo2N6NRj/qwOPjTvnCDlQ886H0/8=";
hash = "sha256-CLE0lPk/RcGpLrJkdV/OUO0NHcdQWau14xZw/rmglyQ=";
};
build-system = [ setuptools ];

View file

@ -10,21 +10,21 @@
rustPlatform,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "typst";
version = "0.14.5";
version = "0.14.7";
pyproject = true;
src = fetchFromGitHub {
owner = "messense";
repo = "typst-py";
tag = "v${version}";
hash = "sha256-Slo9cstmh9ZjxcqVdRldU+n82JK1cGf89cHE9Rrh7z0=";
tag = "v${finalAttrs.version}";
hash = "sha256-GhXsfsJieBMKvHji4YGfZtvGMIa3k353Erb7V8RSDkU=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-haEthOKjyQkHhPgYPo40uLjfv29BDCC084KWmGRwkVk=";
inherit (finalAttrs) pname version src;
hash = "sha256-A/iNQifMjpAMdoiEF3GaBe74mfsv8i/EwQL+ZmMc1YM=";
};
build-system = [
@ -49,8 +49,8 @@ buildPythonPackage rec {
meta = {
description = "Python binding to typst";
homepage = "https://github.com/messense/typst-py";
changelog = "https://github.com/messense/typst-py/releases/tag/v${src.tag}";
changelog = "https://github.com/messense/typst-py/releases/tag/v${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}
})

View file

@ -1,93 +0,0 @@
{
lib,
fetchFromGitHub,
stdenv,
cmake,
boost,
ogre_13,
mygui,
ois,
SDL2,
libX11,
libvorbis,
pkg-config,
makeWrapper,
enet,
libXcursor,
bullet,
openal,
tinyxml,
tinyxml-2,
}:
let
stuntrally_ogre = ogre_13.overrideAttrs (old: {
cmakeFlags = old.cmakeFlags ++ [
"-DOGRE_NODELESS_POSITIONING=ON"
"-DOGRE_RESOURCEMANAGER_STRICT=0"
];
});
stuntrally_mygui = mygui.override {
withOgre = true;
ogre = stuntrally_ogre;
};
in
stdenv.mkDerivation rec {
pname = "stuntrally";
version = "2.7";
src = fetchFromGitHub {
owner = "stuntrally";
repo = "stuntrally";
rev = version;
hash = "sha256-0Eh9ilIHSh/Uz8TuPnXxLQfy7KF7qqNXUgBXQUCz9ys=";
};
tracks = fetchFromGitHub {
owner = "stuntrally";
repo = "tracks";
rev = version;
hash = "sha256-fglm1FetFGHM/qGTtpxDb8+k2iAREn5DQR5GPujuLms=";
};
postPatch = ''
substituteInPlace config/*-default.cfg \
--replace "screenshot_png = off" "screenshot_png = on"
substituteInPlace source/*/BaseApp_Create.cpp \
--replace "Codec_FreeImage" "Codec_STBI"
'';
preConfigure = ''
rmdir data/tracks
ln -s ${tracks}/ data/tracks
'';
nativeBuildInputs = [
cmake
pkg-config
makeWrapper
];
buildInputs = [
boost
stuntrally_ogre
stuntrally_mygui
ois
SDL2
libX11
libvorbis
enet
libXcursor
bullet
openal
tinyxml
tinyxml-2
];
meta = {
description = "Stunt Rally game with Track Editor, based on VDrift and OGRE";
homepage = "http://stuntrally.tuxfamily.org/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ pSub ];
platforms = lib.platforms.linux;
};
}

View file

@ -15,14 +15,14 @@ let
variants = {
# ./update-xanmod.sh lts
lts = {
version = "6.12.65";
hash = "sha256-TBzCitE2JHmUa9syiOzMKOYCc1194W8b4uDOLCP/6KE=";
version = "6.12.66";
hash = "sha256-TjfSGArDcBysHtu6w9fYU1PflStZitIZDFnb6pGeLP0=";
isLTS = true;
};
# ./update-xanmod.sh main
main = {
version = "6.18.5";
hash = "sha256-G3nG41foET2Ae84gLmB3P6GylnMN2Bp55bnXY/MNI+k=";
version = "6.18.6";
hash = "sha256-rz5oGDgZZsBbYqP1Du+gGKUuoDMiKMXsLSxnpASHRjc=";
};
};

View file

@ -300,7 +300,15 @@ let
done
'';
outputs = [ "out" ] ++ optionals buildUser [ "dev" ];
outputs = [
"out"
]
++ optionals buildUser [
"dev"
]
++ optionals (!buildKernel) [
"man"
];
passthru = {
inherit kernel;

View file

@ -15,13 +15,13 @@ let
}:
buildGoModule rec {
inherit pname;
version = "1.4.3";
version = "1.5.0";
src = fetchFromGitHub {
owner = "sigstore";
repo = "rekor";
rev = "v${version}";
hash = "sha256-EdEYjim3FDkc04uBYWFA8iPNJArHfjjioyUPCh7iwgw=";
hash = "sha256-yOagWlUs5u9HebKxgtK8hPsm9kGxaR7hJpZdG9cOI54=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@ -34,7 +34,7 @@ let
'';
};
vendorHash = "sha256-kw6i9BzVTy6dJsIm8d4FPt7QeI+6AOqCfq3KhdQFuQ4=";
vendorHash = "sha256-LHTq5Y0WvlyO48mVD1NxnKX7L7pdRY/xnsZCV5OR71U=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -4837,6 +4837,14 @@ with pkgs;
bolt_21 = llvmPackages_21.bolt;
flang_21 = llvmPackages_21.flang;
llvmPackages_22 = llvmPackagesSet."22";
clang_22 = llvmPackages_22.clang;
lld_22 = llvmPackages_22.lld;
lldb_22 = llvmPackages_22.lldb;
llvm_22 = llvmPackages_22.llvm;
bolt_22 = llvmPackages_22.bolt;
flang_22 = llvmPackages_22.flang;
mkLLVMPackages = llvmPackagesSet.mkPackage;
})
llvmPackages_18
@ -4864,6 +4872,13 @@ with pkgs;
llvm_21
bolt_21
flang_21
llvmPackages_22
clang_22
lld_22
lldb_22
llvm_22
bolt_22
flang_22
mkLLVMPackages
;
@ -12472,8 +12487,6 @@ with pkgs;
protonup-ng = with python3Packages; toPythonApplication protonup-ng;
stuntrally = callPackage ../games/stuntrally { boost = boost183; };
the-powder-toy = callPackage ../by-name/th/the-powder-toy/package.nix {
lua = lua5_2;
};