https://salsa.debian.org/tti0/python3-pyroaring/-/blob/debian/latest/debian/patches/0001-Link-against-system-CRoaring-rather-than-vendor-copy.patch From 1092a1ea9bc5ae6d185a00a9949dbf1cb8b84499 Mon Sep 17 00:00:00 2001 From: Theodore Tucker Date: Tue, 17 Mar 2026 16:55:38 +0000 Subject: [PATCH] Link against system CRoaring rather than vendor copy Forwarded: not-needed --- a/setup.py +++ b/setup.py @@ -33,54 +33,19 @@ except (IOError, ImportError, RuntimeError): print('Could not generate long description.') long_description = '' - -if PLATFORM_WINDOWS: - # MSVC defaults to C++14, so no explicit C++ standard flag is needed. - # roaring.c requires C11 for features like alignof and _Static_assert. - ext_compile_args = [] - c_compile_args = ['/std:c11'] -else: - c_compile_args = ['-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-D _GLIBCXX_ASSERTIONS'] - if PLATFORM_MACOSX: - c_compile_args.append('-mmacosx-version-min=10.14') - if 'DEBUG' in os.environ: - c_compile_args.extend(['-O0', '-g']) - else: - c_compile_args.append('-O3') - if 'ARCHI' in os.environ: - if os.environ['ARCHI'] != "generic": - c_compile_args.append('-march=%s' % os.environ['ARCHI']) - # The '-march=native' flag is not universally allowed. In particular, it - # will systematically fail on aarch64 systems (like the new Apple M1 systems). It - # also creates troubles under macOS with pip installs and requires ugly workarounds. - # The best way to handle people who want to use -march=native is to ask them - # to pass ARCHI=native to their build process. - # else: - # c_compile_args.append('-march=native') - ext_compile_args = c_compile_args + ['-std=c++11'] - c_compile_args = c_compile_args + ['-std=c11'] +compile_args = ['-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-D _GLIBCXX_ASSERTIONS'] pyroaring_module = Extension( 'pyroaring', sources=[os.path.join(PKG_DIR, 'pyroaring.pyx')], - extra_compile_args=ext_compile_args, + extra_compile_args=compile_args + ["-std=c++11"], language='c++', + libraries=['roaring'], ) -# roaring.c is compiled as a separate static library because it must be compiled -# as C (not C++), with a C11 standard flag. -libraries = [( - 'croaring', - { - 'sources': [os.path.join(PKG_DIR, 'roaring.c')], - 'cflags': c_compile_args, - }, -)] - setup( name='pyroaring', ext_modules=[pyroaring_module], - libraries=libraries, package_data={'pyroaring': ['py.typed', '__init__.pyi']}, packages=['pyroaring'], version=VERSION, -- 2.47.3