-
-
Notifications
You must be signed in to change notification settings - Fork 19
chore: bump Qt and dependencies #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ae85f5c to
f15de3a
Compare
|
Version not supported for Qt 5.15 |
|
Thanks, but no need to worry about that yet I don't think... this is only a placeholder for when 22.04 is no longer an option (or we move onto a version QT that is supported) ;) |
f15de3a to
13f6d4a
Compare
|
Once 2.11 is out the door I will start working on Qt 6.x |
builder/Dockerfile
Outdated
|
|
||
| RUN python3 -m pip install -U pip setuptools \ | ||
| && python3 -m pip install \ | ||
| # Python 3.11 introduced the managed environment breakage aka PEP 668. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't disagree with this at all (I suggested exactly this myself in the MSYS build scripts), but I have since come across uv thanks to Raphael, and it makes package management and venv effortless... . Worth considering at a future time, if not now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your solution is implemented in multiple files. If not too challenging I vote for changing now,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay so I've had a play with uv and replaced you magic with this hack
RUN wget -qO- https://astral.sh/uv/install.sh | sh && \
. $HOME/.local/bin/env && \
uv venv && \
uv pip install -U pip setuptools && \
uv pip install \
asciitree \
jinja2 \
pillow \
aqtinstall \
lz4 \
pyelftools
RUN . $HOME/.local/bin/env && \
uv run aqt install-qt --outputdir ${QT_INSTALL_DIR} ${QT_HOST} ${QT_TARGET} ${QT_VERS_STR} ${QT_ARCH} ${QT_MODULES}
It works but does not save any coding in fact means every python script run needs to be amended. However I stand to be duly corrected on matters such as these.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using uv, we might want to make things differently:
- install
uvinto the dev/builder image into/usr/bin - run
aqt installas a "tool" (seeuvx) - move the Python dependencies definitions to a
pyproject.tomlfile in EdgeTx repo - pull dependencies when preparing build environment with
uv sync --frozen - activate
venvwithsource .venv/bin/activate - run everything else as usual
We might want to integrate the last 3 steps proper with CMake, so it is done automatically for the user.
|
CMake 4.0 breaks things cmake_policy(SET CMP0023 OLD) has been removed. From Discord I see @gagarinlg has also found and implemented a fix for radio firmware though I cannot see the fix. miniz has an invalid cmake_minimum_required version. I have bugged with maintainer richgel999/miniz#337 |
|
The change to Qt 6.5 multimedia is frustrating the begeebers out of me. So I'm taking the "throw the sink at it" methodology. When I have sound I'll work backwards to narrow the final list of extras. |
He just commented out the policy line in |
|
Yes, quick fix for me without any testing except, the radio I was working on still compiles |
|
Looks like CMake 4.x is a happy wrecking ball... it breaks the builds for miniz, yaml-cpp AND maxlibqt, plus edgetx 🤪 For miniz, I have a PR pending: richgel999/miniz#339 These, plus Malte's quick fix at least get the MSYS2 build container up and running again, which is the only one using CMake 4.0 at present. i.e. This branch has successfully built on my fork... pfeerick/edgetx#18 |
|
AppImages appear to not be backward compatible (could just be me) e.g. noble will not run on jammy lots of errors like this on launching:
jammy AppImage will run on jammy and noble If this is the case then the question is, what is the oldest version we want to support keeping in mind the different Linux flavours? |
|
Well, since jammy (22.04) is a LTS as well, so we could increment to that rather than jump to noble (24.04). We're currently using focal (20.04) for dev and jammy for cloudbuild, so at minimum need to correct that discrepancy 🤪 Ubuntu 22.04 (jammy) is a supported platform for QT6.5, so that isn't a problem... It doesn't surprise me that an AppImage built on Noble would/could have problems when running on Jammy, given mention to build on the oldest platform intended to support... |
|
Want me to change it to jammy while rebasing (and we can start again from there)? Oh, wait, you're trying to confuse me... 6.5, 6.8.2, 6.9.0? 🤣 Ok, 6.9 still lists Ubuntu 22.04 (jammy) as supported platform... |
|
My aim in life is to confuse as many as possible ;-) |
|
Jammy |
13cc77b to
91f7297
Compare
|
A few rebase goofs later (combination of should not be working on this just before bed + github builds way faster than locally 🤭 ), and it should be right now. We can skip the |
3696f05 to
a9efbef
Compare
a9efbef to
c584dc2
Compare
c584dc2 to
2164cc4
Compare
|
@pfeerick do we still need anything from this PR? AFAIK, everything has been already merged bit by bit and works well with Qt6 on |
2164cc4 to
afcef84
Compare
|
No, it looks like everything Neil wanted was here. Would have been better to have simply rebased and merged this PR though rather than rush through a potentially incomplete one since this had been used and tested or the last six months. 🤷 |
Bump to Ubuntu
24.04 LTS (Noble Numbat)22.04 (Jammy Jellyfish)Testing the waters... waiting until 24.04.1 before going any further with this.