biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / games / ajour / default.nix
blob5ed670a77de6fecbbb595c07de8efb45a5d8b7f1
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , rustPlatform
5 , autoPatchelfHook
6 , cmake
7 , makeWrapper
8 , pkg-config
9 , python3
10 , expat
11 , freetype
12 , kdialog
13 , zenity
14 , openssl
15 , libglvnd
16 , libX11
17 , libxcb
18 , libXcursor
19 , libXi
20 , libxkbcommon
21 , libXrandr
22 , vulkan-loader
23 , wayland
26 let
27   rpathLibs = [
28     libglvnd
29     libXcursor
30     libXi
31     libxkbcommon
32     libXrandr
33     libX11
34     vulkan-loader
35     wayland
36   ];
38 in rustPlatform.buildRustPackage rec {
39   pname = "ajour";
40   version = "1.3.2";
42   src = fetchFromGitHub {
43     owner = "casperstorm";
44     repo = "ajour";
45     rev = version;
46     sha256 = "sha256-oVaNLclU0EVNtxAASE8plXcC+clkwhBeb9pz1vXufV0=";
47   };
49   cargoLock = {
50     lockFile = ./Cargo.lock;
51     outputHashes = {
52       "iced-0.3.0" = "sha256-cPQ0qqcdCMx2agSpAKSvVDBEoF/vUffGg1UkX85KmfY=";
53     };
54   };
56   nativeBuildInputs = [
57     autoPatchelfHook
58     cmake
59     makeWrapper
60     pkg-config
61     python3
62   ];
64   buildInputs = [
65     expat
66     freetype
67     openssl
68     libxcb
69     libX11
70     libxkbcommon
71   ];
73   postInstall = ''
74     mkdir -p $out/share
75     cp -r resources/logo $out/share/icons
76     install -Dm444 resources/linux/ajour.desktop -t $out/share/applications
77   '';
79   fixupPhase = ''
80     patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}:$(patchelf --print-rpath $out/bin/ajour)" $out/bin/ajour
81     wrapProgram $out/bin/ajour --prefix PATH ":" ${lib.makeBinPath [ zenity kdialog ]}
82   '';
84   meta = with lib; {
85     description = "World of Warcraft addon manager written in Rust";
86     mainProgram = "ajour";
87     longDescription = ''
88       Ajour is a World of Warcraft addon manager written in Rust with a
89       strong focus on performance and simplicity. The project is
90       completely advertisement free, privacy respecting and open source.
91     '';
92     homepage = "https://github.com/casperstorm/ajour";
93     changelog = "https://github.com/casperstorm/ajour/blob/master/CHANGELOG.md";
94     license = licenses.mit;
95     broken = stdenv.hostPlatform.isDarwin;
96     maintainers = with maintainers; [ hexa ];
97   };