Skip to content

Commit 17726ac

Browse files
authored
check50: init at 3.3.11 (#410911)
2 parents 4a7ecb9 + 2011959 commit 17726ac

File tree

3 files changed

+116
-0
lines changed

3 files changed

+116
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
lib,
3+
python3Packages,
4+
fetchFromGitHub,
5+
versionCheckHook,
6+
}:
7+
8+
python3Packages.buildPythonApplication rec {
9+
pname = "check50";
10+
version = "3.3.11";
11+
pyproject = true;
12+
13+
src = fetchFromGitHub {
14+
owner = "cs50";
15+
repo = "check50";
16+
tag = "v${version}";
17+
hash = "sha256-+qyEMzAJG/fyIqj+0mk0HTxTlQk6sHZhvmfd9Hgj/aw=";
18+
};
19+
20+
build-system = [
21+
python3Packages.setuptools
22+
];
23+
24+
dependencies = with python3Packages; [
25+
attrs
26+
beautifulsoup4
27+
jinja2
28+
lib50
29+
packaging
30+
pexpect
31+
pyyaml
32+
requests
33+
setuptools # required for import pkg_resources
34+
termcolor
35+
];
36+
37+
pythonImportsCheck = [ "check50" ];
38+
39+
nativeCheckInputs = [ versionCheckHook ];
40+
versionCheckProgramArg = "--version";
41+
42+
# no python tests
43+
44+
meta = {
45+
description = "Testing tool for checking student CS50 code";
46+
homepage = "https://cs50.readthedocs.io/projects/check50/en/latest/";
47+
downloadPage = "https://github.com/cs50/check50";
48+
changelog = "https://github.com/cs50/check50/releases/tag/v${version}";
49+
license = lib.licenses.gpl3Only;
50+
platforms = lib.platforms.unix;
51+
maintainers = with lib.maintainers; [ ethancedwards8 ];
52+
mainProgram = "check50";
53+
};
54+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
{
2+
lib,
3+
buildPythonPackage,
4+
fetchPypi,
5+
setuptools,
6+
attrs,
7+
pexpect,
8+
pyyaml,
9+
requests,
10+
termcolor,
11+
jellyfish,
12+
cryptography,
13+
pytestCheckHook,
14+
}:
15+
16+
buildPythonPackage rec {
17+
pname = "lib50";
18+
version = "3.0.12";
19+
pyproject = true;
20+
21+
# latest GitHub release is several years old. Pypi is up to date.
22+
src = fetchPypi {
23+
pname = "lib50";
24+
inherit version;
25+
hash = "sha256-Fc4Hb1AbSeetK3gH1/dRCUfHGDlMzfzgF1cnK3Se01U=";
26+
};
27+
28+
build-system = [ setuptools ];
29+
30+
dependencies = [
31+
attrs
32+
pexpect
33+
pyyaml
34+
requests
35+
termcolor
36+
jellyfish
37+
cryptography
38+
];
39+
40+
pythonRelaxDeps = [
41+
"attrs"
42+
"pyyaml"
43+
"termcolor"
44+
"jellyfish"
45+
];
46+
47+
pythonImportsCheck = [ "lib50" ];
48+
49+
# latest GitHub release is several years old and doesn't include
50+
# tests and neither does pypi version include tests
51+
doCheck = false;
52+
53+
meta = {
54+
description = "CS50's own internal library used in many of its tools";
55+
homepage = "https://github.com/cs50/lib50";
56+
license = lib.licenses.gpl3Only;
57+
platforms = lib.platforms.unix;
58+
maintainers = with lib.maintainers; [ ethancedwards8 ];
59+
};
60+
}

pkgs/top-level/python-packages.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7811,6 +7811,8 @@ self: super: with self; {
78117811

78127812
lib4vex = callPackage ../development/python-modules/lib4vex { };
78137813

7814+
lib50 = callPackage ../development/python-modules/lib50 { };
7815+
78147816
libagent = callPackage ../development/python-modules/libagent { };
78157817

78167818
libais = callPackage ../development/python-modules/libais { };

0 commit comments

Comments
 (0)