Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/gst-python/files/, dev-python/gst-python/
Date: Sun, 03 May 2020 20:19:59
Message-Id: 1588537177.7270ff7644a72cf1b27650804bb14d7154e58d46.leio@gentoo
1 commit: 7270ff7644a72cf1b27650804bb14d7154e58d46
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 3 20:19:29 2020 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sun May 3 20:19:37 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7270ff76
7
8 dev-python/gst-python: bump to 1.16.2, add py3.8 support
9
10 Package-Manager: Portage-2.3.84, Repoman-2.3.20
11 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
12
13 dev-python/gst-python/Manifest | 1 +
14 dev-python/gst-python/files/1.16.2-python3.8.patch | 39 +++++++++++++
15 dev-python/gst-python/gst-python-1.16.2.ebuild | 64 ++++++++++++++++++++++
16 3 files changed, 104 insertions(+)
17
18 diff --git a/dev-python/gst-python/Manifest b/dev-python/gst-python/Manifest
19 index 6df71b4a268..00f4c0d1a6c 100644
20 --- a/dev-python/gst-python/Manifest
21 +++ b/dev-python/gst-python/Manifest
22 @@ -1 +1,2 @@
23 DIST gst-python-1.14.1.tar.xz 405312 BLAKE2B 29be6f79b20a27e0d21f27cbf29b1881216e412c3c4ea016f3ee6bd921ec7b73139f74a20528f7f704526786347b065d246940f152d61a64e4eb926dbb44bb87 SHA512 32537e6556b69d00cb0b467239c148c0b9c282b76786be395e053a30554b84aea7c22e7fe6fc6faf77b35fca82fb799df4f52c114b282d0a6ea660f67dc40c53
24 +DIST gst-python-1.16.2.tar.xz 414912 BLAKE2B 016e59fc7d29047dcf49901d4ccb1ff2e96950dc723cd7e9dd31e0fe92257e881ced1c93e7e4e531320be8fb9d6cb8382d2c31e460448d5d630ec7c8a0378024 SHA512 c274591cb820a2576ca236de0d1a2c2c53a9db11afc689e0385afe3d38fadc59c9230d65198e79e4059abb90c0e5b6d71f1ee4cf1439d92feaaffd2ab5cd3a23
25
26 diff --git a/dev-python/gst-python/files/1.16.2-python3.8.patch b/dev-python/gst-python/files/1.16.2-python3.8.patch
27 new file mode 100644
28 index 00000000000..c4b4ddd1122
29 --- /dev/null
30 +++ b/dev-python/gst-python/files/1.16.2-python3.8.patch
31 @@ -0,0 +1,39 @@
32 +From 22f28155d86e27c4134de4ed2861264003fcfd23 Mon Sep 17 00:00:00 2001
33 +From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@×××××××××××.com>
34 +Date: Fri, 13 Dec 2019 10:46:20 +0200
35 +Subject: [PATCH] Fix build with Python 3.8 by also checking for
36 + python-3.X-embed.pc
37 +
38 +Since Python 3.8 the normal checks don't include the Python libraries
39 +anymore and linking of the gst-python module would fail.
40 +
41 +See also https://github.com/mesonbuild/meson/issues/5629
42 +
43 +Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28
44 +---
45 + meson.build | 9 ++++++++-
46 + 1 file changed, 8 insertions(+), 1 deletion(-)
47 +
48 +diff --git a/meson.build b/meson.build
49 +index 744b7ce..fe4ca7a 100644
50 +--- a/meson.build
51 ++++ b/meson.build
52 +@@ -24,7 +24,14 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d
53 +
54 + pymod = import('python')
55 + python = pymod.find_installation(get_option('python'))
56 +-python_dep = python.dependency(required : true)
57 ++pythonver = python.language_version()
58 ++
59 ++# Workaround for https://github.com/mesonbuild/meson/issues/5629
60 ++# https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28
61 ++python_dep = dependency('python-@0@-embed'.format(pythonver), version: '>=3', required: false)
62 ++if not python_dep.found()
63 ++ python_dep = python.dependency(required : true)
64 ++endif
65 +
66 + python_abi_flags = python.get_variable('ABIFLAGS', '')
67 + pylib_loc = get_option('libpython-dir')
68 +--
69 +2.20.1
70 +
71
72 diff --git a/dev-python/gst-python/gst-python-1.16.2.ebuild b/dev-python/gst-python/gst-python-1.16.2.ebuild
73 new file mode 100644
74 index 00000000000..d449b2151e0
75 --- /dev/null
76 +++ b/dev-python/gst-python/gst-python-1.16.2.ebuild
77 @@ -0,0 +1,64 @@
78 +# Copyright 1999-2020 Gentoo Authors
79 +# Distributed under the terms of the GNU General Public License v2
80 +
81 +EAPI=7
82 +
83 +PYTHON_COMPAT=( python{2_7,3_6,3_7,3_8} )
84 +
85 +inherit meson python-r1 xdg-utils
86 +
87 +DESCRIPTION="A Python Interface to GStreamer"
88 +HOMEPAGE="https://gstreamer.freedesktop.org/"
89 +SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
90 +
91 +LICENSE="LGPL-2+"
92 +SLOT="1.0"
93 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
94 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
95 +
96 +RDEPEND="${PYTHON_DEPS}
97 + >=media-libs/gstreamer-${PV}:1.0[introspection]
98 + >=media-libs/gst-plugins-base-${PV}:1.0[introspection]
99 + >=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
100 +"
101 +DEPEND="${RDEPEND}"
102 +BDEPEND="
103 + virtual/pkgconfig
104 +"
105 +
106 +PATCHES=(
107 + "${FILESDIR}"/${PV}-python3.8.patch
108 +)
109 +
110 +src_prepare() {
111 + default
112 + # Avoid building plugin - it must NOT be multi-python as gst-inspect will map in all libpython.so versions and crash or behave mysteriously.
113 + # Python plugin support is of limited use (GIL gets in the way). If it's ever requested or needed, it should be a
114 + # separate python-single-r1 media-plugins/gst-plugins-python package that only builds the plugin directory.
115 + sed -e '/subdir.*plugin/d' -i meson.build || die
116 + xdg_environment_reset
117 +}
118 +
119 +src_configure() {
120 + configuring() {
121 + meson_src_configure \
122 + -Dpython="${EPYTHON}"
123 + }
124 + python_foreach_impl configuring
125 +}
126 +
127 +src_compile() {
128 + python_foreach_impl meson_src_compile
129 +}
130 +
131 +src_test() {
132 + python_foreach_impl meson_src_test
133 +}
134 +
135 +src_install() {
136 + installing() {
137 + meson_src_install
138 + python_optimize
139 + }
140 + python_foreach_impl installing
141 +}