nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 187 lines 8.1 kB view raw
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>