From 01cf1d5fb6f6a9c6c82af8ba775c5262f81661db Mon Sep 17 00:00:00 2001 From: Joshua Campbell Date: Thu, 22 Aug 2024 12:52:52 -0700 Subject: [PATCH 1/3] davinci-resolve: improve updateScript functionality updateScript regex was only set to capture major.minor.patch versions which causes it to miss major.minor releases --- pkgs/applications/video/davinci-resolve/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix index 574de6f427b1..29008124761d 100644 --- a/pkgs/applications/video/davinci-resolve/default.nix +++ b/pkgs/applications/video/davinci-resolve/default.nix @@ -271,13 +271,13 @@ buildFHSEnv { currentVersion=${lib.escapeShellArg davinci.version} downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)" - latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+\.\d+' | sort | tail -n 1)" + latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)" update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src # Since the standard and studio both use the same version we need to reset it before updating studio sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv" - latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+\.\d+' | sort | tail -n 1)" + latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)" update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src ''; }); From 03a80c7ac291d932e24fc67a6f80a7a673a01f9c Mon Sep 17 00:00:00 2001 From: Joshua Campbell Date: Thu, 22 Aug 2024 20:16:07 -0700 Subject: [PATCH 2/3] davinci-resolve: refactor use downloadTitle instead of name downloadTitle from BlackMagic has a more consistent naming convention than name "downloadTitle": "DaVinci Resolve 19.0" "name": "DaVinci Resolve 19" --- pkgs/applications/video/davinci-resolve/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix index 29008124761d..7424af4b9e19 100644 --- a/pkgs/applications/video/davinci-resolve/default.nix +++ b/pkgs/applications/video/davinci-resolve/default.nix @@ -94,7 +94,7 @@ let } '' DOWNLOADID=$( curl --silent --compressed "$DOWNLOADSURL" \ - | jq --raw-output '.downloads[] | select(.name | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .urls.Linux[0].downloadId' + | jq --raw-output '.downloads[] | .urls.Linux?[]? | select(.downloadTitle | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .downloadId' ) echo "downloadid is $DOWNLOADID" test -n "$DOWNLOADID" From dc9a240a0c499399abe91d742599cca8fb25258e Mon Sep 17 00:00:00 2001 From: Joshua Campbell Date: Thu, 22 Aug 2024 20:17:31 -0700 Subject: [PATCH 3/3] davinci-resolve: 18.6.6 -> 19.0 --- pkgs/applications/video/davinci-resolve/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix index 7424af4b9e19..7bde503bd7ae 100644 --- a/pkgs/applications/video/davinci-resolve/default.nix +++ b/pkgs/applications/video/davinci-resolve/default.nix @@ -34,7 +34,7 @@ let davinci = ( stdenv.mkDerivation rec { pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; - version = "18.6.6"; + version = "19.0"; nativeBuildInputs = [ (appimage-run.override { buildFHSEnv = buildFHSEnvChroot; } ) @@ -55,8 +55,8 @@ let outputHashAlgo = "sha256"; outputHash = if studioVariant - then "sha256-9iTdIjHH8uoXlVr6miyqmHuzbbpbqdJPEbPGycsccoI=" - else "sha256-WrIQ1FHm65MOGb5HfFl2WzXYJRlqktuZdrtzcjWp1gI="; + then "sha256-KxoUXHMlgWoa00GSq/DLVgyOjuv7k8aUwl20XvDRZvc=" + else "sha256-XQP5RL/p/voQePLiBr1Hc+dBUZHW39XxDjyxKJyKXxw="; impureEnvVars = lib.fetchers.proxyImpureEnvVars;