libspeech 0.1.0__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {libspeech-0.1.0 → libspeech-0.2.0}/.github/workflows/wheels.yml +14 -1
- {libspeech-0.1.0 → libspeech-0.2.0}/CMakeLists.txt +76 -13
- {libspeech-0.1.0 → libspeech-0.2.0}/PKG-INFO +1 -1
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/version.h +1 -1
- {libspeech-0.1.0 → libspeech-0.2.0}/pyproject.toml +33 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/version.py +1 -1
- {libspeech-0.1.0 → libspeech-0.2.0}/.clang-format +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/.github/workflows/cmake.yml +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/.github/workflows/orchestrator.yml +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/.gitignore +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/.gitmodules +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/CONTRIBUTING.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/LICENSE +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/README.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/audioflux_issues.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/benchmarks/CMakeLists.txt +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/benchmarks/cpp/CMakeLists.txt +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/benchmarks/cpp/bench_stft.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/checklist.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/cmake/AudioFlux.cmake +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/cmake/Conan.cmake +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/cmake/DynamicVersion.cmake +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/cmake/ONNXRuntime.cmake +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/cmake/PyProject.cmake +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/conanfile.txt +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/conda.recipe/meta.yaml +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/docs/logo/README.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/docs/logo/libspeech-logo-pods.svg +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/docs/logo/libspeech-logo.svg +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/examples/common.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/examples/denoiser_app/controler.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/examples/denoiser_app/main.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/examples/main.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/examples/silero_app/main.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/git-submodule.sh +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/audio.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/dsp/dct.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/dsp/fft.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/dsp/mfcc.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/dsp/resample.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/dsp/stft.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/dsp/window.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/export.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/models/base_model.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/models/denoiser.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/models/facebook_denoiser.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/models/onnx_model.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/models/silero_vad.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/models/speechbrain_denoiser.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/include/libspeech/utils/utils.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/audio.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/bindings/python/about.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/bindings/python/bind_audio.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/bindings/python/bind_dsp.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/bindings/python/bind_io.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/bindings/python/bind_models.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/bindings/python/libspeech/__init__.py +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/bindings/python/libspeech/__main__.py +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/bindings/python/libspeech/core.py +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/dsp/dct.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/dsp/fft.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/dsp/mfcc.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/dsp/resample.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/dsp/stft.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/dsp/window.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/models/base_model.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/models/denoiser.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/models/facebook_denoiser.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/models/onnx_model.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/models/silero_vad.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/models/speechbrain_denoiser.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/speech_umbrella_placeholder.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/README.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/aixlog/LICENSE +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/aixlog/README.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/aixlog/include/aixlog.hpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/LICENSE.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/README.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/UPSTREAM_PATCHES.md +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/include/dsp/resample_algorithm.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/include/flux_base.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/include/stft_algorithm.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/include/util/flux_util.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/include/util/flux_wave.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/include/vector/flux_complex.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/include/vector/flux_vector.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/fft_algorithm.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/fft_algorithm.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/filterDesign_fir.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/filterDesign_fir.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/flux_window.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/flux_window.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/resample_algorithm.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/resample_algorithm.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/flux_base.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/stft_algorithm.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/stft_algorithm.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_util.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_util.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_wave.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_wave.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_complex.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_complex.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vector.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vector.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vectorOp.c +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vectorOp.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/src/utils/utils.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/CMakeLists.txt +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/dsp/test_dct.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/dsp/test_fft.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/dsp/test_mfcc.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/dsp/test_resample.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/dsp/test_stft.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/dsp/test_window.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/models/CMakeLists.txt +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/models/test_default_model_cache_dir.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/models/test_denoiser.cpp +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/python/CMakeLists.txt +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/python/test_audio.py +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/python/test_dsp.py +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/python/test_models.py +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/utest/utest.h +0 -0
- {libspeech-0.1.0 → libspeech-0.2.0}/tests/utest/utest_main.cxx +0 -0
|
@@ -86,7 +86,20 @@ jobs:
|
|
|
86
86
|
# ships wheels from cp39-abi3 up on PyPI, not cp38 -- building a
|
|
87
87
|
# cp38 wheel here would require httpp built from source instead.
|
|
88
88
|
CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-*"
|
|
89
|
-
|
|
89
|
+
# Per-Python-version env var overrides (SKBUILD_WHEEL_PY_API=cp312
|
|
90
|
+
# for the cp312 build only, so scikit-build-core tags it as a
|
|
91
|
+
# forward-compatible cp312-abi3 wheel instead of a version-locked
|
|
92
|
+
# cp312-cp312 one -- see the [tool.cibuildwheel.overrides] entry
|
|
93
|
+
# in pyproject.toml for *why* it has to live there instead of
|
|
94
|
+
# here) do NOT work as a "CIBW_<OPTION>_<IDENTIFIER>" env var like
|
|
95
|
+
# CIBW_ENVIRONMENT_CP312: cibuildwheel only recognizes that
|
|
96
|
+
# suffix pattern for CIBW_ENVIRONMENT_{LINUX,MACOS,WINDOWS} (i.e.
|
|
97
|
+
# by platform), not by Python-version identifier -- an env var
|
|
98
|
+
# like that is silently a no-op, not an error, which is exactly
|
|
99
|
+
# how this went unnoticed (confirmed: the wheel actually
|
|
100
|
+
# published to PyPI for 0.1.0 came out tagged cp312-cp312, not
|
|
101
|
+
# cp312-abi3, meaning SKBUILD_WHEEL_PY_API was never really set
|
|
102
|
+
# during that build despite this line being here).
|
|
90
103
|
# Disable building PyPy wheels on all platforms. Also skip
|
|
91
104
|
# musllinux (Alpine/musl has no official ONNX Runtime build --
|
|
92
105
|
# only glibc-linked releases exist, which fail to link against
|
|
@@ -117,6 +117,26 @@ include(ONNXRuntime)
|
|
|
117
117
|
|
|
118
118
|
add_subdirectory(src/third_party/miniaudio)
|
|
119
119
|
|
|
120
|
+
# miniaudio.h uses the C23 double-bracket attribute syntax for its
|
|
121
|
+
# fallthrough marker (MA_FALLTHROUGH -> [[fallthrough]], see miniaudio.h)
|
|
122
|
+
# even in the gnu99 translation unit miniaudio.c compiles as. GCC accepts
|
|
123
|
+
# this quietly under gnu99, but (Apple) Clang's -Wc23-extensions flags it
|
|
124
|
+
# -- three warnings, no errors, harmless either way.
|
|
125
|
+
#
|
|
126
|
+
# This is vendored, upstream code pulled in via a git submodule -- editing
|
|
127
|
+
# miniaudio.h directly isn't an option (the fix would silently vanish on
|
|
128
|
+
# the next `git submodule update`), and a project-wide -Wno-c23-extensions
|
|
129
|
+
# would also mute the same warning if it ever showed up in code we
|
|
130
|
+
# actually own. So silence only this one diagnostic, and only on the one
|
|
131
|
+
# target it's known to come from (confirmed: only miniaudio.c itself hits
|
|
132
|
+
# it, not the extra node .c files below, which don't compile the
|
|
133
|
+
# MA_FALLTHROUGH-containing implementation). Safe to drop once upstream
|
|
134
|
+
# miniaudio switches to __attribute__((fallthrough)) or the project moves
|
|
135
|
+
# to a C standard where the warning no longer applies.
|
|
136
|
+
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
|
137
|
+
target_compile_options(miniaudio PRIVATE -Wno-c23-extensions)
|
|
138
|
+
endif()
|
|
139
|
+
|
|
120
140
|
# ---------------------------------------------------------------------------
|
|
121
141
|
# Model downloading (speech::utils::downloadFile) used to link the SYSTEM
|
|
122
142
|
# libcurl (find_package(CURL REQUIRED) + apt-installed libcurl4-openssl-dev)
|
|
@@ -366,7 +386,25 @@ if(DEFINED PYTHON_PROJECT_NAME)
|
|
|
366
386
|
# the same way this file already bakes VERSION_INFO in below.
|
|
367
387
|
# $<TARGET_FILE_NAME:...> is a generator expression, resolved once CMake
|
|
368
388
|
# knows the real output name of each target.
|
|
369
|
-
|
|
389
|
+
# On Linux, ship (and load) the library under its SONAME
|
|
390
|
+
# (libonnxruntime.so.1) rather than the fully-versioned filename
|
|
391
|
+
# (libonnxruntime.so.1.21.0): both names used to be installed as full
|
|
392
|
+
# ~20MB copies (the SONAME file is a symlink on the upstream release
|
|
393
|
+
# tarball, but CMake's install(FILES ...)/file(COPY ...) dereference
|
|
394
|
+
# symlinks, and it turns out the wheel-building step also flattens an
|
|
395
|
+
# install-time symlink back into a second real copy when zipping -- so
|
|
396
|
+
# there is no way to keep both names *and* avoid shipping the bytes
|
|
397
|
+
# twice). Since the SONAME is the one name every consumer .so's
|
|
398
|
+
# DT_NEEDED entry actually requires at runtime, standardize the
|
|
399
|
+
# explicit ctypes preload in __init__.py on that same name too and
|
|
400
|
+
# stop installing the fully-versioned name altogether -- one file,
|
|
401
|
+
# one name, used both places. Windows/macOS have no such SONAME split
|
|
402
|
+
# (see cmake/ONNXRuntime.cmake) so they keep using ONNXRUNTIME_LIB_FILE.
|
|
403
|
+
if(ONNXRUNTIME_SONAME_FILE)
|
|
404
|
+
get_filename_component(_ONNXRUNTIME_LIB_FILENAME "${ONNXRUNTIME_SONAME_FILE}" NAME)
|
|
405
|
+
else()
|
|
406
|
+
get_filename_component(_ONNXRUNTIME_LIB_FILENAME "${ONNXRUNTIME_LIB_FILE}" NAME)
|
|
407
|
+
endif()
|
|
370
408
|
target_compile_definitions(${NB_MODULE} PRIVATE
|
|
371
409
|
VERSION_INFO=${PROJECT_VERSION}
|
|
372
410
|
NB_MODULE_NAME=${NB_MODULE}
|
|
@@ -471,28 +509,53 @@ if(DEFINED PYTHON_PROJECT_NAME)
|
|
|
471
509
|
# httpp is NOT bundled here -- __init__.py loads it from the
|
|
472
510
|
# separately pip-installed httpp package instead (see __init__.py).
|
|
473
511
|
#
|
|
474
|
-
# ONNXRUNTIME_SONAME_FILE (see cmake/ONNXRuntime.cmake)
|
|
475
|
-
#
|
|
476
|
-
# on Linux
|
|
477
|
-
#
|
|
478
|
-
#
|
|
512
|
+
# ONNXRUNTIME_SONAME_FILE (see cmake/ONNXRuntime.cmake) is the name
|
|
513
|
+
# every compiled .so's DT_NEEDED entry actually requires at
|
|
514
|
+
# runtime (libonnxruntime.so.1 on Linux), not the fully-versioned
|
|
515
|
+
# ONNXRUNTIME_LIB_FILE one -- without a file by that exact name,
|
|
516
|
+
# `auditwheel repair` fails to find/bundle it at all.
|
|
517
|
+
#
|
|
518
|
+
# On disk (in the upstream release tarball) that name is a
|
|
519
|
+
# symlink to ONNXRUNTIME_LIB_FILE, which is why it used to look
|
|
520
|
+
# free to ship both: but CMake's install(FILES ...) dereferences
|
|
521
|
+
# symlinks, AND the wheel-building step separately flattens an
|
|
522
|
+
# install-time symlink back into a real copy when zipping -- so
|
|
523
|
+
# shipping *both* names always costs a full second ~20MB copy no
|
|
524
|
+
# matter which way the symlink is recreated. Since the SONAME is
|
|
525
|
+
# the only name anything actually needs to dlopen/link against at
|
|
526
|
+
# runtime (see the ONNXRUNTIME_LIB_PATH comment above), install
|
|
527
|
+
# the real bytes under that name ONLY and drop the fully-versioned
|
|
528
|
+
# name from the wheel entirely -- one ~20MB file instead of two.
|
|
479
529
|
# ONNXRUNTIME_PROVIDERS_SHARED_FILE (Windows only) is the companion
|
|
480
530
|
# onnxruntime_providers_shared.dll upstream ships alongside
|
|
481
531
|
# onnxruntime.dll -- see cmake/ONNXRuntime.cmake for why.
|
|
482
|
-
set(_LIBSPEECH_RUNTIME_LIBS "${ONNXRUNTIME_LIB_FILE}")
|
|
483
532
|
if(ONNXRUNTIME_SONAME_FILE)
|
|
484
|
-
|
|
533
|
+
get_filename_component(_ONNXRUNTIME_SONAME_FILENAME "${ONNXRUNTIME_SONAME_FILE}" NAME)
|
|
534
|
+
# RENAME so only one copy of the (large) file is ever written
|
|
535
|
+
# -- under the SONAME, not the fully-versioned name.
|
|
536
|
+
install(FILES "${ONNXRUNTIME_LIB_FILE}"
|
|
537
|
+
DESTINATION ${SKBUILD_PROJECT_NAME}
|
|
538
|
+
RENAME "${_ONNXRUNTIME_SONAME_FILENAME}")
|
|
539
|
+
else()
|
|
540
|
+
install(FILES "${ONNXRUNTIME_LIB_FILE}"
|
|
541
|
+
DESTINATION ${SKBUILD_PROJECT_NAME})
|
|
485
542
|
endif()
|
|
486
543
|
if(ONNXRUNTIME_PROVIDERS_SHARED_FILE)
|
|
487
|
-
|
|
544
|
+
install(FILES "${ONNXRUNTIME_PROVIDERS_SHARED_FILE}"
|
|
545
|
+
DESTINATION ${SKBUILD_PROJECT_NAME})
|
|
488
546
|
endif()
|
|
489
|
-
install (FILES ${_LIBSPEECH_RUNTIME_LIBS}
|
|
490
|
-
DESTINATION ${SKBUILD_PROJECT_NAME})
|
|
491
547
|
else()
|
|
492
548
|
file(COPY ${PROJECT_SOURCE_DIR}/src/bindings/python/${PROJECT_NAME} DESTINATION ${PYTHON_PROJECT_NAME})
|
|
493
|
-
file(COPY ${ONNXRUNTIME_LIB_FILE} DESTINATION ${PYTHON_PROJECT_NAME}/${PROJECT_NAME})
|
|
494
549
|
if(ONNXRUNTIME_SONAME_FILE)
|
|
495
|
-
|
|
550
|
+
# Same fix as the scikit-build install(FILES ...) branch above:
|
|
551
|
+
# ship the real bytes under the SONAME only (one ~20MB file,
|
|
552
|
+
# not the fully-versioned name too), since that's the only
|
|
553
|
+
# name anything actually dlopens/links against at runtime.
|
|
554
|
+
get_filename_component(_ONNXRUNTIME_SONAME_FILENAME "${ONNXRUNTIME_SONAME_FILE}" NAME)
|
|
555
|
+
file(COPY_FILE "${ONNXRUNTIME_LIB_FILE}"
|
|
556
|
+
"${PYTHON_PROJECT_NAME}/${PROJECT_NAME}/${_ONNXRUNTIME_SONAME_FILENAME}")
|
|
557
|
+
else()
|
|
558
|
+
file(COPY ${ONNXRUNTIME_LIB_FILE} DESTINATION ${PYTHON_PROJECT_NAME}/${PROJECT_NAME})
|
|
496
559
|
endif()
|
|
497
560
|
if(ONNXRUNTIME_PROVIDERS_SHARED_FILE)
|
|
498
561
|
file(COPY ${ONNXRUNTIME_PROVIDERS_SHARED_FILE} DESTINATION ${PYTHON_PROJECT_NAME}/${PROJECT_NAME})
|
|
@@ -67,6 +67,39 @@ test-extras = ["test"]
|
|
|
67
67
|
test-skip = ["*universal2:arm64"]
|
|
68
68
|
#build-verbosity = 1
|
|
69
69
|
|
|
70
|
+
[[tool.cibuildwheel.overrides]]
|
|
71
|
+
# Only the cp312 build's nanobind extensions are actually compiled
|
|
72
|
+
# against the Limited API (STABLE_ABI in CMakeLists.txt's
|
|
73
|
+
# nanobind_add_module(... STABLE_ABI ...) calls resolves to
|
|
74
|
+
# Py_LIMITED_API=0x030C0000, i.e. Python 3.12+, confirmed by inspecting
|
|
75
|
+
# an actual local build's compile flags -- nanobind's own STABLE_ABI
|
|
76
|
+
# option is a Python-3.12-floor feature, it silently does nothing on
|
|
77
|
+
# older interpreters per nanobind's own docs, so the cp39/cp310/cp311
|
|
78
|
+
# builds really are ordinary version-locked extensions and must keep
|
|
79
|
+
# their default per-version wheel.py-api, or their wheel's tag would be
|
|
80
|
+
# lying about what's actually inside).
|
|
81
|
+
#
|
|
82
|
+
# So only for cp312 do we want scikit-build-core to tag the wheel
|
|
83
|
+
# cp312-abi3 (forward-compatible with 3.12, 3.13, 3.14, 3.15, ...)
|
|
84
|
+
# instead of the default cp312-cp312 (that one Python version only) --
|
|
85
|
+
# set via SKBUILD_WHEEL_PY_API, which is scikit-build-core's env-var
|
|
86
|
+
# spelling of its `wheel.py-api` config option.
|
|
87
|
+
#
|
|
88
|
+
# This has to be an [[overrides]] table with its own `select`, not a
|
|
89
|
+
# top-level `CIBW_ENVIRONMENT_CP312` env var in wheels.yml: cibuildwheel
|
|
90
|
+
# only recognizes CIBW_ENVIRONMENT_{LINUX,MACOS,WINDOWS} as valid
|
|
91
|
+
# per-selector *environment-variable name* suffixes (i.e. by platform),
|
|
92
|
+
# not arbitrary identifiers like "CP312" -- an env var spelled that way
|
|
93
|
+
# is silently ignored rather than erroring, which is exactly how this
|
|
94
|
+
# was never actually applied to the wheels published for 0.1.0 (all
|
|
95
|
+
# four came out version-locked, cp312 included -- confirmed by
|
|
96
|
+
# inspecting the actual .dist-info/WHEEL of the published wheel).
|
|
97
|
+
# `select` here is cibuildwheel's own, real mechanism for the same
|
|
98
|
+
# per-build-identifier scoping that env var name was trying (and
|
|
99
|
+
# failing) to achieve.
|
|
100
|
+
select = "cp312-*"
|
|
101
|
+
environment = { SKBUILD_WHEEL_PY_API = "cp312" }
|
|
102
|
+
|
|
70
103
|
|
|
71
104
|
#[tool.scikit-build.cmake.define]
|
|
72
105
|
#SOME_DEFINE = "ON"
|
|
@@ -171,7 +171,7 @@ def cmd_tag(args):
|
|
|
171
171
|
new_version = version_str(version)
|
|
172
172
|
tag_name = f"v{new_version}"
|
|
173
173
|
run(["git", "add", str(HEADER_ABS_PATH)])
|
|
174
|
-
run(["git", "commit", "-m", f"Release {new_version}"])
|
|
174
|
+
run(["git", "commit", "-m", f"Release {new_version}", "--allow-empty-message"])
|
|
175
175
|
run(["git", "tag", tag_name])
|
|
176
176
|
print(f"Committed and tagged {tag_name}")
|
|
177
177
|
return
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{libspeech-0.1.0 → libspeech-0.2.0}/src/third_party/audioflux/include/dsp/resample_algorithm.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|