nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
2index 2738cab631...5bb2b7d17a 100644
3--- a/src/CMakeLists.txt
4+++ b/src/CMakeLists.txt
5@@ -48,93 +48,20 @@
6 include_directories(${PROJECT_SOURCE_DIR})
7 include_directories(${PROJECT_SOURCE_DIR}/lib_ccx)
8 include_directories(${PROJECT_SOURCE_DIR}/lib_ccx/zvbi)
9-include_directories(${PROJECT_SOURCE_DIR}/thirdparty)
10-include_directories(${PROJECT_SOURCE_DIR}/thirdparty/protobuf-c)
11 include_directories(${PROJECT_SOURCE_DIR}/thirdparty/lib_hash)
12-include_directories(${PROJECT_SOURCE_DIR}/thirdparty/libpng)
13
14-# Check if the operating system is macOS (Darwin)
15-if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
16- if(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "arm64")
17- # ARM Macs
18- include_directories("/opt/homebrew/include")
19- include_directories(${PROJECT_SOURCE_DIR}/thirdparty/libpng/arm)
20- aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/libpng/arm SOURCEFILE)
21- else()
22- include_directories("/usr/local/include")
23- endif()
24-endif()
25-
26-include_directories(${PROJECT_SOURCE_DIR}/thirdparty/zlib)
27-include_directories(${PROJECT_SOURCE_DIR}/thirdparty/freetype/include)
28 aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/lib_hash/ SOURCEFILE)
29-aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/libpng/ SOURCEFILE)
30-aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/protobuf-c/ SOURCEFILE)
31-aux_source_directory(${PROJECT_SOURCE_DIR}/thirdparty/zlib/ SOURCEFILE)
32 aux_source_directory(${PROJECT_SOURCE_DIR}/lib_ccx/zvbi/ SOURCEFILE)
33
34-set(UTF8PROC_SOURCE ${PROJECT_SOURCE_DIR}/thirdparty/utf8proc/utf8proc.c)
35+set(UTF8PROC_SOURCE)
36
37-set(FREETYPE_SOURCE
38- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/autofit/autofit.c
39- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftbase.c
40- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftbbox.c
41- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftbdf.c
42- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftbitmap.c
43- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftcid.c
44- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftfntfmt.c
45- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftfstype.c
46- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftgasp.c
47- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftglyph.c
48- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftgxval.c
49- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftinit.c
50- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftlcdfil.c
51- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftmm.c
52- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftotval.c
53- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftpatent.c
54- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftpfr.c
55- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftstroke.c
56- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftsynth.c
57- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftsystem.c
58- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/fttype1.c
59- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/base/ftwinfnt.c
60- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/bdf/bdf.c
61- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/bzip2/ftbzip2.c
62- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/cache/ftcache.c
63- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/cff/cff.c
64- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/cid/type1cid.c
65- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/gzip/ftgzip.c
66- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/lzw/ftlzw.c
67- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/pcf/pcf.c
68- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/pfr/pfr.c
69- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/psaux/psaux.c
70- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/pshinter/pshinter.c
71- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/psnames/psnames.c
72- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/raster/raster.c
73- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/sfnt/sfnt.c
74- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/smooth/smooth.c
75- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/truetype/truetype.c
76- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/type1/type1.c
77- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/type42/type42.c
78- ${PROJECT_SOURCE_DIR}/thirdparty/freetype/winfonts/winfnt.c
79- )
80+set(FREETYPE_SOURCE)
81 #Windows specific libraries and linker flags
82 if(WIN32)
83 include_directories ("${PROJECT_SOURCE_DIR}/thirdparty/win_spec_incld/")
84 include_directories ("${PROJECT_SOURCE_DIR}/thirdparty/win_iconv/")
85 aux_source_directory ("${PROJECT_SOURCE_DIR}/thirdparty/win_iconv/" SOURCEFILE)
86 set (EXTRA_LIBS ${EXTRA_LIBS} ws2_32 winmm Bcrypt)
87-else (WIN32)
88- # Adding some platform specific library path
89- if(UNIX AND NOT APPLE)
90- link_directories (/usr/local/lib)
91- endif()
92-
93- if(APPLE)
94- # Homebrew library paths
95- link_directories(/usr/local/lib)
96- link_directories(/opt/homebrew/lib)
97- endif()
98 endif(WIN32)
99
100 if(MSVC)
101@@ -212,9 +139,6 @@
102 pkg_check_modules (NANOMSG REQUIRED libnanomsg)
103 set (EXTRA_LIBS ${EXTRA_LIBS} ${NANOMSG_STATIC_LIBRARIES})
104
105- include_directories ("${PROJECT_SOURCE_DIR}/thirdparty/protobuf-c/")
106- aux_source_directory ("${PROJECT_SOURCE_DIR}/thirdparty/protobuf-c/" SOURCEFILE)
107-
108 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_SHARING")
109 endif (PKG_CONFIG_FOUND AND WITH_SHARING)
110
111diff --git a/src/lib_ccx/CMakeLists.txt b/src/lib_ccx/CMakeLists.txt
112index 4f329bcaab...a334d20c4d 100644
113--- a/src/lib_ccx/CMakeLists.txt
114+++ b/src/lib_ccx/CMakeLists.txt
115@@ -13,9 +13,39 @@
116 find_package(PkgConfig)
117 pkg_check_modules (GPAC REQUIRED gpac)
118
119+set (REQUIRES_PRIVATE "libpng libprotobuf-c")
120+
121+if (WITH_FFMPEG)
122+ set (REQUIRES_PRIVATE "${REQUIRES_PRIVATE} libavutil")
123+endif (WITH_FFMPEG)
124+
125+if (WITH_HARDSUBX)
126+ set (REQUIRES_PRIVATE "${REQUIRES_PRIVATE} libavcodec libavformat libswscale tesseract lept")
127+endif (WITH_HARDSUBX)
128+
129 set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${GPAC_INCLUDE_DIRS})
130 set (EXTRA_LIBS ${EXTRA_LIBS} ${GPAC_LIBRARIES})
131
132+pkg_check_modules (PROTOBUFC REQUIRED libprotobuf-c)
133+set (EXTRA_LIBS ${EXTRA_LIBS} ${PROTOBUFC_LIBRARIES})
134+set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${PROTOBUFC_INCLUDE_DIRS}/protobuf-c)
135+
136+pkg_check_modules (LIBPNG REQUIRED libpng)
137+set (EXTRA_LIBS ${EXTRA_LIBS} ${LIBPNG_LIBRARIES})
138+set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${LIBPNG_INCLUDE_DIRS})
139+
140+pkg_check_modules (ZLIB REQUIRED zlib)
141+set (EXTRA_LIBS ${EXTRA_LIBS} ${ZLIB_LIBRARIES})
142+set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${ZLIB_INCLUDE_DIRS})
143+
144+pkg_check_modules (UTF8PROC REQUIRED libutf8proc)
145+set (EXTRA_LIBS ${EXTRA_LIBS} ${UTF8PROC_LIBRARIES})
146+set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${UTF8PROC_INCLUDE_DIRS})
147+
148+pkg_check_modules (FREETYPE REQUIRED freetype2)
149+set (EXTRA_LIBS ${EXTRA_LIBS} ${FREETYPE_LIBRARIES})
150+set (EXTRA_INCLUDES ${EXTRA_INCLUDES} ${FREETYPE_INCLUDE_DIRS})
151+
152 if (WITH_FFMPEG)
153 find_package(PkgConfig)
154
155@@ -94,7 +124,7 @@
156 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDISABLE_RUST")
157 endif (WITHOUT_RUST)
158
159-file (GLOB HeaderFiles *.h)
160+file (GLOB_RECURSE HeaderFiles *.h)
161 file (WRITE ccx.pc "prefix=${CMAKE_INSTALL_PREFIX}\n"
162 "includedir=\${prefix}/include\n"
163 "libdir=\${prefix}/lib\n\n"
164@@ -102,8 +132,8 @@
165 "Description: Closed Caption Extraction library\n"
166 "Version: 0.75\n"
167 "Cflags: -I\${includedir}/\n"
168- "Libs: -L\${libdir} -lccx -lpng\n"
169- "Libs.private: -lpng\n"
170+ "Libs: -L\${libdir} -lccx\n"
171+ "Requires.private: ${REQUIRES_PRIVATE}\n"
172 )
173
174 install (TARGETS ccx DESTINATION lib)
175diff --git a/src/lib_ccx/params.c b/src/lib_ccx/params.c
176index eb1562e50c...984070a285 100644
177--- a/src/lib_ccx/params.c
178+++ b/src/lib_ccx/params.c
179@@ -14,7 +14,7 @@
180 #include "../lib_hash/sha2.h"
181 #include <string.h>
182 #include <stdio.h>
183-#include <utf8proc/utf8proc.h>
184+#include <utf8proc.h>
185
186 #ifdef ENABLE_OCR
187 #include <tesseract/capi.h>