summaryrefslogtreecommitdiff
path: root/dev-python/gst-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
commitfcc5224904648a8e6eb528d7603154160a20022f (patch)
tree3bfce096b38a9cea8eed13fc70c1526c456e9abd /dev-python/gst-python
parent2fd57282f0262ca084e05b0f2c63fbada395d02b (diff)
gentoo resync : 02.02.2022
Diffstat (limited to 'dev-python/gst-python')
-rw-r--r--dev-python/gst-python/Manifest3
-rw-r--r--dev-python/gst-python/files/gst-python-1.18.4-avoid-treating-float-as-int.patch86
-rw-r--r--dev-python/gst-python/gst-python-1.18.4.ebuild8
3 files changed, 94 insertions, 3 deletions
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 <tsaunier@igalia.com>
+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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1358>
+---
+ .../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