Skip to content
Snippets Groups Projects
zkapauthorizer.nix 1.77 KiB
Newer Older
  • Learn to ignore specific revisions
  • { lib
    
    , buildPythonPackage, sphinx, git
    
    , attrs, zope_interface, aniso8601, twisted, tahoe-lafs, challenge-bypass-ristretto, treq
    
    , fixtures, testtools, hypothesis, pyflakes, coverage
    
    , collectCoverage ? false
    
    , testSuite ? null
    
    let
      hypothesisProfile' = if hypothesisProfile == null then "default" else hypothesisProfile;
    
      testSuite' = if testSuite == null then "_zkapauthorizer" else testSuite;
    
      defaultTrialArgs = [ "--rterrors" ] ++ ( lib.optional ( ! collectCoverage ) "--jobs=$NIX_BUILD_CORES" );
    
      trialArgs' = if trialArgs == null then defaultTrialArgs else trialArgs;
      extraTrialArgs = builtins.concatStringsSep " " trialArgs';
    
    buildPythonPackage rec {
      version = "0.0";
    
      pname = "zero-knowledge-access-pass-authorizer";
      name = "${pname}-${version}";
    
      outputs = [ "out" ] ++ (if collectCoverage then [ "doc" ] else [ ]);
    
      depsBuildBuild = [
    
      propagatedBuildInputs = [
    
        # Inherit eliot from tahoe-lafs
        # eliot
    
        challenge-bypass-ristretto
    
        fixtures
    
        hypothesis
    
        runHook preCheck
        "${pyflakes}/bin/pyflakes" src/_zkapauthorizer
    
        ZKAPAUTHORIZER_HYPOTHESIS_PROFILE=${hypothesisProfile'} python -m ${if collectCoverage
    
          then "coverage run --branch --source _zkapauthorizer,twisted.plugins.zkapauthorizer --module"
          else ""
    
        } twisted.trial ${extraTrialArgs} ${testSuite'}
    
      postCheck = if collectCoverage
        then ''
    
        python -m coverage html
        mkdir -p "$doc/share/doc/${name}"
        cp -vr .coverage htmlcov "$doc/share/doc/${name}"
    
        python -m coverage report