diff options
author | Michał Górny <mgorny@gentoo.org> | 2024-09-03 07:53:10 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2024-09-06 11:27:51 +0200 |
commit | 7ad11f4f5215243e9853d6de4d12cefbdce74f51 (patch) | |
tree | c11ccd0373771001c5b075f641deb9e4f88af3b4 /dev-libs/gobject-introspection | |
parent | dev-python/setuptools: Add blockers on broken gobject-introspection (diff) | |
download | gentoo-7ad11f4f5215243e9853d6de4d12cefbdce74f51.tar.gz gentoo-7ad11f4f5215243e9853d6de4d12cefbdce74f51.tar.bz2 gentoo-7ad11f4f5215243e9853d6de4d12cefbdce74f51.zip |
dev-libs/gobject-introspection: Add a patch for >=setuptools-74
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-libs/gobject-introspection')
4 files changed, 363 insertions, 0 deletions
diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.80.1-setuptools-74.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.80.1-setuptools-74.patch new file mode 100644 index 000000000000..712fafe27946 --- /dev/null +++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.80.1-setuptools-74.patch @@ -0,0 +1,101 @@ +From a2139dba59eac283a7f543ed737f038deebddc19 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter <reiter.christoph@gmail.com> +Date: Wed, 28 Aug 2024 21:26:02 +0200 +Subject: [PATCH] giscanner: remove dependency on distutils.msvccompiler + +It was removed with setuptools 74.0.0. Since we still depend on the +MSVCCompiler class use new_compiler() to get it some other way. + +Remove any reference to MSVC9Compiler, which was for Visual Studio 2008 +which we no longer support anyway. + +Fixes #515 +--- + giscanner/ccompiler.py | 7 +++---- + giscanner/msvccompiler.py | 14 +++++++------- + 2 files changed, 10 insertions(+), 11 deletions(-) + +diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py +index d0ed70a3c..9a732cd5e 100644 +--- a/giscanner/ccompiler.py ++++ b/giscanner/ccompiler.py +@@ -26,7 +26,6 @@ import tempfile + import sys + import distutils + +-from distutils.msvccompiler import MSVCCompiler + from distutils.unixccompiler import UnixCCompiler + from distutils.cygwinccompiler import Mingw32CCompiler + from distutils.sysconfig import get_config_vars +@@ -167,7 +166,7 @@ class CCompiler(object): + # Now, create the distutils ccompiler instance based on the info we have. + if compiler_name == 'msvc': + # For MSVC, we need to create a instance of a subclass of distutil's +- # MSVC9Compiler class, as it does not provide a preprocess() ++ # MSVCCompiler class, as it does not provide a preprocess() + # implementation + from . import msvccompiler + self.compiler = msvccompiler.get_msvc_compiler() +@@ -460,7 +459,7 @@ class CCompiler(object): + return self.compiler.linker_exe + + def check_is_msvc(self): +- return isinstance(self.compiler, MSVCCompiler) ++ return self.compiler.compiler_type == "msvc" + + # Private APIs + def _set_cpp_options(self, options): +@@ -486,7 +485,7 @@ class CCompiler(object): + # macros for compiling using distutils + # get dropped for MSVC builds, so + # escape the escape character. +- if isinstance(self.compiler, MSVCCompiler): ++ if self.check_is_msvc(): + macro_value = macro_value.replace('\"', '\\\"') + macros.append((macro_name, macro_value)) + elif option.startswith('-U'): +diff --git a/giscanner/msvccompiler.py b/giscanner/msvccompiler.py +index 0a5439820..e333a80f5 100644 +--- a/giscanner/msvccompiler.py ++++ b/giscanner/msvccompiler.py +@@ -19,30 +19,30 @@ + # + + import os +-import distutils ++from typing import Type + + from distutils.errors import DistutilsExecError, CompileError +-from distutils.ccompiler import CCompiler, gen_preprocess_options ++from distutils.ccompiler import CCompiler, gen_preprocess_options, new_compiler + from distutils.dep_util import newer + + # Distutil's MSVCCompiler does not provide a preprocess() + # Implementation, so do our own here. + + ++DistutilsMSVCCompiler: Type = type(new_compiler(compiler="msvc")) ++ ++ + def get_msvc_compiler(): + return MSVCCompiler() + + +-class MSVCCompiler(distutils.msvccompiler.MSVCCompiler): ++class MSVCCompiler(DistutilsMSVCCompiler): + + def __init__(self, verbose=0, dry_run=0, force=0): +- super(distutils.msvccompiler.MSVCCompiler, self).__init__() ++ super(DistutilsMSVCCompiler, self).__init__() + CCompiler.__init__(self, verbose, dry_run, force) + self.__paths = [] + self.__arch = None # deprecated name +- if os.name == 'nt': +- if isinstance(self, distutils.msvc9compiler.MSVCCompiler): +- self.__version = distutils.msvc9compiler.VERSION + self.initialized = False + self.preprocess_options = None + if self.check_is_clang_cl(): +-- +GitLab + diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.76.1-r2.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.76.1-r2.ebuild new file mode 100644 index 000000000000..c0dcfeffdea9 --- /dev/null +++ b/dev-libs/gobject-introspection/gobject-introspection-1.76.1-r2.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE="xml(+)" +inherit gnome.org meson python-single-r1 xdg + +DESCRIPTION="Introspection system for GObject-based libraries" +HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection" + +LICENSE="LGPL-2+ GPL-2+" +SLOT="0" +IUSE="doctool gtk-doc test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + +# virtual/pkgconfig needed at runtime, bug #505408 +RDEPEND=" + >=dev-libs/gobject-introspection-common-${PV} + >=dev-libs/glib-2.75.0:2 + dev-libs/libffi:= + doctool? ( + $(python_gen_cond_dep ' + dev-python/mako[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + ') + ) + virtual/pkgconfig + ${PYTHON_DEPS} +" +# Wants real bison, not app-alternatives/yacc +DEPEND="${RDEPEND}" +BDEPEND=" + gtk-doc? ( + >=dev-util/gtk-doc-1.19 + app-text/docbook-xml-dtd:4.3 + app-text/docbook-xml-dtd:4.5 + ) + sys-devel/bison + app-alternatives/lex + test? ( + x11-libs/cairo[glib] + $(python_gen_cond_dep ' + dev-python/mako[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + ') + ) +" + +PATCHES=( + # https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/490 + "${FILESDIR}/${PN}-1.80.1-setuptools-74.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_configure() { + local emesonargs=( + $(meson_feature test cairo) + $(meson_feature doctool) + #-Dglib_src_dir + $(meson_use gtk-doc gtk_doc) + #-Dcairo_libname + -Dpython="${EPYTHON}" + #-Dgir_dir_prefix + ) + meson_src_configure +} + +src_install() { + meson_src_install + python_fix_shebang "${ED}"/usr/bin/ + python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner + + # Prevent collision with gobject-introspection-common + rm -v "${ED}"/usr/share/aclocal/introspection.m4 \ + "${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die + rmdir "${ED}"/usr/share/aclocal || die +} diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.78.1-r2.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.78.1-r2.ebuild new file mode 100644 index 000000000000..2387e4af0ab7 --- /dev/null +++ b/dev-libs/gobject-introspection/gobject-introspection-1.78.1-r2.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +inherit gnome.org meson python-single-r1 xdg + +DESCRIPTION="Introspection system for GObject-based libraries" +HOMEPAGE="https://gi.readthedocs.io" + +LICENSE="LGPL-2+ GPL-2+" +SLOT="0" +IUSE="doctool gtk-doc test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + +# virtual/pkgconfig needed at runtime, bug #505408 +RDEPEND=" + >=dev-libs/gobject-introspection-common-${PV} + >=dev-libs/glib-2.$(($(ver_cut 2) - 1)).0:2 + dev-libs/libffi:= + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + doctool? ( + $(python_gen_cond_dep ' + dev-python/mako[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + ') + ) + virtual/pkgconfig + ${PYTHON_DEPS} +" +# Wants real bison, not app-alternatives/yacc +DEPEND="${RDEPEND}" +BDEPEND=" + gtk-doc? ( + >=dev-util/gtk-doc-1.19 + app-text/docbook-xml-dtd:4.3 + app-text/docbook-xml-dtd:4.5 + ) + sys-devel/bison + app-alternatives/lex + test? ( + x11-libs/cairo[glib] + $(python_gen_cond_dep ' + dev-python/mako[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + ') + ) +" + +PATCHES=( + "${FILESDIR}/${P}-tests-py312.patch" + # https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/490 + "${FILESDIR}/${PN}-1.80.1-setuptools-74.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_configure() { + local emesonargs=( + $(meson_feature test cairo) + $(meson_feature doctool) + #-Dglib_src_dir + $(meson_use gtk-doc gtk_doc) + #-Dcairo_libname + -Dpython="${EPYTHON}" + #-Dgir_dir_prefix + ) + meson_src_configure +} + +src_install() { + meson_src_install + python_fix_shebang "${ED}"/usr/bin/ + python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner + + # Prevent collision with gobject-introspection-common + rm -v "${ED}"/usr/share/aclocal/introspection.m4 \ + "${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die + rmdir "${ED}"/usr/share/aclocal || die +} diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r2.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r2.ebuild new file mode 100644 index 000000000000..92368b5dd6c0 --- /dev/null +++ b/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r2.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +inherit gnome.org meson python-single-r1 xdg + +DESCRIPTION="Introspection system for GObject-based libraries" +HOMEPAGE="https://gi.readthedocs.io/" + +LICENSE="LGPL-2+ GPL-2+" +SLOT="0" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + +IUSE="doctool gtk-doc test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# virtual/pkgconfig needed at runtime, bug #505408 +RDEPEND=" + >=dev-libs/gobject-introspection-common-${PV} + >=dev-libs/glib-2.79.0:2 + dev-libs/libffi:= + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + doctool? ( + $(python_gen_cond_dep ' + dev-python/mako[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + ') + ) + virtual/pkgconfig + ${PYTHON_DEPS} +" +# Wants real bison, not app-alternatives/yacc +DEPEND="${RDEPEND}" +BDEPEND=" + gtk-doc? ( + >=dev-util/gtk-doc-1.19 + app-text/docbook-xml-dtd:4.3 + app-text/docbook-xml-dtd:4.5 + ) + sys-devel/bison + app-alternatives/lex + test? ( + x11-libs/cairo[glib] + $(python_gen_cond_dep ' + dev-python/mako[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + ') + ) +" + +PATCHES=( + # https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/490 + "${FILESDIR}/${PN}-1.80.1-setuptools-74.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_configure() { + local emesonargs=( + $(meson_feature test cairo) + $(meson_feature doctool) + #-Dglib_src_dir + $(meson_use gtk-doc gtk_doc) + #-Dcairo_libname + -Dpython="${EPYTHON}" + -Dbuild_introspection_data=true + #-Dgir_dir_prefix + ) + meson_src_configure +} + +src_install() { + meson_src_install + python_fix_shebang "${ED}"/usr/bin/ + python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner + + # Prevent collision with gobject-introspection-common + rm -v "${ED}"/usr/share/aclocal/introspection.m4 \ + "${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die + rmdir "${ED}"/usr/share/aclocal || die +} |