Opened 3 years ago
Closed 3 years ago
#62982 closed request (fixed)
qt6: add port(s) for new Qt version 6
Reported by: | JDLH (Jim DeLaHunt) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | Cc: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), jhoyt4, dlamija (Muhammed Ramiza), ra1nb0w, reneeotten (Renee Otten) | |
Port: | qt6 qt5 qt4 |
Description
MacPorts has several ports qt5* and qt4*, for the version 5.x and 4.x of the Qt application development tool kit. The Qt upstream developers have released versions 6.2 and 6.1 of Qt. I would like to be able to use Qt version 6 for some apps which depend on it, for example freeciv. Thus I would appreciate a set of qt6* ports which parallel the existing qt5* and qt4* ports.
Supporting information:
- https://qt.io/
- https://www.qt.io/product/qt6
- https://doc-snapshots.qt.io/qt6-dev/qt-intro.html
- https://doc-snapshots.qt.io/qt6-dev/macos-issues.html
Given the large number of subports in port info qt5
, I am guessing that making a Qt6 port might be quite a bit of work. I don't know to what extent it is similar enough to Qt5 that one can save effort by reusing parts of the Qt5 port.
Sorry if this ticket is redundant. I don't see any "qt6" tickets when I search this Trac.
Change History (9)
comment:1 Changed 3 years ago by jhoyt4
Cc: | jhoyt4 added |
---|
comment:2 Changed 3 years ago by dlamija (Muhammed Ramiza)
Cc: | dlamija added |
---|
comment:3 Changed 3 years ago by ra1nb0w
Cc: | ra1nb0w added |
---|
comment:4 Changed 3 years ago by jhoyt4
comment:5 Changed 3 years ago by jhoyt4
I'm not sure why this ticket didn't close - but qt6 was committed into master a couple days ago.
Admittedly, it is incomplete as I struggled to get QtQuick (which you get from qt-declarative + qtshadertools) to thread through the compile process. My best guess is this is an rpath issue.
comment:6 Changed 3 years ago by reneeotten (Renee Otten)
@jhoyt4 does qt6-qtbase
build consistently for you? For me it pretty much fails all the time with ninja: fatal: pipe: Too many open files
. For me that is resolved when adding use_parallel_builds no
but then of course building takes quite a while... I am not trying with build.cmd "ninja"
removed to see if that helps.
I still think we can build the qtbase
subport with CMake
as well and don't necessarily need to use their configure
script, which will just translate that to a CMake command anyway. If we can use the cmake PG that might simplify settings for compiler options/flags, deployment_targets, and all of that stuff. Before I try though, have you attempted that or did you stick with what was initially in the qt5
Portfile?
I think there are a few changes needed, I've added them to my fork in case you're interested. I'll give you a chance to take a look but they are pretty obvious I think and should be uncontroversial.
comment:7 Changed 3 years ago by reneeotten (Renee Otten)
Cc: | reneeotten added |
---|
comment:8 Changed 3 years ago by jhoyt4
@reneeotten I had no issues compiling qt6-base with two machines (one intel, one arm/M1) both were running Big Sur.
I went the ninja route because of notes on qt's site heavily suggesting using ninja. Cmake is certainly an option, but I had some issues correctly translating (and locating...) all of the configure flags and found using the configure script to be easier to troubleshoot.
In regards to the subports - cmake is also a viable option, I started there but then read some qt release notes heavily suggesting using qt-configure_module.
I just looked at your fork and all of the changes look very reasonable (wish I caught several myself :) )
comment:9 Changed 3 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | new → closed |
I started putting together a PR for qt6. Happy to get another set of eyes on the Portfile. Honestly, any and all help is welcome.
Here's the PR - https://github.com/macports/macports-ports/pull/12676
Warning - this is currently untested, but compiles on macOS 11.6 intel.
I'll certainly test more on intel and arm64 when I have a bit more time.