Merge pull request #163964 from yuuyins/strictdoc
strictdoc: init at 0.0.26
This commit is contained in:
commit
e59f65caf8
@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py
|
||||||
|
index 932747c..9b3d6ac 100644
|
||||||
|
--- a/tests/unit/conftest.py
|
||||||
|
+++ b/tests/unit/conftest.py
|
||||||
|
@@ -1,9 +1,7 @@
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
-STRICTDOC_ROOT_PATH = os.path.abspath(
|
||||||
|
- os.path.join(__file__, "../../../../strictdoc")
|
||||||
|
-)
|
||||||
|
+STRICTDOC_ROOT_PATH = "@strictdoc_root_path@"
|
||||||
|
assert os.path.exists(STRICTDOC_ROOT_PATH), "does not exist: {}".format(
|
||||||
|
STRICTDOC_ROOT_PATH
|
||||||
|
)
|
100
pkgs/applications/science/engineering/strictdoc/default.nix
Normal file
100
pkgs/applications/science/engineering/strictdoc/default.nix
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, buildPythonApplication
|
||||||
|
, fetchFromGitHub
|
||||||
|
, python3
|
||||||
|
, pythonOlder
|
||||||
|
, html5lib
|
||||||
|
, invoke
|
||||||
|
, openpyxl
|
||||||
|
, poetry-core
|
||||||
|
, tidylib
|
||||||
|
, beautifulsoup4
|
||||||
|
, dataclasses
|
||||||
|
, datauri
|
||||||
|
, docutils
|
||||||
|
, jinja2
|
||||||
|
, lxml
|
||||||
|
, markupsafe
|
||||||
|
, pygments
|
||||||
|
, reqif
|
||||||
|
, setuptools
|
||||||
|
, textx
|
||||||
|
, xlrd
|
||||||
|
, XlsxWriter
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonApplication rec {
|
||||||
|
pname = "strictdoc";
|
||||||
|
version = "0.0.26";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "strictdoc-project";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-SMAwji75AjW8CzXRKBDF+fR/a5++GhgIvkcuD+a/vp4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./conftest.py.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace ./tests/unit/conftest.py \
|
||||||
|
--replace @strictdoc_root_path@ "${placeholder "out"}/${python3.sitePackages}/strictdoc"
|
||||||
|
|
||||||
|
substituteInPlace requirements.txt \
|
||||||
|
--replace "jinja2 >= 2.11.2, <3.0" "jinja2 >= 2.11.2" \
|
||||||
|
--replace "reqif >= 0.0.18, == 0.*" "reqif>=0.0.8" \
|
||||||
|
--replace "==" ">=" \
|
||||||
|
--replace "~=" ">="
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
html5lib
|
||||||
|
invoke
|
||||||
|
openpyxl
|
||||||
|
poetry-core
|
||||||
|
tidylib
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
beautifulsoup4
|
||||||
|
datauri
|
||||||
|
docutils
|
||||||
|
jinja2
|
||||||
|
lxml
|
||||||
|
markupsafe
|
||||||
|
pygments
|
||||||
|
reqif
|
||||||
|
setuptools
|
||||||
|
textx
|
||||||
|
xlrd
|
||||||
|
XlsxWriter
|
||||||
|
] ++ lib.optionals (pythonOlder "3.7") [
|
||||||
|
dataclasses
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"strictdoc"
|
||||||
|
];
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
# fixture 'fs' not found
|
||||||
|
"test_001_load_from_files"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Software requirements specification tool";
|
||||||
|
homepage = "https://github.com/strictdoc-project/strictdoc";
|
||||||
|
changelog = "https://github.com/strictdoc-project/strictdoc/releases";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ yuu ];
|
||||||
|
};
|
||||||
|
}
|
37
pkgs/development/python-modules/datauri/default.nix
Normal file
37
pkgs/development/python-modules/datauri/default.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "datauri";
|
||||||
|
version = "1.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "fcurella";
|
||||||
|
repo = "python-datauri";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-Eevd/xxKgxvvsAfI/L/KShH+PfxffBGyVwKewLgyEu0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"datauri"
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
disabledTestPaths = [
|
||||||
|
# UnicodeDecodeError: 'utf-8' codec can't decode
|
||||||
|
"tests/test_file_ebcdic.txt"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Data URI manipulation made easy.";
|
||||||
|
homepage = "https://github.com/fcurella/python-datauri";
|
||||||
|
license = licenses.unlicense;
|
||||||
|
maintainers = with maintainers; [ yuu ];
|
||||||
|
};
|
||||||
|
}
|
60
pkgs/development/python-modules/reqif/default.nix
Normal file
60
pkgs/development/python-modules/reqif/default.nix
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, python3
|
||||||
|
, pythonOlder
|
||||||
|
, fetchFromGitHub
|
||||||
|
, poetry-core
|
||||||
|
, beautifulsoup4
|
||||||
|
, lxml
|
||||||
|
, jinja2
|
||||||
|
, dataclasses
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "reqif";
|
||||||
|
version = "0.0.8";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "strictdoc-project";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-PtzRJUvv+Oee08+sdakFviKIhwfLngyal1WSWDtMELg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace ./tests/unit/conftest.py --replace \
|
||||||
|
"os.path.abspath(os.path.join(__file__, \"../../../../reqif\"))" \
|
||||||
|
"\"${placeholder "out"}/${python3.sitePackages}/reqif\""
|
||||||
|
substituteInPlace pyproject.toml --replace "^" ">="
|
||||||
|
substituteInPlace requirements.txt --replace "==" ">="
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
poetry-core
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
beautifulsoup4
|
||||||
|
lxml
|
||||||
|
jinja2
|
||||||
|
] ++ lib.optionals (pythonOlder "3.7") [
|
||||||
|
dataclasses
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"reqif"
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Python library for ReqIF format";
|
||||||
|
homepage = "https://github.com/strictdoc-project/reqif";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ yuu ];
|
||||||
|
};
|
||||||
|
}
|
178
pkgs/development/python-modules/textx/default.nix
Normal file
178
pkgs/development/python-modules/textx/default.nix
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, python3
|
||||||
|
, fetchFromGitHub
|
||||||
|
, mkdocs
|
||||||
|
, twine
|
||||||
|
, arpeggio
|
||||||
|
, click
|
||||||
|
, future
|
||||||
|
, setuptools
|
||||||
|
, callPackage
|
||||||
|
, gprof2dot
|
||||||
|
, html5lib
|
||||||
|
, jinja2
|
||||||
|
, memory_profiler
|
||||||
|
, psutil
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
textx = buildPythonPackage rec {
|
||||||
|
pname = "textx";
|
||||||
|
version = "3.0.0";
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = pname;
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-uZlO82dKtWQQR5+Q7dWk3+ZoUzAjDJ8qzC4UMLCtnBk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace setup.cfg --replace "click >=7.0, <8.0" "click >=7.0"
|
||||||
|
'';
|
||||||
|
|
||||||
|
outputs = [
|
||||||
|
"out"
|
||||||
|
"testout"
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
mkdocs
|
||||||
|
twine
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
arpeggio
|
||||||
|
click
|
||||||
|
future
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# FileNotFoundError: [Errno 2] No such file or directory: '$out/lib/python3.10/site-packages/textx/textx.tx
|
||||||
|
cp "$src/textx/textx.tx" "$out/${python3.sitePackages}/${pname}/"
|
||||||
|
|
||||||
|
# Install tests as the tests output.
|
||||||
|
mkdir $testout
|
||||||
|
cp -r tests $testout/tests
|
||||||
|
'';
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"textx"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Circular dependencies, do tests in passthru.tests instead.
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
textxTests = callPackage ./tests.nix {
|
||||||
|
inherit
|
||||||
|
textx-data-dsl
|
||||||
|
textx-example-project
|
||||||
|
textx-flow-codegen
|
||||||
|
textx-flow-dsl
|
||||||
|
textx-types-dsl;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Domain-specific languages and parsers in Python";
|
||||||
|
homepage = "https://github.com/textx/textx/";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ yuu ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
textx-data-dsl = buildPythonPackage rec {
|
||||||
|
pname = "textx-data-dsl";
|
||||||
|
version = "1.0.0";
|
||||||
|
inherit (textx) src;
|
||||||
|
# `format` isn't included in the output of `mk-python-derivation`.
|
||||||
|
# So can't inherit format: `error: attribute 'format' missing`.
|
||||||
|
format = "setuptools";
|
||||||
|
pathToSourceRoot = "tests/functional/registration/projects/data_dsl";
|
||||||
|
sourceRoot = "${src.name}/" + pathToSourceRoot;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
textx
|
||||||
|
textx-types-dsl
|
||||||
|
];
|
||||||
|
meta = with lib; {
|
||||||
|
inherit (textx.meta) license maintainers;
|
||||||
|
description = "Sample textX language for testing";
|
||||||
|
homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
textx-flow-codegen = buildPythonPackage rec {
|
||||||
|
pname = "textx-flow-codegen";
|
||||||
|
version = "1.0.0";
|
||||||
|
inherit (textx) src;
|
||||||
|
format = "setuptools";
|
||||||
|
pathToSourceRoot = "tests/functional/registration/projects/flow_codegen";
|
||||||
|
sourceRoot = "${src.name}/" + pathToSourceRoot;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
click
|
||||||
|
textx
|
||||||
|
];
|
||||||
|
meta = with lib; {
|
||||||
|
inherit (textx.meta) license maintainers;
|
||||||
|
description = "Sample textX language for testing";
|
||||||
|
homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
textx-flow-dsl = buildPythonPackage rec {
|
||||||
|
pname = "textx-flow-dsl";
|
||||||
|
version = "1.0.0";
|
||||||
|
inherit (textx) src;
|
||||||
|
format = "setuptools";
|
||||||
|
pathToSourceRoot = "tests/functional/registration/projects/flow_dsl";
|
||||||
|
sourceRoot = "${src.name}/" + pathToSourceRoot;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
textx
|
||||||
|
];
|
||||||
|
meta = with lib; {
|
||||||
|
inherit (textx.meta) license maintainers;
|
||||||
|
description = "Sample textX language for testing";
|
||||||
|
homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
textx-types-dsl = buildPythonPackage rec {
|
||||||
|
pname = "textx-types-dsl";
|
||||||
|
version = "1.0.0";
|
||||||
|
inherit (textx) src;
|
||||||
|
format = "setuptools";
|
||||||
|
pathToSourceRoot = "tests/functional/registration/projects/types_dsl";
|
||||||
|
sourceRoot = "${src.name}/" + pathToSourceRoot;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
textx
|
||||||
|
];
|
||||||
|
meta = with lib; {
|
||||||
|
inherit (textx.meta) license maintainers;
|
||||||
|
description = "Sample textX language for testing";
|
||||||
|
homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
textx-example-project = buildPythonPackage rec {
|
||||||
|
pname = "textx-example-project";
|
||||||
|
version = "1.0.0";
|
||||||
|
inherit (textx) src;
|
||||||
|
format = "setuptools";
|
||||||
|
pathToSourceRoot = "tests/functional/subcommands/example_project";
|
||||||
|
sourceRoot = "${src.name}/" + pathToSourceRoot;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
textx
|
||||||
|
];
|
||||||
|
meta = with lib; {
|
||||||
|
inherit (textx.meta) license maintainers;
|
||||||
|
description = "Sample textX sub-command for testing";
|
||||||
|
homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
textx
|
53
pkgs/development/python-modules/textx/tests.nix
Normal file
53
pkgs/development/python-modules/textx/tests.nix
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, click
|
||||||
|
, gprof2dot
|
||||||
|
, html5lib
|
||||||
|
, jinja2
|
||||||
|
, memory_profiler
|
||||||
|
, psutil
|
||||||
|
, pytestCheckHook
|
||||||
|
, setuptools
|
||||||
|
, textx
|
||||||
|
, textx-data-dsl
|
||||||
|
, textx-example-project
|
||||||
|
, textx-flow-codegen
|
||||||
|
, textx-flow-dsl
|
||||||
|
, textx-types-dsl
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage {
|
||||||
|
pname = "textx-tests";
|
||||||
|
inherit (textx) version;
|
||||||
|
|
||||||
|
srcs = textx.testout;
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
dontInstall = true;
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
click
|
||||||
|
gprof2dot
|
||||||
|
html5lib
|
||||||
|
jinja2
|
||||||
|
memory_profiler
|
||||||
|
psutil
|
||||||
|
pytestCheckHook
|
||||||
|
setuptools
|
||||||
|
textx-data-dsl
|
||||||
|
textx-example-project
|
||||||
|
textx-flow-codegen
|
||||||
|
textx-flow-dsl
|
||||||
|
textx-types-dsl
|
||||||
|
];
|
||||||
|
|
||||||
|
pytestFlagsArray = [
|
||||||
|
"tests/functional"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
inherit (textx.meta) license maintainers;
|
||||||
|
description = "passthru.tests for textx";
|
||||||
|
homepage = textx.homepage + "tree/${version}/" + "tests/";
|
||||||
|
};
|
||||||
|
}
|
@ -34073,6 +34073,8 @@ with pkgs;
|
|||||||
|
|
||||||
jflap = callPackage ../applications/science/engineering/jflap { };
|
jflap = callPackage ../applications/science/engineering/jflap { };
|
||||||
|
|
||||||
|
strictdoc = python3.pkgs.callPackage ../applications/science/engineering/strictdoc { };
|
||||||
|
|
||||||
### SCIENCE / ELECTRONICS
|
### SCIENCE / ELECTRONICS
|
||||||
|
|
||||||
adms = callPackage ../applications/science/electronics/adms { };
|
adms = callPackage ../applications/science/electronics/adms { };
|
||||||
|
@ -2156,6 +2156,8 @@ in {
|
|||||||
|
|
||||||
datatable = callPackage ../development/python-modules/datatable { };
|
datatable = callPackage ../development/python-modules/datatable { };
|
||||||
|
|
||||||
|
datauri = callPackage ../development/python-modules/datauri { };
|
||||||
|
|
||||||
dateparser = callPackage ../development/python-modules/dateparser { };
|
dateparser = callPackage ../development/python-modules/dateparser { };
|
||||||
|
|
||||||
dateutils = callPackage ../development/python-modules/dateutils { };
|
dateutils = callPackage ../development/python-modules/dateutils { };
|
||||||
@ -9239,6 +9241,8 @@ in {
|
|||||||
|
|
||||||
reproject = callPackage ../development/python-modules/reproject { };
|
reproject = callPackage ../development/python-modules/reproject { };
|
||||||
|
|
||||||
|
reqif = callPackage ../development/python-modules/reqif { };
|
||||||
|
|
||||||
requests-aws4auth = callPackage ../development/python-modules/requests-aws4auth { };
|
requests-aws4auth = callPackage ../development/python-modules/requests-aws4auth { };
|
||||||
|
|
||||||
requests-cache = callPackage ../development/python-modules/requests-cache { };
|
requests-cache = callPackage ../development/python-modules/requests-cache { };
|
||||||
@ -10538,6 +10542,8 @@ in {
|
|||||||
|
|
||||||
textwrap3 = callPackage ../development/python-modules/textwrap3 { };
|
textwrap3 = callPackage ../development/python-modules/textwrap3 { };
|
||||||
|
|
||||||
|
textx = callPackage ../development/python-modules/textx { };
|
||||||
|
|
||||||
tflearn = callPackage ../development/python-modules/tflearn { };
|
tflearn = callPackage ../development/python-modules/tflearn { };
|
||||||
|
|
||||||
tgcrypto = callPackage ../development/python-modules/tgcrypto { };
|
tgcrypto = callPackage ../development/python-modules/tgcrypto { };
|
||||||
|
Loading…
Reference in New Issue
Block a user