[MacPorts] #38280: RFE: add a qmake portgroup
#38280: RFE: add a qmake portgroup ---------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Keywords: | Port: ---------------------+-------------------------------- `qmake` currently has multiple issues that ports have to work around (as brought up in tickets #38272 and #38250): - `qmake` isn't [https://trac.macports.org/wiki/UsingTheRightCompiler UsingTheRightCompiler] (cf. comment:ticket:38250:1) - `qmake` doesn't handle `-arch` flags properly (cf. comment:ticket:38250:2) - `qmake` doesn't handle the `--disable-dependency-tracking` flag properly (cf. comment:ticket:38272:1) And I'm sure there's other things that could be done with a `qmake` portgroup, too. -- Ticket URL: <https://trac.macports.org/ticket/38280> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup ----------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | ----------------------+-------------------------------- Comment (by egall@…): oops this wasn't supposed to be a "defect" -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Changes (by ryandesign@…): * type: defect => enhancement -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Description changed by ryandesign@…: Old description:
`qmake` currently has multiple issues that ports have to work around (as brought up in tickets #38272 and #38250):
- `qmake` isn't [https://trac.macports.org/wiki/UsingTheRightCompiler UsingTheRightCompiler] (cf. comment:ticket:38250:1) - `qmake` doesn't handle `-arch` flags properly (cf. comment:ticket:38250:2) - `qmake` doesn't handle the `--disable-dependency-tracking` flag properly (cf. comment:ticket:38272:1)
And I'm sure there's other things that could be done with a `qmake` portgroup, too.
New description: `qmake` currently has multiple issues that ports have to work around (as brought up in tickets #38272 and #38250): - `qmake` isn't UsingTheRightCompiler (cf. comment:ticket:38250:1) - `qmake` doesn't handle `-arch` flags properly (cf. comment:ticket:38250:2) - `qmake` doesn't handle the `--disable-dependency-tracking` flag properly (cf. comment:ticket:38272:1) And I'm sure there's other things that could be done with a `qmake` portgroup, too. -- -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by egall@…): Attached my first try at this, not exactly sure how to go about testing it... -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by michaelld@…): Good start. I think we'll also want to try to overwrite the options for +universal and +debug, as well as add flags for OBJC and OBJCXX. To test the file, make sure it is in "dports/_resources/port1.0/group/", then you'll need to modify some Portfile which requires QMake to make use of it, via adding "PortGroup qmake 1.0" somewhere before you need the settings / variables. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by egall@…): Replying to [comment:6 michaelld@…]:
Good start. I think we'll also want to try to overwrite the options for +universal and +debug
What do you mean by "overwrite" here? Just put in blank variants, or are there any specific settings we should be using for these variants? -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by michaelld@…): "overwrite" means in this case to set the QMake-specific variable on the ${configure.cmd} line, and hope that they overwrite those from the project's build script. When we set "QMAKE_CC=${configure.cc}", it generally works because projects are not supposed to play with it. But, setting for +debug and +universal is more generic, and hence takes a bit of work: (1) setting the ${configure.cmd} line correctly; and (2) making sure those variables are not set in the project's qmake build scripts. For example, +debug for MacPorts generally means to install but release and debug versions, and hence IIRC does something like: {{{ if +debug { CONFIG += debug_and_release build_all } else { CONFIG += release } }}} +universal I think can use: {{{ if +universal then { CONFIG += ${qt_arch_types} } }}} All of the above need to be on the configure.cmd arguments line, so in quotes appropriately. Then, inside the project we would need to remove references to these variables so that the overwrite is guaranteed to work. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by egall@…): idk, I'm still kind unclear about all this, so I'll just attach my latest version of the portgroup, and then let you guys make changes as you see fit. (I tested it with qdjango and it works properly with that port at least, btw) -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by nicos@…): It seems a hassle to have to modify the project in order to change the references to some variables individually. I made some tests with qmake, and it seems that adding {{{ variant debug description "Enable debug binaries" { configure.pre_args-append "CONFIG+=debug" } }}} does the trick to enable debug, as "debug" has precedence over "release" when both are invoked. Additionally, it seemed that "debug_and_release" can lead to some issues when building. Similarly, adding {{{ if {[variant_isset universal]} { pre-configure { configure.pre_args-append "CONFIG+=\"${qt_arch_types}\"" } } }}} seem to work for universal build. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by nicos@…): Should the portgroup be committed ? As there have been no additional comments or suggestions for several weeks, would it be safe to assume that it seems satisfactory ? -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:12> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by michaelld@…): I will have time this coming week to deal with this ticket; just been too busy the last few weeks. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:13> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by michaelld@…): Sorry for the delay; it's just been crazy since my last posting here, with required time away to handle multiple personal matters. I should be able to get to this issue this week. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:14> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Changes (by jmr@…): * component: base => ports -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:15> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by michaelld@…): OK; obviously I haven't had time for this, so I'd say for someone else to go ahead and check this in and start using it. I don't know when I will find time for this in the coming weeks. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:16> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by egall@…): Replying to [comment:16 michaelld@…]:
OK; obviously I haven't had time for this, so I'd say for someone else to go ahead and check this in and start using it.
I would if I could... (my application for commit access is still pending review...) -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:17> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by nicos@…): I should be able to finalize the tests and commmit it in the next days. Unless there are objections, I will make final checks based on the last modifications I proposed, giving the attached file. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:18> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by egall@…): Replying to [comment:18 nicos@…]:
I should be able to finalize the tests and commmit it in the next days.
Unless there are objections, I will make final checks based on the last modifications I proposed, giving the attached file.
Looks good to me, feel free to go ahead and commit it. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:19> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: Port: | --------------------------+-------------------------------- Changes (by nicos@…): * status: new => closed * resolution: => fixed Comment: Committed in r106912. I made a small change after testing it, in order to ensure that instructions in the Portfile (such as compiler.blacklist) would be taken into account when setting variables in the portgroup. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:20> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: Port: | --------------------------+-------------------------------- Comment (by egall@…): Yay! Now to actually use it in all the ports it's appropriate for... -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:21> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: Port: | --------------------------+-------------------------------- Comment (by macsforever2000@…): @nicos: Thank you! @egall: Feel free to open up a single ticket with all such ports. It would be good to know. -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:22> MacPorts <http://www.macports.org/> Ports system for OS X
#38280: RFE: add a qmake portgroup --------------------------+-------------------------------- Reporter: egall@… | Owner: macports-tickets@… Type: enhancement | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: Port: | --------------------------+-------------------------------- Comment (by egall@…): Replying to [comment:22 macsforever2000@…]:
@egall: Feel free to open up a single ticket with all such ports. It would be good to know.
OK, #39424 -- Ticket URL: <https://trac.macports.org/ticket/38280#comment:23> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts