ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / di / diebahn / package.nix
blob22cc9374df3b643324f86b992bdb7b7e418555b7
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
20 , blueprint-compiler
23 stdenv.mkDerivation rec {
24   pname = "diebahn";
25   version = "2.7.1";
27   src = fetchFromGitLab {
28     owner = "schmiddi-on-mobile";
29     repo = "railway";
30     rev = version;
31     hash = "sha256-SLZJiCkHUS2p7cNk3i3yO2c3tWR4T4ch+zJ1iYEkS6E=";
32   };
34   cargoDeps = rustPlatform.fetchCargoTarball {
35     name = "${pname}-${src}";
36     inherit src;
37     hash = "sha256-XYlRm8yqQr9ZNV7jQeuR8kvqFNudUjJlzE6h9X0zq0Y=";
38   };
40   nativeBuildInputs = [
41     cargo
42     desktop-file-utils
43     meson
44     ninja
45     pkg-config
46     rustPlatform.cargoSetupHook
47     rustc
48     wrapGAppsHook4
49     blueprint-compiler
50   ];
52   buildInputs = [
53     cairo
54     gdk-pixbuf
55     glib
56     gtk4
57     libadwaita
58     pango
59   ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
60     CoreFoundation
61     Foundation
62     Security
63   ]);
65   # Darwin needs to link against gettext from nixpkgs instead of the one vendored by gettext-sys
66   # because the vendored copy does not build with newer versions of clang.
67   env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
68     GETTEXT_BIN_DIR = "${lib.getBin gettext}/bin";
69     GETTEXT_INCLUDE_DIR = "${lib.getDev gettext}/include";
70     GETTEXT_LIB_DIR = "${lib.getLib gettext}/lib";
71   };
73   meta = {
74     changelog = "https://gitlab.com/schmiddi-on-mobile/railway/-/blob/${src.rev}/CHANGELOG.md";
75     description = "Travel with all your train information in one place. Also known as Railway";
76     homepage = "https://gitlab.com/schmiddi-on-mobile/railway";
77     license = lib.licenses.gpl3Plus;
78     mainProgram = "diebahn";
79     maintainers = with lib.maintainers; [ dotlambda lilacious ];
80   };