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
|
{
lib,
fetchFromGitHub,
writeShellScriptBin,
plover,
python3Packages,
pkginfo,
packaging,
psutil,
pygments,
readme-renderer,
requests-cache,
requests-futures,
# Qt
pyqt,
qtbase,
wrapQtAppsHook,
}:
(plover.override {
inherit wrapQtAppsHook pyqt;
}).overridePythonAttrs
(oldAttrs: rec {
version = "5.0.0.dev2";
src = fetchFromGitHub {
owner = "openstenoproject";
repo = "plover";
tag = "v${version}";
hash = "sha256-PZwxVrdQPhgbj+YmWZIUETngeJGs6IQty0hY43tLQO0=";
};
pyproject = true;
# pythonRelaxDeps seemingly doesn't work here
postPatch = oldAttrs.postPatch + ''
sed -i /PySide6-Essentials/d pyproject.toml
substituteInPlace pyproject.toml \
--replace-fail "setuptools>=79.0.0" "setuptools"
'';
build-system = oldAttrs.build-system ++ [
# Replacement for missing pyside6-essentials tools,
# workaround for https://github.com/NixOS/nixpkgs/issues/277849.
# Ideally this would be solved in pyside6 itself but I spent four
# hours trying to untangle its build system before giving up. If
# anyone wants to spend the time fixing it feel free to request
# me (@Pandapip1) as a reviewer.
(writeShellScriptBin "pyside6-uic" ''
exec ${qtbase}/libexec/uic -g python "$@"
'')
(writeShellScriptBin "pyside6-rcc" ''
exec ${qtbase}/libexec/rcc -g python "$@"
'')
];
dependencies =
oldAttrs.dependencies
++ [
packaging
pkginfo
psutil
pygments
qtbase
readme-renderer
requests-cache
requests-futures
]
++ readme-renderer.optional-dependencies.md;
meta.description = oldAttrs.meta.description + " (Development version)";
})
|