Permalink
Commits on Jan 8, 2018
  1. Clarify v0.0.10 release notes and PyPy support

    peterjc committed Jan 8, 2018
Commits on Jan 7, 2018
  1. travis: Disallow pypy failures

    mgorny authored and peterjc committed Jan 6, 2018
  2. Check whether filter list is a sequence type explicitly

    mgorny authored and peterjc committed Jan 6, 2018
    Add an explicit PySequence_Check() for filter list processing instead of
    relying on PySequence_Length() raising a TypeError for dict. This fixes
    support for PyPy which successfully returns the dict length.
    
    The CPython behavior seems to a bug, as the documentation clearly
    states that the call on non-sequence type is equivalent to len(). It
    seem more prudent therefore to check for sequence type explicitly.
    
    Closes: #5
Commits on Jan 5, 2018
  1. Call this v0.0.10 with PyPy setup.py regression fixed

    peterjc committed Jan 5, 2018
    Note the tests are currently failing under pypy2 and pypy3.
  2. Test on PyPy's Python 2 and Python 3 implementations

    peterjc committed Jan 5, 2018
    These are initially allowed failures as the test suite fails.
    
    pypy2 v5.8.0 breaks only one test method:
    
    ======================================================================
    ERROR: test_bad_args (__main__.CompressDecompressFunctionTestCase)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "test_lzma.py", line 273, in test_bad_args
        b"", format=lzma.FORMAT_RAW, filters={})
      File "/opt/python/pypy2.7-5.8.0/lib-python/2.7/unittest/case.py", line 473, in assertRaises
        callableObj(*args, **kwargs)
      File "/home/travis/virtualenv/pypy2.7-5.8.0/site-packages/backports/lzma/__init__.py", line 463, in decompress
        decomp = LZMADecompressor(format, memlimit, filters)
    LZMAError: Internal error
    ----------------------------------------------------------------------
    
    pypy3 v5.10.0 breaks with:
    
    $ python test_lzma.py
    Traceback (most recent call last):
      File "test_lzma.py", line 35, in <module>
        from backports import lzma
      File "/home/travis/virtualenv/pypy3.5-5.8.0/site-packages/backports/lzma/__init__.py", line 25, in <module>
        from ._lzma import *
    ImportError: /home/travis/virtualenv/pypy3.5-5.8.0/site-packages/backports/lzma/_lzma.pypy3-58-x86_64-linux-gnu.so: undefined symbol: PyUnicode_DecodeUTF8Stateful
  3. setup.py: Make the 'is32bit' check portable again

    mgorny authored and peterjc committed Jan 4, 2018
    The 'tuple.__itemsize__' solution relies on deep CPython internals
    and doesn't work at all in other implementations of Python. Use
    sys.maxsize solution that is recommended by the documentation of Python.
    
    Closes: #26
  4. setup.py: scope 'is32bit' appropriately to its use

    mgorny authored and peterjc committed Jan 4, 2018
    The 'is32bit' variable is only used in the 'mingw32' branch of the code.
    There is really no point to define it globally and break other systems.
Commits on Jan 3, 2018
  1. Update PyPI upload instructions (twine)

    peterjc committed Jan 3, 2018
    The old procedure no longer works due to API changes
    on PyPI itself.
  2. Call this v0.0.9; README.rst tweaks

    peterjc committed Jan 3, 2018
    Using RST literal markup for lzma etc.
    
    Mention using pip for installation before talking about
    compiling from source.
Commits on Dec 28, 2017
  1. Thank Nehal J Wani by name

    peterjc committed Dec 28, 2017
    See Windows and AppVeyor work from #25.
  2. Mention AppVeyor in automated testing notes

    peterjc committed Dec 28, 2017
  3. Conda badges

    peterjc committed Dec 28, 2017
    Also fixed link description for PyPI badge (copy-paste error)
  4. README badges for PyPI, TravisCI and AppVeyor

    peterjc committed Dec 28, 2017
    Thanks to work on pull request #25, the project now builds under
    Windows, with testing working on AppVeyor.
  5. MinGW: Passing -DMS_WIN32 or -DMS_WIN64 is a must

    nehaljwani authored and peterjc committed Dec 25, 2017
    Do not rely on a patched distutils, pass these flags explicitly.
    
    xref: https://stackoverflow.com/a/19867426
  6. Compute name of lzma library

    nehaljwani authored and peterjc committed Dec 23, 2017
    For *nix-y builds (including mingw-64), -lzma would suffize. But for
    Visual Studio builds, the complete name for the .lib file is required.
  7. Fix 'name' of extension

    nehaljwani authored and peterjc committed Dec 23, 2017
    According to the documentation of distutils, 'name' is:
        the full name of the extension, including any packages - ie. not a
        filename or pathname, but Python dotted name
    
    This patch replaces the pathname with the actual Python dotted name.
    Without this, a build on Windows fails with:
    
    Cannot export initbackports/lzma/_lzma: symbol not defined
  8. Add another fallback for test.support import

    nehaljwani authored and peterjc committed Dec 23, 2017
    From python 2.7.14 changelog:
        - bpo-30207: To simplify backports from Python 3, the test.test_support
          module was converted into a package and renamed to test.support.  The
          test.script_helper module was moved into the test.support package.
          Names test.test_support and test.script_helper are left as aliases to
          test.support and test.support.script_helper.
    
    So, basically, python 2.7.14 fails with:
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib64/python2.7/test/test_support.py", line 2, in <module>
        import test.support
    ImportError: No module named support
    
    This patch adds a fall back to import from backports.test.testsupport
  9. Add build folder to ignore list

    nehaljwani authored and peterjc committed Dec 23, 2017
Commits on Aug 31, 2017
Commits on Feb 9, 2017
  1. Call this v0.0.8

    peterjc committed Feb 9, 2017
  2. Line wrap at 78 characters

    peterjc committed Feb 9, 2017
  3. Must now package README.rst

    peterjc committed Feb 9, 2017
Commits on Feb 8, 2017
Commits on Feb 7, 2017
  1. Flip system prefix and home in the search path order

    jakirkham authored and peterjc committed Feb 7, 2017
    These are flipped to make sure the right `libpython` and `Python.h`
    associated with the installing interpreter are picked up first.
  2. Check system prefix

    jakirkham authored and peterjc committed Feb 7, 2017
    Also search for libraries and includes in the system prefix.
  3. Include license file

    jakirkham authored and peterjc committed Feb 7, 2017
    Add the license file to `MANIFEST.in` for packaging.