# yt - A fully featured command line YouTube client
#
# Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of Yt.
#
# You should have received a copy of the License along with this program.
# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
  python3Packages,
  rustPlatform,
  fetchFromGitHub,
}:
python3Packages.buildPythonPackage rec {
  pname = "blake3";
  version = "0.4.1";

  src = fetchFromGitHub {
    owner = "oconnor663";
    repo = "blake3-py";
    rev = version;
    hash = "sha256-Ju40ea8IQMOPg9BiN47BMmr/WU8HptbqqzVI+jNGpA8=";
  };

  patches = [
    ./add_cargo_lock.patch
  ];

  cargoDeps = rustPlatform.fetchCargoTarball {
    inherit src patches;
    hash = "sha256-GwyGSdmJTgsHWfcS2n2FCFrlwRcuANM8/WteYTTyY6o=";
  };

  format = "pyproject";

  nativeBuildInputs = with rustPlatform; [cargoSetupHook maturinBuildHook];
}