[Scons-users] SCons 3.0.0.alpha.20170614 available on testpypi

Tim Jenness tjenness at lsst.org
Fri Jul 21 14:36:21 EDT 2017


I’ve been testing this alpha release on our codebase.

So far I’ve only encountered one problem inside SCons. In Scanner/__init__.py 

When I use TryCompile() the header files are scanned and there is a problem if the header files can’t be converted to Unicode.

This triggered for me in boost-python where some of the header files have a corrupt character in the author’s name (German double-s I think). This leads to get_text_contents() returning bytes instead of str which causes the regex to fail. The fix is pretty straightforward:

Add 

self.creb = re.compile(regex.encode(), re.M)

to have a bytes version of the regex, and then do:

    def find_include_names(self, node):
        text = node.get_text_contents()
        if isinstance(text, bytes):
            return self.creb.findall(text)
        return self.cre.findall(text)

This allows me to build code that uses boost-python.

— 
Tim Jenness


> On Jun 20, 2017, at 20:38 , Bill Deegan <bill at baddogconsulting.com> wrote:
> 
> merged!
> 
> Thanks!
> 
> On Tue, Jun 20, 2017 at 5:03 PM, RW via Scons-users <scons-users at scons.org <mailto:scons-users at scons.org>> wrote:
> It turns out it was a quick fix for this one
> https://bitbucket.org/scons/scons/pull-requests/482 <https://bitbucket.org/scons/scons/pull-requests/482>
> 
> I also had a look around for anything similar that might be in the source but didn't find anything
> 
> On 20 June 2017 at 15:55, RW <garlicbready at googlemail.com <mailto:garlicbready at googlemail.com>> wrote:
> At the moment they're not passing (At least on my machine). All tests that use dir_fixture are currently breaking under windows for 3.0. I'll post a test.log after I've finished running it
> 
> 
> On 20 Jun 2017 15:08, "William Blevins" <wblevins001 at gmail.com <mailto:wblevins001 at gmail.com>> wrote:
> Then how are the existing tests passing on Windows?
> 
> On Jun 20, 2017 5:57 AM, "RW via Scons-users" <scons-users at scons.org <mailto:scons-users at scons.org>> wrote:
> Just to follow this looks like a windows only bug
> Linux doesn't seem to have this problem
> 
> On 20 June 2017 at 10:20, RW <garlicbready at googlemail.com <mailto:garlicbready at googlemail.com>> wrote:
> I think I've spotted another bug
> I've recently tried to use fixtures in a test I'm working on (python27 / win10)
> This should use a sub directory of "image" relative to the test calling it, but seems to fail
> ```
> test.dir_fixture('image')
> ```
> 
> Using a test already in the sources that uses test.dir_fixture to demonstrate
> Runs okay under 2.5.1, but fails under 3.0 alpha
> ```
> python runtest.py test\packaging\convenience-functions\convenience-functions.py
> ```
> 
> Failure message
> ```
> (testenv) D:\SourceControl\GitRepos\scons>python runtest.py test\packaging\convenience-functions\convenience-functions.py
> 1/1 (100.00%) D:\\SourceControl\\GitRepos\\scons\\testenv\\Scripts\\python.exe -tt test\packaging\convenience-functions\convenience-functions.py
> Traceback (most recent call last):
>   File "test\packaging\convenience-functions\convenience-functions.py", line 36, in <module>
>     test.dir_fixture( "image" )
>   File "D:\SourceControl\GitRepos\scons\QMTest\TestCmd.py", line 1325, in dir_fixture
>     for entry in os.listdir(spath):
> WindowsError: [Error 3] The system cannot find the path specified: '\\SourceControl\\GitRepos\\scons\\test\\fixture\\image/*.*'
> ```
> 
> If I use a absolute directory path within the call to test.dir_fixture then this seems to work okay
> 
> Many Thanks
> Richard
> 
> On 14 June 2017 at 21:49, Bill Deegan <bill at baddogconsulting.com <mailto:bill at baddogconsulting.com>> wrote:
> Greetings,
> 
> This is an alpha quality release. 
> It's the first version to support both python 3.5+, 2.7.x, and pypy.
> There have been 701 commits since the 2.5.1 release.
> 
> Please report any issues to the scons-users mailing list.
> (See: http://scons.org/lists.html <http://scons.org/lists.html> )
> 
> 
> You can download via:
> pip install -i https://testpypi.python.org/pypi <https://testpypi.python.org/pypi> scons
> 
> Please do so in a virtualenv and not in your python distro.
> 
> RELEASE 3.0.0.alpha.20170614 - Mon, 14 Jun 2017 12:23:56 -0400
> 
>   Please consult the RELEASE.txt file for a summary of changes since the last
>   release and consult the CHANGES.txt file for complete a list of changes
>   since last release.  This announcement highlights only the important
>   changes.
>     Please note the following important changes since release 2.5.1:
>        *IT IS NOT READY FOR PRODUCTION USE*
> 
>        This is the initial release supporting both python 3.5+ and 2.7.x and pypy
>        There are some important changes:
> 
>        - Any print statements must now use python 3 syntax of "print()"
>        - All node content should be in bytes. This is the default in python 2.7.x,
>          in Python 3 all strings are by default unicode. byte and/or bytearray
>          should be used if you construct content for return by a custom node type's
>          get_content() method.
>        - This is some (as yet unresolved issue) using Literal()'s in some context with
>          Python 3
>        - pypy should be supported, please report any issues to the user's mailing list.
>        - Currently if you switch back and forth between python 2.7.x and 3.5+ you will
>          need to remove your sconsign file.  This should be resolves shortly, but
>          regardless switching between python 2.7.x and 3.5+ will not use compatible
>          sconsigns and as such incremental builds should be expected to rebuild
>          anything changed since the previous scons run with the same version of python.
>        - It is likely that migrating from 2.5.1 -> 3.0.0 alpha will cause rebuilds due
>          to the significant number of changes in the codebase.
> 
>        - Removed deprecated tools CVS, Perforce, BitKeeper, RCS, SCCS, Subversion.
>        - Removed deprecated module SCons.Sig
>        - See CHANGES.txt for more details on other changes
>        - 3.0.0 should be slightly faster than 2.5.1.  Changes yielded a 15% speed up for
>          null incremental builds.
>        - Updated D language scanner support to latest: 2.071.1.
>        - python -m SCons should now run SCons if it's installed PYTHONPATH
> 
> 
> 
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org <mailto:Scons-users at scons.org>
> https://pairlist4.pair.net/mailman/listinfo/scons-users <https://pairlist4.pair.net/mailman/listinfo/scons-users>
> 
> 
> 
> 
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org <mailto:Scons-users at scons.org>
> https://pairlist4.pair.net/mailman/listinfo/scons-users <https://pairlist4.pair.net/mailman/listinfo/scons-users>
> 
> 
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org <mailto:Scons-users at scons.org>
> https://pairlist4.pair.net/mailman/listinfo/scons-users <https://pairlist4.pair.net/mailman/listinfo/scons-users>
> 
> 
> 
> 
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org <mailto:Scons-users at scons.org>
> https://pairlist4.pair.net/mailman/listinfo/scons-users <https://pairlist4.pair.net/mailman/listinfo/scons-users>
> 
> 
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170721/1818a166/attachment-0001.html>


More information about the Scons-users mailing list