Files

86 lines
1.6 KiB
Nix

{
lib,
python3Packages,
fetchFromGitLab,
meson,
ninja,
pkg-config,
blueprint-compiler,
gobject-introspection,
wrapGAppsHook4,
desktop-file-utils,
libadwaita,
libglycin,
libglycin-gtk4,
libva-utils,
ffmpeg,
gst-thumbnailers,
glycin-loaders,
nix-update-script,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "constrict";
version = "26.2";
pyproject = false; # Built with meson
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "Constrict";
tag = finalAttrs.version;
hash = "sha256-SkfutiBi0Y7gNx5PyTaSzVw/5rU/0ULxbtf2606i2wA=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
blueprint-compiler
gobject-introspection
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
libglycin
libglycin-gtk4
glycin-loaders
];
dependencies = [
python3Packages.pygobject3
];
# Search for use of subprocess
runtimeDeps = [
libva-utils
ffmpeg
gst-thumbnailers
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=(
''${gappsWrapperArgs[@]}
--prefix PATH : ${lib.makeBinPath finalAttrs.runtimeDeps}
)
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Compresses your videos to your chosen file size";
homepage = "https://gitlab.gnome.org/World/Constrict";
changelog = "https://gitlab.gnome.org/World/Constrict/-/releases/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Plus;
mainProgram = "constrict";
teams = [ lib.teams.gnome-circle ];
platforms = lib.platforms.linux;
};
})