[MacPorts] #36904: grass: allow building against wxWidgets-2.8 and wxgtk-2.8 (was: grass: add wxPython variant)

MacPorts noreply at macports.org
Sat Aug 31 04:21:01 PDT 2013


#36904: grass: allow building against wxWidgets-2.8 and wxgtk-2.8
-----------------------------+--------------------
  Reporter:  drew.mueller@…  |      Owner:  g5pw@…
      Type:  defect          |     Status:  new
  Priority:  Normal          |  Milestone:
 Component:  ports           |    Version:
Resolution:                  |   Keywords:
      Port:  grass           |
-----------------------------+--------------------
Changes (by mojca@…):

 * cc: ryandesign@… (added)
 * type:  enhancement => defect


Comment:

 I upgraded the port to 6.4.3 in r110476 and fixed the reported problem:
 {{{
 ERROR: wxGUI requires wxPython. No module named wxversion
 }}}
 by adding
 {{{
 export
 GRASS_PYTHON=${frameworks_dir}/Python.framework/Versions/2.7/bin/python2.7
 }}}
 to {{{${prefix}/bin/grass64}}}.

 The problem now is that {{{grass}}} is not really compatible with wxPython
 2.9, so the port needs a way to switch between {{{wxWidgets-2.8}}},
 {{{wxgtk-2.8}}} and {{{wxPython-2.9}}} (the last one for experimental
 purposes only).

 According to the notes above this might include adding
 {{{
 export VERSIONER_PYTHON_PREFER_32_BIT=yes
 }}}
 to {{{${prefix}/bin/grass64}}} when building for {{{wxWidgets-2.8}}}.

 I could easily do this in the same spirit as for {{{FileZilla}}}:
 {{{
 variant wxwidgets30 conflicts wxgtk28 wxwidgets28 description {Use
 wxWidgets 2.9 (not fully functional yet)} {
     wxWidgets.use           wxPython-3.0
     depends_lib-append      port:${wxWidgets.port}
     configure.args-append   --with-wxdir=${wxWidgets.wxdir}
 }

 variant wxwidgets28 conflicts wxgtk28 wxwidgets30 description {Use 32-bit
 Carbon-based wxWidgets 2.8} {
     wxWidgets.use           wxWidgets-2.8
     depends_lib-append      port:${wxWidgets.port}
     configure.args-append   --with-wxdir=${wxWidgets.wxdir}
 }

 variant wxgtk28 conflicts wxwidgets28 wxwidgets30 description {Use
 wxWidgets 2.8 with GTK} {
     wxWidgets.use           wxGTK-2.8
     depends_lib-append      port:${wxWidgets.port}
     configure.args-append   --with-wxdir=${wxWidgets.wxdir}
 }

 if {![variant_isset wxwidgets30] && ![variant_isset wxwidgets28] &&
 ![variant_isset wxgtk28]} {
     if {[vercmp $xcodeversion 4.4] >= 0} {
         default_variants +wxgtk28
     } else {
         default_variants +wxwidgets28
     }
 }
 }}}
 however there is a serious problem with this. On OS X 10.7 and later this
 will default to the usage of {{{py27-wxpython-2.8}}} which is incompatible
 with {{{py27-wxpython-3.0}}}. The only reasonable workaround for this is
 to use {{{py26-wxpython-2.8}}} (or to use {{{py26-wxpython-3.0}}} for all
 other ports) which means that the port will either be incompatible with
 other {{{wxPython}}} dependencies or it will also have to support multiple
 python versions (at least 2.6).

 If would be great to have a maintainer for this port ...

-- 
Ticket URL: <https://trac.macports.org/ticket/36904#comment:18>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list