From fcc5224904648a8e6eb528d7603154160a20022f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 2 Feb 2022 01:39:05 +0000 Subject: gentoo resync : 02.02.2022 --- dev-python/gst-python/Manifest | 3 +- ...python-1.18.4-avoid-treating-float-as-int.patch | 86 ++++++++++++++++++++++ dev-python/gst-python/gst-python-1.18.4.ebuild | 8 +- 3 files changed, 94 insertions(+), 3 deletions(-) create mode 100644 dev-python/gst-python/files/gst-python-1.18.4-avoid-treating-float-as-int.patch (limited to 'dev-python/gst-python') diff --git a/dev-python/gst-python/Manifest b/dev-python/gst-python/Manifest index 4511e61a09e5..655ff2f72a5a 100644 --- a/dev-python/gst-python/Manifest +++ b/dev-python/gst-python/Manifest @@ -1,5 +1,6 @@ +AUX gst-python-1.18.4-avoid-treating-float-as-int.patch 2987 BLAKE2B af2c64dca7af01a70386edf864ebfbde499bdd086aa37e958571e532a2cfe1442c0e5792a07b22ca81ab24e7f53a9426dcea66ea94119aa1a4cb7d0dd9cce8b8 SHA512 d36fc52a7d9c787e88d0097819bb61780022cac589cf900f112f431441b3a650b301f099ea420a3d6e954b515f547e3cef6498699a0e9e027e8709b66c9339b0 DIST gst-python-1.16.3.tar.xz 419932 BLAKE2B 3c3d7d8dbde7d77d57e340c68503c436ab03f8768be4dd67561b13712bf88d7f8025118cf6a2ff115fbd41b28dc9a3208f612d1b72bf449fd7b23be4437f837f SHA512 2b038c4fc4891ddcf09e58c9e3e8d8462c150589dbb8a1f8d0a1266cffe49fd83531b2eb97cd57baab0f416a2bb1ba81383b55bb953545f3eedc50b6895986c4 DIST gst-python-1.18.4.tar.xz 158252 BLAKE2B 2fd60d2d451ae572cee2f7e9158e9c06e82cdd56c4fc70d2731aa0a46a21e495321ec02c97ecd9a946278ce9b7290a290b9f2bc13184582c1f8ff19e874d0e3a SHA512 6b9df9e4faaeb030f0596c9e52262c0f82b8854faf821497a840a762913dccb005321c60565754ef571e34976fcda481a41aefbbd486c2932377a95121433bf5 EBUILD gst-python-1.16.3.ebuild 1556 BLAKE2B 5a5f9dc90cdbc2262f226b00ee166afd8b8df17c64714694ddc73c87c96a06e537dac794a627d94a1f8874ec5adab74be1dc790e494a48b97f41c9e3134f5240 SHA512 d9663bb501c02dc98be963bb6ba6f4dc514154460084de9cb9d079da1af11daebe2b54f575461707024ed2627d6ea44f5897fb981c2463c3c8e07356fcfbd371 -EBUILD gst-python-1.18.4.ebuild 1631 BLAKE2B 4034a741c66a97cf686d3fc8e280e9f7e28015ff9c61bc995f3b281665bfab09ac21da34ac463a490ab13965cd19247e001c09b8094c5801e01bab2f9eee81d0 SHA512 0469cf4e6d6421d03fea18948f7bd4acfd1a9466d57ef10e1732b1902748ecb5fb164c6678da5f6c5074f62f54c7a64de01455d7df6b6bc75b5c7345633e1aa9 +EBUILD gst-python-1.18.4.ebuild 1698 BLAKE2B 0e59a331c3d541409d4cd30fd4222bd468f8931cd877d43801e90947774a5441391ed6b9e8d6750e6e45afb91108d77841251a7d0d3829f2c1164ddd7d284de3 SHA512 3255646772f025767c7e73159ccf06eb75e3421adf0f0c5bb3364f347516e4aedc230e7c35350d9588d6d8145e97d533e945d375aa5df116008047a9c7b253a8 MISC metadata.xml 267 BLAKE2B 331be70b2fa90cce1bf91ded1dac141de6a9bec40c1736bcb90d280ac7fabf22cfd0a701c7fd5864f007d1159954f7ee55701d5e68b47a1a9a217ca34b7ee619 SHA512 4dcdd6bc6d148a0e02a0f1b766bd0c5712d373d898c06078d8630e0067e858b815117392a11332b257156e95da6337494d99c2724d24cadb97432089908644b5 diff --git a/dev-python/gst-python/files/gst-python-1.18.4-avoid-treating-float-as-int.patch b/dev-python/gst-python/files/gst-python-1.18.4-avoid-treating-float-as-int.patch new file mode 100644 index 000000000000..d9cc6bca086b --- /dev/null +++ b/dev-python/gst-python/files/gst-python-1.18.4-avoid-treating-float-as-int.patch @@ -0,0 +1,86 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Thibault Saunier +Date: Tue, 16 Nov 2021 23:36:10 -0300 +Subject: [PATCH] python: Avoid treating float as int + +Since python 3.10 implicit conversion to integers using `__int__` as +been completely removed (was deprecated behavior in 3.9) so we need +to cleanly handle it now. + +See https://gitlab.gnome.org/GNOME/pitivi/-/issues/2589 + +Part-of: +--- + .../gst-python/gi/overrides/gstmodule.c | 54 ++++++++++++++++--- + 1 file changed, 47 insertions(+), 7 deletions(-) + +diff --git a/subprojects/gst-python/gi/overrides/gstmodule.c b/subprojects/gst-python/gi/overrides/gstmodule.c +index 167a1c27539a..2308eb7dcde6 100644 +--- a/gi/overrides/gstmodule.c ++++ b/gi/overrides/gstmodule.c +@@ -104,18 +104,58 @@ gi_gst_fraction_from_value (const GValue * value) + static int + gi_gst_fraction_to_value (GValue * value, PyObject * object) + { +- PyObject *numerator, *denominator; ++ glong numerator, denominator; ++ PyObject *numerator_obj, *denominator_obj, *is_integer; + +- numerator = PyObject_GetAttrString (object, "num"); +- if (numerator == NULL) ++ numerator_obj = PyObject_GetAttrString (object, "num"); ++ if (numerator_obj == NULL) + goto fail; + +- denominator = PyObject_GetAttrString (object, "denom"); +- if (denominator == NULL) ++ is_integer = PyObject_CallMethod (numerator_obj, "is_integer", NULL); ++ if (is_integer != Py_True) { ++ PyErr_Format (PyExc_TypeError, ++ "numerator %f is not an integer.", PyFloat_AsDouble (numerator_obj)); ++ Py_DECREF (is_integer); ++ goto fail; ++ } ++ Py_DECREF (is_integer); ++ ++ numerator = PyFloat_AsDouble (numerator_obj); ++ if (numerator < -G_MAXINT || numerator > G_MAXINT) { ++ PyErr_Format (PyExc_ValueError, ++ "numerator %" G_GINT64_FORMAT " is out of bound. [-%d - %d]", ++ numerator, G_MAXINT, G_MAXINT); ++ goto fail; ++ } ++ ++ denominator_obj = PyObject_GetAttrString (object, "denom"); ++ if (denominator_obj == NULL) + goto fail; + +- gst_value_set_fraction (value, +- PyLong_AsLong (numerator), PyLong_AsLong (denominator)); ++ is_integer = PyObject_CallMethod (denominator_obj, "is_integer", NULL); ++ if (is_integer != Py_True) { ++ PyErr_Format (PyExc_TypeError, ++ "denominator %f is not an integer.", ++ PyFloat_AsDouble (denominator_obj)); ++ Py_DECREF (is_integer); ++ goto fail; ++ } ++ Py_DECREF (is_integer); ++ ++ denominator = PyFloat_AsDouble (denominator_obj); ++ if (denominator == 0) { ++ PyErr_SetString (PyExc_ValueError, "denominator is 0."); ++ goto fail; ++ } ++ ++ if (denominator < -G_MAXINT || denominator > G_MAXINT) { ++ PyErr_Format (PyExc_ValueError, ++ "denominator %" G_GINT64_FORMAT " is out of bound. [-%d - %d]", ++ denominator, G_MAXINT, G_MAXINT); ++ goto fail; ++ } ++ ++ gst_value_set_fraction (value, numerator, denominator); + + return 0; + diff --git a/dev-python/gst-python/gst-python-1.18.4.ebuild b/dev-python/gst-python/gst-python-1.18.4.ebuild index e58a299ee538..7b3a8d2265cd 100644 --- a/dev-python/gst-python/gst-python-1.18.4.ebuild +++ b/dev-python/gst-python/gst-python-1.18.4.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python{3_8,3_9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit meson python-r1 xdg-utils @@ -26,6 +26,10 @@ BDEPEND=" virtual/pkgconfig " +PATCHES=( + "${FILESDIR}/${P}-avoid-treating-float-as-int.patch" +) + src_prepare() { default -- cgit v1.2.3