summaryrefslogtreecommitdiff
path: root/wrappers/python/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'wrappers/python/setup.py')
-rwxr-xr-xwrappers/python/setup.py124
1 files changed, 0 insertions, 124 deletions
diff --git a/wrappers/python/setup.py b/wrappers/python/setup.py
deleted file mode 100755
index 37ff577..0000000
--- a/wrappers/python/setup.py
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/env python3
-
-import os
-import shutil
-import sys
-import typing
-from collections import defaultdict
-
-from setuptools import setup
-from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
-
-_libname = "eduvpn_common"
-__version__ = "1.99.1"
-
-
-def getlibpath(plat_name: str) -> typing.Union[str, None]:
- """Get library path for plat_name relative to exports/lib/ folder."""
-
- plat_map = defaultdict(
- lambda: plat_name,
- {
- "win32": "win-x86",
- },
- )
-
- plat_split = plat_map[plat_name].split("-", 1)
- if len(plat_split) != 2:
- return None
- plat_os, plat_arch = plat_split
-
- os_map = defaultdict(
- lambda: plat_os,
- {
- "win": "windows",
- },
- )
- lib_prefixes = defaultdict(
- lambda: "lib",
- {
- "windows": "",
- },
- )
- lib_suffixes = defaultdict(
- lambda: ".so",
- {
- "windows": ".dll",
- "darwin": ".dylib",
- },
- )
- arch_map = defaultdict(
- lambda: plat_arch,
- {
- "aarch64_be": "arm64",
- "aarch64": "arm64",
- "armv8b": "arm64",
- "armv8l": "arm64",
- "x86": "386",
- "x86pc": "386",
- "i86pc": "386",
- "i386": "386",
- "i686": "386",
- "x86_64": "amd64",
- "i686-64": "amd64",
- },
- )
-
- processed_os = os_map[plat_os]
- return (
- processed_os
- + "/"
- + arch_map[plat_arch]
- + "/"
- + lib_prefixes[processed_os]
- + _libname
- + "-"
- + __version__
- + lib_suffixes[processed_os]
- )
-
-
-# Adapted from https://stackoverflow.com/a/51794740
-# You would say there would be a better way to do all of this, but I couldn't find it
-
-
-class bdist_wheel(_bdist_wheel):
- user_options = _bdist_wheel.user_options + [
- ("exports-lib-path=", None, "path to exports/lib directory"),
- ]
-
- def initialize_options(self):
- super().initialize_options()
- self.exports_lib_path = "../../exports/lib" # default
-
- def run(self):
- self.plat_name_supplied = True # Force use platform
-
- libpath = getlibpath(self.plat_name)
- if not libpath:
- print("Unknown platform:", self.plat_name)
- sys.exit(1)
-
- print("Building wheel for platform:", self.plat_name)
-
- # setuptools will only use paths inside the package for package_data, so we copy the library
- p = "eduvpn_common/lib"
- if os.path.isdir(p):
- shutil.rmtree(p)
- os.makedirs(p)
- shutil.copyfile(
- self.exports_lib_path + "/" + libpath, p + "/" + libpath.split("/")[-1]
- )
- _bdist_wheel.run(self)
- shutil.rmtree(p)
-
-
-setup(
- name="eduvpn_common",
- version=__version__,
- packages=["eduvpn_common"],
- python_requires=">=3.6",
- package_dir={"eduvpn_common": "eduvpn_common"},
- package_data={"eduvpn_common": ["lib/*" + _libname + "*", "py.typed"]},
- cmdclass={"bdist_wheel": bdist_wheel},
-)