Hi,

because of wxPython/src/helpers.cpp directly accessing a Gtk (gdk) structure 
(in macro GetXWindow) wxpython also requires gtk as regular input.

I've tested it in

$ guix environment --pure --ad-hoc python2-wxpython python-2 -- python

using:

import wxversion
wxversion.select("3.0")
import wx, wx.html
from wx import glcanvas
import wx.lib.fancytext
import sys
app = wx.App(redirect=True)   # Error messages go to popup window
top = wx.Frame(None)
box = wx.BoxSizer(wx.VERTICAL)
top.SetSizer(box)
#panel = wx.Panel(top)
canvas = glcanvas.GLCanvas(top)
box.Add(canvas)
canvas.Show()
top.Show()
app.MainLoop()

app = wx.App(redirect=True)
top = wx.Frame(None, title="Hello World", size=(300,200))
top.Show()
app.MainLoop()

#from wx import glcanvas
#from OpenGL.GL import *
#frame = GLFrame(None, -1, 'GL Window')
#frame.Show()
#app.MainLoop()
#app.Destroy()

The wxpython inputs I used were:

    (native-inputs
     `(("mesa" ,mesa) ; for glcanvas
       ("pkg-config" ,pkg-config)
       ("python2-setuptools" ,python2-setuptools)))
    (inputs
     `(("gtk+" ,gtk+-2) ; for wxPython/src/helpers.cpp
       ("wxwidgets" ,wxwidgets-gtk2)))

If we even built the X11 backend of wxwidgets, we would require an input 
"libx11" - otherwise not.

While wxpython glcanvas isn't very useful without mesa, it doesn't really 
require it. As you can see above it can still be imported without mesa.

Therefore, I think the above is the final version of the inputs we should use 
for wxpython.

Reply via email to