Subject: CVS commit: pkgsrc/devel/scons
From: Adam Ciarcinski
Date: 2019-09-17 10:23:42
Message id: 20190917082342.9E062FBF4@cvs.NetBSD.org

Log Message:
scons: updated to 3.1.1

RELEASE 3.1.1:
- Remove obsoleted references to DeciderNeedsNode which could cause crash when \ 
using --debug=explain
- Add Fix and test for crash in 3.1.0 when using Decider('MD5-timestamp') and \ 
--debug=explain
- Added -fmerge-all-constants to flags that get included in both CCFLAGS and \ 
LINKFLAGS.
- Fix issue 3415 - Update remaining usages of EnvironmentError to \ 
SConsEnvironmentError
  this patch fixes issues introduced in 3.1.0 where any of the
  following would cause SCons to error and exit:
    - CacheDir not write-able
    - JSON encoding errors for CacheDir config
    - JSON decoding errors for CacheDir config

RELEASE 3.1.0:
- Code to supply correct version-specifier argument to vswhere for
  VS version selection.
- Enhanced --debug=explain output. Now the separate components of the dependency \ 
list are split up
  as follows:

  scons: rebuilding `file3' because:
       the dependency order changed:
       ->Sources
       Old:xxx	New:zzz
       Old:yyy	New:yyy
       Old:zzz	New:xxx
       ->Depends
       ->Implicit
       Old:/usr/bin/python	New:/usr/bin/python
- Fix Issue 3350 - SCons Exception EnvironmentError is conflicting with Python's \ 
EnvironmentError.
- Fix spurious rebuilds on second build for cases where builder has > 1 \ 
target and the source file
  is generated. This was causing the > 1th target to not have it's implicit \ 
list cleared when the source
  file was actually built, leaving an implicit list similar to follows for 2nd \ 
and higher target
          ['/usr/bin/python', 'xxx', 'yyy', 'zzz']
  This was getting persisted to SConsign and on rebuild it would be corrected to \ 
be similar to this
          ['zzz', 'yyy', 'xxx', '/usr/bin/python']
  Which would trigger a rebuild because the order changed.
  The fix involved added logic to mark all shared targets as peers and then \ 
ensure they're implicit
  list is all cleared together.
- Fix Issue 3349 - SCons Exception EnvironmentError is conflicting with Python's \ 
EnvironmentError.
  Renamed to SConsEnvironmentError
- Fix Issue 3350 - mslink failing when too many objects.  This is resolved by \ 
adding TEMPFILEARGJOIN variable
  which specifies what character to join all the argements output into the \ 
tempfile. The default remains a space
  when mslink, msvc, or mslib tools are loaded they change the TEMPFILEARGJOIN \ 
to be a line separator (\r\n on win32)
- Fix performance degradation for MD5-timestamp decider.  NOTE: This changes the \ 
Decider() function arguments.
  From:
      def my_decider(dependency, target, prev_ni):
  To:
      def my_decider(dependency, target, prev_ni, repo_node):
  Where repo_node is the repository (or other) node to use to check if the node \ 
is out of date instead of dependency.
- Additional fix to issue 3135 - Also handle 'pure' and 'elemental' type bound \ 
procedures
- Fix issue 3135 - Handle Fortran submodules and type bound procedures
- Upgraded and improved Visual Studio solution/project generation code using the \ 
MSVSProject builder.
  - Added support for Visual Studio 2017 and 2019.
  - Added support for the following per-variant parameters to the builder:
    - cpppaths: Provides per-variant include paths.
    - cppdefines: Provides per-variant preprocessor definitions.
- Fix handling of Visual Studio Compilers to properly reject any unknown \ 
HOST_PLATFORM or TARGET_PLATFORM
- Added support for Visual Studio 2019 toolset.
- Update cache debug output to include cache hit rate.
- No longer unintentionally hide exceptions in Action.py
- Allow builders and pseudo-builders to inherit from OverrideEnvironments
- Add logic to derive correct version argument to vswhere
- Enable LaTeX scanner to find more than one include per line
- scons-time takes more care closing files and uses safer mkdtemp to avoid
  possible races on multi-job runs.
- Use importlib to dynamically load tool and platform modules instead of imp module
- sconsign: default to .sconsign.dblite if no filename is specified.
  Be more informative in case of unsupported pickle protocol (py2 only).
- Fix issue 3336 - on Windows, paths were being added to PATH even if
  tools were not found in those paths.
- More fixes for newer Java versions (since 9): handle new jdk directory
  naming (jdk-X.Y instead of jdkX.Y) on Windows; handle two-digit major
  version. Docstrings improved.
- Fixups for pylint: exception types, redefined functions,
  globals, etc.  Some old code removed to resolve issues (hashlib is
  always present on modern Pythons; no longer need the code for
  2.5-and-earlier optparse). cmp is not a builtin function in Py3,
  drop one (unused) use; replace one.  Fix another instance of
  renaming to SConsEnvironmentError. Trailing whitespace.
  Consistently use not is/in (if not x is y -> if x is not y).
- Add a PY3-only function for setting up the cachedir that should be less
  prone to races. Add a hack to the PY2 version (from Issue 3351) to
  be less prone to a race in the check for old-style cache.
- Fix coding error in docbook tool only exercised when using python lxml
- Recognize two additional GNU compiler header directory options in
  ParseFlags: -iquote and -idirafter.
- Fix more re patterns that contain \ but not specified as raw strings
  (affects scanners for D, LaTeX, swig)

Files:
RevisionActionfile
1.46modifypkgsrc/devel/scons/Makefile
1.19modifypkgsrc/devel/scons/PLIST
1.27modifypkgsrc/devel/scons/distinfo