version bump: blackmagic-desktop-video-12.2.2

this fixes building on Linux >=5.15
This commit is contained in:
Brian S. Stephan 2022-01-15 18:31:18 -06:00
parent 0dcd8a7ef1
commit bbc0d4deb8
Signed by: bss
GPG Key ID: 3DE06D3180895FCB
2 changed files with 188 additions and 0 deletions

View File

@ -1 +1,2 @@
DIST Blackmagic_Desktop_Video_Linux_12.2.2.tar.gz 1028412541 BLAKE2B 41e315fe1409fd1b52e9e8aea7962c4df456afec03ef157562e71e90e2de5cfee64be946875975c633f7ef1b642631bb3c470e4b4c3a4ffb1eba77054413a0f7 SHA512 5a4db07201f399b8f29041649babd34105fc384a7a86e869d32693647ab438b75a6a0ba393ca09a8edd31adb799ca19e2e3f560809067eab0e995c2c9b56e623
DIST Blackmagic_Desktop_Video_Linux_12.2.tar.gz 1028551320 BLAKE2B a373e26eb63552c204978a74a66b172d6aa6fcbd520f2f50a3bfaa3c31e4a2dc824dd8f62e47f882343a545f5c8387ead25c79e1e71accfe19d9da37ba3bf8f9 SHA512 fc33fa7655fb2984832b4485fad55c54c958e2cc6b9dabdf39d71f3d9b87aeb0823956ba771cea25db03321d95b7e6e0f601d4aabfbe4438a925da5a8bd26652

View File

@ -0,0 +1,187 @@
# Copyright 1999-2020 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# TODOs:
# - fix QA notice about installing symlinks in /usr/lib
EAPI=6
inherit linux-mod
DESCRIPTION="Desktop Video - drivers and tools for products by Blackmagic Design including DeckLink and Intensity"
HOMEPAGE="http://www.blackmagicdesign.com/"
HOMEPAGE_DOWNLOAD_NAME="Desktop Video ${PV}"
SRC_URI="Blackmagic_Desktop_Video_Linux_${PV}.tar.gz"
DESKTOP_VIDEO_SHORT_VERSION="12.2.2"
DESKTOP_VIDEO_VERSION="12.2.2a6"
CONTAINER_DIR="Blackmagic_Desktop_Video_Linux_${DESKTOP_VIDEO_SHORT_VERSION}"
UNPACKED_DIR="desktopvideo-${DESKTOP_VIDEO_VERSION}-x86_64"
LICENSE="BlackmagicDesktopVideo"
SLOT="0"
KEYWORDS="~amd64"
IUSE="autostart"
RESTRICT="fetch splitdebug"
# dependencies found via command: (ldd would include transitive dependencies)
# equery belongs $(for file in /usr/lib/libDeckLink* /usr/lib/blackmagic/*; do objdump -p $file | grep NEEDED; done 2>/dev/null | cut -b24- | sort | uniq | grep -vE 'lib(Qt5(Core|Network|Gui|Widgets)|qxcb|qgtk2|DeckLink)')
DEPEND=""
RDEPEND="${DEPEND}
media-libs/mesa
sys-devel/gcc
sys-libs/glibc
sys-libs/libcxx
sys-libs/libcxxabi
"
# supress QA warnings about stripping etc., i.e. stuff we cannot change since we install prebuilt binaries
QA_PREBUILT="opt/blackmagic-desktop-video/usr/bin/* opt/blackmagic-desktop-video/usr/lib/*"
# for kernel module compilation
MODULE_NAMES="blackmagic(misc:${S}/usr/src/blackmagic-${DESKTOP_VIDEO_VERSION}:${S}/usr/src/blackmagic-${DESKTOP_VIDEO_VERSION}) blackmagic-io(misc:${S}/usr/src/blackmagic-io-${DESKTOP_VIDEO_VERSION}:${S}/usr/src/blackmagic-io-${DESKTOP_VIDEO_VERSION})"
BUILD_PARAMS="-j1"
BUILD_TARGETS="clean all"
pkg_nofetch() {
# 1 2 3 4 5 6 7 8
# 1234567890123456789012345678901234567890123456789012345678901234567890123456789012
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 ${CONTAINER_DIR}/other/x86_64/desktopvideo-${DESKTOP_VIDEO_VERSION}-x86_64.tar.gz
# symlink to what is supposed to have been prepared
ln -s ${UNPACKED_DIR} ${P}
}
src_compile() {
# library/tools are binary but kernel module requires compilation
linux-mod_src_compile
}
src_install() {
# all pre-built binaries should go into /opt and be symlinked to usr/bin etc.
finalinstalldir="/opt/blackmagic-desktop-video"
installdir="${D}${finalinstalldir}"
mkdir -p ${installdir}
cp -a ${WORKDIR}/${UNPACKED_DIR}/* ${installdir}/
# copy text files (readme and license) from parent directory
cp -a ${WORKDIR}/${CONTAINER_DIR}/*.txt ${installdir}/
# there should a blank directory in /etc according to the archive...
mkdir -p ${installdir}/etc/blackmagic
chmod 755 ${installdir}/etc/blackmagic
# NOTE: Not linking usr/lib/systemd as I don't use that and thus can't test it...
symlinks=(
'etc/init.d/DesktopVideoHelper'
'usr/bin/BlackmagicDesktopVideoSetup'
'usr/bin/DesktopVideoUpdateTool'
'usr/bin/DesktopVideoUpdater'
'usr/lib/blackmagic'
'usr/lib/libDeckLinkAPI.so'
'usr/lib/libDeckLinkPreviewAPI.so'
'usr/share/applications/BlackmagicDesktopVideoSetup.desktop'
'usr/share/applications/DesktopVideoUpdater.desktop'
'usr/share/doc/desktopvideo'
'usr/share/doc/desktopvideo-gui'
'usr/share/icons/hicolor/16x16/apps/BlackmagicDesktopVideoSetup.png'
'usr/share/icons/hicolor/16x16/apps/DesktopVideoUpdater.png'
'usr/share/icons/hicolor/32x32/apps/BlackmagicDesktopVideoSetup.png'
'usr/share/icons/hicolor/32x32/apps/DesktopVideoUpdater.png'
'usr/share/icons/hicolor/48x48/apps/BlackmagicDesktopVideoSetup.png'
'usr/share/icons/hicolor/48x48/apps/DesktopVideoUpdater.png'
'usr/share/icons/hicolor/128x128/apps/BlackmagicDesktopVideoSetup.png'
'usr/share/icons/hicolor/128x128/apps/DesktopVideoUpdater.png'
'usr/share/icons/hicolor/256x256/apps/BlackmagicDesktopVideoSetup.png'
'usr/share/icons/hicolor/256x256/apps/DesktopVideoUpdater.png'
)
for path in "${symlinks[@]}"; do
dosym /opt/blackmagic-desktop-video/${path} ${path}
done
# 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
# NOTE: DesktopVideoHelper appears to have disappeared, so we won't install the man page either
doman usr/share/man/man1/BlackmagicDesktopVideoSetup.1
doman usr/share/man/man1/BlackmagicFirmwareUpdater.1
doman usr/share/man/man1/DesktopVideoHelper.1
doman usr/share/man/man1/DesktopVideoUpdateTool.1
doman usr/share/man/man1/DesktopVideoUpdater.1
# udev rules should be placed in /lib/udev/rules.d instead
dosym /opt/blackmagic-desktop-video/etc/udev/rules.d/55-blackmagic.rules /lib/udev/rules.d/55-blackmagic.rules
# add firmware check to autostart?
if use autostart; then
dosym /opt/blackmagic-desktop-video/etc/xdg/autostart/DesktopVideoUpdaterAutoStart.desktop /etc/xdg/autostart/DesktopVideoUpdaterAutoStart.desktop
fi
# kernel module
linux-mod_src_install
}
pkg_postinst() {
# kernel module
linux-mod_pkg_postinst
# 12345678901234567890123456789012345678901234567890123456789012345678901234567890
einfo ""
einfo "Please do *NOT* report any QA errors to Gentoo or Blackmagic!"
einfo ""
einfo "Kernel modules are blackmagic and blackmagic-io. Try blackmagic if in doubt."
einfo "When upgrading, please rmmod both first. Then modprobe blackmagic to see if it"
einfo "works (it should print your devices to kernel log)."
einfo ""
einfo "Installed tools are DesktopVideoUpdateTool (CLI), DesktopVideoUpdater (GUI) and"
einfo "BlackmagicDesktopVideoSetup."
einfo ""
einfo "For Media Express emerge media-video/blackmagic-media-express."
einfo ""
if use autostart; then
einfo "Automated firmware update check has been installed."
else
einfo "Automated firmware update check has *not* been installed this time."
einfo "(set USE flag autostart if you want that)"
fi
einfo ""
einfo "If your product is not being recognized, there are two common reasons:"
einfo ""
einfo " 1) You may need to increase the vmalloc limit in your kernel."
einfo " This can be done by adding e.g. vmalloc=256M to your kernel boot line. You"
einfo " can see current usage by running"
einfo ""
einfo " # grep VmallocUsed /proc/meminfo"
einfo ""
einfo " 2) Your firmware may be outdated. Make sure you reload the modules (or simply"
einfo " reboot) and then run DesktopVideoUpdateTool (CLI) or, if you prefer,"
einfo " DesktopVideoUpdater (GUI)"
einfo ""
einfo "Licenses can be found in: ${finalinstalldir}/usr/share/doc/"
einfo ""
einfo "We are reloading udev rules now..."
/bin/udevadm control --reload-rules || einfo " ... failed, you may want to check this before rebooting!"
}
pkg_postrm() {
# kernel module
linux-mod_pkg_postrm
}