summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorAndrey Bienkowski <hexagon-recursion@posteo.net>2022-03-01 08:43:36 +0300
committerAndrey Bienkowski <hexagon-recursion@posteo.net>2022-03-01 08:43:36 +0300
commita929b2db0a55e214236c6725d9ec258428adc281 (patch)
tree47667415945f312a6457d45800c93f9f8f8226b6 /setup.py
parent30c145ec538e605305bf0d8d67cf7589c45bb596 (diff)
parent49de070799434c3ab867caab8a6babcd739bee88 (diff)
Merge remote-tracking branch 'origin/master' into pyproject
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py42
1 files changed, 15 insertions, 27 deletions
diff --git a/setup.py b/setup.py
index 977035d7d..8b6a42460 100644
--- a/setup.py
+++ b/setup.py
@@ -27,35 +27,25 @@ import setup_docs
is_win32 = sys.platform.startswith('win32')
-# How the build process finds the system libs / uses the bundled code:
+# How the build process finds the system libs:
#
-# 1. it will try to use (system) libs (see 1.1. and 1.2.),
-# except if you use these env vars to force using the bundled code:
-# BORG_USE_BUNDLED_XXX undefined --> try using system lib
-# BORG_USE_BUNDLED_XXX=YES --> use the bundled code
-# Note: do not use =NO, that is not supported!
-# 1.1. if BORG_LIBXXX_PREFIX is set, it will use headers and libs from there.
-# 1.2. if not and pkg-config can locate the lib, the lib located by
-# pkg-config will be used. We use the pkg-config tool via the pkgconfig
-# python package, which must be installed before invoking setup.py.
-# if pkgconfig is not installed, this step is skipped.
-# 2. if no system lib could be located via 1.1. or 1.2., it will fall back
-# to using the bundled code.
-
-# OpenSSL is required as a (system) lib in any case as we do not bundle it.
-# Thus, only step 1.1. and 1.2. apply to openssl (but not 1. and 2.).
-# needed: openssl >=1.0.2 or >=1.1.0 (or compatible)
+# 1. if BORG_LIBXXX_PREFIX is set, it will use headers and libs from there.
+# 2. if not and pkg-config can locate the lib, the lib located by
+# pkg-config will be used. We use the pkg-config tool via the pkgconfig
+# python package, which must be installed before invoking setup.py.
+# if pkgconfig is not installed, this step is skipped.
+# 3. otherwise raise a fatal error.
+
+# needed: >=1.1.1 (or compatible)
system_prefix_openssl = os.environ.get('BORG_OPENSSL_PREFIX')
# needed: lz4 (>= 1.7.0 / r129)
-prefer_system_liblz4 = not bool(os.environ.get('BORG_USE_BUNDLED_LZ4'))
system_prefix_liblz4 = os.environ.get('BORG_LIBLZ4_PREFIX')
# needed: zstd (>= 1.3.0)
-prefer_system_libzstd = not bool(os.environ.get('BORG_USE_BUNDLED_ZSTD'))
system_prefix_libzstd = os.environ.get('BORG_LIBZSTD_PREFIX')
-prefer_system_libxxhash = not bool(os.environ.get('BORG_USE_BUNDLED_XXHASH'))
+# needed: xxhash (>= 0.8.1)
system_prefix_libxxhash = os.environ.get('BORG_LIBXXHASH_PREFIX')
# Number of threads to use for cythonize, not used on windows
@@ -67,7 +57,7 @@ on_rtd = os.environ.get('READTHEDOCS')
install_requires = [
# we are rather picky about msgpack versions, because a good working msgpack is
# very important for borg, see: https://github.com/borgbackup/borg/issues/3753
- 'msgpack >=0.5.6, <=1.0.3, !=1.0.1',
+ 'msgpack >=1.0.3, <=1.0.3',
# Please note:
# using any other version is not supported by borg development and
# any feedback related to issues caused by this will be ignored.
@@ -188,14 +178,13 @@ if not on_rtd:
compress_ext_kwargs = members_appended(
dict(sources=[compress_source]),
- setup_compress.lz4_ext_kwargs(pc, prefer_system_liblz4, system_prefix_liblz4),
- setup_compress.zstd_ext_kwargs(pc, prefer_system_libzstd, system_prefix_libzstd,
- multithreaded=False, legacy=False),
+ setup_compress.lz4_ext_kwargs(pc, system_prefix_liblz4),
+ setup_compress.zstd_ext_kwargs(pc, system_prefix_libzstd),
)
checksums_ext_kwargs = members_appended(
dict(sources=[checksums_source]),
- setup_checksums.xxhash_ext_kwargs(pc, prefer_system_libxxhash, system_prefix_libxxhash),
+ setup_checksums.xxhash_ext_kwargs(pc, system_prefix_libxxhash),
)
ext_modules += [
@@ -272,7 +261,6 @@ setup(
'Operating System :: POSIX :: Linux',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Topic :: Security :: Cryptography',
@@ -299,5 +287,5 @@ setup(
setup_requires=['setuptools_scm>=1.7'],
install_requires=install_requires,
extras_require=extras_require,
- python_requires='>=3.8',
+ python_requires='>=3.9',
)