commit:     eb3b59ddf8955005e9d0c98409b93d178df84fa3
Author:     Filip Kobierski <fkobi <AT> pm <DOT> me>
AuthorDate: Tue Jul 15 23:33:05 2025 +0000
Commit:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
CommitDate: Sat Jul 19 17:25:25 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb3b59dd

media-video/gaupol: improve ebuild

- sync DESCRIPTION with upstream's
- add USE=cairo to pygobject dependency
  - otherwise I get
    TypeError: Couldn't find foreign struct converter for 'cairo.Context'
- add Python 3.14 support
- use brace expansion in DOCS
- rework optfeatures

and style changes:
- sort test? BDEPEND
- move distutils_enable_pytest closer to python_test
- quote inly the FILESDIR in PATCHES

Signed-off-by: Filip Kobierski <fkobi <AT> pm.me>
Part-of: https://github.com/gentoo/gentoo/pull/43021
Closes: https://github.com/gentoo/gentoo/pull/43021
Co-authored-by: Louis Sautier <sbraz <AT> gentoo.org>
Signed-off-by: Louis Sautier <sbraz <AT> gentoo.org>

 media-video/gaupol/gaupol-1.15-r2.ebuild | 74 ++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/media-video/gaupol/gaupol-1.15-r2.ebuild 
b/media-video/gaupol/gaupol-1.15-r2.ebuild
new file mode 100644
index 000000000000..692b79c0412a
--- /dev/null
+++ b/media-video/gaupol/gaupol-1.15-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 optfeature virtualx xdg-utils
+
+DESCRIPTION="Editor for text-based subtitle files"
+HOMEPAGE="https://otsaloma.io/gaupol/";
+SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+       app-text/iso-codes
+       dev-python/charset-normalizer[${PYTHON_USEDEP}]
+       dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+       x11-libs/gtk+:3[introspection]
+"
+BDEPEND="
+       sys-devel/gettext
+       test? (
+               app-dicts/myspell-en
+               app-text/gspell[introspection]
+               || (
+                       app-text/enchant[hunspell]
+                       >=app-text/enchant-2.2.8[nuspell]
+               )
+       )
+"
+
+DOCS=( {AUTHORS,NEWS,README{,.aeidon}}.md )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.12-fix-prefix.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+       virtx epytest
+}
+
+pkg_postinst() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+
+       # To check which GStreamer plugins are required (vaapisink is mentioned 
in the code but it is not used):
+       # plugins=$(qlist -e gaupol | xargs grep -ho 'Gst.ElementFactory.*' | 
cut -d'"' -f2 | sort -u | grep -vFx vaapisink)
+       # xargs -n1 gst-inspect-1.0 <<< "$plugins" | awk '/Filename/ {print 
$2}' | sort -u | xargs qfile
+       optfeature "built-in video player" \
+               "media-libs/gstreamer[introspection] 
media-libs/gst-plugins-base[pango] media-plugins/gst-plugins-gtk"
+       optfeature "external video player" media-video/mpv media-video/mplayer 
media-video/vlc
+
+       optfeature "spellchecking (does not include dictionaries)" 
"app-text/gspell[introspection]"
+       # To list dictionaries supported by gaupol:
+       # python3 -c 'import aeidon; 
print(*aeidon.SpellChecker.list_languages(), sep="\n")'
+       optfeature "spellchecking with app-dicts/myspell-* dictionaries using 
the nuspell backend" \
+               "app-text/enchant[nuspell]"
+       optfeature "spellchecking with app-dicts/myspell-* dictionaries using 
the hunspell backend" \
+               "app-text/enchant[hunspell]"
+       optfeature "spellchecking with app-dicts/aspell-* dictionaries" \
+               "app-text/enchant[aspell]"
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+}

Reply via email to