Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / diebahn / default.nix
blobea740346421875327e5cdff8e35034ff5d36d9a5
1 { lib
2 , stdenv
3 , fetchFromGitLab
4 , cargo
5 , desktop-file-utils
6 , meson
7 , ninja
8 , pkg-config
9 , rustPlatform
10 , rustc
11 , wrapGAppsHook4
12 , cairo
13 , gdk-pixbuf
14 , glib
15 , gtk4
16 , libadwaita
17 , pango
18 , gettext
19 , darwin
22 stdenv.mkDerivation rec {
23   pname = "diebahn";
24   version = "1.5.0";
26   src = fetchFromGitLab {
27     owner = "schmiddi-on-mobile";
28     repo = "diebahn";
29     rev = version;
30     hash = "sha256-WEjMtRXRmcbgCIQNJRlGYGQhem9W8nb/lsjft0oWxAk=";
31   };
33   cargoDeps = rustPlatform.importCargoLock {
34     lockFile = ./Cargo.lock;
35     outputHashes = {
36       "hafas-rs-0.1.0" = "sha256-9YmWiief8Nux1ZkPTZjzer/qKAa5hORVn8HngMtKDxM=";
37     };
38   };
40   nativeBuildInputs = [
41     cargo
42     desktop-file-utils
43     meson
44     ninja
45     pkg-config
46     rustPlatform.cargoSetupHook
47     rustc
48     wrapGAppsHook4
49   ];
51   buildInputs = [
52     cairo
53     gdk-pixbuf
54     glib
55     gtk4
56     libadwaita
57     pango
58   ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
59     CoreFoundation
60     Foundation
61     Security
62   ]);
64   # Darwin needs to link against gettext from nixpkgs instead of the one vendored by gettext-sys
65   # because the vendored copy does not build with newer versions of clang.
66   env = lib.optionalAttrs stdenv.isDarwin {
67     GETTEXT_BIN_DIR = "${lib.getBin gettext}/bin";
68     GETTEXT_INCLUDE_DIR = "${lib.getDev gettext}/include";
69     GETTEXT_LIB_DIR = "${lib.getLib gettext}/lib";
70   };
72   meta = {
73     description = "GTK4 frontend for the travel information of the german railway";
74     homepage = "https://gitlab.com/schmiddi-on-mobile/diebahn";
75     license = lib.licenses.gpl3Plus;
76     maintainers = with lib.maintainers; [ dotlambda ];
77   };