30 buildPythonPackage rec {
35 disabled = pythonOlder "3.5";
38 inherit pname version;
39 hash = "sha256-fEEvOfo8YWhx+xuiqD/KNstlso5/K1XJnGY64tkLIwE=";
43 # Explicitly track which URLs are used for GitLab
45 url = "https://github.com/breezy-team/breezy/commit/cc9fdf3774253183f726127c2ee191c24640d898.patch";
46 hash = "sha256-HTDAW3CPEZ1YBe0wnv6ncWEd0QRHwHawfTplbVDiOGc=";
50 cargoDeps = rustPlatform.importCargoLock {
51 lockFile = ./Cargo.lock;
55 ln -s ${./Cargo.lock} Cargo.lock
61 rustPlatform.cargoSetupHook
68 buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
70 propagatedBuildInputs = [
78 ] ++ passthru.optional-dependencies.launchpad
79 ++ passthru.optional-dependencies.fastimport
80 ++ passthru.optional-dependencies.github;
86 # multiple failures on sandbox
92 HOME=$TMPDIR $out/bin/brz --no-plugins selftest
98 wrapProgram $out/bin/brz --prefix PYTHONPATH : "$PYTHONPATH"
100 # symlink for bazaar compatibility
101 ln -s "$out/bin/brz" "$out/bin/bzr"
103 installShellCompletion --cmd brz --bash contrib/bash/brz
106 pythonImportsCheck = [
112 tests.version = testers.testVersion {
114 command = "HOME=$TMPDIR brz --version";
116 optional-dependencies = {
130 description = "Friendly distributed version control system";
131 homepage = "https://www.breezy-vcs.org/";
132 changelog = "https://github.com/breezy-team/breezy/blob/brz-${version}/doc/en/release-notes/brz-${versions.majorMinor version}.txt";
133 license = licenses.gpl2Only;
134 maintainers = [ maintainers.marsam ];