Unverified Commit 9b7c0a85 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

git-sim: init at 0.3.5 (#347640)

parents 0c3b78b4 1a6c8d50
Loading
Loading
Loading
Loading
+84 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  installShellFiles,
  python3Packages,
}:
let
  inherit (python3Packages)
    buildPythonApplication
    gitpython
    manim
    opencv4
    typer
    pydantic
    fonttools
    git-dummy
    pytestCheckHook
    ;

  version = "0.3.5";
in

buildPythonApplication {
  pname = "git-sim";
  inherit version;
  pyproject = true;

  src = fetchFromGitHub {
    owner = "initialcommit-com";
    repo = "git-sim";
    rev = "v${version}";
    hash = "sha256-4jHkAlF2SAzHjBi8pmAJ0TKkcLxw+6EdGsXnHZUMILw=";
  };

  patches = [ ./tests.patch ];

  build-system = [ ];

  pythonRemoveDeps = [ "opencv-python-headless" ];

  dependencies = [
    gitpython
    manim
    opencv4
    typer
    pydantic
    fonttools
    git-dummy
  ];

  # https://github.com/NixOS/nixpkgs/commit/8033561015355dd3c3cf419d81ead31e534d2138
  makeWrapperArgs = [ "--prefix PYTHONWARNINGS , ignore:::pydub.utils:" ];

  nativeBuildInputs = [ installShellFiles ];

  postInstall =
    # https://github.com/NixOS/nixpkgs/issues/308283
    lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
      installShellCompletion --cmd git-sim \
        --bash <($out/bin/git-sim --show-completion bash) \
        --fish <($out/bin/git-sim --show-completion fish) \
        --zsh <($out/bin/git-sim --show-completion zsh)
    ''
    + "ln -s ${git-dummy}/bin/git-dummy $out/bin/";

  preCheck = ''
    PATH=$PATH:$out/bin
  '';

  nativeCheckInputs = [
    pytestCheckHook
    git-dummy
  ];

  doCheck = false;

  meta = {
    description = "Visually simulate Git operations in your own repos with a single terminal command";
    homepage = "https://initialcommit.com/tools/git-sim";
    license = lib.licenses.gpl2Only;
    maintainers = with lib.maintainers; [ mathiassven ];
  };
}
+33 −0
Original line number Diff line number Diff line
diff --git a/tests/e2e_tests/conftest.py b/tests/e2e_tests/conftest.py
index 310197a..9e82a1e 100644
--- a/tests/e2e_tests/conftest.py
+++ b/tests/e2e_tests/conftest.py
@@ -22,9 +22,7 @@ def tmp_repo(tmp_path_factory):
     # Create the sample repo for testing.
     os.chdir(tmp_repo_dir)
 
-    # When defining cmd, as_posix() is required for Windows compatibility.
-    git_dummy_path = utils.get_venv_path() / "git-dummy"
-    cmd = f"{git_dummy_path.as_posix()} --commits=10 --branches=4 --merge=1 --constant-sha --name=sample_repo --diverge-at=2"
+    cmd = "git-dummy --commits=10 --branches=4 --merge=1 --constant-sha --name=sample_repo --diverge-at=2"
     cmd_parts = split(cmd)
     subprocess.run(cmd_parts)
 
diff --git a/tests/e2e_tests/utils.py b/tests/e2e_tests/utils.py
index 8dfc623..41a4cf6 100644
--- a/tests/e2e_tests/utils.py
+++ b/tests/e2e_tests/utils.py
@@ -69,13 +69,6 @@ def get_cmd_parts(raw_command):
         f"git-sim -d --output-only-path --img-format=png --font='{font_path}'",
     )
 
-    # Replace `git-sim` with the full path to the binary.
-    #   as_posix() is needed for Windows compatibility.
-    # The space is included in "git-sim " to avoid replacing any occurrences
-    #   of git-sim in a font path.
-    git_sim_path = get_venv_path() / "git-sim"
-    cmd = cmd.replace("git-sim ", f"{git_sim_path.as_posix()} ")
-
     # Show full test command when run in diagnostic mode.
     print(f"  Test command: {cmd}")
 
+50 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  buildPythonPackage,
  fetchFromGitHub,
  installShellFiles,
  setuptools,
  gitpython,
  typer,
  pydantic-settings,
}:

buildPythonPackage rec {
  pname = "git-dummy";
  version = "0.1.2";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "initialcommit-com";
    repo = "git-dummy";
    rev = "v${version}";
    hash = "sha256-viybxn2J7SO7NgSvjwlP+tgtm+H6QrACafIy82d9XEk=";
  };

  build-system = [ setuptools ];

  dependencies = [
    gitpython
    typer
    pydantic-settings
  ];

  nativeBuildInputs = [ installShellFiles ];

  postInstall =
    # https://github.com/NixOS/nixpkgs/issues/308283
    lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
      installShellCompletion --cmd git-dummy \
        --bash <($out/bin/git-dummy --show-completion bash) \
        --fish <($out/bin/git-dummy --show-completion fish) \
        --zsh <($out/bin/git-dummy --show-completion zsh)
    '';

  meta = {
    homepage = "https://github.com/initialcommit-com/git-dummy";
    description = "Generate dummy Git repositories populated with the desired number of commits, branches, and structure";
    license = lib.licenses.gpl2Only;
    maintainers = with lib.maintainers; [ mathiassven ];
  };
}
+3 −0
Original line number Diff line number Diff line
@@ -203,6 +203,9 @@ buildPythonPackage rec {
  postPatch = ''
    substituteInPlace pyproject.toml \
      --replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" ""

    substituteInPlace manim/_config/default.cfg \
      --replace "ffmpeg_executable = ffmpeg" "ffmpeg_executable = ${lib.getExe ffmpeg}"
  '';

  buildInputs = [ cairo ];
+2 −0
Original line number Diff line number Diff line
@@ -5119,6 +5119,8 @@ self: super: with self; {
  git-url-parse = callPackage ../development/python-modules/git-url-parse { };
  git-dummy = callPackage ../development/python-modules/git-dummy { };
  gitdb = callPackage ../development/python-modules/gitdb { };
  githubkit = callPackage ../development/python-modules/githubkit { };