Thanks, Bill, I did a mini-build based on that wiki page and got this down
to two small changes:
In SConstruct at line 744 add
* commands.append("$PYTHON $PYTHONFLAGS $SETUP_PY bdist_wheel")*
* whl = os.path.join(build,*
* 'dist',*
* "%s-py2.py3-none-any.whl" % pkg_version) #
There must be a better way?*
* distutils_targets.append(whl)*
In src/setup.py at 509:
#distutils.core.setup(**arguments)
*import setuptools*
*setuptools.setup(**arguments)*
Here's that mini-build that produces the wheel, which I installed and used
to build our product code.
cd scons
rm -fr build/
t:/Python36/python bin/update-release-info.py release
Updating src\CHANGES.txt...
Updating src\Announce.txt...
Updating SConstruct...
Updating README.rst...
Updating testing\framework\TestSCons.py...
Updating doc\user\main.xml...
t:/Python36/python bootstrap.py > & ! build.log
ll build/scons/dist/
total 3932
drwxr-x---+ 1 efahlgren Domain Users 0 2018-09-21 18:14 ./
drwxr-x---+ 1 efahlgren Domain Users 0 2018-09-21 18:14 ../
-rwxr-x---+ 1 efahlgren Domain Users 443123 2018-09-21 18:14
scons-3.1.0a20180921.tar.gz*
-rwxr-x---+ 1 efahlgren Domain Users 927976 2018-09-21 18:14
scons-3.1.0a20180921.win-amd64.tar.gz*
-rwxr-x---+ 1 efahlgren Domain Users 1284801 2018-09-21 18:14
scons-3.1.0a20180921.win-amd64.zip*
-rwxr-x---+ 1 efahlgren Domain Users 671140 2018-09-21 18:14
scons-3.1.0a20180921.zip*
-rwxr-x---+ 1 efahlgren Domain Users 683514 2018-09-21 18:14
scons-3.1.0a20180921-py2.py3-none-any.whl*
pip install build/scons/dist/scons-3.1.0a20180921-py2.py3-none-any.whl
Processing
o:\scons\build\scons\dist\scons-3.1.0a20180921-py2.py3-none-any.whl
Installing collected packages: scons
Successfully installed scons-3.1.0a20180921
---
I get a bunch of warnings in the build.log, I think the more modern
setuptools is normalizing the names per PEP 508.
T:\Python36\lib\site-packages\setuptools\dist.py:398: UserWarning:
Normalizing '3.1.0.alpha.20180921' to '3.1.0a20180921'
normalized_version,
Then the "Install" commands (copying build/scons/dist/* to build/dist)
fail, since the generated PyPi-compatible file names don't match those
known to SCons...
Install file: "build\scons\dist\scons-3.1.0.alpha.20180921.tar.gz" as
"build\dist\scons-3.1.0.alpha.20180921.tar.gz"
scons: *** [build\dist\scons-3.1.0.alpha.20180921.tar.gz]
build\scons\dist\scons-3.1.0.alpha.20180921.tar.gz: No such file or
directory
scons: building terminated because of errors.
Take a look at
https://github.com/SCons/scons/wiki/SimplifiedReleaseProcedure
In that process bootstrap.py eventually copies the files for packaging
into build/scons where it runs setup.py
I think it copies the scons.py to scons
I'd love to get setup.py using "console_scripts" to create the
bin/scons.. etc
Post by Eric FahlgrenIt's a lot simpler than I thought it would be. First "*pip install
wheel*" (already had it in my environment). Next, change setup.py:509
#distutils.core.setup(**arguments)
import setuptools
*setuptools*.setup(**arguments)
You're pretty much done. I'm on Windows 10 x64, using Windows CPython
3.6.6, setuptools 40.0.0, wheel 0.31.1, and had to do a bit of hacking to
fix what appear to be platform-specific things, but since I don't have a
1) At setup.py:44, I manually replaced __VERSION__ with "3.0.1" so I
could run the setup script directly.
2) In setup.py:397 I had to add ".py" extensions to the four entries in
the "scripts" array. This is because setup was complaining "can't find
'script/scons'", so apparently distutils knows to do this and setuptools
doesn't or something.
scripts = [
'script/scons*.py*',
'script/sconsign*.py*',
'script/scons-time*.py*',
'script/scons-configure-cache*.py*',
3) Corresponding to the above, I had to turn off adding the ".py" later
# scons += '.py'
# scons_ver += '.py'
Built it, ran pip, ran scons, it all worked.
cd src
python setup.py *bdist_wheel*
... blah blah blah for thousands of lines ...
ll dist
-rwx------+ 1 efahlgren Domain Users 4181330 2018-09-21 14:03
scons-3.0.1-py2.py3-none-any.whl*
pip install dist/scons-3.0.1-py2.py3-none-any.whl
Processing o:\scons\src\dist\scons-3.0.1-py2.py3-none-any.whl
Installing collected packages: scons
Successfully installed scons-3.0.1
t:/Python36/Scripts/scons.py
scons: Reading SConscript files ...
Windows 10 build...
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users