pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/scons scons: prepend ${PYPKGPREFIX} and while he...

branches:  trunk
changeset: 317220:17af1909b81d
user:      tnn <>
date:      Wed Jan 02 17:18:47 2019 +0000

scons: prepend ${PYPKGPREFIX} and while here update to 3.0.2

This is needed so that legacy packages that only work with python 2.7 may
request py27-scons-3.0.2 while the rest of the world can move on.

This changes the package name from scons to e.g. py37-scons, so packages
that build depend on scons need to be adjusted. I will do this
and will add python 3 support where straightforward.

RELEASE 3.0.2 - Mon, 31 Dec 2018 16:00:12 -0700

  From Bernard Blackham:
    - Fixed handling of side-effects in task master (fixes #3013).

  From William Deegan:
    - Remove long deprecated SCons.Options code and tests.  This removes BoolOption,EnumOption,
      ListOption,PackageOption, and PathOption which have been replaced by *Variable() many years ago.
    - Re-Enable parallel SCons (-j) when running via Pypy
    - Move SCons test framework files to testing/framework and remove all references to QMtest.
      QMTest has not been used by SCons for some time now.
    - Updated logic for mingw and clang on win32 to search default tool install paths if not
      found in normal SCons PATH.  If the user specifies PATH or tool specific paths they
      will be used and the default paths below will be ignored.
      - Default path for clang/clangxx : C:\Program Files\LLVM\bin
      - Default path for mingw         : C:\MinGW\bin and/or  C:\mingw-w64\*\mingw64\bin
      - Key program to locate mingw    : mingw32-make (as the gcc with mingw prefix has no fixed name)
    - Fixed issue causing stack trace when python Action function contains a unicode string when being
      run with Python 2.7
    - Add alternate path to QT install for Centos in qt tool: /usr/lib64/qt-3.3/bin
    - Fix Java tools to search reasonable default paths for Win32, Linux, macOS.  Add required paths
      for swig and java native interface to JAVAINCLUDES.  You should add these to your CPPPATH if you need
      to compile with them.  This handles spaces in paths in default Java paths on windows.
    - Added more java paths to match install for Centos 7 of openjdk
    - Fix new logic which populates JAVAINCLUDES to handle the case where javac is not found.
    - Fix GH Issue #2580 - # in FRAMEWORKPATH doesn't get properly expanded. The # is left in the
      command line.
    - Fix issue #2980 with credit to Piotr Bartosik (and William Blevins).  This is an issue where using
      TimeStamp-MD5 Decider and CacheDir can yield incorrect md5's being written into the .sconsign.
      The difference between Piotr Bartosik's patch and the current code is that the more complicated
      creation of file to csig map is only done when the count of children for the current node doesn't
      match the previous count which is loaded from the sconsign.
    - Fix issue # 3106 MSVC if using MSVC_BATCH and target dir had a space would fail due to quirk in
      MSVC's handling of escaped targetdirs when batch compiling.
    - Fix GH Issue #3141 unicode string in a TryAction() with python 2.7 crashes.
    - Fix GH Issue #3212 - Use of Py3 and CacheDir + Configure's TryCompile (or likely and Python Value Nodes)
      yielded trying to combine strings and bytes which threw exception.
    - Fix GH Issue #3225 SCons.Util.Flatten() doesn't handle MappingView's produced by dictionary as return
      values from dict().{items(), keys(), values()}.
    - Fix GH Issue #3241 - Properly support versioned shared libraries for MacOS.  We've also introduced two
      new env variables APPLELINK_CURRENT_VERSION and APPLELINK_COMPATIBILITY_VERSION which will specify
      what is passed to the linkers -current_version and -compatibility_version flags.  If not specified
      they will be derived from SHLIBVERSION as such:
      - APPLELINK_COMPATIBILITY_VERSION = all but the last digit in SHLIBVERSION with .0 appended.
      Note that the values of the above will be validated. Valid format for either APPLELINK variable is
      X[.Y[.Z]] where 0 <= X <= 65535, 0 <= Y <= 255, 0 <= Z <= 255.
      The new variables have been added to the documents and should show up in user guide and manpage.
    - Fix GH Issue #3136 no longer wrap io.{BufferedReader,BufferedWriter,BufferedRWPair,BufferedRandom,TextIOWrapper
      with logic to set HANDLE_FLAG_INHERIT flag on the file handle.  Python 3.4+ automatically sets this according
      to Python docs:

  From Ray Donnelly:
    - Fix the PATH created by scons.bat (and other .bat files) to provide a normalized
      PATH.  Some pythons in the 3.6 series are no longer able to handle paths which
      have ".." in them and end up crashing.  This is done by cd'ing into the directory
      we want to add to the path and then using %CD% to give us the normalized directory
      See bug filed under Python 3.6:
      Note: On Win32 PATH's which have not been normalized may cause undefined behavior
      by other executables being run by SCons (or any subprocesses of executables being run by SCons).
      Resolving this issue should eliminate that possibility going forward.

  From Andrew Featherstone
    - Removed unused --warn options from the man page and source code.

  From Arda Fu
    - Fix cpp scanner regex logic to treat ifndef for py3.5+. Previously it was
      not properly differentiating between if, ifdef, and ifndef.

  From Philipp Maierh?fer
    - Added a __hash__ method to the class Scons.Subst.Literal. Required when substituting Literal
      objects when SCons runs with Python 3.
    - Added missing FORTRANMODDIRPREFIX to the gfortran tool.

  From Matthew Marinets:
    - Fixed an issue that caused the Java emitter to incorrectly parse arguments to constructors that
      implemented a class.

  From Fredrik Medley:
    - Fix exception when printing of EnviromentError messages.
      Specifically, this fixes error reporting of the race condition when
      initializing the cache which error previously was hidden.

  From Daniel Moody:
    - Updated Jar builder to handle nodes and directories better
    - Updated Jar builder to flatten source list which could contain embedded lists
    - Removed some magic numbers from on behalf of Mats Wichmann (
    - Set the pickling protocal back to highest which was causing issues
      with variant dir tests. This will cause issues if reading sconsigns
      pickled with the previous lower protocal.
    - Updated swig to setup default paths for windows
    - Updated gettext tools to setup default paths for windows with Cygwin/MinGW setups
    - Add common location for default paths for cygwin and mingw in Platform modules
    - Updated YACC tool to work on windows with Cygwin/MinGW setups
    - Set the pickling protocal back to highest which was causing issues
      with variant dir tests. This will cause issues if reading sconsigns
      pickled with the previous lower protocal.
    - Updated to handle removal of splitunc function from python 3.7
    - Updated the to ignore MSVS versions where not compiler could be found

  From Gary Oberbrunner:
    - Fix bug when Installing multiple subdirs outside the source tree
    - fix to_str to handle None without raising exception
    - Fix -jN for python 3.7

  From Jonathon Reinhart:
    - Replace all instances of `int main()` in C code with `int main(void)`.
      Specifically, this fixes the test cases use by Configure.CheckCC() which
      would fail when using -Wstrict-prototypes.

  From Zachary Tessler:
    - Fix calculation of signatures for FunctionActions that contain list (or set,...)
      comprehensions whose expressions involve constant literals. Those constants had
      been ignored in signatures, so changing them did not cause targets to be rebuilt.

  From Pawe? Tomulik:
    - In the testing framework, module TestCommon, fixed must_contain(),
      must_not_contain(), and related methods of TestCommon class to work with
      substrings located at zero offset.
    - Added virtualenv support. A new function Virtualenv() determines whether
      SCons runs in a virtualenv. The search PATH may also be extended to
      prefer executables from the current virtualenv over the ones provided by
      base environment. New option --enable-virtualenv provided to import some
      virtualenv-related variables to SCons and extend every env['ENV']['PATH']
      automatically. New option --ignore-virtualenv disables this. Two
      environment variables, SCONS_ENABLE_VIRTUALENV and
      SCONS_IGNORE_VIRTUALENV are supported for the same purpose.

  From Richard West:
    - Add,, to the search path for the root SConstruct file.
      Allows easier debugging within Visual Studio
    - Change to change the install directory (via  pip, or install) from scons-#.#.#
      to scons (Yielding <pythondir>/lib/scons/SCons/ instead of <pythondir>/lib/scons/SCons-#.#.#/).
      This changes SCons to better comply with normal Python installation practices.

  From Mats Wichmann:
    - Recognize new java 9, 10, 11 (as 9.0 and 10.0, 11.0)
    - Updated manpage scons.xml to fix a nested list problem
    - Updated doc terminiology: use prepend instead of append as appropriate
    - XML validity fixes from change
    - Update wiki links to new github location
    - Update bug links to new github location
    - Make it easier for SConscript() call to fail on missing script.
      It was possible to call SCons.Warnings.warningAsException
      (not documented as a user API) to make all warnings fail. Now
      SConscript can take an optional must_exist flag which if true fails
      if the script does not exist.  Not failing on missing script is
      now considered deprecated, and the first instance will print a
      deprecation message.  It is now also possible to flip the scons
      behavior (which still defaults to warn, not fail) by calling
      SCons.Script.set_missing_sconscript_error, which is also not a
      documented interface at the moment.
    - Convert to use with statement on open (quiets 17 py3 warnings)
    - Quiet py3 warning in
    - Fix tests specifying octal constants for py3
    - Fix must_contain tests for py3
    - RPM package generation:
       - Fix supplying a build architecture
       - Disable auto debug package generation on certain rpmbuild versions
       - Adjust some tests to only supply build-id file on certain rpmbuild versions
       - Tests now use a file fixture for the repeated (trivial) main.c program.
       - Document and comment cleanup.
       - Added new Environment Value X_RPM_EXTRADEFS to supply custom settings
         to the specfile without adding specific logic for each one to scons.
    - The test for Python.h needed by swig tests is moved to get_python_platform
      so it does not have to be repeated in every test; picks up one failure
      which did not make the (previously needed) check. Windows version
      of get_python_platform needed some rework in case running in virtualenv.
    - If test opens os.devnull, register with atexit so file opens do not leak.
    - Fix bugs in Win32 process spawn logic to handle OSError exception correctly.
    - Use time.perf_counter instead of time.clock if it exists.
      time.clock deprecated since py3.3, due to remove in 3.8. deprecation
      warnings from py3.7 were failing a bunch of tests on Windows since they
      mess up expected stderr.
    - Prefer Py3's inspect.getfullargspec over deprecated inspect.getargspec.
      Switched to "new" (standard in Py2.7) usage of receiving a namedtuple -
      we were unpacking to a four-tuple, two of the items of which were unused;
      getfullargspec returns a named tuple with seven elements so it is a
      cleaner drop-in replacement using the namedtuple.
    - Updated the test-framework.rst documentation.
    - Remove obsoleted internal implementaiton of OrderedDict.
    - Test for tar packaging fixups
    - Stop using deprecated unittest asserts
    - messages in strip-install-dir test now os-neutral
    - Add xz compression format to packaging choices.
    - Syntax cleanups - trailing blanks, use "is" to compare with None, etc.
      Three uses of variables not defined are changed.
    - Some script changes in trying to find scons engine
    - Update (pep8) configure-cache script, add a --show option.
    - Fix for a couple of "what if tool not found" exceptions in framework.
    - Add Textfile/Substfile to default environment. (issue #3147)
    - sconsign: a couple of python3 fixes; be more tolerant of implicit
      entries which have no signatures; minor PEP8 changes.
    - Fix a couple of type mistakes (list-> string, filter type -> list)
    - Fix a couple of type mistakes in packaging tools: list-> string in msi,
      filter type -> list in ipk

  From Bernhard M. Wiedemann:
    - Update SCons' internal scons build logic to allow overriding build date
      with SOURCE_DATE_EPOCH for SCons itself.
    - Change the datestamps in SCons' docs and embedded in code use ISO 8601 format and UTC

  From Hao Wu
    - Typo in customized decider example in user guide
    - Replace usage of unittest.TestSuite with unittest.main() (fix #3113)


 devel/scons/Makefile      |    12 +-
 devel/scons/PLIST         |  1167 ++++++++++++++++++++++----------------------
 devel/scons/ |    17 +
 devel/scons/distinfo      |    10 +-
 4 files changed, 609 insertions(+), 597 deletions(-)

diffs (truncated from 1251 to 300 lines):

diff -r f1fddc616581 -r 17af1909b81d devel/scons/Makefile
--- a/devel/scons/Makefile      Wed Jan 02 15:45:27 2019 +0000
+++ b/devel/scons/Makefile      Wed Jan 02 17:18:47 2019 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.42 2018/02/02 15:34:38 jperkin Exp $
+# $NetBSD: Makefile,v 1.43 2019/01/02 17:18:47 tnn Exp $
-DISTNAME=      scons-3.0.1
+DISTNAME=      scons-3.0.2
 CATEGORIES=    devel
@@ -11,15 +11,13 @@
 COMMENT=       Python-based, open-source build system
 LICENSE=       mit
+DEPENDS+=      ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
 REPLACE_PYTHON+=       script/scons
 REPLACE_PYTHON+=       script/scons-configure-cache
 REPLACE_PYTHON+=       script/scons-time
 REPLACE_PYTHON+=       script/sconsign
-# scons-3.0.0 works with python-3.x, but not the many packages
-# that have SConstruct files that only work with python-2.x
 SUBST_CLASSES+=                rflag
 SUBST_STAGE.rflag=     pre-configure
 SUBST_FILES.rflag=     engine/SCons/Tool/
diff -r f1fddc616581 -r 17af1909b81d devel/scons/PLIST
--- a/devel/scons/PLIST Wed Jan 02 15:45:27 2019 +0000
+++ b/devel/scons/PLIST Wed Jan 02 17:18:47 2019 +0000
@@ -1,595 +1,592 @@
-@comment $NetBSD: PLIST,v 1.16 2017/10/03 11:53:52 wiz Exp $
+@comment $NetBSD: PLIST,v 1.17 2019/01/02 17:18:47 tnn Exp $

Home | Main Index | Thread Index | Old Index