From bebdba74bc97c21d893455ede13a7b83b4439b79 Mon Sep 17 00:00:00 2001 From: Aaron Colwell <300262+acolwell@users.noreply.github.com> Date: Mon, 23 Dec 2024 13:10:52 -0800 Subject: [PATCH] Refactor natron build deps packages to work with Qt5 & Qt6 - Create natron-build-deps-common package to hold all common deps. - Modified natron-build-deps-qt5 to use new natron-build-deps-common package. - Added natron-build-deps-qt6 package for Qt6 builds. --- .../build_natron_package_repo.sh | 2 + .../PKGBUILD | 49 +++++++++++++++++++ .../README.md | 1 + .../mingw-w64-natron-build-deps-qt5/PKGBUILD | 31 ++---------- .../mingw-w64-natron-build-deps-qt5/README.md | 2 +- .../mingw-w64-natron-build-deps-qt6/PKGBUILD | 32 ++++++++++++ .../mingw-w64-natron-build-deps-qt6/README.md | 1 + .../windows_pacman_repo_version.txt | 2 +- 8 files changed, 90 insertions(+), 30 deletions(-) create mode 100644 tools/MINGW-packages/mingw-w64-natron-build-deps-common/PKGBUILD create mode 100644 tools/MINGW-packages/mingw-w64-natron-build-deps-common/README.md create mode 100644 tools/MINGW-packages/mingw-w64-natron-build-deps-qt6/PKGBUILD create mode 100644 tools/MINGW-packages/mingw-w64-natron-build-deps-qt6/README.md diff --git a/tools/MINGW-packages/build_natron_package_repo.sh b/tools/MINGW-packages/build_natron_package_repo.sh index dc08294d51..914821e9db 100644 --- a/tools/MINGW-packages/build_natron_package_repo.sh +++ b/tools/MINGW-packages/build_natron_package_repo.sh @@ -18,7 +18,9 @@ mingw-w64-poppler mingw-w64-imagemagick mingw-w64-osmesa mingw-w64-dump_syms +mingw-w64-natron-build-deps-common mingw-w64-natron-build-deps-qt5 +mingw-w64-natron-build-deps-qt6 " source "${BUILD_SCRIPT_DIR}/natron_repo_common.sh" diff --git a/tools/MINGW-packages/mingw-w64-natron-build-deps-common/PKGBUILD b/tools/MINGW-packages/mingw-w64-natron-build-deps-common/PKGBUILD new file mode 100644 index 0000000000..dfe5720b81 --- /dev/null +++ b/tools/MINGW-packages/mingw-w64-natron-build-deps-common/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: The Natron developers + +pkgname="${MINGW_PACKAGE_PREFIX}-natron-build-deps-common" +pkgver=2025.5 +pkgrel=1 +pkgdesc="Minimal package set for building Natron installer for any version of Qt" +url="https://natrongithub.github.io/" +arch=("any") +license=("GPL") +depends=( + "git" + "base-devel" + "${MINGW_PACKAGE_PREFIX}-cc" + # Natron deps + "${MINGW_PACKAGE_PREFIX}-boost" + "${MINGW_PACKAGE_PREFIX}-cairo" + + # openfx-misc deps + "${MINGW_PACKAGE_PREFIX}-osmesa" + # openfx-io deps + "${MINGW_PACKAGE_PREFIX}-natron_openimageio" + "${MINGW_PACKAGE_PREFIX}-natron_seexpr-git" + "${MINGW_PACKAGE_PREFIX}-natron_poppler" + "${MINGW_PACKAGE_PREFIX}-natron_imagemagick" + "${MINGW_PACKAGE_PREFIX}-natron_ffmpeg-gpl2" + # openfx-arena deps + "${MINGW_PACKAGE_PREFIX}-librevenge" + "${MINGW_PACKAGE_PREFIX}-libzip" + "${MINGW_PACKAGE_PREFIX}-libcdr" + "${MINGW_PACKAGE_PREFIX}-natron_sox" + # openfx-gmic + "${MINGW_PACKAGE_PREFIX}-curl" + "${MINGW_PACKAGE_PREFIX}-fftw" + # installer + "zip" + "unzip" + "${MINGW_PACKAGE_PREFIX}-firebird" + "${MINGW_PACKAGE_PREFIX}-breakpad-git" + "${MINGW_PACKAGE_PREFIX}-pkgconf" + "${MINGW_PACKAGE_PREFIX}-python-sphinx" + "${MINGW_PACKAGE_PREFIX}-python-sphinx_rtd_theme" + "${MINGW_PACKAGE_PREFIX}-natron-setup" + "${MINGW_PACKAGE_PREFIX}-natron_dump_syms" +) + +# these should be empty, but saneman in CI complains, so we keep them here +# until that is fixed: +source=("README.md") +sha256sums=("ddafabaf2aa91794eb8f610dcbac4920d29bffc13d5e04af1be7efdb8490c067") \ No newline at end of file diff --git a/tools/MINGW-packages/mingw-w64-natron-build-deps-common/README.md b/tools/MINGW-packages/mingw-w64-natron-build-deps-common/README.md new file mode 100644 index 0000000000..2c9200901e --- /dev/null +++ b/tools/MINGW-packages/mingw-w64-natron-build-deps-common/README.md @@ -0,0 +1 @@ +This meta package depends on all the common packages needed for building Natron with any version of Qt, the openfx plugins, and the Natron installer. \ No newline at end of file diff --git a/tools/MINGW-packages/mingw-w64-natron-build-deps-qt5/PKGBUILD b/tools/MINGW-packages/mingw-w64-natron-build-deps-qt5/PKGBUILD index a562a9a06c..5c761742ee 100644 --- a/tools/MINGW-packages/mingw-w64-natron-build-deps-qt5/PKGBUILD +++ b/tools/MINGW-packages/mingw-w64-natron-build-deps-qt5/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: The Natron developers pkgname="${MINGW_PACKAGE_PREFIX}-natron-build-deps-qt5" -pkgver=2023.4 +pkgver=2025.5 pkgrel=1 pkgdesc="Minimal package set for building Natron installer with QT5" url="https://natrongithub.github.io/" @@ -22,35 +22,10 @@ depends=( # https://github.com/msys2/MINGW-packages/commit/c21027404c9d8776ad7dad94973a209bdc3aede2 "${MINGW_PACKAGE_PREFIX}-clang" "${MINGW_PACKAGE_PREFIX}-python-qtpy" - # openfx-misc deps - "${MINGW_PACKAGE_PREFIX}-osmesa" - # openfx-io deps - "${MINGW_PACKAGE_PREFIX}-natron_openimageio" - "${MINGW_PACKAGE_PREFIX}-natron_seexpr-git" - "${MINGW_PACKAGE_PREFIX}-natron_poppler" - "${MINGW_PACKAGE_PREFIX}-natron_imagemagick" - "${MINGW_PACKAGE_PREFIX}-natron_ffmpeg-gpl2" - # openfx-arena deps - "${MINGW_PACKAGE_PREFIX}-librevenge" - "${MINGW_PACKAGE_PREFIX}-libzip" - "${MINGW_PACKAGE_PREFIX}-libcdr" - "${MINGW_PACKAGE_PREFIX}-natron_sox" - # openfx-gmic - "${MINGW_PACKAGE_PREFIX}-curl" - "${MINGW_PACKAGE_PREFIX}-fftw" - # installer - "zip" - "unzip" - "${MINGW_PACKAGE_PREFIX}-firebird" - "${MINGW_PACKAGE_PREFIX}-breakpad-git" - "${MINGW_PACKAGE_PREFIX}-pkgconf" - "${MINGW_PACKAGE_PREFIX}-python-sphinx" - "${MINGW_PACKAGE_PREFIX}-python-sphinx_rtd_theme" - "${MINGW_PACKAGE_PREFIX}-natron-setup" - "${MINGW_PACKAGE_PREFIX}-natron_dump_syms" + "${MINGW_PACKAGE_PREFIX}-natron-build-deps-common" ) # these should be empty, but saneman in CI complains, so we keep them here # until that is fixed: source=("README.md") -sha256sums=("b23b3460644d9446c3db719c68db14a93a437f19419fd8661d2f53daee258b81") \ No newline at end of file +sha256sums=("066a158dde169063073775500ad298baef704a8e0a39f3d6ab8fdba06012fda5") \ No newline at end of file diff --git a/tools/MINGW-packages/mingw-w64-natron-build-deps-qt5/README.md b/tools/MINGW-packages/mingw-w64-natron-build-deps-qt5/README.md index 2cf5085b87..f46d637793 100644 --- a/tools/MINGW-packages/mingw-w64-natron-build-deps-qt5/README.md +++ b/tools/MINGW-packages/mingw-w64-natron-build-deps-qt5/README.md @@ -1 +1 @@ -This meta package depends on all packages needed for building Natron, the openfx plugins, and the Natron installer. \ No newline at end of file +This meta package depends on all packages needed for building Natron with Qt5, the openfx plugins, and the Natron installer. \ No newline at end of file diff --git a/tools/MINGW-packages/mingw-w64-natron-build-deps-qt6/PKGBUILD b/tools/MINGW-packages/mingw-w64-natron-build-deps-qt6/PKGBUILD new file mode 100644 index 0000000000..88eeadf882 --- /dev/null +++ b/tools/MINGW-packages/mingw-w64-natron-build-deps-qt6/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: The Natron developers + +pkgname="${MINGW_PACKAGE_PREFIX}-natron-build-deps-qt6" +pkgver=2025.5 +pkgrel=1 +pkgdesc="Minimal package set for building Natron installer with Qt6" +url="https://natrongithub.github.io/" +arch=("any") +license=("GPL") +depends=( + "git" + "base-devel" + "${MINGW_PACKAGE_PREFIX}-cc" + # Natron deps + "${MINGW_PACKAGE_PREFIX}-qt6-base" + "${MINGW_PACKAGE_PREFIX}-qt6-5compat" + "${MINGW_PACKAGE_PREFIX}-pyside6" + "${MINGW_PACKAGE_PREFIX}-shiboken6" + # Clang is needed by shiboken6 for now because shiboken6 can't seem to find g++. It appears + # shiboken6 includes hard-coded paths to the g++ binary that is used when shiboken2 is built for msys2. + # Remove this dependency when the shiboken6 package is fixed so it works w/o clang or updates its pkg deps. + # The following change to msys2 made adding this clang dependency necessary. + # https://github.com/msys2/MINGW-packages/commit/c21027404c9d8776ad7dad94973a209bdc3aede2 + "${MINGW_PACKAGE_PREFIX}-clang" + "${MINGW_PACKAGE_PREFIX}-python-qtpy" + "${MINGW_PACKAGE_PREFIX}-natron-build-deps-common" +) + +# these should be empty, but saneman in CI complains, so we keep them here +# until that is fixed: +source=("README.md") +sha256sums=("4b0beca0e04ffe6ba6e9723cdfcfbedfbd4a6da449100025990b401f8b45865a") \ No newline at end of file diff --git a/tools/MINGW-packages/mingw-w64-natron-build-deps-qt6/README.md b/tools/MINGW-packages/mingw-w64-natron-build-deps-qt6/README.md new file mode 100644 index 0000000000..0ac80bda47 --- /dev/null +++ b/tools/MINGW-packages/mingw-w64-natron-build-deps-qt6/README.md @@ -0,0 +1 @@ +This meta package depends on all packages needed for building Natron with Qt6, the openfx plugins, and the Natron installer. \ No newline at end of file diff --git a/tools/MINGW-packages/windows_pacman_repo_version.txt b/tools/MINGW-packages/windows_pacman_repo_version.txt index 33d62583aa..fa7db5034e 100644 --- a/tools/MINGW-packages/windows_pacman_repo_version.txt +++ b/tools/MINGW-packages/windows_pacman_repo_version.txt @@ -1 +1 @@ -20250405-1 +20250503-1