Adding arguments to make for sysroot

Phil Thompson phil at riverbankcomputing.com
Thu Oct 20 15:55:35 BST 2022


The next snapshot adds a --jobs option to pyqtdeploy-sysroot and 
build-demo.py.

Phil

On 17/10/2022 18:23, Patrick Stinson wrote:
> 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:
> 
> import os.path
> from pyqtdeploy.sysroot.plugins.Qt import QtComponent
> 
> class DemoQtComponent(QtComponent):
> 
> def run(self, *args, capture=False):
> """ Run a command, optionally capturing stdout. """
> if args[0] == self.host_make:
> self.verbose('Adding args for concurrent build.')
> _args = args + ('-j16',)
> else:
> _args = args
> return super().run(*_args, capture=capture)
> 
> It would probably be cleaner to support an env var, but...
> 
> Cheers,
> 
> On Mon, Oct 17, 2022 at 8:55 AM Patrick Stinson <patrickkidd at gmail.com>
> wrote:
> 
>> 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.
>> 
>> On Mon, Oct 17, 2022 at 1:46 AM Phil Thompson 
>> <phil at riverbankcomputing.com>
>> wrote:
>> 
>>> On 16/10/2022 19:27, Patrick Stinson wrote:
>>> > Is there a method to override to add arguments to
>>> > self.run(self.host_make) for component plugins? For example I am
>>> > trying to override this in a Qt component plugin but it looks like
>>> > you’d have to fork the whole QtComponent._install_from_source method
>>> > to override that one line that calls make.
>>> 
>>> Not at the moment. What is it you are trying to do?
>>> 
>>> Phil
>>> 
>> 


More information about the PyQt mailing list