diff --git a/src/ocrmypdf/_exec/ghostscript.py b/src/ocrmypdf/_exec/ghostscript.py index 5c357f1b..f459763a 100644 --- a/src/ocrmypdf/_exec/ghostscript.py +++ b/src/ocrmypdf/_exec/ghostscript.py @@ -25,28 +25,7 @@ from ocrmypdf.subprocess import get_version, run, run_polling_stderr log = logging.getLogger(__name__) -missing_gs_error = """ ---------------------------------------------------------------------- -This error normally occurs when ocrmypdf find can't Ghostscript. -Please ensure Ghostscript is installed and its location is added to -the system PATH environment variable. - -For details see: - https://ocrmypdf.readthedocs.io/en/latest/installation.html ---------------------------------------------------------------------- -""" - -_gswin = None -if os.name == 'nt': - _gswin = which('gswin64c') - if not _gswin: - _gswin = which('gswin32c') - if not _gswin: - raise MissingDependencyError(missing_gs_error) - _gswin = Path(_gswin).stem - -GS = _gswin if _gswin else 'gs' -del _gswin +GS = '@gs@' def version(): diff --git a/src/ocrmypdf/_exec/jbig2enc.py b/src/ocrmypdf/_exec/jbig2enc.py index 2e8a058b..65a09088 100644 --- a/src/ocrmypdf/_exec/jbig2enc.py +++ b/src/ocrmypdf/_exec/jbig2enc.py @@ -14,7 +14,7 @@ from ocrmypdf.subprocess import get_version, run def version(): - return get_version('jbig2', regex=r'jbig2enc (\d+(\.\d+)*).*') + return get_version('@jbig2@', regex=r'jbig2enc (\d+(\.\d+)*).*') def available(): @@ -27,7 +27,7 @@ def available(): def convert_group(*, cwd, infiles, out_prefix): args = [ - 'jbig2', + '@jbig2@', '-b', out_prefix, '-s', # symbol mode (lossy) @@ -46,7 +46,7 @@ def convert_group_mp(args): def convert_single(*, cwd, infile, outfile): - args = ['jbig2', '-p', infile] + args = ['@jbig2@', '-p', infile] with open(outfile, 'wb') as fstdout: proc = run(args, cwd=cwd, stdout=fstdout, stderr=PIPE) proc.check_returncode() diff --git a/src/ocrmypdf/_exec/pngquant.py b/src/ocrmypdf/_exec/pngquant.py index ca8a4542..d0544174 100644 --- a/src/ocrmypdf/_exec/pngquant.py +++ b/src/ocrmypdf/_exec/pngquant.py @@ -19,7 +19,7 @@ from ocrmypdf.subprocess import get_version, run def version(): - return get_version('pngquant', regex=r'(\d+(\.\d+)*).*') + return get_version('@pngquant@', regex=r'(\d+(\.\d+)*).*') def available(): @@ -46,7 +46,7 @@ def input_as_png(input_file: Path): def quantize(input_file: Path, output_file: Path, quality_min: int, quality_max: int): with input_as_png(input_file) as input_stream: args = [ - 'pngquant', + '@pngquant@', '--force', '--skip-if-larger', '--quality', diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py index 33ead41e..5840f7c1 100644 --- a/src/ocrmypdf/_exec/tesseract.py +++ b/src/ocrmypdf/_exec/tesseract.py @@ -78,7 +78,7 @@ class TesseractVersion(StrictVersion): def version(): - return get_version('tesseract', regex=r'tesseract\s(.+)') + return get_version('@tesseract@', regex=r'tesseract\s(.+)') def has_user_words(): @@ -100,7 +100,7 @@ def get_languages(): msg += output return msg - args_tess = ['tesseract', '--list-langs'] + args_tess = ['@tesseract@', '--list-langs'] try: proc = run( args_tess, @@ -122,7 +122,7 @@ def get_languages(): def tess_base_args(langs: List[str], engine_mode: Optional[int]) -> List[str]: - args = ['tesseract'] + args = ['@tesseract@'] if langs: args.extend(['-l', '+'.join(langs)]) if engine_mode is not None: diff --git a/src/ocrmypdf/_exec/unpaper.py b/src/ocrmypdf/_exec/unpaper.py index 3c3ae72c..d269966a 100644 --- a/src/ocrmypdf/_exec/unpaper.py +++ b/src/ocrmypdf/_exec/unpaper.py @@ -31,7 +31,7 @@ log = logging.getLogger(__name__) def version() -> str: - return get_version('unpaper') + return get_version('@unpaper@') def _setup_unpaper_io(tmpdir: Path, input_file: Path) -> Tuple[Path, Path]: @@ -71,7 +71,7 @@ def _setup_unpaper_io(tmpdir: Path, input_file: Path) -> Tuple[Path, Path]: def run( input_file: Path, output_file: Path, *, dpi: DecFloat, mode_args: List[str] ) -> None: - args_unpaper = ['unpaper', '-v', '--dpi', str(round(dpi, 6))] + mode_args + args_unpaper = ['@unpaper@', '-v', '--dpi', str(round(dpi, 6))] + mode_args with TemporaryDirectory() as tmpdir: input_pnm, output_pnm = _setup_unpaper_io(Path(tmpdir), input_file) diff --git a/src/ocrmypdf/leptonica.py b/src/ocrmypdf/leptonica.py index e4814f1a..fdaf7ea4 100644 --- a/src/ocrmypdf/leptonica.py +++ b/src/ocrmypdf/leptonica.py @@ -33,14 +33,7 @@ from ocrmypdf.lib._leptonica import ffi logger = logging.getLogger(__name__) -if os.name == 'nt': - from ocrmypdf.subprocess._windows import shim_env_path - - libname = 'liblept-5' - os.environ['PATH'] = shim_env_path() -else: - libname = 'lept' -_libpath = find_library(libname) +_libpath = '@liblept@' if not _libpath: raise MissingDependencyError( """