tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
cppman: init at 0.5.9
Ryan Yin
6 months ago
6b78cd27
7c74f1db
+70
1 changed file
expand all
collapse all
unified
split
pkgs
by-name
cp
cppman
package.nix
+70
pkgs/by-name/cp/cppman/package.nix
···
1
1
+
{
2
2
+
lib,
3
3
+
python3Packages,
4
4
+
fetchFromGitHub,
5
5
+
groff,
6
6
+
nix-update-script,
7
7
+
versionCheckHook,
8
8
+
writableTmpDirAsHomeHook,
9
9
+
}:
10
10
+
python3Packages.buildPythonApplication rec {
11
11
+
pname = "cppman";
12
12
+
version = "0.5.9";
13
13
+
pyproject = true;
14
14
+
15
15
+
src = fetchFromGitHub {
16
16
+
owner = "aitjcize";
17
17
+
repo = "cppman";
18
18
+
tag = version;
19
19
+
hash = "sha256-iPJR4XAjNrBhFHZVOATPi3WwTC1/Y6HK3qmKLqbaK98=";
20
20
+
};
21
21
+
22
22
+
build-system = with python3Packages; [
23
23
+
setuptools
24
24
+
distutils
25
25
+
];
26
26
+
27
27
+
dependencies = [
28
28
+
python3Packages.beautifulsoup4
29
29
+
python3Packages.html5lib
30
30
+
python3Packages.lxml
31
31
+
python3Packages.six
32
32
+
python3Packages.soupsieve
33
33
+
python3Packages.typing-extensions
34
34
+
python3Packages.webencodings
35
35
+
groff
36
36
+
];
37
37
+
38
38
+
# cppman pins all dependency versions via requirements.txt as install_requires
39
39
+
pythonRelaxDeps = true;
40
40
+
41
41
+
# bs4 is merely a dummy package and can be safely removed
42
42
+
# Ideally, its version would also stay fixed.
43
43
+
postPatch = ''
44
44
+
substituteInPlace requirements.txt \
45
45
+
--replace-fail "bs4==0.0.2" ""
46
46
+
'';
47
47
+
48
48
+
pythonImportsCheck = [
49
49
+
"cppman"
50
50
+
];
51
51
+
52
52
+
nativeCheckInputs = [
53
53
+
versionCheckHook
54
54
+
writableTmpDirAsHomeHook
55
55
+
];
56
56
+
# Writable $HOME is required for `cppman --version` to work
57
57
+
versionCheckKeepEnvironment = "HOME";
58
58
+
versionCheckProgramArg = "--version";
59
59
+
60
60
+
passthru.updateScript = nix-update-script { };
61
61
+
62
62
+
meta = {
63
63
+
description = "Terminal viewer for C++ 98/11/14 manual pages";
64
64
+
homepage = "https://github.com/aitjcize/cppman";
65
65
+
changelog = "https://github.com/aitjcize/cppman/blob/${src.tag}/ChangeLog";
66
66
+
license = lib.licenses.gpl3Only;
67
67
+
maintainers = with lib.maintainers; [ ryan4yin ];
68
68
+
mainProgram = "cppman";
69
69
+
};
70
70
+
}