public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mart Raudsepp" <leio@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/gst-python/
Date: Thu, 21 Jun 2018 07:50:33 +0000 (UTC)	[thread overview]
Message-ID: <1529567349.cb705acfd1c949abed72397382bfa7cb26596b67.leio@gentoo> (raw)

commit:     cb705acfd1c949abed72397382bfa7cb26596b67
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 21 07:48:35 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Thu Jun 21 07:49:09 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb705acf

dev-python/gst-python: bump to 1.14.1, run tests, don't install plugin

The plugin must be single-python, otherwise multiple plugin files (due to
different python plugin naming suffixes) get installed, gst-inspect-1.0 and
co will load both into memory, end up with multiple libpython.so's loaded in,
causing ABI issues and crashes from clashing symbols. python-r1 and
python-single-r1 can't co-exist, so stop building and installing the plugin
in this package, as this package is mainly about the GI overrides for things
like correct Gst.Fraction, and is consumed as such. The plugin is of limited
use, as that's about supporting writing and using gstreamer plugins in
python, but GIL gets in the way of writing good plugins, so it's not used
much in practice. Debian didn't even build the plugin before 1.14 either.
If it's ever requested/needed, we'll package it as
media-plugins/gst-plugins-python that build and installs just the plugin/
directory.

Fix tests to work in the multibuild setup and properly xdg_environment_reset,
which was missing and made apparent by tests printing an ERROR about it
(though passing).

Remove redundant IUSE=test

Use ltprune.eclass instead of eutils.eclass

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-python/gst-python/Manifest                 |  1 +
 dev-python/gst-python/gst-python-1.14.1.ebuild | 69 ++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)

diff --git a/dev-python/gst-python/Manifest b/dev-python/gst-python/Manifest
index 064f04cee01..cc7f032fc48 100644
--- a/dev-python/gst-python/Manifest
+++ b/dev-python/gst-python/Manifest
@@ -1,2 +1,3 @@
 DIST gst-python-0.10.22.tar.bz2 632651 BLAKE2B 17c139c2b5514a7a5e4c2351109418a2ed1bcda149e83c0e940dd09619225fa0930bba5f5d42d3c03f5f8567f3c90454b47a51513d609a36887efedcae8ab482 SHA512 bbbd6b661778cca990da0e216294d86da31a6e472049905989a3311459dd1227bf8f2ae3699a3cdbb66a16288569764352f1e1b93e696d3db4b0728bc38e5b12
 DIST gst-python-1.12.3.tar.xz 388220 BLAKE2B ce9cecab7e65c66b43f7363be18299be0e86b1023b0897d735b8526b30290ccd320204f6acce29e512e85b2e5d7298bdc184eec1488d00fc3b2869311b71295e SHA512 f4d0d09a5b068e79496aa5e0d73f09af2d1e929cf6f80874dba8396950952b795a30f5a33c18b42a650f173c80ce342f959d497aa0d9d281bbe36507a71d1b4a
+DIST gst-python-1.14.1.tar.xz 405312 BLAKE2B 29be6f79b20a27e0d21f27cbf29b1881216e412c3c4ea016f3ee6bd921ec7b73139f74a20528f7f704526786347b065d246940f152d61a64e4eb926dbb44bb87 SHA512 32537e6556b69d00cb0b467239c148c0b9c282b76786be395e053a30554b84aea7c22e7fe6fc6faf77b35fca82fb799df4f52c114b282d0a6ea660f67dc40c53

diff --git a/dev-python/gst-python/gst-python-1.14.1.ebuild b/dev-python/gst-python/gst-python-1.14.1.ebuild
new file mode 100644
index 00000000000..8fcc0e29741
--- /dev/null
+++ b/dev-python/gst-python/gst-python-1.14.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python{3_4,3_5,3_6} )
+
+inherit ltprune python-r1 xdg-utils
+
+DESCRIPTION="A Python Interface to GStreamer"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="1.0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+	>=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
+	>=media-libs/gstreamer-${PV}:1.0[introspection]
+	>=media-libs/gst-plugins-base-${PV}:1.0[introspection]
+"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+"
+
+src_prepare() {
+	default
+	xdg_environment_reset
+	prepare_gst() {
+		mkdir -p "${BUILD_DIR}" || die
+	}
+	python_foreach_impl prepare_gst
+}
+
+src_configure() {
+	ECONF_SOURCE="${S}" python_foreach_impl run_in_build_dir econf
+}
+
+src_compile() {
+	# Avoid building plugin - it must NOT be multi-python as gst-inspect will map in all libpython.so versions and crash or behave mysteriously.
+	# Python plugin support is of limited use (GIL gets in the way). If it's ever requested or needed, it should be a
+	# separate python-single-r1 media-plugins/gst-plugins-python package that only builds the plugin directory.
+	compile_gst() {
+		emake -C common || die "emake common failed"
+		emake -C gi || die "emake gi failed"
+		emake -C testsuite || die "emake testsuite failed"
+	}
+	python_foreach_impl run_in_build_dir compile_gst
+}
+
+src_install() {
+	install_gst() {
+		emake DESTDIR="${D}" install -C common || die "emake install common failed"
+		emake DESTDIR="${D}" install -C gi || die "emake install gi failed"
+		emake DESTDIR="${D}" install -C testsuite || die "emake install testsuite failed"
+	}
+	python_foreach_impl run_in_build_dir install_gst
+	prune_libtool_files --modules
+	einstalldocs
+}
+
+src_test() {
+	test_gst() {
+		emake check -C testsuite || die "emake check failed"
+	}
+	python_foreach_impl run_in_build_dir default
+}


             reply	other threads:[~2018-06-21  7:50 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-21  7:50 Mart Raudsepp [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-07  2:24 [gentoo-commits] repo/gentoo:master commit in: dev-python/gst-python/ Sam James
2025-01-04 21:34 Sam James
2025-01-04 17:07 Arthur Zamarin
2024-12-24 10:20 Sam James
2024-06-15 14:44 Michał Górny
2024-04-30  8:28 Mart Raudsepp
2024-04-22  8:19 Arthur Zamarin
2024-04-19 14:23 Arthur Zamarin
2024-04-15  5:01 Arthur Zamarin
2024-04-01 19:55 Mart Raudsepp
2023-11-29  8:22 Arthur Zamarin
2023-10-14  3:43 Sam James
2023-10-13  7:33 Mart Raudsepp
2023-08-21  6:31 Arthur Zamarin
2023-07-25 18:10 Arthur Zamarin
2023-07-25 18:07 Arthur Zamarin
2023-07-23 19:32 Arthur Zamarin
2023-06-10 10:15 Arthur Zamarin
2023-06-10  9:45 Arthur Zamarin
2023-05-30 18:21 Sam James
2023-05-30 18:05 Sam James
2022-11-29 15:58 WANG Xuerui
2022-11-20 18:34 Mart Raudsepp
2022-10-02  4:34 Matt Turner
2022-03-17  0:33 Sam James
2022-01-28 18:58 Matt Turner
2021-09-14  1:30 Yixun Lan
2021-02-19 23:03 Mart Raudsepp
2021-02-13 21:41 Mart Raudsepp
2020-08-02 19:05 Sam James
2020-08-01 21:23 Michał Górny
2019-08-18  9:26 Mart Raudsepp
2019-08-03 13:14 Aaron Bauman
2018-09-30 14:46 Mart Raudsepp
2018-09-19  8:42 Sergei Trofimovich
2018-07-30  6:44 Mart Raudsepp
2018-06-18 17:19 Mart Raudsepp
2018-01-06 14:15 Mart Raudsepp
2017-12-25 11:51 Markus Meier
2017-12-17  1:04 Mart Raudsepp
2017-11-11 21:49 Thomas Deutschmann
2017-11-07  8:06 Sergei Trofimovich
2017-11-01 19:56 Sergei Trofimovich
2017-11-01  9:35 Sergei Trofimovich
2017-11-01  9:19 Sergei Trofimovich
2017-10-26  7:30 Sergei Trofimovich
2017-09-18 21:42 Mart Raudsepp
2017-09-18 21:42 Mart Raudsepp
2017-09-16 20:50 Mart Raudsepp
2017-09-02  4:19 Mart Raudsepp
2017-09-02  4:19 Mart Raudsepp
2017-07-20  4:40 Markus Meier
2017-07-08 16:08 Sergei Trofimovich
2017-06-18  8:58 Mart Raudsepp
2017-06-10 20:14 Sergei Trofimovich
2017-04-05 14:07 Tobias Klausmann
2017-02-19 12:00 Jeroen Roovers
2017-02-15 17:50 Markus Meier
2017-02-11 14:52 Mart Raudsepp
2017-01-26 10:56 Mart Raudsepp
2016-12-06 21:53 Markus Meier
2016-09-18 22:44 Gilles Dartiguelongue
2016-05-03 20:40 Markus Meier
2016-04-07 10:17 Jeroen Roovers
2016-03-06 20:52 Mikle Kolyada
2015-12-27 16:48 Gilles Dartiguelongue
2015-12-27 16:46 Gilles Dartiguelongue
2015-12-11  8:10 Justin Lecher
2015-12-10  8:17 Justin Lecher
2015-11-08 19:27 Gilles Dartiguelongue
2015-10-25 23:01 Gilles Dartiguelongue
2015-10-18 11:29 Mikle Kolyada
2015-10-03  8:49 Markus Meier
2015-09-20  6:11 Jeroen Roovers
2015-09-07 21:55 Mikle Kolyada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1529567349.cb705acfd1c949abed72397382bfa7cb26596b67.leio@gentoo \
    --to=leio@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox