wxPython versus wxWidgets

Mojca Miklavec mojca at macports.org
Wed Aug 14 07:17:28 PDT 2013


Hi,

for everyone too lazy to read everything, here's a small summary of
questions/suggestions that anyone else might have an opinion about:

(1) The port wxPython-3.0 should be renamed to
wxWidgets-from-wxPython-3.0. While weird, it reflects the truth more
precisely.

(2) wxWidgets currently sets "dist_subdir ${distname}/${version}". If
would be better to remove that line (even if sources need to be
fetched again).

(3) wxPython-3.0 (wxWidgets-from-wxPython-3.0) should store the files to
    /opt/local/var/macports/distfiles/python/wxPython-src-2.9.4.0.tar.bz2
rather than
    /opt/local/var/macports/distfiles/wxPython/2.9.4.0/wxPython-src-2.9.4.0.tar.bz2

(4) Looking for a volunteer to rewrite the descriptions for wxWidgets.


Here's the complete answer:

On Wed, Aug 14, 2013 at 3:29 PM, Michael Dickens wrote:
> Other questions:
>
> + Why set "dist_subdir ${distname}/${version}"?  Why not just
> ${distname}?

Simply because that's the way it's set up in current
wxWidgets/wxWidgets30/wxWidgets-devel Portfiles and the new ports
would use the existing distfiles. If that sounds like deprecated
behaviour, it can easily be changed.

I checked and one of my other ports, gnuplot, also uses this strategy,
mainly because the pdf documentation always has the same name (it
comes from a different location, but under the same filename).

> The former is -not- the way this is done in MacPorts
> currently and traditionally, except in the case where a stealth update
> happens.
>
> + For graphics/wxPython*, why not use the binary already found at
> python/wxPython-* instead of putting it in its own location?  wxPython
> is, primarily, for the Python interface to wx, so why not let it reside
> in the python dist_subdir?

I'm not sure if I understood your question correctly. Do you mean why
I'm not using the file
    /opt/local/var/macports/distfiles/python/wxPython-src-2.9.4.0.tar.bz2
also in wxPython-3.0 (or whatever name it would have in future)?

If that was the question, the answer is that I don't really
know/remember or care. The files are now fetched from
    /opt/local/var/macports/distfiles/wxPython/2.9.4.0/wxPython-src-2.9.4.0.tar.bz2
for both wxPython-3.0 and py-wxpython-3.0.

If distfiles/python/ is the more appropriate place, I have no problem
changing that.

> GNU Radio generally needs to be told the names of executables that are
> non-standard locations (e.g., even for Sphinx, which is installed with
> the python version number appended, I have to specify the full
> executable path and name). You stated previously that, once you're done,
> the wx-config executable will be installed in its own unique location
> for the specific install. When I install your branch's wxPython-3.0, I
> find that, indeed, wx-config is installed as
> "${prefix}/Library/Frameworks/wxWidgets.framework/Versions/wxPython/2.9/bin/wx-config",
> which I guarantee you will not be found by GNU Radio's CMake configure
> scripts by defaults. This is an easy change to the GNU Radio Portfile;
> I'll push the change when I get a chance in the next couple of days.

Yes, this is a change that I asked you to do. You definitely need to
specify path to wxconfig (see a bunch of variables in the PortGroup),
but since you are at it, you will most definitely know better how to
change the Portfile than I do.

> BTW> wxPython-3.0 did install correctly for me.  I have not tried it yet
> beyond looking at what is installed where.  Hopefully I'll find some
> time in the next couple of days to do so.
>
>> It's definitely suboptimal, but it's the best that I came up with so
>> far. (To me it's also a bit confusing that wxWidgets-python fetches
>> the sources from wxPython and not from wxWidgets.)
>
> The current wxPython-3.0 could be named, instead,
> wxWidgets-from-wxPython-3.0, which is even more awkward than
> wxWidgets-python, but it is, at least, "truth in advertising" and very
> distinctive.  Not simple (one of your conditions), but then the only
> time it will be installed is when installing py-wxpython-3.0 so I don't
> see it as too big of a deal what the name is.

Yes, sounds weird, but acceptable and true. What do others think?
I don't have a problem going with that name if others agree.

But just to make sure:
(1) Would it be OK leave the prefix at
$frameworks/wxWidgets/Versions/wxPython/3.0 or would you also change
that?
(2) At the moment the Portfile py-wxpython-3.0/2.8 (and possibly your port) uses
    wxWidgets.use wxPython-3.0
Would you also change that to
    wxWidgets.use wxWidgets-from-wxPython-3.0
or is it OK to leave that line at a simple "wxPython-3.0"?

>> Correction to the description [for wxPython-3.0] is definitely needed. I'm just not a
>> very creative writer, so I copy-pasted to start with (I didn't bother
>> too much since it didn't affect functionality in any way, but a proper
>> description is definitely needed to avoid even more confusion).
>
> Cut and paste from wxWidgets*, then add that this source comes from
> wxPython distfile.  Not difficult nor greatly creative, but sufficient
> IMHO. - MLD

I don't even like the current description of wxWidgets. Is there any
volunteer to write a new one? But of course, it the worst case I can
simply do what you suggested.

Mojca


More information about the macports-dev mailing list