# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake flag-o-matic xdg DESCRIPTION="A free, open source, cross-platform video editor" HOMEPAGE="https://www.shotcut.org/ https://github.com/mltframework/shotcut/" # Upstream tags the beta channel exactly like the stable one -- "vYY.M.D", no # marker of any kind; the two are told apart only by the GitHub "prerelease" # flag. The _beta suffix is this overlay's, and it is what makes the two # channels distinguishable to .autoupdate (series '_beta$' vs '^[0-9.]+$'); # without it the applier cannot tell which ebuild belongs to which record and # collapses the pair. MY_PV restores the real tag for SRC_URI, S and, above # all, SHOTCUT_VERSION -- the version the built application reports. MY_PV="${PV%_beta}" if [[ ${PV} != 9999* ]] ; then SRC_URI="https://github.com/mltframework/${PN}/archive/v${MY_PV}.tar.gz -> ${PN}-${MY_PV}.tar.gz" S="${WORKDIR}/${PN}-${MY_PV}" KEYWORDS="~amd64" else inherit git-r3 EGIT_REPO_URI="https://github.com/mltframework/shotcut/" fi LICENSE="GPL-3+" SLOT="0" # BENTOO-DIVERGENCE: IUSE - vulkan, an upstream cmake option (-DUSE_VULKAN) # that series 26 exposes and the 25.08 in ::gentoo does not. IUSE="debug vulkan" # BENTOO-DIVERGENCE: BDEPEND - virtual/pkgconfig, needed by the series 26 build. BDEPEND=" dev-qt/qttools:6[linguist] virtual/pkgconfig " # BENTOO-DIVERGENCE: DEPEND - qtwebsockets, fftw and libX11 are series 26 # requirements; ::gentoo is still on 25.08, whose dep set predates them. They # are unconditional upstream and unrelated to USE=vulkan. # BENTOO-DIVERGENCE: RDEPEND - same set, RDEPEND is DEPEND plus virtual/jack. DEPEND=" dev-qt/qtbase:6[concurrent,dbus,gui,network,opengl,sql,vulkan,widgets,xml] dev-qt/qtdeclarative:6[widgets] dev-qt/qtmultimedia:6 dev-qt/qtcharts:6 dev-qt/qtwebsockets:6 >=media-libs/mlt-7.36.0[ffmpeg,frei0r,jack,opengl,sdl,xml] media-video/ffmpeg sci-libs/fftw:3.0= x11-libs/libX11 vulkan? ( media-libs/vulkan-loader ) " RDEPEND="${DEPEND} virtual/jack " src_configure() { CMAKE_BUILD_TYPE=$(usex debug Debug Release) if [[ ${PV} != 9999* ]] ; then SHOTCUT_VERSION="${MY_PV}" else SHOTCUT_VERSION="$(git log --date=format:'%y.%m.%d' -1 --format='%ad')" fi local mycmakeargs=( -DSHOTCUT_VERSION="${SHOTCUT_VERSION}" -DCLANG_FORMAT=OFF -DUSE_VULKAN=$(usex vulkan) ) use debug || append-cxxflags "-DNDEBUG" append-cxxflags "-DSHOTCUT_NOUPGRADE" cmake_src_configure }