vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / applications / misc / tuba / default.nix
blob9eeac726a83fcaba9e23934fab169c5c831e33f3
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , vala
5 , meson
6 , ninja
7 , python3
8 , pkg-config
9 , wrapGAppsHook4
10 , desktop-file-utils
11 , gtk4
12 , libadwaita
13 , json-glib
14 , glib
15 , glib-networking
16 , gnome
17 , gobject-introspection
18 , gtksourceview5
19 , libxml2
20 , libgee
21 , librsvg
22 , libsoup_3
23 , libsecret
24 , libwebp
25 , libspelling
26 , webp-pixbuf-loader
27 , icu
28 , gst_all_1
29 , clapper
30 # clapper support is still experimental and has bugs.
31 # See https://github.com/GeopJr/Tuba/pull/931
32 , clapperSupport? false
33 , nix-update-script
36 stdenv.mkDerivation rec {
37   pname = "tuba";
38   version = "0.8.4";
40   src = fetchFromGitHub {
41     owner = "GeopJr";
42     repo = "Tuba";
43     rev = "v${version}";
44     hash = "sha256-PRzLTlq8XfI5dYZhJ8YBtYi4H3883S2olp9jrn1Q5CQ=";
45   };
47   nativeBuildInputs = [
48     meson
49     ninja
50     pkg-config
51     vala
52     python3
53     wrapGAppsHook4
54     desktop-file-utils
55     gobject-introspection
56   ];
58   buildInputs = [
59     glib
60     glib-networking
61     gtksourceview5
62     json-glib
63     libxml2
64     libgee
65     libsoup_3
66     gtk4
67     libadwaita
68     libsecret
69     libwebp
70     libspelling
71     icu
72   ] ++ (with gst_all_1; [
73     gstreamer
74     gst-libav
75     gst-plugins-base
76     (gst-plugins-good.override { gtkSupport = true; })
77     gst-plugins-bad
78   ]) ++ lib.optionals clapperSupport [
79     clapper
80   ];
82   mesonFlags = [
83     (lib.mesonBool "clapper" clapperSupport)
84   ];
86   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=int-conversion";
88   passthru = {
89     updateScript = nix-update-script { };
90   };
92   # Pull in WebP support for avatars from Misskey instances.
93   # In postInstall to run before gappsWrapperArgsHook.
94   postInstall = ''
95     export GDK_PIXBUF_MODULE_FILE="${gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
96       extraLoaders = [
97         librsvg
98         webp-pixbuf-loader
99       ];
100     }}"
101   '';
103   meta = {
104     description = "Browse the Fediverse";
105     homepage = "https://tuba.geopjr.dev/";
106     mainProgram = "dev.geopjr.Tuba";
107     license = lib.licenses.gpl3Only;
108     changelog = "https://github.com/GeopJr/Tuba/releases/tag/v${version}";
109     maintainers = with lib.maintainers; [ chuangzhu aleksana donovanglover ];
110   };