biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / terminal-emulators / blackbox-terminal / default.nix
blob5b8e0078d75cff21c457ae393f98a8114add991c
1 { lib
2 , stdenv
3 , fetchFromGitLab
4 , fetchpatch
5 , meson
6 , ninja
7 , pkg-config
8 , vala
9 , gtk4
10 , vte-gtk4
11 , json-glib
12 , sassc
13 , libadwaita
14 , pcre2
15 , libsixel
16 , libxml2
17 , librsvg
18 , libgee
19 , callPackage
20 , python3
21 , desktop-file-utils
22 , wrapGAppsHook4
23 , sixelSupport ? false
26 let
27   marble = callPackage ./marble.nix { };
29 stdenv.mkDerivation rec {
30   pname = "blackbox";
31   version = "0.14.0";
33   src = fetchFromGitLab {
34     domain = "gitlab.gnome.org";
35     owner = "raggesilver";
36     repo = "blackbox";
37     rev = "v${version}";
38     hash = "sha256-ebwh9WTooJuvYFIygDBn9lYC7+lx9P1HskvKU8EX9jw=";
39   };
41   patches = [
42     # Fix closing confirmation dialogs not showing
43     (fetchpatch {
44       url = "https://gitlab.gnome.org/raggesilver/blackbox/-/commit/3978c9b666d27adba835dd47cf55e21515b6d6d9.patch";
45       hash = "sha256-L/Ci4YqYNzb3F49bUwEWSjzr03MIPK9A5FEJCCct+7A=";
46     })
47   ];
49   postPatch = ''
50     substituteInPlace build-aux/meson/postinstall.py \
51       --replace-fail 'gtk-update-icon-cache' 'gtk4-update-icon-cache'
52     patchShebangs build-aux/meson/postinstall.py
53   '';
55   nativeBuildInputs = [
56     meson
57     ninja
58     pkg-config
59     vala
60     sassc
61     wrapGAppsHook4
62     python3
63     desktop-file-utils # For update-desktop-database
64   ];
65   buildInputs = [
66     gtk4
67     (vte-gtk4.overrideAttrs (old: {
68       src = fetchFromGitLab {
69         domain = "gitlab.gnome.org";
70         owner = "GNOME";
71         repo = "vte";
72         rev = "3c8f66be867aca6656e4109ce880b6ea7431b895";
73         hash = "sha256-vz9ircmPy2Q4fxNnjurkgJtuTSS49rBq/m61p1B43eU=";
74       };
75     } // lib.optionalAttrs sixelSupport {
76       buildInputs = old.buildInputs ++ [ libsixel ];
77       mesonFlags = old.mesonFlags ++ [ "-Dsixel=true" ];
78     }))
79     json-glib
80     marble
81     libadwaita
82     pcre2
83     libxml2
84     librsvg
85     libgee
86   ];
88   mesonFlags = [ "-Dblackbox_is_flatpak=false" ];
90   meta = with lib; {
91     description = "Beautiful GTK 4 terminal";
92     mainProgram = "blackbox";
93     homepage = "https://gitlab.gnome.org/raggesilver/blackbox";
94     changelog = "https://gitlab.gnome.org/raggesilver/blackbox/-/raw/v${version}/CHANGELOG.md";
95     license = licenses.gpl3Plus;
96     maintainers = with maintainers; [ chuangzhu linsui ];
97     platforms = platforms.linux;
98   };