Skip to content

Commit abcec7f

Browse files
committed
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.
1 parent 3b35369 commit abcec7f

File tree

8 files changed

+90
-30
lines changed

8 files changed

+90
-30
lines changed

tools/MINGW-packages/build_natron_package_repo.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ mingw-w64-poppler
1818
mingw-w64-imagemagick
1919
mingw-w64-osmesa
2020
mingw-w64-dump_syms
21+
mingw-w64-natron-build-deps-common
2122
mingw-w64-natron-build-deps-qt5
23+
mingw-w64-natron-build-deps-qt6
2224
"
2325

2426
source "${BUILD_SCRIPT_DIR}/natron_repo_common.sh"
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Maintainer: The Natron developers
2+
3+
pkgname="${MINGW_PACKAGE_PREFIX}-natron-build-deps-common"
4+
pkgver=2025.5
5+
pkgrel=1
6+
pkgdesc="Minimal package set for building Natron installer for any version of Qt"
7+
url="https://natrongithub.github.io/"
8+
arch=("any")
9+
license=("GPL")
10+
depends=(
11+
"git"
12+
"base-devel"
13+
"${MINGW_PACKAGE_PREFIX}-cc"
14+
# Natron deps
15+
"${MINGW_PACKAGE_PREFIX}-boost"
16+
"${MINGW_PACKAGE_PREFIX}-cairo"
17+
18+
# openfx-misc deps
19+
"${MINGW_PACKAGE_PREFIX}-osmesa"
20+
# openfx-io deps
21+
"${MINGW_PACKAGE_PREFIX}-natron_openimageio"
22+
"${MINGW_PACKAGE_PREFIX}-natron_seexpr-git"
23+
"${MINGW_PACKAGE_PREFIX}-natron_poppler"
24+
"${MINGW_PACKAGE_PREFIX}-natron_imagemagick"
25+
"${MINGW_PACKAGE_PREFIX}-natron_ffmpeg-gpl2"
26+
# openfx-arena deps
27+
"${MINGW_PACKAGE_PREFIX}-librevenge"
28+
"${MINGW_PACKAGE_PREFIX}-libzip"
29+
"${MINGW_PACKAGE_PREFIX}-libcdr"
30+
"${MINGW_PACKAGE_PREFIX}-natron_sox"
31+
# openfx-gmic
32+
"${MINGW_PACKAGE_PREFIX}-curl"
33+
"${MINGW_PACKAGE_PREFIX}-fftw"
34+
# installer
35+
"zip"
36+
"unzip"
37+
"${MINGW_PACKAGE_PREFIX}-firebird"
38+
"${MINGW_PACKAGE_PREFIX}-breakpad-git"
39+
"${MINGW_PACKAGE_PREFIX}-pkgconf"
40+
"${MINGW_PACKAGE_PREFIX}-python-sphinx"
41+
"${MINGW_PACKAGE_PREFIX}-python-sphinx_rtd_theme"
42+
"${MINGW_PACKAGE_PREFIX}-natron-setup"
43+
"${MINGW_PACKAGE_PREFIX}-natron_dump_syms"
44+
)
45+
46+
# these should be empty, but saneman in CI complains, so we keep them here
47+
# until that is fixed:
48+
source=("README.md")
49+
sha256sums=("ddafabaf2aa91794eb8f610dcbac4920d29bffc13d5e04af1be7efdb8490c067")
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
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.
Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Maintainer: The Natron developers
22

33
pkgname="${MINGW_PACKAGE_PREFIX}-natron-build-deps-qt5"
4-
pkgver=2023.4
4+
pkgver=2025.5
55
pkgrel=1
66
pkgdesc="Minimal package set for building Natron installer with QT5"
77
url="https://natrongithub.github.io/"
@@ -22,35 +22,10 @@ depends=(
2222
# https://github.com/msys2/MINGW-packages/commit/c21027404c9d8776ad7dad94973a209bdc3aede2
2323
"${MINGW_PACKAGE_PREFIX}-clang"
2424
"${MINGW_PACKAGE_PREFIX}-python-qtpy"
25-
# openfx-misc deps
26-
"${MINGW_PACKAGE_PREFIX}-osmesa"
27-
# openfx-io deps
28-
"${MINGW_PACKAGE_PREFIX}-natron_openimageio"
29-
"${MINGW_PACKAGE_PREFIX}-natron_seexpr-git"
30-
"${MINGW_PACKAGE_PREFIX}-natron_poppler"
31-
"${MINGW_PACKAGE_PREFIX}-natron_imagemagick"
32-
"${MINGW_PACKAGE_PREFIX}-natron_ffmpeg-gpl2"
33-
# openfx-arena deps
34-
"${MINGW_PACKAGE_PREFIX}-librevenge"
35-
"${MINGW_PACKAGE_PREFIX}-libzip"
36-
"${MINGW_PACKAGE_PREFIX}-libcdr"
37-
"${MINGW_PACKAGE_PREFIX}-natron_sox"
38-
# openfx-gmic
39-
"${MINGW_PACKAGE_PREFIX}-curl"
40-
"${MINGW_PACKAGE_PREFIX}-fftw"
41-
# installer
42-
"zip"
43-
"unzip"
44-
"${MINGW_PACKAGE_PREFIX}-firebird"
45-
"${MINGW_PACKAGE_PREFIX}-breakpad-git"
46-
"${MINGW_PACKAGE_PREFIX}-pkgconf"
47-
"${MINGW_PACKAGE_PREFIX}-python-sphinx"
48-
"${MINGW_PACKAGE_PREFIX}-python-sphinx_rtd_theme"
49-
"${MINGW_PACKAGE_PREFIX}-natron-setup"
50-
"${MINGW_PACKAGE_PREFIX}-natron_dump_syms"
25+
"${MINGW_PACKAGE_PREFIX}-natron-build-deps-common"
5126
)
5227

5328
# these should be empty, but saneman in CI complains, so we keep them here
5429
# until that is fixed:
5530
source=("README.md")
56-
sha256sums=("b23b3460644d9446c3db719c68db14a93a437f19419fd8661d2f53daee258b81")
31+
sha256sums=("066a158dde169063073775500ad298baef704a8e0a39f3d6ab8fdba06012fda5")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
This meta package depends on all packages needed for building Natron, the openfx plugins, and the Natron installer.
1+
This meta package depends on all packages needed for building Natron with Qt5, the openfx plugins, and the Natron installer.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Maintainer: The Natron developers
2+
3+
pkgname="${MINGW_PACKAGE_PREFIX}-natron-build-deps-qt6"
4+
pkgver=2025.5
5+
pkgrel=1
6+
pkgdesc="Minimal package set for building Natron installer with Qt6"
7+
url="https://natrongithub.github.io/"
8+
arch=("any")
9+
license=("GPL")
10+
depends=(
11+
"git"
12+
"base-devel"
13+
"${MINGW_PACKAGE_PREFIX}-cc"
14+
# Natron deps
15+
"${MINGW_PACKAGE_PREFIX}-qt6-base"
16+
"${MINGW_PACKAGE_PREFIX}-qt6-5compat"
17+
"${MINGW_PACKAGE_PREFIX}-pyside6"
18+
"${MINGW_PACKAGE_PREFIX}-shiboken6"
19+
# Clang is needed by shiboken6 for now because shiboken6 can't seem to find g++. It appears
20+
# shiboken6 includes hard-coded paths to the g++ binary that is used when shiboken2 is built for msys2.
21+
# Remove this dependency when the shiboken6 package is fixed so it works w/o clang or updates its pkg deps.
22+
# The following change to msys2 made adding this clang dependency necessary.
23+
# https://github.com/msys2/MINGW-packages/commit/c21027404c9d8776ad7dad94973a209bdc3aede2
24+
"${MINGW_PACKAGE_PREFIX}-clang"
25+
"${MINGW_PACKAGE_PREFIX}-python-qtpy"
26+
"${MINGW_PACKAGE_PREFIX}-natron-build-deps-common"
27+
)
28+
29+
# these should be empty, but saneman in CI complains, so we keep them here
30+
# until that is fixed:
31+
source=("README.md")
32+
sha256sums=("4b0beca0e04ffe6ba6e9723cdfcfbedfbd4a6da449100025990b401f8b45865a")
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This meta package depends on all packages needed for building Natron with Qt6, the openfx plugins, and the Natron installer.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20250405-1
1+
20250503-1

0 commit comments

Comments
 (0)