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

view media-video/blackmagic-media-express/blackmagic-media-express-3.7.ebuild @ 249:0685ed0fb913

[sync] imported 2c6bf87..18f98a6 from upstream commit 18f98a6f47cd77c1007b60dbfc7a838ffa99df0c Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Mon Mar 27 21:11:43 2023 +0200 app-crypt/acmetool: version bump to 0.2.2 commit ee2df4ec1deab61cd7bb7de2cd13ffdd066cc41a Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Mon Mar 27 19:30:58 2023 +0200 app-crypt/acmetool: split 0.2.1 from 9999, changed dependencies commit f3c9cf1c7a24619446390b0b71bf5bc090dfce77 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Mon Mar 27 19:29:33 2023 +0200 removed dependency to go-overlay commit b2057a9b0ba65917f3840a6b121c1e78397c4723 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Mon Mar 27 19:27:28 2023 +0200 golang eclasses: prefixed exported functions x-mgcf- commit e8d02d1edc997fec9e0b1e5d053a5b82ca4accf2 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Mon Mar 27 19:08:52 2023 +0200 renamed golang eclasses, updated maintainer, added disclaimer commit 748ea4be8ee777bc788cb2a8801b118b41e6f8aa Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Mon Mar 27 18:43:56 2023 +0200 copied eclasses for Go from go-overlay Reason: These eclasses are used to build app-crypt/acmetool. We previously imported go-overlay as a master repository to use the eclasses defined there but the overlay has been removed from official Gentoo overlay index due to inactivity. The removal broke new initial checkouts for this repository as go-overlay can no longer be found. Gentoo bug for MegaCoffee: https://bugs.gentoo.org/903167 Gentoo bug that caused removal: https://bugs.gentoo.org/864653 Original repository: https://github.com/Dr-Terrible/go-overlay
author Migration Sync <gentoo-overlay@megacoffee.net>
date Mon, 27 Mar 2023 19:15:01 +0000
parents 4e2200ed1559
children
line wrap: on
line source

# Copyright 1999-2022 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.2.2"
DESKTOP_VIDEO_VERSION="12.2.2a6"
MEDIA_EXPRESS_VERSION="3.7a7"

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.2.2

	 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 don't use that and thus can't 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"
}