[buildout] extends = ../pkgconfig/buildout.cfg ../gtk-3/buildout.cfg ../pillow/buildout.cfg ../numpy/buildout.cfg ../wxwidgets/buildout.cfg parts = wxPython [wxpython-eggs] recipe = zc.recipe.egg interpreter = wxpython2.7 eggs = requests ${numpy:egg} ${pillow-python:egg} [nanosvg] recipe = slapos.recipe.build:download-unpacked shared = true url = https://github.com/wxWidgets/nanosvg/archive/${:version}.tar.gz version = 9dd92bbfc6f709e889578a724724ffbd42ac3004 md5sum = b9060d6600ebffa4080d1b29c99d1f30 [wxPython-download] recipe = slapos.recipe.build:download-unpacked url = https://github.com/wxWidgets/Phoenix/archive/refs/tags/wxPython-4.1.1.tar.gz md5sum = e72d99cd865c4220b65065079457c6c5 [wxPython] recipe = slapos.recipe.build egg = ${:_buildout_section_name_} source-location = ${wxPython-download:location} egg-name = ${:egg}-${versions:wxPython}-py${python:version}-linux-x86_64.egg location = ${buildout:eggs-directory}/${:egg-name} python-bin = ${buildout:bin-directory}/${wxpython-eggs:interpreter} ext-path = ${wxWidgets:location}/${wxWidgets:ext-name} install = import os, sys from slapos.recipe.downloadunpacked import unpack_archive from zc.buildout import easy_install env = self.environ workdir = options['source-location'] python_bin = options['python-bin'] dist = os.path.join(workdir, 'dist') build = os.path.join(workdir, 'build') doxygen = os.path.join(workdir, 'bin', 'doxygen-1.8.8-linux') sip = os.path.join(workdir, 'bin', 'sip-4.19.24-linux64') waf = os.path.join(workdir, 'bin', 'waf-2.0.19') wxwidget = os.path.join(workdir, 'ext', 'wxWidgets') wxpython_eggs = self.buildout['wxpython-eggs'] egg_list = easy_install.working_set(wxpython_eggs['eggs'].split(), [ wxpython_eggs['develop-eggs-directory'], wxpython_eggs['eggs-directory'], ]).entries egg_list.append(workdir) env['PYTHONPATH'] = os.pathsep.join(sys.path + egg_list) self.cleanup_list += build, dist, doxygen, sip, waf, wxwidget unpack_archive(self, options['ext-path'], wxwidget) call([python_bin, 'build.py', 'dox', 'etg', '--nodoc', 'sip', 'build', '--use_syswx', '--release', '--gtk3'], env=env, cwd=workdir) call([python_bin, 'build.py', 'bdist_egg', '--use_syswx', '--release', '--gtk3'], env=env, cwd=workdir) unpack_archive(self, os.path.join(dist, options['egg-name']), location) call([python_bin, 'build.py', 'clean'], env=env, cwd=workdir) environment = PATH=${xz-utils:location}/bin:${pkgconfig:location}/bin:${wxWidgets:location}/bin:%(PATH)s LDFLAGS=-L${gtk-3:location}/lib -Wl,-rpath=${gtk-3:location}/lib -L${wxWidgets:location}/lib -Wl,-rpath=${wxWidgets:location}/lib CPPFLAGS=-I${wxWidgets:location}/include/wx-3.0 -I${wxWidgets:location}/lib/wx/include/gtk3-unicode-3.0 -I${gtk-3:location}/include/gtk-3.0 -I${nanosvg:location}/src PKG_CONFIG_PATH = ${glib:location}/lib/pkgconfig:${gtk-3:location}/lib/pkgconfig:${gtk-3:pkg_config_depends} [versions] wxPython = 4.1.1