IRC logs for #buildstream for Monday, 2022-05-30

*** tristan <tristan!tristan@223.38.35.4> has joined #buildstream06:13
*** ChanServ sets mode: +o tristan06:13
*** coldtom <coldtom!coldtom@2a00:23c7:5e9a:5301:0:0:0:1b8> has joined #buildstream06:50
*** tpollard <tpollard!tompollard@cpc109023-salf6-2-0-cust777.10-2.cable.virginm.net> has joined #buildstream08:58
*** tristan <tristan!tristan@223.38.35.4> has quit IRC10:00
*** tristan <tristan!tristan@223.38.35.4> has joined #buildstream10:01
*** ChanServ sets mode: +o tristan10:01
*** tristan <tristan!tristan@223.38.35.4> has quit IRC10:02
SamThursfield[m]Hello, does anyone know of an element plugin to drive Python's pep517 build system ?12:52
SamThursfield[m]I'm seeing several Python projects that have removed setup.py and gone to the new standard pyproject.toml12:53
SamThursfield[m]am wondering if it's useful to have a new element plugin that builds these12:53
*** abderrahim[m] <abderrahim[m]!abderrahim@2001:470:1af1:104:0:0:0:3558> has joined #buildstream12:54
abderrahim[m]I guess pip would work12:54
coldtomshouldn't the pip.. yeah12:54
SamThursfield[m]ah, good point12:55
* SamThursfield[m] wonders if he can generate a wheel using pip.. presumably it's possible12:55
coldtomiirc there's a bit of an awkward dependency chain to pep517 stuff12:56
coldtommaybe i'm thinking of flit or poetry though12:56
nanonymeYeah, we use pip element for this widely12:57
SamThursfield[m]perfect, thanks12:58
SamThursfield[m]I have the extra requirement to build a wheel of everything we import as source, I think that's why i didn't immediately jump to pip plugin :)12:58
SamThursfield[m]my immediate attempt to do `pip wheel .` failed as its trying to install things from network, but i'll play a bit more after lunch12:58
nanonymepip will automatically generate wheels these days always, the trick is getting those into install-root12:59
nanonymefreedesktop-sdk project does not do this12:59
nanonymeWe have wheels generated into non-persistent cache dir12:59
abderrahim[m]Sam Thursfield: look at g-b-m for things you can pass to pip to avoid it looking for network13:00
nanonymeI have been considering of changing things such that we would always install both the generated wheel and the resultant files and put the wheels into a special domain13:00
nanonymeBut yeah, you can also explicitly call pip wheel. I think it's a no-op if pip already created a wheel into cache.13:01
nanonymeSam Thursfield: essentially freedesktop-sdk is running pip with --no-build-isolation so we will utilize the installed packages, not the wheels. This is not necessarily great as PEP517 makes a clear distinction between build and install deps. Build deps are expected to be shipped as wheels.13:03
nanonymeSo pip can install them into a temporary build sandbox13:03
nanonymePackages can have conflicting build deps and this is fine13:04
SamThursfield[m]we are doing exactly that (install the wheels) in this project, the nice thing is we can then export a set of python packages as wheels and make a virtualenv13:30
SamThursfield[m]the virtualenv is effectively an output of the bst project13:30
*** vchernin[m] <vchernin[m]!vcherninfe@2001:470:1af1:104:0:0:0:49f6> has joined #buildstream16:12
*** tpollard <tpollard!tompollard@cpc109023-salf6-2-0-cust777.10-2.cable.virginm.net> has quit IRC17:05
*** coldtom <coldtom!coldtom@2a00:23c7:5e9a:5301:0:0:0:1b8> has quit IRC20:11

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!