From 2b3cddcb06f2221a08f80970b627da599e2e3137 Mon Sep 17 00:00:00 2001 From: Reilly Brogan Date: Thu, 21 Sep 2023 17:13:29 -0500 Subject: [PATCH] tasks: Add qt5-update task Signed-off-by: Reilly Brogan --- common/Taskfile.yml | 4 +++ common/Tasks/Taskfile.qt5.yml | 65 +++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 common/Tasks/Taskfile.qt5.yml diff --git a/common/Taskfile.yml b/common/Taskfile.yml index 494302c4628..7e173f0480d 100644 --- a/common/Taskfile.yml +++ b/common/Taskfile.yml @@ -6,6 +6,10 @@ vars: SPECFILE: sh: if [ -f "{{ .USER_WORKING_DIR }}/package.yml" ]; then echo "package.yml"; else echo "pspec.xml"; fi; +includes: + qt5: + taskfile: ./common/Tasks/Taskfile.qt5.yml + tasks: # Utility tasks, mainly for precondition checks package-file: diff --git a/common/Tasks/Taskfile.qt5.yml b/common/Tasks/Taskfile.qt5.yml new file mode 100644 index 00000000000..adc0b04f895 --- /dev/null +++ b/common/Tasks/Taskfile.qt5.yml @@ -0,0 +1,65 @@ +version : '3' + +tasks: + qt5-update: + desc: Update qt5 package to latest KDE upstream + dir: '{{.USER_WORKING_DIR}}' + preconditions: + - sh: test -f package.yml + msg: "`package.yml` must exist in the current directory" + - sh: '[[ "$(basename $PWD)" == qt5-* ]]' + msg: "Must be ran from within a qt5 package directory" + cmds: + - | + pkg_name=$(basename $PWD) + qt_name="${pkg_name//5-/}" + upstream_sha=$(git ls-remote https://invent.kde.org/qt/qt/$qt_name.git kde/5.15 | awk '{printf $1}') + current_sha=$(yq '.source.[0] | to_entries | .[0].value' package.yml) + if [ "$upstream_sha" != "$current_sha" ]; then + echo "New upstream commit: $upstream_sha" + sed -i "s|$current_sha|$upstream_sha|g" package.yml + fi + +# qt5 build order: +# T1: +# - qt5-base +# +# T2: +# - qt5-declarative +# - qt5-imageformats +# - qt5-networkauth +# - qt5-script +# - qt5-serialport +# - qt5-svg +# - qt5-x11extras +# +# T3: +# - qt5-3d +# - qt5-charts +# - qt5-connectivity +# - qt5-datavis3d +# - qt5-graphicaleffects +# - qt5-location +# - qt5-multimedia +# - qt5-quickcontrols +# - qt5-quickcontrols2 +# - qt5-remoteobjects +# - qt5-scxml +# - qt5-sensors +# - qt5-serialbus +# - qt5-tools +# - qt5-virtualkeyboard +# - qt5-wayland +# - qt5-websockets +# - qt5-xmlpatterns +# +# T4: +# - qt5-speech +# - qt5-translations +# - qt5-webchannel +# +# T5: +# - qt5-webengine +# +# T6: +# - qt5-webview