Adding manylinux2010 github action

- Validates that the manylinux2010 environment can build pycapnp
- Handle lib and lib64 cases
- Has patch for aligned_alloc symbol (not available prior to glibc 2.16)
https://github.com/capnproto/capnproto/issues/743
- Fixes #197
- Should be ready to prepare a v1.0.0b1 release
This commit is contained in:
Jacob Alexander
2019-12-16 22:29:20 -08:00
parent 6b89d6bd4b
commit 6cd971e74f
3 changed files with 40 additions and 0 deletions

View File

@@ -11,6 +11,7 @@
# for original project.
import fileinput
import os
import shutil
import tarfile
@@ -91,3 +92,14 @@ def fetch_libcapnp(savedir, url=None):
else:
cpp_dir = os.path.join(with_version, 'c++')
shutil.move(cpp_dir, dest)
# XXX (HaaTa): There's a bug in capnproto-0.7.0 on CentOS 6 (or any glibc older than 2.16)
# This patches the issue
with fileinput.FileInput(os.path.join(dest, 'src', 'kj', 'table.c++'), inplace=True, backup='.bak') as f:
for line in f:
print(
line.replace(
'__APPLE__ || __BIONIC__', '__APPLE__ || __BIONIC__ || (defined(__GLIBC__) && (__GLIBC__ == 2) && (__GLIBC_MINOR__ < 16))'
),
end=''
)