From cf7212d79d0628eaa3b9f8651814c6603b41cef9 Mon Sep 17 00:00:00 2001 From: Artturi Date: Thu, 5 Aug 2021 11:25:02 +0300 Subject: [PATCH] ccextractor: enable ocr and hardsub support (#131849) Co-authored-by: Sandro --- .../video/ccextractor/default.nix | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/video/ccextractor/default.nix b/pkgs/applications/video/ccextractor/default.nix index d18ca43cbf70..6e47f96253e2 100644 --- a/pkgs/applications/video/ccextractor/default.nix +++ b/pkgs/applications/video/ccextractor/default.nix @@ -1,7 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake -, glew, glfw3, leptonica, libiconv, tesseract3, zlib }: +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, cmake +, libiconv +, zlib +, enableOcr ? true +, makeWrapper +, tesseract4 +, leptonica +, ffmpeg +}: -with lib; stdenv.mkDerivation rec { pname = "ccextractor"; version = "0.91"; @@ -15,11 +25,20 @@ stdenv.mkDerivation rec { sourceRoot = "source/src"; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ pkg-config cmake makeWrapper ]; - buildInputs = [ glew glfw3 leptonica tesseract3 zlib ] ++ lib.optional (!stdenv.isLinux) libiconv; + buildInputs = [ zlib ] + ++ lib.optional (!stdenv.isLinux) libiconv + ++ lib.optionals enableOcr [ leptonica tesseract4 ffmpeg ]; - meta = { + cmakeFlags = lib.optionals enableOcr [ "-DWITH_OCR=on" "-DWITH_HARDSUBX=on" ]; + + postInstall = lib.optionalString enableOcr '' + wrapProgram "$out/bin/ccextractor" \ + --set TESSDATA_PREFIX "${tesseract4}/share/" + ''; + + meta = with lib; { homepage = "https://www.ccextractor.org"; description = "Tool that produces subtitles from closed caption data in videos"; longDescription = '' @@ -28,7 +47,13 @@ stdenv.mkDerivation rec { It works on Linux, Windows, and OSX. ''; platforms = platforms.unix; - license = licenses.gpl2; + # undefined reference to `png_do_expand_palette_rgba8_neon' + # undefined reference to `png_riffle_palette_neon' + # undefined reference to `png_do_expand_palette_rgb8_neon' + # undefined reference to `png_init_filter_functions_neon' + # during Linking C executable ccextractor + broken = stdenv.isAarch64; + license = licenses.gpl2Only; maintainers = with maintainers; [ titanous ]; }; }