nixpkgs/pkgs/by-name/bu/bustle/package.nix
2024-11-06 16:53:53 +08:00

77 lines
1.6 KiB
Nix

{
lib,
stdenv,
fetchFromGitLab,
buildPackages,
cargo,
meson,
ninja,
pkg-config,
desktop-file-utils,
rustPlatform,
rustc,
wrapGAppsHook4,
darwin,
gettext,
glib,
gtk4,
libadwaita,
libiconv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "bustle";
version = "0.10.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "bustle";
rev = finalAttrs.version;
hash = "sha256-5ZZiRD64OOMtTNxI0uvilGM22rsJv7vU3yPDY8ROrxU=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit (finalAttrs) pname version src;
hash = "sha256-tUSGldWeCLEHi35bDLMnfjnfofF2Qse5uBu2mDGJrsE=";
};
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
# Set the location to gettext to ensure the nixpkgs one on Darwin instead of the vendored one.
# The vendored gettext does not build with clang 16.
GETTEXT_BIN_DIR = "${lib.getBin buildPackages.gettext}/bin";
GETTEXT_INCLUDE_DIR = "${lib.getDev gettext}/include";
GETTEXT_LIB_DIR = "${lib.getLib gettext}/lib";
};
nativeBuildInputs = [
cargo
meson
ninja
pkg-config
desktop-file-utils
rustPlatform.cargoSetupHook
rustc
wrapGAppsHook4
glib
];
buildInputs = [
glib
gtk4
libadwaita
];
meta = {
description = "Graphical D-Bus message analyser and profiler";
homepage = "https://gitlab.gnome.org/World/bustle";
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [
jtojnar
aleksana
];
mainProgram = "bustle";
platforms = lib.platforms.all;
};
})