depot/third_party/nixpkgs/pkgs/development/python-modules/ply/default.nix
Default email fa5436e0a7 Project import generated by Copybara.
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
2024-06-05 17:53:02 +02:00

44 lines
1.4 KiB
Nix

{
lib,
buildPythonPackage,
fetchPypi,
python,
}:
buildPythonPackage rec {
pname = "ply";
version = "3.11";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3";
};
checkPhase = ''
${python.interpreter} test/testlex.py
${python.interpreter} test/testyacc.py
'';
# Test suite appears broken
doCheck = false;
meta = {
homepage = "http://www.dabeaz.com/ply/";
description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python";
longDescription = ''
PLY is an implementation of lex and yacc parsing tools for Python.
In a nutshell, PLY is nothing more than a straightforward lex/yacc
implementation. Here is a list of its essential features: It's
implemented entirely in Python; It uses LR-parsing which is
reasonably efficient and well suited for larger grammars; PLY
provides most of the standard lex/yacc features including support for
empty productions, precedence rules, error recovery, and support for
ambiguous grammars; PLY is straightforward to use and provides very
extensive error checking; PLY doesn't try to do anything more or less
than provide the basic lex/yacc functionality. In other words, it's
not a large parsing framework or a component of some larger system.
'';
license = lib.licenses.bsd3;
};
}