downkyicore: init at 1.0.23

This commit is contained in:
Mio
2026-02-10 11:39:10 +11:00
parent 1e7e40c82c
commit 358f36a564
2 changed files with 563 additions and 0 deletions
+422
View File
@@ -0,0 +1,422 @@
[
{
"pname": "Avalonia",
"version": "11.3.6",
"hash": "sha256-dSq6RshqnvbHBPkSvp4rTOgtWmVUPVvaGZadPI2TK9g="
},
{
"pname": "Avalonia.Angle.Windows.Natives",
"version": "2.1.25547.20250602",
"hash": "sha256-LE/lENAHptmz6t3T/AoJwnhpda+xs7PqriNGzdcfg8M="
},
{
"pname": "Avalonia.BuildServices",
"version": "0.0.31",
"hash": "sha256-wgtodGf644CsUZEBIpFKcUjYHTbnu7mZmlr8uHIxeKA="
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "11.3.6",
"hash": "sha256-oiaEB3gLyafsRyY8YZ/f//Wne4vAhd73jCF5XOZDIkw="
},
{
"pname": "Avalonia.Controls.DataGrid",
"version": "11.3.6",
"hash": "sha256-Hk1EOnd1E+ZrQTavmQtBZ4NvHiyFhzIMcT7UQPuU2Sw="
},
{
"pname": "Avalonia.Desktop",
"version": "11.3.6",
"hash": "sha256-n54YrP1SviFQH9VEXfw0O3o6K86rhGBbVw4vXhWUFOE="
},
{
"pname": "Avalonia.Diagnostics",
"version": "11.3.6",
"hash": "sha256-uFKSZLA5qvta/ZSVr+vvKT8l9asBT56iF6Lgxcawsgk="
},
{
"pname": "Avalonia.FreeDesktop",
"version": "11.3.6",
"hash": "sha256-KnnXq7iFyS94PbHfbk3ks/DHEQVKxkHD+Nhe0pTPZnc="
},
{
"pname": "Avalonia.Markup.Xaml.Loader",
"version": "11.0.7",
"hash": "sha256-JlvRAu+8RA+Q6sU9GAL5UA9ckNvrFSiWFHPhKSF3v8w="
},
{
"pname": "Avalonia.Native",
"version": "11.3.6",
"hash": "sha256-uVFziTCL3J2DvrjNl7O3aIKCChsm4tO7INDh+3hrlJw="
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "11.3.6",
"hash": "sha256-Nxg+jt3Eit9amUZPPicmXy+5/2nqEu6rTLRk7ccH+qE="
},
{
"pname": "Avalonia.Skia",
"version": "11.3.6",
"hash": "sha256-PqoGzraRMb4SAl0FAeROcTmPXUm5SHn6KCCdexIBgLM="
},
{
"pname": "Avalonia.Themes.Simple",
"version": "11.3.6",
"hash": "sha256-omvYccZgdrkD5KnPKQlafz7lMFL46KMQrTJVxF9AV0E="
},
{
"pname": "Avalonia.Win32",
"version": "11.3.6",
"hash": "sha256-zlYoHQMyvirc73hEnpjZbhz5BUss/jAlq6Jwb+8Fucc="
},
{
"pname": "Avalonia.X11",
"version": "11.3.6",
"hash": "sha256-nXHgvgp2cOjwchgkN1E0N47JWyYEkYTZ69FyEtCATf8="
},
{
"pname": "Downloader",
"version": "3.3.4",
"hash": "sha256-QbbWlP3IzDzPWuZcQCfqpKQZMPSMETL/+6AXlhcjVc8="
},
{
"pname": "DryIoc.dll",
"version": "4.8.0",
"hash": "sha256-RcQour05/6Sk6m287U0xzeLtn3j8lYfi0vybR+0558c="
},
{
"pname": "FFMpegCore",
"version": "5.1.0",
"hash": "sha256-k6AOQjAAWiZI0g7wr32z+0kb48gfcQ1n2XhK4TL53xA="
},
{
"pname": "FreeSql",
"version": "3.5.212",
"hash": "sha256-VwgsUXriNR09s19t3WxHFEmU49BF3fppo9Jormq/3VA="
},
{
"pname": "FreeSql.DbContext",
"version": "3.5.212",
"hash": "sha256-pXfIFJoHcRZFaDnXSiCvr6j9oTNDCL81YL50Mf+fL6I="
},
{
"pname": "FreeSql.Provider.SqliteCore",
"version": "3.5.212",
"hash": "sha256-6MGO6qZgiOXyYLRKvDUwFBP2B/SeAdlZPx+pkAJ3hfo="
},
{
"pname": "Google.Protobuf",
"version": "3.25.1",
"hash": "sha256-UfP/iIcARptUcTVptj/5JQ9Jz9AG3aj+iKotsetOnH0="
},
{
"pname": "HarfBuzzSharp",
"version": "8.3.1.1",
"hash": "sha256-614yv6bK9ynhdUnvW4wIkgpBe2sqTh28U9cDZzdhPc0="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Linux",
"version": "8.3.1.1",
"hash": "sha256-sBbez6fc9axVcsBbIHbpQh/MM5NHlMJgSu6FyuZzVyU="
},
{
"pname": "HarfBuzzSharp.NativeAssets.macOS",
"version": "8.3.1.1",
"hash": "sha256-hK20KbX2OpewIO5qG5gWw5Ih6GoLcIDgFOqCJIjXR/Q="
},
{
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
"version": "8.3.1.1",
"hash": "sha256-mLKoLqI47ZHXqTMLwP1UCm7faDptUfQukNvdq6w/xxw="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Win32",
"version": "8.3.1.1",
"hash": "sha256-Um4iwLdz9XtaDSAsthNZdev6dMiy7OBoHOrorMrMYyo="
},
{
"pname": "Instances",
"version": "3.0.0",
"hash": "sha256-tqIbgABsgi8JgT5h+WkCehANUmCzK5/p0UZH5xjOy2Y="
},
{
"pname": "MicroCom.Runtime",
"version": "0.11.0",
"hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
},
{
"pname": "Microsoft.Data.Sqlite.Core",
"version": "9.0.5",
"hash": "sha256-LmIKIg6oTKjrLmbJgETn9vFmhVYFazUW2W7VfzPgQSM="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "8.0.0",
"hash": "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.1",
"hash": "sha256-lzTYLpRDAi3wW9uRrkTNJtMmaYdtGJJHdBLbUKu60PM="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "8.0.1",
"hash": "sha256-TYce3qvMr92JbAZ62ATBsocaH0joJzw0px0tYGZ9N0U="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "3.1.0",
"hash": "sha256-cnygditsEaU86bnYtIthNMymAHqaT/sf9Gjykhzqgb0="
},
{
"pname": "Microsoft.NETCore.Targets",
"version": "1.1.0",
"hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="
},
{
"pname": "Microsoft.Win32.SystemEvents",
"version": "4.7.0",
"hash": "sha256-GHxnD1Plb32GJWVWSv0Y51Kgtlb+cdKgOYVBYZSgVF4="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.3",
"hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
},
{
"pname": "Prism.Avalonia",
"version": "8.1.97.11073",
"hash": "sha256-iZTropXsrrgv4CjjFQRqjRbhBPeP21zEofiN81454wA="
},
{
"pname": "Prism.Core",
"version": "8.1.97",
"hash": "sha256-hAU7OpnhTZ6gKkict2BDlb3B0G1rnadDiTHoaCU9Nfc="
},
{
"pname": "Prism.DryIoc.Avalonia",
"version": "8.1.97.11073",
"hash": "sha256-4mEQe3H/bnf2eazOeeL+pfJbwnGTQd0LB8t5cgaOhHo="
},
{
"pname": "QRCoder",
"version": "1.6.0",
"hash": "sha256-2Ev/6d7PH6K4dVYQQHlZ+ZggkCnDtrlaGygs65mDo28="
},
{
"pname": "runtime.any.System.IO",
"version": "4.3.0",
"hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="
},
{
"pname": "runtime.any.System.Reflection",
"version": "4.3.0",
"hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="
},
{
"pname": "runtime.any.System.Reflection.Primitives",
"version": "4.3.0",
"hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="
},
{
"pname": "runtime.any.System.Runtime",
"version": "4.3.0",
"hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="
},
{
"pname": "runtime.any.System.Text.Encoding",
"version": "4.3.0",
"hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="
},
{
"pname": "runtime.any.System.Threading.Tasks",
"version": "4.3.0",
"hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="
},
{
"pname": "runtime.native.System",
"version": "4.3.0",
"hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="
},
{
"pname": "runtime.unix.System.Private.Uri",
"version": "4.3.0",
"hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="
},
{
"pname": "SkiaSharp",
"version": "2.88.9",
"hash": "sha256-jZ/4nVXYJtrz9SBf6sYc/s0FxS7ReIYM4kMkrhZS+24="
},
{
"pname": "SkiaSharp.NativeAssets.Linux",
"version": "2.88.9",
"hash": "sha256-mQ/oBaqRR71WfS66mJCvcc3uKW7CNEHoPN2JilDbw/A="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "2.88.9",
"hash": "sha256-qvGuAmjXGjGKMzOPBvP9VWRVOICSGb7aNVejU0lLe/g="
},
{
"pname": "SkiaSharp.NativeAssets.WebAssembly",
"version": "2.88.9",
"hash": "sha256-vgFL4Pdy3O1RKBp+T9N3W4nkH9yurZ0suo8u3gPmmhY="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "2.88.9",
"hash": "sha256-kP5XM5GgwHGfNJfe4T2yO5NIZtiF71Ddp0pd1vG5V/4="
},
{
"pname": "SQLitePCLRaw.bundle_e_sqlcipher",
"version": "2.1.11",
"hash": "sha256-wHveswfPGD1t70PcHOvB9o4devEiGRJfnA/f0GC9wHg="
},
{
"pname": "SQLitePCLRaw.core",
"version": "2.1.11",
"hash": "sha256-s/fxEoYlNf9c2C4HZueMzPCBvpiViDVlSpg7epB0GXY="
},
{
"pname": "SQLitePCLRaw.lib.e_sqlcipher",
"version": "2.1.11",
"hash": "sha256-Rh713RQnhLRLImYvhT3V3notKOnJjgFl8mcz2Bo1VpY="
},
{
"pname": "SQLitePCLRaw.provider.e_sqlcipher",
"version": "2.1.11",
"hash": "sha256-PpUqjhd17HGN2eKpod2OZ8Er8G4OtlThXWu4t2nE2FY="
},
{
"pname": "System.Collections.Immutable",
"version": "9.0.5",
"hash": "sha256-gkdeCPvmRWtUQqW3LOTGdmf2DzY0D9OKeW1jvd3EbSM="
},
{
"pname": "System.Configuration.ConfigurationManager",
"version": "4.7.0",
"hash": "sha256-rYjp/UmagI4ZULU1ocia/AiXxLNL8uhMV8LBF4QFW10="
},
{
"pname": "System.Drawing.Common",
"version": "4.7.0",
"hash": "sha256-D3qG+xAe78lZHvlco9gHK2TEAM370k09c6+SQi873Hk="
},
{
"pname": "System.Formats.Nrbf",
"version": "9.0.5",
"hash": "sha256-i8XH8fQWFFKhHJX6IEw5N/RDBNjONj7+gT80xE/zUvY="
},
{
"pname": "System.IO",
"version": "4.3.0",
"hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="
},
{
"pname": "System.IO.Pipelines",
"version": "8.0.0",
"hash": "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="
},
{
"pname": "System.Memory",
"version": "4.5.3",
"hash": "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="
},
{
"pname": "System.Private.Uri",
"version": "4.3.0",
"hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="
},
{
"pname": "System.Reflection",
"version": "4.3.0",
"hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="
},
{
"pname": "System.Reflection.Emit",
"version": "4.3.0",
"hash": "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="
},
{
"pname": "System.Reflection.Emit.ILGeneration",
"version": "4.3.0",
"hash": "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="
},
{
"pname": "System.Reflection.Emit.Lightweight",
"version": "4.3.0",
"hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="
},
{
"pname": "System.Reflection.Metadata",
"version": "9.0.5",
"hash": "sha256-HhI7ENFGiQXOQmc+BORqFzGtW/989pmm+W4exAWw/8Q="
},
{
"pname": "System.Reflection.Primitives",
"version": "4.3.0",
"hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="
},
{
"pname": "System.Runtime",
"version": "4.3.0",
"hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="
},
{
"pname": "System.Security.AccessControl",
"version": "4.7.0",
"hash": "sha256-/9ZCPIHLdhzq7OW4UKqTsR0O93jjHd6BRG1SRwgHE1g="
},
{
"pname": "System.Security.Cryptography.ProtectedData",
"version": "4.7.0",
"hash": "sha256-dZfs5q3Ij1W1eJCfYjxI2o+41aSiFpaAugpoECaCOug="
},
{
"pname": "System.Security.Permissions",
"version": "4.7.0",
"hash": "sha256-BGgXMLUi5rxVmmChjIhcXUxisJjvlNToXlyaIbUxw40="
},
{
"pname": "System.Security.Principal.Windows",
"version": "4.7.0",
"hash": "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg="
},
{
"pname": "System.Text.Encoding",
"version": "4.3.0",
"hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="
},
{
"pname": "System.Text.Encodings.Web",
"version": "7.0.0",
"hash": "sha256-tF8qt9GZh/nPy0mEnj6nKLG4Lldpoi/D8xM5lv2CoYQ="
},
{
"pname": "System.Text.Json",
"version": "7.0.2",
"hash": "sha256-bkfxuc3XPxtYcOJTGRMc/AkJiyIU+fTLK7PxtbuN3sQ="
},
{
"pname": "System.Threading.Tasks",
"version": "4.3.0",
"hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="
},
{
"pname": "System.Windows.Extensions",
"version": "4.7.0",
"hash": "sha256-yW+GvQranReaqPw5ZFv+mSjByQ5y1pRLl05JIEf3tYU="
},
{
"pname": "Tmds.DBus.Protocol",
"version": "0.21.2",
"hash": "sha256-gaK/5aAummyin6ptnhaJbnA0ih4+2xADrtrLfFbHwYI="
},
{
"pname": "Xaml.Behaviors",
"version": "11.3.0",
"hash": "sha256-n8s/zTSzovI9HYvTzBQHUi6e/zo//6thM2w73O9T+iY="
}
]
+141
View File
@@ -0,0 +1,141 @@
{
lib,
stdenv,
buildDotnetModule,
dotnetCorePackages,
fetchFromGitHub,
nix-update-script,
autoPatchelfHook,
copyDesktopItems,
makeDesktopItem,
icoutils,
aria2,
ffmpeg,
fontconfig,
freetype,
icu,
krb5,
openssl,
zlib,
lttng-ust_2_12,
libx11,
libxcursor,
libxext,
libxi,
libxrandr,
libice,
libsm,
}:
buildDotnetModule (finalAttrs: {
pname = "downkyicore";
version = "1.0.23";
src = fetchFromGitHub {
owner = "yaobiao131";
repo = "downkyicore";
tag = "v${finalAttrs.version}";
hash = "sha256-1APolFe2eq7aIZdg3Sl4DI/6lnvaAgX/GDcHx3M+o/I=";
};
projectFile = "DownKyi/DownKyi.csproj";
nugetDeps = ./deps.json;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
executables = [ "DownKyi" ];
nativeBuildInputs = [
copyDesktopItems
]
++ lib.optionals stdenv.hostPlatform.isLinux [
autoPatchelfHook
icoutils
];
buildInputs = [
aria2
ffmpeg
]
++ lib.optionals stdenv.hostPlatform.isLinux [
fontconfig
freetype
icu
krb5
openssl
zlib
lttng-ust_2_12
(lib.getLib stdenv.cc.cc)
];
runtimeDeps = lib.optionals stdenv.hostPlatform.isLinux [
libx11
libxcursor
libxext
libxi
libxrandr
libice
libsm
];
postPatch = ''
substituteInPlace DownKyi/DownKyi.csproj DownKyi.Core/DownKyi.Core.csproj \
--replace-fail net6.0 net8.0
'';
makeWrapperArgs = [
"--chdir"
"${placeholder "out"}/lib/downkyicore"
];
passthru.updateScript = nix-update-script { };
# Provide system ffmpeg/aria2 binaries and license texts where the app expects them.
postInstall = ''
mkdir -p $out/lib/downkyicore/{aria2,ffmpeg}
ln -s ${lib.getExe aria2} $out/lib/downkyicore/aria2/aria2c
ln -s ${lib.getExe' ffmpeg "ffmpeg"} $out/lib/downkyicore/ffmpeg/ffmpeg
ln -s ${lib.getExe' ffmpeg "ffprobe"} $out/lib/downkyicore/ffmpeg/ffprobe
printf 'See https://github.com/aria2/aria2/blob/master/COPYING for aria2 licensing information.\n' > $out/lib/downkyicore/aria2_COPYING.txt
printf 'See https://ffmpeg.org/legal.html for FFmpeg licensing information.\n' > $out/lib/downkyicore/FFmpeg_LICENSE.txt
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
icotool -x DownKyi/Resources/favicon.ico
install -Dm444 \
favicon_*_128x128x32.png \
$out/share/icons/hicolor/128x128/apps/downkyicore.png
'';
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
app="$out/Applications/DownKyi.app"
mkdir -p "$app/Contents/MacOS" "$app/Contents/Resources"
cp $src/script/macos/Info.plist "$app/Contents/Info.plist"
makeWrapper "$out/bin/DownKyi" "$app/Contents/MacOS/DownKyi"
cp $src/script/macos/logo.icns "$app/Contents/Resources/logo.icns"
'';
desktopItems = lib.optionals stdenv.hostPlatform.isLinux [
(makeDesktopItem {
name = "downkyicore";
desktopName = "DownKyi";
comment = "Cross-platform Bilibili downloader";
exec = "DownKyi";
icon = "downkyicore";
categories = [
"Network"
"AudioVideo"
];
})
];
meta = {
description = "Cross-platform Bilibili downloader built with Avalonia";
homepage = "https://github.com/yaobiao131/downkyicore";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ mio ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "DownKyi";
};
})