From 358f36a564f597bed5bcd57bb1c647905124dfac Mon Sep 17 00:00:00 2001 From: Mio Date: Sat, 24 Jan 2026 13:54:39 +1100 Subject: [PATCH] downkyicore: init at 1.0.23 --- pkgs/by-name/do/downkyicore/deps.json | 422 ++++++++++++++++++++++++ pkgs/by-name/do/downkyicore/package.nix | 141 ++++++++ 2 files changed, 563 insertions(+) create mode 100644 pkgs/by-name/do/downkyicore/deps.json create mode 100644 pkgs/by-name/do/downkyicore/package.nix diff --git a/pkgs/by-name/do/downkyicore/deps.json b/pkgs/by-name/do/downkyicore/deps.json new file mode 100644 index 000000000000..a265fec199b1 --- /dev/null +++ b/pkgs/by-name/do/downkyicore/deps.json @@ -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=" + } +] \ No newline at end of file diff --git a/pkgs/by-name/do/downkyicore/package.nix b/pkgs/by-name/do/downkyicore/package.nix new file mode 100644 index 000000000000..dbecfc742178 --- /dev/null +++ b/pkgs/by-name/do/downkyicore/package.nix @@ -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"; + }; +})