File tree Expand file tree Collapse file tree 3 files changed +116
-0
lines changed
development/python-modules/lib50 Expand file tree Collapse file tree 3 files changed +116
-0
lines changed Original file line number Diff line number Diff line change 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+ }
Original file line number Diff line number Diff line change 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+ }
Original file line number Diff line number Diff 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 { };
You can’t perform that action at this time.
0 commit comments