[MacPorts] #65487: gate: doesn't select default qt / qt5 variant when geant4.10.5 is not yet installed

MacPorts noreply at macports.org
Thu Jul 14 22:09:34 UTC 2022


#65487: gate: doesn't select default qt / qt5 variant when geant4.10.5 is not yet
installed
------------------------+----------------------
 Reporter:  ryandesign  |      Owner:  mojca
     Type:  defect      |     Status:  assigned
 Priority:  Normal      |  Milestone:
Component:  ports       |    Version:  2.7.2
 Keywords:              |       Port:  gate
------------------------+----------------------
 The gate portfile contains this code:

 {{{
 # some ugly code to make sure that the variants for Qt version used
 # are consistent between Gate and Geant4; looking for suggestions for
 improvement
 if {![catch {set result [active_variants geant4.10.5 qt5 qt]}]} {
     if {$result} {
         default_variants-append +qt5
     } else {
         default_variants-append +qt4
     }
 }
 }}}

 This doesn't work well if geant4.10.5 was not installed at the time that
 `sudo port install gate` was run. That was the case for me, and then the
 gate build was interrupted (it failed because of #65404) and then when I
 tried to build again it failed because it was now choosing different
 default variants:

 {{{
 Error: Requested variants "+geant4105+qt5" do not match those the build
 was started with: "+geant4105".
 Error: Please use the same variants again, or run 'port clean gate' first
 to remove the existing partially completed build.
 }}}

 The geant4.10.5 portfile currently contains this:

 {{{
         if {![variant_isset qt] && ![variant_isset qt5]} {
             # almost an arbitrary version of Geant4 (earlier versions had
 worse support for Qt5)
             # TODO: the default version should also depend on macOS
 version, but not sure where to cut the line
             if {${geant.version} < "10.3"} {
                 default_variants-append +qt
             } else {
                 default_variants-append +qt5
             }
         }
 }}}

 Perhaps the gate port should be modified so that, if geant4.10.5 is not
 installed yet, it chooses a default variant that matches the default
 variant that geant4.10.5 will use.

 Incidentally, version numbers like ${geant.version} should be compared
 using the `vercmp` procedure, not the `<` operator (which is for integers
 and floating point numbers, not version numbers).

-- 
Ticket URL: <https://trac.macports.org/ticket/65487>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list