<div dir="ltr">This is the best what I've found to do it, so I created identical component plugins for Qt, OpenSSL, and Python. It builds in < 10 minutes now instead of 45-60 min:<div><br></div><div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;line-height:18px;white-space:pre"><div><span style="color:rgb(197,134,192)">import</span> os.path</div><div><span style="color:rgb(197,134,192)">from</span> pyqtdeploy.sysroot.plugins.Qt <span style="color:rgb(197,134,192)">import</span> QtComponent</div><br><div><span style="color:rgb(86,156,214)">class</span> <span style="color:rgb(78,201,176)">DemoQtComponent</span>(<span style="color:rgb(78,201,176)">QtComponent</span>):</div><br><div> <span style="color:rgb(86,156,214)">def</span> <span style="color:rgb(220,220,170)">run</span>(<span style="color:rgb(156,220,254)">self</span>, *<span style="color:rgb(156,220,254)">args</span>, <span style="color:rgb(156,220,254)">capture</span>=<span style="color:rgb(86,156,214)">False</span>):</div><div> <span style="color:rgb(206,145,120)">""" Run a command, optionally capturing stdout. """</span></div><div> <span style="color:rgb(197,134,192)">if</span> args[<span style="color:rgb(181,206,168)">0</span>] == <span style="color:rgb(86,156,214)">self</span>.host_make:</div><div> <span style="color:rgb(86,156,214)">self</span>.verbose(<span style="color:rgb(206,145,120)">'Adding args for concurrent build.'</span>)</div><div> _args = args + (<span style="color:rgb(206,145,120)">'-j16'</span>,)</div><div> <span style="color:rgb(197,134,192)">else</span>:</div><div> _args = args</div><div> <span style="color:rgb(197,134,192)">return</span> <span style="color:rgb(78,201,176)">super</span>().run(*_args, <span style="color:rgb(156,220,254)">capture</span>=capture)</div></div></div><div><br></div><div>It would probably be cleaner to support an env var, but...</div><div><br></div><div>Cheers,</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 17, 2022 at 8:55 AM Patrick Stinson <<a href="mailto:patrickkidd@gmail.com">patrickkidd@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="auto">I’m trying to speed up building the sysroot which takes forever without a multiple build jobs count passed to make. Long-lived sysroots do make this less important, but debugging build errors in libs, for example Qt, is a real pain without it.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 17, 2022 at 1:46 AM Phil Thompson <<a href="mailto:phil@riverbankcomputing.com" target="_blank">phil@riverbankcomputing.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On 16/10/2022 19:27, Patrick Stinson wrote:<br>
> Is there a method to override to add arguments to<br>
> self.run(self.host_make) for component plugins? For example I am<br>
> trying to override this in a Qt component plugin but it looks like<br>
> you’d have to fork the whole QtComponent._install_from_source method<br>
> to override that one line that calls make.<br>
<br>
Not at the moment. What is it you are trying to do?<br>
<br>
Phil<br>
</blockquote></div></div>
</blockquote></div>