python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / gi / gitui / package.nix
blobdf3adcb0e39f64494e0b1263bdce21f49230fd08
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , libiconv
6 , openssl
7 , pkg-config
8 , xclip
9 , darwin
12 rustPlatform.buildRustPackage rec {
13   pname = "gitui";
14   version = "0.26.3";
16   src = fetchFromGitHub {
17     owner = "extrawurst";
18     repo = "gitui";
19     rev = "v${version}";
20     hash = "sha256-j3y+KjC+o9p2omf4bN8+XevwU7WqiaQ0sfPqHySD2ik=";
21   };
23   cargoHash = "sha256-vVEo0kSghOQsH3T6ZTAzN7gIUku0n7rDbKwNmOM9GZc=";
25   nativeBuildInputs = [ pkg-config ];
27   buildInputs = [ openssl ]
28     ++ lib.optional stdenv.hostPlatform.isLinux xclip
29     ++ lib.optionals stdenv.hostPlatform.isDarwin [
30          libiconv
31          darwin.apple_sdk.frameworks.Security
32          darwin.apple_sdk.frameworks.AppKit
33        ];
35   postPatch = ''
36     # The cargo config overrides linkers for some targets, breaking the build
37     # on e.g. `aarch64-linux`. These overrides are not required in the Nix
38     # environment: delete them.
39     rm .cargo/config.toml
41     # build script tries to get version information from git
42     rm build.rs
43     substituteInPlace Cargo.toml --replace-fail 'build = "build.rs"' ""
44   '';
46   GITUI_BUILD_NAME = version;
47   # Needed to get openssl-sys to use pkg-config.
48   OPENSSL_NO_VENDOR = 1;
50   # Getting app_config_path fails with a permission denied
51   checkFlags = [
52     "--skip=keys::key_config::tests::test_symbolic_links"
53   ];
55   meta = {
56     description = "Blazing fast terminal-ui for Git written in Rust";
57     homepage = "https://github.com/extrawurst/gitui";
58     changelog = "https://github.com/extrawurst/gitui/blob/v${version}/CHANGELOG.md";
59     mainProgram = "gitui";
60     license = lib.licenses.mit;
61     maintainers = with lib.maintainers; [ Br1ght0ne yanganto mfrw ];
62   };