Commit graph

236 commits

Author SHA1 Message Date
Andrey Bienkowski
7e5618d741 1.1: Allow extra compiler flags for every extension build
This is a backport of 820de65562

Note: I had to resort to manually replicating the changes
beacsuse setup.py had undergone a refactoring that was
not backported
2022-03-10 07:25:30 +03:00
Thomas Waldmann
581eee5e3a use XXH_VECTOR=XXH_SCALAR (0) to avoid compile issues 2022-01-26 16:35:47 +01:00
Thomas Waldmann
f3f287e91d use XXH_PRIVATE_API only when using system lib 2022-01-26 16:35:47 +01:00
Thomas Waldmann
0f477282c3 fix xxh64 module confusion
the xxh64 lib is used by borg's "checksums" module, not by borg's "crypto" module.

inspired by LocutusOfBorg's debian packaging patch.
2022-01-26 16:34:36 +01:00
Thomas Waldmann
744d82b565 remove endianness macro, fixes #6105
thanks to everybody who helped with this, esp. @th0ma7 and @methane.
2022-01-22 15:26:55 +01:00
Thomas Waldmann
d95fd0fbea python 3.10 officially supported
we test on py310-dev on github CI since a while and now also on the vagrant machines, so it should work ok.
2021-07-12 00:12:04 +02:00
Thomas Waldmann
1cbdcba5e9 get rid of distutils, use packaging 2021-06-16 15:03:20 +02:00
Thomas Waldmann
db50534de4 setup.py: get rid of distutils, use setuptools
distutils is deprecated and gives warnings on py 3.10.

rename "clean" to "clean2" to avoid shadowing the "clean" command.
2021-06-16 15:03:20 +02:00
Thomas Waldmann
41cebc6847 remove py310 support declaration again, see #5729 2021-03-22 20:14:34 +01:00
Manu
57cdbba56e Apple M1 compatibility 2021-02-22 10:35:11 +08:00
Thomas Waldmann
24a7f107a9 add support and testing for python 3.10 2021-02-16 19:07:50 +01:00
TW
83f0ef79c6
Merge pull request #5404 from ThomasWaldmann/libxxh-1.1
enable using libxxhash (1.1-maint only)
2020-10-10 11:30:29 +02:00
Thomas Waldmann
06acb80950 update llfuse requirements, llfuse 1.3.8 is out! 2020-10-10 02:15:00 +02:00
Thomas Waldmann
eb4092fba5 relax libxxhash version requirement
i tested it with libxxhash 0.6.5 on debian buster [amd64], it worked.

but for ARM it requires an important fix that was released in 0.7.2.
2020-10-09 18:07:32 +02:00
Thomas Waldmann
277a6409e6 enable using libxxhash instead of bundled xxh64 code
Author: Gianfranco Costamagna <locutusofborg@debian.org>
2020-10-09 03:10:32 +02:00
Thomas Waldmann
268be7acdd add a note about llfuse requirements 2020-10-09 01:29:26 +02:00
Thomas Waldmann
cb393496b9 setup.py: remove infos about mostly outdated llfuse versions 2020-10-09 01:23:07 +02:00
Thomas Waldmann
58c4289ac9 drop python 3.4 support
minimum requirement is 3.5 now.

also: remove all references to python 3.4.
2020-10-07 01:10:06 +02:00
TW
3e22e8dc69
Merge pull request #5388 from ThomasWaldmann/backports
Backports from 1.2.0a9 release PR
2020-10-06 18:13:02 +02:00
pamaron
9df0e61f79
add python3.9 testing and related llfuse changes (backport to 1.1-maint) (#5389)
also:

do brew update again with dev/null redirect to avoid "too much log output" on travis-ci
2020-10-06 18:11:55 +02:00
Thomas Waldmann
3c6133188a import setuptools first
there is a warning if one imports distutils before setuptools...
2020-10-05 20:33:08 +02:00
Thomas Waldmann
cdd5774f29 setup.py: declare support for py38 2020-06-06 01:44:36 +02:00
Thomas Waldmann
cc1f062c45 setup.py: remove unused import 2020-06-06 01:39:10 +02:00
Thomas Waldmann
57d5551d89 lz4 / zstd: revert back to using system libs 2020-03-07 22:41:37 +01:00
TW
7d790ac79f
Merge pull request #4996 from ThomasWaldmann/upgrade-zstd
upgrade bundled zstd to 1.4.4
2020-03-07 22:35:22 +01:00
Thomas Waldmann
46c5663008 temporarily use the bundled zstd code for testing 2020-03-07 19:59:55 +01:00
Thomas Waldmann
a82d5a3541 temporarily use the bundled lz4 code for testing 2020-03-07 19:26:20 +01:00
Thomas Waldmann
b5e6e6e7c5 fix setup.py for syncfilerange 2020-03-04 12:01:48 +01:00
Will
4327922bdd Move sync_file_range to its own extension 2020-03-01 14:05:50 -05:00
Thomas Waldmann
5fa05ffed9 move msgpack hints to helpers.py
also remove msgpack from install_requires - by default we use the
bundled code now.
2019-05-14 00:00:47 +02:00
Thomas Waldmann
f9cb04079d setup.py: also build a bundled msgpack
based on a patch by felix schwarz, thanks!

changes after that:

build msgpack cpp files at release time, do not use cython otherwise.

we want to include .cpp (and .c) files into the sdist, so users
installing the pypi package won't need to have cython installed.

also: python setup.py clean shall also cleanup the *.cpp and binaries
built from that.

.gitignore: ignore generated msgpack .cpp sources
setup.cfg: flake8: ignore 3rd party bundled msgpack source
2019-05-13 23:29:17 +02:00
Thomas Waldmann
7786eea531 check msgpack version, terminate for unsupported versions 2019-02-03 00:00:10 +01:00
Thomas Waldmann
ad6bb9cd1e add python 3.7 to pypi metadata
(cherry picked from commit 751cd2caed)
2018-08-09 07:59:03 +02:00
Thomas Waldmann
66084c7234 revert to using system compression libs, fixes #3797
we temporarily used the updated, bundled lz4 and zstd code for testing
purposes, but now going back to using system provided libs by default.
2018-06-03 12:51:11 +02:00
Thomas Waldmann
bf6fa04650 temporarily prefer bundled lz4 to test it 2018-06-02 01:15:10 +02:00
Thomas Waldmann
a318c3bb66 fix package long description, fixes #3854 2018-05-22 23:06:14 +02:00
Rémi Oudin
af6d40560f Add a version hint for llfuse for python3.7 (1.1 backport)
Python 3.7 requires llfuse >= 1.3.4.

Fixes #3804
2018-05-18 17:41:41 +02:00
TW
bd30784865
Merge pull request #3768 from ThomasWaldmann/zstd-update
zstd update
2018-04-18 12:25:03 +02:00
Thomas Waldmann
5be756a0c6 update msgpack requirement, fixes #3753 2018-04-13 11:01:47 +02:00
Thomas Waldmann
6a6ad89f5b temporarily prefer bundled zstd to test it 2018-04-13 00:26:19 +02:00
Thomas Waldmann
6e02e2e452 do .h file content checks in binary mode, fixes #3544
we can't know the encoding header file authors will use,
so using binary for our simple checks is the safest way.
2018-02-28 15:51:27 +00:00
Thomas Waldmann
fa924c64ff require msgpack >= 0.4.6 and < 0.5.0.
maybe this is the easiest way for us to deal with msgpack compatibility.

0.5.0 release had some troubles:
- FutureWarning on stderr disturbing other output there, breaking tests
- pip install -U broken due to a pip issue with the transisition pkg
  which was needed due to the package rename (ImportError for msgpack)
- some linux dists not packaging the transition pkg
- dropped py34 support/testing
2018-01-10 08:15:40 +01:00
Thomas Waldmann
1bdaffc62c crypto.low_level extension: build blake2 like zstd, see #3415
(cherry picked from commit 4a2fec32b6)
2017-12-18 04:29:33 +01:00
Thomas Waldmann
21ba3ff63c fix lz4 deprecation warning, require lz4 >= 1.7.0 (r129)
as we bundle lz4 1.8.0 now, platforms not having a recent liblz4 can
now just use the bundled code.

(cherry picked from commit fe48caf853)
2017-12-18 02:47:44 +01:00
Thomas Waldmann
83603acd48 rename BORG_LZ4_PREFIX env var to BORG_LIBLZ4_PREFIX
consistency:
we also have BORG_LIBB2_PREFIX and BORG_LIBZSTD_PREFIX.

(cherry picked from commit 9b6924d27f)
2017-12-18 02:42:03 +01:00
Thomas Waldmann
7d8ec62b50 compress extension: build lz4 like zstd, see #3415
(cherry picked from commit 73a70082c2)
2017-12-18 02:41:30 +01:00
Thomas Waldmann
0271ae6f95 support code to build bundled zstd code into the compress extension
setup_zstd.py modified so it is just amending the Extension() kwargs,
but the Extension is initialized by the caller.

this way, amending can happend multiple times (e.g. for multiple
compression algorithms).

also:
- move include/library dirs processing for system-library case
- move system zstd prefix detection to setup_zstd module
- cosmetic: setup.py whitespace fixes
- prefer system zstd option, document zstd min. requirement

(cherry picked from commit 34b92ffdaa)
2017-12-15 03:13:54 +01:00
Thomas Waldmann
01078328e2 zstd: use own Cython-based binding, remove python-zstandard dep
currently requires an externally available libzstd >= 1.3.0,
no bundled zstd yet.

(cherry picked from commit aec36f64a2)
2017-12-15 03:08:28 +01:00
Thomas Waldmann
6bad2395dd add zstd compression
based on willyvmm's work in PR #3116, but some changes:

- removed any mulithreading changes
- add zstandard in setup.py install_requires
- tests
- fix: minimum compression level is 1 (not 0)
- use 3 for the default compression level
- use ID 03 00 for zstd
- only convert to bytes if we don't have bytes yet
- move zstd code so that code blocks are ordered by ID
- other cosmetic fixes

(cherry picked from commit 11b2311e6e)
2017-12-15 02:13:15 +01:00
Thomas Waldmann
747ada77e6 fix building the "borg prune" man page, fixes #3398
will fix all ".. highlight:: none" issues (just killing it).

also a slight punctuation fix, so there is a dot at the end of
the prune man page.

(cherry picked from commit 1f5b8c9219)
2017-12-15 00:49:21 +01:00