diff --git a/media-video/davinci-resolve-studio/Manifest b/media-video/davinci-resolve-studio/Manifest new file mode 100644 index 0000000..5ee7699 --- /dev/null +++ b/media-video/davinci-resolve-studio/Manifest @@ -0,0 +1,3 @@ +AUX defaults.list 288 BLAKE2B 01ec450413f2d24994433639b9309c111a8979f9370c9e2703ac7fab5ae6c1fdfacf7a74d2a486334769e146e0f9984bb464a50561f018214cb5f07db7471dc3 SHA512 4c8075f1c4b7a57d59cd009b1e42b7be48f16576c9a51e145ee4ad8af8785bedb9997539a08b53b5b03804f147c1751df02bdc62ebd70bfb88827137c235791a +DIST DaVinci_Resolve_Studio_18.6.4_Linux.zip 5574527752 BLAKE2B 8e9496bce4ebba6af1e4d60c9496df47992847027b16f6b09d88dc8ec107a6bd2cbb6fa9ac71ee47001cb98da043885cbfcf90af080b67f24a512e593ab23268 SHA512 121ad1397bd19fec30061780ff1aaeac21e6e79729ce20a2c341606118b93fce83acd0448607611395827cdb3952fbbf70cb4bd70067beb20335fd21803584bc +EBUILD davinci-resolve-studio-18.6.4.ebuild 7953 BLAKE2B 1d5f8cc75681968e7675ee44ae417cda6c2787cde8fdd11ce104f42f15fd48399ff79fa4c292fccc6eb535107523503af555ca58a1e967db3061cf50a7e4b0f5 SHA512 02705c2b06ce8ad65a46d31b1264fc73579922e89a8438f3f524e2819c803bb42a7b2d3f61735e87822fd2459093b9d0978ce37a48904a4accd276695e1a69b5 diff --git a/media-video/davinci-resolve-studio/davinci-resolve-studio-18.6.4.ebuild b/media-video/davinci-resolve-studio/davinci-resolve-studio-18.6.4.ebuild new file mode 100644 index 0000000..06406e2 --- /dev/null +++ b/media-video/davinci-resolve-studio/davinci-resolve-studio-18.6.4.ebuild @@ -0,0 +1,304 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# TODO: +# Panel Daemon is don't installed + +EAPI=8 +inherit check-reqs desktop udev xdg + +PKG_NAME="DaVinci_Resolve_Studio_${PV}_Linux" +PKG_HOME="/opt/resolve" +PKG_MOUNT="squashfs-root" + +LIBS_SYM=" + DaVinci Control Panels Setup/libxcb.so.1 + DaVinci Control Panels Setup/libavahi-common.so.3 + DaVinci Control Panels Setup/libavahi-client.so.3 + DaVinci Control Panels Setup/libdns_sd.so.1 + libs/libapr-1.so + libs/libapr-1.so.0 + libs/libapr-1.so.0.7.0 + libs/libaprutil-1.so + libs/libaprutil-1.so.0 + libs/libaprutil-1.so.0.6.1 + libs/libcdt.so + libs/libcdt.so.5 + libs/libcdt.so.5.0.0 + libs/libcgraph.so + libs/libcgraph.so.6 + libs/libcgraph.so.6.0.0 + libs/libcrypto.so.1.1 + libs/libcurl.so + libs/libgvc.so + libs/libgvc.so.6 + libs/libgvc.so.6.0.0 + libs/libgvpr.so + libs/libgvpr.so.2 + libs/libgvpr.so.2.0.0 + libs/liborc-0.4.so + libs/liborc-0.4.so.0 + libs/liborc-0.4.so.0.32.0 + libs/libpathplan.so + libs/libpathplan.so.4 + libs/libpathplan.so.4.0.0 + libs/libpq.so.5 + libs/libsoxr.so + libs/libsoxr.so.0 + libs/libsoxr.so.0.1.3 + libs/libsrtp2.so + libs/libsrtp2.so.2.4.0 + libs/libssl.so.1.1 + libs/libtbb.so.2 + libs/libtbbmalloc.so.2 + libs/libtbbmalloc_proxy.so.2 + libs/libxdot.so + libs/libxdot.so.4 + libs/libxdot.so.4.0.0 + libs/libxmlsec1-openssl.so + libs/libxmlsec1.so + Fairlight Studio Utility/libxcb.so.1 + Fairlight Studio Utility/libavahi-common.so.3 + Fairlight Studio Utility/libavahi-client.so.3 + Fairlight Studio Utility/libdns_sd.so.1 +" + +KEYWORDS="~amd64" +DESCRIPTION="Professional A/V post-production software suite from Blackmagic Design" +HOMEPAGE="https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion" +SRC_URI="${PKG_NAME}.zip" +RESTRICT="mirror strip test" +IUSE="bundled-libs developer video_cards_amdgpu video_cards_nvidia" + +DEPEND=" + app-arch/brotli + app-arch/lz4 + app-crypt/argon2 + dev-libs/fribidi + dev-libs/glib + dev-libs/icu + dev-libs/json-c + dev-libs/libgpg-error + dev-libs/libltdl + dev-libs/libunistring + dev-libs/nspr + dev-libs/nss + dev-qt/qt3d:5[gamepad,qml] + dev-qt/qtvirtualkeyboard:5 + gnome-base/librsvg + media-gfx/graphite2 + media-libs/flac + media-libs/harfbuzz + media-libs/libogg + media-libs/libpng-compat:1.2 + media-libs/libpulse + media-libs/libsndfile + media-libs/libvorbis + media-libs/opus + net-dns/libidn2 + net-libs/libasyncns + net-libs/nghttp2 + sys-apps/dbus + virtual/libcrypt + virtual/opencl + virtual/opengl + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXtst + x11-libs/libxcb + !bundled-libs? ( + =dev-libs/rocm-opencl-runtime-5.5.1 ) + video_cards_nvidia? ( x11-drivers/nvidia-drivers ) +" +RDEPEND="${DEPEND}" +BDEPEND="app-arch/unzip" + +LICENSE="Blackmagic" +SLOT="0" + +S="${WORKDIR}" +QA_PREBUILT="*" + +include_dir() { + local _dir + local exe + + _dir="$1" + + doins -r "${_dir}" + + # Reset permissions for executables + find "${_dir}" -type f | while read exe; do + fperms -x "${PKG_HOME}"/"${exe}" + done + # Set permissions for executables and libraries + find "${_dir}" -type f -name "*.so*" | while read exe; do + fperms +x "${PKG_HOME}"/"${exe}" + done + find "${_dir}" -type f -executable | while read exe; do + fperms +x "${PKG_HOME}"/"${exe}" + done +} + +pkg_pretend() { + CHECKREQS_DISK_BUILD="20G" + + check-reqs_pkg_pretend +} +pkg_setup() { + CHECKREQS_DISK_BUILD="20G" + + check-reqs_pkg_pretend +} + +src_unpack() { + default + + # Extract the archive from squashfs + ./${PKG_NAME}.run --appimage-extract +} + +src_prepare() { + default + cd ${PKG_MOUNT} + + # Set installation directory + sed -i -e "s|RESOLVE_INSTALL_LOCATION|${PKG_HOME}|g" share/*.desktop share/*.directory + + # Fix categories + sed -i -e "s|=Video|=AudioVideo|g" share/*.desktop + + # Remove 32bits apps + rm LUT/GenOutputLut LUT/GenLut || die + + # Remove glib-2.0 compiled with old pango + # And fix Davinci Resolve: libpango undefined symbol: g_string_free_and_steal + # https://www.reddit.com/r/Fedora/comments/12z32r1/davinci_resolve_libpango_undefined_symbol_g/ + rm libs/{libgio*,libglib*,libgmodule*,libgobject*} || die + + rm -rf libs/pkgconfig || die + + # Remove bundled libraries + if use !bundled-libs; then + local remove + echo "${LIBS_SYM}" | while read remove; do + if [ "${remove}" ]; then + rm "${remove}" || die + fi + done + + # remove some libraries + rm -rf libs/graphviz || die + find -name "libgcc_s.so.1" -delete || die + find -name "libusb*" -delete || die + fi + + # Remove license files + rm "BlackmagicRAWSpeedTest/Third Party Licenses.rtf" || die + rm "BlackmagicRAWPlayer/Third Party Licenses.rtf" || die +} + +src_install() { + cd ${PKG_MOUNT} + + insinto "${PKG_HOME}" + local _dir + for _dir in bin BlackmagicRAWPlayer BlackmagicRAWSpeedTest Certificates Control "DaVinci Control Panels Setup" \ + "Fairlight Studio Utility" Fusion graphics libs LUT plugins UI_Resource; do + include_dir "${_dir}" + done + + if use developer; then + include_dir Developer + fi + + insinto "${PKG_HOME}"/share + doins share/{default-config.dat,default_cm_config.bin,log-conf.xml} + + dodoc docs/{DaVinci_Resolve_Manual.pdf,ReadMe.html,Welcome.txt} + dodoc "Technical Documentation"/{"DaVinci Remote Panel.txt","User Configuration folders and customization.txt"} + + insinto "$(get_udevdir)"/rules.d + doins share/etc/udev/rules.d/*.rules + + insinto /usr/share/desktop-directories + doins share/*.directory + + insinto /etc/xdg/menus + doins share/*.menu + + insinto /usr/share/mime/packages/ + doins share/{blackmagicraw.xml,resolve.xml} + + diropts -m 0777 + keepdir "${PKG_HOME}/"{configs,DolbyVision,easyDCP,Fairlight,GPUCache,logs,Media,"Resolve Disk Database",.crashreport,.license,.LUT} + + keepdir "/var/BlackmagicDesign/DaVinci Resolve" + + # Install desktop shortcut + newmenu share/DaVinciControlPanelsSetup.desktop com.blackmagicdesign.resolve-Panels.desktop + newmenu share/DaVinciResolve.desktop com.blackmagicdesign.resolve.desktop + newmenu share/DaVinciResolveCaptureLogs.desktop com.blackmagicdesign.resolve-CaptureLogs.desktop + newmenu share/blackmagicraw-player.desktop com.blackmagicdesign.rawplayer.desktop + newmenu share/blackmagicraw-speedtest.desktop com.blackmagicdesign.rawspeedtest.desktop + + newmenu "${FILESDIR}"/defaults.list com.blackmagicdesign.list + + # Installing Application icons + local res + for res in 64 128; do + newicon -s ${res} graphics/DV_Resolve.png DaVinci-Resolve.png + newicon -s ${res} graphics/DV_ResolveProj.png DaVinci-ResolveProj.png + newicon -s ${res} graphics/DV_ServerAccess.png DaVinci-ResolveDbKey.png + done + + for res in 48 256; do + newicon -s ${res} graphics/blackmagicraw-speedtest_${res}x${res}_apps.png blackmagicraw-speedtest.png + newicon -s ${res} graphics/blackmagicraw-player_${res}x${res}_apps.png blackmagicraw-player.png + newicon -s ${res} -c mimetypes graphics/application-x-braw-clip_${res}x${res}_mimetypes.png application-x-braw-clip + done + + for res in 64 128; do + newicon -s ${res} -c mimetypes graphics/DV_ResolveBin.png application-x-resolvebin + newicon -s ${res} -c mimetypes graphics/DV_ResolveProj.png application-x-resolveproj + newicon -s ${res} -c mimetypes graphics/DV_ResolveTimeline.png application-x-resolvetimeline + newicon -s ${res} -c mimetypes graphics/DV_ServerAccess.png application-x-resolvedbkey + newicon -s ${res} -c mimetypes graphics/DV_TemplateBundle.png application-x-resolvetemplatebundle + done + + # create configuration for revdep-rebuild + echo "SEARCH_DIRS=\"${PKG_HOME}\"" > "${T}/80${PN}" || die + echo "LD_LIBRARY_MASK=\"libsonyxavcenc.so\"" >> "${T}/80${PN}" || die + insinto "/etc/revdep-rebuild" + doins "${T}/80${PN}" +} + +pkg_preinst() { + xdg_pkg_preinst +} + +pkg_postinst() { + udev_reload + xdg_pkg_postinst +} + +pkg_postrm() { + udev_reload + xdg_pkg_postrm +} diff --git a/media-video/davinci-resolve-studio/files/defaults.list b/media-video/davinci-resolve-studio/files/defaults.list new file mode 100644 index 0000000..a8bd7a2 --- /dev/null +++ b/media-video/davinci-resolve-studio/files/defaults.list @@ -0,0 +1,5 @@ +[Default Applications] +application/x-resolveproj=com.blackmagicdesign.resolve.desktop +application/x-resolvebin=com.blackmagicdesign.resolve.desktop +application/x-resolvetimeline=com.blackmagicdesign.resolve.desktop +application/x-resolvetemplatebundle=com.blackmagicdesign.resolve.desktop