flowblade-2.24.2gentoo-zh
download
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
inherit desktop optfeature python-single-r1 xdg
DESCRIPTION="Multitrack non-linear video editor"
HOMEPAGE="https://github.com/jliljebl/flowblade https://jliljebl.github.io/flowblade/"
SRC_URI="https://github.com/jliljebl/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P}/flowblade-trunk"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
')
gnome-base/librsvg
media-libs/mlt[ffmpeg,frei0r,gtk,python,sdl,xml,${PYTHON_SINGLE_USEDEP}]
media-video/ffmpeg
x11-libs/gdk-pixbuf:2[introspection]
x11-libs/gtk+:3[introspection]
x11-libs/pango[introspection]
"
DOCS=(
AUTHORS
README
docs/DEPENDENCIES.md
docs/INSTALLING.md
docs/KNOWN_ISSUES.md
docs/RELEASE_NOTES.md
docs/SYSTEM_REQUIREMENTS.md
)
src_prepare() {
# USB jog/shuttle support is optional. Remove this compatibility patch after
# https://github.com/jliljebl/flowblade/pull/1233 lands in a release.
local usbhid
for usbhid in Flowblade/usbhid.py Flowblade/src/usb/usbhid.py; do
[[ -f ${usbhid} ]] || continue
grep -q '^import usb1$' "${usbhid}" || continue
case ${usbhid} in
Flowblade/usbhid.py)
eapply "${FILESDIR}/${PN}-optional-usb1-legacy-path.patch"
;;
Flowblade/src/usb/usbhid.py)
eapply "${FILESDIR}/${PN}-optional-usb1-src-path.patch"
;;
esac
done
eapply "${FILESDIR}/${P}-old-filter-object-compat.patch"
default
local shebang_paths=( flowblade )
[[ -d Flowblade/launch ]] && shebang_paths+=( Flowblade/launch )
[[ -d Flowblade/src/launch ]] && shebang_paths+=( Flowblade/src/launch )
python_fix_shebang "${shebang_paths[@]}"
}
src_install() {
dobin flowblade
insinto /usr/share/${PN}
doins -r Flowblade
domenu installdata/io.github.jliljebl.Flowblade.desktop
doicon -s 128 installdata/io.github.jliljebl.Flowblade.png
doman installdata/flowblade.1
insinto /usr/share/metainfo
doins installdata/io.github.jliljebl.Flowblade.appdata.xml
insinto /usr/share/mime/packages
doins installdata/io.github.jliljebl.Flowblade.xml
python_optimize "${ED}/usr/share/${PN}/Flowblade"
einstalldocs
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "USB jog/shuttle support" dev-python/libusb1
optfeature "extra LADSPA audio filters" media-plugins/swh-plugins
optfeature "additional MLT OpenGL effects" "media-libs/mlt[opengl]"
optfeature "Blender integration for generated media workflows" media-gfx/blender
}
pkg_postrm() {
xdg_pkg_postrm
}