commit 45c364a875aa0cb6db56e9f21a181b7a4d004a5830cac5fe3fdac97cc06ad6b1 Author: Matej Cepl Date: Wed Dec 11 17:54:50 2024 +0000 Add site_init.py to pass through SOURCE_DATE_EPOCH for reproducible builds of `nst` and some other packages. OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/scons?expand=0&rev=102 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/SCons-4.8.0.tar.gz b/SCons-4.8.0.tar.gz new file mode 100644 index 0000000..7d8ef09 --- /dev/null +++ b/SCons-4.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e928fc97984e719814270f6863f2183b3b72180b0162a5ed09db68c9994100c +size 3243387 diff --git a/SCons-4.8.1.tar.gz b/SCons-4.8.1.tar.gz new file mode 100644 index 0000000..cc24c9d --- /dev/null +++ b/SCons-4.8.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cad573b329b6a5bc7e654b01f0231064acc979026af68a9e467ddb32bf2ee501 +size 3244423 diff --git a/scons.changes b/scons.changes new file mode 100644 index 0000000..30ec51f --- /dev/null +++ b/scons.changes @@ -0,0 +1,958 @@ +------------------------------------------------------------------- +Wed Dec 11 09:10:56 UTC 2024 - Bernhard Wiedemann + +- Add site_init.py to pass through SOURCE_DATE_EPOCH + +------------------------------------------------------------------- +Thu Oct 24 18:52:36 UTC 2024 - Andreas Stieger + +- SCons 4.8.1: + * env.Dump() now accepts any number of optional "key" arguments, + and returns a dictionary string + * Fix SCons.Variables import + * Fix a problem with AppendUnique and PrependUnique where a value + could be erroneously removed due to a substring match. + * Fix handling of ListVariable when supplying a quoted choice + containing a space character + +------------------------------------------------------------------- +Mon Jul 8 21:25:32 UTC 2024 - Andreas Stieger + +- SCons 4.8.0: + * GetSConsVersion() added to retrieve the SCons version + * Python 3.6 support marked as deprecated + Build with Python 3.11 on Leap. + * Improved Dump() json format detail + * Possibly incompatible change: All exceptions during the + execution of an Action are now returned by value rather than by + raising an exception, for more consistent behavior. + With this change, user created Actions should now catch and + handle expected exceptions (whereas previously many of these + were silently caught and suppressed by the SCons Action + exection code). + * AddOption and the internal add_local_option which AddOption + calls now recognize a "settable" keyword argument to indicate a + project-added option can also be modified using SetOption. + If you were using ninja and using SetOption() for ninja options + in your SConscripts prior to loading the ninja tool, you will + now see an error. The fix is to move the SetOption() to after + you've loaded the ninja tool. + * Bug fixes and compatible improvements + +------------------------------------------------------------------- +Tue Mar 19 07:07:00 UTC 2024 - Andreas Stieger + +- SCons 4.7.0 + * Add Method unlink_files to TestCmd for cleaning up + * Support LIBLITERALPREFIX + * Update support for D compilers, Java + * Bug fixes and internal improvements + +------------------------------------------------------------------- +Tue Mar 28 17:02:58 UTC 2023 - Andreas Stieger + +- SCons 4.5.2 + * Fix a problem in 4.5.0/4.5.1 where ParseConfig could cause an + exception in MergeFlags when the result would be to add + preprocessor defines to existing CPPDEFINES + +------------------------------------------------------------------- +Wed Mar 8 10:32:28 UTC 2023 - Andreas Stieger + +- SCons 4.5.1 + * Add ValidateOptions() options supporting ch + * Add experimental NewParallel Job implementation for better + scaling highly parallel builds + * Add FILE_ENCODING to allow explicitly setting the text encoding + for files written by the Textfile() and Substfile() builders + * Deprecated: The qt tool has been renamed qt3. + * A number of bug fixes and improvements + * Documentation updates + +------------------------------------------------------------------- +Mon Oct 10 19:57:09 UTC 2022 - Andreas Stieger + +- SCons 4.4.0: + * new functionality, including updated compile tool support, + the ability to override the file modification timestamp for + zip files, using a custom hash function, updated ninja + support, experimental features via the --experimental flag + * many bugfixes, including improved shared library handling, + fixes for Fortan and many build tools +- drop scons-3.0.0-fix-install.patch in favour of spec construct +- switch to smaller tarball, simplifying spec file and build + +------------------------------------------------------------------- +Fri Jan 3 19:23:47 CET 2020 - Matej Cepl + +- Switch off tests +- Update to 3.1.2 (jsc#SLE-12199, bsc#1169143): + - Added debug option "action_timestamps" which outputs to + stdout the absolute start and end time for each target. + - Fix suncxx tool (Oracle Studio compiler) when using Python 3. + Previously would throw an exception. + Resolved by properly handling tool version string output as + unicode. + - Resolved a typo in engine.SCons.Tool + - Resolved a race condition in multithreaded Windows builds + with Python 2 in the case where a child process is spawned + while a Python action has a file open. Original author: + Ryan Beasley. + - Added memoization support for calls to Environment.Value() + in order to improve performance of repeated calls. + - Update Command() function to accept target_scanner, + source_factory, and target_factory arguments. + This makes Command act more like a one-off builder. + - Added support for "-imacros" to ParseFlags + - Fix CheckFunc detection code for Visual 2019. Some functions + (e.g. memmove) were incorrectly recognized as not available. + - Fix stacktrace when using SCons with Python 3.5+ and + SunOS/Solaris related tools. + - Avoid crash with UnicodeDecodeError on Python 3 when + a Latex log file in non-UTF-8 encoding (e.g. containing + umlauts in Latin-1 encoding when the fontenc package is + included with \usepackage[T1]{fontenc}) is read. + - Improved threading performance by ensuring NodeInfo is + shared across threads. Results in ~13% improvement for + parallel builds (-j# > 1) with many shared nodes. + - Improve performance of Entry.disambiguate() by making check + for most common case first, preventing unnecessary IO. + - Improved DAG walk performance by reducing unnecessary work + when there are no un-visited children. + - Replace instances of string find method with "in" checks + where the index from find() was not used. + - CmdStringHolder fix from issue #3428 + - Turn previously deprecated debug options into failures: + --debug=tree, --debug=dtree, --debug=stree, + --debug=nomemoizer. + - Experimental New Feature: Enable caching MSVC configuration + If SCONS_CACHE_MSVC_CONFIG shell environment variable is + set, SCons will cache the results of past calls to + vcvarsall.bat to a file; integrates with existing memoizing + of such vars. On vs2019 saves 5+ seconds per SCons + invocation, which really helps test suite runs. + - Remove deprecated SourceSignatures, TargetSignatures + - Remove deprecated Builder keywords: overrides and scanner + - Remove deprecated env.Copy + - Remove deprecated BuildDir plus SConscript keyword + build_dir + - A number of documentation improvements. +- scons-src-3.1.2.tar.gz is just renamed documentation for 3.1.1 + (upstream hasn’t released new documentation tarball) + +------------------------------------------------------------------- +Fri Sep 6 18:34:18 UTC 2019 - Andreas Stieger + +- scons 3.1.1: + * Change the default for AppendENVPath to delete_existing=0, so + path order will not be changed, unless explicitly set + * Add the textfile tool to the default tool list + +------------------------------------------------------------------- +Tue May 21 10:07:35 UTC 2019 - Tomáš Chvátal + +- Disable bit more msvc tests as we don't care about the fails + +------------------------------------------------------------------- +Sat May 18 01:12:28 UTC 2019 - Andreas Stieger + +- scons 3.0.5: + * Fixes related to --config=force + * Change the default for AppendENVPath to delete_existing=0, so + path order will not be changed, unless explicitly set + * Add the textfile tool to the default tool list + * Fix regex patterns that were not specified as raw strings + * Do not store build host+user name if reproducible builds are + wanted + +------------------------------------------------------------------- +Tue Mar 26 11:24:14 UTC 2019 - Tomáš Chvátal + +- Sort out the bcond_with/without for the multibuild to work + properly + +------------------------------------------------------------------- +Mon Mar 25 09:32:57 UTC 2019 - Tomáš Chvátal + +- Fix the testsuite pass to keep working +- Use regular python macros +- Use fdupes + +------------------------------------------------------------------- +Fri Mar 1 19:44:24 UTC 2019 - Andreas Stieger + +- scons 3.0.4: + * Add TEMPFILESUFFIX to allow a customizable filename extension + * Update TempFileMunge class to use PRINT_CMD_LINE_FUNC + * Enhance cpp scanner regex logic to detect if/elif expressions + without whitespaces but parenthesis like "#if(defined FOO)" or + "#elif!(BAR)" correctly. + +------------------------------------------------------------------- +Tue Jan 15 15:10:42 UTC 2019 - astieger@suse.com + +- scons 3.0.3: + * upstream packaging fixes + * Update doc examples to work with Python 3.5+ + +------------------------------------------------------------------- +Thu Jan 3 13:21:11 UTC 2019 - davejplater@gmail.com + +- Update to version 3.0.2, now works properly with python3 and + fixes boo#1083830. +- Removed incorporated patches: no_deprecated_asserts.patch, + removed_splitunc.patch, fix-jN-for-python-37.patch, + replace_TestSuite_main.patch, stop_custom_OrderedDict.patch, + no_time-clock.patch and fix-rpm-tests-for-newer-rpmbuild.patch. +- Upstream changes are too many to list see : + /usr/share/doc/packages/scons/CHANGES.txt + +------------------------------------------------------------------- +Thu Oct 11 10:30:44 UTC 2018 - Matěj Cepl + +- Switch off more failing tests. + +------------------------------------------------------------------- +Mon Oct 8 12:01:14 UTC 2018 - Matěj Cepl + +- Make package not to be noarch (bsc#1109755) + +------------------------------------------------------------------- +Fri Oct 5 01:35:18 CEST 2018 - mcepl@suse.com + +- Make package multibuild for separate testing +- Block failing tests (and block %check section completely on + non-Intel archs, as the tests are apparently not designed for + that). +- Fix patches from the upstream to improve compatbiilty: + fix-jN-for-python-37.patch + fix-rpm-tests-for-newer-rpmbuild.patch + no_deprecated_asserts.patch + no_time-clock.patch + removed_splitunc.patch + replace_TestSuite_main.patch + stop_custom_OrderedDict.patch +- Remove replace-imp-with-importlib.patch for now (to stabilize + the package first) + +------------------------------------------------------------------- +Wed Jul 25 12:10:25 UTC 2018 - mcepl@suse.com + +- Add replace-imp-with-importlib.patch (from the upstream PR + https://github.com/SCons/scons/pull/3159) +- Remove compatibility ifs for SLE < 13 + +------------------------------------------------------------------- +Fri Nov 24 08:48:43 UTC 2017 - mpluskal@suse.com + +- Explicitly require python3 for python3 version of scons as + dependency does not get generated automatically + +------------------------------------------------------------------- +Wed Nov 15 16:28:48 UTC 2017 - astieger@suse.com + +- SCons 3.0.1: + * Fix return value handling in to_String_for_subst() + * Fixe Variables.GenerateHelpText() to now use the sort parameter + * Fix Tool loading logic from exploding sys.path with many + site_scons/site_tools prepended on py3. + * Add additional output with time to process each SConscript file + when using --debug=time. + * Fix broken subst logic with "$$([...])" + * Java/Jar building improvements and fixes +- Packaging changes: + * drop scons-3.0.0-support-python-2-prints.patch, now upstream + * Restore python2 support for SLE 12 and Leap 42.x + +------------------------------------------------------------------- +Fri Nov 3 11:22:45 UTC 2017 - mpluskal@suse.com + +- Switch to python3 + +------------------------------------------------------------------- +Wed Oct 4 19:09:07 UTC 2017 - astieger@suse.com + +- SCons 3.0.0, a major release: + * Some targets may rebuild when upgrading. + * Significant changes in some python action signatures + * Supports Python version earlier than 2.7 and 3.5+ + * Switching between PY 2.7 and PY 3.5, 3.6 will cause rebuilds + * Updated language support: D, LaTeX, docbook + * Remove deprecated tools CVS, Perforce, BitKeeper, RCS, SCCS, Subversion + * Removed deprecated module SCons.Sig +- refresh scons-1.2.0-fix-install.patch to + scons-3.0.0-fix-install.patch +- drop scons-1.2.0-noenv.patch, fix is done in spec +- drop rpmlintrc, no longer needed +- prevent a regression that would require Python3 syntax for + print statements, add scons-3.0.0-support-python-2-prints.patch + +------------------------------------------------------------------- +Tue Nov 22 12:44:48 UTC 2016 - astieger@suse.com + +- SCons 2.5.1: + * Add scons-configure-cache.py to packaging. It was omitted + * Use memoization to optimize PATH evaluation across all + dependencies per node + +------------------------------------------------------------------- +Wed Apr 20 07:08:23 UTC 2016 - astieger@suse.com + +- SCons 2.5.0: + * Enhance implicit language scanning functionality + * Cache directory sharding to improve NFS performance + +------------------------------------------------------------------- +Fri Dec 4 17:55:32 UTC 2015 - mpluskal@suse.com + +- Update to 2.4.1 + * Added new configure check, CheckProg, to check for + existence of a program. + * Fix for issue #2840 - Fix for two environments specifying same + target with different actions not throwing hard error. Instead + SCons was incorrectly issuing a warning and continuing. + * Add support `Microsoft Visual C++ Compiler for Python 2.7' + Compiler can be obtained at: + https://www.microsoft.com/en-us/download/details.aspx?id=44266 + * Fixed tigris issue #3011: Glob() excludes didn't work when + used with VariantDir(duplicate=0) + * Fix bug 2831 and allow Help() text to be appended to + AddOption() help. + * Reimplemented versioning for shared libraries, with the + following effects + * Fixed tigris issues #3001, #3006. + * Fixed several other issues not reported to tigris, including: + issues with versioned libraries in subdirectories with tricky + names, + issues with versioned libraries and variant directories, + issue with soname not being injected to library when using D + linkers, + * Switched to direct symlinks instead of daisy-chained ones -- + soname and development symlinks point directly to the + versioned shared library now), for rationale see: + https://www.debian.org/doc/debian-policy/ch-sharedlibs.html + https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages + https://bitbucket.org/scons/scons/pull-requests/247/new-versioned-libraries-gnulink-cyglink/diff#comment-10063929 + * New construction variables to allow override default + behavior: SONAME, SHLIBVERSIONFLAGS, _SHLIBVERSIONFLAGS, + SHLIBNOVERSIONSYMLINKS, LDMODULEVERSION, + LDMODULEVERSIONFLAGS, _LDMODULEVERSIONFLAGS, + LDMODULENOVERSIONSYMLINKS. + * Changed logic used to configure the versioning machinery + from platform-centric to linker-oriented. + * The SHLIBVERSION/LDMODULEVERSION variables are no longer + validated by SCons (more freedom to users). + * InstallVersionedLib() doesn't use SHLIBVERSION anymore. + * Enchanced docs for the library versioning stuff. + * New tests for versioned libraries. + * Library versioning is currently implemented for the following + linker tools: 'cyglink', 'gnulink', 'sunlink'. + * Fix to swig tool - pick-up 'swig', 'swig3.0' and 'swig2.0' + (in order). + * Fix to swig tool - respect env['SWIG'] provided by user. + +------------------------------------------------------------------- +Thu Sep 24 16:47:39 UTC 2015 - mpluskal@suse.com + +- Update to 2.4.0 + * Switched several core classes to use "slots", to reduce the + overall memory consumption in large projects (fixes #2180, + #2178, #2198) + * Memoizer counting uses decorators now, instead of the old + metaclasses approach. + * Fixed typo in SWIGPATH description + +------------------------------------------------------------------- +Tue Aug 11 08:56:35 UTC 2015 - astieger@suse.com + +- SCons 2.3.6: + * bug fixes + * Added support for Visual Studio 2015 + +------------------------------------------------------------------- +Mon Jul 27 20:46:47 UTC 2015 - astieger@suse.com + +- SCons 2.3.5: + * Documentation fixes + * Fixed symlink support + * Fixed incomplete LIBS flattening and substitution in Program + scanner + * Added new method rentry_exists_on_disk to Node.FS + * Add support for f08 file extensions for Fortran 2008 code. + * Show --config choices if no argument is specified + * Added an 'exclude' parameter to Glob() + * Added support for '-isystem' to ParseFlags. + +------------------------------------------------------------------- +Sun Oct 5 19:37:22 UTC 2014 - andreas.stieger@gmx.de + +- SCons 2.3.4: + * Fixed the interactive mode, in connection with Configure + contexts + * Fix EnsureSConsVersion warning when running packaged version + * Fix D tools for building shared libraries +- for SLE 11 SP3 fix python requirements + +------------------------------------------------------------------- +Mon Sep 29 12:43:29 UTC 2014 - tchvatal@suse.com + +- Cleanup with spec-cleaner (minor whitespace) + +------------------------------------------------------------------- +Thu Aug 28 20:46:40 UTC 2014 - andreas.stieger@gmx.de + +- SCons 2.3.3: + * New functionality: + - Added Copy Action symlink soft-copy support + * Changed/Enhanced existing functionality: + - Improved SWIG detection + * Fixes: + - Fix regression on Windows in D language update + - Fixed the newglossary action to work with VariantDir (LaTeX). + - Added a default for the BUILDERS environment variable, + to prevent not defined exception on a Clone(). + - Fixed handling of CPPDEFINE var in Append() + for several list-dict combinations +- Remove scons-2.3.2-python.patch, committed upstream + +------------------------------------------------------------------- +Thu Aug 7 19:20:13 UTC 2014 - andreas.stieger@gmx.de + +- Fix SCons with python 2.6 on SLE, including building serf: + add scons-2.3.2-python.patch + +------------------------------------------------------------------- +Mon Aug 4 22:28:57 UTC 2014 - andreas.stieger@gmx.de + +- SCons 2.3.2 +- deprecated functionality + * BitKeeper, CVS, Perforce, RCS, SCCS are deprecated from the + default toolset and will be removed from the default toolset + in future SCons versions. + * D language, version 1, is now deprecated. Version 2 is + supported. +- changed/enhanced existing functionality + * Revamp of D language support. + * Tools for DMD, GDC and LDC are provided, and integrated + with the C and C++ linking. + * TeX builder now supports -synctex=1 + * TeX builder cleans auxiliary files correctly with biblatex. +- Fixes + * Fixed handling of nested ifs in CPP scanner PreProcessor class. + * Respect user's CC/CXX values; don't always overwrite in + generate() + * Delegate linker Tool.exists() to CC/CXX Tool.exists(). + * Fixed NoClean() for multi*target builders (#2353). + * Fix SConf tests that write output + * get default RPM architecture more robustly when building RPMs + * Allow varlist to be specified as list of strings for Actions + * Fixes to Docbook tool + +------------------------------------------------------------------- +Wed Apr 9 21:01:45 UTC 2014 - andreas.stieger@gmx.de + +- SCons 2.3.1 + This release adds several new features and fixes many issues, + including a serious regression in linking (failure to re-link if + linker options are changed). +- new functionality: + - Add Pseudo command to mark targets which should not exist after + they are built. + - Add support for a readonly cache (--cache-readonly) + - Added optional ZIPROOT to Zip tool. +- enhancements: + - DocBook tool can now output EPUB format + - Allow multiple options to be specified with --debug=a,b,c + - Update bootstrap.py so it can be used from any dir, to run + SCons from a source (non-installed) dir. + - Added release_target_info() to File nodes, which helps to + reduce memory consumption in clean builds and update runs + of large projects. + - Print full stack on certain errors, for debugging. + - Improve documentation for Textfile builder. +- bug fixes: + - Stop leaking file handles to subprocesses by switching to using + subprocess always. + - Generally try harder to print out a message on build errors + - Added a switch to warn on missing targets + - Always print stats if requested + - Make sure SharedLibrary depends on all dependent libs (by + depending on SHLINKCOM) + - Allow Subst.Literal string objects to be compared with each other, + so they work better in AddUnique() and Remove(). + - Fixed the handling of long options in the command-line + parsing + - Fixed misspelled variable in intelc.py (#2928). + - Fixed spelling errors in MAN pages (#2897). + - Fixed description of ignore_case for EnumVariable in the MAN + page +- adjust scons-1.2.0-fix-install.patch for context changes +- remove versioned binaries from /usr/bin + +------------------------------------------------------------------- +Sun Jul 21 09:19:19 UTC 2013 - andreas.stieger@gmx.de + +- update to 2.3.0 + - Added ability to run scripts/scons.py directly from source checkout + - Hide deprecated --debug={dtree,stree,tree} from --help output + - Error messages from option parser now include hints about valid choices + - Cleaned up some Python 1.5 and pre-2.3 code, so don't expect SCons + to run on anything less than Python 2.4 anymore + - Several fixes for runtest.py: + * exit with an error if no tests were found + * removed --noqmtest option - this behavior is by default + * replaced `-o FILE --xml` combination with `--xml FILE` + * changed `-o, --output FILE` option to capture stdout/stderr output + from runtest.py + - Remove os_spawnv_fix.diff patch required to enable parallel builds + support prior to Python 2.2 + - Fix WiX Tool to use .wixobj rather than .wxiobj for compiler output + - Support building with WiX releases after 2.0 + - Fix nested LIBPATH expansion by flattening sequences in subst_path. + - Print target name with command execution time with --debug=time + - Updated test framework to support dir and file fixtures and + added ability to test external (out-of-tree) tools + - Fixed several errors in the test suite (Java paths, MSVS version + detection, Tool import), additionally + * provided MinGW command-line support for the CXX, AS and + Fortran tests, + * refactored the detection of the gcc version and the according + Fortran startup library, + * provided a new module rpmutils.py, wrapping the RPM naming rules + for target files and further hardware-dependent info (compatibility, + compiler flags, ...), + * added new test methods must_exist_one_of() and + must_not_exist_any_of() and + * removed Aegis support from runtest.py. (#2872) + - Add -jN support to runtest.py to run tests in parallel + - Updated the TeX builder to support the \newglossary command + in LaTeX's glossaries package and the files it creates. + - Improve support for new versions of biblatex in the TeX builder + so biber is called automatically if biblatex requires it. + - Add SHLIBVERSION as an option that tells SharedLibrary to build + a versioned shared library and create the required symlinks. + Add builder InstallVersionedLib to create the required symlinks + installing a versioned shared library. +- packaging changes + * update to current (and compressed) user guide + * make noarch package + +------------------------------------------------------------------- +Sat Sep 22 20:20:39 UTC 2012 - i@marguerite.su + +- Update to 2.2.0 + * Added gettext toolset + * Fixed FindSourceFiles to find final sources (leaf nodes) + * Allow Node objects in Java path (#2825) + * Fixed the Taskmaster, curing spurious build failures + * Improved documentation of command-line variables + +------------------------------------------------------------------- +Tue Oct 11 22:52:27 UTC 2011 - nmarques@opensuse.org + + +- SCons 2.1.0 requires py_abi > 2.4 +- Potential build fix for SLE11, SLE11_SP1 + + add python_sitearch/python_sitelib macros for <= 1120 + + improved source URL + + add comment for patch +- Add scons-rpmlintrc: source-or-patch-not-bzipped, + python-naming-policy-not-applied + +------------------------------------------------------------------- +Tue Oct 11 16:05:12 UTC 2011 - nmarques@opensuse.org + +- Update to 2.1.0: + + Fix Windows resource compiler scanner to accept DOS line + endings. + + Update MSVS documents to remove note indicating that only one + project is currently supported per solution file. + + Fix long compile lines in batch mode by using TEMPFILE + + Fix MSVC_BATCH=False (was treating it as true) + + support -std=c++0x and related CXXFLAGS in pkgconfig + (ParseFlags) + + Support -dylib_file in pkgconfig (ParseFlags) + + new construction variable WINDOWS_EMBED_MANIFEST to + automatically embed manifests in Windows EXEs and DLLs. + + Fix Visual Studio project generation when CPPPATH contains Dir nodes + + Ensure Visual Studio project is regenerated when CPPPATH or + CPPDEFINES change + + Fix unicode error when using non-ASCII filenames with Copy or + Install + + Put RPATH in LINKCOM rather than LINKFLAGS so resetting + LINKFLAGS doesn't kill RPATH + + Fix precompiled headers on Windows when variant dir name has + spaces. + + Adding None to an Action no longer fails (just returns original + action) + + New --debug=prepare option to show each target as it's being + prepared, whether or not anything needs to be done for it. + + New debug option --debug=duplicate to print a line for each + unlink/relink (or copy) of a variant file from its source + file. + + Improve error message for EnumVariables to show legal values. + + Fix Intel compiler to sort versions >9 correctly (esp. on + Linux) + + Fix Install() when the source and target are directories and + the target directory exists. + + Many more, please see ChangeLog/Changes. + +------------------------------------------------------------------- +Wed Feb 10 18:50:20 UTC 2010 - davejplater@gmail.com + +- updated to 1.2.0.d20100117 + - Fixed temp filename race condition on Windows with long cmd lines + - Fixed tryRun when sconf directory is in a variant dir. + - Do not add -fPIC for ifort tool on non-posix platforms (darwin and + windows). + - Fix bug 2294 (spurious CheckCC failures). + - Fix scons bootstrap process on windows 64 (wrong wininst name) + - Final merge from vs_revamp branch to main + - Added definition and usage of HOST_OS, HOST_ARCH, TARGET_OS, + TARGET_ARCH, currently only defined/used by Visual Studio + Compilers. This will be rolled out to other platforms/tools + in the future. + - Add check for python >= 3.0.0 and exit gracefully. + For 1.3 python >= 1.5.2 and < 3.0.0 are supported + - Fix bug 1944 - Handle non-existent .i file in swig emitter, previously + it would crash with an IOError exception. Now it will try to make an + educated guess on the module name based on the filename. + - Have AddOption() remove variables from the list of + seen-but-unknown variables (which are reported later). + - An option name and aliases can now be specified as a tuple. + - Textfile builder. + - use "is/is not" in comparisons with None instead of "==" or "!=". + - Avoid adding -gphobos to a command line multiple times + when initializing use of the DMD compiler. + - Fix the -n option when used with VariantDir(duplicate=1) + and the variant directory doesn't already exist. + - Fix scanning of Unicode files for both UTF-16 endian flavors. + - Fix a TypeError on #include of file names with Unicode characters. + - Fix an exception if a null command-line argument is passed in. + - Evaluate Requires() prerequisites before a Node's direct children + (sources and dependencies). + - Remove redundant __metaclass__ initializations in Environment.py. + - Correct the documentation of text returned by sconf.Result(). + - Document that filenames with '.' as the first character are + ignored by Glob() by default (matching UNIX glob semantics). + - Fix SWIG testing infrastructure to work on Mac OS X. + - Restructure a test that occasionally hung so that the test would + detect when it was stuck and fail instead. + - Substfile builder. + - When reporting a target that SCons doesn't know how to make, + specify whether it's a File, Dir, etc. + - Fix use of $SWIGOUTDIR when generating Python wrappers. + - Add $SWIGDIRECTORSUFFIX and $SWIGVERSION construction variables. + - Add -recorder flag to Latex commands and updated internals to + use the output to find files TeX creates. This allows the MiKTeX + installations to find the created files + - Notify user of Latex errors that would get buried in the + Latex output + - Remove LATEXSUFFIXES from environments that don't initialize Tex. + - Add support for the glosaaries package for glossaries and acronyms + - Fix problem that pdftex, latex, and pdflatex tools by themselves did + not create the actions for bibtex, makeindex,... by creating them + and other environment settings in one routine called by all four + tex tools. + - Fix problem with filenames of sideeffects when the user changes + the name of the output file from the latex default + - Add scanning of files included in Latex by means of \lstinputlisting{} + Patch from Stefan Hepp. + - Change command line for epstopdf to use --outfile= instead of -o + since this works on all platforms. + Patch from Stefan Hepp. + - Change scanner to properly search for included file from the + directory of the main file instead of the file it is included from. + Also update the emitter to add the .aux file associated with + \include{filename} commands. This makes sure the required directories + if any are created for variantdir cases. + +------------------------------------------------------------------- +Mon Jan 19 15:23:52 CET 2009 - prusnak@suse.cz + +- updated to 1.2.0.d20090113 + + - Add support for batch compilation of Visual Studio C/C++ source + files, controlled by a new $MSVC_BATCH construction variable. + - Print the message, "scons: Build interrupted." on error output, + not standard output. + - Add a --warn=future-deprecated option for advance warnings about + deprecated features that still have warnings hidden by default. + - Fix use of $SOURCE and $SOURCES attributes when there are no + sources specified in the Builder call. + - Add support for new $CHANGED_SOURCES, $CHANGED_TARGETS, + $UNCHANGED_SOURCES and $UNCHANGED_TARGETS variables. + - Add general support for batch builds through new batch_key= and + targets= keywords to Action object creation. + - Make linker tools differentiate properly between SharedLibrary + and LoadableModule. + - Document TestCommon.shobj_prefix variable. + - Support $SWIGOUTDIR values with spaces. + - Don't automatically try to build .pdf graphics files for + .eps files in \includegraphics{} calls in TeX/LaTeX files + when building with the PDF builder (and thus using pdflatex). + - Allow AppendENVPath() and PrependENVPath() to interpret '#' + for paths relative to the top-level SConstruct directory. + - Use the Borland ilink -e option to specify the output file name. + - Document that the msvc Tool module uses $PCH, $PCHSTOP and $PDB. + - Allow WINDOWS_INSERT_DEF=0 to disable --output-def when linking + under MinGW. + - Fix typos in the User's Guide. + - Support implicit dependency scanning of files encoded in utf-8 + and utf-16. + - Remove $CCFLAGS from the the default definitions of $CXXFLAGS for + Visual C/C++ and MIPSpro C++ on SGI so, they match other tools + and avoid flag duplication on C++ command lines. + - Handle quoted module names in SWIG source files. + - Copy file attributes so we identify, and can link a shared library + from, shared object files in a Repository. + +- updated to 1.2.0 + + - Don't fail if can't import a _subprocess module on Windows. + - Add warnings for use of the deprecated Options object. + +------------------------------------------------------------------- +Wed Dec 3 14:43:41 CET 2008 - prusnak@suse.cz + +- updated to 1.1.0.d20081125 + + - Improve the robustness of GetBuildFailures() by refactoring + SCons exception handling (especially BuildError exceptions). + - Fix $FORTRANMODDIRPREFIX for the ifort (Intel Fortran) tool. + - Don't pre-generate an exception message (which will likely be + ignored anyway) when an EntryProxy re-raises an AttributeError. + - Handle Java inner classes declared within a method. + - Fix label placement by the "scons-time.py func" subcommand + when a profile value was close to (or equal to) 0.0. + - Fix env.Append() and env.Prepend()'s ability to add a string to + list-like variables like $CCFLAGS under Python 2.6. + - Other Python2.6 portability: don't use "as" (a Python 2.6 keyword). + Don't use the deprecated Exception.message attribute. + - Support using the -f option to search for a different top-level + file name when walking up with the -D, -U or -u options. + - Fix use of VariantDir when the -n option is used and doesn't, + therefore, actually create the variant directory. + - Fix a stack trace from the --debug=includes option when passed a + static or shared library as an argument. + - Speed up the internal find_file() function (used for searching + CPPPATH, LIBPATH, etc.). + - Add support for using the Python "in" keyword on construction + environments (for example, if "CPPPATH" in env: ...). + - Scan for TeX files in the paths specified in the $TEXINPUTS + construction variable and the $TEXINPUTS environment variable. + - Configure the PDF() and PostScript() Builders as single_source so + they know each source file generates a separate target file. + - Add $EPSTOPDF, $EPSTOPDFFLAGS and $EPSTOPDFCOM + - Add .tex as a valid extension for the PDF() builder. + - Add regular expressions to find \input, \include and + \includegraphics. + - Support generating a .pdf file from a .eps source. + - Recursive scan included input TeX files. + - Make the Action() function handle positional parameters consistently. + - Fix Glob() so an on-disk file or directory beginning with '#' + doesn't throw an exception. + +- updated to 1.1.0 + + - Use the specified environment when checking for the GCC compiler + version. + - Fix Glob() polluting LIBPATH by returning copy of list + - Add CheckCC, CheckCXX, CheckSHCC and CheckSHCXX tests to + configuration contexts. + - Have the --profile= argument use the much faster cProfile module + (if it's available in the running Python version). + - Reorder MSVC compilation arguments so the /Fo is first. + - Add scanning Windows resource (.rc) files for implicit dependencies. + - When scanning for a #include file, don't use a directory that + has the same name as the file. + - Suppress error output when checking for the GCC compiler version. + - Fix VariantDir duplication of #included files in subdirectories. + - Reduce memory usage when a directory is used as a dependency of + another Node (such as an Alias) by returning a concatenation + of the children's signatures + names, not the children's contents, + as the directory contents. + - Raise AttributeError, not KeyError, when a Builder can't be found. + - Invalidate cached Node information (such as the contenst returned + by the get_contents() method) when calling actions with Execute(). + - Avoid object reference cycles from frame objects. + - Reduce memory usage from Null Executor objects. + - Compute MD5 checksums of large files without reading the entire + file contents into memory. Add a new --md5-chunksize option to + control the size of each chunk read into memory. + - Fix the ability of the add_src_builder() method to add a new + source builder to any other builder. + - Avoid an infinite loop on non-Windows systems trying to find the + SCons library directory if the Python library directory does not + begin with the string "python". + - Search for the SCons library directory in "scons-local" (with + no version number) after "scons-local-{VERSION}". + - Fix the user's ability to interrupt the TeX build chain. + - Fix the TeX builder's allowing the user to specify the target name, + instead of always using its default output name based on the source. + - Iterate building TeX output files until all warning are gone + and the auxiliary files stop changing, or until we reach the + (configurable) maximum number of retries. + - Add TeX scanner support for: glossaries, nomenclatures, lists of + figures, lists of tables, hyperref and beamer. + - Use the $BIBINPUTS, $BSTINPUTS, $TEXINPUTS and $TEXPICTS construction + variables as search paths for the relevant types of input file. + - Fix building TeX with VariantDir(duplicate=0) in effect. + - Fix the LaTeX scanner to search for graphics on the TEXINPUTS path. + - Have the PDFLaTeX scanner search for .gif files as well. + - Fix typos and format bugs in the man page. + - Add a first draft of a wrapper module for Python's subprocess + module. + - Refactor use of the SCons.compat module so other modules don't + have to import it individually. + - Add .sx as a suffix for assembly language files that use the + C preprocessor. + - Make Glob() sort the returned list of Files or Nodes + to prevent spurious rebuilds. + - Add a delete_existing keyword argument to the AppendENVPath() + and PrependENVPath() Environment methods. + - Add ability to use "$SOURCE" when specifying a target to a builder + - Add a test case to verify that SConsignFile() files can be + created in previously non-existent subdirectories. + - Make the subdirectory in which the SConsignFile() file will + live, if the subdirectory doesn't already exist. + - Add a test to verify duplication of files in VariantDir subdirectories. + +------------------------------------------------------------------- +Mon Sep 8 12:04:36 CEST 2008 - prusnak@suse.cz + +- updated to 1.0.1 + * Add a FindFile() section to the User's Guide. + * Fix the FindFile() documentation in the man page. + * Fix formatting errors in the Package() description in the man page. + * Escape parentheses that appear within variable names when spawning + command lines using os.system(). +- updated to 1.0.0.d20080826 + * Clear the Node state when turning a generic Entry into a Dir. + * Fix sporadic output-order failures in test/GetBuildFailures/parallel.py. + * Document the ParseDepends() function in the User's Guide. + * Create a separate description and long_description for RPM packages. + * Document the GetLaunchDir() function in the User's Guide. + * Have the env.Execute() method print an error message if the + executed command fails. + * Add a script for creating a standard SCons development system on + Ubuntu Hardy. Rewrite subsidiary scripts for install Python and + SCons versions in Python (from shell). + * Handle yacc/bison on newer Mac OS X versions creating file.hpp, + not file.cpp.h. + * In RPCGEN tests, ignore stderr messages from older versions of + rpcgen on some versions of Mac OS X. + * Fix typos in man page descriptions of Tag() and Package(), and in + the scons-time man page. + * Fix documentation of SConf.CheckLibWithHeader and other SConf methods. + * Update documentation of SConscript(variant_dir) usage. + * Fix SWIG tests for (some versions of) Mac OS X. + * Print the warning about -j on Windows being potentially unreliable if + the pywin32 extensions are unavailable or lack file handle operations. + * Fix the env.WhereIs() method to expand construction variables. + * Enable building of shared libraries with the Bordand ilink32 linker. +- updated to 1.0.0 + * Fix SCons man page indentation under Debian's man page macros. + * Clarify the man page description of the SConscript(src_dir) argument. + * Document MergeFlags(), ParseConfig(), ParseFlags() and SideEffect() + in the User's Guide. + * Document use of the GetBuildFailures() function in the User's Guide. + * Add man page text clarifying the behavior of AddPreAction() and + AddPostAction() when called with multiple targets. + * Fix incorrectly swapped man page descriptions of the --warn= options + for duplicate-environment and missing-sconscript. + * User's Guide updates + * Man page updates +- updated to 0.98.5 + * Fix the Intel C++ compiler ABI specification for EMT64 processors. + * Issue a (suppressable) warning, not an error, when trying to link + C++ and Fortran object files into the same executable. + * Update the scons.bat file so that it returns the real exit status + from SCons, even though it uses setlocal + endlocal. + * Fix the --interactive post-build messages so it doesn't get stuck + mistakenly reporting failures after any individual build fails. + * Fix calling File() as a File object method in some circumstances. + * Fix setup.py installation on Mac OS X so SCons gets installed + under /usr/lcoal by default, not in the Mac OS X Python framework. +- updated to 0.98.4 + * Fix calculation of signatures for Python function actions with + closures in Python versions before 2.5. + * Fix the initialization of $SHF77FLAGS so it includes $F77FLAGS. + * Fix a syntax error in the Intel C compiler support on Windows. + * Change how we represent Python Value Nodes when printing and when + stored in .sconsign files (to avoid blowing out memory by storing + huge strings in .sconsign files after multiple runs using Configure + contexts cause the Value strings to be re-escaped each time). + * Fix a regression in not executing configuration checks after failure + of any configuration check that used the same compiler or other tool. + * Handle multiple destinations in Visual Studio 8 settings for the + analogues to the INCLUDE, LIBRARY and PATH variables. + * Update man page text for VariantDir(). + +------------------------------------------------------------------- +Wed Apr 30 15:54:55 CEST 2008 - prusnak@suse.cz + +- updated to 0.98.3 + * fix use of $CXXFLAGS when building C++ shared object files + * fix a regression when a Builder's source_scanner doesn't select + a more specific scanner for the suffix of a specified source file + * fix the Options object backwards compatibility so people can still + "import SCons.Options.{Bool,Enum,List,Package,Path}Option" submodules + * fix searching for implicit dependencies when an Entry Node shows up + in the search path list + * fix expansion of $FORTRANMODDIR in the default Fortran command line(s) + when it's set to something like ${TARGET.dir} + +------------------------------------------------------------------- +Tue Apr 22 13:55:46 CEST 2008 - prusnak@suse.cz + +- updated to 0.98.2 + * changes too numerous to list - see CHANGES.txt + +------------------------------------------------------------------- +Mon Nov 12 15:13:24 CET 2007 - prusnak@suse.cz + +- replaced /usr/bin/env in shebang by /usr/bin/python (noenv.patch) +- replaces duplicities in bindir by symlinks + +------------------------------------------------------------------- +Wed May 30 15:22:18 CEST 2007 - ltinkl@suse.cz + +- update to stable release 0.97 +- fix man installation patch + +------------------------------------------------------------------- +Wed Mar 8 13:34:55 CET 2006 - ltinkl@suse.cz + +- add more documentation (#154045) + +------------------------------------------------------------------- +Tue Feb 28 16:46:04 CET 2006 - jmatejek@suse.cz + +- updated to reflect python changes due to #149809 + +------------------------------------------------------------------- +Wed Jan 25 21:41:28 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu Nov 24 18:05:04 CET 2005 - sbrabec@suse.cz + +- Bi-arch hack. + +------------------------------------------------------------------- +Thu Nov 3 02:46:03 CET 2005 - dmueller@suse.de + +- update to 0.96.91 + +------------------------------------------------------------------- +Tue Aug 24 18:11:32 CEST 2004 - mcihar@suse.cz + +- install man pages + +------------------------------------------------------------------- +Tue Aug 24 13:30:24 CEST 2004 - mcihar@suse.cz + +- initial packaging + diff --git a/scons.spec b/scons.spec new file mode 100644 index 0000000..dca7b73 --- /dev/null +++ b/scons.spec @@ -0,0 +1,66 @@ +# +# spec file for package scons +# +# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 Andreas Stieger +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define pythons python3 +%{?sle15_python_module_pythons} +Name: scons +Version: 4.8.1 +Release: 0 +Summary: Replacement for Make +License: MIT +Group: Development/Tools/Building +URL: https://www.scons.org/ +Source: http://prdownloads.sourceforge.net/scons/SCons-%{version}.tar.gz +# site_init based on https://github.com/SCons/scons/pull/4261 for reproducible builds +Source2: site_init.py +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildArch: noarch + +%description +SCons is a make replacement that provides a range of enhanced features, +such as automated dependency generation and built-in compilation cache +support. SCons rule sets are Python scripts, which means that SCons +provides itself as well as the features. SCons allows you to use the +full power of Python to control compilation. + +%prep +%autosetup -p1 + +sed -i -e '/QT3_LIBPATH = os.path.join.*QT3DIR/s/lib/%{_lib}/' \ + SCons/Tool/qt3.py + +%build +%python_build + +%install +%python_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +mkdir -p %{buildroot}%{_datadir}/scons/site_scons +install -p -m 644 %{SOURCE2} %{buildroot}%{_datadir}/scons/site_scons/site_init.py + +%files +%license LICENSE +%{_bindir}/* +%{python_sitelib}/SCons +%{python_sitelib}/SCons-%{version}-py*.egg-info +%{_datadir}/scons + +%changelog diff --git a/site_init.py b/site_init.py new file mode 100644 index 0000000..5281195 --- /dev/null +++ b/site_init.py @@ -0,0 +1,20 @@ + +import os +import SCons.Environment + +old_init = SCons.Environment.Base.__init__ + +print("Adding logic to propagate SOURCE_DATE_EPOCH from the shell environment when building with SCons") + + +def new_init(self, **kw): + """ + This logic will add SOURCE_DATE_EPOCH to the execution environment used to run + all the build commands. + """ + old_init(self, **kw) + if 'SOURCE_DATE_EPOCH' in os.environ: + self._dict['ENV']['SOURCE_DATE_EPOCH'] = os.environ['SOURCE_DATE_EPOCH'] + + +SCons.Environment.Base.__init__ = new_init