From a41b6d921338a45d9bff9e5d6d37847b6999ec41 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Wed, 12 Feb 2025 13:34:52 +0100 Subject: [PATCH] git-buildpackage: init at 0.9.37 --- pkgs/by-name/gi/git-buildpackage/package.nix | 89 ++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 pkgs/by-name/gi/git-buildpackage/package.nix diff --git a/pkgs/by-name/gi/git-buildpackage/package.nix b/pkgs/by-name/gi/git-buildpackage/package.nix new file mode 100644 index 000000000000..3c17e4c280e7 --- /dev/null +++ b/pkgs/by-name/gi/git-buildpackage/package.nix @@ -0,0 +1,89 @@ +{ + lib, + + coreutils, + fetchFromGitHub, + python3Packages, + stdenv, + + # nativeCheckInputs + debian-devscripts, + dpkg, + gitMinimal, + gitSetupHook, + man, +}: + +python3Packages.buildPythonApplication rec { + pname = "git-buildpackage"; + version = "0.9.37"; + pyproject = true; + + src = fetchFromGitHub { + owner = "agx"; + repo = "git-buildpackage"; + tag = "debian/${version}"; + hash = "sha256-0gfryd1GrVfL11u/IrtLSJAABRsTpFfPOGxWfVdYtgE="; + fetchSubmodules = true; + }; + + postPatch = '' + substituteInPlace gbp/command_wrappers.py \ + --replace-fail "/bin/true" "${lib.getExe' coreutils "true"}" \ + --replace-fail "/bin/false" "${lib.getExe' coreutils "false"}" + ''; + + build-system = [ + python3Packages.setuptools + ]; + + dependencies = with python3Packages; [ + python-dateutil + ]; + + pythonImportsCheck = [ + "gbp" + ]; + + nativeCheckInputs = + [ + debian-devscripts + dpkg + gitMinimal + gitSetupHook + man + ] + ++ (with python3Packages; [ + coverage + pytest-cov + pytestCheckHook + pyyaml + rpm + ]); + + disabledTests = + [ + # gbp.command_wrappers.CommandExecFailed: + # Couldn't commit to 'pristine-tar' with upstream 'upstream': + # execution failed: [Errno 2] No such file or directory: 'pristine-tar' + "tests.doctests.test_PristineTar.test_pristine_tar" + + # When gitMinimal is used instead of git: + # UNEXPECTED EXCEPTION: GitRepositoryError("Invalid git command 'branch': No manual entry for git-branch") + "tests.doctests.test_GitRepository.test_repo" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # gbp.git.repository.GitRepositoryError: + # Cannot create Git repository at '/does/not/exist': + # [Errno 30] Read-only file system: '/does' + "tests.doctests.test_GitRepository.test_create_noperm" + ]; + + meta = { + description = "Suite to help with maintaining Debian packages in Git repositories"; + homepage = "https://honk.sigxcpu.org/piki/projects/git-buildpackage/"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ nim65s ]; + mainProgram = "git-buildpackage"; + }; +}