On Tue, Oct 25, 2016 at 08:13:55PM +0300, Theodoros Foradis wrote: > Leo Famulari writes: > >> + (native-inputs > >> + `(("gtk+" ,gtk+-2) > >> + ("expat" ,expat) > >> + ("libjpeg" ,libjpeg) > >> + ("libpng" ,libpng) > >> + ("libtiff" ,libtiff) > >> + ("libsm" ,libsm) > >> + ("libx11" ,libx11) > >> + ("mesa" ,mesa) > >> + ("pkg-config" ,pkg-config) > >> + ("python2-setuptools" ,python2-setuptools) > >> + ("zlib" ,zlib))) > > > > To clarify, all these native-inputs are only used while building? > > Native inputs typically are not intended to be available once the > > package has been built and installed. > > To quote Danny Milosavljevic, whose original patch of python2-wxpython I > modified: > > I added gtk, opengl etc as native inputs instead of regular inputs > > because from the point of view of Python they are not direct inputs.
I'm not sure what that means in this case. > I guess this applies to gtk+,opengl,mesa and expat(?) (the others are > intented to be native-inputs for sure). I am unsure if they are intended > to be available at runtime. I assumed they were not, based on the > previous comment. If they, they should be moved to inputs. I checked the references of the built package like this: $ guix gc --references $(./pre-inst-env guix build python2-wxpython) /gnu/store/1xfc2pwr7qfjib9kfy3n2hjq56z7jyjx-python-2.7.11 /gnu/store/6njycb0nzbczqbzvcyn1vw5sg7xsaanr-python2-setuptools-18.3.1 /gnu/store/9nifwk709wajpyfwa0jzaa3p6mf10vxs-gcc-4.9.3-lib /gnu/store/a5xcl27fflh6ppysf5wrsfnn3ly2gyhy-python2-wxpython-3.0.2.0 /gnu/store/fdlind5y49q37m1g1wsvx840q2scrp6x-wxwidgets-gtk2-3.0.2 /gnu/store/m9vxvhdj691bq1f85lpflvnhcvrdilih-glibc-2.23 /gnu/store/ykzwykkvr2c80rw4l1qh3mvfdkl7jibi-bash-4.3.42 As you can see, many of the package's inputs not referred to by the built package. This means that those inputs will by deleted by the next `guix gc` (unless some other installed package refers to them). That's fine for native-inputs, which are supposed to be used only while building. As for whether or not the packages are required at run-time, I don't know. wxPython's documentation should explain what the software does and what libraries it wants to use. Hartmut, assuming that wxPython needs these packages at run-time, do you have any recommendations for how to keep references to them? I ask based on your recent work on Python packaging. Otherwise this package looks good, minus some minor cosmetic nits.