glaxnimate: add recipe

This commit is contained in:
Gerasim Troeglazov
2024-03-24 22:29:18 +10:00
parent 5a5b9308ba
commit 03bac469ee
3 changed files with 274 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Glaxnimate",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource("QT:QPA_FLAGS") "Q_REF_TO_ARGV|Q_REF_TO_FORK";
resource vector_icon {
$"6E63696605020106033ED0000000000000003EC00047C00048000000B8C1DBA0"
$"8093CDFF7C76B603BAC9DC03800303050004017A0A0606FF07CB3DBF9ECB3DBF"
$"9ECB3DC5C9BFF5CACAC630CACAB9BACACAB4ADBF9EB4ADC5C9B4ADB972BFF5B4"
$"72B9BAB472C630B472CB3DBF9ECB3DB972CB3DBF9EBF9E0606FF07CB3DBF9ECB"
$"3DBF9ECB3DC5C9BFF5CACAC630CACAB9BACACAB4ADBF9EB4ADC5C9B4ADB972BF"
$"F5B472B9BAB472C630B472CB3DBF9ECB3DB972CB3DBF9EBF9E0214C40EBE80C4"
$"0EBE80C40EBE80C40EBE80C40EBE80C40EBC9FC6BEB9D4C510BADFC462B9F3C1"
$"74BD66C250BB57C100BD82C007BD90C085BD90BF89BD90BE9ABD66BF0FBD82BD"
$"BFBB57B950B9D4BBADB9F3BAFFBADFBC01BE80BC01BC9FBC01BE80BC01BE80BC"
$"01BE80BC01BF77BB37C13FBBBCC06ABCF5C247BE02C5FBBE02C410BE02C5FBBE"
$"02C5FBBE02C5FBBE02C61DBDFEC664BE01C63EBE95C6E8C006C788BF46C749C0"
$"C5C749C20DC664C176C6E8C20AC63EC209C5FBC209C61DC209C5FBC209C5FBC2"
$"09C5FBC209C410C4D6C13FC316C247C452C06AC40EBE80C40EBF77C40EBE80C4"
$"0EBE80C40EBE80C40EBE800214C40EBE80C40EBE80C40EBE80C40EBE80C40EBE"
$"80C40EBC9FC6BEB9D4C510BADFC462B9F3C174BD66C250BB57C100BD82C007BD"
$"90C085BD90BF89BD90BE9ABD66BF0FBD82BDBFBB57B950B9D4BBADB9F3BAFFBA"
$"DFBC01BE80BC01BC9FBC01BE80BC01BE80BC01BE80BC01BF77BB37C13FBBBCC0"
$"6ABCF5C247BE02C5FBBE02C410BE02C5FBBE02C5FBBE02C5FBBE02C61DBDFEC6"
$"64BE01C63EBE95C6E8C006C788BF46C749C0C5C749C20DC664C176C6E8C20AC6"
$"3EC209C5FBC209C61DC209C5FBC209C5FBC209C5FBC209C410C4D6C13FC316C2"
$"47C452C06AC40EBE80C40EBF77C40EBE80C40EBE80C40EBE80C40EBE800002BE"
$"6940BE6940BE69C040BE69C13FBE69C0BFBE69C13F0002BE6940BE6940BE69C0"
$"40BE69C13FBE69C0BFBE69C13F0002C1F840C1F840C1F8C040C1F8C13FC1F8C0"
$"BFC1F8C13F0002C1F840C1F840C1F8C040C1F8C13FC1F8C0BFC1F8C13F0606FF"
$"07BF9EC549BF9EC549BF9EC57EBF37C5A9BF70C5A9BEFEC5A9BED0C549BED0C5"
$"7EBED0C514BF37C4EABEFEC4EABF70C4EABF9EC549BF9EC514BF9EC549C54906"
$"06FF07C13BC549C13BC549C13BC57EC0D4C5A9C10DC5A9C09BC5A9C06DC549C0"
$"6DC57EC06DC514C0D4C4EAC09BC4EAC10DC4EAC13BC549C13BC514C13BC549C5"
$"490A0A040100023F5D410000000000003CB8B8472AC94AA6530A030101100117"
$"8522040A000100000A0401020240A7180000000000003FE23AC60B1544BFCB0A"
$"0301021001178300040A010102000A0201051001178122040A02010710011781"
$"22040A020108000A02010900"
};

View File

@@ -0,0 +1,167 @@
SUMMARY="Simple vector animation program"
DESCRIPTION="Glaxnimate is a powerful and user-friendly desktop application for vector \
animation and motion design. It focuses on Lottie and SVG and provides an intuitive \
interface that makes it easy to create stunning animations."
HOMEPAGE="https://glaxnimate.mattbas.org/"
COPYRIGHT="2024 Mattia Basaglia"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://invent.kde.org/graphics/glaxnimate/-/archive/$portVersion/glaxnimate-$portVersion.tar.bz2"
CHECKSUM_SHA256="324e719e3c2a8dbb179d69a34f341dd6e028d9a7d98000ce942ffabd922da92f"
srcGitRev2="3b445d91fd4620542162f35ccc6bf14533a76321"
SOURCE_URI_2="https://gitlab.com/mattbas/CMake-Lib/-/archive/${srcGitRev2}/CMake-Lib-${srcGitRev2}.tar.bz2"
CHECKSUM_SHA256_2="318d6540ca35168e69e91726b988a47c34b5a38b4b1823a186b46bdd4f3a1cac"
srcGitRev3="9b7321a905291842bbdb91ffdf40d9f71c8bf313"
SOURCE_URI_3="https://gitlab.com/mattbas/Qt-Color-Widgets/-/archive/${srcGitRev3}/Qt-Color-Widgets-${srcGitRev3}.tar.bz2"
CHECKSUM_SHA256_3="d6a5978d764cb5e4fba4639c27a03ed0b7f56031811b0fe884b064a07348fbe9"
srcGitRev4="5b761f436e8b31491e06b26460d28a2eaef0babc"
SOURCE_URI_4="https://gitlab.com/mattbas/Qt-History-LineEdit/-/archive/${srcGitRev4}/Qt-History-LineEdit-${srcGitRev4}.tar.bz2"
CHECKSUM_SHA256_4="6296f92c97bfb284beac6c6162b8594078ef25cccc56789a29be63336ad4c9d5"
srcGitRev5="c97690cc0024a1842cd8de71334a2ee9c5f7e729"
SOURCE_URI_5="https://github.com/rpavlik/cmake-modules/archive/${srcGitRev5}.tar.gz"
SOURCE_FILENAME_5="cmake-modules-${srcGitRev5}.tar.gz"
SOURCE_DIR_5="cmake-modules-${srcGitRev5}"
CHECKSUM_SHA256_5="5bc7ec244e7b53b1f7c20d5339ac4c83701d7b0e8b23ff1522d05fb495b76273"
srcGitRev6="80dc998efced8ceb2be59756668a7e90e8bef917"
SOURCE_URI_6="https://github.com/pybind/pybind11/archive/${srcGitRev6}.tar.gz"
SOURCE_FILENAME_6="pybind11-${srcGitRev6}.tar.gz"
SOURCE_DIR_6="pybind11-${srcGitRev6}"
CHECKSUM_SHA256_6="aa4d57f8c3c4fb47d75e1d676167966a8aa7cbb014e4d20813adabc93bd6670a"
srcGitRev7="9e742aadb5ca7d0e8c9b01b2553c0a81de238ae4"
SOURCE_URI_7="https://gitlab.com/mattbas/python-lottie/-/archive/${srcGitRev7}/python-lottie-${srcGitRev7}.tar.bz2"
SOURCE_FILENAME_7="python-lottie-${srcGitRev7}.tar.gz"
SOURCE_DIR_7="python-lottie-${srcGitRev7}"
CHECKSUM_SHA256_7="c5825e9fe98fae136c7d7c2039ea08c8fe691e25cd0bc1e286f58d7e23134b86"
srcGitRev8="292a4c2b41ff94a33e06808df587900567c2a423"
SOURCE_URI_8="https://github.com/KDE/breeze-icons/archive/${srcGitRev8}.tar.gz"
SOURCE_FILENAME_8="breeze-icons-${srcGitRev8}.tar.gz"
SOURCE_DIR_8="breeze-icons-${srcGitRev8}"
CHECKSUM_SHA256_8="4d64734ca485a895c9e02d2ad8cf103b0b53c74553999e7da29ca4d725438f55"
PATCHES="glaxnimate-$portVersion.patchset"
ADDITIONAL_FILES="glaxnimate.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
glaxnimate$secondaryArchSuffix = $portVersion
app:Glaxnimate$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libarchive$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavformat$secondaryArchSuffix
lib:libavutil$secondaryArchSuffix
lib:libpotrace$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libQt6Svg$secondaryArchSuffix
lib:libQt6UiTools$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libQt6Xml$secondaryArchSuffix
lib:libswscale$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
qt6_tools${secondaryArchSuffix}_devel
devel:libarchive$secondaryArchSuffix
devel:libavcodec$secondaryArchSuffix >= 59
devel:libpotrace$secondaryArchSuffix
devel:libpython3.10$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Gui$secondaryArchSuffix
devel:libQt6Network$secondaryArchSuffix
devel:libQt6Svg$secondaryArchSuffix
devel:libQt6UiTools$secondaryArchSuffix
devel:libQt6Widgets$secondaryArchSuffix
devel:libQt6Xml$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:git
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:python3.10
"
BUILD()
{
rm -rf $sourceDir/cmake
ln -s $sourceDir2/CMake-Lib-${srcGitRev2} $sourceDir/cmake
rm -rf $sourceDir/external/Qt-Color-Widgets
ln -s $sourceDir3/Qt-Color-Widgets-${srcGitRev3} $sourceDir/external/Qt-Color-Widgets
rm -rf $sourceDir/external/Qt-History-LineEdit
ln -s $sourceDir4/Qt-History-LineEdit-${srcGitRev4} $sourceDir/external/Qt-History-LineEdit
rm -rf $sourceDir/external/cmake-modules
ln -s $sourceDir5 $sourceDir/external/cmake-modules
rm -rf $sourceDir/external/QtAppSetup/external/pybind11
ln -s $sourceDir6 $sourceDir/external/QtAppSetup/external/pybind11
rm -rf $sourceDir/data/lib/python-lottie
ln -s $sourceDir7 $sourceDir/data/lib/python-lottie
rm -rf $sourceDir/data/icons/breeze-icons
ln -s $sourceDir8 $sourceDir/data/icons/breeze-icons
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir \
-DCMAKE_INSTALL_DATADIR=$dataDir \
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
-DSHARE_INSTALL_PREFIX=$dataDir \
-DCMAKE_C_FLAGS="-D_BS_SOURCE -fPIC" \
-DCMAKE_CXX_FLAGS="-D_BS_SOURCE -fPIC" \
-DCMAKE_EXE_LINKER_FLAGS="-lbsd -lnetwork"
make $jobArgs
make translations
}
INSTALL()
{
cd build
make install
mkdir -p $dataDir/glaxnimate
mv $appsDir/share/glaxnimate/glaxnimate $dataDir/glaxnimate
mv $appsDir/bin/glaxnimate $appsDir/Glaxnimate
rm -rf $appsDir/{bin,share}
local APP_SIGNATURE="application/x-vnd.kde-glaxnimate"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/glaxnimate.rdef.in > glaxnimate.rdef
addResourcesToBinaries glaxnimate.rdef $appsDir/Glaxnimate
addAppDeskbarSymlink $appsDir/Glaxnimate
}

View File

@@ -0,0 +1,54 @@
From 33193cfd1d5ae44cba3dea2b3272c098fd2e8d75 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 24 Mar 2024 11:49:24 +1000
Subject: Add data path for Haiku
diff --git a/external/QtAppSetup/src/app/application.cpp b/external/QtAppSetup/src/app/application.cpp
index cc282f4..26b641e 100644
--- a/external/QtAppSetup/src/app/application.cpp
+++ b/external/QtAppSetup/src/app/application.cpp
@@ -77,7 +77,9 @@ QList<QDir> app::Application::data_roots() const
// some macOS app bundles use a Resources subfolder
search.push_back(binpath.filePath(QString("Resources/%1/%2").arg(organizationName()).arg(applicationName())));
#endif
-
+#ifdef Q_OS_HAIKU
+ search.push_back(binpath.filePath(QString("data/%1/%2").arg(organizationName()).arg(applicationName())));
+#endif
return search;
}
--
2.43.2
From 31c11bb3fb0dcf3e5562c3ac8139b5fa4637f7d7 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 24 Mar 2024 22:20:34 +1000
Subject: Defailt icon theme
diff --git a/src/gui/glaxnimate_app.cpp b/src/gui/glaxnimate_app.cpp
index 2b989fd..314bf99 100644
--- a/src/gui/glaxnimate_app.cpp
+++ b/src/gui/glaxnimate_app.cpp
@@ -89,11 +89,15 @@ static QVariantMap avail_icon_themes()
static QString default_icon_theme()
{
+#ifdef Q_OS_HAIKU
+ return "haiku";
+#else
QPalette palette = QGuiApplication::palette();
if ( palette.color(QPalette::Button).value() < 100 )
return "icons-dark";
else
return "icons";
+#endif
}
static void set_icon_theme(const QVariant& v)
--
2.43.2