Skip to content

Conversation

@x15sr71
Copy link
Contributor

@x15sr71 x15sr71 commented Dec 29, 2025

In raising this pull request, I confirm the following (please check boxes):

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.
  • I have mentioned this change in the changelog.

My familiarity with the project is as follows (check one):

  • I have never used CCExtractor.
  • I have used CCExtractor just a couple of times.
  • I absolutely love CCExtractor, but have not contributed previously.
  • I am an active contributor to CCExtractor.

Problem

CCExtractor uses a non-standard include path for utf8proc in src/lib_ccx/params.c:

  • #include <utf8proc/utf8proc.h>

However, utf8proc is installed as <utf8proc.h> (without a subdirectory) on all major platforms:

  • Debian/Ubuntu: /usr/include/utf8proc.h
  • Fedora/RHEL: /usr/include/utf8proc.h
  • Homebrew: $(brew --prefix)/include/utf8proc.h
  • Nix: $out/include/utf8proc.h
  • vcpkg: installed/<triplet>/include/utf8proc.h

This caused build failures when using the -system-libs flag on Homebrew Linux.

Solution

This PR uses __has_include() to support both paths:

  • System builds: Uses <utf8proc.h> (standard location)
  • Vendored builds: Uses <utf8proc/utf8proc.h> (CCExtractor's vendored copy)

Also removes the temporary symlink workaround from linux/build as it's no longer needed.

Testing

  • Builds with -system-libs and without on Linux
  • Docker builds work (vendored)
  • macOS builds pass
  • windows build pass

@x15sr71 x15sr71 force-pushed the fix/utf8proc-include-path branch 2 times, most recently from 6c79c15 to 53d0503 Compare December 29, 2025 07:53
@x15sr71 x15sr71 changed the title fix: utf8proc include path for system library builds [FIX]: utf8proc include path for system library builds Dec 29, 2025
@x15sr71 x15sr71 force-pushed the fix/utf8proc-include-path branch from 53d0503 to a18eaa2 Compare December 29, 2025 08:08
@ccextractor-bot
Copy link
Collaborator

CCExtractor CI platform finished running the test files on linux. Below is a summary of the test results, when compared to test for commit 63dde6f...:
Report Name Tests Passed
Broken 13/13
CEA-708 14/14
DVB 7/7
DVD 3/3
DVR-MS 2/2
General 27/27
Hardsubx 1/1
Hauppage 3/3
MP4 3/3
NoCC 10/10
Options 86/86
Teletext 21/21
WTV 13/13
XDS 34/34

All tests passed completely.

Check the result page for more info.

@ccextractor-bot
Copy link
Collaborator

CCExtractor CI platform finished running the test files on windows. Below is a summary of the test results, when compared to test for commit 63dde6f...:
Report Name Tests Passed
Broken 13/13
CEA-708 14/14
DVB 6/7
DVD 3/3
DVR-MS 2/2
General 25/27
Hardsubx 1/1
Hauppage 3/3
MP4 3/3
NoCC 10/10
Options 80/86
Teletext 21/21
WTV 13/13
XDS 34/34

NOTE: The following tests have been failing on the master branch as well as the PR:


This PR does not introduce any new test failures. However, some tests are failing on both master and this PR (see above).

Check the result page for more info.

@cfsmp3 cfsmp3 merged commit 152bbd3 into CCExtractor:master Dec 29, 2025
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants