* upgrade some broken packages
* correct some broken urls/checksums
* use secure urls where possible
* update PKGBUILD templates
* remove line-ending whitespace
* minor typos/fixes
Remaining md5sums either didn't download or
didn't pass checksum tests.
* Update python2 to 2.7.11
* Update numpy to 1.10.2 (and number the patches).
* New python2 + 3 patch so that sys.version returns
something more similar to normal CPython so that
get_build_architecture in distutils msvccompiler.py
returns the right thing (NumPy uses it so there's
every chance other things will too).
Implement _nt_quote_args using subprocess module's
list2cmdline since that handles all the tricky quoting
logic properly while the previous implementation was
not capable of handling anything more complicated than
the most basic commandline arguments and those with
spaces (so no tabs, or double quotes etc).
A specific example of trouble this caused was on MSYS2
when building the gobject-introspection part of GEGL 0.3.4
and a macro of -DG_LOG_DOMAIN="GEGL"-__FILE__ was passed
to the C compiler. From distutils perspective, the final
call ended up as:
gegl-introspection-module =
Extensions('gegl-introspection',
define_macros=
[('G_LOG_DOMAIN', '"GEGL-"__FILE__')])
This *will* cause trouble in software that special-cased
Windows. An example existed in Python's own setup.py when
building the sqlite module.
The MODULE_NAME define was set to '"sqlite3"' for everything
else and to '\\"sqlite3\\"' for Windows. This commit removes
this special-casing, obviously!
The bad-old-implementation has existed for so long now that
everyone's hacked around it, which means that it's probably
too late for this change, so this means in the long-term,
this commit will go one of three ways:
1. It'll stay in and we'll fix everything up that's broken.
pip and C extensions will screw up badly here.
2. I implement a two-pass scheme where I try both the old
way and the new way for things that fail on first attempt.
3. I remove this altogether, and hack up GEGL like everything
else has been hacked up, lesson learnt.
I'm leaning towards 2 at present.
Either way, I need to figure out why GEGL was hanging before
this change as that was less than useful. Some good came out
of it; we can build debuggable python2 and py-bt works now
too!
Also renamed python-gdb.py to python_gdb.py
.. to ${MINGW_PREFIX}/share/gdb/python{2,3}/python-gdb.py
Usage:
python
sys.path.append('C:/msys64/mingw64/share/gdb/python3')
import python-gdb
reload(python-gdb)
end
Moved 0600-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch
to 0555-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch
so that 0560 can use the new functions it provides
(Py_GetSep{A,W}, Py_NormalizeSeps{A,W})
Starting to wonder if these changes aren't too invasive
overall, but in for a penny in for a pound.
As part of the initial import of cross-python on github
I'm reviewing these patches. This one had some problems:
1. It used pkg-config to detect libffi in PKGBUILD and
removed those same pkg-config checks from configure.ac
2. It skipped a test (aggregate-return-type) that is now fine:
https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio
3. It tested if host_platform was 'mingw' instead of 'win32',
despite the idea of using 'mingw' for sys.platform having
died long ago.