push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
{
lib,
buildDotnetModule,
fetchFromGitHub,
dotnetCorePackages,
libkrb5,
zlib,
openssl,
callPackage,
}:
let
plugins = [
"ArchiSteamFarm.OfficialPlugins.ItemsMatcher"
"ArchiSteamFarm.OfficialPlugins.MobileAuthenticator"
"ArchiSteamFarm.OfficialPlugins.Monitoring"
"ArchiSteamFarm.OfficialPlugins.SteamTokenDumper"
];
in
buildDotnetModule rec {
pname = "ArchiSteamFarm";
# nixpkgs-update: no auto update
version = "6.2.0.5";
src = fetchFromGitHub {
owner = "JustArchiNET";
repo = "ArchiSteamFarm";
rev = version;
hash = "sha256-CNnSsFBeO3BHUbom0eytfz02Q7QBv8JEmHbgPSL7I3Y=";
};
dotnet-runtime = dotnetCorePackages.aspnetcore_9_0;
dotnet-sdk = dotnetCorePackages.sdk_9_0;
nugetDeps = ./deps.json;
projectFile = [
"ArchiSteamFarm"
]
++ plugins;
testProjectFile = "ArchiSteamFarm.Tests";
executable = "ArchiSteamFarm";
enableParallelBuilding = false;
useAppHost = false;
dotnetFlags = [
# useAppHost doesn't explicitly disable this
"-p:UseAppHost=false"
"-p:RuntimeIdentifiers="
];
dotnetBuildFlags = [
"--framework=net9.0"
];
dotnetInstallFlags = dotnetBuildFlags;
runtimeDeps = [
libkrb5
zlib
openssl
];
doCheck = true;
installPhase = ''
dotnetProjectFiles=(ArchiSteamFarm)
# A mutable path, with this directory tree must be set. By default, this would point at the nix store causing errors.
makeWrapperArgs+=(
--run 'mkdir -p ~/.config/archisteamfarm/{config,logs,plugins}'
--set "ASF_PATH" "~/.config/archisteamfarm"
)
dotnetInstallPhase
buildPlugin() {
echo "Publishing plugin $1"
dotnetProjectFiles=("$1")
dotnetInstallPath="$out/lib/ArchiSteamFarm/plugins/$1"
dotnetInstallPhase
}
''
+ lib.concatMapStrings (p: "buildPlugin ${p}\n") plugins
+ ''
chmod +x $out/lib/ArchiSteamFarm/ArchiSteamFarm.dll
wrapDotnetProgram $out/lib/ArchiSteamFarm/ArchiSteamFarm.dll $out/bin/ArchiSteamFarm
substituteInPlace $out/bin/ArchiSteamFarm \
--replace-fail "exec " "exec dotnet "
'';
passthru = {
# nix-shell maintainers/scripts/update.nix --argstr package ArchiSteamFarm
updateScript = ./update.sh;
ui = callPackage ./web-ui { };
};
meta = with lib; {
description = "Application with primary purpose of idling Steam cards from multiple accounts simultaneously";
homepage = "https://github.com/JustArchiNET/ArchiSteamFarm";
license = licenses.asl20;
mainProgram = "ArchiSteamFarm";
maintainers = with maintainers; [ SuperSandro2000 ];
};
}

View File

@@ -0,0 +1,747 @@
[
{
"pname": "AngleSharp",
"version": "1.3.0",
"hash": "sha256-xq+G2f9FCqS6PjIgfDdZjVRoaxVMiSyOXC7KtMzMpPU="
},
{
"pname": "CryptSharpStandard",
"version": "1.0.0",
"hash": "sha256-58ukrKgmk9w5ZyuQU67KS3du4zvkfJ1MskKRL9L6M1o="
},
{
"pname": "Humanizer",
"version": "3.0.0-beta.96",
"hash": "sha256-j5g415a02zfIeLXopx3qd0h690ntRNaft3YwpBhsmXE="
},
{
"pname": "Humanizer.Core",
"version": "3.0.0-beta.96",
"hash": "sha256-IfxxqpLbVmVTm9NA0mdcwGYgTbl+CaH0nTMUZNDU/1w="
},
{
"pname": "Humanizer.Core.af",
"version": "3.0.0-beta.96",
"hash": "sha256-HlLezoFw1Bc4kQ4RkgLDBRUUr5mYt48DwjRGTO+s7bI="
},
{
"pname": "Humanizer.Core.ar",
"version": "3.0.0-beta.96",
"hash": "sha256-f3rf+bFcdXs2/jhbUvOKknSkUV4QdFlA/IsY2rX3XYg="
},
{
"pname": "Humanizer.Core.az",
"version": "3.0.0-beta.96",
"hash": "sha256-TuKZItSJk3FonM7hltI3gjzvUkGY3dnEm5i/c411oEw="
},
{
"pname": "Humanizer.Core.bg",
"version": "3.0.0-beta.96",
"hash": "sha256-KQIxMSWtc6OdDFhBziB/8ii9owzUoF8kvAmNI+wgL08="
},
{
"pname": "Humanizer.Core.bn-BD",
"version": "3.0.0-beta.96",
"hash": "sha256-yXH129xJi37oewDATPSfnMcFa6dJviEK/u50aM12tVw="
},
{
"pname": "Humanizer.Core.cs",
"version": "3.0.0-beta.96",
"hash": "sha256-5jUP0tsD8VLrRY9Uja8+QH+U4C3IWlemUoEECaCpt5w="
},
{
"pname": "Humanizer.Core.da",
"version": "3.0.0-beta.96",
"hash": "sha256-IoqaQH6b31XXTVqHvFcnTTfHI44cWCUo0Cj9ssBxZTo="
},
{
"pname": "Humanizer.Core.de",
"version": "3.0.0-beta.96",
"hash": "sha256-EDO4GYHtgINO0r49VjXX3o3B3mYvcDGTmKOvBHebh2o="
},
{
"pname": "Humanizer.Core.el",
"version": "3.0.0-beta.96",
"hash": "sha256-pmnL1t8CBj+HiCQuQ2piOp2ub5jNf8ehXjGIVR2QxOo="
},
{
"pname": "Humanizer.Core.es",
"version": "3.0.0-beta.96",
"hash": "sha256-YUc4qUCwEg8o3aibHBqr/De3X6tPZh4WESimLKTLtIg="
},
{
"pname": "Humanizer.Core.fa",
"version": "3.0.0-beta.96",
"hash": "sha256-2UCx9TETfq8ic37h+7kxDtcTDjR23P958q4rg+cDHe4="
},
{
"pname": "Humanizer.Core.fi-FI",
"version": "3.0.0-beta.96",
"hash": "sha256-9VaVmg9c/cLjLO3piDMFT+92la14I/K8QIl7L4z8qeY="
},
{
"pname": "Humanizer.Core.fr",
"version": "3.0.0-beta.96",
"hash": "sha256-pATUaMZ+W+S+EnqdrfnA8KEWwfwNiPMd9KBFGG+n89k="
},
{
"pname": "Humanizer.Core.fr-BE",
"version": "3.0.0-beta.96",
"hash": "sha256-eBqr+WNi77NM3XxD/imhB9z69pazkeGDZ8Tq/2JZ3tU="
},
{
"pname": "Humanizer.Core.he",
"version": "3.0.0-beta.96",
"hash": "sha256-dDmmG8lTEAyeLy2Twsq7FgyN+iXbOzorHwrmbrBbyX4="
},
{
"pname": "Humanizer.Core.hr",
"version": "3.0.0-beta.96",
"hash": "sha256-JXN3Di1KCE8XXZG6Im3LX2MUYRGP+7vgdh5BYNX1qNQ="
},
{
"pname": "Humanizer.Core.hu",
"version": "3.0.0-beta.96",
"hash": "sha256-zIvOmEc9dTuK2eUc3NoGHSf4NW1Py2jyNWcQnSwz8FU="
},
{
"pname": "Humanizer.Core.hy",
"version": "3.0.0-beta.96",
"hash": "sha256-KcRfspYR53gLZwXkiOxLge6EVJYAOYvJ0JOg3k7K1jA="
},
{
"pname": "Humanizer.Core.id",
"version": "3.0.0-beta.96",
"hash": "sha256-kV3cNRjmAc0ES+mbi1pGdNRETCUD561xpVw+MCxGfuw="
},
{
"pname": "Humanizer.Core.is",
"version": "3.0.0-beta.96",
"hash": "sha256-YQnowTdXsOS68t6Dw49Lbe++h3nGW74ycqd+fNHpGXU="
},
{
"pname": "Humanizer.Core.it",
"version": "3.0.0-beta.96",
"hash": "sha256-ukEwnf2qgXnIG1HLbKgBsxGO5doNbsSa4QUEGvlwoK4="
},
{
"pname": "Humanizer.Core.ja",
"version": "3.0.0-beta.96",
"hash": "sha256-Xb1JtMPGOIoWJ+ZxJe2Y0Xarjh8OyummCjRvvSQtkRo="
},
{
"pname": "Humanizer.Core.ko-KR",
"version": "3.0.0-beta.96",
"hash": "sha256-1qMa6+AioW2jEvofeGbVlClV35E/hCqa7tK+u/WospA="
},
{
"pname": "Humanizer.Core.ku",
"version": "3.0.0-beta.96",
"hash": "sha256-fCmhmrg6OpKY4un34jXrtfhJVIGTb9njmqaARc1oFsw="
},
{
"pname": "Humanizer.Core.lb",
"version": "3.0.0-beta.96",
"hash": "sha256-TtoGk0HVyMJZS6T0RBtjJo+ZnPBh1F7dyBGOjmzsw3U="
},
{
"pname": "Humanizer.Core.lt",
"version": "3.0.0-beta.96",
"hash": "sha256-3YvbbXkg3Ys2Wyr11e8PimW7VKGnfnwhpLJgBHEZBXk="
},
{
"pname": "Humanizer.Core.lv",
"version": "3.0.0-beta.96",
"hash": "sha256-9ETnR+b4opyt+cGINZUjxu/p6p0R9VAUt7GFwOLaip8="
},
{
"pname": "Humanizer.Core.ms-MY",
"version": "3.0.0-beta.96",
"hash": "sha256-iTLujZifN53wwK13W0UfE4/4YwrHtPsOpoy93pp84zs="
},
{
"pname": "Humanizer.Core.mt",
"version": "3.0.0-beta.96",
"hash": "sha256-swb9rDwpOUxQA+0bDRuHUoSi8IlVWwhKh4IOWUXj5XA="
},
{
"pname": "Humanizer.Core.nb",
"version": "3.0.0-beta.96",
"hash": "sha256-fgfkXoLB20nZ2+9Fk//f92wtgFzzGlGgOUIaq1ZEAj8="
},
{
"pname": "Humanizer.Core.nb-NO",
"version": "3.0.0-beta.96",
"hash": "sha256-KV5xFk0yb5M8FVx+gNYB55T9ZXrxiUKtAPQ/Jp2BfHM="
},
{
"pname": "Humanizer.Core.nl",
"version": "3.0.0-beta.96",
"hash": "sha256-C0yQ30cv2O0qblHIqxXGfo4g1tsWn/OAth74395/PqY="
},
{
"pname": "Humanizer.Core.pl",
"version": "3.0.0-beta.96",
"hash": "sha256-psyNq8gVxLd+V504bUsak4sBeAMwu+LkDn10LFFTdfY="
},
{
"pname": "Humanizer.Core.pt",
"version": "3.0.0-beta.96",
"hash": "sha256-EvE2a92ATKLnYVeRKqiTcf+fbTl+GQzGzUy446QMZzk="
},
{
"pname": "Humanizer.Core.ro",
"version": "3.0.0-beta.96",
"hash": "sha256-15OBdIvHGNcadJPDR0KXS0S7qwKqKlkw6QyBz+mXoX0="
},
{
"pname": "Humanizer.Core.ru",
"version": "3.0.0-beta.96",
"hash": "sha256-uOeT1nJNfjCED8bH1yjfnNjVu6GQyEN1cveH17DwdhI="
},
{
"pname": "Humanizer.Core.sk",
"version": "3.0.0-beta.96",
"hash": "sha256-RfYnf8vo0LDa9PQh3x2W2h1afyz38eodZL79LVkmUG0="
},
{
"pname": "Humanizer.Core.sl",
"version": "3.0.0-beta.96",
"hash": "sha256-Ef8LiqVKu2KBJfjk1rMhMCE5BFoqMlbBTv5gw3RUgb8="
},
{
"pname": "Humanizer.Core.sr",
"version": "3.0.0-beta.96",
"hash": "sha256-SJKf2sbJbNIDoHR2zq9ZiLaOmkeCNEj89xY6E2TiTkY="
},
{
"pname": "Humanizer.Core.sr-Latn",
"version": "3.0.0-beta.96",
"hash": "sha256-VjVVDD9vXrIX6EKXTAeDKpURngMUTHvMKPf+QUUee+k="
},
{
"pname": "Humanizer.Core.sv",
"version": "3.0.0-beta.96",
"hash": "sha256-BcUiRvxzIufCtvGohMRx11ylzCChkROXZqWGQoxx/BA="
},
{
"pname": "Humanizer.Core.th-TH",
"version": "3.0.0-beta.96",
"hash": "sha256-KXRnY+8aia06+A2akruD8H3NVNrHDaHafn0gqku5bMA="
},
{
"pname": "Humanizer.Core.tr",
"version": "3.0.0-beta.96",
"hash": "sha256-Xhm8K2sON5tzLvSXT5xrV+9WLIRqGkL8GL5xHijYlFQ="
},
{
"pname": "Humanizer.Core.uk",
"version": "3.0.0-beta.96",
"hash": "sha256-LJHY8KUSt0DY6gaTa+MTjhB6FjPnpaGf0nHn0hurctE="
},
{
"pname": "Humanizer.Core.uz-Cyrl-UZ",
"version": "3.0.0-beta.96",
"hash": "sha256-Ac43MMgr9RWEaDDiR+omXNMVN6NyQcfBdrrhI7ONRDA="
},
{
"pname": "Humanizer.Core.uz-Latn-UZ",
"version": "3.0.0-beta.96",
"hash": "sha256-PpnNZYmPmvozYS9QvKrIF9KmC2oq/uQBpoV19G/aUkI="
},
{
"pname": "Humanizer.Core.vi",
"version": "3.0.0-beta.96",
"hash": "sha256-WwcEnOxByumQ+C4JbyNMWoGwbdfFkcagCqzsA1C+NLQ="
},
{
"pname": "Humanizer.Core.zh-CN",
"version": "3.0.0-beta.96",
"hash": "sha256-wO6VmvPVAo1sIXH5A8O3qMG0KXtl3odD4RM4saioMSU="
},
{
"pname": "Humanizer.Core.zh-Hans",
"version": "3.0.0-beta.96",
"hash": "sha256-SjsgFJeB1m4p0J3TnOLdU7IEsSygh8/rIcYKcVl3ukQ="
},
{
"pname": "Humanizer.Core.zh-Hant",
"version": "3.0.0-beta.96",
"hash": "sha256-nJm/yE6j3eRPLzQxD9AZaZC+P4cidSR6XEsuTDBV/Dw="
},
{
"pname": "JetBrains.Annotations.Sources",
"version": "2025.2.0",
"hash": "sha256-5mbTLcs1x0JtVeuN66t+0jvokYbMqFk6Bkhk+WOHlg4="
},
{
"pname": "Markdig.Signed",
"version": "0.41.3",
"hash": "sha256-r4DrP47vgky0+AbNBFso7AwwzAHgrioK2B08UIxEaNI="
},
{
"pname": "Microsoft.ApplicationInsights",
"version": "2.23.0",
"hash": "sha256-5sf3bg7CZZjHseK+F3foOchEhmVeioePxMZVvS6Rjb0="
},
{
"pname": "Microsoft.AspNetCore.OpenApi",
"version": "9.0.7",
"hash": "sha256-6W8haECWwvPnnUMlceAvSMuGzT7o5Nyz2478XXBjpoc="
},
{
"pname": "Microsoft.CodeAnalysis.ResxSourceGenerator",
"version": "5.0.0-1.25277.114",
"hash": "sha256-FMlz2bLuz310+vF0WijBn1gufxIiht/Ggn2COVRkouk="
},
{
"pname": "Microsoft.CodeCoverage",
"version": "17.13.0",
"hash": "sha256-GKrIxeyQo5Az1mztfQgea1kGtJwonnNOrXK/0ULfu8o="
},
{
"pname": "Microsoft.DiaSymReader",
"version": "2.0.0",
"hash": "sha256-8hotZmh8Rb6Q6oD9Meb74SvAdbDo39Y/1m8h43HHjjw="
},
{
"pname": "Microsoft.Extensions.Configuration",
"version": "9.0.0",
"hash": "sha256-uBLeb4z60y8z7NelHs9uT3cLD6wODkdwyfJm6/YZLDM="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "8.0.0",
"hash": "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "9.0.0",
"hash": "sha256-xtG2USC9Qm0f2Nn6jkcklpyEDT3hcEZOxOwTc0ep7uc="
},
{
"pname": "Microsoft.Extensions.Configuration.Binder",
"version": "9.0.0",
"hash": "sha256-6ajYWcNOQX2WqftgnoUmVtyvC1kkPOtTCif4AiKEffU="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "8.0.0",
"hash": "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "9.0.0",
"hash": "sha256-dAH52PPlTLn7X+1aI/7npdrDzMEFPMXRv4isV1a+14k="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.0",
"hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "9.0.0",
"hash": "sha256-CncVwkKZ5CsIG2O0+OM9qXuYXh3p6UGyueTHSLDVL+c="
},
{
"pname": "Microsoft.Extensions.DependencyModel",
"version": "6.0.2",
"hash": "sha256-WVM/gshGie1J9q5l3YWRzrPWYlVvX6ISI+SiVMoPp5o="
},
{
"pname": "Microsoft.Extensions.Diagnostics.Abstractions",
"version": "9.0.0",
"hash": "sha256-wG1LcET+MPRjUdz3HIOTHVEnbG/INFJUqzPErCM79eY="
},
{
"pname": "Microsoft.Extensions.FileProviders.Abstractions",
"version": "9.0.0",
"hash": "sha256-mVfLjZ8VrnOQR/uQjv74P2uEG+rgW72jfiGdSZhIfDc="
},
{
"pname": "Microsoft.Extensions.Hosting.Abstractions",
"version": "9.0.0",
"hash": "sha256-NhEDqZGnwCDFyK/NKn1dwLQExYE82j1YVFcrhXVczqY="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "8.0.0",
"hash": "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "9.0.0",
"hash": "sha256-kR16c+N8nQrWeYLajqnXPg7RiXjZMSFLnKLEs4VfjcM="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "8.0.0",
"hash": "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "9.0.0",
"hash": "sha256-iBTs9twjWXFeERt4CErkIIcoJZU1jrd1RWCI8V5j7KU="
},
{
"pname": "Microsoft.Extensions.Logging.Configuration",
"version": "9.0.0",
"hash": "sha256-ysPjBq64p6JM4EmeVndryXnhLWHYYszzlVpPxRWkUkw="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "8.0.0",
"hash": "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "9.0.0",
"hash": "sha256-DT5euAQY/ItB5LPI8WIp6Dnd0lSvBRP35vFkOXC68ck="
},
{
"pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
"version": "9.0.0",
"hash": "sha256-r1Z3sEVSIjeH2UKj+KMj86har68g/zybSqoSjESBcoA="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "8.0.0",
"hash": "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "9.0.0",
"hash": "sha256-ZNLusK1CRuq5BZYZMDqaz04PIKScE2Z7sS2tehU7EJs="
},
{
"pname": "Microsoft.IdentityModel.Abstractions",
"version": "8.13.0",
"hash": "sha256-B5PshNfnDfB36QjEOf0S3FQaC+9K7MR+y5KUiQDHfhg="
},
{
"pname": "Microsoft.IdentityModel.JsonWebTokens",
"version": "8.13.0",
"hash": "sha256-i9CvrXUvYvtmuAQNHU9IvjItFh6x2/O8CAuEjeOOYyg="
},
{
"pname": "Microsoft.IdentityModel.Logging",
"version": "8.13.0",
"hash": "sha256-wg6jCW8tiXfwrKs/Hxo0M0Cyi2EPRlIa6+vfnVxsQ+M="
},
{
"pname": "Microsoft.IdentityModel.Tokens",
"version": "8.13.0",
"hash": "sha256-M1NZQyQt8q10MLai4BooKtzJebRVwHeQuq/UQiJl28c="
},
{
"pname": "Microsoft.NET.Test.Sdk",
"version": "17.13.0",
"hash": "sha256-sc2wvyV8cGm1FrNP2GGHEI584RCvRPu15erYCsgw5QY="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "5.0.0",
"hash": "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="
},
{
"pname": "Microsoft.OpenApi",
"version": "1.6.17",
"hash": "sha256-Wx9PwlEJPNMq1kp59nJJnLHQ+yNhqCTudcokmlP+tSk="
},
{
"pname": "Microsoft.Testing.Extensions.CodeCoverage",
"version": "17.14.2",
"hash": "sha256-sWmVaw72mtdUAi/xGNd/MSOVDxs6vlH0xC7g4Pr7oik="
},
{
"pname": "Microsoft.Testing.Extensions.Telemetry",
"version": "1.7.3",
"hash": "sha256-Z6WsY2FCUbNnT5HJd7IOrfOvqknVXp6PWzTVeb0idVg="
},
{
"pname": "Microsoft.Testing.Extensions.TrxReport",
"version": "1.7.3",
"hash": "sha256-QX6Oo6uI9XWRbgrjdHxzROIhTHm12ai6wIDtDuqDJwA="
},
{
"pname": "Microsoft.Testing.Extensions.TrxReport.Abstractions",
"version": "1.7.3",
"hash": "sha256-PTee04FHyTHx/gF5NLckXuVje807G51MzkPrZ1gkgCw="
},
{
"pname": "Microsoft.Testing.Extensions.VSTestBridge",
"version": "1.7.3",
"hash": "sha256-8d+wZmucfSO7PsviHjVxYB4q6NcjgxvnCUpLePq35sM="
},
{
"pname": "Microsoft.Testing.Platform",
"version": "1.6.2",
"hash": "sha256-RfdgATa3aTYLpGfv8ORI5uEP8dH87L5/gBDkxAG6ho4="
},
{
"pname": "Microsoft.Testing.Platform",
"version": "1.7.3",
"hash": "sha256-cavX11P5o9rooqC3ZHw5h002OKRg2ZNR/VaRwpNTQYA="
},
{
"pname": "Microsoft.Testing.Platform.MSBuild",
"version": "1.7.3",
"hash": "sha256-cREl529UQ/c5atT8KimMgrgNdy6MrAd0sBGT8sXRRPM="
},
{
"pname": "Microsoft.TestPlatform.AdapterUtilities",
"version": "17.13.0",
"hash": "sha256-Vr+3Tad/h/nk7f/5HMExn3HvCGFCarehFAzJSfCBaOc="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "17.13.0",
"hash": "sha256-6S0fjfj8vA+h6dJVNwLi6oZhYDO/I/6hBZaq2VTW+Uk="
},
{
"pname": "Microsoft.TestPlatform.TestHost",
"version": "17.13.0",
"hash": "sha256-L/CJzou7dhmShUgXq3aXL3CaLTJll17Q+JY2DBdUUpo="
},
{
"pname": "Microsoft.Win32.Registry",
"version": "5.0.0",
"hash": "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="
},
{
"pname": "MSTest",
"version": "3.9.3",
"hash": "sha256-sfvkUW4AZEmFduiSZYh3ZuXgE8/boC7gYMMleP4nkUA="
},
{
"pname": "MSTest.Analyzers",
"version": "3.9.3",
"hash": "sha256-uD74gJNVNSQNsxyzf/5kxCBFbgIY7pYdUrKZihAyLi4="
},
{
"pname": "MSTest.TestAdapter",
"version": "3.9.3",
"hash": "sha256-0krWgHpALFJMX707/SMN7b5ryEgm7taCoxtC4WBaglM="
},
{
"pname": "MSTest.TestFramework",
"version": "3.9.3",
"hash": "sha256-kkW155gzuv0xjiucutNs4RjF9g2NEIZ39+nruRun4As="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.1",
"hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="
},
{
"pname": "Nito.AsyncEx.Coordination",
"version": "5.1.2",
"hash": "sha256-NHMnIBkGzzuoZL0qHKAwFC35doB08IDvmCQptC2uu2s="
},
{
"pname": "Nito.AsyncEx.Tasks",
"version": "5.1.2",
"hash": "sha256-W5jxZZ0pbPHte6TkWTq4FDtHOejvlrdyb1Inw+Yhl4c="
},
{
"pname": "Nito.Collections.Deque",
"version": "1.1.1",
"hash": "sha256-6Pmz6XQ+rY32O21Z3cUDVQsLH+i53LId18UCPTAxRZQ="
},
{
"pname": "Nito.Disposables",
"version": "2.2.1",
"hash": "sha256-FKDLUWysqroSHLU2kLjK1m0g417AAPh6n2TIkwiapcM="
},
{
"pname": "NLog",
"version": "6.0.2",
"hash": "sha256-sToQRwukDjUo3ytSmHXT5p4j6fTv1utHkQKeF48EWnQ="
},
{
"pname": "NLog.Extensions.Logging",
"version": "6.0.2",
"hash": "sha256-RqgckCP99RHolPk7dBn97zJzvDVoQobVuuBH4GBEOWk="
},
{
"pname": "NLog.Web.AspNetCore",
"version": "6.0.2",
"hash": "sha256-F6NLSfbhHDKZ6ApmObvKGEA6gLl4L3vmiegdYn1Kl2g="
},
{
"pname": "OpenTelemetry",
"version": "1.12.0",
"hash": "sha256-WqUAXbwHyoksigzEgYnHNONl2TLd0ZM5MJ6jDsbYxas="
},
{
"pname": "OpenTelemetry.Api",
"version": "1.12.0",
"hash": "sha256-nw7Y84b98RFoL9eHip2Moz5sLHt3cDUDznYZLu3OCXU="
},
{
"pname": "OpenTelemetry.Api.ProviderBuilderExtensions",
"version": "1.12.0",
"hash": "sha256-HW5lCuHZgkh0SO94cJLcjfX3M0dJDV0xJIRV2pY0jXc="
},
{
"pname": "OpenTelemetry.Exporter.Prometheus.AspNetCore",
"version": "1.12.0-beta.1",
"hash": "sha256-wskK4EFwQBKCwe7NKk1NnEsBcdc+GByU3dN6m7F5DkM="
},
{
"pname": "OpenTelemetry.Extensions.Hosting",
"version": "1.12.0",
"hash": "sha256-TbZ0XXPWa84m9810x7XQmxccWZmGnE8PM4rwG+88dmg="
},
{
"pname": "OpenTelemetry.Instrumentation.AspNetCore",
"version": "1.12.0",
"hash": "sha256-38FaYhE33hu053RJq0pdlsCQScDU6cwONWX2UAFJeWM="
},
{
"pname": "OpenTelemetry.Instrumentation.Http",
"version": "1.12.0",
"hash": "sha256-3OVK3iC4k1KXwEZ4OsVJYwldQqzq6YuxL61oY7aaenE="
},
{
"pname": "OpenTelemetry.Instrumentation.Runtime",
"version": "1.12.0",
"hash": "sha256-aGKGcW6Cb2MS64oLG+aZVNRle3YUtAcopSbYQ2Z51PE="
},
{
"pname": "protobuf-net",
"version": "3.2.52",
"hash": "sha256-phXeroBt5KbHYkApkkMa0mRCVkDY+dtOOXXNY+i50Ek="
},
{
"pname": "protobuf-net.Core",
"version": "3.2.52",
"hash": "sha256-/9Jj26tuSKeYJb9udwew5i5EVvaoeNu/vBCKS0VhSQQ="
},
{
"pname": "Scalar.AspNetCore",
"version": "2.6.4",
"hash": "sha256-OEj72jV42fBN6uFzmPEPA20c/g6eJRYOJvCLv6K54ME="
},
{
"pname": "SteamKit2",
"version": "3.3.0",
"hash": "sha256-/NxnVDatdrqIXCjs0P4gRjHq42r/K+wOv3JO5yiAIjU="
},
{
"pname": "System.Buffers",
"version": "4.5.1",
"hash": "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="
},
{
"pname": "System.Collections.Immutable",
"version": "1.7.1",
"hash": "sha256-WMMAUqoxT3J1gW9DI8v31VAuhwqTc4Posose5jq1BNo="
},
{
"pname": "System.Collections.Immutable",
"version": "8.0.0",
"hash": "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="
},
{
"pname": "System.Composition",
"version": "9.0.7",
"hash": "sha256-6Ytzb6Xew7wNHpcCO/IpGag7VJvg9OUZKdA2hANpJUs="
},
{
"pname": "System.Composition.AttributedModel",
"version": "9.0.7",
"hash": "sha256-OJrJP8X/RVHEktcOeVCrSO1lKub3/zjeBkLAQ0tKvgc="
},
{
"pname": "System.Composition.Convention",
"version": "9.0.7",
"hash": "sha256-XK/WUSIiyAZJQUIrzzvJFWuELyYp1F9Fu3VkVmZfvTw="
},
{
"pname": "System.Composition.Hosting",
"version": "9.0.7",
"hash": "sha256-gkaJ+yh97FpWRye4wDvZfkrPw2/hxlodbimhZslHVK4="
},
{
"pname": "System.Composition.Runtime",
"version": "9.0.7",
"hash": "sha256-NbAgMCVEbVdbriLMyBh4lcgj+qhe4FJpXvTbOavPE3A="
},
{
"pname": "System.Composition.TypedParts",
"version": "9.0.7",
"hash": "sha256-uqJHYn2f9bdGcSO6+NW+sPmU4orqPbapMg3ZeIdlUOQ="
},
{
"pname": "System.Diagnostics.DiagnosticSource",
"version": "5.0.0",
"hash": "sha256-6mW3N6FvcdNH/pB58pl+pFSCGWgyaP4hfVtC/SMWDV4="
},
{
"pname": "System.Diagnostics.DiagnosticSource",
"version": "9.0.0",
"hash": "sha256-1VzO9i8Uq2KlTw1wnCCrEdABPZuB2JBD5gBsMTFTSvE="
},
{
"pname": "System.IO.Hashing",
"version": "9.0.5",
"hash": "sha256-hMAhIhYl1QhtD21kSitvSnsNd9KgSydIRvjwZ/1iFes="
},
{
"pname": "System.Linq.Async",
"version": "6.0.3",
"hash": "sha256-i+2XnsOJnD7R/vCFtadp+lwrkDNAscANes2Ur0MSTl8="
},
{
"pname": "System.Memory",
"version": "4.5.4",
"hash": "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="
},
{
"pname": "System.Reflection.Metadata",
"version": "1.6.0",
"hash": "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="
},
{
"pname": "System.Reflection.Metadata",
"version": "8.0.0",
"hash": "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.0.0",
"hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="
},
{
"pname": "System.Security.AccessControl",
"version": "5.0.0",
"hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="
},
{
"pname": "System.Security.Cryptography.ProtectedData",
"version": "9.0.7",
"hash": "sha256-e8mo6zKcAOUfh96LYeH60hm7xO/hOJHgHuQkDmW56Ss="
},
{
"pname": "System.Security.Principal.Windows",
"version": "5.0.0",
"hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="
},
{
"pname": "System.Text.Encodings.Web",
"version": "6.0.1",
"hash": "sha256-l3oKwZStjew/ClSrDaVLyHDAExoP6Iwm6uqJSdI9YJo="
},
{
"pname": "System.Text.Json",
"version": "6.0.11",
"hash": "sha256-KsgOU3RvSN/Kc+my45K0eua4owQPZar81LVF2Kzupf0="
},
{
"pname": "ZstdSharp.Port",
"version": "0.8.5",
"hash": "sha256-+UQFeU64md0LlSf9nMXif6hHnfYEKm+WRyYd0Vo2QvI="
}
]

View File

@@ -0,0 +1,26 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl gnused jq common-updater-scripts
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
new_version="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/releases" | jq -r 'map(select(.prerelease == false)) | .[0].tag_name')"
old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
if [[ "$new_version" == "$old_version" ]]; then
echo "Already up to date!"
if [[ "${1-default}" != "--deps-only" ]]; then
exit 0
fi
fi
asf_path=$PWD
cd ../../../..
if [[ "${1:-}" != "--deps-only" ]]; then
update-source-version ArchiSteamFarm "$new_version"
fi
$(nix-build -A ArchiSteamFarm.fetch-deps --no-out-link)
cd "$asf_path/web-ui"
./update.sh

View File

@@ -0,0 +1 @@
package-lock.json

View File

@@ -0,0 +1,38 @@
{
lib,
fetchFromGitHub,
buildNpmPackage,
ArchiSteamFarm,
}:
buildNpmPackage rec {
pname = "asf-ui";
version = "cd42a0272ce9449b38d0654374867a409681a779";
src = fetchFromGitHub {
owner = "JustArchiNET";
repo = "ASF-ui";
# updated by the update script
# this is always the commit that should be used with asf-ui from the latest asf version
rev = version;
hash = "sha256-dQVfgQM1b+UON+UO+sybCbn8OsriJp/tahzInVNwoqw=";
};
npmDepsHash = "sha256-x2jBtpP3sVJNIFzlKvUhtqWX7H8OM4bnBcE70NQwCRA=";
installPhase = ''
runHook preInstall
mkdir $out
cp -rv dist/* $out/
runHook postInstall
'';
meta = with lib; {
description = "Official web interface for ASF";
license = licenses.asl20;
homepage = "https://github.com/JustArchiNET/ASF-ui";
inherit (ArchiSteamFarm.meta) maintainers platforms;
};
}

View File

@@ -0,0 +1,19 @@
#!/usr/bin/env nix-shell
#! nix-shell -I nixpkgs=../../../../.. -i bash -p curl gnused jq common-updater-scripts prefetch-npm-deps
set -eou pipefail
cd "$(dirname "$0")"/../../../../..
version=$(nix-instantiate --strict --eval -A ArchiSteamFarm.version | jq -r)
cd -
ui=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/contents/ASF-ui?ref=$version" | jq -r .sha)
curl "https://raw.githubusercontent.com/JustArchiNET/ASF-ui/$ui/package-lock.json" -o package-lock.json
cd -
update-source-version ArchiSteamFarm.ui "$ui"
cd -
npmDepsHash=$(prefetch-npm-deps ./package-lock.json)
sed -E 's#\bnpmDepsHash = ".*?"#npmDepsHash = "'"$npmDepsHash"'"#' -i default.nix
rm package-lock.json

View File

@@ -0,0 +1,54 @@
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
qmake,
wrapQtAppsHook,
opencv,
spdlog,
onnxruntime,
qtx11extras,
}:
stdenv.mkDerivation {
pname = "aitrack";
version = "0.6.5";
src = fetchFromGitHub {
owner = "mdk97";
repo = "aitrack-linux";
rev = "00bcca9b685abf3a19e4eab653198ca2b1895ae4";
sha256 = "sha256-pPvYVLUPYdjtJKdxqZI+JN7OZ4xw9gZ3baYTnJUSTGE=";
};
nativeBuildInputs = [
pkg-config
qmake
wrapQtAppsHook
];
buildInputs = [
opencv
spdlog
qtx11extras
onnxruntime
];
postPatch = ''
substituteInPlace Client/src/Main.cpp \
--replace "/usr/share/" "$out/share/"
'';
postInstall = ''
install -Dt $out/bin aitrack
install -Dt $out/share/aitrack/models models/*
'';
meta = with lib; {
description = "6DoF Head tracking software";
mainProgram = "aitrack";
maintainers = with maintainers; [ ck3d ];
platforms = platforms.linux;
license = licenses.mit;
};
}

View File

@@ -0,0 +1,15 @@
{
lib,
attemptoClex,
callPackage,
}:
callPackage ./. {
pname = "ape-clex";
lexiconPath = "${attemptoClex}/clex_lexicon.pl";
description = "Parser for Attempto Controlled English (ACE) with a large lexicon (~100,000 entries)";
license = with lib.licenses; [
lgpl3
gpl3
];
}

View File

@@ -0,0 +1,29 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "attempto-clex";
version = "5133afe";
src = fetchFromGitHub {
owner = "Attempto";
repo = "Clex";
rev = version;
sha256 = "0p9s64g1jic213bwm6347jqckszgnni9szrrz31qjgaf32kf7nkp";
};
installPhase = ''
mkdir -p $out
cp clex_lexicon.pl $out
'';
meta = with lib; {
description = "Large lexicon for APE (~100,000 entries)";
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = with maintainers; [ yrashk ];
};
}

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
swi-prolog,
makeWrapper,
fetchFromGitHub,
lexiconPath ? "prolog/lexicon/clex_lexicon.pl",
pname ? "ape",
description ? "Parser for Attempto Controlled English (ACE)",
license ? lib.licenses.lgpl3,
}:
stdenv.mkDerivation {
inherit pname;
version = "2019-08-10";
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ swi-prolog ];
src = fetchFromGitHub {
owner = "Attempto";
repo = "APE";
rev = "113b81621262d7a395779465cb09397183e6f74c";
sha256 = "0xyvna2fbr18hi5yvm0zwh77q02dfna1g4g53z9mn2rmlfn2mhjh";
};
patchPhase = ''
# We move the file first to avoid "same file" error in the default case
cp ${lexiconPath} new_lexicon.pl
rm prolog/lexicon/clex_lexicon.pl
cp new_lexicon.pl prolog/lexicon/clex_lexicon.pl
'';
buildPhase = ''
make SHELL=${stdenv.shell} build
'';
installPhase = ''
mkdir -p $out/bin
cp ape.exe $out
makeWrapper $out/ape.exe $out/bin/ape --add-flags ace
'';
meta = with lib; {
description = description;
homepage = "https://github.com/Attempto/APE";
license = license;
platforms = platforms.unix;
maintainers = with maintainers; [ yrashk ];
mainProgram = "ape";
};
}

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchFromGitHub,
testers,
cmake,
pkg-config,
wrapQtAppsHook,
pcsclite,
qtscxml,
qtsvg,
qttools,
qtwayland,
qtwebsockets,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ausweisapp";
version = "2.3.2";
src = fetchFromGitHub {
owner = "Governikus";
repo = "AusweisApp2";
rev = finalAttrs.version;
hash = "sha256-xY5V5Z6HVtkFzLzWOVRTKdms356OO0EKnG+Nymurowo=";
};
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
];
# The build scripts copy the entire translations directory from Qt
# which ends up being read-only because it's in the store.
preBuild = ''
chmod +w resources/translations
'';
buildInputs = [
pcsclite
qtscxml
qtsvg
qttools
qtwayland
qtwebsockets
];
passthru = {
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "QT_QPA_PLATFORM=offscreen ${finalAttrs.meta.mainProgram} --version";
};
updateScript = gitUpdater { };
};
meta = {
description = "Official authentication app for German ID card and residence permit";
downloadPage = "https://github.com/Governikus/AusweisApp2/releases";
homepage = "https://www.ausweisapp.bund.de/open-source-software";
license = lib.licenses.eupl12;
mainProgram = "AusweisApp";
maintainers = with lib.maintainers; [ b4dm4n ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,131 @@
{
lib,
stdenv,
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
libX11,
libICE,
libSM,
libXi,
libXcursor,
libXext,
libXrandr,
fontconfig,
glew,
makeDesktopItem,
copyDesktopItems,
icoutils,
bintools,
fixDarwinDylibNames,
autoSignDarwinBinariesHook,
}:
buildDotnetModule rec {
pname = "avalonia-ilspy";
version = "7.2-rc";
src = fetchFromGitHub {
owner = "icsharpcode";
repo = "AvaloniaILSpy";
rev = "v${version}";
hash = "sha256-cCQy5cSpJNiVZqgphURcnraEM0ZyXGhzJLb5AThNfPQ=";
};
patches = [
# Remove dead nuget package source
./remove-broken-sources.patch
# Upgrade project to .NET 8.0
./dotnet-8-upgrade.patch
];
nativeBuildInputs = [
copyDesktopItems
icoutils
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
bintools
fixDarwinDylibNames
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
autoSignDarwinBinariesHook
];
buildInputs = [
# Dependencies of nuget packages w/ native binaries
(lib.getLib stdenv.cc.cc)
fontconfig
];
runtimeDeps = [
# Avalonia UI
libX11
libICE
libSM
libXi
libXcursor
libXext
libXrandr
fontconfig
glew
];
postInstall = ''
icotool --icon -x ILSpy/ILSpy.ico
for i in 16 32 48 256; do
size=''${i}x''${i}
install -Dm444 *_''${size}x32.png $out/share/icons/hicolor/$size/apps/ILSpy.png
done
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
install -Dm444 ILSpy/Info.plist $out/Applications/ILSpy.app/Contents/Info.plist
install -Dm444 ILSpy/ILSpy.icns $out/Applications/ILSpy.app/Contents/Resources/ILSpy.icns
mkdir -p $out/Applications/ILSpy.app/Contents/MacOS
ln -s $out/bin/ILSpy $out/Applications/ILSpy.app/Contents/MacOS/ILSpy
'';
dotnet-sdk = dotnetCorePackages.sdk_8_0;
projectFile = "ILSpy/ILSpy.csproj";
nugetDeps = ./deps.json;
executables = [ "ILSpy" ];
desktopItems = [
(makeDesktopItem {
name = "ILSpy";
desktopName = "ILSpy";
exec = "ILSpy";
icon = "ILSpy";
comment = ".NET assembly browser and decompiler";
categories = [
"Development"
];
keywords = [
".net"
"il"
"assembly"
];
})
];
meta = with lib; {
description = ".NET assembly browser and decompiler";
homepage = "https://github.com/icsharpcode/AvaloniaILSpy";
license = with licenses; [
mit
# third party dependencies
lgpl21Only
mspl
];
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode
binaryNativeCode
];
maintainers = with maintainers; [
AngryAnt
emilytrau
];
mainProgram = "ILSpy";
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,64 @@
diff --git a/ICSharpCode.Decompiler.PdbProvider.Cecil/ICSharpCode.Decompiler.PdbProvider.Cecil.csproj b/ICSharpCode.Decompiler.PdbProvider.Cecil/ICSharpCode.Decompiler.PdbProvider.Cecil.csproj
index 397e0e5..dfa385c 100644
--- a/ICSharpCode.Decompiler.PdbProvider.Cecil/ICSharpCode.Decompiler.PdbProvider.Cecil.csproj
+++ b/ICSharpCode.Decompiler.PdbProvider.Cecil/ICSharpCode.Decompiler.PdbProvider.Cecil.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netstandard2.0</TargetFramework>
+ <TargetFramework>net8.0</TargetFramework>
<LangVersion>7.2</LangVersion>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
diff --git a/ILSpy.Core/ILSpy.Core.csproj b/ILSpy.Core/ILSpy.Core.csproj
index cd6d5e2..d725817 100644
--- a/ILSpy.Core/ILSpy.Core.csproj
+++ b/ILSpy.Core/ILSpy.Core.csproj
@@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netstandard2.0</TargetFramework>
+ <TargetFramework>net8.0</TargetFramework>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<EnableDefaultItems>false</EnableDefaultItems>
<SignAssembly>True</SignAssembly>
diff --git a/ILSpy/ILSpy.csproj b/ILSpy/ILSpy.csproj
index 4deb56f..b9813ba 100644
--- a/ILSpy/ILSpy.csproj
+++ b/ILSpy/ILSpy.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>net6.0</TargetFramework>
+ <TargetFramework>net8.0</TargetFramework>
<OutputType>WinExe</OutputType>
<TieredCompilation>true</TieredCompilation>
diff --git a/SharpTreeView/SharpTreeView.csproj b/SharpTreeView/SharpTreeView.csproj
index d6f46c5..4183ffd 100644
--- a/SharpTreeView/SharpTreeView.csproj
+++ b/SharpTreeView/SharpTreeView.csproj
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netstandard2.0</TargetFramework>
+ <TargetFramework>net8.0</TargetFramework>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<EnableDefaultItems>false</EnableDefaultItems>
<SignAssembly>True</SignAssembly>
diff --git a/TestPlugin/TestPlugin.csproj b/TestPlugin/TestPlugin.csproj
index 453a3ef..806f375 100644
--- a/TestPlugin/TestPlugin.csproj
+++ b/TestPlugin/TestPlugin.csproj
@@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netstandard2.0</TargetFramework>
+ <TargetFramework>net8.0</TargetFramework>
<AssemblyName>Test.Plugin</AssemblyName>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>

View File

@@ -0,0 +1,12 @@
diff --git a/nuget.config b/nuget.config
index 08b468c..349bb11 100644
--- a/nuget.config
+++ b/nuget.config
@@ -3,7 +3,6 @@
<packageSources>
<clear/>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
- <add key="AvaloniaCI" value="https://www.myget.org/F/avalonia-ci/api/v2" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
</packageSources>
</configuration>

View File

@@ -0,0 +1,42 @@
{
stdenv,
lib,
fetchFromSourcehut,
meson,
ninja,
pkg-config,
wrapQtAppsHook,
qtbase,
}:
stdenv.mkDerivation rec {
pname = "bfcal";
version = "1.0.1";
src = fetchFromSourcehut {
owner = "~bitfehler";
repo = "bfcal";
rev = "v${version}";
sha256 = "sha256-5xyBU+0XUNFUGgvw7U8YE64zncw6SvPmbJhc1LY2u/g=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wrapQtAppsHook
];
buildInputs = [
qtbase
];
meta = with lib; {
description = "Quickly display a calendar";
mainProgram = "bfcal";
homepage = "https://git.sr.ht/~bitfehler/bfcal";
license = licenses.gpl3Plus;
platforms = qtbase.meta.platforms;
maintainers = with maintainers; [ laalsaas ];
};
}

View File

@@ -0,0 +1,52 @@
{
mkDerivation,
lib,
fetchFromGitHub,
cmake,
pkg-config,
qtbase,
qttools,
qtx11extras,
}:
mkDerivation rec {
pname = "birdtray";
version = "1.11.4";
src = fetchFromGitHub {
owner = "gyunaev";
repo = "birdtray";
rev = "v${version}";
sha256 = "sha256-rj8tPzZzgW0hXmq8c1LiunIX1tO/tGAaqDGJgCQda5M=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
qtbase
qttools
qtx11extras
];
cmakeFlags = [
# CMake 4 dropped support of versions lower than 3.5,
# versions lower than 3.10 are deprecated.
(lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.10")
];
# Wayland support is broken.
# https://github.com/gyunaev/birdtray/issues/113#issuecomment-621742315
qtWrapperArgs = [ "--set QT_QPA_PLATFORM xcb" ];
meta = with lib; {
description = "Mail system tray notification icon for Thunderbird";
mainProgram = "birdtray";
homepage = "https://github.com/gyunaev/birdtray";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ Flakebi ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
buildPythonApplication,
fetchPypi,
hatch-vcs,
hatchling,
pynput,
xdg-base-dirs,
}:
buildPythonApplication rec {
pname = "bitwarden-menu";
version = "0.4.5";
pyproject = true;
src = fetchPypi {
pname = "bitwarden_menu";
inherit version;
hash = "sha256-vUlNqSVdGhfN5WjDjf1ub32Y2WoBndIdFzfCNwo5+Vg=";
};
nativeBuildInputs = [
hatch-vcs
hatchling
];
propagatedBuildInputs = [
pynput
xdg-base-dirs
];
doCheck = false;
meta = {
changelog = "https://github.com/firecat53/bitwarden-menu/releases/tag/v${version}";
description = "Dmenu/Rofi frontend for managing Bitwarden vaults. Uses the Bitwarden CLI tool to interact with the Bitwarden database";
mainProgram = "bwm";
homepage = "https://github.com/firecat53/bitwarden-menu";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aman9das ];
};
}

View File

@@ -0,0 +1,39 @@
{
stdenv,
lib,
makeWrapper,
ghcWithPackages,
packages ? (_: [ ]),
}:
let
blucontrolEnv = ghcWithPackages (self: [ self.blucontrol ] ++ packages self);
in
stdenv.mkDerivation {
pname = "blucontrol-with-packages";
version = blucontrolEnv.version;
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
makeWrapper ${blucontrolEnv}/bin/blucontrol $out/bin/blucontrol \
--prefix PATH : ${lib.makeBinPath [ blucontrolEnv ]}
'';
# trivial derivation
preferLocalBuild = true;
allowSubstitutes = false;
meta = with lib; {
description = "Configurable blue light filter";
mainProgram = "blucontrol";
longDescription = ''
This application is a blue light filter, with the main focus on configurability.
Configuration is done in Haskell in the style of xmonad.
Blucontrol makes use of monad transformers and allows monadic calculation of gamma values and recoloring. The user chooses, what will be captured in the monadic state.
'';
license = licenses.bsd3;
homepage = "https://github.com/jumper149/blucontrol";
platforms = platforms.unix;
maintainers = with maintainers; [ jumper149 ];
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
fetchFromGitHub,
buildPythonApplication,
pybluez,
}:
buildPythonApplication rec {
pname = "bluetooth_battery";
version = "1.3.1";
src = fetchFromGitHub {
owner = "TheWeirdDev";
repo = "Bluetooth_Headset_Battery_Level";
rev = "v${version}";
sha256 = "067qfxh228cy1x95bnjp88dx4k00ajj7ay7fz5vr1gkj2yfa203s";
};
propagatedBuildInputs = [ pybluez ];
format = "other";
installPhase = ''
mkdir -p $out/bin
cp $src/bluetooth_battery.py $out/bin/bluetooth_battery
'';
meta = with lib; {
description = "Fetch the battery charge level of some Bluetooth headsets";
mainProgram = "bluetooth_battery";
homepage = "https://github.com/TheWeirdDev/Bluetooth_Headset_Battery_Level";
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ cheriimoya ];
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
buildPythonApplication,
fetchFromGitHub,
flit,
aiohttp,
beautifulsoup4,
}:
buildPythonApplication {
pname = "cambrinary";
version = "unstable-2023-07-16";
format = "pyproject";
src = fetchFromGitHub {
owner = "xueyuanl";
repo = "cambrinary";
rev = "f0792ef70654a48a7677b6e1a7dee454b2c0971c";
hash = "sha256-wDcvpKAY/6lBjO5h3qKH3+Y2G2gm7spcKCXFMt/bAtE=";
};
nativeBuildInputs = [
flit
];
propagatedBuildInputs = [
aiohttp
beautifulsoup4
];
pythonImportsCheck = [ "cambrinary" ];
meta = with lib; {
description = "Cambridge dictionary in a terminal";
mainProgram = "cambrinary";
homepage = "https://github.com/xueyuanl/cambrinary";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
mkDerivation,
fetchFromGitHub,
cmake,
extra-cmake-modules,
}:
mkDerivation rec {
pname = "cask-server";
version = "0.6.0";
src = fetchFromGitHub {
owner = "Nitrux";
repo = "cask-server";
tag = "v${version}";
sha256 = "sha256-XUgLtZMcvzGewtUcgu7FbBCn/1zqOjWvw2AI9gUwWkc=";
};
nativeBuildInputs = [
cmake
extra-cmake-modules
];
meta = with lib; {
description = "Public server and API to interface with Cask features";
mainProgram = "CaskServer";
homepage = "https://github.com/Nitrux/cask-server";
license = with licenses; [
bsd2
lgpl21Plus
cc0
];
maintainers = with maintainers; [ onny ];
};
}

View File

@@ -0,0 +1,46 @@
{
lib,
mkDerivation,
fetchFromGitHub,
cmake,
pkg-config,
libchewing,
qtbase,
qttools,
}:
mkDerivation rec {
pname = "chewing-editor";
version = "0.1.1";
src = fetchFromGitHub {
owner = "chewing";
repo = "chewing-editor";
rev = version;
sha256 = "0kc2hjx1gplm3s3p1r5sn0cyxw3k1q4gyv08q9r6rs4sg7xh2w7w";
};
doCheck = true;
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
libchewing
qtbase
qttools
];
meta = with lib; {
description = "Cross platform chewing user phrase editor";
mainProgram = "chewing-editor";
longDescription = ''
chewing-editor is a cross platform chewing user phrase editor. It provides a easy way to manage user phrase. With it, user can customize their user phrase to increase input performance.
'';
homepage = "https://github.com/chewing/chewing-editor";
license = licenses.gpl2Plus;
maintainers = [ maintainers.ShamrockLee ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
qtbase,
qtcharts,
wrapQtAppsHook,
}:
stdenv.mkDerivation rec {
pname = "clight-gui";
version = "unstable-2023-02-21";
src = fetchFromGitHub {
owner = "nullobsi";
repo = "clight-gui";
rev = "29e7216bfcc68135350a695ce446134bcb0463a6";
hash = "sha256-U4vaMwnVDZnYLc+K3/yD81Q1vyBL8uSrrhOHbjbox5U=";
};
buildInputs = [
qtbase
qtcharts
];
nativeBuildInputs = [
cmake
wrapQtAppsHook
];
sourceRoot = "${src.name}/src";
meta = with lib; {
description = "Qt GUI for clight";
homepage = "https://github.com/nullobsi/clight-gui";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nickhu ];
mainProgram = "clight-gui";
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,111 @@
{
lib,
stdenv,
fetchFromGitHub,
dbus,
cmake,
pkg-config,
wayland-scanner,
glib,
udev,
polkit,
libusb1,
libjpeg,
libmodule,
libXdmcp,
util-linux,
libpthreadstubs,
enableDdc ? true,
ddcutil,
enableDpms ? true,
libXext,
enableGamma ? true,
libdrm,
libXrandr,
libiio,
wayland,
enableScreen ? true,
enableYoctolight ? true,
}:
stdenv.mkDerivation rec {
pname = "clightd";
version = "5.9";
src = fetchFromGitHub {
owner = "FedeDP";
repo = "Clightd";
rev = version;
hash = "sha256-LOhBBd7QL5kH4TzMFgrh70C37WsFdsiKArP+tIEiPWo=";
};
# dbus-1.pc has datadir=/etc
SYSTEM_BUS_DIR = "${placeholder "out"}/share/dbus-1/system-services";
# polkit-gobject-1.pc has prefix=${polkit.out}
POLKIT_ACTION_DIR = "${placeholder "out"}/share/polkit-1/actions";
postPatch = ''
sed -i "s@pkg_get_variable(SYSTEM_BUS_DIR.*@set(SYSTEM_BUS_DIR $SYSTEM_BUS_DIR)@" CMakeLists.txt
sed -i "s@pkg_get_variable(POLKIT_ACTION_DIR.*@set(POLKIT_ACTION_DIR $POLKIT_ACTION_DIR)@" CMakeLists.txt
'';
cmakeFlags = [
"-DSYSTEMD_SERVICE_DIR=${placeholder "out"}/lib/systemd/system"
"-DDBUS_CONFIG_DIR=${placeholder "out"}/etc/dbus-1/system.d"
# systemd.pc has prefix=${systemd.out}
"-DMODULE_LOAD_DIR=${placeholder "out"}/lib/modules-load.d"
]
++ lib.optional enableDdc "-DENABLE_DDC=1"
++ lib.optional enableDpms "-DENABLE_DPMS=1"
++ lib.optional enableGamma "-DENABLE_GAMMA=1"
++ lib.optional enableScreen "-DENABLE_SCREEN=1"
++ lib.optional enableYoctolight "-DENABLE_YOCTOLIGHT=1";
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
cmake
pkg-config
wayland-scanner
];
buildInputs = [
dbus
glib
udev
polkit
libusb1
libjpeg
libmodule
libiio
libXdmcp
util-linux
libpthreadstubs
]
++ lib.optionals enableDdc [ ddcutil ]
++ lib.optionals enableDpms [ libXext ]
++ lib.optionals enableGamma [ libXrandr ]
++ lib.optionals (enableDpms || enableGamma || enableScreen) [
libdrm
wayland
];
postInstall = ''
mkdir -p $out/bin
ln -svT $out/libexec/clightd $out/bin/clightd
'';
meta = with lib; {
description = "Linux bus interface that changes screen brightness/temperature";
mainProgram = "clightd";
homepage = "https://github.com/FedeDP/Clightd";
platforms = platforms.linux;
license = licenses.gpl3;
maintainers = with maintainers; [
eadwu
];
};
}

View File

@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchFromGitHub,
dbus,
cmake,
pkg-config,
bash-completion,
gsl,
popt,
clightd,
systemd,
libconfig,
libmodule,
withGeoclue ? true,
geoclue2,
withUpower ? true,
upower,
}:
stdenv.mkDerivation rec {
pname = "clight";
version = "4.11";
src = fetchFromGitHub {
owner = "FedeDP";
repo = "Clight";
rev = version;
sha256 = "sha256-Fu38HRP83Yn2jsq9xnCWOXNlV/0hJKD1/cOOp3EV45Q=";
};
nativeBuildInputs = [
dbus
cmake
pkg-config
bash-completion
];
buildInputs = [
gsl
popt
upower
clightd
systemd
geoclue2
libconfig
libmodule
]
++ lib.optional withGeoclue geoclue2
++ lib.optional withUpower upower;
cmakeFlags = [
"-DSESSION_BUS_DIR=${placeholder "out"}/share/dbus-1/services"
"-DBASH_COMPLETIONS_DIR=${placeholder "out"}/share/bash-completions/completions"
"-DZSH_COMPLETIONS_DIR=${placeholder "out"}/share/zsh/site-functions"
];
meta = with lib; {
description = "C daemon that turns your webcam into a light sensor";
homepage = "https://github.com/FedeDP/Clight";
platforms = platforms.linux;
license = licenses.gpl3;
maintainers = with maintainers; [
eadwu
];
mainProgram = "clight";
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
mkDerivation,
fetchurl,
qtbase,
qmake,
}:
mkDerivation rec {
pname = "confclerk";
version = "0.7.2";
src = fetchurl {
url = "https://www.toastfreeware.priv.at/tarballs/confclerk/confclerk-${version}.tar.gz";
sha256 = "sha256-GgWvPHcQnQrK9SOC8U9F2P8kuPCn8I2EhoWEEMtKBww=";
};
buildInputs = [ qtbase ];
nativeBuildInputs = [ qmake ];
postInstall = ''
mkdir -p $out/bin
mv $out/confclerk $out/bin/
'';
meta = {
description = "Offline conference schedule viewer";
mainProgram = "confclerk";
homepage = "http://www.toastfreeware.priv.at/confclerk";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,44 @@
{
stdenv,
mkDerivation,
fetchFromGitHub,
cmake,
pkg-config,
lib,
qttools,
fribidi,
libunibreak,
}:
mkDerivation rec {
pname = "coolreader";
version = "3.2.57";
src = fetchFromGitHub {
owner = "buggins";
repo = "coolreader";
rev = "cr${version}";
sha256 = "sha256-ZfgaLCLvBU6xP7nx7YJTsJSpvpdQgLpSMWH+BsG8E1g=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
qttools
fribidi
libunibreak
];
meta = with lib; {
broken = stdenv.hostPlatform.isDarwin;
homepage = "https://github.com/buggins/coolreader";
description = "Cross platform open source e-book reader";
mainProgram = "cr3";
license = licenses.gpl2Plus; # see https://github.com/buggins/coolreader/issues/80
maintainers = [ ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
ninja,
qtbase,
qtsvg,
qttools,
qtdeclarative,
libXfixes,
libXtst,
qtwayland,
wayland,
pkg-config,
wrapQtAppsHook,
kdePackages,
}:
stdenv.mkDerivation rec {
pname = "CopyQ";
version = "11.0.0";
src = fetchFromGitHub {
owner = "hluk";
repo = "CopyQ";
rev = "v${version}";
hash = "sha256-/t+8YsqeX0tlxwQDDNTalttCDIgGhpLbzYe3UqY04xM=";
};
nativeBuildInputs = [
cmake
ninja
kdePackages.extra-cmake-modules
wrapQtAppsHook
pkg-config
];
buildInputs = [
qtbase
qtsvg
qttools
qtdeclarative
libXfixes
libXtst
qtwayland
wayland
kdePackages.kconfig
kdePackages.kstatusnotifieritem
kdePackages.knotifications
];
cmakeFlags = [
(lib.cmakeBool "WITH_QT6" true)
];
meta = {
homepage = "https://hluk.github.io/CopyQ";
description = "Clipboard Manager with Advanced Features";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ artturin ];
# NOTE: CopyQ supports windows and osx, but I cannot test these.
platforms = lib.platforms.linux;
mainProgram = "copyq";
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coreaction";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coreaction";
tag = "v${finalAttrs.version}";
hash = "sha256-R/pzudaxs85etbI4hh2NwHNtO7EqI+vgJALY/4rIvrs=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtsvg
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Side bar for showing widgets from the C Suite";
mainProgram = "coreaction";
homepage = "https://gitlab.com/cubocore/coreapps/coreaction";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
libarchive,
libarchive-qt,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corearchiver";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corearchiver";
tag = "v${finalAttrs.version}";
hash = "sha256-+XaBe1fNpAQf3cqXV+A1cZ1tPck3bCpgEDmFeF536q4=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libarchive-qt
libarchive
libcprime
libcsys
];
meta = {
description = "Archiver from the C Suite to create and extract archives";
mainProgram = "corearchiver";
homepage = "https://gitlab.com/cubocore/coreapps/corearchiver";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corefm";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corefm";
tag = "v${finalAttrs.version}";
hash = "sha256-VsnbWknkMJp/2MDXbJuEQomotGqTXhZcUvu+ODJOjdM=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Lightwight filemanager from the C Suite";
mainProgram = "corefm";
homepage = "https://gitlab.com/cubocore/coreapps/corefm";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
libarchive,
libarchive-qt,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coregarage";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coregarage";
tag = "v${finalAttrs.version}";
hash = "sha256-boe7z8KPnMaoWekBFS4g/Ay98rpREeLMAsHOr2olYws=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libarchive
libarchive-qt
libcprime
libcsys
];
meta = {
description = "Settings manager for the C Suite";
mainProgram = "coregarage";
homepage = "https://gitlab.com/cubocore/coreapps/coregarage";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corehunt";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corehunt";
tag = "v${finalAttrs.version}";
hash = "sha256-QJJ+e+5UKka1Hbrtyn+agpJ7FLADHupZt41K8Mq8H4c=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "File finder utility from the C Suite";
mainProgram = "corehunt";
homepage = "https://gitlab.com/cubocore/coreapps/corehunt";
license = lib.licenses.gpl3Only;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coreimage";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coreimage";
tag = "v${finalAttrs.version}";
hash = "sha256-sgOxDKACb9D/TvjjHz09JwBpFoE8eXA4HixcbN+0FoE=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Image viewer from the C Suite";
mainProgram = "coreimage";
homepage = "https://gitlab.com/cubocore/coreapps/coreimage";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitLab,
libzen,
libmediainfo,
zlib,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coreinfo";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coreinfo";
tag = "v${finalAttrs.version}";
hash = "sha256-/L69lrkJZh+SJRoNxvogdJ5KRIorwcBzm7WGxrNpexM=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libzen
libmediainfo
zlib
libcprime
libcsys
];
meta = {
description = "File information tool from the C Suite";
mainProgram = "coreinfo";
homepage = "https://gitlab.com/cubocore/coreapps/coreinfo";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
xorg,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corekeyboard";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corekeyboard";
tag = "v${finalAttrs.version}";
hash = "sha256-n7QbvRPZFMeUl/P4XiGYZDglZCA8Ftf08s5uzPmSyIQ=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
xorg.libXtst
xorg.libX11
libcprime
libcsys
];
meta = {
description = "Virtual keyboard for X11 from the C Suite";
mainProgram = "corekeyboard";
homepage = "https://gitlab.com/cubocore/coreapps/corekeyboard";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corepad";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corepad";
tag = "v${finalAttrs.version}";
hash = "sha256-oGF2N0bUuvc/ixmh2nefEJKh0kDipvcL/dwaXNxwo84=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Document editor from the C Suite";
mainProgram = "corepad";
homepage = "https://gitlab.com/cubocore/coreapps/corepad";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corepaint";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corepaint";
tag = "v${finalAttrs.version}";
hash = "sha256-ARFyBtkGYFMKnUD1h93GcQiKV6mFXxJvLEVeSXlaHZI=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Paint app from the C Suite";
mainProgram = "corepaint";
homepage = "https://gitlab.com/cubocore/coreapps/corepaint";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitLab,
kdePackages,
cmake,
ninja,
pkg-config,
libcprime,
libcsys,
qdocumentview,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corepdf";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corepdf";
tag = "v${finalAttrs.version}";
hash = "sha256-fhEuMk15yCA6IUasD9rJPR8sB+h0tz8niOQtXFIe7Uc=";
};
nativeBuildInputs = [
cmake
ninja
pkg-config
kdePackages.wrapQtAppsHook
];
buildInputs = [
kdePackages.qtbase
kdePackages.qtwebengine
kdePackages.poppler
qdocumentview
libcprime
libcsys
];
meta = {
description = "PDF viewer from the C Suite";
mainProgram = "corepdf";
homepage = "https://gitlab.com/cubocore/coreapps/corepdf";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corepins";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corepins";
tag = "v${finalAttrs.version}";
hash = "sha256-noMdI2qk3cYc1FfRWd4rwpZBbeHiD557Z1T0ZxIhaTw=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Bookmarking app from the C Suite";
mainProgram = "corepins";
homepage = "https://gitlab.com/cubocore/coreapps/corepins";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corerenamer";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corerenamer";
tag = "v${finalAttrs.version}";
hash = "sha256-9e8Gm7h0zWVQeb7eFcUmp8uTdSboenLa7baZpKc3HEQ=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Batch file renamer from the C Suite";
mainProgram = "corerenamer";
homepage = "https://gitlab.com/cubocore/coreapps/corerenamer";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coreshot";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coreshot";
tag = "v${finalAttrs.version}";
hash = "sha256-5KGaMCL9BCGZwK7HQz87B1qrNvx5SQyMooZw4MwMdCc=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Screen capture utility from the C Suite";
mainProgram = "coreshot";
homepage = "https://gitlab.com/cubocore/coreapps/coreshot";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
lm_sensors,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corestats";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corestats";
tag = "v${finalAttrs.version}";
hash = "sha256-0d03y3AYWxXh9DZrbPWqk34yq7iy5xUn/oMmJBu5GqQ=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
lm_sensors
libcprime
libcsys
];
meta = {
description = "System resource viewer from the C Suite";
mainProgram = "corestats";
homepage = "https://gitlab.com/cubocore/coreapps/corestats";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,11 @@
--- a/corestuff/CMakeLists.txt 2022-01-29 14:09:02.699700817 +0700
+++ b/CMakeLists.txt 2022-01-29 14:09:23.211754633 +0700
@@ -121,7 +121,3 @@
install( FILES cc.cubocore.CoreStuff.svg DESTINATION share/icons/hicolor/scalable/apps/ )
install( FILES background/default.svg DESTINATION share/coreapps/background )
-if ( DEFINED ADD_AUTOSTART )
- message("INSTALLING TO AUTOSTART LOCATION")
- install( FILES cc.cubocore.CoreStuff.desktop DESTINATION /etc/xdg/autostart )
-endif()

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchFromGitLab,
kdePackages,
xorg,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "corestuff";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "corestuff";
tag = "v${finalAttrs.version}";
hash = "sha256-/EI7oM7c7GKEQ+XQSiWwkJ7uNrJkxgLXEXZ6r5Jqh70=";
};
patches = [
# Remove autostart
./0001-fix-installPhase.patch
];
nativeBuildInputs = [
cmake
ninja
kdePackages.wrapQtAppsHook
];
buildInputs = [
kdePackages.qtbase
kdePackages.kglobalaccel
xorg.libXcomposite
libcprime
libcsys
];
meta = {
description = "Activity viewer from the C Suite";
mainProgram = "corestuff";
homepage = "https://gitlab.com/cubocore/coreapps/corestuff";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
# Address boundary error
broken = true;
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
qtermwidget,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coreterminal";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coreterminal";
tag = "v${finalAttrs.version}";
hash = "sha256-CSPZ1mbZ5ylfMQAwzj+hNodhEuyC7klvlKU5bj+HiyE=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
qt6.qtserialport
qtermwidget
libcprime
libcsys
];
meta = {
description = "Terminal emulator from the C Suite";
mainProgram = "coreterminal";
homepage = "https://gitlab.com/cubocore/coreapps/coreterminal";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coretime";
version = "5.0.1";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coretime";
tag = "v${finalAttrs.version}";
hash = "sha256-RgaIYZ410/M/PHTJC3ja7wEb3HqPrNkBpEIsUK102qw=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
qt6.qtmultimedia
libcprime
libcsys
];
meta = {
description = "Time related task manager from the C Suite";
mainProgram = "coretime";
homepage = "https://gitlab.com/cubocore/coreapps/coretime";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,8 @@
--- a/corepkit/CMakeLists.txt 2021-12-25 17:52:20.000000000 +0700
+++ b/corepkit/CMakeLists.txt 2021-12-29 17:58:09.298024297 +0700
@@ -31,4 +31,4 @@
target_link_libraries( corepkit Qt6::Core )
install( TARGETS corepkit DESTINATION libexec/coreapps/ )
-install( FILES cc.cubocore.coreapps.policy DESTINATION share/polkit-1/actions/ )
+install( FILES cc.cubocore.coreapps.policy DESTINATION ${CMAKE_INSTALL_PREFIX}/usr/share/polkit-1/actions/ )

View File

@@ -0,0 +1,87 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
ffmpeg,
cmake,
ninja,
v4l-utils,
grim,
wf-recorder,
libdbusmenu,
playerctl,
xorg,
iio-sensor-proxy,
inotify-tools,
bluez,
networkmanager,
connman,
redshift,
gawk,
polkit,
libnotify,
systemd,
xdg-utils,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coretoppings";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coretoppings";
tag = "v${finalAttrs.version}";
hash = "sha256-wHVdZqXn8DXqLbCdKz2fI8BjNVai5dRq3a45HVCvLa8=";
};
patches = [
# Fix file cannot create directory: /var/empty/share/polkit-1/actions
./0001-fix-install-phase.patch
];
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
qt6.qtconnectivity
libdbusmenu
ffmpeg
v4l-utils
grim
wf-recorder
playerctl
xorg.xrandr
xorg.xinput
xorg.libXdamage
iio-sensor-proxy
inotify-tools
bluez
networkmanager
connman
redshift
gawk
polkit
libnotify
systemd
xdg-utils
libcprime
libcsys
];
meta = {
description = "Additional features,plugins etc for CuboCore Application Suite";
mainProgram = "shareIT";
homepage = "https://gitlab.com/cubocore/coreapps/coretoppings";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
cmake,
ninja,
libcprime,
libcsys,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "coreuniverse";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = "coreuniverse";
tag = "v${finalAttrs.version}";
hash = "sha256-T5BYHzOqSED40hOc5VwD+oLTwBJ1wARvS8MwiYOWlXM=";
};
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
libcprime
libcsys
];
meta = {
description = "Shows information about apps from the C Suite";
mainProgram = "coreuniverse";
homepage = "https://gitlab.com/cubocore/coreapps/coreuniverse";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,31 @@
From a63a4b6de9ba730e10b54f4b5ce454edb10c7c39 Mon Sep 17 00:00:00 2001
From: dyrnade <gurescicem@gmail.com>
Date: Wed, 1 Feb 2023 22:28:02 +0100
Subject: [PATCH] fix application dirs
---
cprime/systemxdg.cpp | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/cprime/systemxdg.cpp b/cprime/systemxdg.cpp
index 4c40d4c..5dbb6ff 100644
--- a/cprime/systemxdg.cpp
+++ b/cprime/systemxdg.cpp
@@ -343,9 +343,10 @@
SystemXdgMime::SystemXdgMime()
{
- appsDirs << QDir::home().filePath(".local/share/applications/");
- appsDirs << QDir::root().filePath("usr/local/share/applications/") << QDir::root().filePath("usr/share/applications/");
- appsDirs << QDir::root().filePath("usr/share/applications/kde4/") << QDir::root().filePath("usr/share/gnome/applications/");
+ appsDirs << QDir::home().filePath(".nix-profile/share/applications/");
+ appsDirs << "/run/current-system/sw/share/applications/";
+ appsDirs << "/run/current-system/sw/share/applications/kde4/";
+ appsDirs << "/run/current-system/sw/share/gnome/applications/";
}
--
2.39.0

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitLab,
libnotify,
cmake,
ninja,
qt6,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libcprime";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore";
repo = "libcprime";
tag = "v${finalAttrs.version}";
hash = "sha256-3tAbF4CoZJf92Z2/M/Cq7ruPew34Hl5Ojks7fI6kPbU=";
};
patches = [
./0001-fix-application-dirs.patch
];
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [
qt6.qtbase
qt6.qtconnectivity
libnotify
];
dontWrapQtApps = true;
meta = {
description = "Library for bookmarking, saving recent activites, managing settings of C-Suite";
homepage = "https://gitlab.com/cubocore/libcprime";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchFromGitLab,
udisks2,
qt6,
cmake,
ninja,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libcsys";
version = "5.0.0";
src = fetchFromGitLab {
owner = "cubocore";
repo = "libcsys";
tag = "v${finalAttrs.version}";
hash = "sha256-53vneIR2uy3VtbnOlEHl1anj3nXA3MU2KQt1PWm7KGI=";
};
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [
qt6.qtbase
udisks2
];
dontWrapQtApps = true;
meta = {
description = "Library for managing drive and getting system resource information in real time";
homepage = "https://gitlab.com/cubocore/libcsys";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,94 @@
{
mkDerivation,
lib,
fetchFromGitHub,
cmake,
python3,
qtbase,
qtquickcontrols2,
qtgraphicaleffects,
curaengine,
plugins ? [ ],
}:
mkDerivation rec {
pname = "cura";
version = "4.13.1";
src = fetchFromGitHub {
owner = "Ultimaker";
repo = "Cura";
rev = version;
sha256 = "sha256-R88SdAxx3tkQCDInrFTKad1tPSDTSYaVAPUVmdk94Xk=";
};
materials = fetchFromGitHub {
owner = "Ultimaker";
repo = "fdm_materials";
rev = "4.13.2";
sha256 = "sha256-7y4OcbeQHv+loJ4cMgPU0e818Zsv90EwARdztNWS8zM=";
};
buildInputs = [
qtbase
qtquickcontrols2
qtgraphicaleffects
];
propagatedBuildInputs =
with python3.pkgs;
[
libsavitar
numpy-stl
pyserial
requests
uranium
zeroconf
pynest2d
sentry-sdk
trimesh
keyring
]
++ plugins;
nativeBuildInputs = [
cmake
python3.pkgs.wrapPython
];
cmakeFlags = [
"-DURANIUM_DIR=${python3.pkgs.uranium.src}"
"-DCURA_VERSION=${version}"
];
makeWrapperArgs = [
# hacky workaround for https://github.com/NixOS/nixpkgs/issues/59901
"--set OMP_NUM_THREADS 1"
];
postPatch = ''
sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
sed -i 's, executable_name = .*, executable_name = "${curaengine}/bin/CuraEngine",' plugins/CuraEngineBackend/CuraEngineBackend.py
'';
postInstall = ''
mkdir -p $out/share/cura/resources/materials
cp ${materials}/*.fdm_material $out/share/cura/resources/materials/
mkdir -p $out/lib/cura/plugins
for plugin in ${toString plugins}; do
ln -s $plugin/lib/cura/plugins/* $out/lib/cura/plugins
done
'';
postFixup = ''
wrapPythonPrograms
wrapQtApp $out/bin/cura
'';
meta = with lib; {
description = "3D printer / slicing GUI built on top of the Uranium framework";
mainProgram = "cura";
homepage = "https://github.com/Ultimaker/Cura";
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,84 @@
{
lib,
stdenv,
fetchFromGitHub,
python3Packages,
libspnav,
jq,
}:
let
self = {
octoprint = stdenv.mkDerivation {
pname = "Cura-OctoPrintPlugin";
version = "3.5.18";
src = fetchFromGitHub {
owner = "fieldOfView";
repo = "Cura-OctoPrintPlugin";
rev = "7bd73946fbf22d18337dc900a81a011ece26bee0";
sha256 = "057b2f5f49p96lkh2wsr9w6yh2003x4a85irqsgbzp6igmk8imdn";
};
propagatedBuildInputs = with python3Packages; [
netifaces
];
installPhase = ''
mkdir -p $out/lib/cura/plugins/OctoPrintPlugin
cp -rv . $out/lib/cura/plugins/OctoPrintPlugin/
'';
meta = with lib; {
description = "Enables printing directly to OctoPrint and monitoring the process";
homepage = "https://github.com/fieldOfView/Cura-OctoPrintPlugin";
license = licenses.agpl3Plus;
maintainers = [ ];
};
};
rawmouse = stdenv.mkDerivation rec {
pname = "RawMouse";
version = "1.1.0";
src = fetchFromGitHub {
owner = "smartavionics";
repo = "RawMouse";
rev = version;
sha256 = "0hvi7qwd4xfnqnhbj9dgfjmvv9df7s42asf3fdfxv43n6nx74scw";
};
nativeBuildInputs = [ jq ];
propagatedBuildInputs = with python3Packages; [
hidapi
];
buildPhase = ''
jq 'del(.devices) | .libspnav="${libspnav}/lib/libspnav.so"' \
<RawMouse/config.json >RawMouse/config.json.new
mv RawMouse/config.json.new RawMouse/config.json
# remove prebuilt binaries
rm -r RawMouse/hidapi
'';
installPhase = ''
mkdir -p $out/lib/cura/plugins/RawMouse
cp -rv . $out/lib/cura/plugins/RawMouse/
'';
meta = with lib; {
description = "Cura plugin for HID mice such as 3Dconnexion spacemouse";
homepage = "https://github.com/smartavionics/RawMouse";
license = licenses.agpl3Plus;
maintainers = [ ];
};
};
};
in
self

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
libarcus,
stb,
protobuf,
fetchpatch,
}:
stdenv.mkDerivation rec {
pname = "curaengine";
version = "4.13.1";
src = fetchFromGitHub {
owner = "Ultimaker";
repo = "CuraEngine";
rev = version;
sha256 = "sha256-dx0Q6cuA66lG4nwR7quW5Tvs9sdxjdV4gtpxXirI4nY=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
libarcus
stb
protobuf
];
cmakeFlags = [ "-DCURA_ENGINE_VERSION=${version}" ];
# TODO already fixed in master, remove in next release
patches = [
(fetchpatch {
url = "https://github.com/Ultimaker/CuraEngine/commit/de60e86a6ea11cb7d121471b5dd192e5deac0f3d.patch";
hash = "sha256-/gT9yErIDDYAXvZ6vX5TGlwljy31K563+sqkm1UGljQ=";
includes = [ "src/utils/math.h" ];
})
];
meta = with lib; {
description = "Powerful, fast and robust engine for processing 3D models into 3D printing instruction";
homepage = "https://github.com/Ultimaker/CuraEngine";
license = licenses.agpl3Only;
platforms = platforms.linux;
maintainers = [ ];
mainProgram = "CuraEngine";
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "curaengine";
version = "15.04.6";
src = fetchFromGitHub {
owner = "Ultimaker";
repo = "CuraEngine";
rev = version;
sha256 = "sha256-8V21TRSqCN+hkTlz51d5A5oK5JOwEtx+ROt8cfJBL/0=";
};
postPatch = ''
substituteInPlace Makefile --replace "--static" ""
'';
installPhase = ''
mkdir -p $out/bin
cp build/CuraEngine $out/bin/
'';
meta = with lib; {
description = "Engine for processing 3D models into 3D printing instructions";
mainProgram = "CuraEngine";
homepage = "https://github.com/Ultimaker/CuraEngine";
license = licenses.agpl3Plus;
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
mkDerivation,
fetchFromGitHub,
cmake,
pkg-config,
qtbase,
qttools,
ddcutil,
}:
mkDerivation rec {
pname = "ddcui";
version = "0.6.0";
src = fetchFromGitHub {
owner = "rockowitz";
repo = "ddcui";
rev = "v${version}";
sha256 = "sha256-KcivAoPV/4TihVkwYgq3bWWhG5E8enVSD3bhObl++I0=";
};
nativeBuildInputs = [
# Using cmake instead of the also-supported qmake because ddcui's qmake
# file is not currently written to support PREFIX installations.
cmake
pkg-config
];
buildInputs = [
qtbase
qttools
ddcutil
];
meta = with lib; {
description = "Graphical user interface for ddcutil - control monitor settings";
mainProgram = "ddcui";
homepage = "https://www.ddcutil.com/ddcui_main/";
license = licenses.gpl2;
maintainers = with maintainers; [ nh2 ];
platforms = with platforms; linux;
};
}

View File

@@ -0,0 +1,104 @@
{
mkDerivation,
haskellPackages,
fetchFromGitHub,
lib,
}:
let
# deadd-notification-center.service
systemd-service = ''
[Unit]
Description=Deadd Notification Center
PartOf=graphical-session.target
[Service]
Type=dbus
BusName=org.freedesktop.Notifications
ExecStart=$out/bin/deadd-notification-center
[Install]
WantedBy=graphical-session.target
'';
in
mkDerivation rec {
pname = "deadd-notification-center";
version = "2.1.1";
src = fetchFromGitHub {
owner = "phuhl";
repo = "linux_notification_center";
rev = version;
hash = "sha256-VU9NaQVS0n8hFRjWMvCMkaF5mZ4hpnluV31+/SAK7tU=";
};
isLibrary = false;
isExecutable = true;
libraryHaskellDepends = with haskellPackages; [
aeson
base
bytestring
ConfigFile
containers
dbus
directory
env-locale
filepath
gi-cairo
gi-gdk
gi-gdkpixbuf
gi-gio
gi-glib
gi-gobject
gi-gtk
gi-pango
haskell-gettext
haskell-gi
haskell-gi-base
hdaemonize
here
lens
mtl
process
regex-tdfa
setlocale
split
stm
tagsoup
text
time
transformers
tuple
unix
yaml
];
executableHaskellDepends = with haskellPackages; [ base ];
# Test suite does nothing.
doCheck = false;
postPatch = ''
substituteInPlace src/NotificationCenter.hs \
--replace '/etc/xdg/deadd/deadd.css' "$out/etc/deadd.css"
'';
# Add systemd user unit and install default style.
postInstall = ''
mkdir -p $out/lib/systemd/user
install -Dm644 style.css $out/etc/deadd.css
echo "${systemd-service}" > $out/lib/systemd/user/deadd-notification-center.service
'';
description = "Haskell-written notification center for users that like a desktop with style";
homepage = "https://github.com/phuhl/linux_notification_center";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
melkor333
sna
];
platforms = lib.platforms.linux;
mainProgram = "deadd-notification-center";
}

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
autoconf,
automake,
pkg-config,
cairo,
poppler,
wxGTK,
}:
stdenv.mkDerivation rec {
pname = "diff-pdf";
version = "0.5.2";
src = fetchFromGitHub {
owner = "vslavik";
repo = "diff-pdf";
rev = "v${version}";
sha256 = "sha256-6aKF3Xqp/1BoHEiZVZJSemTjn5Qwwr3QyhsXOIjTr08=";
};
nativeBuildInputs = [
autoconf
automake
pkg-config
];
buildInputs = [
cairo
poppler
wxGTK
];
preConfigure = "./bootstrap";
meta = with lib; {
homepage = "https://vslavik.github.io/diff-pdf/";
description = "Simple tool for visually comparing two PDF files";
license = licenses.gpl2;
platforms = platforms.all;
maintainers = with maintainers; [ dtzWill ];
mainProgram = "diff-pdf";
};
}

View File

@@ -0,0 +1,74 @@
{
lib,
mkDerivation,
fetchurl,
fetchpatch,
qmake,
qttools,
qtbase,
poppler,
}:
mkDerivation rec {
version = "2.1.3";
pname = "diffpdf";
src = fetchurl {
url = "http://www.qtrac.eu/${pname}-${version}.tar.gz";
sha256 = "0cr468fi0d512jjj23r5flfzx957vibc9c25gwwhi0d773h2w566";
};
patches = [
(fetchpatch {
url = "https://raw.githubusercontent.com/gentoo/gentoo/9b971631588ff46e7c2d501bc35cd0d9ce2d98e2/app-text/diffpdf/files/diffpdf-2.1.3-qt5.patch";
sha256 = "0sax8gcqcmzf74hmdr3rarqs4nsxmml9qmh6pqyjmgl3lypxhafg";
})
./fix_path_poppler_qt5.patch
];
nativeBuildInputs = [
qmake
qttools
];
buildInputs = [
qtbase
poppler
];
preConfigure = ''
substituteInPlace diffpdf.pro --replace @@NIX_POPPLER_QT5@@ ${poppler.dev}
lrelease diffpdf.pro
'';
installPhase = ''
mkdir -p $out/bin $out/share/man/man1
install -Dpm755 -D diffpdf $out/bin/diffpdf
install -Dpm644 -D diffpdf.1 $out/share/man/man1/diffpdf.1
install -dpm755 $out/share/doc/${pname}-${version} $out/share/licenses/${pname}-${version} $out/share/icons $out/share/pixmaps $out/share/applications
install -Dpm644 CHANGES README help.html $out/share/doc/${pname}-${version}/
install -Dpm644 gpl-2.0.txt $out/share/licenses/${pname}-${version}/
install -Dpm644 images/icon.png $out/share/pixmaps/diffpdf.png
cat > $out/share/applications/diffpdf.desktop <<EOF
[Desktop Entry]
Type=Application
Version=1.0
Name=diffpdf
Icon=diffpdf
Comment=PDF diffing tool
Exec=$out/bin/diffpdf
Terminal=false
EOF
'';
meta = {
homepage = "http://www.qtrac.eu/diffpdf.html";
description = "Tool for diffing pdf files visually or textually";
mainProgram = "diffpdf";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = with lib.platforms; linux;
};
}

View File

@@ -0,0 +1,16 @@
diff -uNr diffpdf-2.1.3/diffpdf.pro diffpdf-2.1.3-new/diffpdf.pro
--- diffpdf-2.1.3/diffpdf.pro 2013-10-15 09:01:22.000000000 +0200
+++ diffpdf-2.1.3-new/diffpdf.pro 2015-07-07 23:13:36.445572148 +0200
@@ -47,9 +47,9 @@
INCLUDEPATH += /c/poppler_lib/include/poppler/qt5
LIBS += -Wl,-rpath -Wl,/c/poppler_lib/bin -Wl,-L/c/poppler_lib/bin
} else {
- exists(/usr/include/poppler/qt5) {
- INCLUDEPATH += /usr/include/poppler/cpp
- INCLUDEPATH += /usr/include/poppler/qt5
+ exists(@@NIX_POPPLER_QT5@@/include/poppler/qt5) {
+ INCLUDEPATH += @@NIX_POPPLER_QT5@@/include/poppler/cpp
+ INCLUDEPATH += @@NIX_POPPLER_QT5@@/include/poppler/qt5
} else {
INCLUDEPATH += /usr/local/include/poppler/cpp
INCLUDEPATH += /usr/local/include/poppler/qt5

View File

@@ -0,0 +1,158 @@
{
mkDerivation,
lib,
autoreconfHook,
curl,
fetchFromGitHub,
git,
libevent,
libtool,
qrencode,
udev,
libusb1,
makeWrapper,
pkg-config,
qtbase,
qttools,
qtwebsockets,
qtmultimedia,
udevRule51 ? ''
SUBSYSTEM=="usb", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbb%n", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402"
'',
udevRule52 ? ''
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbbf%n"
'',
udevCheckHook,
writeText,
}:
# Enabling the digitalbitbox program
#
# programs.digitalbitbox.enable = true;
#
# will install the digitalbitbox package and enable the corresponding hardware
# module and is by far the easiest way to get started with the Digital Bitbox on
# NixOS.
# In case you install the package only, please be aware that you may need to
# apply some udev rules to allow the application to identify and access your
# wallet. In a nixos-configuration, one may accomplish this by enabling the
# digitalbitbox hardware module
#
# hardware.digitalbitbox.enable = true;
#
# or by adding the digitalbitbox package to system.udev.packages
#
# system.udev.packages = [ pkgs.digitalbitbox ];
# See https://digitalbitbox.com/start_linux for more information.
let
copyUdevRuleToOutput = name: rule: "cp ${writeText name rule} $out/etc/udev/rules.d/${name}";
in
mkDerivation rec {
pname = "digitalbitbox";
version = "3.0.0";
src = fetchFromGitHub {
owner = "digitalbitbox";
repo = "dbb-app";
rev = "v${version}";
sha256 = "ig3+TdYv277D9GVnkRSX6nc6D6qruUOw/IQdQCK6FoA=";
};
# configure.ac:23: error: AC_CONFIG_MACRO_DIR can only be used once
postPatch = ''
sed -i "23d" src/hidapi/configure.ac
'';
nativeBuildInputs = [
autoreconfHook
curl
git
makeWrapper
pkg-config
qttools
udevCheckHook
];
buildInputs = [
libevent
libtool
udev
libusb1
qrencode
qtbase
qtwebsockets
qtmultimedia
];
LUPDATE = "${qttools.dev}/bin/lupdate";
LRELEASE = "${qttools.dev}/bin/lrelease";
MOC = "${qtbase.dev}/bin/moc";
QTDIR = qtbase.dev;
RCC = "${qtbase.dev}/bin/rcc";
UIC = "${qtbase.dev}/bin/uic";
configureFlags = [
"--enable-libusb"
];
hardeningDisable = [
"format"
];
qtWrapperArgs = [ "--prefix LD_LIBRARY_PATH : $out/lib" ];
postInstall = ''
mkdir -p "$out/lib"
cp src/libbtc/.libs/*.so* $out/lib
cp src/libbtc/src/secp256k1/.libs/*.so* $out/lib
cp src/hidapi/libusb/.libs/*.so* $out/lib
cp src/univalue/.libs/*.so* $out/lib
# Provide udev rules as documented in https://digitalbitbox.com/start_linux
mkdir -p "$out/etc/udev/rules.d"
${copyUdevRuleToOutput "51-hid-digitalbox.rules" udevRule51}
${copyUdevRuleToOutput "52-hid-digitalbox.rules" udevRule52}
'';
# remove forbidden references to $TMPDIR
preFixup = ''
for f in "$out"/{bin,lib}/*; do
if [ -f "$f" ] && isELF "$f"; then
patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$f"
fi
done
'';
enableParallelBuilding = true;
doInstallCheck = true;
meta = with lib; {
description = "QT based application for the Digital Bitbox hardware wallet";
longDescription = ''
Digital Bitbox provides dbb-app, a GUI tool, and dbb-cli, a CLI tool, to manage Digital Bitbox devices.
This package will only install the dbb-app and dbb-cli, however; in order for these applications to identify and access Digital Bitbox devices, one may want to enable the digitalbitbox hardware module by adding
hardware.digitalbitbox.enable = true;
to the configuration which is equivalent to adding this package to the udev.packages list.
The easiest way to use the digitalbitbox package in NixOS is by adding
programs.digitalbitbox.enable = true;
to the configuration which installs the package and enables the hardware module.
'';
homepage = "https://digitalbitbox.com/";
license = licenses.mit;
maintainers = with maintainers; [
vidbina
];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,84 @@
{
aspell,
aspellDicts_de,
aspellDicts_en,
buildEnv,
fetchurl,
fortune,
gnugrep,
makeWrapper,
lib,
stdenv,
tk,
tre,
}:
let
aspellEnv = buildEnv {
name = "env-ding-aspell";
paths = [
aspell
aspellDicts_de
aspellDicts_en
];
};
in
stdenv.mkDerivation rec {
pname = "ding";
version = "1.9";
src = fetchurl {
url = "http://ftp.tu-chemnitz.de/pub/Local/urz/ding/ding-${version}.tar.gz";
sha256 = "sha256-aabIH894WihsBTo1LzIBzIZxxyhRYVxLcHpDQwmwmOU=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
aspellEnv
fortune
gnugrep
tk
tre
];
patches = [ ./dict.patch ];
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/dict
mkdir -p $out/share/man/man1
mkdir -p $out/share/applications
mkdir -p $out/share/pixmaps
for f in ding ding.1; do
sed -i "s@/usr/share@$out/share@g" "$f"
done
sed -i "s@/usr/bin/fortune@fortune@g" ding
sed -i "s@/usr/bin/ding@$out/bin/ding@g" ding.desktop
cp -v ding $out/bin/
cp -v de-en.txt $out/share/dict/
cp -v ding.1 $out/share/man/man1/
cp -v ding.png $out/share/pixmaps/
cp -v ding.desktop $out/share/applications/
wrapProgram $out/bin/ding --prefix PATH : ${
lib.makeBinPath [
gnugrep
aspellEnv
tk
fortune
]
} --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
'';
meta = with lib; {
description = "Simple and fast dictionary lookup tool";
mainProgram = "ding";
homepage = "https://www-user.tu-chemnitz.de/~fri/ding/";
license = licenses.gpl2Plus;
platforms = platforms.linux; # homepage says: unix-like except darwin
maintainers = [ maintainers.exi ];
};
}

View File

@@ -0,0 +1,26 @@
Ding persists its settings to $HOME/.dingrc on startup, this sadly includes the path to the dictionary.
On all other distributions, that would be /usr/share/dict/de-en.txt and would hardly ever change.
On nixos, this will indeed change on ever update and would break it for all users.
This just comments out the dictionary path in the .dingrc so the user can still set it if she wants to, but it will not affect normal operations.
--- a/ding
+++ b/ding
@@ -899,7 +899,9 @@ if { ! [info exists ding_version]} {
}
# Change path of default ger-eng.txt when upgrading from version 1.1
- if {$searchmeth($i,dictfile) == {/usr/dict/ger-eng.txt} &&
+ if {! [info exists searchmeth($i,dictfile)]} {
+ set searchmeth($i,dictfile) $default_searchmeth(0,dictfile)
+ } elseif {$searchmeth($i,dictfile) == {/usr/dict/ger-eng.txt} &&
$ding_version == {1.1}} {
set searchmeth($i,dictfile) $default_searchmeth(0,dictfile)
debug 2 "New path and name of ger-eng.txt configured: $default_searchmeth(0,dictfile)"
@@ -5065,7 +5067,7 @@ proc saveOptions {} {
foreach i $searchmpos {
puts $fd "set searchmeth($n,name) {$searchmeth($i,name)}"
puts $fd "set searchmeth($n,type) {$searchmeth($i,type)}"
- puts $fd "set searchmeth($n,dictfile) {$searchmeth($i,dictfile)}"
+ puts $fd "#set searchmeth($n,dictfile) {$searchmeth($i,dictfile)}"
puts $fd "set searchmeth($n,separator) {$searchmeth($i,separator)}"
puts $fd "set searchmeth($n,language1) {$searchmeth($i,language1)}"
puts $fd "set searchmeth($n,language2) {$searchmeth($i,language2)}"

View File

@@ -0,0 +1,82 @@
{
stdenv,
lib,
python3Packages,
gettext,
qt5,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication rec {
pname = "dupeguru";
version = "4.3.1";
format = "other";
src = fetchFromGitHub {
owner = "arsenetar";
repo = "dupeguru";
rev = version;
hash = "sha256-/jkZiCapmCLMp7WfgUmpsR8aNCfb3gBELlMYaC4e7zI=";
};
patches = [
./remove-setuptools-sandbox.patch
];
nativeBuildInputs = [
gettext
python3Packages.pyqt5
python3Packages.setuptools
qt5.wrapQtAppsHook
];
propagatedBuildInputs = with python3Packages; [
hsaudiotag3k
mutagen
polib
pyqt5
pyqt5-sip
semantic-version
send2trash
sphinx
];
makeFlags = [
"PREFIX=${placeholder "out"}"
"NO_VENV=1"
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
];
preCheck = ''
export HOME="$(mktemp -d)"
'';
# Avoid double wrapping Python programs.
dontWrapQtApps = true;
# TODO: A bug in python wrapper
# see https://github.com/NixOS/nixpkgs/pull/75054#discussion_r357656916
preFixup = ''
makeWrapperArgs="''${qtWrapperArgs[@]}"
'';
# Executable in $out/bin is a symlink to $out/share/dupeguru/run.py
# so wrapPythonPrograms hook does not handle it automatically.
postFixup = ''
wrapPythonProgramsIn "$out/share/dupeguru" "$out $pythonPath"
'';
meta = with lib; {
broken = stdenv.hostPlatform.isDarwin;
description = "GUI tool to find duplicate files in a system";
homepage = "https://github.com/arsenetar/dupeguru";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [ novoxd ];
mainProgram = "dupeguru";
};
}

View File

@@ -0,0 +1,27 @@
diff --git a/build.py b/build.py
index 06905a11..56d54a17 100644
--- a/build.py
+++ b/build.py
@@ -10,7 +10,7 @@ from optparse import OptionParser
import shutil
from multiprocessing import Pool
-from setuptools import sandbox
+import subprocess
from hscommon import sphinxgen
from hscommon.build import (
add_to_pythonpath,
@@ -118,7 +118,12 @@ def build_normpo():
def build_pe_modules():
print("Building PE Modules")
# Leverage setup.py to build modules
- sandbox.run_setup("setup.py", ["build_ext", "--inplace"])
+ result = subprocess.run(
+ [sys.executable, "setup.py", "build_ext", "--inplace"],
+ check=True,
+ )
+ if result.returncode != 0:
+ sys.exit("Error building PE modules. Please check the output above.")
def build_normal():

View File

@@ -0,0 +1,137 @@
{
lib,
stdenv,
fetchurl,
protobuf,
wrapQtAppsHook,
python3,
zbar,
enableQt ? true,
callPackage,
qtwayland,
}:
let
libzbar_name =
if stdenv.hostPlatform.isLinux then
"libzbar.so.0"
else if stdenv.hostPlatform.isDarwin then
"libzbar.0.dylib"
else
"libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
in
python3.pkgs.buildPythonApplication rec {
pname = "electrum";
version = "4.6.0";
format = "setuptools";
src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
hash = "sha256-aQqZXyfqFgc1j2r836eaaayOmSzDijHlYXmF+OBw418=";
};
build-system = [ protobuf ] ++ lib.optionals enableQt [ wrapQtAppsHook ];
buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qtwayland;
dependencies =
with python3.pkgs;
[
aiohttp
aiohttp-socks
aiorpcx
attrs
bitstring
cryptography
dnspython
jsonrpclib-pelix
matplotlib
pbkdf2
protobuf
pysocks
qrcode
requests
certifi
jsonpatch
electrum-aionostr
electrum-ecc
# plugins
ledger-bitcoin
ckcc-protocol
keepkey
trezor
bitbox02
cbor2
pyserial
]
++ lib.optionals enableQt [
pyqt6
qdarkstyle
];
checkInputs =
with python3.pkgs;
lib.optionals enableQt [
pyqt6
];
postPatch =
if enableQt then
''
substituteInPlace ./electrum/qrscanner.py \
--replace-fail ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
''
else
''
sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
'';
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace $out/share/applications/electrum.desktop \
--replace-fail "Exec=electrum %u" "Exec=$out/bin/electrum %u" \
--replace-fail "Exec=electrum --testnet %u" "Exec=$out/bin/electrum --testnet %u"
'';
postFixup = lib.optionalString enableQt ''
wrapQtApp $out/bin/electrum
'';
nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
pyaes
pycryptodomex
];
enabledTestPaths = [ "tests" ];
# avoid homeless-shelter error in tests
preCheck = ''
export HOME="$(mktemp -d)"
'';
postCheck = ''
$out/bin/electrum help >/dev/null
'';
passthru.updateScript = callPackage ./update.nix { };
meta = with lib; {
description = "Lightweight Bitcoin wallet";
longDescription = ''
An easy-to-use Bitcoin client featuring wallets generated from
mnemonic seeds (in addition to other, more advanced, wallet options)
and the ability to perform transactions without downloading a copy
of the blockchain.
'';
homepage = "https://electrum.org/";
downloadPage = "https://electrum.org/#download";
changelog = "https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [
joachifm
np
prusnak
];
mainProgram = "electrum";
};
}

View File

@@ -0,0 +1,146 @@
{
lib,
stdenv,
fetchFromGitHub,
wrapQtAppsHook,
python3,
zbar,
secp256k1,
enableQt ? true,
qtwayland,
}:
let
version = "4.5.4";
libsecp256k1_name =
if stdenv.hostPlatform.isLinux then
"libsecp256k1.so.{v}"
else if stdenv.hostPlatform.isDarwin then
"libsecp256k1.{v}.dylib"
else
"libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}";
libzbar_name =
if stdenv.hostPlatform.isLinux then
"libzbar.so.0"
else if stdenv.hostPlatform.isDarwin then
"libzbar.0.dylib"
else
"libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
in
python3.pkgs.buildPythonApplication {
pname = "electrum-grs";
inherit version;
format = "setuptools";
src = fetchFromGitHub {
owner = "Groestlcoin";
repo = "electrum-grs";
rev = "refs/tags/v${version}";
sha256 = "1k078jg3bw4n3kcxy917m30x1skxm679w8hcw8mlxb94ikrjc66h";
};
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qtwayland;
propagatedBuildInputs =
with python3.pkgs;
[
aiohttp
aiohttp-socks
aiorpcx
attrs
bitstring
cryptography
dnspython
groestlcoin-hash
jsonrpclib-pelix
matplotlib
pbkdf2
protobuf
pysocks
qrcode
requests
certifi
jsonpatch
# plugins
btchip-python
ledger-bitcoin
ckcc-protocol
keepkey
trezor
bitbox02
cbor
pyserial
]
++ lib.optionals enableQt [
pyqt5
qdarkstyle
];
checkInputs =
with python3.pkgs;
lib.optionals enableQt [
pyqt6
];
postPatch = ''
# make compatible with protobuf4 by easing dependencies ...
substituteInPlace ./contrib/requirements/requirements.txt \
--replace "protobuf>=3.20,<4" "protobuf>=3.20"
# ... and regenerating the paymentrequest_pb2.py file
protoc --python_out=. electrum_grs/paymentrequest.proto
substituteInPlace ./electrum_grs/ecc_fast.py \
--replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}
''
+ (
if enableQt then
''
substituteInPlace ./electrum_grs/qrscanner.py \
--replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
''
else
''
sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
''
);
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace $out/share/applications/electrum-grs.desktop \
--replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-grs %u"' \
"Exec=$out/bin/electrum-grs %u" \
--replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-grs --testnet %u"' \
"Exec=$out/bin/electrum-grs --testnet %u"
'';
postFixup = lib.optionalString enableQt ''
wrapQtApp $out/bin/electrum-grs
'';
# the tests are currently broken
doCheck = false;
postCheck = ''
$out/bin/electrum-grs help >/dev/null
'';
meta = with lib; {
description = "Lightweight Groestlcoin wallet";
longDescription = ''
An easy-to-use Groestlcoin client featuring wallets generated from
mnemonic seeds (in addition to other, more advanced, wallet options)
and the ability to perform transactions without downloading a copy
of the blockchain.
'';
homepage = "https://groestlcoin.org/";
downloadPage = "https://github.com/Groestlcoin/electrum-grs/releases/tag/v{version}";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ gruve-p ];
mainProgram = "electrum-grs";
};
}

View File

@@ -0,0 +1,42 @@
diff --git a/contrib/deterministic-build/requirements.txt b/contrib/deterministic-build/requirements.txt
index 7441e3389..2a4718f96 100644
--- a/contrib/deterministic-build/requirements.txt
+++ b/contrib/deterministic-build/requirements.txt
@@ -74,9 +74,8 @@ aiohttp==3.8.1 \
aiohttp-socks==0.7.1 \
--hash=sha256:2215cac4891ef3fa14b7d600ed343ed0f0a670c23b10e4142aa862b3db20341a \
--hash=sha256:94bcff5ef73611c6c6231c2ffc1be4af1599abec90dbd2fdbbd63233ec2fb0ff
-aiorpcX==0.22.1 \
- --hash=sha256:6026f7bed3432e206589c94dcf599be8cd85b5736b118c7275845c1bd922a553 \
- --hash=sha256:e74f9fbed3fd21598e71fe05066618fc2c06feec504fe29490ddda05fdbdde62
+aiorpcX==0.23.1 \
+ --hash=sha256:5b23002f1a4d5d3085e31555a07519c5ef8d4c40071eb499556ffda8114860a2
aiosignal==1.2.0 \
--hash=sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a \
--hash=sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2
diff --git a/contrib/requirements/requirements.txt b/contrib/requirements/requirements.txt
index 04b0a77f3..2330ea921 100644
--- a/contrib/requirements/requirements.txt
+++ b/contrib/requirements/requirements.txt
@@ -1,7 +1,7 @@
qrcode
protobuf>=3.12
qdarkstyle>=2.7
-aiorpcx>=0.22.0,<0.23
+aiorpcx>=0.22.0
aiohttp>=3.3.0,<4.0.0
aiohttp_socks>=0.3
certifi
diff --git a/run_electrum b/run_electrum
index a1b30f29e..cb22f8724 100755
--- a/run_electrum
+++ b/run_electrum
@@ -67,8 +67,6 @@ def check_imports():
import aiorpcx
except ImportError as e:
sys.exit(f"Error: {str(e)}. Try 'sudo python3 -m pip install <module-name>'")
- if not ((0, 22, 0) <= aiorpcx._version < (0, 23)):
- raise RuntimeError(f'aiorpcX version {aiorpcx._version} does not match required: 0.22.0<=ver<0.23')
# the following imports are for pyinstaller
from google.protobuf import descriptor
from google.protobuf import message

View File

@@ -0,0 +1,191 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
wrapQtAppsHook,
python3,
zbar,
secp256k1,
enableQt ? true,
qtwayland,
}:
let
version = "4.2.2.1";
libsecp256k1_name =
if stdenv.hostPlatform.isLinux then
"libsecp256k1.so.0"
else if stdenv.hostPlatform.isDarwin then
"libsecp256k1.0.dylib"
else
"libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}";
libzbar_name =
if stdenv.hostPlatform.isLinux then
"libzbar.so.0"
else if stdenv.hostPlatform.isDarwin then
"libzbar.0.dylib"
else
"libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
# Not provided in official source releases, which are what upstream signs.
tests = fetchFromGitHub {
owner = "pooler";
repo = "electrum-ltc";
rev = version;
sha256 = "sha256-qu72LIV07pgHqvKv+Kcw9ZmNk6IBz+4/vdJELlT5tE4=";
postFetch = ''
mv $out ./all
mv ./all/electrum_ltc/tests $out
'';
};
in
python3.pkgs.buildPythonApplication {
pname = "electrum-ltc";
inherit version;
format = "setuptools";
src = fetchurl {
url = "https://electrum-ltc.org/download/Electrum-LTC-${version}.tar.gz";
hash = "sha256-7F28cve+HD5JDK5igfkGD/NvTCfA33g+DmQJ5mwPM9Q=";
};
postUnpack = ''
# can't symlink, tests get confused
cp -ar ${tests} $sourceRoot/electrum_ltc/tests
'';
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
propagatedBuildInputs =
with python3.pkgs;
[
aiohttp
aiohttp-socks
aiorpcx
attrs
bitstring
certifi
cryptography
dnspython
jsonrpclib-pelix
matplotlib
pbkdf2
protobuf
pysocks
qrcode
requests
scrypt
# plugins
btchip-python
ckcc-protocol
keepkey
trezor
distutils
]
++ lib.optionals enableQt [
pyqt5
qdarkstyle
];
patches = [
# electrum-ltc attempts to pin to aiorpcX < 0.23, but nixpkgs
# has moved to newer versions.
#
# electrum-ltc hasn't been updated in some time, so we replicate
# the patch from electrum (BTC) and alter it to be usable with
# electrum-ltc.
#
# Similar to the BTC patch, we need to overwrite the symlink
# at electrum_ltc/electrum-ltc with the patched run_electrum
# in postPatch.
./ltc-aiorpcX-version-bump.patch
];
postPatch = ''
# copy the patched `/run_electrum` over `/electrum/electrum`
# so the aiorpcx compatibility patch is used
cp run_electrum electrum_ltc/electrum-ltc
# refresh stale generated code, per electrum_ltc/paymentrequest.py line 40
protoc --proto_path=electrum_ltc/ --python_out=electrum_ltc/ electrum_ltc/paymentrequest.proto
'';
preBuild = ''
sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
substituteInPlace ./electrum_ltc/ecc_fast.py \
--replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}
''
+ (
if enableQt then
''
substituteInPlace ./electrum_ltc/qrscanner.py \
--replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
''
else
''
sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
''
);
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
# Despite setting usr_share above, these files are installed under
# $out/nix ...
mv $out/${python3.sitePackages}/nix/store"/"*/share $out
rm -rf $out/${python3.sitePackages}/nix
substituteInPlace $out/share/applications/electrum-ltc.desktop \
--replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-ltc %u"' \
"Exec=$out/bin/electrum-ltc %u" \
--replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-ltc --testnet %u"' \
"Exec=$out/bin/electrum-ltc --testnet %u"
'';
postFixup = lib.optionalString enableQt ''
wrapQtApp $out/bin/electrum-ltc
'';
nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
pyaes
pycryptodomex
];
buildInputs = lib.optional stdenv.hostPlatform.isLinux qtwayland;
enabledTestPaths = [ "electrum_ltc/tests" ];
disabledTests = [
"test_loop" # test tries to bind 127.0.0.1 causing permission error
"test_is_ip_address" # fails spuriously https://github.com/spesmilo/electrum/issues/7307
# electrum_ltc.lnutil.RemoteMisbehaving: received commitment_signed without pending changes
"test_reestablish_replay_messages_rev_then_sig"
"test_reestablish_replay_messages_sig_then_rev"
# stuck on hydra
"test_reestablish_with_old_state"
];
postCheck = ''
$out/bin/electrum-ltc help >/dev/null
'';
meta = with lib; {
description = "Lightweight Litecoin Client";
mainProgram = "electrum-ltc";
longDescription = ''
Electrum-LTC is a simple, but powerful Litecoin wallet. A unique secret
phrase (or seed) leaves intruders stranded and your peace of mind
intact. Keep it on paper, or in your head... and never worry about losing
your litecoins to theft or hardware failure.
'';
homepage = "https://electrum-ltc.org/";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ bbjubjub ];
};
}

View File

@@ -0,0 +1,76 @@
{
lib,
writeScript,
common-updater-scripts,
bash,
coreutils,
curl,
fetchurl,
gnugrep,
gnupg,
gnused,
nix,
}:
let
downloadPageUrl = "https://download.electrum.org";
signingKeys = lib.lists.map fetchurl [
{
url = "https://github.com/spesmilo/electrum/raw/master/pubkeys/Emzy.asc";
hash = "sha256-QG0cM6AKlSKFacVlhcso/xvrooUdF7oqoppyezt0hjE=";
}
{
url = "https://github.com/spesmilo/electrum/raw/master/pubkeys/ThomasV.asc";
hash = "sha256-37ApVZlI+2EevxQIKXVKVpktt1Ls3UbWq4dfio2ORdo=";
}
{
url = "https://github.com/spesmilo/electrum/raw/master/pubkeys/sombernight_releasekey.asc";
hash = "sha256-GgdPJ9TB5hh5SPCcTZURfqXkrU4qwl0dCci52V/wpdQ=";
}
];
gpgImportPaths = lib.concatStringsSep " " signingKeys;
in
writeScript "update-electrum" ''
#! ${bash}/bin/bash
set -eu -o pipefail
export PATH=${
lib.makeBinPath [
common-updater-scripts
coreutils
curl
gnugrep
gnupg
gnused
nix
]
}
version=$(curl -L --list-only -- '${downloadPageUrl}' \
| grep -Po '<a href="\K([[:digit:]]+\.?)+' \
| sort -Vu \
| tail -n1)
srcName=Electrum-$version
srcFile=$srcName.tar.gz
srcUrl="${downloadPageUrl}/$version/$srcFile"
sigUrl=$srcUrl.asc
sigFile=$srcFile.asc
[[ -e "$srcFile" ]] || curl -L -o "$srcFile" -- "$srcUrl"
[[ -e "$sigFile" ]] || curl -L -o "$sigFile" -- "$sigUrl"
export GNUPGHOME=$PWD/gnupg
mkdir -m 700 -p "$GNUPGHOME"
gpg --batch --import ${gpgImportPaths}
gpg --batch --verify "$sigFile" "$srcFile"
sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$srcFile")
update-source-version electrum "$version" "$sha256"
''

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchFromGitLab,
cmake,
elfutils,
extra-cmake-modules,
kitemmodels,
libiberty,
libdwarf,
libopcodes,
wrapQtAppsHook,
}:
stdenv.mkDerivation {
pname = "elf-dissector";
version = "unstable-2023-12-24";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "sdk";
repo = "elf-dissector";
rev = "613538bd1d87ce72d5115646551a49cf7ff2ee34";
hash = "sha256-fQFGFw8nZHMs8J1W2CcHAJCdcvaY2l2/CySyBSsKpyE=";
};
patches = [
./fix_build_for_src_lib_disassembler_disassembler.diff
];
nativeBuildInputs = [
cmake
extra-cmake-modules
wrapQtAppsHook
];
buildInputs = [
kitemmodels
libiberty
elfutils
libopcodes
libdwarf
];
meta = with lib; {
homepage = "https://invent.kde.org/sdk/elf-dissector";
description = "Tools for inspecting, analyzing and optimizing ELF files";
license = licenses.gpl2;
maintainers = with maintainers; [
philiptaron
];
};
}

View File

@@ -0,0 +1,17 @@
diff --git a/src/lib/disassmbler/disassembler.cpp b/src/lib/disassmbler/disassembler.cpp
index 8ff058e..dbd4bbe 100644
--- a/src/lib/disassmbler/disassembler.cpp
+++ b/src/lib/disassmbler/disassembler.cpp
@@ -144,11 +144,7 @@ QString Disassembler::disassembleBinutils(const unsigned char* data, uint64_t si
QString result;
disassembler_ftype disassemble_fn;
disassemble_info info;
-#if BINUTILS_VERSION >= BINUTILS_VERSION_CHECK(2, 39)
- INIT_DISASSEMBLE_INFO(info, &result, qstring_printf, fprintf_styled);
-#else
- INIT_DISASSEMBLE_INFO(info, &result, qstring_printf);
-#endif
+ INIT_DISASSEMBLE_INFO(info, &result, qstring_printf, qstring_printf);
info.application_data = this;
info.flavour = bfd_target_elf_flavour;

View File

@@ -0,0 +1,47 @@
{
mkDerivation,
lib,
qtbase,
cmake,
fetchFromGitHub,
fetchpatch,
unstableGitUpdater,
}:
mkDerivation {
pname = "evtest-qt";
version = "0.2.0-unstable-2023-09-13";
src = fetchFromGitHub {
owner = "Grumbel";
repo = "evtest-qt";
rev = "fb087f4d3d51377790f1ff30681c48031bf23145";
hash = "sha256-gE47x1J13YZUVyB0b4VRyESIVCm3GbOXp2bX0TP97UU=";
fetchSubmodules = true;
};
patches = [
# Fix build against gcc-13:
# https://github.com/Grumbel/evtest-qt/pull/14
(fetchpatch {
name = "gcc-13.patch";
url = "https://github.com/Grumbel/evtest-qt/commit/975dedcfd60853bd329f34d48ce4740add8866eb.patch";
hash = "sha256-gR/9oVhO4G9i7dn+CjvDAQN0KLXoX/fatpE0W3gXDc0=";
})
];
nativeBuildInputs = [ cmake ];
buildInputs = [ qtbase ];
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Simple input device tester for linux with Qt GUI";
mainProgram = "evtest-qt";
homepage = "https://github.com/Grumbel/evtest-qt";
maintainers = with maintainers; [ alexarice ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchurl,
openssl,
python3,
pkg-config,
}:
stdenv.mkDerivation rec {
pname = "fetchmail";
version = "6.5.6";
src = fetchurl {
url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
hash = "sha256-7BDg4OqkFzE1WTee3nbHRhR2bYOLOUcLZkdIY6ppDas=";
};
buildInputs = [
openssl
python3
];
nativeBuildInputs = [ pkg-config ];
configureFlags = [ "--with-ssl=${openssl.dev}" ];
meta = with lib; {
homepage = "https://www.fetchmail.info/";
description = "Full-featured remote-mail retrieval and forwarding utility";
longDescription = ''
A full-featured, robust, well-documented remote-mail retrieval and
forwarding utility intended to be used over on-demand TCP/IP links
(such as SLIP or PPP connections). It supports every remote-mail
protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP,
all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and
IPSEC.
'';
platforms = platforms.unix;
license = licenses.gpl2Plus;
mainProgram = "fetchmail";
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchFromGitLab,
openssl,
python3,
autoreconfHook,
pkg-config,
bison,
flex,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fetchmail";
version = "7.0.0-alpha11";
src = fetchFromGitLab {
owner = "fetchmail";
repo = "fetchmail";
tag = finalAttrs.version;
hash = "sha256-83D2YlFCODK2YD+oLICdim2NtNkkJU67S3YLi8Q6ga8=";
};
buildInputs = [
openssl
python3
];
nativeBuildInputs = [
autoreconfHook
pkg-config
bison
flex
];
configureFlags = [ "--with-ssl=${openssl.dev}" ];
postInstall = ''
cp -a contrib/. $out/share/fetchmail-contrib
'';
meta = with lib; {
homepage = "https://www.fetchmail.info/";
description = "Full-featured remote-mail retrieval and forwarding utility";
longDescription = ''
A full-featured, robust, well-documented remote-mail retrieval and
forwarding utility intended to be used over on-demand TCP/IP links
(such as SLIP or PPP connections). It supports every remote-mail
protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP,
all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and
IPSEC.
'';
platforms = platforms.unix;
license = licenses.gpl2Plus;
};
})

View File

@@ -0,0 +1,54 @@
{
lib,
stdenv,
libGLU,
qtbase,
fetchurl,
dpkg,
autoPatchelfHook,
wrapQtAppsHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "flashprint";
version = "5.8.7";
src = fetchurl {
url = "http://www.ishare3d.com/3dapp/public/FlashPrint-5/FlashPrint/flashprint5_${finalAttrs.version}_amd64.deb";
hash = "sha256-DVY5XxAz3HPAWMNaGauUop7OWHeFuuRHuVllyJvHqFk=";
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
wrapQtAppsHook
];
buildInputs = [
qtbase
libGLU
];
qtWrapperArgs = [ "--prefix QT_QPA_PLATFORM : xcb" ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mv etc usr/* $out
ln -s $out/share/FlashPrint5/FlashPrint $out/bin/flashprint
sed -i "/^Exec=/ c Exec=$out/bin/flashprint" $out/share/applications/FlashPrint5.desktop
runHook postInstall
'';
meta = with lib; {
description = "Slicer for the FlashForge 3D printers";
homepage = "https://www.flashforge.com/";
license = licenses.unfree;
mainProgram = "flashprint";
maintainers = [ maintainers.ianliu ];
platforms = [ "x86_64-linux" ];
sourceProvenance = [ sourceTypes.binaryNativeCode ];
};
})

View File

@@ -0,0 +1,99 @@
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
cmake,
libvorbis,
libeb,
hunspell,
opencc,
xapian,
libzim,
lzo,
xz,
tomlplusplus,
fmt,
bzip2,
libiconv,
libXtst,
qtbase,
qtsvg,
qtwebengine,
qttools,
qtwayland,
qt5compat,
qtmultimedia,
wrapQtAppsHook,
wrapGAppsHook3,
}:
stdenv.mkDerivation {
pname = "goldendict-ng";
version = "25.05.0";
src = fetchFromGitHub {
owner = "xiaoyifang";
repo = "goldendict-ng";
tag = "v25.05.0-Release.2a2b0e16";
hash = "sha256-PBqkVac867xE4ZcvwTysAK6rQSoEZelKrV9USvFsaLk=";
};
nativeBuildInputs = [
pkg-config
cmake
wrapQtAppsHook
wrapGAppsHook3
];
buildInputs = [
qtbase
qtsvg
qttools
qtwebengine
qt5compat
qtmultimedia
qtwayland
libvorbis
tomlplusplus
fmt
hunspell
xz
lzo
libXtst
bzip2
libiconv
opencc
libeb
xapian
libzim
];
# to prevent double wrapping of wrapQtApps and wrapGApps
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
cmakeFlags = [
"-DWITH_XAPIAN=ON"
"-DWITH_ZIM=ON"
"-DWITH_FFMPEG_PLAYER=OFF"
"-DWITH_EPWING_SUPPORT=ON"
"-DUSE_SYSTEM_FMT=ON"
"-DUSE_SYSTEM_TOML=ON"
];
meta = with lib; {
homepage = "https://xiaoyifang.github.io/goldendict-ng/";
description = "Advanced multi-dictionary lookup program";
platforms = platforms.linux;
mainProgram = "goldendict";
maintainers = with maintainers; [
slbtty
michojel
linsui
];
license = licenses.gpl3Plus;
};
}

View File

@@ -0,0 +1,49 @@
diff --git i/config.cc w/config.cc
index 04b63f5..7a453d9 100644
--- i/config.cc
+++ w/config.cc
@@ -182,7 +182,7 @@ Preferences::Preferences():
pronounceOnLoadPopup( false ),
useInternalPlayer( InternalPlayerBackend::anyAvailable() ),
internalPlayerBackend( InternalPlayerBackend::defaultBackend() ),
- checkForNewReleases( true ),
+ checkForNewReleases( false ),
disallowContentFromOtherSites( false ),
enableWebPlugins( false ),
hideGoldenDictHeader( false ),
@@ -867,8 +867,8 @@ Class load() THROW_SPEC( exError )
c.preferences.proxyServer.systemProxyPassword = proxy.namedItem( "systemProxyPassword" ).toElement().text();
}
- if ( !preferences.namedItem( "checkForNewReleases" ).isNull() )
- c.preferences.checkForNewReleases = ( preferences.namedItem( "checkForNewReleases" ).toElement().text() == "1" );
+ //if ( !preferences.namedItem( "checkForNewReleases" ).isNull() )
+ // c.preferences.checkForNewReleases = ( preferences.namedItem( "checkForNewReleases" ).toElement().text() == "1" );
if ( !preferences.namedItem( "disallowContentFromOtherSites" ).isNull() )
c.preferences.disallowContentFromOtherSites = ( preferences.namedItem( "disallowContentFromOtherSites" ).toElement().text() == "1" );
@@ -1819,9 +1819,9 @@ void save( Class const & c ) THROW_SPEC( exError )
proxy.appendChild( opt );
}
- opt = dd.createElement( "checkForNewReleases" );
- opt.appendChild( dd.createTextNode( c.preferences.checkForNewReleases ? "1" : "0" ) );
- preferences.appendChild( opt );
+ //opt = dd.createElement( "checkForNewReleases" );
+ //opt.appendChild( dd.createTextNode( c.preferences.checkForNewReleases ? "1" : "0" ) );
+ //preferences.appendChild( opt );
opt = dd.createElement( "disallowContentFromOtherSites" );
opt.appendChild( dd.createTextNode( c.preferences.disallowContentFromOtherSites ? "1" : "0" ) );
diff --git i/preferences.cc w/preferences.cc
index 72c3147..7e48f00 100644
--- i/preferences.cc
+++ w/preferences.cc
@@ -314,6 +314,7 @@ Preferences::Preferences( QWidget * parent, Config::Class & cfg_ ):
this, SLOT( customProxyToggled( bool ) ) );
ui.checkForNewReleases->setChecked( p.checkForNewReleases );
+ ui.checkForNewReleases->setEnabled( false );
ui.disallowContentFromOtherSites->setChecked( p.disallowContentFromOtherSites );
ui.enableWebPlugins->setChecked( p.enableWebPlugins );
ui.hideGoldenDictHeader->setChecked( p.hideGoldenDictHeader );

View File

@@ -0,0 +1,62 @@
diff --git i/goldendict.pro w/goldendict.pro
index 4a4a3094..082b728f 100644
--- i/goldendict.pro
+++ w/goldendict.pro
@@ -212,22 +212,19 @@ mac {
-llzo2
!CONFIG( no_ffmpeg_player ) {
LIBS += -lao \
- -lswresample-gd \
- -lavutil-gd \
- -lavformat-gd \
- -lavcodec-gd
+ -lswresample \
+ -lavutil \
+ -lavformat \
+ -lavcodec
}
- INCLUDEPATH = $${PWD}/maclibs/include
- LIBS += -L$${PWD}/maclibs/lib -framework AppKit -framework Carbon
+ LIBS += -framework AppKit -framework Carbon
OBJECTIVE_SOURCES += lionsupport.mm \
machotkeywrapper.mm \
macmouseover.mm \
speechclient_mac.mm
ICON = icons/macicon.icns
QMAKE_INFO_PLIST = myInfo.plist
- QMAKE_POST_LINK = mkdir -p GoldenDict.app/Contents/Frameworks & \
- cp -nR $${PWD}/maclibs/lib/ GoldenDict.app/Contents/Frameworks/ & \
- mkdir -p GoldenDict.app/Contents/MacOS/locale & \
+ QMAKE_POST_LINK = mkdir -p GoldenDict.app/Contents/MacOS/locale & \
cp -R locale/*.qm GoldenDict.app/Contents/MacOS/locale/ & \
mkdir -p GoldenDict.app/Contents/MacOS/help & \
cp -R $${PWD}/help/*.qch GoldenDict.app/Contents/MacOS/help/
@@ -235,15 +232,6 @@ mac {
CONFIG += zim_support
!CONFIG( no_chinese_conversion_support ) {
CONFIG += chinese_conversion_support
- CONFIG( x86 ) {
- QMAKE_POST_LINK += & mkdir -p GoldenDict.app/Contents/MacOS/opencc & \
- cp -R $${PWD}/opencc/*.json GoldenDict.app/Contents/MacOS/opencc/ & \
- cp -R $${PWD}/opencc/*.ocd GoldenDict.app/Contents/MacOS/opencc/
- } else {
- QMAKE_POST_LINK += & mkdir -p GoldenDict.app/Contents/MacOS/opencc & \
- cp -R $${PWD}/opencc/x64/*.json GoldenDict.app/Contents/MacOS/opencc/ & \
- cp -R $${PWD}/opencc/x64/*.ocd GoldenDict.app/Contents/MacOS/opencc/
- }
}
}
DEFINES += PROGRAM_VERSION=\\\"$$VERSION\\\"
diff --git i/tiff.cc w/tiff.cc
index e3cb8bf5..95dd812f 100644
--- i/tiff.cc
+++ w/tiff.cc
@@ -5,7 +5,7 @@
#include "tiff.hh"
-#if defined (Q_OS_MAC) || defined (Q_OS_WIN)
+#if defined (Q_OS_WIN)
#include "tiff/tiff.h"
#include "tiff/tiffio.h"
#else

View File

@@ -0,0 +1,116 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
libXtst,
libvorbis,
hunspell,
lzo,
xz,
bzip2,
libiconv,
qtbase,
qtsvg,
qtwebkit,
qtx11extras,
qttools,
qmake,
wrapQtAppsHook,
wrapGAppsHook3,
withCC ? true,
opencc,
withEpwing ? true,
libeb,
withExtraTiff ? true,
libtiff,
withFFmpeg ? true,
libao,
ffmpeg,
withMultimedia ? true,
withZim ? true,
zstd,
}:
stdenv.mkDerivation rec {
pname = "goldendict";
version = "1.5.0";
src = fetchFromGitHub {
owner = "goldendict";
repo = "goldendict";
rev = version;
hash = "sha256-80o8y+mbzpyMQYUGHYs/zgQT23nLVCs7Jcr8FbbXn8M=";
};
patches = [
./0001-dont-check-for-updates.patch
./0001-dont-use-maclibs.patch
];
postPatch = ''
substituteInPlace goldendict.pro \
--replace "hunspell-1.6.1" "hunspell-${lib.versions.majorMinor hunspell.version}" \
--replace "opencc.2" "opencc"
'';
nativeBuildInputs = [
pkg-config
qmake
wrapQtAppsHook
wrapGAppsHook3
];
buildInputs = [
qtbase
qtsvg
qtwebkit
qttools
libvorbis
hunspell
xz
lzo
]
++ lib.optionals stdenv.hostPlatform.isLinux [
qtx11extras
libXtst
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
bzip2
libiconv
]
++ lib.optional withCC opencc
++ lib.optional withEpwing libeb
++ lib.optional withExtraTiff libtiff
++ lib.optionals withFFmpeg [
libao
ffmpeg
]
++ lib.optional withZim zstd;
qmakeFlags = [
"goldendict.pro"
(lib.optional withCC "CONFIG+=chinese_conversion_support")
(lib.optional (!withCC) "CONFIG+=no_chinese_conversion_support")
(lib.optional (!withEpwing) "CONFIG+=no_epwing_support")
(lib.optional (!withExtraTiff) "CONFIG+=no_extra_tiff_handler")
(lib.optional (!withFFmpeg) "CONFIG+=no_ffmpeg_player")
(lib.optional (!withMultimedia) "CONFIG+=no_qtmultimedia_player")
(lib.optional withZim "CONFIG+=zim_support")
];
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/Applications
mv GoldenDict.app $out/Applications
'';
meta = with lib; {
homepage = "http://goldendict.org/";
description = "Feature-rich dictionary lookup program";
platforms = with platforms; linux ++ darwin;
mainProgram = "goldendict";
maintainers = with maintainers; [
sikmir
];
license = licenses.gpl3Plus;
};
}

View File

@@ -0,0 +1,145 @@
{
lib,
stdenv,
mkDerivation,
fetchurl,
freetype,
glib,
libGL,
libGLU,
libSM,
libXcomposite,
libXi,
libXrender,
libX11,
libxcb,
sqlite,
zlib,
fontconfig,
dpkg,
libproxy,
libxml2_13,
gst_all_1,
dbus,
makeWrapper,
cups,
alsa-lib,
xkeyboardconfig,
autoPatchelfHook,
}:
let
arch =
if stdenv.hostPlatform.system == "x86_64-linux" then
"amd64"
else
throw "Unsupported system ${stdenv.hostPlatform.system} ";
in
mkDerivation rec {
pname = "googleearth-pro";
version = "7.3.6.10201";
src = fetchurl {
url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_${arch}.deb";
sha256 = "sha256-LqkXOSfE52+7x+Y0DBjYzvVKO0meytLNHuS/ia88FbI=";
};
nativeBuildInputs = [
dpkg
makeWrapper
autoPatchelfHook
];
propagatedBuildInputs = [ xkeyboardconfig ];
buildInputs = [
dbus
cups
fontconfig
freetype
glib
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
libGL
libGLU
libSM
libX11
libXcomposite
libXi
libXrender
libproxy
libxcb
libxml2_13
sqlite
zlib
alsa-lib
];
doInstallCheck = true;
dontBuild = true;
unpackPhase = ''
runHook preUnpack
# deb file contains a setuid binary, so 'dpkg -x' doesn't work here
mkdir deb
dpkg --fsys-tarfile $src | tar --extract -C deb
runHook postUnpack
'';
installPhase = ''
runHook preInstall
mkdir $out
mv deb/usr/* $out/
rmdir deb/usr
mv deb/* $out/
rm $out/bin/google-earth-pro $out/opt/google/earth/pro/googleearth
# patch and link googleearth binary
ln -s $out/opt/google/earth/pro/googleearth-bin $out/bin/googleearth-pro
# patch and link gpsbabel binary
ln -s $out/opt/google/earth/pro/gpsbabel $out/bin/gpsbabel
# Add desktop config file and icons
mkdir -p $out/share/{applications,icons/hicolor/{16x16,22x22,24x24,32x32,48x48,64x64,128x128,256x256}/apps,pixmaps}
ln -s $out/opt/google/earth/pro/google-earth-pro.desktop $out/share/applications/google-earth-pro.desktop
sed -i -e "s|Exec=.*|Exec=$out/bin/googleearth-pro|g" $out/opt/google/earth/pro/google-earth-pro.desktop
for size in 16 22 24 32 48 64 128 256; do
ln -s $out/opt/google/earth/pro/product_logo_"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/google-earth-pro.png
done
ln -s $out/opt/google/earth/pro/product_logo_256.png $out/share/pixmaps/google-earth-pro.png
runHook postInstall
'';
installCheckPhase = ''
$out/bin/gpsbabel -V > /dev/null
'';
# wayland is not supported by Qt included in binary package, so make sure it uses xcb
postFixup = ''
wrapProgram $out/bin/googleearth-pro \
--set QT_QPA_PLATFORM xcb \
--set QT_XKB_CONFIG_ROOT "${xkeyboardconfig}/share/X11/xkb"
'';
meta = with lib; {
description = "World sphere viewer";
homepage = "https://www.google.com/earth/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [
shamilton
xddxdd
];
platforms = platforms.linux;
knownVulnerabilities = [
"Includes vulnerable versions of bundled libraries: openssl, ffmpeg, gdal, and proj."
];
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
gettext,
libexif,
libgphoto2,
libjpeg,
libtool,
popt,
readline,
}:
stdenv.mkDerivation rec {
pname = "gphoto2";
version = "2.5.32";
src = fetchFromGitHub {
owner = "gphoto";
repo = "gphoto2";
rev = "v${version}";
sha256 = "sha256-9Tn6CBxZpzPnlyiBYdpQGViT3NEcup6AXT7Z0DqI/vA=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
gettext
libtool
];
buildInputs = [
libexif
libgphoto2
libjpeg
popt
readline
];
meta = with lib; {
description = "Ready to use set of digital camera software applications";
longDescription = ''
A set of command line utilities for manipulating over 1400 different
digital cameras. Through libgphoto2, it supports PTP, MTP, and much more..
'';
homepage = "http://www.gphoto.org/";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ maintainers.jcumming ];
mainProgram = "gphoto2";
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchurl,
libtool,
pkg-config,
libgphoto2,
fuse,
glib,
}:
stdenv.mkDerivation rec {
pname = "gphoto2fs";
version = "0.5.0";
src = fetchurl {
url = "mirror://sourceforge/gphoto/gphotofs/${version}/gphotofs-0.5.tar.bz2";
sha256 = "1k23ncbsbh64r7kz050bg31jqamchyswgg9izhzij758d7gc8vk7";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libgphoto2
fuse
glib
libtool
];
meta = with lib; {
description = "Fuse FS to mount a digital camera";
mainProgram = "gphotofs";
homepage = "http://www.gphoto.org/";
maintainers = [ maintainers.raskin ];
platforms = platforms.linux;
license = with licenses; [
lgpl2
gpl2
];
};
}

View File

@@ -0,0 +1,26 @@
# Generated by debian-patches.sh from debian-patches.txt
let
prefix = "https://sources.debian.org/data/main/g/gpsbabel/1.8.0+ds-4/debian/patches";
in
[
{
url = "${prefix}/gpsbabelfe_disable_version_check";
sha256 = "1kk1iq4mbmldl1jjvd4bphr0165rgn2gpqdyyd1vq8v8wjx942sb";
}
{
url = "${prefix}/gpsbabelfe_opt-in-for-usage-data-reporting";
sha256 = "0dr3jyn8sxx9vw3w11gir6jvshlda0ldmhlq4aq313xn6d1j8qv2";
}
{
url = "${prefix}/gpsbabelfe_do-not-check-for-newer-version";
sha256 = "0kmmxcq1k9p84v9cjagda1cqcc9p7p48i104l3z6clc17zixwgai";
}
{
url = "${prefix}/htmldoc-location";
sha256 = "0nk3gz3l0q68d7blzfkbkvr630xy8y7vlxalnzlbdigqcx7lk54f";
}
{
url = "${prefix}/Disable-donation-nagging";
sha256 = "11j2ffa0hn5cy8xw98jndkf735ar39sf6rl28bn91pxd38xyaz5b";
}
]

View File

@@ -0,0 +1,6 @@
gpsbabel/1.8.0+ds-4
gpsbabelfe_disable_version_check
gpsbabelfe_opt-in-for-usage-data-reporting
gpsbabelfe_do-not-check-for-newer-version
htmldoc-location
Disable-donation-nagging

View File

@@ -0,0 +1,178 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchurl,
pkg-config,
which,
qmake,
qttools,
wrapQtAppsHook,
libusb1,
shapelib,
zlib,
withGUI ? false,
qtserialport,
withMapPreview ? (!stdenv.hostPlatform.isDarwin),
qtwebengine,
withDoc ? false,
docbook_xml_dtd_45,
docbook_xsl,
expat,
fop,
libxml2,
libxslt,
perl,
}:
stdenv.mkDerivation rec {
pname = "gpsbabel";
version = "1.8.0";
src = fetchFromGitHub {
owner = "gpsbabel";
repo = "gpsbabel";
rev = "gpsbabel_${lib.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "sha256-0w8LsO+HwqZF8SQmwd8bCKma9PCM0hAzXhzWR4DgAHs=";
};
patches = map fetchurl (import ./debian-patches.nix);
postPatch = ''
patchShebangs testo
''
+ lib.optionalString withDoc ''
substituteInPlace gbversion.h.qmake.in \
--replace /usr/share/doc $doc/share/doc
substituteInPlace testo.d/serialization.test \
--replace /usr/share/doc $doc/share/doc
substituteInPlace xmldoc/gpsbabel_man.xml \
--replace /usr/share/doc $doc/share/doc
'';
outputs = [ "out" ] ++ lib.optional withDoc "doc";
nativeBuildInputs = [
pkg-config
qmake
]
++ lib.optionals withGUI [
qttools
wrapQtAppsHook
]
++ lib.optionals withDoc [
docbook_xml_dtd_45
docbook_xsl
expat
fop
libxml2
libxslt
perl
];
buildInputs = [
libusb1
shapelib
zlib
]
++ lib.optional withGUI qtserialport
++ lib.optional (withGUI && withMapPreview) qtwebengine;
nativeCheckInputs = [
libxml2
which
];
preConfigure = lib.optionalString withGUI ''
lrelease gui/*.ts gui/coretool/*.ts
'';
qmakeFlags = [
"WITH_LIBUSB=pkgconfig"
"WITH_SHAPELIB=pkgconfig"
"WITH_ZLIB=pkgconfig"
]
++ lib.optionals (withGUI && !withMapPreview) [
"CONFIG+=disable-mappreview"
];
makeFlags =
lib.optional withGUI "gui"
++ lib.optionals withDoc [
"gpsbabel.pdf"
"gpsbabel.html"
"gpsbabel.org"
];
# Floating point behavior on i686 causes nmea.test failures. Preventing
# extended precision fixes this problem.
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isi686 "-ffloat-store";
doCheck = true;
dontWrapQtApps = true;
installPhase = ''
install -Dm755 gpsbabel -t $out/bin
''
+ lib.optionalString withGUI (
if stdenv.hostPlatform.isDarwin then
''
mkdir -p $out/Applications
mv gui/GPSBabelFE.app $out/Applications
install -Dm644 gui/*.qm gui/coretool/*.qm -t $out/Applications/GPSBabelFE.app/Contents/Resources/translations
ln -s $out/bin/gpsbabel $out/Applications/GPSBabelFE.app/Contents/MacOS
''
else
''
install -Dm755 gui/objects/gpsbabelfe -t $out/bin
install -Dm644 gui/gpsbabel.desktop -t $out/share/application
install -Dm644 gui/images/appicon.png $out/share/icons/hicolor/512x512/apps/gpsbabel.png
install -Dm644 gui/*.qm gui/coretool/*.qm -t $out/share/gpsbabel/translations
''
)
+ lib.optionalString withDoc ''
install -Dm655 gpsbabel.{html,pdf} -t $doc/share/doc/gpsbabel
cp -r html $doc/share/doc/gpsbabel
'';
postFixup = lib.optionalString withGUI (
if stdenv.hostPlatform.isDarwin then
''
wrapQtApp "$out/Applications/GPSBabelFE.app/Contents/MacOS/GPSBabelFE"
''
else
''
wrapQtApp "$out/bin/gpsbabelfe"
''
);
meta = with lib; {
description = "Convert, upload and download data from GPS and Map programs";
longDescription = ''
GPSBabel converts waypoints, tracks, and routes between popular
GPS receivers and mapping programs. It also has powerful
manipulation tools for such data.
By flattening the Tower of Babel that the authors of various
programs for manipulating GPS data have imposed upon us, it
returns to us the ability to freely move our own waypoint data
between the programs and hardware we choose to use.
It contains extensive data manipulation abilities making it a
convenient for server-side processing or as the backend for
other tools.
It does not convert, transfer, send, or manipulate maps. We
process data that may (or may not be) placed on a map, such as
waypoints, tracks, and routes.
'';
homepage = "https://www.gpsbabel.org/";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ sikmir ];
mainProgram = "gpsbabel";
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
mkDerivation,
fetchFromGitHub,
cmake,
qttools,
qtbase,
}:
mkDerivation rec {
pname = "heimer";
version = "4.5.0";
src = fetchFromGitHub {
owner = "juzzlin";
repo = "heimer";
rev = version;
hash = "sha256-eKnGCYxC3b7qd/g2IMDyZveBg+jvFA9s3tWEGeTPSkU=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
qttools
qtbase
];
meta = {
description = "Simple cross-platform mind map and note-taking tool written in Qt";
mainProgram = "heimer";
homepage = "https://github.com/juzzlin/Heimer";
changelog = "https://github.com/juzzlin/Heimer/blob/${version}/CHANGELOG";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,49 @@
{
python3Packages,
fetchFromGitHub,
lib,
wrapQtAppsHook,
qtbase,
}:
python3Packages.buildPythonApplication {
pname = "hue-plus";
version = "1.4.5";
format = "setuptools";
src = fetchFromGitHub {
owner = "kusti8";
repo = "hue-plus";
rev = "7ce7c4603c6d0ab1da29b0d4080aa05f57bd1760";
sha256 = "sha256-dDIJXhB3rmKnawOYJHE7WK38b0M5722zA+yLgpEjDyI=";
};
buildInputs = [ qtbase ];
nativeBuildInputs = [ wrapQtAppsHook ];
propagatedBuildInputs = with python3Packages; [
pyserial
pyqt5
pyaudio
appdirs
setuptools
];
doCheck = false;
dontWrapQtApps = true;
makeWrapperArgs = [
"\${qtWrapperArgs[@]}"
];
meta = with lib; {
homepage = "https://github.com/kusti8/hue-plus";
description = "Windows and Linux driver in Python for the NZXT Hue+";
longDescription = ''
A cross-platform driver in Python for the NZXT Hue+. Supports all functionality except FPS, CPU, and GPU lighting.
'';
license = licenses.gpl3Only;
maintainers = with maintainers; [ garaiza-93 ];
};
}

View File

@@ -0,0 +1,14 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b7530e8f..af94a62d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -59,8 +59,7 @@ if(NOT MINGW AND WIN32)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_BINARY_DIR}/Debug)
endif()
-add_subdirectory(3rd/libirc/libirc libirc)
-add_subdirectory(3rd/libirc/libircclient libircclient)
+include_directories(@libirc_includes@)
# YAML
find_package(YAML-CPP 0.6.3 QUIET)

View File

@@ -0,0 +1,13 @@
diff --git a/src/huggle_core/definitions_prod.hpp b/src/huggle_core/definitions_prod.hpp
index 1fc5b1fb..17881ade 100644
--- a/src/huggle_core/definitions_prod.hpp
+++ b/src/huggle_core/definitions_prod.hpp
@@ -216,7 +216,7 @@ namespace std { typedef decltype(nullptr) nullptr_t; }
#define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "/extensions"
#elif defined __linux__
#define HUGGLE_UPDATER_PLATFORM_TYPE "linux"
- #define HUGGLE_GLOBAL_EXTENSION_PATH "/usr/local/share/huggle/extensions"
+ #define HUGGLE_GLOBAL_EXTENSION_PATH "@out@/share/huggle/extensions"
#elif defined HUGGLE_WIN
// This is needed by yaml cpp library, otherwise it won't build with MSVC
#define YAML_CPP_DLL

View File

@@ -0,0 +1,74 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
ncurses,
which,
cmake,
wrapQtAppsHook,
qtwebengine,
yaml-cpp,
libirc,
}:
stdenv.mkDerivation rec {
pname = "huggle";
version = "3.4.13";
src = fetchFromGitHub {
owner = "huggle";
repo = "huggle3-qt-lx";
rev = version;
sha256 = "sha256-f7Oo6x262Ju9KY8f/xjm9gL6I1fRCaDsQWGWJMUNUfY=";
fetchSubmodules = true;
};
nativeBuildInputs = [
wrapQtAppsHook
pkg-config
which
cmake
];
buildInputs = [
ncurses
yaml-cpp
qtwebengine
libirc
];
patches = [
./00-remove-third-party.patch
./01-extensions.patch
];
postPatch = ''
rm -r src/3rd
echo ${version} > src/huggle_core/version.txt
substituteInPlace src/huggle_core/definitions_prod.hpp --subst-var out
substituteInPlace src/CMakeLists.txt --replace '@libirc_includes@' '${libirc.out}'
'';
cmakeBuildType = "None";
cmakeFlags = [
"-S"
"/build/source/src"
"-DINSTALL_DATA_DIR=bin"
"-DQT5_BUILD=ON"
"-DWEB_ENGINE=ON"
"-DBUILD_SHARED_LIBS=OFF"
"-Wno-dev"
"-DHUGGLE_EXT=TRUE"
];
installTargets = [ "install" ];
meta = with lib; {
description = "Anti-vandalism tool for use on MediaWiki-based projects";
mainProgram = "huggle";
homepage = "https://github.com/huggle/huggle3-qt-lx";
license = licenses.gpl3Only;
maintainers = [ maintainers.fee1-dead ];
platforms = platforms.x86_64;
};
}

View File

@@ -0,0 +1,145 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
perlPackages,
gettext,
makeWrapper,
ImageMagick,
which,
highlight,
gitSupport ? false,
git,
docutilsSupport ? false,
python3,
docutils,
monotoneSupport ? false,
monotone,
bazaarSupport ? false,
breezy,
cvsSupport ? false,
cvs,
cvsps,
subversionSupport ? false,
subversion,
mercurialSupport ? false,
mercurial,
extraUtils ? [ ],
}:
stdenv.mkDerivation rec {
pname = "ikiwiki";
version = "3.20200202.3";
src = fetchurl {
url = "mirror://debian/pool/main/i/ikiwiki/ikiwiki_${version}.orig.tar.xz";
sha256 = "0skrc8r4wh4mjfgw1c94awr5sacfb9nfsbm4frikanc9xsy16ksr";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
which
highlight
]
++ (with perlPackages; [
perl
TextMarkdown
URI
HTMLParser
HTMLScrubber
HTMLTemplate
TimeDate
gettext
DBFile
CGISession
CGIFormBuilder
LocaleGettext
RpcXML
XMLSimple
ImageMagick
YAML
YAMLLibYAML
HTMLTree
AuthenPassphrase
NetOpenIDConsumer
LWPxParanoidAgent
CryptSSLeay
])
++ lib.optionals docutilsSupport [
(python3.withPackages (pp: with pp; [ pygments ]))
docutils
]
++ lib.optionals gitSupport [ git ]
++ lib.optionals monotoneSupport [ monotone ]
++ lib.optionals bazaarSupport [ breezy ]
++ lib.optionals cvsSupport [
cvs
cvsps
perlPackages.Filechdir
]
++ lib.optionals subversionSupport [ subversion ]
++ lib.optionals mercurialSupport [ mercurial ];
patches = [
# A few markdown tests fail, but this is expected when using Text::Markdown
# instead of Text::Markdown::Discount.
./remove-markdown-tests.patch
(fetchpatch {
name = "Catch-up-to-highlight-4.0-API-change";
url = "http://source.ikiwiki.branchable.com/?p=source.git;a=patch;h=9ea3f9dfe7c0341f4e002b48728b8139293e19d0";
sha256 = "16s4wvsfclx0a5cm2awr69dvw2vsi8lpm0d7kyl5w0kjlmzfc7h9";
})
];
postPatch = ''
sed -i s@/usr/bin/perl@${perlPackages.perl}/bin/perl@ pm_filter mdwn2man
sed -i s@/etc/ikiwiki@$out/etc@ Makefile.PL
sed -i /ENV{PATH}/d ikiwiki.in
# State the gcc dependency, and make the cgi use our wrapper
sed -i -e 's@$0@"'$out/bin/ikiwiki'"@' \
-e "s@'cc'@'${stdenv.cc}/bin/gcc'@" IkiWiki/Wrapper.pm
# Without patched plugin shebangs, some tests like t/rst.t fail
# (with docutilsSupport enabled)
patchShebangs plugins/*
# Creating shared git repo fails when running tests in Nix sandbox.
# The error is: "fatal: Could not make /tmp/ikiwiki-test-git.2043/repo/branches/ writable by group".
# Hopefully, not many people use `ikiwiki-makerepo` to create locally shared repositories these days.
substituteInPlace ikiwiki-makerepo --replace "git --bare init --shared" "git --bare init"
'';
configurePhase = "perl Makefile.PL PREFIX=$out";
postInstall = ''
for a in "$out/bin/"*; do
wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perlPackages.perl}/bin:$out/bin \
${lib.optionalString gitSupport "--prefix PATH : ${git}/bin "} \
${lib.optionalString monotoneSupport "--prefix PATH : ${monotone}/bin "} \
${lib.optionalString bazaarSupport "--prefix PATH : ${breezy}/bin "} \
${lib.optionalString cvsSupport "--prefix PATH : ${cvs}/bin "} \
${lib.optionalString cvsSupport "--prefix PATH : ${cvsps}/bin "} \
${lib.optionalString subversionSupport "--prefix PATH : ${subversion.out}/bin "} \
${lib.optionalString mercurialSupport "--prefix PATH : ${mercurial}/bin "} \
${lib.optionalString docutilsSupport ''--prefix PYTHONPATH : "$(toPythonPath ${docutils})" ''} \
${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils}
done
'';
preCheck = ''
# Git needs some help figuring this out during test suite run.
export EMAIL="nobody@example.org"
'';
checkTarget = "test";
doCheck = true;
meta = with lib; {
description = "Wiki compiler, storing pages and history in a RCS";
homepage = "http://ikiwiki.info/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.wentasah ];
};
}

View File

@@ -0,0 +1,35 @@
diff --git a/t/mdwn.t b/t/mdwn.t
index 966aad2..2756173 100755
--- a/t/mdwn.t
+++ b/t/mdwn.t
@@ -22,30 +22,13 @@ foreach my $multimarkdown (qw(1 0)) {
"<p>C. S. Lewis wrote books</p>\n",
"alphalist off by default for multimarkdown = $multimarkdown");
- like(IkiWiki::htmlize("foo", "foo", "mdwn",
- "This works[^1]\n\n[^1]: Sometimes it doesn't.\n"),
- qr{<p>This works.*fnref:1.*},
- "footnotes on by default for multimarkdown = $multimarkdown");
-
$config{mdwn_footnotes} = 0;
unlike(IkiWiki::htmlize("foo", "foo", "mdwn",
"An unusual link label: [^1]\n\n[^1]: http://example.com/\n"),
qr{<p>An unusual link label: .*fnref:1.*},
"footnotes can be disabled for multimarkdown = $multimarkdown");
-
- $config{mdwn_footnotes} = 1;
- like(IkiWiki::htmlize("foo", "foo", "mdwn",
- "This works[^1]\n\n[^1]: Sometimes it doesn't.\n"),
- qr{<p>This works.*fnref:1.*},
- "footnotes can be enabled for multimarkdown = $multimarkdown");
}
-$config{mdwn_alpha_lists} = 1;
-like(IkiWiki::htmlize("foo", "foo", "mdwn",
- "A. One\n".
- "B. Two\n"),
- qr{<ol\W}, "alphalist can be enabled");
-
$config{mdwn_alpha_lists} = 0;
like(IkiWiki::htmlize("foo", "foo", "mdwn",
"A. One\n".

View File

@@ -0,0 +1,144 @@
{
"dependencies": {
"bcaa": {
"version": "0.0.8",
"sha256": "1v8qy98hjdgfsdx6zg9n09sfpfqsh57nbsn8phw82rssi0gysgsr"
},
"bindbc-loader": {
"version": "1.0.3",
"sha256": "0d688cwb2hjhfxc7l00cfh22prybsndk6j1hvlrf9nlzb46i4i1j"
},
"bindbc-sdl": {
"version": "1.1.3",
"sha256": "0yi472nv7pg1q1kk749w3mv1l2l6ch20k8kcc4l9jy3m2vwlpd88"
},
"dcv": {
"version": "0.3.0",
"sha256": "02fd7wig6i618r7l7alw0hfljbwjvq13fkyhwcpsdd7r5x2f7hyk"
},
"ddbus": {
"version": "3.0.0-beta.2",
"sha256": "01dgvlvwbhwz7822gp6z5xn6w3k51q09i6qzns2i4ixmjh45wscs"
},
"diet-ng": {
"version": "1.8.2",
"sha256": "0hwm8dsyw7xb9d540ks314vzxibn4ri7b4m2gagqbpmzspvd2slv"
},
"dportals": {
"version": "0.1.0",
"sha256": "11wxlp2y7s2mc98bxya7fmg0gc4yqlyg0bjsd1yxzr8fmsvf2zzh"
},
"dunit": {
"version": "1.0.16",
"sha256": "0p9g4h5qanbg6281x1068mdl5p7zvqig4zmmi72a2cay6dxnbvxb"
},
"dxml": {
"version": "0.4.4",
"sha256": "0p5vmkw29ksh5wdxz1ijms1wblq288pv15vnbl93z7q2vgnq995w"
},
"eventcore": {
"version": "0.9.34",
"sha256": "0znrcmxdr65gk8bwrknhm530kicznia4xb09h5jv42sxnv3cjkjw"
},
"facetrack-d": {
"version": "0.8.0",
"sha256": "0p04yd50sgjb9n9gdp2yjgvlm8kkld2gl5ivz36npjnchj8k5a8i"
},
"fghj": {
"version": "1.0.2",
"sha256": "0c102pfbcb3kpr8hpq3qzlxfw460v202vg6hrfdzw5a8pygy4cxj"
},
"i18n-d": {
"version": "1.0.2",
"sha256": "1p33w5wh09ha132fsk0b37rjgzw6z3l0v64dixmkvnhhm1xy3b1g"
},
"i2d-imgui": {
"version": "0.8.0",
"sha256": "1xikjz5b9r4gml0j7z5k8x1n8h9qcixzsg8gpjlzr3dwis7m0cfw"
},
"i2d-opengl": {
"version": "1.0.0",
"sha256": "0137ifda4z6h7sa7ls9n3rpcd6344qsfpbcc0dl7wzyk0xa73912"
},
"imagefmt": {
"version": "2.1.2",
"sha256": "0dl7n4myxp1s3b32v2s975k76gs90wr2nw6ac5jq9hsgzhp1ix0h"
},
"inmath": {
"version": "1.3.0",
"sha256": "1bmfsnlpm3lb085cs29h63l4fmfr0xr9iyfd0wrg5i87difshpw6"
},
"inochi2d": {
"version": "0.8.6",
"sha256": "0xhidp1y91cidh3g1cc5v7psb5kfy17ars7k7cplnywhjlcqqk70"
},
"kra-d": {
"version": "0.5.6",
"sha256": "1lp3mf39qfxn6cayznc4nkk24smnd2m5sg8skl9pnd4x85is6zdr"
},
"mir-algorithm": {
"version": "3.22.1",
"sha256": "1bvvf3dm26x1h10pg1s4kyhxiyrmd96kk2lmchyady39crpjj5cf"
},
"mir-core": {
"version": "1.7.1",
"sha256": "15m1n48fcmh5pw3w4ww5qfzwkdglflpzc3xmxmrlvd30swyyr85j"
},
"mir-linux-kernel": {
"version": "1.0.1",
"sha256": "0adyjpcgd65z44iydnrrrpjwbvmrm08a3pkcriqi7npqylfysqn6"
},
"mir-random": {
"version": "2.2.19",
"sha256": "0ad9ahvyrv5h38aqwn3zvlrva3ikfq28dfhpg2lwwgm31ymzvqpb"
},
"numem": {
"version": "0.11.3",
"sha256": "00rm3cg5i714ncww8yxsbzf1y1bf6r8d0yx6i38ac2x7090arvjm"
},
"openssl": {
"version": "3.3.4",
"sha256": "17s71yfyhb9jyym2nldj23ikazwbbrmh6ply33mg888rd6dxnhyy"
},
"openssl-static": {
"version": "1.0.5+3.0.8",
"sha256": "0wpqz29yrbbh39g3cwlgd6h6hh1msws7w5baw1kywdkgj761gx2k"
},
"psd-d": {
"version": "0.6.3",
"sha256": "0qbwkvzgrvd6m67p14ari4iiajmhfi2x1id4da971qxiprfm1993"
},
"silly": {
"version": "1.1.1",
"sha256": "1l0mpnbz8h3ihjxvk5qwn6p6lwb75g259k7fjqasw0zp0c27bkjb"
},
"stdx-allocator": {
"version": "2.77.5",
"sha256": "1g8382wr49sjyar0jay8j7y2if7h1i87dhapkgxphnizp24d7kaj"
},
"taggedalgebraic": {
"version": "0.11.23",
"sha256": "1bialmbdwjpqhgs95inkwzin7xbhx7sngjf7viq90vzma497l59k"
},
"tinyfiledialogs": {
"version": "0.10.1",
"sha256": "1k3gq9y7912x5b30h60nvlfdr61as1f187b8rsilkxliizcmbhfi"
},
"vibe-container": {
"version": "1.3.1",
"sha256": "12mfm49bjnh2pvm51dzna625kzgwznm9kcv6qhazc4il9j0224wd"
},
"vibe-core": {
"version": "2.9.3",
"sha256": "032q1gkm7l6blj5y3yiwk205m12svp4bv8k743crkd8d1xhlrrvi"
},
"vibe-d": {
"version": "0.9.8",
"sha256": "1gficgfzwswaxj9qlnca28c65gl7xq6q8y47qlf4m1gvkxj4ij2k"
},
"vmc-d": {
"version": "1.1.3",
"sha256": "0kkqihhzxdq0n46jk55g4yhhwrnw6b9d931yb5pblxcc342gckvm"
}
}
}

View File

@@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchFromGitHub,
replaceVars,
callPackage,
}:
# Note for maintainers:
#
# These packages are only allowed to be packaged under the the condition that we
# - patch source/creator/config.d to not point to upstream's bug tracker
# - use the "barebones" configuration to remove the mascot and logo from the build
#
# We have received permission by the owner to go ahead with the packaging, as we have met all the criteria
# https://github.com/NixOS/nixpkgs/pull/288841#issuecomment-1950247467
let
mkGeneric = builderArgs: callPackage ./generic.nix { inherit builderArgs; };
in
{
inochi-creator = mkGeneric rec {
pname = "inochi-creator";
appname = "Inochi Creator";
version = "0.8.6";
src = fetchFromGitHub {
owner = "Inochi2D";
repo = "inochi-creator";
rev = "v${version}";
hash = "sha256-9d3j5ZL6rGOjN1GUpCIfbjby0mNMvOK7BJbHYgwLY2k=";
};
dubLock = ./creator-dub-lock.json;
patches = [
# Upstream asks that we change the bug tracker URL to not point to the upstream bug tracker
(replaceVars ./support-url.patch {
assignees = "TomaSajt"; # should be a comma separated list of the github usernames of the maintainers
})
# Change how duplicate locales differentiate themselves (the store paths were too long)
./translations.patch
];
meta = {
# darwin has slightly different build steps
broken = stdenv.hostPlatform.isDarwin;
changelog = "https://github.com/Inochi2D/inochi-creator/releases/tag/${src.rev}";
description = "Open source editor for the Inochi2D puppet format";
};
};
inochi-session = mkGeneric rec {
pname = "inochi-session";
appname = "Inochi Session";
version = "0.8.7";
src = fetchFromGitHub {
owner = "Inochi2D";
repo = "inochi-session";
rev = "v${version}";
hash = "sha256-FcgzTCpD+L50MsPP90kfL6h6DEUtiYkUV1xKww1pQfg=";
};
patches = [
# Dynamically load Lua to get around the linker error on aarch64-linux.
# https://github.com/Inochi2D/inochi-session/pull/60
./session-dynamic-lua.patch
];
dubLock = ./session-dub-lock.json;
preFixup = ''
patchelf $out/share/inochi-session/inochi-session --add-needed cimgui.so
'';
dontStrip = true; # symbol lookup error: undefined symbol: , version
meta = {
# darwin has slightly different build steps
broken = stdenv.hostPlatform.isDarwin;
changelog = "https://github.com/Inochi2D/inochi-session/releases/tag/${src.rev}";
description = "Application that allows streaming with Inochi2D puppets";
};
};
}

View File

@@ -0,0 +1,153 @@
{
lib,
buildDubPackage,
fetchFromGitHub,
writeShellScriptBin,
cmake,
gettext,
copyDesktopItems,
makeDesktopItem,
makeWrapper,
dbus,
freetype,
SDL2,
zenity,
luajit_2_1,
libGL,
libX11,
builderArgs,
}:
let
cimgui-src = fetchFromGitHub {
owner = "Inochi2D";
repo = "cimgui";
rev = "49bb5ce65f7d5eeab7861d8ffd5aa2a58ca8f08c";
hash = "sha256-XcnZbIjwq7vmYBnMAs+cEpJL8HB8wrL098FXGxC+diA=";
fetchSubmodules = true;
};
inherit (builderArgs)
pname
appname
version
dubLock
meta
;
in
buildDubPackage (
builderArgs
// {
nativeBuildInputs = [
cmake # used for building `i2d-imgui`
gettext # used when generating translations
copyDesktopItems
makeWrapper
# A fake git implementation to be used by the `gitver` package
# It is a dependency of the main packages and the `inochi2d` dub dependency
# A side effect of this script is that `inochi2d` will have the same version listed as the main package
(writeShellScriptBin "git" "echo v${version}")
];
buildInputs = [
dbus
freetype
SDL2
libGL
libX11
];
dontUseCmakeConfigure = true;
# these deps are not listed inside `dub.sdl`, so they didn't get auto-generated
# these are used for generating version info when building
dubLock = lib.recursiveUpdate (lib.importJSON dubLock) {
dependencies = {
gitver = {
version = "1.6.1";
sha256 = "sha256-NCyFik4FbD7yMLd5zwf/w4cHwhzLhIRSVw1bWo/CZB4=";
};
semver = {
version = "0.3.2";
sha256 = "sha256-l6c9hniUd5xNsJepq8x30e0JTjmXs4pYUmv4ws+Nrn4=";
};
};
};
postConfigure = ''
cimgui_dir=("$DUB_HOME"/packages/i2d-imgui/*/i2d-imgui)
# `i2d-imgui` isn't able to find SDL2 by default due to it being written in lower case
# this is only an issue when compiling statically (session)
substituteInPlace "$cimgui_dir/dub.json" \
--replace-fail '"sdl2"' '"SDL2"'
# The `i2d-cimgui` dub dependency fetched inside the auto-generated `*-deps.nix` file
# which doesn't know that it's actually a git repo, so it doesn't fetch its submodules.
# Upstream uses a cmake script to fetch the `cimgui` submodule anyway, which we can't do
# We get around this by manually pre-fetching the submodule and copying it into the right place
cp -r --no-preserve=all ${cimgui-src}/* "$cimgui_dir/deps/cimgui"
# Disable the original cmake fetcher script
substituteInPlace "$cimgui_dir/deps/CMakeLists.txt" \
--replace-fail "PullSubmodules(" "# PullSubmodules(" \
--replace-fail "\''${cimgui_SUBMOD_DIR}" "cimgui"
'';
preBuild = ''
# Generate translations (if possible)
. gentl.sh
# Use the fake git to generate version info
dub build --skip-registry=all --compiler=ldc2 --build=release --config=update-version
'';
# Use the "barebones" configuration so that we don't include the mascot and icon files in out build
dubFlags = [ "--config=barebones" ];
installPhase = ''
runHook preInstall
mkdir -p $out/share/${pname}
cp -r out/* $out/share/${pname}
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = pname;
desktopName = appname;
exec = pname;
comment = meta.description;
categories = [ "Utility" ];
})
];
postFixup = ''
# Add support for `open file` dialog
makeWrapper $out/share/${pname}/${pname} $out/bin/${pname} \
--prefix PATH : ${lib.makeBinPath [ zenity ]}
patchelf $out/share/${pname}/${pname} \
--add-rpath ${
lib.makeLibraryPath [
libGL
luajit_2_1
]
}
'';
meta = {
homepage = "https://inochi2d.com/";
license = lib.licenses.bsd2;
mainProgram = pname;
maintainers = with lib.maintainers; [ tomasajt ];
}
// meta;
}
)

View File

@@ -0,0 +1,136 @@
{
"dependencies": {
"bindbc-loader": {
"version": "1.0.3",
"sha256": "0d688cwb2hjhfxc7l00cfh22prybsndk6j1hvlrf9nlzb46i4i1j"
},
"bindbc-lua": {
"version": "0.5.1",
"sha256": "116lcplxxl39x6m2sr9zkszdbrm1pa285sjqijnqxqy99jajnhc7"
},
"bindbc-sdl": {
"version": "1.1.3",
"sha256": "0yi472nv7pg1q1kk749w3mv1l2l6ch20k8kcc4l9jy3m2vwlpd88"
},
"bindbc-spout2": {
"version": "0.1.1",
"sha256": "03r4xsjpwys4nlfhas4hjqygzs764dzsr789b091iczp56pp9w9z"
},
"ddbus": {
"version": "3.0.0-beta.2",
"sha256": "01dgvlvwbhwz7822gp6z5xn6w3k51q09i6qzns2i4ixmjh45wscs"
},
"diet-ng": {
"version": "1.8.2",
"sha256": "0hwm8dsyw7xb9d540ks314vzxibn4ri7b4m2gagqbpmzspvd2slv"
},
"dportals": {
"version": "0.1.0",
"sha256": "11wxlp2y7s2mc98bxya7fmg0gc4yqlyg0bjsd1yxzr8fmsvf2zzh"
},
"dunit": {
"version": "1.0.16",
"sha256": "0p9g4h5qanbg6281x1068mdl5p7zvqig4zmmi72a2cay6dxnbvxb"
},
"eventcore": {
"version": "0.9.34",
"sha256": "0znrcmxdr65gk8bwrknhm530kicznia4xb09h5jv42sxnv3cjkjw"
},
"facetrack-d": {
"version": "0.8.0",
"sha256": "0p04yd50sgjb9n9gdp2yjgvlm8kkld2gl5ivz36npjnchj8k5a8i"
},
"fghj": {
"version": "1.0.2",
"sha256": "0c102pfbcb3kpr8hpq3qzlxfw460v202vg6hrfdzw5a8pygy4cxj"
},
"i18n-d": {
"version": "1.0.2",
"sha256": "1p33w5wh09ha132fsk0b37rjgzw6z3l0v64dixmkvnhhm1xy3b1g"
},
"i2d-imgui": {
"version": "0.8.0",
"sha256": "1xikjz5b9r4gml0j7z5k8x1n8h9qcixzsg8gpjlzr3dwis7m0cfw"
},
"i2d-opengl": {
"version": "1.0.0",
"sha256": "0137ifda4z6h7sa7ls9n3rpcd6344qsfpbcc0dl7wzyk0xa73912"
},
"imagefmt": {
"version": "2.1.2",
"sha256": "0dl7n4myxp1s3b32v2s975k76gs90wr2nw6ac5jq9hsgzhp1ix0h"
},
"inmath": {
"version": "1.3.0",
"sha256": "1bmfsnlpm3lb085cs29h63l4fmfr0xr9iyfd0wrg5i87difshpw6"
},
"inochi2d": {
"version": "0.8.6",
"sha256": "0xhidp1y91cidh3g1cc5v7psb5kfy17ars7k7cplnywhjlcqqk70"
},
"inui": {
"version": "1.2.2",
"sha256": "1gh7ngva2ijz5gx9hrqn9rzzx5vvpf6l12r98wklzxwb9v5hmj69"
},
"lumars": {
"version": "1.6.1",
"sha256": "1vzdghqwv2gb41rp75456g43yfsndbl0dy6bnn4x6azwwny22br9"
},
"mir-algorithm": {
"version": "3.22.1",
"sha256": "1bvvf3dm26x1h10pg1s4kyhxiyrmd96kk2lmchyady39crpjj5cf"
},
"mir-core": {
"version": "1.7.1",
"sha256": "15m1n48fcmh5pw3w4ww5qfzwkdglflpzc3xmxmrlvd30swyyr85j"
},
"mir-linux-kernel": {
"version": "1.0.1",
"sha256": "0adyjpcgd65z44iydnrrrpjwbvmrm08a3pkcriqi7npqylfysqn6"
},
"numem": {
"version": "0.11.3",
"sha256": "00rm3cg5i714ncww8yxsbzf1y1bf6r8d0yx6i38ac2x7090arvjm"
},
"openssl": {
"version": "3.3.4",
"sha256": "17s71yfyhb9jyym2nldj23ikazwbbrmh6ply33mg888rd6dxnhyy"
},
"openssl-static": {
"version": "1.0.5+3.0.8",
"sha256": "0wpqz29yrbbh39g3cwlgd6h6hh1msws7w5baw1kywdkgj761gx2k"
},
"silly": {
"version": "1.1.1",
"sha256": "1l0mpnbz8h3ihjxvk5qwn6p6lwb75g259k7fjqasw0zp0c27bkjb"
},
"stdx-allocator": {
"version": "2.77.5",
"sha256": "1g8382wr49sjyar0jay8j7y2if7h1i87dhapkgxphnizp24d7kaj"
},
"taggedalgebraic": {
"version": "0.11.23",
"sha256": "1bialmbdwjpqhgs95inkwzin7xbhx7sngjf7viq90vzma497l59k"
},
"tinyfiledialogs": {
"version": "0.10.1",
"sha256": "1k3gq9y7912x5b30h60nvlfdr61as1f187b8rsilkxliizcmbhfi"
},
"vibe-container": {
"version": "1.3.1",
"sha256": "12mfm49bjnh2pvm51dzna625kzgwznm9kcv6qhazc4il9j0224wd"
},
"vibe-core": {
"version": "2.9.3",
"sha256": "032q1gkm7l6blj5y3yiwk205m12svp4bv8k743crkd8d1xhlrrvi"
},
"vibe-d": {
"version": "0.9.8",
"sha256": "1gficgfzwswaxj9qlnca28c65gl7xq6q8y47qlf4m1gvkxj4ij2k"
},
"vmc-d": {
"version": "1.1.3",
"sha256": "0kkqihhzxdq0n46jk55g4yhhwrnw6b9d931yb5pblxcc342gckvm"
}
}
}

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