From 228022925a169f642d48f2c0adfc78dbcaed4fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kleines=20Filmr=C3=B6llchen?= Date: Sat, 16 Sep 2023 12:58:27 +0200 Subject: [PATCH] Ports: Add qt6-qtsvg --- Ports/AvailablePorts.md | 1 + Ports/qt6-qtsvg/package.sh | 43 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100755 Ports/qt6-qtsvg/package.sh diff --git a/Ports/AvailablePorts.md b/Ports/AvailablePorts.md index a5732cb6080..d44bc77eabe 100644 --- a/Ports/AvailablePorts.md +++ b/Ports/AvailablePorts.md @@ -262,6 +262,7 @@ This list is also available at [ports.serenityos.net](https://ports.serenityos.n | [`qoi`](qoi/) | Quite OK Image Format for fast, lossless image compression | edb8d7b | https://github.com/phoboslab/qoi | | [`qt6-qt5compat`](qt6-qt5compat/) | Qt6 Qt5Compat | 6.4.0 | https://doc.qt.io/qt-6/qtcore5-index.html | | [`qt6-qtbase`](qt6-qtbase/) | Qt6 QtBase | 6.4.0 | https://qt.io | +| [`qt6-qtsvg`](qt6-qtsvg/) | Qt6 QtSVG | 6.4.0 | https://qt.io | | [`qt6-serenity`](qt6-serenity/) | QSerenityPlatform | | https://github.com/SerenityPorts/QSerenityPlatform | | [`quake`](quake/) | Quake | 0.65 | https://github.com/SerenityOS/SerenityQuake | | [`quake2`](quake2/) | QuakeII | 0.1 | https://github.com/shamazmazum/quake2sdl | diff --git a/Ports/qt6-qtsvg/package.sh b/Ports/qt6-qtsvg/package.sh new file mode 100755 index 00000000000..080b179fa1d --- /dev/null +++ b/Ports/qt6-qtsvg/package.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env -S bash ../.port_include.sh +port='qt6-qtsvg' +version='6.4.0' +workdir="qtsvg-everywhere-src-${version}" +useconfigure='true' +files=( + "https://download.qt.io/official_releases/qt/$(cut -d. -f1,2 <<< ${version})/${version}/submodules/qtsvg-everywhere-src-${version}.tar.xz#03fdae9437d074dcfa387dc1f2c6e7e14fea0f989bf7e1aa265fd35ffc2c5b25" +) +configopts=( + '-GNinja' + "-DCMAKE_TOOLCHAIN_FILE=${SERENITY_BUILD_DIR}/CMakeToolchain.txt" + '-DCMAKE_CROSSCOMPILING=ON' + '-DQT_FORCE_BUILD_TOOLS=ON' +) +depends=( + 'qt6-qtbase' +) + +configure() { + QT_HOST_PATH="$(qmake6 -query QT_HOST_PREFIX)" + QT_HOST_CMAKE_PATH="$(qmake6 -query QT_HOST_LIBS)/cmake" + QT_HOST_TOOLS='HostInfo CoreTools GuiTools WidgetsTools' + QT_HOST_TOOLS_PATH="${QT_HOST_CMAKE_PATH}/Qt6%s/\n" + + for host_tool in ${QT_HOST_TOOLS}; do + if [[ ! -d $(printf $QT_HOST_TOOLS_PATH $host_tool) ]]; then + echo "You need to have Qt $version installed on the host (path "$(printf $QT_HOST_TOOLS_PATH $host_tool)" is missing)" + exit 1 + fi + done + + MERGED_HOST_TOOLS=$(for host_tool in ${QT_HOST_TOOLS}; do echo "-DQt6${host_tool}_DIR=${QT_HOST_CMAKE_PATH}/Qt6${host_tool}/"; done) + + run cmake ${configopts[@]} "-DQT_HOST_PATH=${QT_HOST_PATH}" ${MERGED_HOST_TOOLS} +} + +build() { + run ninja +} + +install() { + run ninja install +}