Python 2.6 changes a lot and was released to make it easier to switch to Python 3. Python 2.6 is
compatible to Python 2.5 and to Python 3.0. While Python 3.0 is not compatible to Python 2.5.
Because Python 3.0 was released a month ago, it will soon be preinstalled by Linux distributions so
that then perhaps not all of our scripts will do what should or won't work. I'm not a Pythonist and
therefore not able to do this job, but it would be nice if our Python gurus could have a look if all
of our scripts also work with Python 3.0. The procedure is simple: Run every script with Python 2.6.
Every warning one gets needs to be fixed to be able to run it correctly with Python 3.0. Of course
once can also use directly Python 3.0 to test.
I started with the SCons script and need the attached patch to get it running.
Bo, can this go in or do you want to change more (comments etc.)?
regards Uwe
Index: development/scons/SConstruct
===================================================================
--- development/scons/SConstruct (revision 28082)
+++ development/scons/SConstruct (working copy)
@@ -110,16 +110,16 @@
print "Getting options from config.py..."
print open('config.py').read()
-opts = Options(['config.py'])
-opts.AddOptions(
+opts = Variables(['config.py'])
+opts.AddVariables(
# frontend
- EnumOption('frontend', 'Main GUI', 'qt4',
+ EnumVariable('frontend', 'Main GUI', 'qt4',
allowed_values = ('qt4',) ),
# debug or release build
- EnumOption('mode', 'Building method', default_build_mode,
+ EnumVariable('mode', 'Building method', default_build_mode,
allowed_values = ('debug', 'release') ),
# boost libraries
- EnumOption('boost',
+ EnumVariable('boost',
'Use included, system boost library, or try sytem boost first.',
'auto', allowed_values = (
'auto', # detect boost, if not found, use included
@@ -127,7 +127,7 @@
'system', # always use system boost, fail if can not find
) ),
#
- EnumOption('gettext',
+ EnumVariable('gettext',
'Use included, system gettext library, or try sytem gettext first',
'auto', allowed_values = (
'auto', # detect gettext, if not found, use included
@@ -135,46 +135,46 @@
'system', # always use system gettext, fail if can not find
) ),
#
- EnumOption('spell', 'Choose spell checker to use.', 'auto',
- allowed_values = ('aspell', 'auto', 'no') ),
+ EnumVariable('spell', 'Choose spell checker to use.', 'auto',
+ allowed_values = ('aspell', 'pspell', 'ispell', 'auto', 'no') ),
# packaging method
- EnumOption('packaging', 'Packaging method to use.', default_packaging_method,
+ EnumVariable('packaging', 'Packaging method to use.', default_packaging_method,
allowed_values = ('windows', 'posix', 'macosx')),
#
- BoolOption('fast_start', 'This option is obsolete.', False),
+ BoolVariable('fast_start', 'This option is obsolete.', False),
# No precompiled header support (too troublesome to make it work for msvc)
- # BoolOption('pch', 'Whether or not use pch', False),
+ # BoolVariable('pch', 'Whether or not use pch', False),
# enable assertion, (config.h has ENABLE_ASSERTIOS
- BoolOption('assertions', 'Use assertions', True),
+ BoolVariable('assertions', 'Use assertions', True),
# config.h define _GLIBCXX_CONCEPT_CHECKS
# Note: for earlier version of gcc (3.3) define _GLIBCPP_CONCEPT_CHECKS
- BoolOption('concept_checks', 'Enable concept checks', True),
+ BoolVariable('concept_checks', 'Enable concept checks', True),
#
- BoolOption('nls', 'Whether or not use native language support', True),
+ BoolVariable('nls', 'Whether or not use native language support', True),
#
- BoolOption('profiling', 'Whether or not enable profiling', False),
+ BoolVariable('profiling', 'Whether or not enable profiling', False),
# config.h define _GLIBCXX_DEBUG and _GLIBCXX_DEBUG_PEDANTIC
- BoolOption('stdlib_debug', 'Whether or not turn on stdlib debug', False),
+ BoolVariable('stdlib_debug', 'Whether or not turn on stdlib debug', False),
# using x11?
- BoolOption('X11', 'Use x11 windows system', default_with_x),
+ BoolVariable('X11', 'Use x11 windows system', default_with_x),
# use MS VC++ to build lyx
- BoolOption('use_vc', 'Use MS VC++ to build lyx (cl.exe will be probed)', None),
+ BoolVariable('use_vc', 'Use MS VC++ to build lyx (cl.exe will be probed)', None),
#
- PathOption('qt_dir', 'Path to qt directory', None),
+ PathVariable('qt_dir', 'Path to qt directory', None),
#
- PathOption('qt_inc_path', 'Path to qt include directory', None),
+ PathVariable('qt_inc_path', 'Path to qt include directory', None),
#
- PathOption('qt_lib_path', 'Path to qt library directory', None),
+ PathVariable('qt_lib_path', 'Path to qt library directory', None),
# extra include and libpath
- PathOption('extra_inc_path', 'Extra include path', None),
+ PathVariable('extra_inc_path', 'Extra include path', None),
#
- PathOption('extra_lib_path', 'Extra library path', None),
+ PathVariable('extra_lib_path', 'Extra library path', None),
#
- PathOption('extra_bin_path', 'A convenient way to add a path to $PATH', None),
+ PathVariable('extra_bin_path', 'A convenient way to add a path to $PATH', None),
#
- PathOption('extra_inc_path1', 'Extra include path', None),
+ PathVariable('extra_inc_path1', 'Extra include path', None),
#
- PathOption('extra_lib_path1', 'Extra library path', None),
+ PathVariable('extra_lib_path1', 'Extra library path', None),
#
('rebuild', 'Obsolete option', None),
# can be set to a non-existing directory
@@ -184,9 +184,9 @@
# the deps package used to create minimal installer (qt and other libraries)
('deps_dir', 'path to the development depedency packages with zlib, iconv, zlib and qt libraries', None),
# whether or not build bundle installer
- BoolOption('bundle', 'Whether or not build bundle installer', False),
+ BoolVariable('bundle', 'Whether or not build bundle installer', False),
# the bundle directory, containing bundled applications
- PathOption('bundle_dir', 'path to the bundle dependency package with miktex setup.exe etc', None),
+ PathVariable('bundle_dir', 'path to the bundle dependency package with miktex setup.exe etc', None),
# build directory, will use $mode if not set
('build_dir', 'Build directory', None),
# version suffix
@@ -200,7 +200,7 @@
#
('optimization', 'optimization CCFLAGS option.', None),
#
- PathOption('exec_prefix', 'install architecture-independent executable files in PREFIX', None),
+ PathVariable('exec_prefix', 'install architecture-independent executable files in PREFIX', None),
# log file
('logfile', 'save commands (not outputs) to logfile', default_log_file),
# provided for backward compatibility
@@ -220,7 +220,7 @@
# allowed options
all_options = [x.key for x in opts.options]
-# copied from SCons/Options/BoolOption.py
+# copied from SCons/Variables/BoolVariable.py
# We need to use them before a boolean ARGUMENTS option is available
# in env as bool.
true_strings = ('y', 'yes', 'true', 't', '1', 'on' , 'all' )
Index: INSTALL.scons
===================================================================
--- INSTALL.scons (revision 28082)
+++ INSTALL.scons (working copy)
@@ -30,13 +30,13 @@
--------------
* Python:
- Python >= 1.5.2 is required to run scons, but Python >= 2.3 is used by
+ Python >= 2.6.0 is required to run scons, but Python >= 2.3 is used by
lyx itself so the newer version is needed. Python is widely
available on non-windows systems. Windows users can download and install
python from http://www.python.org.
* SCons:
- scons >= 0.96.92 is needed. You can either use a full system-wide scons
+ scons >= 1.1.0 is needed. You can either use a full system-wide scons
distribution or a light-weight one (called scons-local) installed along
with the lyx source tree. Both variants of scons are freely available
from http://www.scons.org. Note that LyX source may ship with scons-base
Index: INSTALL.Win32
===================================================================
--- INSTALL.Win32 (revision 28082)
+++ INSTALL.Win32 (working copy)
@@ -13,10 +13,10 @@
2 Install Python
- Get the latest Python 2.5 version at
+ Get the latest Python 2.6 version at
http://www.python.org/download/
- Install in C:\Python25 and add this directory to the PATH environment
+ Install in C:\Python26 and add this directory to the PATH environment
variable (Start > Settings > Control Panel > System > Advanced >
Environment Variables).