Unverified Commit 677cef67 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

downkyicore: init at 1.0.23 (#483252)

parents 8deecc1e 358f36a5
Loading
Loading
Loading
Loading
+422 −0
Original line number Diff line number Diff line
[
  {
    "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
+141 −0
Original line number Diff line number Diff line
{
  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";
  };
})