about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch
blob: 9bfcc728554185e231d67640b286609e3b1fee8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
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(
         """