1{ beautifulsoup4 2, buildPythonPackage 3, fetchFromGitHub 4, html5lib 5, lib 6, lxml 7, python 8}: 9 10buildPythonPackage rec { 11 pname = "draftjs-exporter"; 12 version = "5.0.0"; 13 14 src = fetchFromGitHub { 15 repo = "draftjs_exporter"; 16 owner = "springload"; 17 rev = "refs/tags/v${version}"; 18 sha256 = "sha256-4MmCVRx350p6N9XqTZSo8ROI/OJ0s4aKSYH9+Oxgvf4="; 19 }; 20 21 passthru.optional-dependencies = { 22 lxml = [ lxml ]; 23 html5lib = [ beautifulsoup4 html5lib ]; 24 }; 25 26 checkInputs = passthru.optional-dependencies.lxml ++ passthru.optional-dependencies.html5lib; 27 28 checkPhase = '' 29 # 2 tests in this file randomly fail because they depend on the order of 30 # HTML attributes 31 rm tests/test_exports.py 32 33 ${python.interpreter} -m unittest discover 34 ''; 35 36 pythonImportsCheck = [ "draftjs_exporter" ]; 37 38 meta = with lib; { 39 description = "Library to convert Draft.js ContentState to HTML"; 40 homepage = "https://github.com/springload/draftjs_exporter"; 41 changelog = "https://github.com/springload/draftjs_exporter/blob/v${version}/CHANGELOG.md"; 42 license = licenses.mit; 43 maintainers = with maintainers; [ sephi ]; 44 }; 45}