diff --git a/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix b/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix new file mode 100644 index 000000000000..67a719d01170 --- /dev/null +++ b/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchFromGitLab +, fetchurl +, meson +, ninja +, pkg-config +, vala +, gtk4 +, vte-gtk4 +, json-glib +, sassc +, libadwaita +, pcre2 +, libxml2 +, librsvg +, callPackage +, python3 +, gtk3 +, desktop-file-utils +, wrapGAppsHook +}: + +let + marble = callPackage ./marble.nix { }; +in +stdenv.mkDerivation rec { + pname = "blackbox"; + version = "0.12.0"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "raggesilver"; + repo = "blackbox"; + rev = "v${version}"; + sha256 = "sha256-8u4qHC8+3rKDFNdg5kI48dBgAm3d6ESXN5H9aT/nIBY="; + }; + + postPatch = '' + patchShebangs build-aux/meson/postinstall.py + ''; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + sassc + wrapGAppsHook + python3 + gtk3 # For gtk-update-icon-cache + desktop-file-utils # For update-desktop-database + ]; + buildInputs = [ + gtk4 + vte-gtk4 + json-glib + marble + libadwaita + pcre2 + libxml2 + librsvg + ]; + + meta = with lib; { + description = "Beautiful GTK 4 terminal"; + homepage = "https://gitlab.gnome.org/raggesilver/blackbox"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chuangzhu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/terminal-emulators/blackbox-terminal/marble.nix b/pkgs/applications/terminal-emulators/blackbox-terminal/marble.nix new file mode 100644 index 000000000000..6d100c0894e4 --- /dev/null +++ b/pkgs/applications/terminal-emulators/blackbox-terminal/marble.nix @@ -0,0 +1,45 @@ +{ lib +, stdenv +, fetchFromGitLab +, meson +, ninja +, pkg-config +, vala +, gobject-introspection +, gtk4 +, gtk3 +, desktop-file-utils +}: + +stdenv.mkDerivation { + pname = "marble"; + version = "unstable-2022-04-20"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "raggesilver"; + repo = "marble"; + # Latest commit from the 'wip/gtk4' branch + rev = "6dcc6fefa35f0151b0549c01bd774750fe6bdef8"; + sha256 = "sha256-0VJ9nyjWOOdLBm3ufleS/xcAS5YsSedJ2NtBjyM3uaY="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + gtk3 # For gtk-update-icon-cache + desktop-file-utils # For update-desktop-database + gobject-introspection # For g-ir-compiler + ]; + buildInputs = [ gtk4 ]; + + meta = with lib; { + description = "Raggesilver's GTK library"; + homepage = "https://gitlab.gnome.org/raggesilver/marble"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chuangzhu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5f1553367ae1..0e385912683b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1819,6 +1819,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) AppKit CoreGraphics CoreServices CoreText Foundation OpenGL; }; + blackbox-terminal = callPackage ../applications/terminal-emulators/blackbox-terminal { }; + contour = libsForQt5.callPackage ../applications/terminal-emulators/contour { fmt = fmt_8; }; cool-retro-term = libsForQt5.callPackage ../applications/terminal-emulators/cool-retro-term { };