mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
dev-python/pygccxml: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,2 +1 @@
|
||||
DIST pygccxml-2.5.0.gh.tar.gz 3163862 BLAKE2B 2a61474acab7e7a21b21bc7131a9b9aae2a318d3b761c9a3865055146331891e5fb2041a9136bd8816e60a4dc76a39a22d5f5632f22336341667eee537521a42 SHA512 499be7383ac9817c5620f7f0b2e6fdb9a6f5d934cc54a2ef9864877a2a7d896997ab5bc2e8b0c3c87df1ac7e4a384d3c8cbcc87f9496125502c97766df57b003
|
||||
DIST pygccxml-2.6.1.gh.tar.gz 3154561 BLAKE2B 95fb9df63f4175eab707211cb14d178437928ddad76eeb416d8cf4a48b29c211d80ba55533deb0a12e6bad4435df9bf82a1321b37cdc8db39d217f2995d1215e SHA512 b0ccd12b50d93287189fa86be6e11f44e28869045e6d7f6f84f34220cea642fc267eee150fe544bb54839b7f467f64af4a6025c84b94df7793645f2d444ae60d
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
diff --git a/unittests/xml_generator.cfg b/unittests/xml_generator.cfg
|
||||
index cb00818..58899b6 100644
|
||||
--- a/unittests/xml_generator.cfg
|
||||
+++ b/unittests/xml_generator.cfg
|
||||
@@ -15,3 +15,5 @@ include_paths=
|
||||
compiler=
|
||||
# Keep xml files after errors (useful for debugging)
|
||||
keep_xml=
|
||||
+# needed with clang-19
|
||||
+cflags=-fsized-deallocation
|
||||
@@ -1,107 +0,0 @@
|
||||
diff --git a/unittests/test_cpp_standards.py b/unittests/test_cpp_standards.py
|
||||
index eb28418..7c76c73 100644
|
||||
--- a/unittests/test_cpp_standards.py
|
||||
+++ b/unittests/test_cpp_standards.py
|
||||
@@ -23,7 +23,8 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
if "gccxml" in self.config.xml_generator:
|
||||
return True
|
||||
|
||||
- parser.parse(["cpp_standards.hpp"], self.config)
|
||||
+ parser.parse(["cpp_standards.hpp"], self.config,
|
||||
+ parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
|
||||
if platform.system() != 'Windows':
|
||||
self.config.cflags = "-std=c++98"
|
||||
@@ -33,7 +34,8 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
parser.parse(["cpp_standards.hpp"], self.config)
|
||||
|
||||
self.config.cflags = "-std=c++11"
|
||||
- parser.parse(["cpp_standards.hpp"], self.config)
|
||||
+ parser.parse(["cpp_standards.hpp"], self.config,
|
||||
+ parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
|
||||
# This is broken with llvm 3.6.2 (the one from homebrew)
|
||||
# It should work with never llvms but I keep the test disabled
|
||||
diff --git a/unittests/test_non_copyable_recursive.py b/unittests/test_non_copyable_recursive.py
|
||||
index cd78a9a..e18d58f 100644
|
||||
--- a/unittests/test_non_copyable_recursive.py
|
||||
+++ b/unittests/test_non_copyable_recursive.py
|
||||
@@ -27,7 +27,7 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
RuntimeError: maximum recursion depth exceeded while
|
||||
calling a Python object
|
||||
"""
|
||||
- decls = parser.parse([self.header], self.config)
|
||||
+ decls = parser.parse([self.header], self.config, parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
global_ns = declarations.get_global_namespace(decls)
|
||||
|
||||
# Description of the problem (before the fix):
|
||||
@@ -52,7 +52,7 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
RuntimeError: maximum recursion depth exceeded while
|
||||
calling a Python object
|
||||
"""
|
||||
- decls = parser.parse([self.header], self.config)
|
||||
+ decls = parser.parse([self.header], self.config, parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
global_ns = declarations.get_global_namespace(decls)
|
||||
|
||||
# Real life example of the bug. This leads to a similar error,
|
||||
diff --git a/unittests/test_null_comparison.py b/unittests/test_null_comparison.py
|
||||
index 51caf4a..787ae79 100644
|
||||
--- a/unittests/test_null_comparison.py
|
||||
+++ b/unittests/test_null_comparison.py
|
||||
@@ -22,7 +22,7 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
Test for None comparisons with default arguments
|
||||
"""
|
||||
|
||||
- decls = parser.parse([self.header], self.config)
|
||||
+ decls = parser.parse([self.header], self.config, parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
global_ns = declarations.get_global_namespace(decls)
|
||||
|
||||
ns = global_ns.namespace("ns")
|
||||
diff --git a/unittests/test_overrides.py b/unittests/test_overrides.py
|
||||
index 9204efc..5ac1b25 100644
|
||||
--- a/unittests/test_overrides.py
|
||||
+++ b/unittests/test_overrides.py
|
||||
@@ -23,7 +23,7 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
def setUp(self):
|
||||
|
||||
if not self.global_ns:
|
||||
- decls = parser.parse([self.header], self.config)
|
||||
+ decls = parser.parse([self.header], self.config, parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
Test.global_ns = declarations.get_global_namespace(decls)
|
||||
Test.xml_generator_from_xml_file = \
|
||||
self.config.xml_generator_from_xml_file
|
||||
diff --git a/unittests/test_pattern_parser.py b/unittests/test_pattern_parser.py
|
||||
index 00a6805..4882c26 100644
|
||||
--- a/unittests/test_pattern_parser.py
|
||||
+++ b/unittests/test_pattern_parser.py
|
||||
@@ -27,7 +27,7 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
if self.config.xml_generator == "gccxml":
|
||||
return
|
||||
|
||||
- decls = parser.parse([self.header], self.config)
|
||||
+ decls = parser.parse([self.header], self.config, parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
|
||||
for decl in declarations.make_flatten(decls):
|
||||
if "myClass" in decl.name:
|
||||
@@ -44,7 +44,7 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
if self.config.xml_generator == "gccxml":
|
||||
return
|
||||
|
||||
- decls = parser.parse([self.header], self.config)
|
||||
+ decls = parser.parse([self.header], self.config, parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
global_ns = declarations.get_global_namespace(decls)
|
||||
criteria = declarations.declaration_matcher(name="myClass")
|
||||
_ = declarations.matcher.find(criteria, global_ns)
|
||||
diff --git a/unittests/test_smart_pointer.py b/unittests/test_smart_pointer.py
|
||||
index e9183b7..4a85860 100644
|
||||
--- a/unittests/test_smart_pointer.py
|
||||
+++ b/unittests/test_smart_pointer.py
|
||||
@@ -22,7 +22,7 @@ class Test(parser_test_case.parser_test_case_t):
|
||||
def setUp(self):
|
||||
if self.config.xml_generator == "gccxml":
|
||||
return
|
||||
- decls = parser.parse([self.header], self.config)
|
||||
+ decls = parser.parse([self.header], self.config, parser.COMPILATION_MODE.ALL_AT_ONCE)
|
||||
self.global_ns = declarations.get_global_namespace(decls)
|
||||
|
||||
def test_is_smart_pointer(self):
|
||||
@@ -1,68 +0,0 @@
|
||||
From 08f53536a0e76bab000df2837af4a13f06bbd4a7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Mon, 15 Apr 2024 15:50:39 +0200
|
||||
Subject: [PATCH] Use `shutil.which()` to get compiler path
|
||||
|
||||
Remove the `__get_first_compiler_in_path()` function that used
|
||||
`which(1)` / `where` program to get the compiler path, with built-in
|
||||
`shutil.which()`. This fixes pygccxml on systems where `which(1)`
|
||||
is no longer present (it is not a standard POSIX tool, and Linux
|
||||
distributions are working towards making it optional).
|
||||
---
|
||||
src/pygccxml/parser/config.py | 28 +++++++---------------------
|
||||
1 file changed, 7 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/src/pygccxml/parser/config.py b/src/pygccxml/parser/config.py
|
||||
index 1032b54e..4fe4a6a0 100644
|
||||
--- a/src/pygccxml/parser/config.py
|
||||
+++ b/src/pygccxml/parser/config.py
|
||||
@@ -11,6 +11,7 @@
|
||||
import os
|
||||
import copy
|
||||
import platform
|
||||
+import shutil
|
||||
import subprocess
|
||||
import warnings
|
||||
# In py3, ConfigParser was renamed to the more-standard configparser.
|
||||
@@ -451,35 +452,20 @@ def create_compiler_path(xml_generator, compiler_path):
|
||||
if xml_generator == 'castxml' and compiler_path is None:
|
||||
if platform.system() == 'Windows':
|
||||
# Look for msvc
|
||||
- compiler_path = __get_first_compiler_in_path('where', 'cl')
|
||||
+ compiler_path = shutil.which('cl')
|
||||
# No msvc found; look for mingw
|
||||
- if compiler_path == '':
|
||||
- compiler_path = __get_first_compiler_in_path('where', 'mingw')
|
||||
+ if compiler_path is None:
|
||||
+ compiler_path = shutil.which('mingw')
|
||||
else:
|
||||
# OS X or Linux
|
||||
# Look for clang first, then gcc
|
||||
- compiler_path = __get_first_compiler_in_path('which', 'clang++')
|
||||
+ compiler_path = shutil.which('clang++')
|
||||
# No clang found; use gcc
|
||||
- if compiler_path == '':
|
||||
- compiler_path = __get_first_compiler_in_path('which', 'c++')
|
||||
-
|
||||
- if compiler_path == "":
|
||||
- compiler_path = None
|
||||
+ if compiler_path is None:
|
||||
+ compiler_path = shutil.which('c++')
|
||||
|
||||
return compiler_path
|
||||
|
||||
|
||||
-def __get_first_compiler_in_path(command, compiler_name):
|
||||
- p = subprocess.Popen(
|
||||
- [command, compiler_name],
|
||||
- stdout=subprocess.PIPE,
|
||||
- stderr=subprocess.PIPE)
|
||||
- path = p.stdout.read().decode("utf-8").rstrip().split("\r\n")[0].rstrip()
|
||||
- p.wait()
|
||||
- p.stdout.close()
|
||||
- p.stderr.close()
|
||||
- return path
|
||||
-
|
||||
-
|
||||
if __name__ == '__main__':
|
||||
print(load_xml_generator_configuration('xml_generator.cfg').__dict__)
|
||||
@@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A specialized XML reader to navigate C++ declarations"
|
||||
HOMEPAGE="
|
||||
https://github.com/CastXML/pygccxml/
|
||||
https://pypi.org/project/pygccxml/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/CastXML/pygccxml/archive/v${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="Boost-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~riscv ~x86"
|
||||
|
||||
DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-libs/castxml
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
|
||||
|
||||
EPYTEST_DESELECT=(
|
||||
# TODO; too new LLVM? upstream tests against LLVM 13
|
||||
unittests/test_overrides.py::Test::test
|
||||
# fails with >=GCC-15.0.2 (bug #940578)
|
||||
unittests/test_smart_pointer.py::Test::test_smart_pointer_value_type
|
||||
|
||||
)
|
||||
|
||||
python_prepare_all() {
|
||||
local PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.5.0-fix-tests.patch"
|
||||
"${FILESDIR}/${PN}-2.4.0-doc.patch"
|
||||
# https://github.com/CastXML/pygccxml/pull/179
|
||||
"${FILESDIR}/${P}-which.patch"
|
||||
# fixes tests with clang-19
|
||||
"${FILESDIR}/${PN}-2.5.0-fix-test-flags.patch"
|
||||
)
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
Reference in New Issue
Block a user