commit:     2476c5527dd198a5c3baa515ce00277db7e73c76
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 11 07:34:23 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 11 08:35:37 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2476c552

dev-python/textX: Bump to 4.0.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/textX/Manifest                     |   1 +
 dev-python/textX/files/textX-4.0.0-flit.patch | 125 ++++++++++++++++++++++++++
 dev-python/textX/textX-4.0.0.ebuild           |  63 +++++++++++++
 3 files changed, 189 insertions(+)

diff --git a/dev-python/textX/Manifest b/dev-python/textX/Manifest
index a9dc1b2f25f9..852dcb38f387 100644
--- a/dev-python/textX/Manifest
+++ b/dev-python/textX/Manifest
@@ -1 +1,2 @@
 DIST textX-3.1.1.gh.tar.gz 1824060 BLAKE2B 
48c2faeaff52b9f4a3acd1cf36dabc5edc38bb264bd3efbddd2aacaf0aca80a50445a7b30716bd5acdae0219cc2c63fbe2b26c90923758a4fa2a0b9cffb71e65
 SHA512 
33fa803a5bc2b4cd3782790625304e952e52b64f8791ddbe0fef100b521b36aa8be5291a3cd467771bd9a2d32fac41209e7895a18cc7c4c0f9a672f0ec4211f4
+DIST textX-4.0.0.gh.tar.gz 1824285 BLAKE2B 
ad5b1f0e7b839ffeca4e5609f1ff9fd4d9828629a5da807870a7ff2ec2fdac35ac80c362086cc1ca037ce2ba37fc3a9ccff9bc9ce8e2c9db26562a9c26de0180
 SHA512 
137ce6ef24defcd38bf2a65fb87e79d5313dcf6ec6cd363712781870dacfd1328b52e6e5a4124fc607a7abb5a284821e300072c7087310953c652191d1b69991

diff --git a/dev-python/textX/files/textX-4.0.0-flit.patch 
b/dev-python/textX/files/textX-4.0.0-flit.patch
new file mode 100644
index 000000000000..da53f2c333de
--- /dev/null
+++ b/dev-python/textX/files/textX-4.0.0-flit.patch
@@ -0,0 +1,125 @@
+From aaac277940c70190c126f6775743c59226abd694 Mon Sep 17 00:00:00 2001
+From: Igor Dejanovic <igor.dejano...@gmail.com>
+Date: Fri, 10 Nov 2023 22:13:36 +0100
+Subject: [PATCH] add flit-core as a build backend for test projects
+
+closes #418
+---
+ .../registration/projects/data_dsl/pyproject.toml          | 7 ++++++-
+ .../registration/projects/flow_codegen/pyproject.toml      | 7 ++++++-
+ .../registration/projects/flow_dsl/pyproject.toml          | 7 ++++++-
+ .../registration/projects/types_dsl/pyproject.toml         | 7 ++++++-
+ .../functional/subcommands/example_project/pyproject.toml  | 7 ++++++-
+ 5 files changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/tests/functional/registration/projects/data_dsl/pyproject.toml 
b/tests/functional/registration/projects/data_dsl/pyproject.toml
+index 4db8e9e..15129a5 100644
+--- a/tests/functional/registration/projects/data_dsl/pyproject.toml
++++ b/tests/functional/registration/projects/data_dsl/pyproject.toml
+@@ -1,5 +1,6 @@
+ [project]
+-name = "data_dsl"
++name = "data-dsl"
++description = "Data DSL"
+ version = "1.0.0"
+ 
+ dependencies = [
+@@ -7,5 +8,9 @@ dependencies = [
+     "types_dsl"
+ ]
+ 
++[build-system]
++build-backend = "flit_core.buildapi"
++requires = ["flit_core >=3.8.0,<4"]
++
+ [project.entry-points.textx_languages]
+ data_dsl = "data_dsl:data_dsl"
+diff --git 
a/tests/functional/registration/projects/flow_codegen/pyproject.toml 
b/tests/functional/registration/projects/flow_codegen/pyproject.toml
+index 191a3b2..cec623f 100644
+--- a/tests/functional/registration/projects/flow_codegen/pyproject.toml
++++ b/tests/functional/registration/projects/flow_codegen/pyproject.toml
+@@ -1,5 +1,6 @@
+ [project]
+-name = "flow_codegen"
++name = "flow-codegen"
++description = "Flow code generator"
+ version = "1.0.0"
+ 
+ dependencies = [
+@@ -7,5 +8,9 @@ dependencies = [
+     "click"
+ ]
+ 
++[build-system]
++build-backend = "flit_core.buildapi"
++requires = ["flit_core >=3.8.0,<4"]
++
+ [project.entry-points.textx_generators]
+ flow_dsl_plantuml = "flow_codegen.generators:flow_pu"
+diff --git a/tests/functional/registration/projects/flow_dsl/pyproject.toml 
b/tests/functional/registration/projects/flow_dsl/pyproject.toml
+index e2ac207..5d57387 100644
+--- a/tests/functional/registration/projects/flow_dsl/pyproject.toml
++++ b/tests/functional/registration/projects/flow_dsl/pyproject.toml
+@@ -1,10 +1,15 @@
+ [project]
+-name = "flow_dsl"
++name = "flow-dsl"
++description = "Flow DSL"
+ version = "1.0.0"
+ 
+ dependencies = [
+     "textX"
+ ]
+ 
++[build-system]
++build-backend = "flit_core.buildapi"
++requires = ["flit_core >=3.8.0,<4"]
++
+ [project.entry-points.textx_languages]
+ flow_dsl = "flow_dsl:flow_dsl"
+diff --git a/tests/functional/registration/projects/types_dsl/pyproject.toml 
b/tests/functional/registration/projects/types_dsl/pyproject.toml
+index 345d964..9ca7cd3 100644
+--- a/tests/functional/registration/projects/types_dsl/pyproject.toml
++++ b/tests/functional/registration/projects/types_dsl/pyproject.toml
+@@ -1,10 +1,15 @@
+ [project]
+-name = "types_dsl"
++name = "types-dsl"
++description = "Types DSL"
+ version = "1.0.0"
+ 
+ dependencies = [
+     "textX"
+ ]
+ 
++[build-system]
++build-backend = "flit_core.buildapi"
++requires = ["flit_core >=3.8.0,<4"]
++
+ [project.entry-points.textx_languages]
+ types_dsl = "types_dsl:types_dsl"
+diff --git a/tests/functional/subcommands/example_project/pyproject.toml 
b/tests/functional/subcommands/example_project/pyproject.toml
+index 5ee7009..636065a 100644
+--- a/tests/functional/subcommands/example_project/pyproject.toml
++++ b/tests/functional/subcommands/example_project/pyproject.toml
+@@ -1,11 +1,16 @@
+ [project]
+-name = "textX-subcommand-test"
++name = "textx-subcommand-test"
++description = "Test project for textX subcommands"
+ version = "1.0.0"
+ 
+ dependencies = [
+     "textX"
+ ]
+ 
++[build-system]
++build-backend = "flit_core.buildapi"
++requires = ["flit_core >=3.8.0,<4"]
++
+ [project.entry-points.textx_commands]
+ testcommand = "textx_subcommand_test.cli:testcommand"
+ testgroup = "textx_subcommand_test.cli:create_testgroup"
+-- 
+2.42.1
+

diff --git a/dev-python/textX/textX-4.0.0.ebuild 
b/dev-python/textX/textX-4.0.0.ebuild
new file mode 100644
index 000000000000..8ac8e2aa8b58
--- /dev/null
+++ b/dev-python/textX/textX-4.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Meta-language for DSL implementation inspired by Xtext"
+HOMEPAGE="
+       https://pypi.org/project/textX/
+       https://github.com/textX/textX/
+"
+SRC_URI="
+       https://github.com/textX/textX/archive/${PV}.tar.gz
+               -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+       >=dev-python/Arpeggio-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+       test? (
+               dev-python/attrs[${PYTHON_USEDEP}]
+               dev-python/click[${PYTHON_USEDEP}]
+               dev-python/html5lib[${PYTHON_USEDEP}]
+       )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+       "${FILESDIR}/${P}-flit.patch"
+)
+
+python_test() {
+       cp -a "${BUILD_DIR}"/{install,test} || die
+       local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+       # Update the shebang
+       sed -e "s:install/usr/bin/${EPYTHON}:test/usr/bin/${EPYTHON}:" \
+               -i "${BUILD_DIR}"/test/usr/bin/textx || die
+
+       # Install necessary plugins
+       local plugins=(
+               tests/functional/subcommands/example_project
+               tests/functional/registration/projects/*
+       )
+       local p
+       for p in "${plugins[@]}"; do
+               pushd "${p}" >/dev/null || die
+               distutils_pep517_install "${BUILD_DIR}"/test
+               popd >/dev/null || die
+       done
+
+       epytest tests/functional
+}

Reply via email to