qt6.9, add disabled recipes (#12324)

This commit is contained in:
Schrijvers Luc
2025-05-15 07:40:39 +02:00
committed by GitHub
parent 39435f12bb
commit 478b00b6e1
37 changed files with 5272 additions and 0 deletions

View File

@@ -0,0 +1,153 @@
SUMMARY="C++ and QML APIs for easy inclusion of 3D graphics"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qt3d-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="521dd56d40873d37b2dd9ca95181037b833a07c48aed5db44efcba83a4716cc2"
SOURCE_DIR="qt3d-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_3d$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DAnimation$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DCore$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DExtras$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DInput$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DLogic$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DQuick$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DQuickAnimation$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DQuickExtras$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DQuickInput$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DQuickRender$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DQuickScene2D$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DQuickScene3D$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt63DRender$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6ShaderTools$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_3d${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt63DAnimation$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DCore$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DExtras$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DInput$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DLogic$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DQuick$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DQuickAnimation$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DQuickExtras$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DQuickInput$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DQuickRender$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DQuickScene2D$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DQuickScene3D$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt63DRender$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_3d$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
local cmakeFlags
# disable simd code for x86_gcc2
if [ $targetArchitecture == x86_gcc2 ]; then
cmakeFlags="-DFEATURE_sse2=OFF -DFEATURE_avx2=OFF"
fi
cmake -B build -S $sourceDir -G Ninja $cmakeFlags \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt63DAnimation \
libQt63DCore \
libQt63DExtras \
libQt63DInput \
libQt63DLogic \
libQt63DQuick \
libQt63DQuickAnimation \
libQt63DQuickExtras \
libQt63DQuickInput \
libQt63DQuickRender \
libQt63DQuickScene2D \
libQt63DQuickScene3D \
libQt63DRender
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,115 @@
SUMMARY="Module that contains unsupported Qt 5 APIs"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qt5compat-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="55be0539d3a12071fbe0cd57af17d6dc3fc52578b1649824975e26301f710763"
SOURCE_DIR="qt5compat-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_5compat$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Core5Compat$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6ShaderTools$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_5compat${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Core5Compat$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_5compat$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
qt6_tools${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libiconv$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix >= 74
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Core5Compat
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake
}

View File

@@ -0,0 +1,70 @@
From 6d0fb38ba72dd1324c2857364bb2834feb974dd6 Mon Sep 17 00:00:00 2001
From: Luc Schrijvers <begasus@gmail.com>
Date: Sat, 26 Apr 2025 10:50:40 +0200
Subject: Build fix
diff --git a/src/platform/qhaikuplatformfontdatabase.cpp b/src/platform/qhaikuplatformfontdatabase.cpp
index bdf8875..637427e 100644
--- a/src/platform/qhaikuplatformfontdatabase.cpp
+++ b/src/platform/qhaikuplatformfontdatabase.cpp
@@ -133,7 +133,7 @@ void QHaikuPlatformFontDatabase::populateFontDatabase()
QStringList QHaikuPlatformFontDatabase::fallbacksForFamily(const QString &family,
QFont::Style style,
QFont::StyleHint styleHint,
- QChar::Script script) const
+ QFontDatabasePrivate::ExtendedScript script) const
{
QStringList result;
if (styleHint == QFont::Monospace || styleHint == QFont::Courier) {
diff --git a/src/platform/qhaikuplatformfontdatabase.h b/src/platform/qhaikuplatformfontdatabase.h
index 6397903..d16396a 100644
--- a/src/platform/qhaikuplatformfontdatabase.h
+++ b/src/platform/qhaikuplatformfontdatabase.h
@@ -58,15 +58,15 @@ public:
class QHaikuPlatformFontDatabase: public QFreeTypeFontDatabase
{
public:
- QString fontDir() const override;
- void populateFontDatabase() override;
- QFont defaultFont() const override;
+ QString fontDir() const;
+ void populateFontDatabase();
+ QFont defaultFont() const;
QStringList fallbacksForFamily(const QString &family,
QFont::Style style,
QFont::StyleHint styleHint,
- QChar::Script script) const override;
- QFontEngine *fontEngine(const QFontDef &fontDef, void *handle) override;
- void releaseHandle(void *handle) override;
+ QFontDatabasePrivate::ExtendedScript script) const;
+ QFontEngine *fontEngine(const QFontDef &fontDef, void *handle);
+ void releaseHandle(void *handle);
private:
QHash<QChar::Script, QStringList> m_fallbacks;
};
diff --git a/src/style/helper/qstylehelper.cpp b/src/style/helper/qstylehelper.cpp
index ea65227..0df07ef 100644
--- a/src/style/helper/qstylehelper.cpp
+++ b/src/style/helper/qstylehelper.cpp
@@ -287,7 +287,7 @@ void drawDial(const QStyleOptionSlider *option, QPainter *painter)
qMax(180, buttonColor.value()));
// Cache dial background
- BEGIN_STYLE_PIXMAPCACHE(QString::fromLatin1("qdial"));
+ QCachedPainter p(painter, QLatin1StringView("qdial"), option);
p->setRenderHint(QPainter::Antialiasing);
const qreal d_ = r / 6;
@@ -344,7 +344,7 @@ void drawDial(const QStyleOptionSlider *option, QPainter *painter)
p->drawEllipse(br.adjusted(-1, -1, 1, 1));
}
- END_STYLE_PIXMAPCACHE
+ p.finish();
QPointF dp = calcRadialPos(option, qreal(0.70));
buttonColor = buttonColor.lighter(104);
--
2.48.1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,240 @@
SUMMARY="A cross-platform application and UI framework"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v3
GNU GPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtbase-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="c1800c2ea835801af04a05d4a32321d79a93954ee3ae2172bbeacf13d1f0598c"
SOURCE_DIR="qtbase-everywhere-src-$portVersion"
PATCHES="qt6_base-$portVersion.patchset"
srcGitRev2="4341730a0b93fc5564d9a20688f6360526148a7a"
SOURCE_URI_2="https://github.com/threedeyes/qt6-haikuplugins/archive/$srcGitRev2.tar.gz"
CHECKSUM_SHA256_2="2e46855a2f215c5b19bf9961cff6303993b26f31bba120c90d1babfbf659db1a"
SOURCE_DIR_2="qt6-haikuplugins-$srcGitRev2"
PATCHES_2="qt6_base-$portVersion-source2.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_base$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Concurrent$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Core$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6DBus$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6EglFSDeviceIntegration$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Gui$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Network$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6OpenGL$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6OpenGLWidgets$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6PrintSupport$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Sql$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Test$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Widgets$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Xml$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
haiku_svg_icon_theme
lib:libbrotlidec$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libdouble_conversion$secondaryArchSuffix
lib:libegl$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libpcre2_16$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
lib:libvulkan$secondaryArchSuffix
lib:libz$secondaryArchSuffix
cmd:qsystray
cmd:qnotify
"
PROVIDES_devel="
qt6_base${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Concurrent$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Core$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6DBus$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6DeviceDiscoverySupport$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6EdidSupport$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6EglFSDeviceIntegration$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6ExampleIcons$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6ExamplesAssetDownloader$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6FBSupport$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Gui$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Network$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6OpenGL$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6OpenGLWidgets$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6PrintSupport$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Sql$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Test$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Widgets$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Xml$secondaryArchSuffix = $portVersion compat >= 6
cmd:qmake6$secondaryArchSuffix = $portVersion compat >= 6
cmd:qtpaths6$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
haiku${secondaryArchSuffix}_devel
qt6_base$secondaryArchSuffix == $portVersion base
devel:libgl$secondaryArchSuffix
devel:libharfbuzz$secondaryArchSuffix
devel:libharfbuzz_gobject$secondaryArchSuffix
devel:libvulkan$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbrotlidec$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix >= 3
devel:libdouble_conversion$secondaryArchSuffix >= 3
devel:libegl$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
devel:libharfbuzz$secondaryArchSuffix
devel:libharfbuzz_gobject$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix >= 74
devel:libjpeg$secondaryArchSuffix
devel:libpcre2_16$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libssl$secondaryArchSuffix >= 3
devel:libvulkan$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake \
-B build \
-S $sourceDir \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS="-fPIC -D_DEFAULT_SOURCE" \
-DCMAKE_CXX_FLAGS="-fPIC -D_DEFAULT_SOURCE" \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DBUILD_WITH_PCH=ON \
-DCMAKE_AUTOGEN_PARALLEL=1 \
-DINSTALL_BINDIR=$libDir/Qt6 \
-DINSTALL_PUBLICBINDIR=$binDir \
-DINSTALL_PLUGINSDIR=$addOnsDir/Qt6 \
-DINSTALL_LIBDIR=$libDir \
-DINSTALL_LIBEXECDIR=$libDir/Qt6 \
-DINSTALL_DOCDIR=$docDir \
-DINSTALL_ARCHDATADIR=$dataDir/Qt6 \
-DINSTALL_DATADIR=$dataDir/Qt6 \
-DINSTALL_INCLUDEDIR=$includeDir/Qt6 \
-DINSTALL_MKSPECSDIR=$dataDir/Qt6/mkspecs \
-DINSTALL_EXAMPLESDIR=$developDir/sources/Qt6 \
-DINSTALL_QMLDIR=$dataDir/Qt6/qml \
-DINSTALL_TRANSLATIONSDIR=$dataDir/Qt6/translations \
-DQT_QMAKE_TARGET_MKSPEC=haiku-g++ \
-DQT_FEATURE_openssl_linked=ON \
-DQT_FEATURE_system_sqlite=ON \
-DQT_FEATURE_glib=OFF \
-DFEATURE_rpath=OFF \
-Wno-dev
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
# build platform plugins
PATH=$PATH:$binDir:$libDir/Qt6
LIBRARY_PATH=$LIBRARY_PATH:$libDir
mkdir -p $sourceDir2/build
cd $sourceDir2/build
qmake6 ../src
make $jobArgs
# install platform plugins
mkdir -p $addOnsDir/Qt6/{platforms,imageformats,styles} $preferencesDir
cp platform/libqhaiku.so $addOnsDir/Qt6/platforms
cp imageformats/hvif/libqhvif.so $addOnsDir/Qt6/imageformats
cp style/libqhaikustyle.so $addOnsDir/Qt6/styles
cp preferences/Qt6Configurator $preferencesDir
prepareInstalledDevelLibs \
libQt6Concurrent \
libQt6Core \
libQt6DBus \
libQt6DeviceDiscoverySupport \
libQt6EglFSDeviceIntegration \
libQt6FbSupport \
libQt6ExampleIcons \
libQt6ExamplesAssetDownloader \
libQt6Gui \
libQt6Network \
libQt6OpenGL \
libQt6OpenGLWidgets \
libQt6PrintSupport \
libQt6Sql \
libQt6Test \
libQt6Widgets \
libQt6Xml
# fix pkgconfig & cmake files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6FbSupportPrivate/Qt6FbSupportPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6DeviceDiscoverySupportPrivate/Qt6DeviceDiscoverySupportPrivateTargets-release.cmake
sed -i "s,\${_IMPORT_PREFIX}/$relativeLibDir/libQt6ExampleIcons.a,\${_IMPORT_PREFIX}/$relativeDevelopLibDir/libQt6ExampleIcons.a," \
$libDir/cmake/Qt6ExampleIconsPrivate/Qt6ExampleIconsPrivateTargets-release.cmake
sed -i "s,\${_IMPORT_PREFIX}/$relativeLibDir/libQt6ExamplesAssetDownloader.a,\${_IMPORT_PREFIX}/$relativeDevelopLibDir/libQt6ExamplesAssetDownloader.a," \
$libDir/cmake/Qt6ExamplesAssetDownloaderPrivate/Qt6ExamplesAssetDownloaderPrivateTargets-release.cmake
mkdir -p $binDir
ln -s -t $binDir $libDir/Qt6/{qmake6,qtpaths6}
rm -rf $(dirname "$docDir")
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$binDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
addPreferencesDeskbarSymlink $preferencesDir/Qt6Configurator "Qt6 Configurator"
}

View File

@@ -0,0 +1,114 @@
SUMMARY="Provides a set of easy to use chart components"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtcharts-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="8a1c9287f25fe47b110ada87e8c73b928a93f05435440d0a27f591d25c317f28"
SOURCE_DIR="qtcharts-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_charts$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Charts$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6ChartsQml$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_charts${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Charts$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6ChartsQml$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_charts$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Multimedia$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_UNITY_BUILD=ON \
-DQT_GENERATE_SBOM=OFF \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Charts \
libQt6ChartsQml
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,112 @@
SUMMARY="Provides acess to Bluetooth hardware"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtconnectivity-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="ff402f8dacb2b9f9308afcea67118ae1645ce6466f2d41a8d5c12fd2fa168598"
SOURCE_DIR="qtconnectivity-everywhere-src-$portVersion$QtBeta"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_connectivity$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Bluetooth$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Nfc$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_connectivity${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Bluetooth$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Nfc$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_connectivity$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Bluetooth \
libQt6Nfc
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,27 @@
From 6cdbbab0a5d8323487a69e2b3061e3890d28663b Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Tue, 3 May 2022 16:16:08 +1000
Subject: Enable GLES for Haiku
diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp
index 3470c44..a6a2d44 100644
--- a/src/datavisualization/utils/utils.cpp
+++ b/src/datavisualization/utils/utils.cpp
@@ -310,9 +310,13 @@ QQuaternion Utils::calculateRotation(const QVector3D &xyzRotations)
bool Utils::isOpenGLES()
{
+#ifdef Q_OS_HAIKU
+ return true;
+#else
if (!staticsResolved)
resolveStatics();
return isES;
+#endif
}
void Utils::resolveStatics()
--
2.48.1

View File

@@ -0,0 +1,118 @@
SUMMARY="Qt6 Data Visualization module"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtdatavis3d-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="310cb713d58c932a8dfaee3c7cd4cac7f2f77ee8e01038ff7df3f0c87f9d8015"
SOURCE_DIR="qtdatavis3d-everywhere-src-$portVersion"
PATCHES="qt6_datavis3d-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_datavis3d$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6DataVisualization$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6DataVisualizationQml$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6QuickTimeline$secondaryArchSuffix
lib:libQt6ShaderTools$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_datavis3d${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6DataVisualization$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6DataVisualizationQml$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_datavis3d$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6OpenGL$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6QuickTimeline$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=OFF \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6DataVisualization \
libQt6DataVisualizationQml
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,100 @@
From 21625c0a334ee5ae0df35083cb7dd180bd65ed2c Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Tue, 9 Apr 2024 21:29:50 +1000
Subject: Fix for Haiku
diff --git a/src/3rdparty/masm/wtf/PageBlock.cpp b/src/3rdparty/masm/wtf/PageBlock.cpp
index 28d4239..9559e3b 100644
--- a/src/3rdparty/masm/wtf/PageBlock.cpp
+++ b/src/3rdparty/masm/wtf/PageBlock.cpp
@@ -40,7 +40,14 @@ namespace WTF {
static size_t s_pageSize;
static size_t s_pageMask;
-#if OS(UNIX)
+#if OS(HAIKU)
+
+inline size_t systemPageSize()
+{
+ return 4096;
+}
+
+#elif OS(UNIX)
inline size_t systemPageSize()
{
diff --git a/src/3rdparty/masm/wtf/Platform.h b/src/3rdparty/masm/wtf/Platform.h
index 4146879..8e35d08 100644
--- a/src/3rdparty/masm/wtf/Platform.h
+++ b/src/3rdparty/masm/wtf/Platform.h
@@ -422,6 +422,11 @@
#define WTF_OS_QNX 1
#endif
+/* OS(HAIKU) - Haiku */
+#if defined(__HAIKU__)
+#define WTF_OS_HAIKU 1
+#endif
+
/* OS(SOLARIS) - Solaris */
#if defined(sun) || defined(__sun)
#define WTF_OS_SOLARIS 1
@@ -461,6 +466,7 @@
|| OS(HURD) \
|| OS(INTEGRITY) \
|| OS(LINUX) \
+ || OS(HAIKU) \
|| OS(NETBSD) \
|| OS(OPENBSD) \
|| OS(QNX) \
diff --git a/src/qml/jit/qv4assemblercommon_p.h b/src/qml/jit/qv4assemblercommon_p.h
index a0bf802..e662e7f 100644
--- a/src/qml/jit/qv4assemblercommon_p.h
+++ b/src/qml/jit/qv4assemblercommon_p.h
@@ -33,7 +33,7 @@ namespace QV4 {
namespace JIT {
#if defined(Q_PROCESSOR_X86_64) || defined(ENABLE_ALL_ASSEMBLERS_FOR_REFACTORING_PURPOSES)
-#if defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD) || defined(Q_OS_DARWIN) || defined(Q_OS_SOLARIS) || defined(Q_OS_VXWORKS) || defined(Q_OS_HURD)
+#if defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD) || defined(Q_OS_DARWIN) || defined(Q_OS_SOLARIS) || defined(Q_OS_VXWORKS) || defined(Q_OS_HURD) || defined(Q_OS_HAIKU)
class PlatformAssembler_X86_64_SysV : public JSC::MacroAssembler<JSC::MacroAssemblerX86_64>
{
diff --git a/src/qml/memory/qv4stacklimits.cpp b/src/qml/memory/qv4stacklimits.cpp
index 288a6fd..84bbc5a 100644
--- a/src/qml/memory/qv4stacklimits.cpp
+++ b/src/qml/memory/qv4stacklimits.cpp
@@ -35,6 +35,10 @@
# include <taskLib.h>
#elif defined(Q_OS_WASM)
# include <emscripten/stack.h>
+#elif defined(Q_OS_HAIKU)
+# include <OS.h>
+# include <unistd.h>
+# include <sys/resource.h>
#endif
QT_BEGIN_NAMESPACE
@@ -59,6 +63,9 @@ enum StackDefaults : qsizetype {
// On linux, we assume 8MB stacks if rlimit doesn't work.
PlatformStackSize = 8 * 1024 * 1024,
PlatformSafetyMargin = DefaultSafetyMargin,
+#elif defined(Q_OS_HAIKU)
+ PlatformStackSize = 16 * 1024 * 1024,
+ PlatformSafetyMargin = DefaultSafetyMargin,
#elif defined(Q_OS_QNX)
// QNX's stack is only 512k by default
PlatformStackSize = 512 * 1024,
@@ -103,7 +110,7 @@ static StackProperties createStackProperties(void *base, qsizetype size = Platfo
};
}
-#if defined(Q_OS_DARWIN) || defined(Q_OS_LINUX)
+#if defined(Q_OS_DARWIN) || defined(Q_OS_LINUX) || defined(Q_OS_HAIKU)
// On linux and darwin, on the main thread, the pthread functions
// may not return the true stack size since the main thread stack
--
2.48.1

View File

@@ -0,0 +1,268 @@
SUMMARY="Classes for QML and JavaScript languages"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtdeclarative-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="a3175fa510847a136734f989e2bfea7f7bbb9dc9acc98b40b544d26f5ba20d3d"
SOURCE_DIR="qtdeclarative-everywhere-src-$portVersion"
PATCHES="qt6_declarative-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_declarative$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6LabsAnimation$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6LabsFolderListModel$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6LabsPlatform$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6LabsQmlModels$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6LabsSettings$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6LabsSharedImage$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6LabsWavefrontMesh$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Qml$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QmlCompiler$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QmlCore$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QmlLocalStorage$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QmlMeta$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QmlModels$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QmlNetwork$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QmlWorkerScript$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QmlXmlListModel$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2Basic$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2BasicStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2FluentWinUI3StyleImpl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2Fusion$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2FusionStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2Imagine$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2ImagineStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2Impl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2Material$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2MaterialStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2Universal$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickControls2UniversalStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickDialogs2$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickDialogs2QuickImpl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickDialogs2Utils$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickEffects$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickLayouts$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickParticles$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickShapes$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickTemplates2$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickTest$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickWidgets$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libQt6OpenGL$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libQt6Test$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libvulkan$secondaryArchSuffix
"
PROVIDES_devel="
qt6_declarative${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6LabsAnimation$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6LabsFolderListModel$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6LabsPlatform$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6LabsQmlModels$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6LabsSettings$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6LabsSharedImage$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6LabsWavefrontMesh$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6PacketProtocol$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Qml$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlAssetDownloader$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlBuiltins$secondaryArchSuffix
devel:libQt6QmlCompiler$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlCore$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlDebug$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlDom$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlFormat$secondaryArchSuffix
devel:libQt6QmlLocalStorage$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlMeta$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlModels$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlNetwork$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlTypeRegistrar$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlToolingSettings$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlWorkerScript$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QmlXmlListModel$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2Basic$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2BasicStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2FluentWinUI3StyleImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2Fusion$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2FusionStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2Imagine$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2ImagineStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2Impl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2Material$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2MaterialStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2Universal$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControls2UniversalStyleImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickControlsTestUtils$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickDialogs2$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickDialogs2QuickImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickDialogs2Utils$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickEffects$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickLayouts$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickParticles$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickShapes$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickTemplates2$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickTest$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickTestUtils$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickWidgets$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_declarative$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Network$secondaryArchSuffix == $portVersion
devel:libQt6OpenGL$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libQt6Widgets$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libvulkan$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="-fPIC -D_GNU_SOURCE" \
-DCMAKE_AUTOGEN_PARALLEL=1 \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6LabsAnimation \
libQt6LabsFolderListModel \
libQt6LabsPlatform \
libQt6LabsQmlModels \
libQt6LabsSettings \
libQt6LabsSharedImage \
libQt6LabsWavefrontMesh \
libQt6PacketProtocol \
libQt6Qml \
libQt6QmlAssetDownloader \
libQt6QmlCore \
libQt6QmlFormat \
libQt6QmlLocalStorage \
libQt6QmlMeta \
libQt6QmlModels \
libQt6QmlNetwork \
libQt6QmlWorkerScript \
libQt6QmlXmlListModel \
libQt6Quick \
libQt6QuickControls2 \
libQt6QuickControls2Basic \
libQt6QuickControls2BasicStyleImpl \
libQt6QuickControls2FluentWinUI3StyleImpl \
libQt6QuickControls2Fusion \
libQt6QuickControls2FusionStyleImpl \
libQt6QuickControls2Imagine \
libQt6QuickControls2ImagineStyleImpl \
libQt6QuickControls2Impl \
libQt6QuickControls2Material \
libQt6QuickControls2MaterialStyleImpl \
libQt6QuickControls2Universal \
libQt6QuickControls2UniversalStyleImpl \
libQt6QuickControlsTestUtils \
libQt6QuickDialogs2 \
libQt6QuickDialogs2QuickImpl \
libQt6QuickDialogs2Utils \
libQt6QuickLayouts \
libQt6QuickParticles \
libQt6QuickShapes \
libQt6QuickTemplates2 \
libQt6QuickTestUtils \
libQt6QuickTest \
libQt6QuickWidgets \
libQt6QmlCompiler \
libQt6QmlDebug \
libQt6QmlDom \
libQt6QmlTypeRegistrar \
libQt6QmlToolingSettings
# fix pkgconfig & cmake files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6PacketProtocolPrivate/Qt6PacketProtocolPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QmlAssetDownloader/Qt6QmlAssetDownloaderTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QmlDebugPrivate/Qt6QmlDebugPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QmlDomPrivate/Qt6QmlDomPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QmlToolingSettingsPrivate/Qt6QmlToolingSettingsPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QmlTypeRegistrarPrivate/Qt6QmlTypeRegistrarPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QuickControlsTestUtilsPrivate/Qt6QuickControlsTestUtilsPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QuickParticlesPrivate/Qt6QuickParticlesPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QuickShapesPrivate/Qt6QuickShapesPrivateTargets-release.cmake
sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
$libDir/cmake/Qt6QuickTestUtilsPrivate/Qt6QuickTestUtilsPrivateTargets-release.cmake
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,45 @@
SUMMARY="A cross-platform application and UI framework (Documentation)"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
SOURCE_URI="https://archlinux.thaller.ws/extra/os/x86_64/qt6-doc-${portVersion}-1-any.pkg.tar.zst#noarchive"
CHECKSUM_SHA256="52c2ea39d7112b7f1109e8625ecbd997abe582c1ae74ed62da0b7b97625fcb36"
SOURCE_DIR="qt6-doc-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
DISABLE_SOURCE_PACKAGE="yes"
PROVIDES="
qt6_doc$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
qt6_tools$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:tar
cmd:unzstd
"
INSTALL()
{
mkdir -p $prefix/documentation/packages/qt6_base
tar -C $prefix/documentation/packages/qt6_base \
-I zstd \
--strip-components 4 \
-xvf qt6-doc-${portVersion}-1-any.pkg.tar.zst
}

View File

@@ -0,0 +1,44 @@
SUMMARY="A cross-platform application and UI framework (Examples)"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
SOURCE_URI="https://archlinux.thaller.ws/extra/os/x86_64/qt6-examples-${portVersion}-1-any.pkg.tar.zst#noarchive"
CHECKSUM_SHA256="8264a65de947a7e366bae708c238c621574d2242b34d4e256260e0895cce80ec"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
DISABLE_SOURCE_PACKAGE="yes"
PROVIDES="
qt6_examples$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
qt6_tools$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:tar
cmd:unzstd
"
INSTALL()
{
mkdir -p $developDir/sources/Qt6
tar -C $developDir/sources/Qt6 \
-I zstd \
--strip-components 5 \
-xvf qt6-examples-${portVersion}-1-any.pkg.tar.zst
}

View File

@@ -0,0 +1,99 @@
SUMMARY="Plugins for additional image formats: TIFF, MNG, TGA, WBMP"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtimageformats-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="2047c6242a57bf97cf40079fa9f91752c137cd9ae84760faa9a2e5e8a440606f"
SOURCE_DIR="qtimageformats-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_imageformats$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libjasper$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libmng$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libwebp$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
SUPPLEMENTS="
qt6_base$secondaryArchSuffix
"
PROVIDES_devel="
qt6_imageformats${secondaryArchSuffix}_devel = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_imageformats$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libjasper$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libmng$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libtiff$secondaryArchSuffix
devel:libwebp$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
PATCH()
{
sed -i "s/uint32_t/uint32/g" $sourceDir/src/plugins/imageformats/tiff/qtiffhandler.cpp
}
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
packageEntries devel \
$libDir/cmake
}

View File

@@ -0,0 +1,107 @@
SUMMARY="A family of player software for 2d vector graphics animations"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtlocation-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="ada25ac4c1aa2b2daec0c21198dbb30004453869911724816c6ce7ecb3826794"
SOURCE_DIR="qtlocation-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_location$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Location$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6OpenGL$secondaryArchSuffix
lib:libQt6Positioning$secondaryArchSuffix
lib:libQt6PositioningQuick$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
"
PROVIDES_devel="
qt6_location${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Location$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_location$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Positioning$secondaryArchSuffix == $portVersion
devel:libQt6PositioningQuick$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLib \
libQt6Location
fixPkgconfig
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,104 @@
SUMMARY="A family of player software for 2d vector graphics animations"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtlottie-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="d4ba1614a587a279266036b1b08ac854718458fdd39708b37afde74f0b4afabe"
SOURCE_DIR="qtlottie-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_lottie$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Bodymovin$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_lottie${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Bodymovin$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_lottie$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Bodymovin
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,346 @@
From 695e06cdf4da7beed7d0adb272e6a870f0d19236 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Tue, 9 Apr 2024 22:25:53 +1000
Subject: Enable OpenAL (wasm) audio backend for Haiku
diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt
index 031b321..0cd1fdb 100644
--- a/src/multimedia/CMakeLists.txt
+++ b/src/multimedia/CMakeLists.txt
@@ -330,7 +330,7 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_wmf AND MINGW
windows/qcomtaskresource_p.h
)
-qt_internal_extend_target(Multimedia CONDITION WASM
+qt_internal_extend_target(Multimedia CONDITION WASM OR HAIKU
SOURCES
wasm/qwasmmediadevices.cpp wasm/qwasmmediadevices_p.h
wasm/qwasmaudiosource.cpp wasm/qwasmaudiosource_p.h
diff --git a/src/multimedia/configure.cmake b/src/multimedia/configure.cmake
index c1d3540..bf95334 100644
--- a/src/multimedia/configure.cmake
+++ b/src/multimedia/configure.cmake
@@ -138,7 +138,7 @@ qt_feature("ffmpeg" PRIVATE
LABEL "FFmpeg"
ENABLE INPUT_ffmpeg STREQUAL 'yes'
DISABLE INPUT_ffmpeg STREQUAL 'no'
- CONDITION FFmpeg_FOUND AND (APPLE OR WIN32 OR ANDROID OR QNX OR QT_FEATURE_pulseaudio)
+ CONDITION FFmpeg_FOUND AND (APPLE OR WIN32 OR ANDROID OR QNX OR HAIKU OR QT_FEATURE_pulseaudio)
)
qt_feature("pipewire" PRIVATE
LABEL "PipeWire"
@@ -287,7 +287,7 @@ qt_configure_end_summary_section() # end of "Qt Multimedia" section
qt_configure_add_report_entry(
TYPE WARNING
MESSAGE "No backend for low level audio found."
- CONDITION NOT QT_FEATURE_alsa AND NOT QT_FEATURE_pulseaudio AND NOT QT_FEATURE_mmrenderer AND NOT QT_FEATURE_coreaudio AND NOT QT_FEATURE_wmsdk AND NOT ANDROID AND NOT WASM
+ CONDITION NOT QT_FEATURE_alsa AND NOT QT_FEATURE_pulseaudio AND NOT QT_FEATURE_mmrenderer AND NOT QT_FEATURE_coreaudio AND NOT QT_FEATURE_wmsdk AND NOT ANDROID AND NOT WASM AND NOT HAIKU
)
qt_configure_add_report_entry(
diff --git a/src/multimedia/platform/qplatformaudiodevices.cpp b/src/multimedia/platform/qplatformaudiodevices.cpp
index a8dc865..f93f38b 100644
--- a/src/multimedia/platform/qplatformaudiodevices.cpp
+++ b/src/multimedia/platform/qplatformaudiodevices.cpp
@@ -19,7 +19,7 @@
#include <qpulseaudiodevices_p.h>
#elif defined(Q_OS_QNX)
#include <qqnxaudiodevices_p.h>
-#elif defined(Q_OS_WASM)
+#elif defined(Q_OS_WASM) || defined(Q_OS_HAIKU)
#include <private/qwasmmediadevices_p.h>
#endif
@@ -39,7 +39,7 @@ std::unique_ptr<QPlatformAudioDevices> QPlatformAudioDevices::create()
return std::make_unique<QPulseAudioDevices>();
#elif defined(Q_OS_QNX)
return std::make_unique<QQnxAudioDevices>();
-#elif defined(Q_OS_WASM)
+#elif defined(Q_OS_WASM) || defined(Q_OS_HAIKU)
return std::make_unique<QWasmMediaDevices>();
#else
return std::make_unique<QPlatformAudioDevices>();
diff --git a/src/multimedia/wasm/qwasmaudiodevice.cpp b/src/multimedia/wasm/qwasmaudiodevice.cpp
index 53572f4..8cba6c1 100644
--- a/src/multimedia/wasm/qwasmaudiodevice.cpp
+++ b/src/multimedia/wasm/qwasmaudiodevice.cpp
@@ -2,9 +2,11 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qwasmaudiodevice_p.h"
+#ifndef Q_OS_HAIKU
#include <emscripten.h>
#include <emscripten/val.h>
#include <emscripten/bind.h>
+#endif
#include <AL/al.h>
#include <AL/alc.h>
@@ -19,7 +21,7 @@ QWasmAudioDevice::QWasmAudioDevice(const char *device,
{
isDefault = isDef;
minimumChannelCount = 1;
- maximumChannelCount = 2;
+ maximumChannelCount = 8;
minimumSampleRate = 8000;
maximumSampleRate = 96000; // js AudioContext max according to docs
@@ -36,6 +38,7 @@ QWasmAudioDevice::QWasmAudioDevice(const char *device,
// FIXME: firefox
// An AudioContext was prevented from starting automatically.
// It must be created or resumed after a user gesture on the page.
+#ifndef Q_OS_HAIKU
emscripten::val audioContext = emscripten::val::global("window")["AudioContext"].new_();
if (audioContext == emscripten::val::undefined())
audioContext = emscripten::val::global("window")["webkitAudioContext"].new_();
@@ -46,6 +49,9 @@ QWasmAudioDevice::QWasmAudioDevice(const char *device,
audioContext.call<void>("close");
preferredFormat.setSampleRate(sRate);
}
+#else
+ preferredFormat.setSampleRate(48000);
+#endif
auto f = QAudioFormat::Float;
diff --git a/src/multimedia/wasm/qwasmaudiosink.cpp b/src/multimedia/wasm/qwasmaudiosink.cpp
index d1068e7..e75b0f8 100644
--- a/src/multimedia/wasm/qwasmaudiosink.cpp
+++ b/src/multimedia/wasm/qwasmaudiosink.cpp
@@ -4,18 +4,23 @@
#include "qwasmaudiosink_p.h"
+#ifndef Q_OS_HAIKU
#include <emscripten.h>
+#endif
#include <AL/al.h>
+#include <AL/alext.h>
#include <AL/alc.h>
#include <QDebug>
#include <QtMath>
#include <QIODevice>
+#ifndef Q_OS_HAIKU
// non native al formats (AL_EXT_float32)
#define AL_FORMAT_MONO_FLOAT32 0x10010
#define AL_FORMAT_STEREO_FLOAT32 0x10011
+#endif
-constexpr unsigned int DEFAULT_BUFFER_DURATION = 50'000;
+constexpr unsigned int DEFAULT_BUFFER_DURATION = 6'000;
class ALData {
public:
@@ -97,6 +102,18 @@ void QWasmAudioSink::start(bool mode)
case 2:
aldata->format = AL_FORMAT_STEREO8;
break;
+ case 4:
+ aldata->format = AL_FORMAT_QUAD8;
+ break;
+ case 6:
+ aldata->format = AL_FORMAT_51CHN8;
+ break;
+ case 7:
+ aldata->format = AL_FORMAT_61CHN8;
+ break;
+ case 8:
+ aldata->format = AL_FORMAT_71CHN8;
+ break;
default:
return formatError();
}
@@ -109,6 +126,18 @@ void QWasmAudioSink::start(bool mode)
case 2:
aldata->format = AL_FORMAT_STEREO16;
break;
+ case 4:
+ aldata->format = AL_FORMAT_QUAD16;
+ break;
+ case 6:
+ aldata->format = AL_FORMAT_51CHN16;
+ break;
+ case 7:
+ aldata->format = AL_FORMAT_61CHN16;
+ break;
+ case 8:
+ aldata->format = AL_FORMAT_71CHN16;
+ break;
default:
return formatError();
}
@@ -121,6 +150,18 @@ void QWasmAudioSink::start(bool mode)
case 2:
aldata->format = AL_FORMAT_STEREO_FLOAT32;
break;
+ case 4:
+ aldata->format = AL_FORMAT_QUAD16;
+ break;
+ case 6:
+ aldata->format = AL_FORMAT_51CHN32;
+ break;
+ case 7:
+ aldata->format = AL_FORMAT_61CHN32;
+ break;
+ case 8:
+ aldata->format = AL_FORMAT_71CHN32;
+ break;
default:
return formatError();
}
diff --git a/src/multimedia/wasm/qwasmaudiosource.cpp b/src/multimedia/wasm/qwasmaudiosource.cpp
index 81f222c..d18cb7c 100644
--- a/src/multimedia/wasm/qwasmaudiosource.cpp
+++ b/src/multimedia/wasm/qwasmaudiosource.cpp
@@ -3,7 +3,10 @@
#include "qwasmaudiosource_p.h"
+#ifndef Q_OS_HAIKU
#include <emscripten.h>
+#endif
+
#include <AL/al.h>
#include <AL/alc.h>
#include <QDataStream>
diff --git a/src/multimedia/wasm/qwasmmediadevices.cpp b/src/multimedia/wasm/qwasmmediadevices.cpp
index b9db530..8bc2b80 100644
--- a/src/multimedia/wasm/qwasmmediadevices.cpp
+++ b/src/multimedia/wasm/qwasmmediadevices.cpp
@@ -76,6 +76,7 @@ QPlatformAudioSink *QWasmMediaDevices::createAudioSink(const QAudioDevice &devic
return ret;
}
+#ifndef Q_OS_HAIKU
void QWasmMediaDevices::parseDevices(emscripten::val devices)
{
if (devices.isNull() || devices.isUndefined()) {
@@ -188,9 +189,12 @@ void QWasmMediaDevices::parseDevices(emscripten::val devices)
m_firstInit = false;
}
+#endif
void QWasmMediaDevices::getMediaDevices()
{
+
+#ifndef Q_OS_HAIKU
emscripten::val navigator = emscripten::val::global("navigator");
m_jsMediaDevicesInterface = navigator["mediaDevices"];
@@ -237,6 +241,7 @@ void QWasmMediaDevices::getMediaDevices()
std::move(enumerateDevicesCallback));
});
}
+#endif
}
@@ -247,10 +252,17 @@ void QWasmMediaDevices::getOpenALAudioDevices()
auto capture = alcGetString(nullptr, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER);
// present even if there is no capture device
if (capture && !m_audioOutputs.contains(capture)) {
+#ifndef Q_OS_HAIKU
m_audioInputs.insert(capture,
(new QWasmAudioDevice(capture, "WebAssembly audio capture device",
true, QAudioDevice::Input))
->create());
+#else
+ m_audioInputs.insert(capture,
+ (new QWasmAudioDevice(capture, "Haiku audio capture device",
+ true, QAudioDevice::Input))
+ ->create());
+#endif
m_audioInputsAdded = true;
onAudioInputsChanged();
}
@@ -258,10 +270,17 @@ void QWasmMediaDevices::getOpenALAudioDevices()
auto playback = alcGetString(nullptr, ALC_DEFAULT_DEVICE_SPECIFIER);
// present even if there is no playback device
if (playback && !m_audioOutputs.contains(capture)) {
+#ifndef Q_OS_HAIKU
m_audioOutputs.insert(playback,
(new QWasmAudioDevice(playback, "WebAssembly audio playback device",
true, QAudioDevice::Output))
->create());
+#else
+ m_audioOutputs.insert(playback,
+ (new QWasmAudioDevice(playback, "Haiku audio playback device",
+ true, QAudioDevice::Output))
+ ->create());
+#endif
onAudioOutputsChanged();
}
m_firstInit = true;
diff --git a/src/multimedia/wasm/qwasmmediadevices_p.h b/src/multimedia/wasm/qwasmmediadevices_p.h
index 3ccd211..37f33f4 100644
--- a/src/multimedia/wasm/qwasmmediadevices_p.h
+++ b/src/multimedia/wasm/qwasmmediadevices_p.h
@@ -19,16 +19,20 @@
#include <private/qplatformvideodevices_p.h>
+#ifndef __HAIKU__
#include <QtCore/private/qstdweb_p.h>
+#endif
#include <qaudio.h>
#include <qaudiodevice.h>
#include <qcameradevice.h>
#include <qset.h>
#include <QtCore/qloggingcategory.h>
+#ifndef __HAIKU__
#include <emscripten.h>
#include <emscripten/val.h>
#include <emscripten/bind.h>
+#endif
#include <QMapIterator>
QT_BEGIN_NAMESPACE
@@ -78,19 +82,25 @@ private:
void updateCameraDevices();
void getMediaDevices();
void getOpenALAudioDevices();
+#ifndef __HAIKU__
void parseDevices(emscripten::val devices);
+#endif
QMap <std::string, QAudioDevice> m_audioOutputs;
QMap <std::string, QAudioDevice> m_audioInputs;
QMap <std::string, QCameraDevice> m_cameraDevices;
+#ifndef __HAIKU__
std::unique_ptr<qstdweb::EventCallback> m_deviceChangedCallback;
+#endif
bool m_videoInputsAdded = false;
bool m_audioInputsAdded = false;
bool m_audioOutputsAdded = false;
+#ifndef __HAIKU__
emscripten::val m_jsMediaDevicesInterface = emscripten::val::undefined();
+#endif
bool m_initDone = false;
bool m_firstInit = false;
};
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
index d67c428..4f1c552 100644
--- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
+++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
@@ -184,7 +184,11 @@ namespace {
QMaybe<AVFormatContextUPtr, MediaDataHolder::ContextError>
loadMedia(const QUrl &mediaUrl, QIODevice *stream, const std::shared_ptr<ICancelToken> &cancelToken)
{
+#ifndef Q_OS_HAIKU
const QByteArray url = mediaUrl.toString(QUrl::PreferLocalFile).toUtf8();
+#else
+ const QByteArray url = mediaUrl.isLocalFile() ? (mediaUrl.toString(QUrl::PreferLocalFile).toLocal8Bit()) : (mediaUrl.toEncoded());
+#endif
AVFormatContextUPtr context{ avformat_alloc_context() };
--
2.48.1

View File

@@ -0,0 +1,142 @@
SUMMARY="Classes for audio, video, radio and camera functionality"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtmultimedia-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="995c3b194f3de3e1929280639642f7661d94aa57523c459dbbf2f71dbdcaa18c"
SOURCE_DIR="qtmultimedia-everywhere-src-$portVersion"
PATCHES="qt6_multimedia-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_multimedia$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Multimedia$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6MultimediaQuick$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6MultimediaWidgets$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6SpatialAudio$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavformat$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6ShaderTools$secondaryArchSuffix
lib:libQt6Svg$secondaryArchSuffix
lib:libvulkan$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_multimedia${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6BundledResonanceAudio$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6FFmpegMediaPluginImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Multimedia$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6MultimediaQuick$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6MultimediaTestLib$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6MultimediaWidgets$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6SpatialAudio$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_multimedia$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
devel:libopenal$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libavcodec$secondaryArchSuffix >= 60
devel:libgl$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libQt6Svg$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libvulkan$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
# disable simd code for x86_gcc2
if [ $targetArchitecture == x86_gcc2 ]; then
sed -i -e 's|//#define PFFFT_SIMD_DISABLE|#define PFFFT_SIMD_DISABLE|' src/3rdparty/pffft/pffft.c
fi
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DFEATURE_linux_dmabuf=OFF \
-DQT_GENERATE_SBOM=OFF \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6BundledResonanceAudio \
libQt6FFmpegMediaPluginImpl \
libQt6Multimedia \
libQt6MultimediaQuick \
libQt6MultimediaTestLib \
libQt6MultimediaWidgets \
libQt6SpatialAudio
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,100 @@
SUMMARY="Network authentication module"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtnetworkauth-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="fac708b4227d4964d1d127cc6330b103a59a422a1e8334752506c454f7feb418"
SOURCE_DIR="qtnetworkauth-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_networkauth$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6NetworkAuth$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
"
PROVIDES_devel="
qt6_networkauth${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6NetworkAuth$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_networkauth$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Network$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6NetworkAuth
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,145 @@
SUMMARY="C++ and QML APIs for easy inclusion of 3D graphics"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtquick3d-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="a295268fdca5aeaab6bb4bb1a0a4d2720b19679ab5145c5185dac7ac3399e488"
SOURCE_DIR="qtquick3d-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_quick3d$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3D$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DAssetImport$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DAssetUtils$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DEffects$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DGlslParser$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DHelpers$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DHelpersImpl$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DIblBaker$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DParticleEffects$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DParticles$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DRuntimeRender$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DUtils$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6QuickTimeline$secondaryArchSuffix
lib:libQt6ShaderTools$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_quick3d${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Quick3D$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DAssetImport$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DAssetUtils$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DEffects$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DGlslParser$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DHelpers$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DHelpersImpl$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DIblBaker$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DParticleEffects$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DParticles$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DRuntimeRender$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DUtils$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_quick3d$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6QuickTimeline$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Quick3D \
libQt6Quick3DAssetImport \
libQt6Quick3DAssetUtils \
libQt6Quick3DEffects \
libQt6Quick3DGlslParser \
libQt6Quick3DHelpers \
libQt6Quick3DIblBaker \
libQt6Quick3DParticleEffects \
libQt6Quick3DParticles \
libQt6Quick3DRuntimeRender \
libQt6Quick3DUtils
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,245 @@
From d63093325035dbd1ad13fef4ac97d0486fa32e96 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 4 Sep 2024 22:58:42 +1000
Subject: Add Haiku support
diff --git a/src/3rdparty/PhysX/CMakeLists.txt b/src/3rdparty/PhysX/CMakeLists.txt
index 1fb4923..5c1a6ab 100644
--- a/src/3rdparty/PhysX/CMakeLists.txt
+++ b/src/3rdparty/PhysX/CMakeLists.txt
@@ -1341,7 +1341,7 @@ if (WIN32)
endif()
## MSYS
-if (MSYS OR MINGW)
+if (MSYS OR MINGW OR HAIKU)
qt_internal_extend_target(BundledPhysX DEFINES PX_SIMD_DISABLED PX_GCC_FAMILY)
endif()
diff --git a/src/3rdparty/PhysX/pxshared/include/foundation/PxIntrinsics.h b/src/3rdparty/PhysX/pxshared/include/foundation/PxIntrinsics.h
index 4b75756..9054315 100644
--- a/src/3rdparty/PhysX/pxshared/include/foundation/PxIntrinsics.h
+++ b/src/3rdparty/PhysX/pxshared/include/foundation/PxIntrinsics.h
@@ -34,7 +34,7 @@
#if PX_WINDOWS_FAMILY
#include "foundation/windows/PxWindowsIntrinsics.h"
-#elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4)
+#elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4 || PX_HAIKU)
#include "foundation/unix/PxUnixIntrinsics.h"
#elif PX_XBOXONE
#include "foundation/XboxOne/PxXboxOneIntrinsics.h"
diff --git a/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h b/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
index 630c7c0..59bd337 100644
--- a/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
+++ b/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
@@ -104,6 +104,8 @@ Operating system defines, see http://sourceforge.net/p/predef/wiki/OperatingSyst
#define PX_IOS 1
#elif defined(__APPLE__)
#define PX_OSX 1
+#elif defined(__HAIKU__)
+#define PX_HAIKU 1
#elif defined(__ORBIS__)
#define PX_PS4 1
#elif defined(__NX__)
@@ -194,6 +196,9 @@ define anything not defined on this platform to 0
#ifndef PX_OSX
#define PX_OSX 0
#endif
+#ifndef PX_HAIKU
+#define PX_HAIKU 0
+#endif
#ifndef PX_PS4
#define PX_PS4 0
#endif
@@ -269,7 +274,7 @@ family shortcuts
#define PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY || PX_XBOX_SERIES_X)
#define PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)
#define PX_APPLE_FAMILY (PX_IOS || PX_OSX) // equivalent to #if __APPLE__
-#define PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY) // shortcut for unix/posix platforms
+#define PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY || PX_HAIKU) // shortcut for unix/posix platforms
#if defined(__EMSCRIPTEN__)
#define PX_EMSCRIPTEN 1
#else
@@ -307,7 +312,7 @@ Assert macro
DLL export macros
*/
#ifndef PX_C_EXPORT
-#if PX_WINDOWS_FAMILY || PX_LINUX
+#if PX_WINDOWS_FAMILY || PX_LINUX || PX_HAIKU
#define PX_C_EXPORT extern "C"
#else
#define PX_C_EXPORT
diff --git a/src/3rdparty/PhysX/pxshared/include/foundation/unix/PxUnixIntrinsics.h b/src/3rdparty/PhysX/pxshared/include/foundation/unix/PxUnixIntrinsics.h
index 175f7fd..3620cac 100644
--- a/src/3rdparty/PhysX/pxshared/include/foundation/unix/PxUnixIntrinsics.h
+++ b/src/3rdparty/PhysX/pxshared/include/foundation/unix/PxUnixIntrinsics.h
@@ -33,7 +33,7 @@
#include "foundation/Px.h"
#include "foundation/PxSharedAssert.h"
-#if !(PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY)
+#if !(PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_HAIKU)
#error "This file should only be included by Unix builds!!"
#endif
diff --git a/src/3rdparty/PhysX/source/foundation/include/PsAllocator.h b/src/3rdparty/PhysX/source/foundation/include/PsAllocator.h
index a1480b2..7f04f00 100644
--- a/src/3rdparty/PhysX/source/foundation/include/PsAllocator.h
+++ b/src/3rdparty/PhysX/source/foundation/include/PsAllocator.h
@@ -118,6 +118,9 @@
#elif PX_SWITCH
#include <malloc.h>
#define PxAlloca(x) alloca(x)
+#elif PX_HAIKU
+ #include <malloc.h>
+ #define PxAlloca(x) alloca(x)
#endif
#define PxAllocaAligned(x, alignment) ((size_t(PxAlloca(x + alignment)) + (alignment - 1)) & ~size_t(alignment - 1))
diff --git a/src/3rdparty/PhysX/source/foundation/include/PsIntrinsics.h b/src/3rdparty/PhysX/source/foundation/include/PsIntrinsics.h
index f08af7f..8d72734 100644
--- a/src/3rdparty/PhysX/source/foundation/include/PsIntrinsics.h
+++ b/src/3rdparty/PhysX/source/foundation/include/PsIntrinsics.h
@@ -34,7 +34,7 @@
#if PX_WINDOWS_FAMILY
#include "windows/PsWindowsIntrinsics.h"
-#elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4)
+#elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4 || PX_HAIKU)
#include "unix/PsUnixIntrinsics.h"
#elif PX_XBOXONE
#include "XboxOne/PsXboxOneIntrinsics.h"
diff --git a/src/3rdparty/PhysX/source/foundation/include/PsThread.h b/src/3rdparty/PhysX/source/foundation/include/PsThread.h
index d0ec8d9..d88c0d4 100644
--- a/src/3rdparty/PhysX/source/foundation/include/PsThread.h
+++ b/src/3rdparty/PhysX/source/foundation/include/PsThread.h
@@ -41,7 +41,7 @@
#if PX_WINDOWS_FAMILY || PX_XBOXONE || PX_XBOX_SERIES_X
#define PxSpinLockPause() __asm pause
-#elif PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_SWITCH
+#elif PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_SWITCH || PX_HAIKU
#define PxSpinLockPause() asm("nop")
#else
#error "Platform not supported!"
diff --git a/src/3rdparty/PhysX/source/foundation/include/PsTime.h b/src/3rdparty/PhysX/source/foundation/include/PsTime.h
index 4d5eedb..38f23a7 100644
--- a/src/3rdparty/PhysX/source/foundation/include/PsTime.h
+++ b/src/3rdparty/PhysX/source/foundation/include/PsTime.h
@@ -84,7 +84,7 @@ class PX_FOUNDATION_API Time
Second getLastTime() const;
private:
-#if PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4
+#if PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4 || PX_HAIKU
Second mLastTime;
#else
int64_t mTickCount;
diff --git a/src/3rdparty/PhysX/source/foundation/include/unix/PsUnixIntrinsics.h b/src/3rdparty/PhysX/source/foundation/include/unix/PsUnixIntrinsics.h
index e6165e8..57fdb2d 100644
--- a/src/3rdparty/PhysX/source/foundation/include/unix/PsUnixIntrinsics.h
+++ b/src/3rdparty/PhysX/source/foundation/include/unix/PsUnixIntrinsics.h
@@ -45,7 +45,7 @@
// this file is for internal intrinsics - that is, intrinsics that are used in
// cross platform code but do not appear in the API
-#if !(PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY)
+#if !(PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_HAIKU)
#error "This file should only be included by unix builds!!"
#endif
diff --git a/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h b/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
index 9a4fbb8..f6cf9d6 100644
--- a/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
+++ b/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
@@ -43,7 +43,11 @@ namespace shdfnd
namespace aos
{
-#if PX_EMSCRIPTEN || PX_SSE2
+#if PX_HAIKU
+#include <SupportDefs.h>
+#endif
+
+#if PX_EMSCRIPTEN || PX_SSE2 || PX_HAIKU
typedef int8_t __int8_t;
typedef int16_t __int16_t;
typedef int32_t __int32_t;
diff --git a/src/3rdparty/PhysX/source/foundation/src/unix/PsUnixThread.cpp b/src/3rdparty/PhysX/source/foundation/src/unix/PsUnixThread.cpp
index 0fb6851..159e36a 100644
--- a/src/3rdparty/PhysX/source/foundation/src/unix/PsUnixThread.cpp
+++ b/src/3rdparty/PhysX/source/foundation/src/unix/PsUnixThread.cpp
@@ -36,13 +36,13 @@
#include "PsThread.h"
#include <math.h>
-#if !PX_APPLE_FAMILY && !defined(ANDROID) && !defined(__CYGWIN__) && !PX_PS4 && !PX_EMSCRIPTEN && __GLIBC__
+#if !PX_APPLE_FAMILY && !defined(ANDROID) && !defined(__CYGWIN__) && !PX_PS4 && !PX_EMSCRIPTEN && !PX_HAIKU && __GLIBC__
#include <bits/local_lim.h> // PTHREAD_STACK_MIN
#endif
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
-#if !PX_PS4
+#if !PX_PS4 && !PX_HAIKU
#include <sys/syscall.h>
#if !PX_APPLE_FAMILY && !PX_EMSCRIPTEN
#include <asm/unistd.h>
@@ -57,6 +57,10 @@
#include <pthread.h>
#endif
+#if PX_HAIKU
+#include <OS.h>
+#endif
+
// fwd
#if defined(ANDROID)
extern "C" {
@@ -114,6 +118,8 @@ static void setTid(_ThreadImpl& threadImpl)
// AM: TODO: neither of the below are implemented
#elif PX_APPLE_FAMILY
threadImpl.tid = syscall(SYS_gettid);
+#elif PX_HAIKU
+ threadImpl.tid = find_thread(NULL);
#elif PX_EMSCRIPTEN
// No thread id for emscripten
#else
@@ -324,7 +330,7 @@ uint32_t ThreadImpl::setAffinityMask(uint32_t mask)
{
#if PX_PS4
prevMask = setAffinityMaskPS4(getThread(this)->thread, mask);
-#elif PX_EMSCRIPTEN
+#elif PX_EMSCRIPTEN || PX_HAIKU
// not supported
#elif !PX_APPLE_FAMILY // Apple doesn't support syscall with getaffinity and setaffinity
int32_t errGet = syscall(__NR_sched_getaffinity, getThread(this)->tid, sizeof(prevMask), &prevMask);
@@ -433,6 +439,10 @@ uint32_t ThreadImpl::getNbPhysicalCores()
int count;
size_t size = sizeof(count);
return sysctlbyname("hw.physicalcpu", &count, &size, NULL, 0) ? 0 : count;
+#elif PX_HAIKU
+ system_info info;
+ status_t result = get_system_info(&info);
+ return (result != B_OK) ? 0 : info.cpu_count;
#elif defined(ANDROID)
return android_getCpuCount();
#else
diff --git a/src/3rdparty/PhysX/source/pvd/include/PxProfileAllocatorWrapper.h b/src/3rdparty/PhysX/source/pvd/include/PxProfileAllocatorWrapper.h
index 46034b0..58b4059 100644
--- a/src/3rdparty/PhysX/source/pvd/include/PxProfileAllocatorWrapper.h
+++ b/src/3rdparty/PhysX/source/pvd/include/PxProfileAllocatorWrapper.h
@@ -74,7 +74,7 @@ namespace physx { namespace profile {
{
static const char* getName()
{
-#if PX_LINUX || PX_ANDROID || PX_PS4 || PX_IOS || PX_OSX || PX_EMSCRIPTEN || PX_SWITCH
+#if PX_LINUX || PX_ANDROID || PX_PS4 || PX_IOS || PX_OSX || PX_EMSCRIPTEN || PX_SWITCH || PX_HAIKU
return __PRETTY_FUNCTION__;
#else
return typeid(T).name();
--
2.48.1

View File

@@ -0,0 +1,120 @@
SUMMARY="Qt6 Data Visualization module"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtquick3dphysics-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="5f1e2f7e591faf14d0d7e6e397a15707a7b8536e52cb3c07ce3425ddf55826a0"
SOURCE_DIR="qtquick3dphysics-everywhere-src-$portVersion"
PATCHES="qt6_quick3dphysics-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_quick3dphysics$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DPhysics$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DPhysicsHelpers$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6Quick3D$secondaryArchSuffix
lib:libQt6ShaderTools$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_quick3dphysics${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Quick3DPhysics$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DPhysicsHelpers$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6BundledPhysX$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_quick3dphysics$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6OpenGL$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6Quick3D$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Quick3DPhysics \
libQt6Quick3DPhysicsHelpers \
libQt6BundledPhysX
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,112 @@
SUMMARY="Qt module for keyframe-based timeline construction"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtquicktimeline-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="339f2cdd0b731615a215534799ed865e222fc797f431ad4a6677a6d5c862e648"
SOURCE_DIR="qtquicktimeline-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_quicktimeline$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickTimeline$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6QuickTimelineBlendTrees$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_quicktimeline${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6QuickTimeline$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6QuickTimelineBlendTrees$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_quicktimeline$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=OFF \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6QuickTimeline \
libQt6QuickTimelineBlendTrees
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,118 @@
SUMMARY="Static and runtime integration of SCXML models into Qt6 code"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtscxml-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="a73bb5241c124d776d79ea24749d707b71365e395d8af3382a1f1c43a69a6892"
SOURCE_DIR="qtscxml-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_scxml$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Scxml$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6ScxmlQml$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6StateMachine$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6StateMachineQml$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_scxml${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Scxml$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6ScxmlQml$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6StateMachine$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6StateMachineQml$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_scxml$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Scxml \
libQt6ScxmlQml \
libQt6StateMachine \
libQt6StateMachineQml
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,22 @@
From 0a3498309577409e152926ffeb09daa0fcca02d3 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 7 Nov 2021 10:47:17 +1000
Subject: Don't link with librt for Haiku
diff --git a/src/plugins/sensors/dummy/CMakeLists.txt b/src/plugins/sensors/dummy/CMakeLists.txt
index 19f9332..2e97baf 100644
--- a/src/plugins/sensors/dummy/CMakeLists.txt
+++ b/src/plugins/sensors/dummy/CMakeLists.txt
@@ -24,7 +24,7 @@ qt_internal_add_plugin(dummySensorPlugin
## Scopes:
#####################################################################
-qt_internal_extend_target(dummySensorPlugin CONDITION UNIX AND NOT ANDROID AND NOT APPLE AND NOT OPENBSD AND NOT QNX
+qt_internal_extend_target(dummySensorPlugin CONDITION UNIX AND NOT ANDROID AND NOT APPLE AND NOT OPENBSD AND NOT QNX AND NOT HAIKU
LIBRARIES
rt
)
--
2.48.1

View File

@@ -0,0 +1,117 @@
SUMMARY="Provide access to sensor hardware and motion gesture recognition"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtsensors-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="a46137c1f4a768d00397a2f83de7018318b0ca35d39c848da62d1783b368e467"
SOURCE_DIR="qtsensors-everywhere-src-$portVersion"
PATCHES="qt6_sensors-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_sensors$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Sensors$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6SensorsQuick$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6Svg$secondaryArchSuffix
lib:libQt6SvgWidgets$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_sensors${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Sensors$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6SensorsQuick$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_sensors$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6Svg$secondaryArchSuffix == $portVersion
devel:libQt6SvgWidgets$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -v -C build install
prepareInstalledDevelLibs \
libQt6Sensors \
libQt6SensorsQuick
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,34 @@
From d363728f18a4647807c2828989553c981b413d69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Mon, 11 Feb 2019 15:53:20 +1000
Subject: Add filteredDeviceFilePaths for Haiku's /dev/ports/*
diff --git a/src/serialport/qserialportinfo_unix.cpp b/src/serialport/qserialportinfo_unix.cpp
index 0fb209f..91e26e6 100644
--- a/src/serialport/qserialportinfo_unix.cpp
+++ b/src/serialport/qserialportinfo_unix.cpp
@@ -47,13 +47,19 @@ static QStringList filteredDeviceFilePaths()
<< QStringLiteral("cu*");
#elif defined(Q_OS_QNX)
<< QStringLiteral("ser*");
+#elif defined(Q_OS_HAIKU)
+ << QStringLiteral("*serial*")
+ << QStringLiteral("usb*");
#else
;
#endif
QStringList result;
-
+#if defined(Q_OS_HAIKU)
+ QDir deviceDir(QStringLiteral("/dev/ports"));
+#else
QDir deviceDir(QStringLiteral("/dev"));
+#endif
if (deviceDir.exists()) {
deviceDir.setNameFilters(deviceFileNameFilterList);
deviceDir.setFilter(QDir::Files | QDir::System | QDir::NoSymLinks);
--
2.48.1

View File

@@ -0,0 +1,95 @@
SUMMARY="Provides access to hardware and virtual serial ports"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtserialport-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="fbe762f5ca6b3e58fbbf51604928b50cf14628b670eaeab57751e07a4086b954"
SOURCE_DIR="qtserialport-everywhere-src-$portVersion"
PATCHES="qt6_serialport-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_serialport$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6SerialPort$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
"
PROVIDES_devel="
qt6_serialport${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6SerialPort$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_serialport$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libQt6Core$secondaryArchSuffix == $portVersion
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6SerialPort
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,103 @@
SUMMARY="Qt6 shader tools module"
DESCRIPTION="The Qt Shader Tools module builds on the SPIR-V Open Source Ecosystem as described \
at the Khronos SPIR-V web site. For compiling into SPIR-V glslang is used, while translating \
and reflecting is done via SPIRV-Cross."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtshadertools-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="916c40281ac3dee23b163f6ca73fb5bdeee344838b9a922b6f36269642d6f4bb"
SOURCE_DIR="qtshadertools-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_shadertools$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6ShaderTools$secondaryArchSuffix = $portVersion compat >= 6
cmd:qsb$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
"
PROVIDES_devel="
qt6_shadertools${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6ShaderTools$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_shadertools$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -Bbuild -S. -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
# needs work, finds the library but tries to install to /boot/system
# sed -i "s|$ENV{DESTDIR}/boot/system|{DESTDIR}$prefix|" \
# build/qt_sbom/*.cmake
ninja -C build install
prepareInstalledDevelLib \
libQt6ShaderTools
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
mkdir -p $binDir
ln -s -t $binDir $libDir/Qt6/qsb
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,32 @@
From 927bbbb6fda2f5446683aa9d54031ae67f096921 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 15 Apr 2024 20:51:10 +1000
Subject: Fix flite voices path
diff --git a/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp b/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
index 99c263e..539eef8 100644
--- a/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
+++ b/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
@@ -224,7 +224,7 @@ bool QTextToSpeechProcessorFlite::init()
// We could source the language and perhaps the list of voices we want to load
// (hardcoded below) from an environment variable.
const QLatin1StringView langCode("us");
- const QLatin1StringView libPrefix("flite_cmu_%1_%2.so.1");
+ const QLatin1StringView libPrefix("flite_cmu_%1_%2.so.2");
const QLatin1StringView registerPrefix("register_cmu_%1_%2");
const QLatin1StringView unregisterPrefix("unregister_cmu_%1_%2");
@@ -273,7 +273,8 @@ QStringList QTextToSpeechProcessorFlite::fliteAvailableVoices(const QString &lib
QStringList ldPaths = pe.value("LD_LIBRARY_PATH"_L1).split(":", Qt::SkipEmptyParts);
if (ldPaths.isEmpty()) {
ldPaths = QStringList{"/usr/lib64"_L1, "/usr/local/lib64"_L1, "/lib64"_L1,
- "/usr/lib/x86_64-linux-gnu"_L1, "/usr/lib"_L1};
+ "/usr/lib/x86_64-linux-gnu"_L1, "/usr/lib"_L1,
+ "/system/lib"_L1, "/system/lib/x86"_L1};
} else {
ldPaths.removeDuplicates();
}
--
2.48.1

View File

@@ -0,0 +1,105 @@
SUMMARY="Text-to-speech library for the Qt6 framework"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtspeech-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="a981b68c71743d77a3ce4437ad118d3851390f05a1ab26a859fb9b8c5938c971"
SOURCE_DIR="qtspeech-everywhere-src-$portVersion"
PATCHES="qt6_speech-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_speech$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6TextToSpeech$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libflite$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Multimedia$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_speech${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6TextToSpeech$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_speech$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
devel:libQt6Multimedia$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libflite$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Multimedia$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6TextToSpeech
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,107 @@
SUMMARY="Classes for displaying the contents of SVG files"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtsvg-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="ec359d930c95935ea48af58b100c2f5d0d275968ec8ca1e0e76629b7159215fc"
SOURCE_DIR="qtsvg-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_svg$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Svg$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6SvgWidgets$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
SUPPLEMENTS="
qt6_base$secondaryArchSuffix
"
PROVIDES_devel="
qt6_svg${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Svg$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6SvgWidgets$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_svg$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Widgets$secondaryArchSuffix == $portVersion
devel:libQt6Xml$secondaryArchSuffix == $portVersion
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Svg \
libQt6SvgWidgets
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,196 @@
SUMMARY="A cross-platform application and UI framework (Development Tools, QtHelp)"
DESCRIPTION="The QtTools modules contains some tools mostly useful for application development. \
Included are Qt Designer (GUI design), QDbusViewer and more."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qttools-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="fa645589cc3f939022401a926825972a44277dead8ec8607d9f2662e6529c9a4"
SOURCE_DIR="qttools-everywhere-src-$portVersion"
ADDITIONAL_FILES="
Assistant.rdef.in
Designer.rdef.in
Linguist.rdef.in
QDBusViewer.rdef.in
FindWrapLibClang.cmake.in
"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
clangVer="20"
PROVIDES="
qt6_tools$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Designer$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6DesignerComponents$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Help$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6UiTools$secondaryArchSuffix = $portVersion compat >= 6
cmd:assistant6$secondaryArchSuffix = $portVersion compat >= 6
cmd:designer6$secondaryArchSuffix = $portVersion compat >= 6
cmd:linguist6$secondaryArchSuffix = $portVersion compat >= 6
cmd:pixeltool6$secondaryArchSuffix = $portVersion compat >= 6
cmd:qdbus6$secondaryArchSuffix = $portVersion compat >= 6
cmd:qdbusviewer6$secondaryArchSuffix = $portVersion compat >= 6
cmd:qdistancefieldgenerator6$secondaryArchSuffix = $portVersion compat >= 6
cmd:qdoc6$secondaryArchSuffix = $portVersion compat >= 6
cmd:qtdiag6$secondaryArchSuffix = $portVersion compat >= 6
cmd:qtplugininfo6$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libclang$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libLLVM$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libvulkan$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_tools${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Designer$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6DesignerComponents$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Help$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6UiTools$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_tools$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libclang$secondaryArchSuffix >= $clangVer
devel:libclang_cpp$secondaryArchSuffix >= $clangVer
devel:libLLVM_$clangVer$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix >= 3
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6Widgets$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libvulkan$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
local LLVM_VERSION=$(llvm-config --version)
local LLVM_VERION_MAJOR="`echo "$LLVM_VERSION" | cut -d. -f1`"
local LLVM_VERION_MINOR="`echo "$LLVM_VERSION" | cut -d. -f2`"
local LLVM_VERION_PATCH="`echo "$LLVM_VERSION" | cut -d. -f3`"
sed \
-e "s|@CLANG_VERSION_MAJOR@|$LLVM_VERION_MAJOR|" \
-e "s|@CLANG_VERSION_MINOR@|$LLVM_VERION_MINOR|" \
-e "s|@CLANG_VERSION_PATCH@|$LLVM_VERION_PATCH|" \
-e "s|@CLANG_VERSION@|$LLVM_VERSION|" \
-e "s|@CLANG_LIBDIR@|/system/$relativeDevelopLibDir|" \
-e "s|@CLANG_INCLUDE_DIR@|/system/$relativeLibDir/clang/$LLVM_VERSION/include|" \
$portDir/additional-files/FindWrapLibClang.cmake.in > $sourceDir/cmake/FindWrapLibClang.cmake
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DINSTALL_PUBLICBINDIR=$binDir \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Designer \
libQt6DesignerComponents \
libQt6Help \
libQt6UiTools
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
# add tools to Deskbar menu
mkdir -p \
$binDir \
$dataDir/deskbar/menu/Applications/Qt
# install symlinks for user-facing tools
binFiles="linguist designer pixeltool assistant qdistancefieldgenerator qtplugininfo \
qdoc qdbus qdbusviewer qtdiag"
suffix="6"
for f in $binFiles; do
ln -s $libDir/Qt6/$f $binDir/$f$suffix
done
# add resources
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local VARIETY="B_APPV_FINAL"
resFiles="Assistant Designer Linguist QDBusViewer"
for j in $resFiles; do
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@VARIETY@|$VARIETY|" \
$portDir/additional-files/$j.rdef.in > $sourceDir/$j.rdef
mv $libDir/Qt6/${j,,} $libDir/Qt6/$j
ln -s $libDir/Qt6/$j $libDir/Qt6/${j,,}
addResourcesToBinaries $sourceDir/$j.rdef $libDir/Qt6/$j
addAppDeskbarSymlink $libDir/Qt6/$j "Qt/Qt6 $j"
mimeset -f $libDir/Qt6/$j
done
mkdir -p $libDir/Qt6/lib
cp -f `finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/libclang.so.$clangVer.1 $libDir/Qt6/lib
cp -f `finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/libclang-cpp.so.$clangVer.1 $libDir/Qt6/lib
strip -s $libDir/Qt6/lib/libclang*
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,70 @@
SUMMARY="A cross-platform application and UI framework (Translations)"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qttranslations-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="1d5581ef5fc7c7bc556f2403017983683993bbebfcdf977ef8f180f604668c3f"
SOURCE_DIR="qttranslations-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_translations$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
"
SUPPLEMENTS="
qt6_base$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
qt6_tools${secondaryArchSuffix}_devel
devel:libQt6Core$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:qdoc6$secondaryArchSuffix
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
}

View File

@@ -0,0 +1,114 @@
SUMMARY="Provides access to QObject or QML objects from HTML/JavaScript clients"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtwebchannel-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="10519a9cdde17a7d955f332480c6bcd1202e4b2c48fd94eb31efaa21d0fabfee"
SOURCE_DIR="qtwebchannel-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_webchannel$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6WebChannel$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6WebChannelQuick$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6WebSockets$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_webchannel${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6WebChannel$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6WebChannelQuick$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_webchannel$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6WebSockets$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6WebChannel \
libQt6WebChannelQuick
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,109 @@
SUMMARY="Provides WebSocket communication compliant with RFC 6455"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtwebsockets-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="6b3add7cacf3a4e0b448d5e69d9dac42795fef63309038af1dc5a454ce514940"
SOURCE_DIR="qtwebsockets-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
qt6_websockets$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6WebSockets$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_websockets${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6WebSockets$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_websockets$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6WebSockets
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}

View File

@@ -0,0 +1,115 @@
SUMMARY="Provides WebSocket communication compliant with RFC 6455"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2025 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtwebview-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="5b24070e8ceb12c3c4df5a887f3ffc3544193646386e6ce18e41c20d42d7ed6b"
SOURCE_DIR="qtwebview-everywhere-src-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
qt6_webview$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6WebView$secondaryArchSuffix = $libVersionCompat
lib:libQt6WebViewQuick$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libQt6OpenGL$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
"
PROVIDES_devel="
qt6_webview${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6WebView$secondaryArchSuffix = $libVersionCompat
devel:libQt6WebViewQuick$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
qt6_webview$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6OpenGL$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
# devel:libQt6WebEngineCore$secondaryArchSuffix
# devel:libQt6WebEngineQuick$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC \
-DQT_GENERATE_SBOM=ON \
-Wno-dev
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6WebView \
libQt6WebViewQuick
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
# cleanup
rmdir $libDir/Qt6
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}