summaryrefslogtreecommitdiff
blob: 111b1146a2ea149e94a8e3580b1c9c14594b87a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
PYTHON_REQ_USE="sqlite"

inherit gnome.org meson python-single-r1 virtualx xdg

DESCRIPTION="A non-linear video editor using the GStreamer multimedia framework"
HOMEPAGE="http://www.pitivi.org"

LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 x86"

IUSE="v4l test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"

# XXX: recommends gst-plugins-libav and frei0r-plugins

# Do not forget to check pitivi/check.py for dependencies!!!
# pycanberra, libav, libnotify and liwnck are optional
GST_VER="1.14.2"

COMMON_DEPEND="
	${PYTHON_DEPS}
	$(python_gen_cond_dep '
		>=dev-python/pycairo-1.10[${PYTHON_USEDEP}]
	')
	>=x11-libs/cairo-1.10

	>=media-libs/gstreamer-${GST_VER}:1.0[introspection]
	|| (
		>media-libs/gst-plugins-bad-1.18
		>=media-plugins/gst-transcoder-1.14.1
	)
"
RDEPEND="${COMMON_DEPEND}
	>=dev-libs/glib-2.30.0:2

	>=dev-libs/gobject-introspection-1.34:=
	$(python_gen_cond_dep '
		dev-python/dbus-python[${PYTHON_USEDEP}]
		>=dev-python/gst-python-1.4:1.0[${PYTHON_USEDEP}]
		dev-python/matplotlib[${PYTHON_USEDEP}]
		dev-python/numpy[${PYTHON_USEDEP}]
		>=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
	')

	gnome-base/librsvg:=
	>=media-libs/gsound-1.0

	>=media-libs/gstreamer-editing-services-${GST_VER}:1.0[introspection]
	>=media-libs/gst-plugins-base-${GST_VER}:1.0[introspection,theora]
	>=media-libs/gst-plugins-bad-${GST_VER}:1.0
	>=media-plugins/gst-plugins-gtk-${GST_VER}:1.0
	>=media-libs/gst-plugins-good-${GST_VER}:1.0
	>=media-plugins/gst-plugins-libav-${GST_VER}:1.0
	>=media-plugins/gst-plugins-gdkpixbuf-${GST_VER}:1.0

	>=x11-libs/libnotify-0.7[introspection]
	x11-libs/libwnck:3[introspection]
	>=x11-libs/gtk+-3.20.0:3[introspection]

	v4l? ( >=media-plugins/gst-plugins-v4l2-${GST_VER}:1.0 )
"
DEPEND="${RDEPEND}"
BDEPEND="
	app-text/yelp-tools
	dev-python/setuptools
	>=dev-util/intltool-0.35.5
	dev-util/itstool
	sys-devel/gettext
	virtual/pkgconfig
	test? (
		$(python_gen_cond_dep '
			dev-python/nose2[${PYTHON_USEDEP}]
		')
	)
"

PATCHES=(
	# https://gitlab.gnome.org/GNOME/pitivi/-/merge_requests/245
	# support python 3.8
	"${FILESDIR}"/${P}-python38.patch

	# use /usr/share/metainfo
	"${FILESDIR}"/${P}-metainfo.patch

	# Make tests optional, bug #594096
	# https://gitlab.gnome.org/GNOME/pitivi/issues/2303
	"${FILESDIR}"/${P}-optional-tests.patch
)

src_configure() {
	local emesonargs=(
		-Denable-tests=$(usex test true false)
	)
	meson_src_configure
}

src_compile() {
	meson_src_compile
}

src_test() {
	export PITIVI_TOP_LEVEL_DIR="${S}"
	virtx meson_src_test
}

src_install() {
	meson_src_install
	python_fix_shebang "${D}"
}