We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.

diff media-video/blackmagic-media-express/blackmagic-media-express-3.8.1-r1.ebuild @ 258:1767728323bb

[sync] imported 4c2cea0..04d1b06 from upstream commit 04d1b06f1ef195542b349745a54363216d62a85a Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Mon Aug 7 19:03:55 2023 +0200 media-libs/blackmagic-desktop-video: integrate udev_reload as asked commit e978764acb35ba478b0a9c01782adc148a2c9dd5 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Mon Aug 7 18:53:27 2023 +0200 BlackMagic Desktop Video: bump to 12.5 (SDK 12.5.1)
author Migration Sync <gentoo-overlay@megacoffee.net>
date Mon, 07 Aug 2023 17:15:02 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/media-video/blackmagic-media-express/blackmagic-media-express-3.8.1-r1.ebuild	Mon Aug 07 17:15:02 2023 +0000
@@ -0,0 +1,132 @@
+# Copyright 1999-2023 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# TODOs:
+#  - fix QA notice about installing symlinks in /usr/lib
+
+EAPI=8
+
+inherit xdg-utils
+
+DESKTOP_VIDEO_SHORT_VERSION="12.5"
+DESKTOP_VIDEO_VERSION="12.5a15"
+MEDIA_EXPRESS_VERSION="3.8.1a4"
+
+DESCRIPTION="Media Express - Blackmagic Design's tool for media capture, organization and playback"
+HOMEPAGE="http://www.blackmagicdesign.com/"
+HOMEPAGE_DOWNLOAD_NAME="Desktop Video ${DESKTOP_VIDEO_SHORT_VERSION}"
+
+SRC_URI="Blackmagic_Desktop_Video_Linux_${DESKTOP_VIDEO_SHORT_VERSION}.tar.gz"
+UNPACKED_DIR="mediaexpress-${MEDIA_EXPRESS_VERSION}-x86_64"
+
+LICENSE="BlackmagicDesktopVideo"
+SLOT="0"
+KEYWORDS="~amd64"
+#IUSE="autostart"
+RESTRICT="fetch splitdebug strip"
+
+# dependencies for binaries found by commands: (ldd lists transitive dependencies as well which isn't what we want)
+# for file in /usr/lib/blackmagic/MediaExpress/*; do objdump -p $file | grep NEEDED; done 2>/dev/null | cut -b24- | sort | uniq | grep -vE 'lib(Qt|MXF|DNxHDCodec)'
+# equery belongs $(for file in /usr/lib/blackmagic/MediaExpress/*; do objdump -p $file | grep NEEDED; done 2>/dev/null | cut -b24- | sort | uniq | grep -vE 'lib(Qt|MXF|DNxHDCodec)')
+# ... and repeat for plugins/*/* as well; provided .so files may be subtracted
+
+DEPEND=""
+RDEPEND="${DEPEND}
+	 >=media-libs/blackmagic-desktop-video-12.4.1
+
+	 dev-libs/glib:2
+	 media-libs/alsa-lib
+	 media-libs/fontconfig
+	 media-libs/freetype
+	 media-libs/libglvnd
+	 sys-apps/dbus
+	 sys-devel/gcc
+	 sys-libs/glibc
+	 sys-libs/libcxx
+	 sys-libs/libcxxabi
+	 virtual/glu
+	 x11-libs/libICE
+	 x11-libs/libSM
+	 x11-libs/libX11
+	 x11-libs/libXext
+	 x11-libs/libXrender
+	 x11-libs/libxcb
+	"
+
+# supress QA warnings about stripping etc., i.e. stuff we cannot change since we install prebuilt binaries
+QA_PREBUILT="opt/blackmagic-media-express/usr/lib/*"
+
+pkg_nofetch() {
+	#               1         2         3         4         5         6         7
+	#      123456789012345678901234567890123456789012345678901234567890123456789012
+	einfo "Media Express is bundled with Desktop Video downloads."
+	einfo ""
+	einfo "Please visit ${HOMEPAGE} and download \"${HOMEPAGE_DOWNLOAD_NAME}\""
+	einfo "for your product from the support section and move it to your DISTDIR"
+	einfo "(/var/cache/distfiles or /usr/portage/distfiles unless you changed it)."
+	einfo ""
+	einfo "  expected filename: ${SRC_URI}"
+	einfo ""
+	einfo "If your browser downloads a .tar file you will need to rename it to .tar.gz"
+}
+
+src_unpack() {
+	unpack ${A}
+	
+	cd ${WORKDIR}
+	tar xfz Blackmagic_Desktop_Video_Linux_${DESKTOP_VIDEO_SHORT_VERSION}/other/x86_64/mediaexpress-${MEDIA_EXPRESS_VERSION}-x86_64.tar.gz
+	
+	# symlink to what is supposed to have been prepared
+	ln -s ${UNPACKED_DIR} ${P}
+}
+
+src_install() {
+	# all pre-built binaries should go into /opt and be symlinked to usr/bin etc.
+	finalinstalldir="/opt/blackmagic-media-express"
+	installdir="${D}${finalinstalldir}"
+	
+	mkdir -p ${installdir}
+	cp -a ${WORKDIR}/${UNPACKED_DIR}/* ${installdir}/
+	
+	# NOTE: Not linking usr/lib/systemd as I do not use that and thus cannot test it...
+	symlinks=(
+			'usr/bin/MediaExpress'
+			'usr/lib/blackmagic/MediaExpress'
+			'usr/share/applications/MediaExpress.desktop'
+			'usr/share/icons/hicolor/32x32/apps/MediaExpress.png'
+			'usr/share/icons/hicolor/48x48/apps/MediaExpress.png'
+			'usr/share/icons/hicolor/256x256/apps/MediaExpress.png'
+                 )
+	
+	for path in "${symlinks[@]}"; do
+		dosym ${finalinstalldir}/${path} ${path}
+	done
+	
+	# copy but do not compress documentation
+	# reason for having it twice (in /opt and /usr):
+	# - symlinking as "mediaexpress" causes a QA notice as we should use our package name
+	# - symlinking with our package name causes some weird sandbox violation
+	docompress -x /usr/share/doc
+	dodoc -r ${finalinstalldir}/usr/share/doc/mediaexpress/*
+	
+	# dneuge: no clue on how to use this...
+	## QA notice says we should generate a linker script if we don't place libraries in /usr/lib
+	## see: https://devmanual.gentoo.org/eclass-reference/toolchain-funcs.eclass/index.html
+	#gen_usr_ldscript usr/lib/libDeckLinkAPI.so usr/lib/libDeckLinkPreviewAPI.so
+
+	# don't symlink man-pages, install a copy instead
+	doman usr/share/man/man1/*.1
+}
+
+pkg_postinst() {
+	#      12345678901234567890123456789012345678901234567890123456789012345678901234567890
+	einfo "Please do *NOT* report any QA errors to Gentoo or Blackmagic!"
+	einfo ""
+	einfo "License can be found in: ${finalinstalldir}/usr/share/doc/mediaexpress/License.txt"
+
+	xdg_desktop_database_update
+}
+
+pkg_postrm() {
+	xdg_desktop_database_update
+}