Björn Ketelaars
730fca5bcc
OpenBSD only - statically link OpenSSL ( #6474 )
...
Avoid conflicting with shared libcrypto from the base OS pulled in via
dependencies.
2022-09-10 17:49:24 +02:00
Thomas Waldmann
7957af562d
blacken all the code
...
https://black.readthedocs.io/
2022-07-06 16:34:38 +02:00
TW
dbb9f62afd
Merge pull request #6836 from ThomasWaldmann/cleanups
...
Cleanups
2022-07-05 02:46:43 +02:00
Thomas Waldmann
ff46a03b42
use language_level = 3str for cython
...
this will be the default in cython 3.
2022-07-05 00:16:48 +02:00
Thomas Waldmann
350393c9fd
remove unused imports
2022-07-05 00:05:07 +02:00
Thomas Waldmann
5c8a5f111f
stop using libdeflate
...
borg2's new repo format does not need computing crc32 over big amounts of
(content) data any more (we now use xxh64 for that).
thus, having a quick crc32 implementation via libdeflate is not important
enough any more to rectify having libdeflate as a requirement.
2022-07-04 20:33:59 +02:00
Thomas Waldmann
be9e7d37c2
remove libressl support
...
currently it does not have what we need, so we can simplify our code.
2022-04-14 19:31:55 +02:00
Thomas Waldmann
c592b20262
use openssl on openbsd, fixes #6474
2022-04-14 19:31:55 +02:00
Thomas Waldmann
2872d7acfd
point to setup.cfg also
2022-04-13 03:50:54 +02:00
Thomas Waldmann
9642ace953
require/configure setuptools_scm via pyproject.toml
2022-04-07 19:11:15 +02:00
Manu
710d76e5c2
Move system lib comment up, formatting, expand lib not found error.
2022-03-24 08:41:34 +04:00
Manu
c86a5491d9
Rever xxhash version
2022-03-23 17:40:33 +04:00
Manu
e686ec0d8c
Fix openssl ext
2022-03-23 17:28:27 +04:00
Manu
249de7eb45
Add feedback, part 1
2022-03-23 17:19:43 +04:00
Manu
dd17c0e869
Fix xxhash version
2022-03-23 15:53:26 +04:00
Manu
3732c45f42
Initial commit
2022-03-23 15:42:34 +04:00
Andrey Bienkowski
78f041440c
Argon2 the first part: Implement key derivation (was: part 0) ( #6468 )
...
add a argon2 based kdf, using argon2-cffi
2022-03-21 21:51:54 +01:00
Thomas Waldmann
cc3b5c062c
remove algorithms package, move checksums module to borg package
2022-03-17 00:24:49 +01:00
Thomas Waldmann
98a675f62a
use crc32 from libdeflate, remove bundled crc32 code
...
we use zlib.crc32 (macOS) or libdeflate_crc32 (Linux and all others) now.
2022-03-13 21:39:34 +01:00
James Buren
820de65562
Allow extra compiler flags for every extension build
...
This is mainly intended for explicit warnings but it can be
used for other flags as well.
2022-03-09 05:18:52 -06:00
Andrey Bienkowski
a929b2db0a
Merge remote-tracking branch 'origin/master' into pyproject
2022-03-01 08:43:36 +03:00
Thomas Waldmann
64e7ccd3fc
require python >= 3.9, fixes #6315
2022-02-27 18:46:30 +01:00
Thomas Waldmann
96d93dcf0e
do not support bundled 3rd party code any more, fixes #6316
2022-02-26 22:18:12 +01:00
Andrey Bienkowski
142bb0e3d4
setup.py: add parent to sys.path
...
When using pyproject.toml the parent of setup.py
is not on sys.path by default.
See <https://github.com/pypa/setuptools/discussions/3134 >
2022-02-25 07:52:50 +03:00
Thomas Waldmann
0937ae9078
msgpack: require msgpack >= 1.0.3
...
... and remove support code for older versions.
2022-02-23 04:01:51 +01:00
Thomas Waldmann
4c493aa27c
pypi metadata: alpha -> beta
2022-01-20 17:45:41 +01:00
Thomas Waldmann
b27e7ad86d
allow msgpack 1.0.3, fixes #6111
2022-01-06 21:34:52 +01:00
Thomas Waldmann
59b6dc5442
require python 3.8+, fixes #5975
...
if you do not have py38+ yet, just use borg 1.1.x.
2021-09-16 02:21:29 +02:00
Thomas Waldmann
b15469c3c8
drop support for py36, require py37+, fixes #5790
...
if you do not have python >= 3.7, you can still use borg 1.1.x or 1.0.x.
another option is to use the fat binary from github releases, which
includes python and all other stuff needed.
2021-06-16 15:31:34 +02:00
Thomas Waldmann
65ea375968
get rid of distutils, use packaging
2021-05-01 20:40:48 +02:00
Thomas Waldmann
9d8d64c5e3
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-05-01 20:40:48 +02:00
Thomas Waldmann
9f4a6e5574
add support and testing for python 3.10
2021-02-28 22:49:03 +01:00
Thomas Waldmann
12d9110882
also accept msgpack up to 1.0.2
...
exclude 1.0.1 though, which had some issues (not sure whether they affect borg).
2021-01-30 21:31:33 +01:00
Thomas Waldmann
c8e9131158
remove bundled blake2 code, usage of libb2
...
we just use it via python3 now.
2021-01-28 18:00:00 +01:00
Thomas Waldmann
d2fe303967
fix cythonize crash on macOS/py39, fixes #5599
2020-12-28 19:56:08 +01:00
Thomas Waldmann
49b1421682
FUSE: support pyfuse3 additionally to llfuse, fixes #5407
...
FUSE implementation can be switched via env var BORG_FUSE_IMPL.
2020-10-31 22:04:44 +01:00
Thomas Waldmann
e54b054b2a
import setuptools first
...
there is a warning if one imports distutils before setuptools...
2020-10-05 00:24:52 +02:00
Thomas Waldmann
7dc1610674
selecting least broken llfuse version
...
1.3.6: works on all supported OSes, but not on py39
1.3.7: does not work on FreeBSD, but with py39
2020-10-05 00:23:40 +02:00
pamaron
8be6afd9e1
Enable Python3.9 env for test suite and VMs ( #5373 )
...
for now, skip fuse for py39 -- llfuse does not support py39 yet
use brew update >/dev/null so travis does not complain about too much output
2020-10-04 15:38:05 +02:00
Thomas Waldmann
1a8f5d27ab
drop python 3.5, fixes #5344
...
py35 is EOL.
2020-09-25 02:13:43 +02:00
Thomas Waldmann
1c7d267e1f
pypi metadata: we also support python 3.8 now
...
tested regularly on travis-ci.
2020-04-21 23:14:20 +02:00
Thomas Waldmann
da6d1ac538
support msgpack 1.0.0, fixes #5065
...
our data structures need strict_map_key=False, which is not the
default of msgpack 1.0.0. i made it default in our wrapper API.
call our wrapper for performance profile creation/conversion also
to avoid msgpack compat issues.
remove encoding from wrapper api, we do not use it any more.
remove raw is True check, we need false for profiles
strict_map_key is only supported for msgpack >= 1.0.0.
2020-04-04 22:04:45 +02:00
Thomas Waldmann
d1733b6fc0
require recent enough llfuse for birthtime support, fixes #5064
...
also:
add llfuse < 2.0 requirement also for python>=3.7.
maybe not really required because llfuse seems rather dead anyway,
but good for consistency.
2020-04-02 20:43:29 +02:00
Thomas Waldmann
d32ff32d3a
setup.py: add some comments to the cythonize calls
2020-03-08 23:20:11 +01:00
Will
242424ecae
Move sync_file_range to its own extension
2020-03-01 00:06:04 -05:00
Björn Ketelaars
e2ee7fd24b
Support msgpack-0.6.2.
...
This addresses
https://github.com/borgbackup/borg/issues/4360#issuecomment-541107988
2019-10-15 05:22:20 +02:00
Jürg Rast
6b426d08d7
Initial work to build and run borg under windows
...
- Created a batch file to build borg on windows
- Adjusted setup.py to be runnable on windows and build the windows
extension
- Extracted the free space check to a function in the platform module
- Created the minimal needed (dummy) functions for the windows platform
module
2019-08-24 10:17:18 +02:00
TW
8c29209195
Merge pull request #4602 from FelixSchwarz/unbundle-xxhash
...
ability to unbundle xxhash
2019-06-04 23:36:56 +02:00
Felix Schwarz
2ff06c58f0
ability to use a system-provided version of "xxhash"
...
The build process can be controlled via environment variables
similar to other bundled libraries in borgbackup. The main difference
is probably that upstream does not provide a pkgconfig file for
xxhash.
Therefore borg will probably fail to detect the system-provided
version by default (tested on Fedora, seems like Debian and Ubuntu
do not ship a pkgconfig file either). I kept the pkgconfig lookup
code anyway to keep the code as similar as possible to
"setup_compress.py"/"setup_crypto.py".
Setting BORG_LIBXXHASH_PREFIX=/usr helps borg to detect xxhash
on my system (Fedora). You can force the use of the bundled
version of xxhash by setting BORG_USE_BUNDLED_XXHASH=1.
2019-06-04 21:59:26 +02:00
Felix Schwarz
e6426d3386
setup.py: fix detection of missing Cython
...
v2: use a list comprehension instead map() (suggested by Thomas Waldmann)
2019-06-04 17:50:00 +02:00