diff --git a/packages/pypi/MANIFEST.in b/packages/pypi/MANIFEST.in index c4bbc9c..1667f65 100644 --- a/packages/pypi/MANIFEST.in +++ b/packages/pypi/MANIFEST.in @@ -2,9 +2,9 @@ README.rst setup.cfg setup.py -recursive-include data *.c -recursive-include data *.cpp -recursive-include data *.h -recursive-include data *.hpp +#recursive-include ../../src *.c +recursive-include ../../src *.cpp +recursive-include ../../include *.h +#recursive-include ../../include *.hpp include libhttp.a include liblwip.a diff --git a/packages/pypi/Makefile b/packages/pypi/Makefile new file mode 100644 index 0000000..5e632ff --- /dev/null +++ b/packages/pypi/Makefile @@ -0,0 +1,13 @@ +bdist: + cd ../../; cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=DEBUG; cmake --build build + cp ../../bin/lib/*.a . + python3 setup.py bdist_wheel + +upload: + twine upload dist/* + +clean: + rm -rf *.a + rm -rf build + rm -rf dist + rm -rf libzt.egg-info diff --git a/packages/pypi/README.rst b/packages/pypi/README.rst index 8258f48..6af85d2 100644 --- a/packages/pypi/README.rst +++ b/packages/pypi/README.rst @@ -1,5 +1,5 @@ # libzt -*Embed ZeroTier directly into your app* +*ZeroTier: Encrypted P2P communication between apps and services* *** A library version of [ZeroTier](https://github.com/zerotier/ZeroTierOne), **libzt** makes it easy to securely connect devices, servers, cloud VMs, containers, and apps everywhere and manage them at scale. Now you can bake this ability directly into your app or service using your preferred language. We provide a POSIX-like socket API supporting `SOCK_STREAM`, `SOCK_DGRAM`, and `SOCK_RAW` to make the integration simple. There's no need for system-wide virtual interfaces. This connection is exclusive to your app and fully encrypted via the [Salsa20](https://en.wikipedia.org/wiki/Salsa20) cipher. For a more in-depth discussion on the technical side of ZeroTier, check out our [Manual](https://www.zerotier.com/manual.shtml?pk_campaign=github_libzt) diff --git a/packages/pypi/libzt.i b/packages/pypi/libzt.i index 08a3bb9..49165dd 100644 --- a/packages/pypi/libzt.i +++ b/packages/pypi/libzt.i @@ -30,7 +30,7 @@ %{ #define SWIG_FILE_WITH_INIT -#include "data/libzt/include/libzt.h" +#include "../../include/libzt.h" %} int zts_start(const char *path, bool blocking); diff --git a/packages/pypi/libzt_wrap.cxx b/packages/pypi/libzt_wrap.cxx index c94f2e6..9306ca0 100644 --- a/packages/pypi/libzt_wrap.cxx +++ b/packages/pypi/libzt_wrap.cxx @@ -3130,7 +3130,7 @@ namespace swig { #define SWIG_FILE_WITH_INIT -#include "data/libzt/include/libzt.h" +#include "../../include/libzt.h" SWIGINTERN swig_type_info* diff --git a/packages/pypi/setup.py b/packages/pypi/setup.py index 856014d..0bf9cc8 100644 --- a/packages/pypi/setup.py +++ b/packages/pypi/setup.py @@ -7,12 +7,13 @@ class BinaryDistribution(Distribution): def is_pure(self): return False +projDir='../..' source_list = ['libzt_wrap.cxx'] -source_list.extend(list(glob.glob('data/libzt/src/*.cpp'))) -source_list.extend(list(glob.glob('data/zto/node/*.cpp'))) -source_list.extend(list(glob.glob('data/zto/osdep/*.cpp'))) -source_list.extend(list(glob.glob('data/zto/service/*.cpp'))) -source_list.extend(list(glob.glob('data/zto/controller/*.cpp'))) +source_list.extend(list(glob.glob(projDir+'/src/*.cpp'))) +source_list.extend(list(glob.glob(projDir+'/zto/node/*.cpp'))) +source_list.extend(list(glob.glob(projDir+'/zto/osdep/*.cpp'))) +source_list.extend(list(glob.glob(projDir+'/zto/service/*.cpp'))) +source_list.extend(list(glob.glob(projDir+'/zto/controller/*.cpp'))) #http_parser_source_list = ['libzt_wrap.cxx'] #http_parser_source_list.extend(list(glob.glob('../../zto/ext/http-parser/*.c'))) @@ -22,7 +23,7 @@ source_list.extend(list(glob.glob('data/zto/controller/*.cpp'))) #lwip_source_list.extend(list(glob.glob('../../ext/lwip/src/core/ipv6/*.c'))) source_list = list(set(source_list)-set( - ['data/zto/osdep/LinuxEthernetTap.cpp','data/zto/osdep/BSDEthernetTap.cpp','data/zto/osdep/OSXEthernetTap.cpp', 'data/zto/osdep/WindowsEthernetTap.cpp'])) + [projDir+'/zto/osdep/LinuxEthernetTap.cpp',projDir+'/zto/osdep/BSDEthernetTap.cpp',projDir+'/zto/osdep/OSXEthernetTap.cpp', projDir+'/zto/osdep/WindowsEthernetTap.cpp'])) #lwip_module = Extension('lwip', # extra_compile_args=['-DZT_SDK'], @@ -44,14 +45,14 @@ libzt_module = Extension('libzt', extra_compile_args=['-std=c++11', '-DZT_SDK', '-DZT_SOFTWARE_UPDATE_DEFAULT=\"disable\"'], extra_link_args=['-L.','-llwip','-lhttp'], sources=source_list, - include_dirs=['data/libzt/include', - 'data/libzt/ext/lwip/src/include', - 'data/libzt/ext/lwip-contrib/ports/unix/include', - 'data/zto/include', - 'data/zto/node', - 'data/zto/service', - 'data/zto/osdep', - 'data/zto/controller'] + include_dirs=[projDir+'/include', + projDir+'/ext/lwip/src/include', + projDir+'/ext/lwip-contrib/ports/unix/include', + projDir+'/zto/include', + projDir+'/zto/node', + projDir+'/zto/service', + projDir+'/zto/osdep', + projDir+'/zto/controller'] ) setup( @@ -61,14 +62,14 @@ setup( py_modules = ['libzt'], name = 'libzt', packages = ['libzt'], - version = '1.1.5a19', - description = 'ZeroTier, in library form.', - long_description = 'Encrypted P2P networks between your applications', + version = '1.1.6a0', + description = 'ZeroTier', + long_description = 'Encrypted P2P communication between apps and services', author = 'ZeroTier, Inc.', author_email = 'joseph@zerotier.com', url = 'https://github.com/zerotier/libzt', license='GPLv3', - download_url = 'https://github.com/zerotier/libzt/archive/1.1.5.tar.gz', + download_url = 'https://github.com/zerotier/libzt/archive/1.1.6.tar.gz', keywords = 'zerotier sdwan sdn virtual network socket p2p peer-to-peer', classifiers = ['Development Status :: 3 - Alpha', 'Environment :: MacOS X',