nixpkgs/pkgs/by-name/sy/syshud/package.nix

72 lines
1.6 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
gtk4-layer-shell,
gtkmm4,
nix-update-script,
pkg-config,
wireplumber,
wrapGAppsHook4,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "syshud";
version = "0-unstable-2024-07-29";
src = fetchFromGitHub {
owner = "System64fumo";
repo = "syshud";
rev = "f245db6bcd2278cfae6d296c152bfc526f1f7601";
hash = "sha256-XxyYLRPIWNsCJFTI7ZoIEvJ0gt2Ok9EgK2fhRf2VWZQ=";
};
postPatch = ''
substituteInPlace Makefile \
--replace-fail 'pkg-config' ''${PKG_CONFIG}
'';
nativeBuildInputs = [
pkg-config
wrapGAppsHook4
];
buildInputs = [
gtk4-layer-shell
gtkmm4
wireplumber
];
makeFlags = [
"DESTDIR=${placeholder "out"}"
];
# populate version info used by `syshud -v`:
configurePhase = ''
runHook preConfigure
echo '#define GIT_COMMIT_MESSAGE "${finalAttrs.src.rev}"' >> src/git_info.hpp
echo '#define GIT_COMMIT_DATE "${lib.removePrefix "0-unstable-" finalAttrs.version}"' >> src/git_info.hpp
runHook postConfigure
'';
# syshud manually `dlopen`'s its library component
postInstall = ''
wrapProgram $out/bin/syshud --prefix LD_LIBRARY_PATH : $out/lib
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--version" "branch" ];
};
meta = {
description = "simple heads up display written in gtkmm 4";
mainProgram = "syshud";
homepage = "https://github.com/System64fumo/syshud";
license = lib.licenses.wtfpl;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ colinsane ];
};
})