diff --git a/kde-apps/kdenlive/kdenlive24-24.12.1.recipe b/kde-apps/kdenlive/kdenlive24-24.12.1.recipe new file mode 100644 index 000000000..1b7fbaa56 --- /dev/null +++ b/kde-apps/kdenlive/kdenlive24-24.12.1.recipe @@ -0,0 +1,182 @@ +SUMMARY="Free and open source video editor" +DESCRIPTION="Through the MLT framework, Kdenlive integrates many plugin effects for video and \ +sound processing or creation. Furthermore Kdenlive brings a powerful titling tool, a DVD \ +authoring (menus) solution, and can then be used as a complete studio for video creation. \ +Video effects are provided by freior while audio effects use ladspa." +HOMEPAGE="https://invent.kde.org/multimedia/kdenlive" +COPYRIGHT="2010-2024 KDE Organisation" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kdenlive-$portVersion.tar.xz" +CHECKSUM_SHA256="6d1345462a1ad9a725dbf9ab42b8b340eeafc8437d9c0f52ac5ebacfdfd9b8b2" +SOURCE_DIR="kdenlive-$portVersion" +PATCHES="kdenlive24-$portVersion.patchset" +ADDITIONAL_FILES="kdenlive.rdef.in" + +ARCHITECTURES="?all !x86_gcc2" +SECONDARY_ARCHITECTURES="?x86" + +PROVIDES=" + kdenlive24$secondaryArchSuffix = $portVersion + cmd:kdenlive$secondaryArchSuffix = $portVersion + cmd:kdenlive_render$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + frei0r$secondaryArchSuffix + cmd:mediainfo + lib:libmlt++_7$secondaryArchSuffix + # KF6 + lib:libGL$secondaryArchSuffix + lib:libopenal$secondaryArchSuffix + lib:libKF6Archive$secondaryArchSuffix + lib:libKF6Attica$secondaryArchSuffix + lib:libKF6AuthCore$secondaryArchSuffix + lib:libKF6Bookmarks$secondaryArchSuffix + lib:libKF6Codecs$secondaryArchSuffix + lib:libKF6ColorScheme$secondaryArchSuffix + lib:libKF6Completion$secondaryArchSuffix + lib:libKF6ConfigCore$secondaryArchSuffix + lib:libKF6ConfigGui$secondaryArchSuffix + lib:libKF6ConfigWidgets$secondaryArchSuffix + lib:libKF6CoreAddons$secondaryArchSuffix + lib:libKF6Crash$secondaryArchSuffix +# lib:libKF6DbusAddons$secondaryArchSuffix + lib:libKF6FileMetaData$secondaryArchSuffix + lib:libKF6GuiAddons$secondaryArchSuffix + lib:libKF6I18n$secondaryArchSuffix + lib:libKF6IconThemes$secondaryArchSuffix + lib:libKF6ItemViews$secondaryArchSuffix + lib:libKF6KIOCore$secondaryArchSuffix + lib:libKF6KIOFileWidgets$secondaryArchSuffix + lib:libKF6KIOGui$secondaryArchSuffix + lib:libKF6KIOWidgets$secondaryArchSuffix + lib:libKF6JobWidgets$secondaryArchSuffix + lib:libKF6NewStuffCore$secondaryArchSuffix + lib:libKF6NewStuffWidgets$secondaryArchSuffix + lib:libKF6Notifications$secondaryArchSuffix + lib:libKF6NotifyConfig$secondaryArchSuffix + lib:libKF6Package$secondaryArchSuffix + lib:libKF6Purpose$secondaryArchSuffix + lib:libKF6PurposeWidgets$secondaryArchSuffix + lib:libKF6Service$secondaryArchSuffix + lib:libKF6Solid$secondaryArchSuffix + lib:libKF6SonnetUi$secondaryArchSuffix + lib:libKF6TextWidgets$secondaryArchSuffix + lib:libKF6WidgetsAddons$secondaryArchSuffix + lib:libKF6WindowSystem$secondaryArchSuffix + lib:libKF6XmlGui$secondaryArchSuffix + # Qt6 + lib:libQt6Core$secondaryArchSuffix + lib:libQt6DBus$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Multimedia$secondaryArchSuffix + lib:libQt6NetworkAuth$secondaryArchSuffix + lib:libQt6Qml$secondaryArchSuffix + lib:libQt6Quick$secondaryArchSuffix + lib:libQt6Svg$secondaryArchSuffix + lib:libQt6Widgets$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libavformat$secondaryArchSuffix >= 60 + devel:frei0r$secondaryArchSuffix + devel:libgdk_pixbuf_2.0$secondaryArchSuffix + devel:libmediainfo$secondaryArchSuffix + devel:libmlt++_7$secondaryArchSuffix + # KF6 + extra_cmake_modules$secondaryArchSuffix + devel:libKF6Archive$secondaryArchSuffix + devel:libKF6Attica$secondaryArchSuffix + devel:libKF6Bookmarks$secondaryArchSuffix + devel:libKF6Codecs$secondaryArchSuffix + devel:libKF6Colorscheme$secondaryArchSuffix + devel:libKF6Completion$secondaryArchSuffix + devel:libKF6ConfigCore$secondaryArchSuffix + devel:libKF6ConfigWidgets$secondaryArchSuffix + devel:libKF6CoreAddons$secondaryArchSuffix + devel:libKF6Crash$secondaryArchSuffix +# devel:libKF6DbusAddons$secondaryArchSuffix + devel:libKF6FileMetaData$secondaryArchSuffix + devel:libKF6GuiAddons$secondaryArchSuffix + devel:libKF6IconThemes$secondaryArchSuffix + devel:libKF6ItemViews$secondaryArchSuffix + devel:libKF6JobWidgets$secondaryArchSuffix + devel:libKF6KIOCore$secondaryArchSuffix + devel:libKF6NewStuffCore$secondaryArchSuffix + devel:libKF6Notifications$secondaryArchSuffix + devel:libKF6NotifyConfig$secondaryArchSuffi + devel:libKF6Purpose$secondaryArchSuffix + devel:libKF6Service$secondaryArchSuffix + devel:libKF6Solid$secondaryArchSuffix + devel:libKF6TextWidgets$secondaryArchSuffix + devel:libKF6WidgetsAddons$secondaryArchSuffix + devel:libKF6WindowSystem$secondaryArchSuffix + devel:libKF6XmlGui$secondaryArchSuffix + # Qt6 + devel:libQt6Core$secondaryArchSuffix + devel:libQt6Multimedia$secondaryArchSuffix + devel:libQt6NetworkAuth$secondaryArchSuffix + devel:libQt6Qml$secondaryArchSuffix + devel:libQt6Svg$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgfmt$secondaryArchSuffix + cmd:msgmerge$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + cmd:python3 + " + +BUILD() +{ + cmake -Bbuild -S. $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DKDE_INSTALL_DATAROOTDIR=$dataDir \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \ + -DKDE_INSTALL_QTPLUGINDIR=$addOnsDir/Qt6 \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DBUILD_TESTING=OFF + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + # cleanup + rm -rf $dataDir/{applications,icons,metainfo} + rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic} + rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces} + + mkdir -p "$dataDir/deskbar/menu/Applications/KDE" + + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local APP_NAME="Kdenlive" + local LONG_INFO="$SUMMARY" + local APP_SIGNATURE="application/x-vnd.kdenlive" + sed \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + -e "s|@APP_NAME@|$APP_NAME|" \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + $portDir/additional-files/kdenlive.rdef.in > kdenlive.rdef + + addResourcesToBinaries kdenlive.rdef $prefix/bin/kdenlive + + addAppDeskbarSymlink $prefix/bin/kdenlive "KDE/Kdenlive" +} + +TEST() +{ + # 82% tests passed, 5 tests failed out of 28 + ctest --test-dir build --output-on-failure +} diff --git a/kde-apps/kdenlive/patches/kdenlive24-24.12.1.patchset b/kde-apps/kdenlive/patches/kdenlive24-24.12.1.patchset new file mode 100644 index 000000000..8daf23649 --- /dev/null +++ b/kde-apps/kdenlive/patches/kdenlive24-24.12.1.patchset @@ -0,0 +1,23 @@ +From b2b173fccdc194e48bf768a420703166fab4181b Mon Sep 17 00:00:00 2001 +From: Schrijvers Luc +Date: Thu, 26 Dec 2024 17:44:51 +0100 +Subject: Use Haiku icon style + + +diff --git a/src/main.cpp b/src/main.cpp +index b4d5107..5917bda 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -196,7 +196,9 @@ int main(int argc, char *argv[]) + QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true); + + // trigger initialisation of proper icon theme ++#if !defined(Q_OS_HAIKU) + KIconTheme::initTheme(); ++#endif + + QApplication app(argc, argv); + +-- +2.45.2 +