-
Notifications
You must be signed in to change notification settings - Fork 1
[BUGFIX] Fix Broken Release #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Build Fixes:
- Add pthread.h include for Linux builds (network.c)
Fixes missing PTHREAD_MUTEX_INITIALIZER and pthread function declarations
- Remove duplicate _POSIX_C_SOURCE definition (http2_session_manager.c)
Fixes redefinition warning and implicit usleep declaration
The macro is already defined in internal.h with a newer POSIX standard
- Fix -march=native flag for macOS ARM64 builds (setup.py)
Refactored architecture detection to skip unsupported flags on ARM64 macOS
* x86_64/AMD64: Use -march=native
* ARM64 on Linux: Use -mcpu=native
* ARM64 on macOS: Skip architecture flags (clang doesn't support them)
CI Improvements:
- Add build test jobs for Linux, macOS, and Windows to CI pipeline
- Build and test all Python versions (3.8-3.14) on every push/PR
- Align CI build workflow with release pipeline for consistency
- Add build status reporting in CI summary
These changes ensure builds succeed on all platforms and catch build
failures early in the development process.
Read the Docs doesn't need C extensions to build documentation. Detect READTHEDOCS environment variable and skip Cython/C compilation when building on RTD infrastructure. This allows documentation builds to succeed without requiring vendor dependencies (nghttp2, BoringSSL) to be available.
- All Extension() constructor parameters are now properly indented - The build will now work correctly on Linux/macOS/Windows - Read the Docs will skip C extensions entirely (no compilation needed for docs)
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
- Add OpenSSL 1.0.x compatibility for old manylinux containers - Add TLS 1.3 guards for OpenSSL versions without TLS 1.3 support - Force static library linking on macOS to avoid Homebrew dylib version mismatches - Prioritize vendor-built libraries over system libraries on macOS
…sues - Fix sign-compare warnings in tls.c by using int instead of size_t for browser profile counts - Force static library linking on macOS to avoid Homebrew dylib version conflicts - Prioritize vendor-built libraries over system libraries on both Linux and macOS
- Constrain setuptools <75.4.0 for Python 3.8 (dropped support in 75.4.0)
- Constrain setuptools <75.4.0 for Python 3.8 (dropped in 75.4.0) - Remove -march=native flags to fix "Illegal instruction" on Linux - Fix sign-compare warnings in tls.c (use int for profile counts) - Force static library linking on macOS to avoid Homebrew conflicts - Ensure portable wheels that work across different CPUs
- Cap setuptools <75.4.0 for Python 3.8 compatibility - Remove -march=native to create portable wheels - Fix sign-compare warnings in tls.c - Force static library linking on macOS - Ensure wheels work across different CPUs and Python versions
- Add compatibility wrappers for OpenSSL 1.1.0+ APIs - Map TLS_client_method to SSLv23_client_method for 1.0.x - Add fallback for SSL_CTX_set_min/max_proto_version - Skip X25519 curve when not available in OpenSSL 1.0.x - Remove duplicate POSIX feature test macros - Ensure all builds work with OpenSSL 1.0.x (manylinux) and 1.1.0+
… and properly linked BoringSSL with C++ runtime support
arman-bd
added a commit
that referenced
this pull request
Nov 4, 2025
* fix: resolve Linux and macOS build failures, add CI build tests
Build Fixes:
- Add pthread.h include for Linux builds (network.c)
Fixes missing PTHREAD_MUTEX_INITIALIZER and pthread function declarations
- Remove duplicate _POSIX_C_SOURCE definition (http2_session_manager.c)
Fixes redefinition warning and implicit usleep declaration
The macro is already defined in internal.h with a newer POSIX standard
- Fix -march=native flag for macOS ARM64 builds (setup.py)
Refactored architecture detection to skip unsupported flags on ARM64 macOS
* x86_64/AMD64: Use -march=native
* ARM64 on Linux: Use -mcpu=native
* ARM64 on macOS: Skip architecture flags (clang doesn't support them)
CI Improvements:
- Add build test jobs for Linux, macOS, and Windows to CI pipeline
- Build and test all Python versions (3.8-3.14) on every push/PR
- Align CI build workflow with release pipeline for consistency
- Add build status reporting in CI summary
These changes ensure builds succeed on all platforms and catch build
failures early in the development process.
* fix: skip C extension build on Read the Docs
Read the Docs doesn't need C extensions to build documentation.
Detect READTHEDOCS environment variable and skip Cython/C compilation
when building on RTD infrastructure.
This allows documentation builds to succeed without requiring
vendor dependencies (nghttp2, BoringSSL) to be available.
* chore: Fixed indentation in setup.py:
- All Extension() constructor parameters are now properly indented
- The build will now work correctly on Linux/macOS/Windows
- Read the Docs will skip C extensions entirely (no compilation needed for docs)
* fix: resolve Linux/macOS build failures and add CI build tests for all platforms
* fix: Resolve Linux and macOS build failures
- Add OpenSSL 1.0.x compatibility for old manylinux containers
- Add TLS 1.3 guards for OpenSSL versions without TLS 1.3 support
- Force static library linking on macOS to avoid Homebrew dylib version mismatches
- Prioritize vendor-built libraries over system libraries on macOS
* fix: Resolve Linux sign-compare warnings and macOS library linking issues
- Fix sign-compare warnings in tls.c by using int instead of size_t for browser profile
counts
- Force static library linking on macOS to avoid Homebrew dylib version conflicts
- Prioritize vendor-built libraries over system libraries on both Linux and macOS
* fix: Resolve Python 3.8 setuptools compatibility and build issues
- Constrain setuptools <75.4.0 for Python 3.8 (dropped support in 75.4.0)
* fix: Resolve build and runtime failures across all platforms
- Constrain setuptools <75.4.0 for Python 3.8 (dropped in 75.4.0)
- Remove -march=native flags to fix "Illegal instruction" on Linux
- Fix sign-compare warnings in tls.c (use int for profile counts)
- Force static library linking on macOS to avoid Homebrew conflicts
- Ensure portable wheels that work across different CPUs
* fix: Resolve build failures across all platforms
- Cap setuptools <75.4.0 for Python 3.8 compatibility
- Remove -march=native to create portable wheels
- Fix sign-compare warnings in tls.c
- Force static library linking on macOS
- Ensure wheels work across different CPUs and Python versions
* fix: Add OpenSSL 1.0.x compatibility for manylinux builds
- Add compatibility wrappers for OpenSSL 1.1.0+ APIs
- Map TLS_client_method to SSLv23_client_method for 1.0.x
- Add fallback for SSL_CTX_set_min/max_proto_version
- Skip X25519 curve when not available in OpenSSL 1.0.x
- Remove duplicate POSIX feature test macros
- Ensure all builds work with OpenSSL 1.0.x (manylinux) and 1.1.0+
* fix: Add comprehensive OpenSSL 1.0.x and POSIX compatibility
* fix: Fixed io_uring detection, added liburing static library support, and properly linked BoringSSL with C++ runtime support
arman-bd
added a commit
that referenced
this pull request
Nov 4, 2025
* [BUGFIX] Fix Broken Release (#19) * fix: resolve Linux and macOS build failures, add CI build tests Build Fixes: - Add pthread.h include for Linux builds (network.c) Fixes missing PTHREAD_MUTEX_INITIALIZER and pthread function declarations - Remove duplicate _POSIX_C_SOURCE definition (http2_session_manager.c) Fixes redefinition warning and implicit usleep declaration The macro is already defined in internal.h with a newer POSIX standard - Fix -march=native flag for macOS ARM64 builds (setup.py) Refactored architecture detection to skip unsupported flags on ARM64 macOS * x86_64/AMD64: Use -march=native * ARM64 on Linux: Use -mcpu=native * ARM64 on macOS: Skip architecture flags (clang doesn't support them) CI Improvements: - Add build test jobs for Linux, macOS, and Windows to CI pipeline - Build and test all Python versions (3.8-3.14) on every push/PR - Align CI build workflow with release pipeline for consistency - Add build status reporting in CI summary These changes ensure builds succeed on all platforms and catch build failures early in the development process. * fix: skip C extension build on Read the Docs Read the Docs doesn't need C extensions to build documentation. Detect READTHEDOCS environment variable and skip Cython/C compilation when building on RTD infrastructure. This allows documentation builds to succeed without requiring vendor dependencies (nghttp2, BoringSSL) to be available. * chore: Fixed indentation in setup.py: - All Extension() constructor parameters are now properly indented - The build will now work correctly on Linux/macOS/Windows - Read the Docs will skip C extensions entirely (no compilation needed for docs) * fix: resolve Linux/macOS build failures and add CI build tests for all platforms * fix: Resolve Linux and macOS build failures - Add OpenSSL 1.0.x compatibility for old manylinux containers - Add TLS 1.3 guards for OpenSSL versions without TLS 1.3 support - Force static library linking on macOS to avoid Homebrew dylib version mismatches - Prioritize vendor-built libraries over system libraries on macOS * fix: Resolve Linux sign-compare warnings and macOS library linking issues - Fix sign-compare warnings in tls.c by using int instead of size_t for browser profile counts - Force static library linking on macOS to avoid Homebrew dylib version conflicts - Prioritize vendor-built libraries over system libraries on both Linux and macOS * fix: Resolve Python 3.8 setuptools compatibility and build issues - Constrain setuptools <75.4.0 for Python 3.8 (dropped support in 75.4.0) * fix: Resolve build and runtime failures across all platforms - Constrain setuptools <75.4.0 for Python 3.8 (dropped in 75.4.0) - Remove -march=native flags to fix "Illegal instruction" on Linux - Fix sign-compare warnings in tls.c (use int for profile counts) - Force static library linking on macOS to avoid Homebrew conflicts - Ensure portable wheels that work across different CPUs * fix: Resolve build failures across all platforms - Cap setuptools <75.4.0 for Python 3.8 compatibility - Remove -march=native to create portable wheels - Fix sign-compare warnings in tls.c - Force static library linking on macOS - Ensure wheels work across different CPUs and Python versions * fix: Add OpenSSL 1.0.x compatibility for manylinux builds - Add compatibility wrappers for OpenSSL 1.1.0+ APIs - Map TLS_client_method to SSLv23_client_method for 1.0.x - Add fallback for SSL_CTX_set_min/max_proto_version - Skip X25519 curve when not available in OpenSSL 1.0.x - Remove duplicate POSIX feature test macros - Ensure all builds work with OpenSSL 1.0.x (manylinux) and 1.1.0+ * fix: Add comprehensive OpenSSL 1.0.x and POSIX compatibility * fix: Fixed io_uring detection, added liburing static library support, and properly linked BoringSSL with C++ runtime support * [CHORE] Attribution and Version Bump to 0.2.1 (#20)
arman-bd
added a commit
that referenced
this pull request
Nov 5, 2025
* [BUGFIX] Fix Broken Release (#19) * fix: resolve Linux and macOS build failures, add CI build tests Build Fixes: - Add pthread.h include for Linux builds (network.c) Fixes missing PTHREAD_MUTEX_INITIALIZER and pthread function declarations - Remove duplicate _POSIX_C_SOURCE definition (http2_session_manager.c) Fixes redefinition warning and implicit usleep declaration The macro is already defined in internal.h with a newer POSIX standard - Fix -march=native flag for macOS ARM64 builds (setup.py) Refactored architecture detection to skip unsupported flags on ARM64 macOS * x86_64/AMD64: Use -march=native * ARM64 on Linux: Use -mcpu=native * ARM64 on macOS: Skip architecture flags (clang doesn't support them) CI Improvements: - Add build test jobs for Linux, macOS, and Windows to CI pipeline - Build and test all Python versions (3.8-3.14) on every push/PR - Align CI build workflow with release pipeline for consistency - Add build status reporting in CI summary These changes ensure builds succeed on all platforms and catch build failures early in the development process. * fix: skip C extension build on Read the Docs Read the Docs doesn't need C extensions to build documentation. Detect READTHEDOCS environment variable and skip Cython/C compilation when building on RTD infrastructure. This allows documentation builds to succeed without requiring vendor dependencies (nghttp2, BoringSSL) to be available. * chore: Fixed indentation in setup.py: - All Extension() constructor parameters are now properly indented - The build will now work correctly on Linux/macOS/Windows - Read the Docs will skip C extensions entirely (no compilation needed for docs) * fix: resolve Linux/macOS build failures and add CI build tests for all platforms * fix: Resolve Linux and macOS build failures - Add OpenSSL 1.0.x compatibility for old manylinux containers - Add TLS 1.3 guards for OpenSSL versions without TLS 1.3 support - Force static library linking on macOS to avoid Homebrew dylib version mismatches - Prioritize vendor-built libraries over system libraries on macOS * fix: Resolve Linux sign-compare warnings and macOS library linking issues - Fix sign-compare warnings in tls.c by using int instead of size_t for browser profile counts - Force static library linking on macOS to avoid Homebrew dylib version conflicts - Prioritize vendor-built libraries over system libraries on both Linux and macOS * fix: Resolve Python 3.8 setuptools compatibility and build issues - Constrain setuptools <75.4.0 for Python 3.8 (dropped support in 75.4.0) * fix: Resolve build and runtime failures across all platforms - Constrain setuptools <75.4.0 for Python 3.8 (dropped in 75.4.0) - Remove -march=native flags to fix "Illegal instruction" on Linux - Fix sign-compare warnings in tls.c (use int for profile counts) - Force static library linking on macOS to avoid Homebrew conflicts - Ensure portable wheels that work across different CPUs * fix: Resolve build failures across all platforms - Cap setuptools <75.4.0 for Python 3.8 compatibility - Remove -march=native to create portable wheels - Fix sign-compare warnings in tls.c - Force static library linking on macOS - Ensure wheels work across different CPUs and Python versions * fix: Add OpenSSL 1.0.x compatibility for manylinux builds - Add compatibility wrappers for OpenSSL 1.1.0+ APIs - Map TLS_client_method to SSLv23_client_method for 1.0.x - Add fallback for SSL_CTX_set_min/max_proto_version - Skip X25519 curve when not available in OpenSSL 1.0.x - Remove duplicate POSIX feature test macros - Ensure all builds work with OpenSSL 1.0.x (manylinux) and 1.1.0+ * fix: Add comprehensive OpenSSL 1.0.x and POSIX compatibility * fix: Fixed io_uring detection, added liburing static library support, and properly linked BoringSSL with C++ runtime support * [CHORE] Attribution and Version Bump to 0.2.1 (#20) * [CHORE] remove debug print on init (#23) Removed automatic debug output that was printed every time httpmorph was imported, making the library silent unless errors occur. This improves user experience by eliminating unnecessary stderr output.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.