mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 06:00:33 +03:00
Merge release-24.11 into staging-next-24.11
This commit is contained in:
commit
c84fc167c0
27 changed files with 934 additions and 92 deletions
|
@ -80,9 +80,10 @@ in
|
|||
let
|
||||
args = lib.map lib.escapeShellArg (
|
||||
[
|
||||
"-l"
|
||||
"--verbose"
|
||||
"--user"
|
||||
cfg.username
|
||||
"-i"
|
||||
"--identity-file"
|
||||
cfg.identityFilePath
|
||||
cfg.host
|
||||
cfg.remoteFilesystem
|
||||
|
|
|
@ -205,9 +205,14 @@ in
|
|||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
description = "Kubernetes kubelet extra configuration file entries.";
|
||||
description = ''
|
||||
Kubernetes kubelet extra configuration file entries.
|
||||
|
||||
See also [Set Kubelet Parameters Via A Configuration File](https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/)
|
||||
and [Kubelet Configuration](https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/).
|
||||
'';
|
||||
default = { };
|
||||
type = attrsOf attrs;
|
||||
type = attrsOf ((pkgs.formats.json { }).type);
|
||||
};
|
||||
|
||||
featureGates = mkOption {
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
|
||||
|
@ -118,19 +119,8 @@ let
|
|||
# Build a systemd service that starts KMonad:
|
||||
mkService =
|
||||
keyboard:
|
||||
let
|
||||
cmd =
|
||||
[
|
||||
(lib.getExe cfg.package)
|
||||
"--input"
|
||||
''device-file "${keyboard.device}"''
|
||||
]
|
||||
++ cfg.extraArgs
|
||||
++ [ "${mkCfg keyboard}" ];
|
||||
in
|
||||
lib.nameValuePair (mkName keyboard.name) {
|
||||
description = "KMonad for ${keyboard.device}";
|
||||
script = lib.escapeShellArgs cmd;
|
||||
unitConfig = {
|
||||
# Control rate limiting.
|
||||
# Stop the restart logic if we restart more than
|
||||
|
@ -139,6 +129,10 @@ let
|
|||
StartLimitBurst = 5;
|
||||
};
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${lib.getExe cfg.package} ${mkCfg keyboard} \
|
||||
${utils.escapeSystemdExecArgs cfg.extraArgs}
|
||||
'';
|
||||
Restart = "always";
|
||||
# Restart at increasing intervals from 2s to 1m
|
||||
RestartSec = 2;
|
||||
|
@ -195,6 +189,17 @@ in
|
|||
config = lib.mkIf cfg.enable {
|
||||
hardware.uinput.enable = true;
|
||||
|
||||
services.udev.extraRules =
|
||||
let
|
||||
mkRule = name: ''
|
||||
ACTION=="add", KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="${name}", ATTRS{id/product}=="5679", ATTRS{id/vendor}=="1235", SYMLINK+="input/by-id/${name}"
|
||||
'';
|
||||
in
|
||||
lib.foldlAttrs (
|
||||
rules: _: keyboard:
|
||||
rules + "\n" + mkRule (mkName keyboard.name)
|
||||
) "" cfg.keyboards;
|
||||
|
||||
systemd = {
|
||||
paths = lib.mapAttrs' (_: mkPath) cfg.keyboards;
|
||||
services = lib.mapAttrs' (_: mkService) cfg.keyboards;
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
machine = {
|
||||
services.kmonad = {
|
||||
enable = true;
|
||||
extraArgs = [
|
||||
"--log-level=debug"
|
||||
];
|
||||
keyboards = {
|
||||
defaultKbd = {
|
||||
device = "/dev/input/by-id/vm-default-kbd";
|
||||
|
@ -43,5 +46,7 @@
|
|||
|
||||
with subtest("kmonad is running"):
|
||||
machine.succeed(f"systemctl status {service_name}")
|
||||
with subtest("kmonad symlink is created"):
|
||||
machine.wait_for_file(f"/dev/input/by-id/{service_name}", timeout=5)
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -120,12 +120,12 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mplayer";
|
||||
version = "1.5-unstable-2024-07-03";
|
||||
version = "1.5-unstable-2024-12-21";
|
||||
|
||||
src = fetchsvn {
|
||||
url = "svn://svn.mplayerhq.hu/mplayer/trunk";
|
||||
rev = "38637";
|
||||
hash = "sha256-9KQOB6QIs1VZhazJqW8dY4ASiMgoxV6davfpKgLPbmE=";
|
||||
rev = "38668";
|
||||
hash = "sha256-ezWYBkhiSBgf/SeTrO6sKGbL/IrX+82KXCIlqYMEtgY=";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
|
@ -276,7 +276,8 @@ stdenv.mkDerivation rec {
|
|||
description = "Movie player that supports many video formats";
|
||||
homepage = "http://mplayerhq.hu";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = [ ];
|
||||
# Picking it up: no idea about the origin of some choices (but seems fine)
|
||||
maintainers = [ maintainers.raskin ];
|
||||
platforms = [
|
||||
"i686-linux"
|
||||
"x86_64-linux"
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
glibcLocales,
|
||||
# The GraalVM derivation to use
|
||||
graalvmDrv,
|
||||
|
@ -33,6 +35,8 @@ let
|
|||
extraArgs = builtins.removeAttrs args [
|
||||
"lib"
|
||||
"stdenv"
|
||||
"apple-sdk_11"
|
||||
"darwinMinVersionHook"
|
||||
"glibcLocales"
|
||||
"jar"
|
||||
"dontUnpack"
|
||||
|
@ -56,6 +60,11 @@ stdenv.mkDerivation (
|
|||
removeReferencesTo
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals (stdenv.hostPlatform.isDarwin) [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
];
|
||||
|
||||
nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ];
|
||||
|
||||
buildPhase =
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
|
||||
buildGoModule {
|
||||
pname = "bloat";
|
||||
version = "0-unstable-2024-10-28";
|
||||
version = "0-unstable-2024-12-27";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.freesoftwareextremist.com/bloat";
|
||||
rev = "68d7acc2f7266c47001445229ff235546c8c71b4";
|
||||
hash = "sha256-VLyL1tnb3/qsDFp8s84XTj1Ohl/ajD+tn7V8iBp3ppY=";
|
||||
rev = "d171b6c2d50500cdfd2f3308bf82a5f79e22cd8b";
|
||||
hash = "sha256-a9nL6NvZLQZLOuoqdDbZTH9dVtQ6guKopkAHughINcg=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
@ -21,13 +21,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "ecapture";
|
||||
version = "0.9.1";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gojue";
|
||||
repo = "ecapture";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ucauZ1nvsiNxeqMcMHbUaKidAGF/XW7hi04W+Bv6I6Q=";
|
||||
hash = "sha256-UPWREeyB2YLYU3B4Rxr5oPoOfksL/lnllWyaFxhAe/0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -106,7 +106,7 @@ buildGoModule rec {
|
|||
in
|
||||
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
vendorHash = "sha256-A+0ASVHMzNcuLsP9F55hvGjflLg68p0ckj6kPbjdg4E=";
|
||||
vendorHash = "sha256-8ilfqPt5Phuj5Uaf90+Ir/DFN27oW5Fd+Wsp34/EU9M=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
|
|
@ -9,16 +9,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "flyctl";
|
||||
version = "0.3.53";
|
||||
version = "0.3.56";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "superfly";
|
||||
repo = "flyctl";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-B6Qku84vUy2KtAWQ3mpbOd1G14xAw0FFuB02fDvFE84=";
|
||||
hash = "sha256-l413128FjVflVKHAYJspK63UP8IomNimIeJi3xyYmxw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-B7COrPKxTBDdFehBcNKt47I1ZslBHjWc+ibPiCpIocU=";
|
||||
vendorHash = "sha256-/YP9qx6OS2OcPSF1BgEZ4l+nSwg+T5rKOHjdDHlNy+k=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "git-delete-merged-branches";
|
||||
version = "7.4.1";
|
||||
version = "7.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hartwork";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-1CUwac2TPU5s1uLS1zPvtXZEGCWYwm1y935jqbI173Q=";
|
||||
tag = version;
|
||||
sha256 = "sha256-l+R4gINZJ8bJdhcK+U9jOuIoAm2/bd5P+w9AbwPZMrk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
|
|
@ -11,27 +11,28 @@
|
|||
luajit,
|
||||
sdcv,
|
||||
SDL2,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
luajit_lua52 = luajit.override { enable52Compat = true; };
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "koreader";
|
||||
version = "2024.04";
|
||||
version = "2024.11";
|
||||
|
||||
src =
|
||||
{
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-arm64.deb";
|
||||
hash = "sha256-FwwB9slKOiYQ3eud2tiqov6yGNxmIicIe6nFpsH28Vk=";
|
||||
hash = "sha256-uy+4+pNyz10xrGM0QF9q0y6UpQK1B9PGNqrcK6nENQY=";
|
||||
};
|
||||
armv7l-linux = fetchurl {
|
||||
url = "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-armhf.deb";
|
||||
hash = "sha256-LgeWQcHm5Qq/7MUuidjily0WsOFZAWGWeO52jNHWKMw=";
|
||||
hash = "sha256-lTc12qmoe0kGUhrStlGfDRw+cNJnX7F09/jKKc/1U9g=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
|
||||
hash = "sha256-hqJRZDZqzPNLK/8Bb+Oay70JqKAMKB0Epbbzeu5npLw=";
|
||||
hash = "sha256-ibehFrOcJqhM+CMAcHDn3Xwy6CueB8kdnoYMMDe/2Js=";
|
||||
};
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "koreader";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-gHn1xqBc7M9wkek1Ja1gry8TKIuUxQP8T45x3z2S4uc=";
|
||||
sha256 = "sha256-EI8UOQuwhJqcAp8QnLYhI0K+uV/7ZqxdHNk8mPkDWA0=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
@ -80,6 +81,10 @@ stdenv.mkDerivation rec {
|
|||
}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/koreader/koreader";
|
||||
changelog = "https://github.com/koreader/koreader/releases/tag/v${version}";
|
||||
|
@ -95,6 +100,7 @@ stdenv.mkDerivation rec {
|
|||
maintainers = with maintainers; [
|
||||
contrun
|
||||
neonfuz
|
||||
liberodark
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
272
pkgs/by-name/me/mesen/deps.json
generated
Normal file
272
pkgs/by-name/me/mesen/deps.json
generated
Normal file
|
@ -0,0 +1,272 @@
|
|||
[
|
||||
{
|
||||
"pname": "Avalonia",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-kG3tnsLdodlvIjYd5feBZ0quGd2FsvV8FIy7uD5UZ5Q="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Angle.Windows.Natives",
|
||||
"version": "2.1.22045.20230930",
|
||||
"hash": "sha256-RxPcWUT3b/+R3Tu5E5ftpr5ppCLZrhm+OTsi0SwW3pc="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.AvaloniaEdit",
|
||||
"version": "11.1.0",
|
||||
"hash": "sha256-K9+hK+4aK93dyuGytYvVU25daz605+KN54hmwQYXFF8="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.BuildServices",
|
||||
"version": "0.0.29",
|
||||
"hash": "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Controls.ColorPicker",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-x6IdcSo3e2Pq/En9/N80HpPblEXSAv51VRlBrF8wlVM="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Controls.DataGrid",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-pd/cD82onMZ0iMLl9TOCl35PEvAPbyX2lUj49lrBpOA="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Controls.ProportionalStackPanel",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-Y8tX7dBzSl69NOSNdpNGzGetc6wQtKnFy/KRnV0SKhQ="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Controls.Recycling",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-ylsPhtILO0pk+5uPZKB5L1o7X8JTiOe48czPPLYLyVs="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Controls.Recycling.Model",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-zAleY6ryWIexJAzz4BpT/Xd3iDgNL624YW5sIBJ0Sv8="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Desktop",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-+5ISi6WXe8AIjClVo3UqZHgzZpFbMgFk13YvHHhx9MM="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Diagnostics",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-k60HGDKnsXiDOnxSH+Hx2ihyqmxSSeWIBJx2XD1ELW0="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.FreeDesktop",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-u4CQvG6EdsyaHSWa+Y704sDiWZlqbArB0g4gcoCFwQo="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.MarkupExtension",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-BUEMX+YThWmxh9X50bGsFtclLFVSIITMlAf0iq2vApk="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Native",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-fMikurP2RAnOahZkORxuGOKGn5iQ0saZCEYsvoFiFQI="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.ReactiveUI",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-6GXX1ZA6gS9CpkQnGepx1PFNoKiwcHQyLSK5qOGmjYo="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Remote.Protocol",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-QwYY3bpShJ1ayHUx+mjnwaEhCPDzTk+YeasCifAtGzM="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Skia",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-rNR+l+vLtlzTU+F51FpOi4Ujy7nR5+lbTc3NQte8s/o="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Themes.Fluent",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-Ate6KC61pwXmTAk5h1uh7rjwAViuiO/qgAVMl3F1BA8="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Themes.Simple",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-l88ZX50Nao8wjtRnyZxNFFgRpJ/yxxNki6NY48dyTUg="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.Win32",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-A9PB6Bt61jLdQlMOkchWy/3BwROgxS9BP8FObs/KFiU="
|
||||
},
|
||||
{
|
||||
"pname": "Avalonia.X11",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-EP9cCqriEh8d+Wwyv27QGK/CY6w2LcCjtcIv79PZqkM="
|
||||
},
|
||||
{
|
||||
"pname": "CommunityToolkit.Mvvm",
|
||||
"version": "8.0.0",
|
||||
"hash": "sha256-G+PXrc2sr2pdy+JCr3t/Ge6nTDtuoWf1Eypu5HufAxw="
|
||||
},
|
||||
{
|
||||
"pname": "Dock.Avalonia",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-Q8YUsH+hfnL9VDMPTJSAms7xb+hr42p7scWqu2c2eD4="
|
||||
},
|
||||
{
|
||||
"pname": "Dock.Model",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-+PSgjxvHIJBQRn8naGgSfYyArImVLwy6ftm9FoQc+lA="
|
||||
},
|
||||
{
|
||||
"pname": "Dock.Model.Mvvm",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-iO67eWHoxsB51Wx5KIK4dwVkU9qwrja7pYsQWTs/8sA="
|
||||
},
|
||||
{
|
||||
"pname": "Dock.Settings",
|
||||
"version": "11.2.0",
|
||||
"hash": "sha256-esCRl7Trdv2bu2ayLw5kXVtCskXLar1asykkfWnqhug="
|
||||
},
|
||||
{
|
||||
"pname": "DotNet.Bundle",
|
||||
"version": "0.9.13",
|
||||
"hash": "sha256-VA7wFPC2V4JudQ+edk6lFkklDPIHZYVWql8/KMzcnys="
|
||||
},
|
||||
{
|
||||
"pname": "DynamicData",
|
||||
"version": "8.3.27",
|
||||
"hash": "sha256-iPZfL1x36PLf5Lq96zRFvR5OLcoRn7OdJIao98X8wac="
|
||||
},
|
||||
{
|
||||
"pname": "DynamicData",
|
||||
"version": "8.4.1",
|
||||
"hash": "sha256-r+haH5VlmZFJTEJ3UedsYybw+oddn/CSvfm6x7PrrQ4="
|
||||
},
|
||||
{
|
||||
"pname": "ELFSharp",
|
||||
"version": "2.17.3",
|
||||
"hash": "sha256-8OaAkLxpa5rIhxbmDSnKLeY06jS7nV66LjBjXxHnOb0="
|
||||
},
|
||||
{
|
||||
"pname": "Fody",
|
||||
"version": "6.8.0",
|
||||
"hash": "sha256-2laYscz0i0LalGTAup7dsh6XlYRZSojYpp8XOwZJJfg="
|
||||
},
|
||||
{
|
||||
"pname": "HarfBuzzSharp",
|
||||
"version": "7.3.0.2",
|
||||
"hash": "sha256-ibgoqzT1NV7Qo5e7X2W6Vt7989TKrkd2M2pu+lhSDg8="
|
||||
},
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.Linux",
|
||||
"version": "7.3.0.2",
|
||||
"hash": "sha256-SSfyuyBaduGobJW+reqyioWHhFWsQ+FXa2Gn7TiWxrU="
|
||||
},
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.macOS",
|
||||
"version": "7.3.0.2",
|
||||
"hash": "sha256-dmEqR9MmpCwK8AuscfC7xUlnKIY7+Nvi06V0u5Jff08="
|
||||
},
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
|
||||
"version": "7.3.0.3-preview.2.2",
|
||||
"hash": "sha256-1NlcTnXrWUYZ2r2/N3SPxNIjNcyIpiiv3g7h8XxpNkM="
|
||||
},
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.Win32",
|
||||
"version": "7.3.0.2",
|
||||
"hash": "sha256-x4iM3NHs9VyweG57xA74yd4uLuXly147ooe0mvNQ8zo="
|
||||
},
|
||||
{
|
||||
"pname": "MicroCom.Runtime",
|
||||
"version": "0.11.0",
|
||||
"hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
|
||||
},
|
||||
{
|
||||
"pname": "ReactiveUI",
|
||||
"version": "19.5.41",
|
||||
"hash": "sha256-FsdD1lBZyegqOVzJhZHAz1owCLh7GbVUYXiORbo5euk="
|
||||
},
|
||||
{
|
||||
"pname": "ReactiveUI",
|
||||
"version": "20.1.1",
|
||||
"hash": "sha256-p9l2GMzBRchKb4gW9pQ3DIKhs2O9fX3t/V7jDDztBqE="
|
||||
},
|
||||
{
|
||||
"pname": "ReactiveUI.Fody",
|
||||
"version": "19.5.41",
|
||||
"hash": "sha256-LfKELxAfApQLL0fDd7UJCsZML5C4MFN+Gc5ECaBXmUM="
|
||||
},
|
||||
{
|
||||
"pname": "SkiaSharp",
|
||||
"version": "2.88.8",
|
||||
"hash": "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="
|
||||
},
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.Linux",
|
||||
"version": "2.88.8",
|
||||
"hash": "sha256-fOmNbbjuTazIasOvPkd2NPmuQHVCWPnow7AxllRGl7Y="
|
||||
},
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.macOS",
|
||||
"version": "2.88.8",
|
||||
"hash": "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="
|
||||
},
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.WebAssembly",
|
||||
"version": "2.88.8",
|
||||
"hash": "sha256-GWWsE98f869LiOlqZuXMc9+yuuIhey2LeftGNk3/z3w="
|
||||
},
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.Win32",
|
||||
"version": "2.88.8",
|
||||
"hash": "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="
|
||||
},
|
||||
{
|
||||
"pname": "Splat",
|
||||
"version": "14.8.12",
|
||||
"hash": "sha256-9KTsYPHVN/wiL8/Yy1KQafrFRy7x8VCEHdzgB+9+8SU="
|
||||
},
|
||||
{
|
||||
"pname": "Splat",
|
||||
"version": "15.1.1",
|
||||
"hash": "sha256-WipAVaUx2HrYNQ9LcYm496LndmSpVbuzJxzP9FA6Ohg="
|
||||
},
|
||||
{
|
||||
"pname": "System.ComponentModel.Annotations",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-0pST1UHgpeE6xJrYf5R+U7AwIlH3rVC3SpguilI/MAg="
|
||||
},
|
||||
{
|
||||
"pname": "System.IO.Pipelines",
|
||||
"version": "8.0.0",
|
||||
"hash": "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="
|
||||
},
|
||||
{
|
||||
"pname": "System.Reactive",
|
||||
"version": "6.0.0",
|
||||
"hash": "sha256-hXB18OsiUHSCmRF3unAfdUEcbXVbG6/nZxcyz13oe9Y="
|
||||
},
|
||||
{
|
||||
"pname": "System.Reactive",
|
||||
"version": "6.0.1",
|
||||
"hash": "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="
|
||||
},
|
||||
{
|
||||
"pname": "System.Text.Encodings.Web",
|
||||
"version": "8.0.0",
|
||||
"hash": "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="
|
||||
},
|
||||
{
|
||||
"pname": "System.Text.Json",
|
||||
"version": "8.0.0",
|
||||
"hash": "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="
|
||||
},
|
||||
{
|
||||
"pname": "Tmds.DBus.Protocol",
|
||||
"version": "0.20.0",
|
||||
"hash": "sha256-CRW/tkgsuBiBJfRwou12ozRQsWhHDooeP88E5wWpWJw="
|
||||
}
|
||||
]
|
|
@ -0,0 +1,16 @@
|
|||
diff --git a/UI/UI.csproj b/UI/UI.csproj
|
||||
index 2a0eb78..74751bc 100644
|
||||
--- a/UI/UI.csproj
|
||||
+++ b/UI/UI.csproj
|
||||
@@ -90,11 +90,6 @@
|
||||
<None Remove="Styles\StartupStyles.xaml" />
|
||||
<None Remove="Utilities\DipSwitchDefinitions.xml" />
|
||||
</ItemGroup>
|
||||
- <PropertyGroup>
|
||||
- <RestoreSources>
|
||||
- https://nuget-feed-nightly.avaloniaui.net/v3/index.json;https://api.nuget.org/v3/index.json
|
||||
- </RestoreSources>
|
||||
- </PropertyGroup>
|
||||
<ItemGroup>
|
||||
<TrimmerRootAssembly Include="Mesen" />
|
||||
<TrimmerRootAssembly Include="AvaloniaEdit" />
|
74
pkgs/by-name/me/mesen/dont-zip-libraries.patch
Normal file
74
pkgs/by-name/me/mesen/dont-zip-libraries.patch
Normal file
|
@ -0,0 +1,74 @@
|
|||
diff --git a/UI/Config/ConfigManager.cs b/UI/Config/ConfigManager.cs
|
||||
index 56c1ff1..ed5fe8a 100644
|
||||
--- a/UI/Config/ConfigManager.cs
|
||||
+++ b/UI/Config/ConfigManager.cs
|
||||
@@ -51,7 +51,6 @@ namespace Mesen.Config
|
||||
} else {
|
||||
homeFolder = DefaultDocumentsFolder;
|
||||
}
|
||||
- Program.ExtractNativeDependencies(homeFolder);
|
||||
_homeFolder = homeFolder;
|
||||
Config.Save();
|
||||
}
|
||||
diff --git a/UI/Program.cs b/UI/Program.cs
|
||||
index dfc4ba3..632cef2 100644
|
||||
--- a/UI/Program.cs
|
||||
+++ b/UI/Program.cs
|
||||
@@ -54,8 +54,6 @@ namespace Mesen
|
||||
Environment.CurrentDirectory = ConfigManager.HomeFolder;
|
||||
|
||||
if(!File.Exists(ConfigManager.GetConfigFile())) {
|
||||
- //Could not find configuration file, show wizard
|
||||
- ExtractNativeDependencies(ConfigManager.HomeFolder);
|
||||
App.ShowConfigWindow = true;
|
||||
BuildAvaloniaApp().StartWithClassicDesktopLifetime(args, ShutdownMode.OnMainWindowClose);
|
||||
if(File.Exists(ConfigManager.GetConfigFile())) {
|
||||
@@ -68,9 +66,6 @@ namespace Mesen
|
||||
//Start loading config file in a separate thread
|
||||
Task.Run(() => ConfigManager.LoadConfig());
|
||||
|
||||
- //Extract core dll & other native dependencies
|
||||
- ExtractNativeDependencies(ConfigManager.HomeFolder);
|
||||
-
|
||||
if(CommandLineHelper.IsTestRunner(args)) {
|
||||
return TestRunner.Run(args);
|
||||
}
|
||||
@@ -147,7 +142,7 @@ namespace Mesen
|
||||
libraryName = libraryName + ".dylib";
|
||||
}
|
||||
}
|
||||
- return NativeLibrary.Load(Path.Combine(ConfigManager.HomeFolder, libraryName));
|
||||
+ return NativeLibrary.Load(Path.Combine(AppContext.BaseDirectory, libraryName));
|
||||
}
|
||||
return IntPtr.Zero;
|
||||
}
|
||||
diff --git a/UI/UI.csproj b/UI/UI.csproj
|
||||
index 053d495..2a0eb78 100644
|
||||
--- a/UI/UI.csproj
|
||||
+++ b/UI/UI.csproj
|
||||
@@ -634,7 +634,6 @@
|
||||
<EmbeddedResource Include="Debugger\Utilities\LuaScripts\NtscSafeArea.lua" />
|
||||
<EmbeddedResource Include="Debugger\Utilities\LuaScripts\NesPianoRoll.lua" />
|
||||
<EmbeddedResource Include="Debugger\Utilities\LuaScripts\ReverseMode.lua" />
|
||||
- <EmbeddedResource Include="Dependencies.zip" />
|
||||
<EmbeddedResource Include="Localization\resources.en.xml" WithCulture="false" Type="Non-Resx" />
|
||||
<EmbeddedResource Include="Utilities\DipSwitchDefinitions.xml" />
|
||||
</ItemGroup>
|
||||
@@ -644,16 +643,5 @@
|
||||
</AvaloniaXaml>
|
||||
</ItemGroup>
|
||||
|
||||
- <Target Name="PreBuildWindows" BeforeTargets="PreBuildEvent" Condition="'$(RuntimeIdentifier)'=='win-x64'">
|
||||
- <Exec Command="cd $(OutDir)
rd Dependencies /s /q
md Dependencies
xcopy /s $(ProjectDir)Dependencies\* Dependencies
copy libHarfBuzzSharp.dll Dependencies
copy libSkiaSharp.dll Dependencies
copy MesenCore.dll Dependencies
cd Dependencies
del ..\Dependencies.zip
powershell Compress-Archive -Path * -DestinationPath '..\Dependencies.zip' -Force
copy ..\Dependencies.zip $(ProjectDir)" />
|
||||
- </Target>
|
||||
-
|
||||
- <Target Name="PreBuildLinux" BeforeTargets="PreBuildEvent" Condition="'$(RuntimeIdentifier)'=='linux-x64'">
|
||||
- <Exec Command="cd $(OutDir)
rm -rf Dependencies
mkdir Dependencies
cp -R $(ProjectDir)/Dependencies/* Dependencies
cp libHarfBuzzSharp.so Dependencies
cp libSkiaSharp.so Dependencies
cp MesenCore.so Dependencies
cd Dependencies
rm ../Dependencies.zip
zip -r ../Dependencies.zip *
cp ../Dependencies.zip $(ProjectDir)" />
|
||||
- </Target>
|
||||
-
|
||||
- <Target Name="PreBuildOsx" BeforeTargets="PreBuildEvent" Condition="'$(RuntimeIdentifier)'=='osx-x64' Or '$(RuntimeIdentifier)'=='osx-arm64'">
|
||||
- <Exec Command="cp ./Assets/MesenIcon.icns $(OutDir)
cd $(OutDir)
rm -R Dependencies
mkdir Dependencies
cp -R $(ProjectDir)/Dependencies/* Dependencies
cp libHarfBuzzSharp.dylib Dependencies
cp libSkiaSharp.dylib Dependencies
cp MesenCore.dylib Dependencies
cd Dependencies
rm ../Dependencies.zip
zip -r ../Dependencies.zip *
cp ../Dependencies.zip $(ProjectDir)" />
|
||||
- </Target>
|
||||
|
||||
</Project>
|
||||
|
82
pkgs/by-name/me/mesen/package.nix
Normal file
82
pkgs/by-name/me/mesen/package.nix
Normal file
|
@ -0,0 +1,82 @@
|
|||
{
|
||||
lib,
|
||||
clangStdenv,
|
||||
buildDotnetModule,
|
||||
dotnetCorePackages,
|
||||
fetchFromGitHub,
|
||||
wrapGAppsHook3,
|
||||
gtk3,
|
||||
SDL2,
|
||||
}:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "mesen";
|
||||
version = "2.0.0-unstable-2024-12-25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SourMesen";
|
||||
repo = "Mesen2";
|
||||
rev = "6820db37933002089a04d356d8469481e915a359";
|
||||
hash = "sha256-TzGMZr351XvVj/wARWJxRisRb5JlkyzdjCVYbwydBVE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# the nightly avalonia repository url is still queried, which errors out
|
||||
# even if we don't actually need any nightly versions
|
||||
./dont-use-alternative-restore-sources.patch
|
||||
# upstream has a weird library loading mechanism, which we override with a more sane alternative
|
||||
./dont-zip-libraries.patch
|
||||
];
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_8_0;
|
||||
|
||||
projectFile = [ "UI/UI.csproj" ];
|
||||
|
||||
dotnetFlags = [
|
||||
"-p:RuntimeIdentifier=${dotnetCorePackages.systemToDotnetRid clangStdenv.hostPlatform.system}"
|
||||
];
|
||||
|
||||
executables = [ "Mesen" ];
|
||||
|
||||
nugetDeps = ./deps.json;
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook3 ];
|
||||
|
||||
runtimeDeps = [ gtk3 ];
|
||||
|
||||
postInstall = ''
|
||||
ln -s ${passthru.core}/lib/MesenCore.* $out/lib/mesen
|
||||
'';
|
||||
|
||||
# according to upstream, compiling with clang creates a faster binary
|
||||
passthru.core = clangStdenv.mkDerivation {
|
||||
pname = "mesen-core";
|
||||
inherit version src;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ SDL2 ];
|
||||
|
||||
buildInputs = [ SDL2 ];
|
||||
|
||||
makeFlags = [ "core" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 InteropDLL/obj.*/MesenCore.* -t $out/lib
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
|
||||
meta = {
|
||||
badPlatforms = [ "aarch64-linux" ]; # not sure what the issue is
|
||||
description = "Multi-system emulator that supports NES, SNES, Game Boy (Color) and PC Engine games";
|
||||
homepage = "https://www.mesen.ca";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "Mesen";
|
||||
maintainers = with lib.maintainers; [ tomasajt ];
|
||||
};
|
||||
}
|
|
@ -15,7 +15,7 @@ let
|
|||
in
|
||||
py.pkgs.buildPythonApplication rec {
|
||||
pname = "netbox";
|
||||
version = "4.1.3";
|
||||
version = "4.1.7";
|
||||
|
||||
format = "other";
|
||||
|
||||
|
@ -23,14 +23,17 @@ py.pkgs.buildPythonApplication rec {
|
|||
owner = "netbox-community";
|
||||
repo = "netbox";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-SRzkmRkniVDu6vYGa9Kd9exob/LHpGBPd+lRA/pbCFo=";
|
||||
hash = "sha256-0AyIXSiNsAHELM8Ry/bcm7sd7K+ApeoEguiEm8ecAU0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./custom-static-root.patch
|
||||
|
||||
# Rebase of PR 17620 "Upgrade to Django 5.1"
|
||||
# https://github.com/netbox-community/netbox/pull/17620
|
||||
(fetchpatch {
|
||||
url = "https://github.com/netbox-community/netbox/pull/17620.patch";
|
||||
hash = "sha256-zN2zke4qlNJUbxI8mSV+zGmEv0Qtd0zSCbCXWyE1L2k=";
|
||||
url = "https://github.com/netbox-community/netbox/commit/cda9e0525dc850ddd82bf46762a64607bf97df83.patch";
|
||||
hash = "sha256-iJiz5f926Np1k4c9DpfPe0HefJy1CH6c0wjwBIt1vWQ=";
|
||||
})
|
||||
];
|
||||
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "notmuch-mailmover";
|
||||
version = "0.5.0";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "michaeladler";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ionqR60mI/oHnqVqtdIeIU1HeCbXfLGIHqaHDYEZONk=";
|
||||
hash = "sha256-v70R6CgN4RzG6L8LUg3ZvW895+G4eU8HZ0TI+jRxZ10=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tUhdfmYAdDlDMez03+ObX9PEU0CML12c5D8N95xiErI=";
|
||||
cargoHash = "sha256-ys8fupS78yxgFBPCCB2JbGADNSEefrEEEGBgzWcLCnI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
|
||||
let
|
||||
pname = "simplex-chat-desktop";
|
||||
version = "6.2.1";
|
||||
version = "6.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
|
||||
hash = "sha256-JEe4dmbb/T2A4+t1ycvgJofes2CkEphytFMnWJgpZ7s=";
|
||||
hash = "sha256-yS3KnR9JLUEwtV8e2J5l4WW+XNHWg7PDOKtlfT/zfUE=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
|
|
53
pkgs/by-name/to/torzu/fix-debugger.patch
Normal file
53
pkgs/by-name/to/torzu/fix-debugger.patch
Normal file
|
@ -0,0 +1,53 @@
|
|||
diff --git a/src/core/debugger/debugger.cpp b/src/core/debugger/debugger.cpp
|
||||
index e86aae8460..a4dca23770 100644
|
||||
--- a/src/core/debugger/debugger.cpp
|
||||
+++ b/src/core/debugger/debugger.cpp
|
||||
@@ -5,7 +5,13 @@
|
||||
#include <mutex>
|
||||
#include <thread>
|
||||
|
||||
-#include <boost/asio.hpp>
|
||||
+// Use basic asio functionality only
|
||||
+#define BOOST_ASIO_STANDALONE
|
||||
+#include <boost/asio/basic_io_object.hpp>
|
||||
+#include <boost/asio/ip/tcp.hpp>
|
||||
+#include <boost/asio/write.hpp>
|
||||
+#include <boost/asio/read.hpp>
|
||||
+
|
||||
#include <boost/process/async_pipe.hpp>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
@@ -21,17 +27,22 @@
|
||||
|
||||
template <typename Readable, typename Buffer, typename Callback>
|
||||
static void AsyncReceiveInto(Readable& r, Buffer& buffer, Callback&& c) {
|
||||
- static_assert(std::is_trivial_v<Buffer>);
|
||||
- auto boost_buffer{boost::asio::buffer(&buffer, sizeof(Buffer))};
|
||||
- r.async_read_some(
|
||||
- boost_buffer, [&, c](const boost::system::error_code& error, size_t bytes_read) {
|
||||
- if (!error.failed()) {
|
||||
- const u8* buffer_start = reinterpret_cast<const u8*>(&buffer);
|
||||
- std::span<const u8> received_data{buffer_start, buffer_start + bytes_read};
|
||||
- c(received_data);
|
||||
- AsyncReceiveInto(r, buffer, c);
|
||||
- }
|
||||
- });
|
||||
+ try {
|
||||
+ static_assert(std::is_trivial_v<Buffer>);
|
||||
+ auto boost_buffer{boost::asio::buffer(&buffer, sizeof(Buffer))};
|
||||
+ r.async_read_some(
|
||||
+ boost_buffer,
|
||||
+ [&, c](const boost::system::error_code& error, size_t bytes_read) {
|
||||
+ if (!error) {
|
||||
+ const u8* buffer_start = reinterpret_cast<const u8*>(&buffer);
|
||||
+ std::span<const u8> received_data{buffer_start, buffer_start + bytes_read};
|
||||
+ c(received_data);
|
||||
+ AsyncReceiveInto(r, buffer, c);
|
||||
+ }
|
||||
+ });
|
||||
+ } catch (const std::exception& e) {
|
||||
+ LOG_ERROR(Debug_GDBStub, "AsyncReceiveInto error: {}", e.what());
|
||||
+ }
|
||||
}
|
||||
|
||||
template <typename Callback>
|
30
pkgs/by-name/to/torzu/fix-udp-client.patch
Normal file
30
pkgs/by-name/to/torzu/fix-udp-client.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp
|
||||
index 60821b31a6..8f9c047218 100644
|
||||
--- a/src/input_common/drivers/udp_client.cpp
|
||||
+++ b/src/input_common/drivers/udp_client.cpp
|
||||
@@ -2,7 +2,15 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <random>
|
||||
-#include <boost/asio.hpp>
|
||||
+// Include only needed asio components
|
||||
+#include <boost/asio/io_context.hpp>
|
||||
+#include <boost/asio/ip/udp.hpp>
|
||||
+#include <boost/asio/basic_waitable_timer.hpp>
|
||||
+#include <boost/asio/write.hpp>
|
||||
+#include <boost/asio/buffer.hpp>
|
||||
+#include <boost/asio/basic_socket.hpp>
|
||||
+#include <boost/asio/ip/address.hpp>
|
||||
+#include <boost/asio/ip/address_v4.hpp>
|
||||
#include <fmt/format.h>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
@@ -113,7 +121,7 @@ private:
|
||||
}
|
||||
|
||||
SocketCallback callback;
|
||||
- boost::asio::io_service io_service;
|
||||
+ boost::asio::io_context io_service;
|
||||
boost::asio::basic_waitable_timer<clock> timer;
|
||||
udp::socket socket;
|
||||
|
13
pkgs/by-name/to/torzu/fix-udp-protocol.patch
Normal file
13
pkgs/by-name/to/torzu/fix-udp-protocol.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/src/input_common/helpers/udp_protocol.h b/src/input_common/helpers/udp_protocol.h
|
||||
index db08fc62c5..ea223ea937 100644
|
||||
--- a/src/input_common/helpers/udp_protocol.h
|
||||
+++ b/src/input_common/helpers/udp_protocol.h
|
||||
@@ -69,7 +69,7 @@ Message<T> CreateMessage(const u32 magic, const T data, const u32 sender_id) {
|
||||
};
|
||||
Message<T> message{header, data};
|
||||
crc.process_bytes(&message, sizeof(Message<T>));
|
||||
- message.header.crc = crc.checksum();
|
||||
+ message.header.crc = static_cast<u32_le>(crc.checksum());
|
||||
return message;
|
||||
}
|
||||
|
244
pkgs/by-name/to/torzu/package.nix
Normal file
244
pkgs/by-name/to/torzu/package.nix
Normal file
|
@ -0,0 +1,244 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
SDL2,
|
||||
autoconf,
|
||||
boost,
|
||||
catch2_3,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
cpp-jwt,
|
||||
cubeb,
|
||||
discord-rpc,
|
||||
enet,
|
||||
fetchgit,
|
||||
fetchurl,
|
||||
ffmpeg-headless,
|
||||
fmt,
|
||||
glslang,
|
||||
libopus,
|
||||
libusb1,
|
||||
libva,
|
||||
lz4,
|
||||
python3,
|
||||
unzip,
|
||||
nix-update-script,
|
||||
nlohmann_json,
|
||||
nv-codec-headers-12,
|
||||
pkg-config,
|
||||
qt6,
|
||||
vulkan-headers,
|
||||
vulkan-loader,
|
||||
yasm,
|
||||
simpleini,
|
||||
zlib,
|
||||
vulkan-memory-allocator,
|
||||
zstd,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (qt6)
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
wrapQtAppsHook
|
||||
qttools
|
||||
qtwebengine
|
||||
;
|
||||
|
||||
compat-list = stdenv.mkDerivation {
|
||||
pname = "yuzu-compatibility-list";
|
||||
version = "unstable-2024-02-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flathub";
|
||||
repo = "org.yuzu_emu.yuzu";
|
||||
rev = "9c2032a3c7e64772a8112b77ed8b660242172068";
|
||||
hash = "sha256-ITh/W4vfC9w9t+TJnPeTZwWifnhTNKX54JSSdpgaoBk=";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
cp $src/compatibility_list.json $out
|
||||
'';
|
||||
};
|
||||
|
||||
nx_tzdb = stdenv.mkDerivation rec {
|
||||
pname = "nx_tzdb";
|
||||
version = "221202";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/${version}/${version}.zip";
|
||||
hash = "sha256-mRzW+iIwrU1zsxHmf+0RArU8BShAoEMvCz+McXFFK3c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
buildCommand = ''
|
||||
unzip $src -d $out
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "torzu";
|
||||
version = "unstable-2024-12-15";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://notabug.org/litucks/torzu";
|
||||
rev = "02cfee3f184e6fdcc3b483ef399fb5d2bb1e8ec7";
|
||||
hash = "sha256-hAWMFzTNJGFcrXov5LKMdW9YWhsu7wueATmiuS7EVkI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove coroutines from debugger to fix boost::asio compatibility issues
|
||||
./fix-debugger.patch
|
||||
# Add explicit cast for CRC checksum value
|
||||
./fix-udp-protocol.patch
|
||||
# Use specific boost::asio includes and update to modern io_context
|
||||
./fix-udp-client.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
glslang
|
||||
pkg-config
|
||||
python3
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# vulkan-headers must come first, so the older propagated versions
|
||||
# don't get picked up by accident
|
||||
vulkan-headers
|
||||
|
||||
boost
|
||||
catch2_3
|
||||
cpp-jwt
|
||||
cubeb
|
||||
discord-rpc
|
||||
# intentionally omitted: dynarmic - prefer vendored version for compatibility
|
||||
enet
|
||||
|
||||
# ffmpeg deps (also includes vendored)
|
||||
# we do not use internal ffmpeg because cuda errors
|
||||
autoconf
|
||||
yasm
|
||||
libva # for accelerated video decode on non-nvidia
|
||||
nv-codec-headers-12 # for accelerated video decode on nvidia
|
||||
ffmpeg-headless
|
||||
# end ffmpeg deps
|
||||
|
||||
fmt
|
||||
# intentionally omitted: gamemode - loaded dynamically at runtime
|
||||
# intentionally omitted: httplib - upstream requires an older version than what we have
|
||||
libopus
|
||||
libusb1
|
||||
# intentionally omitted: LLVM - heavy, only used for stack traces in the debugger
|
||||
lz4
|
||||
nlohmann_json
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
qtwebengine
|
||||
# intentionally omitted: renderdoc - heavy, developer only
|
||||
SDL2
|
||||
# intentionally omitted: stb - header only libraries, vendor uses git snapshot
|
||||
vulkan-memory-allocator
|
||||
# intentionally omitted: xbyak - prefer vendored version for compatibility
|
||||
zlib
|
||||
zstd
|
||||
];
|
||||
|
||||
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
|
||||
# making the build fail, as that path does not exist
|
||||
dontFixCmake = true;
|
||||
|
||||
cmakeFlags = [
|
||||
# actually has a noticeable performance impact
|
||||
(lib.cmakeBool "YUZU_ENABLE_LTO" true)
|
||||
(lib.cmakeBool "YUZU_TESTS" false)
|
||||
|
||||
(lib.cmakeBool "ENABLE_QT6" true)
|
||||
(lib.cmakeBool "ENABLE_QT_TRANSLATION" true)
|
||||
|
||||
# use system libraries
|
||||
# NB: "external" here means "from the externals/ directory in the source",
|
||||
# so "off" means "use system"
|
||||
(lib.cmakeBool "YUZU_USE_EXTERNAL_SDL2" false)
|
||||
(lib.cmakeBool "YUZU_USE_EXTERNAL_VULKAN_HEADERS" true)
|
||||
"-DVulkan_INCLUDE_DIRS=${vulkan-headers}/include"
|
||||
|
||||
# # don't use system ffmpeg, suyu uses internal APIs
|
||||
# (lib.cmakeBool "YUZU_USE_BUNDLED_FFMPEG" true)
|
||||
|
||||
# don't check for missing submodules
|
||||
(lib.cmakeBool "YUZU_CHECK_SUBMODULES" false)
|
||||
|
||||
# enable some optional features
|
||||
(lib.cmakeBool "YUZU_USE_QT_WEB_ENGINE" true)
|
||||
(lib.cmakeBool "YUZU_USE_QT_MULTIMEDIA" true)
|
||||
(lib.cmakeBool "USE_DISCORD_PRESENCE" true)
|
||||
|
||||
# We dont want to bother upstream with potentially outdated compat reports
|
||||
(lib.cmakeBool "YUZU_ENABLE_COMPATIBILITY_REPORTING" false)
|
||||
(lib.cmakeBool "ENABLE_COMPATIBILITY_LIST_DOWNLOAD" false) # We provide this deterministically
|
||||
];
|
||||
|
||||
env = {
|
||||
# Does some handrolled SIMD
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isx86_64 "-msse4.1";
|
||||
};
|
||||
|
||||
qtWrapperArgs = [
|
||||
# Fixes vulkan detection.
|
||||
# FIXME: patchelf --add-rpath corrupts the binary for some reason, investigate
|
||||
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
|
||||
];
|
||||
|
||||
# Setting this through cmakeFlags does not work.
|
||||
# https://github.com/NixOS/nixpkgs/issues/114044
|
||||
preConfigure = lib.concatStringsSep "\n" [
|
||||
''
|
||||
cmakeFlagsArray+=(
|
||||
"-DTITLE_BAR_FORMAT_IDLE=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}"
|
||||
"-DTITLE_BAR_FORMAT_RUNNING=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}"
|
||||
)
|
||||
''
|
||||
# provide pre-downloaded tz data
|
||||
''
|
||||
mkdir -p build/externals/nx_tzdb
|
||||
ln -s ${nx_tzdb} build/externals/nx_tzdb/nx_tzdb
|
||||
''
|
||||
];
|
||||
|
||||
postConfigure = ''
|
||||
ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json
|
||||
'';
|
||||
|
||||
postInstall = "
|
||||
install -Dm444 $src/dist/72-yuzu-input.rules $out/lib/udev/rules.d/72-yuzu-input.rules
|
||||
";
|
||||
|
||||
meta = {
|
||||
description = "Fork of yuzu, an open-source Nintendo Switch emulator";
|
||||
homepage = "https://notabug.org/litucks/torzu";
|
||||
mainProgram = "yuzu";
|
||||
platforms = lib.platforms.linux;
|
||||
badPlatforms = [
|
||||
# Several conversion errors, probably caused by the update to GCC 14
|
||||
"aarch64-linux"
|
||||
];
|
||||
maintainers = with lib.maintainers; [ liberodark ];
|
||||
license = with lib.licenses; [
|
||||
gpl3Plus
|
||||
# Icons
|
||||
asl20
|
||||
mit
|
||||
cc0
|
||||
];
|
||||
};
|
||||
})
|
|
@ -2,10 +2,11 @@
|
|||
lib,
|
||||
stdenv,
|
||||
alsa-lib,
|
||||
apple-sdk_11,
|
||||
autoPatchelfHook,
|
||||
cairo,
|
||||
cups,
|
||||
darwin,
|
||||
darwinMinVersionHook,
|
||||
fontconfig,
|
||||
glib,
|
||||
glibc,
|
||||
|
@ -30,10 +31,12 @@ let
|
|||
"lib"
|
||||
"stdenv"
|
||||
"alsa-lib"
|
||||
"apple-sdk_11"
|
||||
"autoPatchelfHook"
|
||||
"cairo"
|
||||
"cups"
|
||||
"darwin"
|
||||
"darwinMinVersionHook"
|
||||
"fontconfig"
|
||||
"glib"
|
||||
"glibc"
|
||||
|
@ -122,34 +125,51 @@ let
|
|||
propagatedBuildInputs = [
|
||||
setJavaClassPath
|
||||
zlib
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk_11_0.frameworks.Foundation;
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib # libasound.so wanted by lib/libjsound.so
|
||||
fontconfig
|
||||
(lib.getLib stdenv.cc.cc) # libstdc++.so.6
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
xorg.libXi
|
||||
xorg.libXrender
|
||||
xorg.libXtst
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib # libasound.so wanted by lib/libjsound.so
|
||||
fontconfig
|
||||
(lib.getLib stdenv.cc.cc) # libstdc++.so.6
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
xorg.libXi
|
||||
xorg.libXrender
|
||||
xorg.libXtst
|
||||
]
|
||||
++ (lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
]);
|
||||
|
||||
postInstall =
|
||||
let
|
||||
cLibsAsFlags = (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs);
|
||||
preservedNixVariables = [
|
||||
"-ELOCALE_ARCHIVE"
|
||||
"-ENIX_BINTOOLS"
|
||||
"-ENIX_BINTOOLS_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}"
|
||||
"-ENIX_BUILD_CORES"
|
||||
"-ENIX_BUILD_TOP"
|
||||
"-ENIX_CC"
|
||||
"-ENIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}"
|
||||
"-ENIX_CFLAGS_COMPILE"
|
||||
"-ENIX_HARDENING_ENABLE"
|
||||
"-ENIX_LDFLAGS"
|
||||
];
|
||||
preservedNixVariables =
|
||||
[
|
||||
"-ENIX_BINTOOLS"
|
||||
"-ENIX_BINTOOLS_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}"
|
||||
"-ENIX_BUILD_CORES"
|
||||
"-ENIX_BUILD_TOP"
|
||||
"-ENIX_CC"
|
||||
"-ENIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}"
|
||||
"-ENIX_CFLAGS_COMPILE"
|
||||
"-ENIX_HARDENING_ENABLE"
|
||||
"-ENIX_LDFLAGS"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
"-ELOCALE_ARCHIVE"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-EDEVELOPER_DIR"
|
||||
"-EDEVELOPER_DIR_FOR_BUILD"
|
||||
"-EDEVELOPER_DIR_FOR_TARGET"
|
||||
"-EMACOSX_DEPLOYMENT_TARGET"
|
||||
"-EMACOSX_DEPLOYMENT_TARGET_FOR_BUILD"
|
||||
"-EMACOSX_DEPLOYMENT_TARGET_FOR_TARGET"
|
||||
"-ENIX_APPLE_SDK_VERSION"
|
||||
];
|
||||
preservedNixVariablesAsFlags = (map (f: "--add-flags '${f}'") preservedNixVariables);
|
||||
in
|
||||
''
|
||||
|
|
|
@ -4,9 +4,6 @@
|
|||
}:
|
||||
|
||||
lib.makeScope pkgs.newScope (self: {
|
||||
stdenv =
|
||||
if pkgs.stdenv.hostPlatform.isDarwin then pkgs.darwin.apple_sdk_11_0.stdenv else pkgs.stdenv;
|
||||
|
||||
buildGraalvm = self.callPackage ./buildGraalvm.nix;
|
||||
|
||||
buildGraalvmProduct = self.callPackage ./buildGraalvmProduct.nix;
|
||||
|
|
|
@ -58,6 +58,7 @@ buildPythonPackage rec {
|
|||
funcparserlib
|
||||
pillow
|
||||
reportlab
|
||||
setuptools
|
||||
webcolors
|
||||
];
|
||||
|
||||
|
|
|
@ -3,37 +3,42 @@
|
|||
stdenv,
|
||||
buildPythonPackage,
|
||||
colorama,
|
||||
exceptiongroup,
|
||||
fetchFromGitHub,
|
||||
flit-core,
|
||||
freezegun,
|
||||
pytest-mypy-plugins,
|
||||
pytest-xdist,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
pytest-xdist,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "loguru";
|
||||
version = "0.7.2";
|
||||
format = "setuptools";
|
||||
version = "0.7.3";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Delgan";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-1xcPAOOhjFmWSxmPj6NICRur3ITOuQRNNKPJlfp89Jw=";
|
||||
tag = version;
|
||||
hash = "sha256-tccEzzs9TtFAZM9s43cskF9llc81Ng28LqedjLiE1m4=";
|
||||
};
|
||||
|
||||
build-system = [ flit-core ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pytest-xdist # massive speedup, not tested by upstream
|
||||
colorama
|
||||
freezegun
|
||||
];
|
||||
pytest-mypy-plugins
|
||||
] ++ lib.optional (pythonOlder "3.10") exceptiongroup;
|
||||
|
||||
disabledTestPaths = [
|
||||
"tests/test_type_hinting.py" # avoid dependency on mypy
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_multiprocessing.py" ];
|
||||
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_multiprocessing.py" ];
|
||||
|
||||
disabledTests =
|
||||
[
|
||||
|
@ -52,12 +57,12 @@ buildPythonPackage rec {
|
|||
|
||||
pythonImportsCheck = [ "loguru" ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Python logging made (stupidly) simple";
|
||||
homepage = "https://github.com/Delgan/loguru";
|
||||
changelog = "https://github.com/delgan/loguru/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
jakewaksbaum
|
||||
rmcgibbo
|
||||
];
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"testing": {
|
||||
"version": "6.13-rc4",
|
||||
"hash": "sha256:0ca986ycx3k69j1km1j4fyjh0d1wvxnyx1fzlb52g930r1jymp39"
|
||||
"version": "6.13-rc5",
|
||||
"hash": "sha256:02rasg3dyzq0cfqj74rn98xm2amhw3djd4dd0nvf5syha91l81rr"
|
||||
},
|
||||
"6.1": {
|
||||
"version": "6.1.122",
|
||||
"hash": "sha256:0l3frvlzpl23f9j1vjm2y29d1ppv0ynq40h695i7w2qhh2rw14p8"
|
||||
"version": "6.1.123",
|
||||
"hash": "sha256:1g5k9q113nyid3a347abb36v2xfv5vf74ic88af7kf04kzbsr9rk"
|
||||
},
|
||||
"5.15": {
|
||||
"version": "5.15.175",
|
||||
|
@ -20,15 +20,15 @@
|
|||
"hash": "sha256:1zhsb6gwhb6cvijzh7s8rnm4b06klyhb2mxb06gcyfvj0givlvw7"
|
||||
},
|
||||
"6.6": {
|
||||
"version": "6.6.68",
|
||||
"hash": "sha256:1qj0b2n4ck9qrgpqcgmhkl2jc4rh4000rqqs2vnwwlpkwc8g8gr8"
|
||||
"version": "6.6.69",
|
||||
"hash": "sha256:0d2gilgh8myavzfdjnx7az4dbwvkk7irvsz6rla9bnbmgdb0aqww"
|
||||
},
|
||||
"6.11": {
|
||||
"version": "6.11.11",
|
||||
"hash": "sha256:1z2913y38clnlmhvwj49h7p4pic24s4d8np7nmd4lk7m2xz8w532"
|
||||
},
|
||||
"6.12": {
|
||||
"version": "6.12.7",
|
||||
"hash": "sha256:1kx0kmc8xlx5kpvfplawk05wjqpdnsj2hcmv8flnc2qfi9jgp1gp"
|
||||
"version": "6.12.8",
|
||||
"hash": "sha256:0y992b484rkkaqdkz5mw2is1l0izxhm3cl7fi5f72jx0bh3dm492"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue