tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
pdftowrite: init at 2021.05.03
henrispriet
11 months ago
722d3cb4
fac7cd44
+122
2 changed files
expand all
collapse all
unified
split
pkgs
by-name
pd
pdftowrite
inkscape-unknown-option-pdf-page.patch
package.nix
+31
pkgs/by-name/pd/pdftowrite/inkscape-unknown-option-pdf-page.patch
···
1
1
+
From b3cd46bf1ea7ddc7ce26e9b713bb7fb5faadba40 Mon Sep 17 00:00:00 2001
2
2
+
From: Ulysses Zhan <ulysseszhan@gmail.com>
3
3
+
Date: Wed, 20 Mar 2024 21:57:47 -0700
4
4
+
Subject: [PATCH] fix `Unknown option --pdf-page` when calling inkscape
5
5
+
6
6
+
---
7
7
+
pdftowrite/pdftowrite.py | 4 ++--
8
8
+
1 file changed, 2 insertions(+), 2 deletions(-)
9
9
+
10
10
+
diff --git a/pdftowrite/pdftowrite.py b/pdftowrite/pdftowrite.py
11
11
+
index 6c12515..4d03fc2 100644
12
12
+
--- a/pdftowrite/pdftowrite.py
13
13
+
+++ b/pdftowrite/pdftowrite.py
14
14
+
@@ -79,7 +79,7 @@ def process_page(filename: str, page_num: int, output_dir: str, ns: argparse.Nam
15
15
+
opts = ['--pdf-poppler'] if ns.mode is Mode.POPPLER or ns.mode is Mode.MIXED else []
16
16
+
utils.inkscape_run([
17
17
+
*opts,
18
18
+
- f'--pdf-page={page_num}',
19
19
+
+ f'--pages={page_num}',
20
20
+
f'--export-dpi={ns.dpi}',
21
21
+
'--export-plain-svg',
22
22
+
'-o', output,
23
23
+
@@ -90,7 +90,7 @@ def process_page(filename: str, page_num: int, output_dir: str, ns: argparse.Nam
24
24
+
if ns.mode is Mode.MIXED:
25
25
+
text_layer_output = str(Path(output_dir) / f'output-{page_num}-text.svg')
26
26
+
utils.inkscape_run([
27
27
+
- f'--pdf-page={page_num}',
28
28
+
+ f'--pages={page_num}',
29
29
+
f'--export-dpi={ns.dpi}',
30
30
+
'--export-plain-svg',
31
31
+
'-o', text_layer_output,
+91
pkgs/by-name/pd/pdftowrite/package.nix
···
1
1
+
{
2
2
+
lib,
3
3
+
python3Packages,
4
4
+
fetchFromGitHub,
5
5
+
makeWrapper,
6
6
+
versionCheckHook,
7
7
+
nix-update-script,
8
8
+
9
9
+
# shared
10
10
+
gzip,
11
11
+
# pdftowrite
12
12
+
poppler-utils,
13
13
+
inkscape,
14
14
+
ghostscript,
15
15
+
imagemagick,
16
16
+
libxml2,
17
17
+
libxslt,
18
18
+
# writetopdf
19
19
+
wkhtmltopdf,
20
20
+
pdftk,
21
21
+
librsvg,
22
22
+
}:
23
23
+
python3Packages.buildPythonApplication rec {
24
24
+
pname = "pdftowrite";
25
25
+
version = "2021.05.03";
26
26
+
pyproject = true;
27
27
+
28
28
+
src = fetchFromGitHub {
29
29
+
owner = "apebl";
30
30
+
repo = "pdftowrite";
31
31
+
tag = version;
32
32
+
hash = "sha256-IFX9K74tfGKyMtqlc/RsV00baZEzE3HcPAGfrmTHnDQ=";
33
33
+
};
34
34
+
35
35
+
dependencies = [
36
36
+
python3Packages.shortuuid
37
37
+
python3Packages.picosvg
38
38
+
];
39
39
+
40
40
+
build-system = [
41
41
+
python3Packages.setuptools
42
42
+
python3Packages.setuptools-scm
43
43
+
makeWrapper
44
44
+
];
45
45
+
46
46
+
patches = [
47
47
+
# fix inkscape flag (see https://gitlab.com/inkscape/inkscape/-/issues/4536)
48
48
+
./inkscape-unknown-option-pdf-page.patch
49
49
+
];
50
50
+
51
51
+
postInstall =
52
52
+
let
53
53
+
pdftowritePath = lib.makeBinPath [
54
54
+
# shared
55
55
+
gzip
56
56
+
# pdftowrite
57
57
+
poppler-utils
58
58
+
inkscape
59
59
+
ghostscript
60
60
+
imagemagick
61
61
+
libxml2
62
62
+
libxslt
63
63
+
];
64
64
+
writetopdfPath = lib.makeBinPath [
65
65
+
# shared
66
66
+
gzip
67
67
+
# writetopdf
68
68
+
wkhtmltopdf
69
69
+
pdftk
70
70
+
librsvg
71
71
+
];
72
72
+
in
73
73
+
# `SELF_CALL=xxx` prevents inkscape shananigans (see https://gitlab.com/inkscape/inkscape/-/issues/4716)
74
74
+
''
75
75
+
wrapProgram $out/bin/pdftowrite --prefix PATH : ${pdftowritePath} \
76
76
+
--set SELF_CALL=xxx
77
77
+
wrapProgram $out/bin/writetopdf --prefix PATH : ${writetopdfPath}
78
78
+
'';
79
79
+
80
80
+
nativeCheckInputs = [ versionCheckHook ];
81
81
+
versionCheckProgramArg = "--version";
82
82
+
passthru.updateScript = nix-update-script { };
83
83
+
84
84
+
meta = {
85
85
+
homepage = "https://github.com/apebl/pdftowrite";
86
86
+
description = "Utility that converts PDF to Stylus Labs Write documents, and vice versa";
87
87
+
platforms = lib.platforms.linux;
88
88
+
license = lib.licenses.mit;
89
89
+
maintainers = with lib.maintainers; [ henrispriet ];
90
90
+
};
91
91
+
}