diff options
author | Alex S | 2022-09-22 19:32:15 +0200 |
---|---|---|
committer | Alex S | 2022-09-22 19:32:15 +0200 |
commit | ed5ac54c384f3411cc85cf66f52fcdce98e15d57 (patch) | |
tree | bc7481ccc77fb50a5419a51f91609c8fcaaab698 /PKGBUILD | |
parent | b03cd25bda0787d298753aaea0e7fd43a9285e39 (diff) | |
download | aur-ed5ac54c384f3411cc85cf66f52fcdce98e15d57.tar.gz |
Update to version 18.0.3
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 225 |
1 files changed, 113 insertions, 112 deletions
@@ -7,8 +7,8 @@ # This was originally written by Daniel Bermond in blackmagic-decklink-sdk pkgbuild # It is sufficient to just replace _downloadid to correspond new release version # It can be obtained from chromium -> Developer Tools -> Network -> XHR -> click latest-version and copy downloadId -_downloadid='3355657703a0429a8a197030e84cdf76' -_referid='8656a557554d47a0a6d90ff47e65f009' +_downloadid='3573fb7e028a4103a823b54c784efb4e' +_referid='92653fd9942e442695463be9674da459' _siteurl="https://www.blackmagicdesign.com/api/register/us/download/${_downloadid}" _useragent="User-Agent: Mozilla/5.0 (X11; Linux ${CARCH}) \ @@ -61,140 +61,141 @@ DLAGENTS=("https::/usr/bin/curl \ pkgname=davinci-resolve _pkgname=resolve resolve_app_name=com.blackmagicdesign.resolve -pkgver=18.0.1 +pkgver=18.0.3 pkgrel=1 -arch=('any') +arch=('x86_64') url="https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion" license=('Commercial') -depends=('glu' 'gtk2' 'gstreamer' 'libpng12' 'lib32-libpng12' 'ocl-icd' 'openssl-1.0' 'fuse2' - 'opencl-driver' 'qt5-base' 'qt5-svg' 'qt5-webkit' 'qt5-webengine' 'qt5-websockets' 'libxcrypt-compat') -makedepends=('libarchive' 'xdg-user-dirs') +depends=('glu' 'gtk2' 'gstreamer' 'libpng12' 'ocl-icd' 'openssl-1.0' 'fuse2' + 'opencl-driver' 'qt5-base' 'qt5-svg' 'qt5-webkit' 'qt5-webengine' 'qt5-websockets' 'libxcrypt-compat' + 'shared-mime-info' 'gtk-update-icon-cache') +makedepends=('libarchive' 'xdg-user-dirs' 'patchelf') options=('!strip') -provides=('davinci-resolve') -install=davinci-resolve.install if [ ${pkgname} == "davinci-resolve-studio" ]; then # Variables for STUDIO edition pkgdesc='Professional A/V post-production software suite from Blackmagic Design. Studio edition, requires license key or license dongle.' _archive_name=DaVinci_Resolve_Studio_${pkgver}_Linux - sha256sums=('247897f7b8d79cd85308021a69964eeb50de872271c091145307ba7c56a5d1bb') - conflicts=('davinci-resolve-beta' 'davinci-resolve' 'davinci-resolve-studio-beta') + sha256sums=('14b138f5d13950b44212a7a178ab3ff85dcce9bd37af0457c263715b4ffc48a1') + conflicts=('davinci-resolve' 'davinci-resolve-beta' 'davinci-resolve-studio-beta') else # Variables for FREE edition pkgdesc='Professional A/V post-production software suite from Blackmagic Design' _archive_name=DaVinci_Resolve_${pkgver}_Linux - sha256sums=('b942bcae650d35355aa6a104809875bc51acd994504ddc62d18a516f660aa3cb') + sha256sums=('419a007310a24842e629baabf45b7e0c21716e8ffe1a6d7a85844181fcc7e09a') conflicts=('davinci-resolve-studio' 'davinci-resolve-beta' 'davinci-resolve-studio-beta') fi _archive=${_archive_name}.zip _installer_binary=${_archive_name}.run - -if [ ! -f ${PWD}/${_archive} ]; then - DOWNLOADS_DIR=`xdg-user-dir DOWNLOAD` - if [ -f $DOWNLOADS_DIR/${_archive} ]; then - ln -sfn $DOWNLOADS_DIR/${_archive} ${PWD} - source=("local://${_archive}") - else - source=("${_archive}"::"$_srcurl") - fi -else - source=("local://${_archive}") -fi +source=("${_archive}"::"$_srcurl") prepare() { - # Remove udev rules (The official installer does not remove these files. This leads to the conflict "exists in the file system".) - confiles=$(find /usr/lib/udev/rules.d -name 75-davincipanel.rules -o -name 75-sdx.rules 2> /dev/null | awk -F/ '{print $NF}' - find /opt/resolve/configs -name log-conf.xml -o -name config.dat 2> /dev/null | awk -F/ '{print $NF}' - ) - if [ "${confiles}" ]; then - echo -e "\033[1m==> The file(s) $(echo ${confiles} | xargs | sed 's/ /, /g') already exist in your filesystem.\033[0m" - echo -e "\033[1m==> This can lead to a conflict and the installation will fail.\033[0m" - echo -e "\033[1m==> Please restart the installation with the --overwrite option.\033[0m" - fi + pushd "${srcdir}" + chmod u+x "${srcdir}/${_installer_binary}" + "${srcdir}/${_installer_binary}" --appimage-extract + popd + + # Fix permission to all files and dirs + chmod -R u+rwX,go+rX,go-w "${srcdir}/squashfs-root" + + pushd "${srcdir}/squashfs-root/share/panels" + tar -zxvf dvpanel-framework-linux-x86_64.tgz + chmod -R u+rwX,go+rX,go-w "${srcdir}/squashfs-root/share/panels/lib" + mv *.so "${srcdir}/squashfs-root/libs" + mv lib/* "${srcdir}/squashfs-root/libs" + popd + + rm -rf "${srcdir}"/squashfs-root/installer "${srcdir}"/squashfs-root/installer* "${srcdir}"/squashfs-root/AppRun "${srcdir}"/squashfs-root/AppRun* + + while IFS= read -r -d '' i; do + chmod 0755 "${i}" + done < <(find "${srcdir}/squashfs-root" -type d -print0) + + while IFS= read -r -d '' i; do + [[ -f "${i}" && $(od -t x1 -N 4 "${i}") == *"7f 45 4c 46"* ]] || continue + chmod 0755 "${i}" + done < <(find "${srcdir}/squashfs-root" -type f -print0) + + while IFS= read -r -d '' i; do + [[ -f "${i}" && $(od -t x1 -N 4 "${i}") == *"7f 45 4c 46"* ]] || continue + patchelf --set-rpath \ +'/opt/'"${_pkgname}"'/libs:'\ +'/opt/'"${_pkgname}"'/libs/plugins/sqldrivers:'\ +'/opt/'"${_pkgname}"'/libs/plugins/xcbglintegrations:'\ +'/opt/'"${_pkgname}"'/libs/plugins/imageformats:'\ +'/opt/'"${_pkgname}"'/libs/plugins/platforms:'\ +'/opt/'"${_pkgname}"'/libs/Fusion:'\ +'/opt/'"${_pkgname}"'/plugins:'\ +'/opt/'"${_pkgname}"'/bin:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWSpeedTest/BlackmagicRawAPI:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWSpeedTest/plugins/platforms:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWSpeedTest/plugins/imageformats:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWSpeedTest/plugins/mediaservice:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWSpeedTest/plugins/audio:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWSpeedTest/plugins/xcbglintegrations:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWSpeedTest/plugins/bearer:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWPlayer/BlackmagicRawAPI:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWPlayer/plugins/mediaservice:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWPlayer/plugins/imageformats:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWPlayer/plugins/audio:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWPlayer/plugins/platforms:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWPlayer/plugins/xcbglintegrations:'\ +'/opt/'"${_pkgname}"'/BlackmagicRAWPlayer/plugins/bearer:'\ +'/opt/'"${_pkgname}"'/Onboarding/plugins/xcbglintegrations:'\ +'/opt/'"${_pkgname}"'/Onboarding/plugins/qtwebengine:'\ +'/opt/'"${_pkgname}"'/Onboarding/plugins/platforms:'\ +'/opt/'"${_pkgname}"'/Onboarding/plugins/imageformats:'\ +'/opt/'"${_pkgname}"'/DaVinci Control Panels Setup/plugins/platforms:'\ +'/opt/'"${_pkgname}"'/DaVinci Control Panels Setup/plugins/imageformats:'\ +'/opt/'"${_pkgname}"'/DaVinci Control Panels Setup/plugins/bearer:'\ +'/opt/'"${_pkgname}"'/DaVinci Control Panels Setup/AdminUtility/PlugIns/DaVinciKeyboards:'\ +'/opt/'"${_pkgname}"'/DaVinci Control Panels Setup/AdminUtility/PlugIns/DaVinciPanels:'\ +'$ORIGIN' "${i}" + done < <(find "${srcdir}/squashfs-root" -type f -size -32M -print0) + + while IFS= read -r -d '' i; do + sed -i "s|RESOLVE_INSTALL_LOCATION|/opt/${_pkgname}|g" "${i}" + done < <(find . -type f '(' -name "*.desktop" -o -name "*.directory" -o -name "*.directory" -o -name "*.menu" ')' -print0) + + ln -s "${srcdir}/squashfs-root/BlackmagicRAWPlayer/BlackmagicRawAPI" "${srcdir}/squashfs-root/bin/" + + echo "StartupWMClass=resolve" >> "${srcdir}/squashfs-root/share/DaVinciResolve.desktop" + + echo 'SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="096e", MODE="0666"' > "${srcdir}/squashfs-root/share/etc/udev/rules.d/99-DavinciPanel.rules" } package() { - echo -e "\033[1m==> Creating missing folders...\033[0m" - mkdir -p -m 0775 "${pkgdir}/opt/${_pkgname}/"{configs,DolbyVision,easyDCP,Fairlight,GPUCache,logs,Media,"Resolve Disk Database",.crashreport,.license,.LUT} - mkdir -p "${pkgdir}/usr/share/"{applications,desktop-directories,icons/hicolor,mime/packages} -# mkdir -p "${pkgdir}/tmp/${_pkgname}/"{logs,GPUCache} - mkdir -p "${pkgdir}/usr/lib/udev/rules.d" - mkdir -p "${pkgdir}/etc/xdg/menus" - - echo -e "\033[1m==> Extracting from bundle...\033[0m" - echo -e "\033[1mPlease wait, this take a while...\033[0m" - cd "${srcdir}" || exit - chmod u+x ./${_installer_binary} - ./${_installer_binary} -i -y -n -a -C "${pkgdir}/opt/${_pkgname}" - rm -rf ${_installer_binary} - -#### No longer necessary -# echo -e "\033[1m==> Add lib symlinks...\033[0m" -# cd "${pkgdir}/opt/${_pkgname}/" || exit -# ln -s /usr/lib/libcrypto.so.1.0.0 libs/libcrypto.so.10 -# ln -s /usr/lib/libssl.so.1.0.0 libs/libssl.so.10 -#### - - echo -e "\033[1m==> Install launchers and configs...\033[0m" - cd "${pkgdir}/opt/${_pkgname}/" || exit - install -Dm666 share/default-config.dat "${pkgdir}/opt/${_pkgname}/configs/config.dat" - install -Dm666 share/log-conf.xml "${pkgdir}/opt/${_pkgname}/configs/log-conf.xml" - install -Dm666 share/default_cm_config.bin "${pkgdir}/opt/${_pkgname}/DolbyVision/config.bin" - install -Dm644 share/DaVinciResolve.desktop "${pkgdir}/usr/share/applications/${resolve_app_name}.desktop" - install -Dm644 share/DaVinciControlPanelsSetup.desktop "${pkgdir}/usr/share/applications/${resolve_app_name}-Panels-Setup.desktop" - install -Dm644 share/DaVinciResolveInstaller.desktop "${pkgdir}/usr/share/applications/${resolve_app_name}-Installer.desktop" - install -Dm644 share/DaVinciResolveCaptureLogs.desktop "${pkgdir}/usr/share/applications/${resolve_app_name}-CaptureLogs.desktop" - install -Dm644 share/blackmagicraw-player.desktop "${pkgdir}/usr/share/applications/blackmagicraw-player.desktop" - install -Dm644 share/blackmagicraw-speedtest.desktop "${pkgdir}/usr/share/applications/blackmagicraw-speedtest.desktop" - install -Dm644 share/DaVinciResolve.directory "${pkgdir}/usr/share/desktop-directories/${resolve_app_name}.directory" - install -Dm644 share/DaVinciResolve.menu "${pkgdir}/etc/xdg/menus/${resolve_app_name}.menu" - - for _file in $(find ${pkgdir}/usr/share ${pkgdir}/etc -type f -name *.desktop -o -name *.directory -o -name *.menu | xargs) - do - sed -i "s|RESOLVE_INSTALL_LOCATION|/opt/${_pkgname}|g" $_file - done - - # This will help adding the app to favorites and prevent glitches on many desktops. - echo "StartupWMClass=resolve" >> "${pkgdir}/usr/share/applications/${resolve_app_name}.desktop" - - echo -e "\033[1m==> Creating and installing udev rules...\033[0m" - echo 'SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="096e", MODE="0666"' > "${pkgdir}/usr/lib/udev/rules.d/75-davincipanel.rules" - echo 'SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1edb", MODE="0666"' > "${pkgdir}/usr/lib/udev/rules.d/75-sdx.rules" - chmod 644 "${pkgdir}/usr/lib/udev/rules.d/"{75-davincipanel.rules,75-sdx.rules} - -# Not sure we need it -# echo -e "\033[1m==> Any final tweaks...\033[0m" -# ln -s "/tmp/${_pkgname}/logs" "${pkgdir}/opt/${_pkgname}/logs" -# ln -s "/tmp/${_pkgname}/GPUCache" "${pkgdir}/opt/${_pkgname}/GPUCache" - - echo -e "\033[1m==> Installing Application icons...\033[0m" - # Obviously not working without root privileges. -# XDG_DATA_DIRS="${pkgdir}/usr/share/icons/hicolor" xdg-icon-resource install --size 64 "${pkgdir}/opt/${_pkgname}/graphics/DV_Resolve.png" DaVinci-Resolve 2>&1 >> /dev/null -# XDG_DATA_DIRS="${pkgdir}/usr/share/icons/hicolor" xdg-icon-resource install --size 64 "${pkgdir}/opt/${_pkgname}/graphics/DV_ResolveProj.png" DaVinci-ResolveProj 2>&1 >> /dev/null -# XDG_DATA_DIRS="${pkgdir}/usr/share/icons/hicolor" xdg-icon-resource install --size 64 --context mimetypes "${pkgdir}/opt/${_pkgname}/graphics/DV_ResolveProj.png" application-x-resolveproj 2>&1 >> /dev/null -# XDG_DATA_DIRS="${pkgdir}/usr/share/mime/packages" xdg-mime install --novendor "${pkgdir}/opt/${_pkgname}/share/resolve.xml" 2>&1 >> /dev/null - install -D -m644 graphics/DV_Resolve.png "${pkgdir}/usr/share/icons/hicolor/64x64/apps/DV_Resolve.png" - install -D -m644 graphics/DV_ResolveProj.png "${pkgdir}/usr/share/icons/hicolor/64x64/apps/DV_ResolveProj.png" - - install -D -m644 share/resolve.xml "${pkgdir}/usr/share/mime/packages/resolve.xml" - - echo -e "\033[1m==> Setting the right permissions...\033[0m" - - if [ ! "$(logname 2>&1 >/dev/null)" ]; then - _user=$(logname) - _group=$(id -g -n ${_user}) - else - _user=root - _group=root - fi - - chown -R ${_user}:${_group} "${pkgdir}/opt/${_pkgname}/"{*,.*} - chown -R ${_user}:root "${pkgdir}/opt/${_pkgname}/"{configs,DolbyVision,easyDCP,Fairlight,logs,Media,'Resolve Disk Database',.crashreport,.license,.LUT} - - echo -e "\033[1m==> Done!\033[0m" + mkdir -p -m 0755 "${pkgdir}/opt/${_pkgname}/"{configs,DolbyVision,easyDCP,Fairlight,GPUCache,logs,Media,"Resolve Disk Database",.crashreport,.license,.LUT} + + # Install the squashfs-root + cp -rf "${srcdir}"/squashfs-root/* "${pkgdir}/opt/${_pkgname}" + + # Distribute files into other directories + pushd "${pkgdir}/opt/${_pkgname}/" + install -Dm0644 share/default-config.dat -t "${pkgdir}/opt/${_pkgname}/configs" + install -Dm0644 share/log-conf.xml -t "${pkgdir}/opt/${_pkgname}/configs" + install -Dm0644 share/default_cm_config.bin -t "${pkgdir}/opt/${_pkgname}/DolbyVision" + + install -Dm0644 share/DaVinciResolve.desktop -t "${pkgdir}/usr/share/applications" + install -Dm0644 share/DaVinciControlPanelsSetup.desktop -t "${pkgdir}/usr/share/applications" + install -Dm0644 share/DaVinciResolveInstaller.desktop -t "${pkgdir}/usr/share/applications" + install -Dm0644 share/DaVinciResolveCaptureLogs.desktop -t "${pkgdir}/usr/share/applications" + install -Dm0644 share/blackmagicraw-player.desktop -t "${pkgdir}/usr/share/applications" + install -Dm0644 share/blackmagicraw-speedtest.desktop -t "${pkgdir}/usr/share/applications" + + install -Dm0644 share/DaVinciResolve.directory -t "${pkgdir}/usr/share/desktop-directories" + install -Dm0644 share/DaVinciResolve.menu -t "${pkgdir}/etc/xdg/menus" + install -Dm0644 graphics/DV_Resolve.png -t "${pkgdir}/usr/share/icons/hicolor/64x64/apps" + install -Dm0644 graphics/DV_ResolveProj.png -t "${pkgdir}/usr/share/icons/hicolor/64x64/apps" + install -Dm0644 share/resolve.xml -t "${pkgdir}/usr/share/mime/packages" + + install -Dm0644 share/etc/udev/rules.d/99-BlackmagicDevices.rules -t "${pkgdir}/usr/lib/udev/rules.d" + install -Dm0644 share/etc/udev/rules.d/99-ResolveKeyboardHID.rules -t "${pkgdir}/usr/lib/udev/rules.d" + install -Dm0644 share/etc/udev/rules.d/99-DavinciPanel.rules -t "${pkgdir}/usr/lib/udev/rules.d" + popd } -# vim: fileencoding=utf-8 sts=4 sw=4 noet +# vim: fileencoding=utf-8 sts=4 sw=4 noet
\ No newline at end of file |