mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-16 17:14:00 +00:00
git-sim: init at 0.3.5
This commit is contained in:
parent
226f9c8f73
commit
1a6c8d507c
84
pkgs/by-name/gi/git-sim/package.nix
Normal file
84
pkgs/by-name/gi/git-sim/package.nix
Normal file
@ -0,0 +1,84 @@
|
||||
{
|
||||
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
pkgs/by-name/gi/git-sim/tests.patch
Normal file
33
pkgs/by-name/gi/git-sim/tests.patch
Normal file
@ -0,0 +1,33 @@
|
||||
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}")
|
||||
|
@ -205,6 +205,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 ];
|
||||
|
Loading…
Reference in New Issue
Block a user