diff --git a/media-video/totem-video-thumbnailer/Manifest b/media-video/totem-video-thumbnailer/Manifest new file mode 100644 index 0000000..f00fe1d --- /dev/null +++ b/media-video/totem-video-thumbnailer/Manifest @@ -0,0 +1 @@ +DIST totem-43.2.tar.xz 2552500 BLAKE2B b2bdbbe98abe0e957e260f24c30cb481da7a92ea28edb6619455cd446d28e926f35794652f17fcf51a7d7dc105d12d7cdf42d9fb84fe110a51fa1d1c746baff1 SHA512 4ed3c1a1c5c70279f5f704c98f5cf6903eaacd1fe65c209b5086106a8401d3759ccfd4fa3c43eb542df854076fd08d487e691b7bf5864d5bf6f98c50f21b8dda diff --git a/media-video/totem-video-thumbnailer/files/meson.build b/media-video/totem-video-thumbnailer/files/meson.build new file mode 100644 index 0000000..3b61df9 --- /dev/null +++ b/media-video/totem-video-thumbnailer/files/meson.build @@ -0,0 +1,90 @@ +project( + 'totem-video-thumbnailer', 'c', + version: '1.0', + license: 'GPL2+ with exception', + default_options: 'buildtype=debugoptimized', + meson_version: '>= 0.50.0' +) + +totem_prefix = get_option('prefix') +totem_bindir = join_paths(totem_prefix, get_option('bindir')) +totem_datadir = join_paths(totem_prefix, get_option('datadir')) +totem_localedir = join_paths(totem_prefix, get_option('localedir')) + +gst_req_version = '>= 1.6.0' +totem_plparser_req_version = '>= 3.10.1' + +gio_dep = dependency('gio-2.0', version: '>= 2.43.4') +gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0') +gst_dep = dependency('gstreamer-1.0', version: gst_req_version) +gst_tag_dep = dependency('gstreamer-tag-1.0', version: '>= 0.11.93') +gst_video_dep = dependency('gstreamer-video-1.0') +totem_plparser_dep = dependency('totem-plparser', version: totem_plparser_req_version) + +cc = meson.get_compiler('c') +m_dep = cc.find_library('m', required: true) + +config_h = configuration_data() +set_defines = [ + ['GETTEXT_PACKAGE', meson.project_name()], + ['GNOMELOCALEDIR', totem_localedir], +] + +foreach define: set_defines + config_h.set_quoted(define[0], define[1]) +endforeach + +configure_file( + output: 'config.h', + configuration: config_h +) + +totem_video_thumbnailer_sources = files( + 'submodules/totem/src/totem-resources.c', + 'submodules/totem/src/totem-video-thumbnailer.c', + 'submodules/totem/src/gst/totem-gst-helpers.c', + 'submodules/totem/src/gst/totem-gst-pixbuf-helpers.c' +) + +totem_video_thumbnailer_deps = [ + gio_dep, + gdk_pixbuf_dep, + totem_plparser_dep, + gst_tag_dep, + gst_video_dep, + m_dep, +] + +executable( + 'totem-video-thumbnailer', + totem_video_thumbnailer_sources, + include_directories: [ + include_directories('submodules/totem/src/'), + include_directories('submodules/totem/src/gst'), + ], + dependencies: totem_video_thumbnailer_deps, + c_args: [ + '-DG_LOG_DOMAIN="TotemVideoThumbnailer"' + ], + install: true, + install_dir: totem_bindir +) + +thumbnailer_sh = find_program('submodules/totem/data/thumbnailer.sh') +mime_type_list = files('submodules/totem/data/mime-type-list.txt') + +r = run_command([thumbnailer_sh, mime_type_list], check: true) + +thumbnailer_conf = configuration_data() +thumbnailer_conf.set('BINDIR', totem_bindir) +thumbnailer_conf.set('MIME_TYPE', r.stdout().strip()) + +thumbnailer = 'totem.thumbnailer' + +configure_file( + input: 'submodules/totem/data/' + thumbnailer + '.in', + output: thumbnailer, + install: true, + install_dir: join_paths(totem_datadir, 'thumbnailers'), + configuration: thumbnailer_conf +) diff --git a/media-video/totem-video-thumbnailer/metadata.xml b/media-video/totem-video-thumbnailer/metadata.xml new file mode 100644 index 0000000..db4f177 --- /dev/null +++ b/media-video/totem-video-thumbnailer/metadata.xml @@ -0,0 +1,11 @@ + + + + + david.guglielmi@gmail.com + David GUGLIELMI + + + GNOME/totem-video-thumbnailer + + diff --git a/media-video/totem-video-thumbnailer/totem-video-thumbnailer-43.2.ebuild b/media-video/totem-video-thumbnailer/totem-video-thumbnailer-43.2.ebuild new file mode 100644 index 0000000..a20872a --- /dev/null +++ b/media-video/totem-video-thumbnailer/totem-video-thumbnailer-43.2.ebuild @@ -0,0 +1,48 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="GNOME Video thumbnailer" +HOMEPAGE="https://gitlab.gnome.org/GNOME/totem-video-thumbnailer/" + +SRC_URI="https://download.gnome.org/sources/totem/${PV::2}/totem-${PV}.tar.xz" + +LICENSE="GPL-2+" + +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +COMMON_DEPEND=" + !media-video/totem + >=dev-libs/glib-2.72.0:2 + >=media-libs/gstreamer-1.21.1:1.0 + >=dev-libs/totem-pl-parser-3.26.5 + x11-libs/gdk-pixbuf:2 +" + +RDEPEND="${COMMON_DEPEND} + >=media-plugins/gst-plugins-meta-1.21.1:1.0 + >=media-plugins/gst-plugins-taglib-1.21.1:1.0 +" +DEPEND="${COMMON_DEPEND}" + +BDEPEND=" + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +src_unpack() { + mkdir -p "${S}"/submodules || die + cp "${FILESDIR}"/meson.build "${S}/" || die + + default +} + +src_prepare() { + ln -s "${WORKDIR}"/totem-${PV} "${S}"/submodules/totem || die + + default +}