Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 python3Packages, 4 fetchFromGitHub, 5 versionCheckHook, 6}: 7 8python3Packages.buildPythonApplication rec { 9 pname = "submit50"; 10 version = "3.2.1"; 11 pyproject = true; 12 13 src = fetchFromGitHub { 14 owner = "cs50"; 15 repo = "submit50"; 16 tag = "v${version}"; 17 hash = "sha256-D71d8f2XfLrsDRBuEZK7B96UTUkJLkHsCWchDNO8epI="; 18 }; 19 20 build-system = [ 21 python3Packages.setuptools 22 ]; 23 24 dependencies = with python3Packages; [ 25 lib50 26 packaging 27 pytz 28 requests 29 termcolor 30 ]; 31 32 pythonImportsCheck = [ "submit50" ]; 33 34 nativeCheckInputs = [ versionCheckHook ]; 35 versionCheckProgramArg = "--version"; 36 37 # no python tests 38 39 meta = { 40 description = "Tool for submitting student CS50 code"; 41 homepage = "https://cs50.readthedocs.io/submit50/"; 42 downloadPage = "https://github.com/cs50/submit50"; 43 changelog = "https://github.com/cs50/submit50/releases/tag/${src.tag}"; 44 license = lib.licenses.gpl3Only; 45 platforms = lib.platforms.unix; 46 maintainers = with lib.maintainers; [ ethancedwards8 ]; 47 mainProgram = "submit50"; 48 }; 49}