about summary refs log tree commit diff
path: root/pkgs/tools/graphics/pdf-sign/use-nix-paths.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/graphics/pdf-sign/use-nix-paths.patch')
-rw-r--r--pkgs/tools/graphics/pdf-sign/use-nix-paths.patch93
1 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/pdf-sign/use-nix-paths.patch b/pkgs/tools/graphics/pdf-sign/use-nix-paths.patch
new file mode 100644
index 0000000000000..d2b14c27a6183
--- /dev/null
+++ b/pkgs/tools/graphics/pdf-sign/use-nix-paths.patch
@@ -0,0 +1,93 @@
+diff --git a/pdf-create-empty b/pdf-create-empty
+index e4768af..5caf34c 100755
+--- a/pdf-create-empty
++++ b/pdf-create-empty
+@@ -20,7 +20,7 @@ def main(args):
+     except:
+         die('Invalid dimensions')
+     subprocess.run([
+-        'gs', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
++        '@gs@', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
+         f'-sOutputFile={o}',
+         '-sDEVICE=pdfwrite',
+         f'-dDEVICEWIDTHPOINTS={w}', f'-dDEVICEHEIGHTPOINTS={h}',
+diff --git a/pdf-sign b/pdf-sign
+index 64be231..37d508d 100755
+--- a/pdf-sign
++++ b/pdf-sign
+@@ -17,7 +17,7 @@ def main(args):
+             if args.flatten:
+                 outFile=intmp('input.pdf')
+                 subprocess.run([
+-                    'pdftk', filePath,
++                    '@pdftk@', filePath,
+                     'output', outFile,
+                     'flatten'
+                 ], check=True)
+@@ -28,7 +28,7 @@ def main(args):
+         if args.page < -pageCount or args.page==0 or pageCount < args.page:
+             die('Page number out of range')
+         pageNumber=Cell(args.page if 0 < args.page else pageCount+args.page+1)
+-        pagePDF=Cell(lambda: subprocess.run(['pdftk', inputPDF(), 'cat', str(pageNumber()), 'output', intmp('page.pdf')], check=True) and intmp('page.pdf'))
++        pagePDF=Cell(lambda: subprocess.run(['@pdftk@', inputPDF(), 'cat', str(pageNumber()), 'output', intmp('page.pdf')], check=True) and intmp('page.pdf'))
+         pageSize=Cell(lambda: pdfGetSize(pagePDF()))
+         # The chosen signature
+         if not args.signature and args.batch:
+@@ -52,7 +52,7 @@ def main(args):
+             dy=h*(1-signaturePositionY())/resize - sh/2
+             outFile=intmp('signature-positioned.pdf')
+             subprocess.run([
+-                'gs', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
++                '@gs@', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
+                 f'-sOutputFile={outFile}',
+                 '-sDEVICE=pdfwrite',
+                 f'-dDEVICEWIDTHPOINTS={w}', f'-dDEVICEHEIGHTPOINTS={h}', '-dFIXEDMEDIA',
+@@ -62,7 +62,7 @@ def main(args):
+             return outFile
+         # The signed page
+         signedPagePDF=Cell(lambda: subprocess.run([
+-            'pdftk',
++            '@pdftk@',
+             pagePDF(),
+             'stamp', signaturePositionedPDF(),
+             'output', intmp('signed-page.pdf'),
+@@ -80,7 +80,7 @@ def main(args):
+             (w, h)=displaySize()
+             outFile=intmp('display.png')
+             subprocess.run([
+-                'gs', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
++                '@gs@', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
+                 f'-sOutputFile={outFile}',
+                 '-sDEVICE=pngalpha',
+                 '-dMaxBitmap=2147483647',
+@@ -258,7 +258,7 @@ def main(args):
+                 if args.existing=='backup':
+                     backupFilePath=f'{signedFilePath}.backup{time.strftime("%Y%m%d_%H%M%S")}'
+                     subprocess.run([
+-                        'mv',
++                        '@mv@',
+                         signedFilePath,
+                         backupFilePath,
+                     ], check=True)
+@@ -269,7 +269,7 @@ def main(args):
+                     assert args.existing=='overwrite'
+             pnr=pageNumber()
+             subprocess.run([
+-                'pdftk',
++                '@pdftk@',
+                 f'A={inputPDF()}',
+                 f'B={signedPagePDF()}',
+                 'cat',
+@@ -352,10 +352,10 @@ def tkthrottle(frequency, root):
+     return decorator
+ 
+ def pdfCountPages(filePath):
+-    return int(fromCmdOutput(["pdfinfo", filePath], "^.*\nPages: +([0-9]+)\n.*$")[1])
++    return int(fromCmdOutput(["@pdfinfo@", filePath], "^.*\nPages: +([0-9]+)\n.*$")[1])
+ 
+ def pdfGetSize(filePath):
+-    [ignored, w, h, *ignored2]=fromCmdOutput(['pdfinfo', filePath], '^.*\nPage size: +([0-9.]+) x ([0-9.]+) pts( \([A-Za-z0-9]+\))?\n.*$')
++    [ignored, w, h, *ignored2]=fromCmdOutput(['@pdfinfo@', filePath], '^.*\nPage size: +([0-9.]+) x ([0-9.]+) pts( \([A-Za-z0-9]+\))?\n.*$')
+     return (float(w), float(h))
+ 
+ def m(pattern, string):