summary refs log tree commit diff
path: root/pkgs/tools/video
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/video')
-rw-r--r--pkgs/tools/video/blackmagic-desktop-video/default.nix2
-rw-r--r--pkgs/tools/video/go2rtc/default.nix6
-rw-r--r--pkgs/tools/video/lux/default.nix24
-rw-r--r--pkgs/tools/video/mjpegtools/c++-17-fixes.patch44
-rw-r--r--pkgs/tools/video/mjpegtools/default.nix4
-rw-r--r--pkgs/tools/video/rav1e/default.nix28
-rw-r--r--pkgs/tools/video/recyclarr/default.nix11
-rw-r--r--pkgs/tools/video/vcsi/default.nix18
8 files changed, 90 insertions, 47 deletions
diff --git a/pkgs/tools/video/blackmagic-desktop-video/default.nix b/pkgs/tools/video/blackmagic-desktop-video/default.nix
index dc6f2eff787..435db1221ea 100644
--- a/pkgs/tools/video/blackmagic-desktop-video/default.nix
+++ b/pkgs/tools/video/blackmagic-desktop-video/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
       SITEURL = "https://www.blackmagicdesign.com/api/register/us/download/${DOWNLOADID}";
 
       USERAGENT = builtins.concatStringsSep " " [
-        "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.targetPlatform.linuxArch})"
+        "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.hostPlatform.linuxArch})"
         "AppleWebKit/537.36 (KHTML, like Gecko)"
         "Chrome/77.0.3865.75"
         "Safari/537.36"
diff --git a/pkgs/tools/video/go2rtc/default.nix b/pkgs/tools/video/go2rtc/default.nix
index d3e572fae51..9b0f9bbe3f7 100644
--- a/pkgs/tools/video/go2rtc/default.nix
+++ b/pkgs/tools/video/go2rtc/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go2rtc";
-  version = "1.7.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "AlexxIT";
     repo = "go2rtc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-w3yn8Xn09VdbSAnOey9YFW4qf6+h1xmdgYfIcf6Q1lY=";
+    hash = "sha256-3cWhASwOgSovApNT/MUbhHhmp/o4k3ckgfcSFwJJqI8=";
   };
 
-  vendorHash = "sha256-VI6OODJLKrCvehM4W96Qh3PvZoIM2GlE5cgyvSaCv+8=";
+  vendorHash = "sha256-SV4sMDgUv6Ci0aC7wsam7ftqMSpFwsMGkC9qLpR+O68=";
 
   buildFlagArrays = [
     "-trimpath"
diff --git a/pkgs/tools/video/lux/default.nix b/pkgs/tools/video/lux/default.nix
index 79b3eec9e5b..f6a4ea61f2d 100644
--- a/pkgs/tools/video/lux/default.nix
+++ b/pkgs/tools/video/lux/default.nix
@@ -1,33 +1,43 @@
-{ lib, buildGoModule, fetchFromGitHub, makeWrapper, ffmpeg }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+, ffmpeg
+}:
 
 buildGoModule rec {
   pname = "lux";
-  version = "0.19.0";
+  version = "0.21.0";
+
   src = fetchFromGitHub {
     owner = "iawia002";
     repo = "lux";
     rev = "v${version}";
-    sha256 = "sha256-klm1985qBErFfYIWPjr1/n6nYr/jA9dbrDMfw4bf1tM=";
+    hash = "sha256-LCYWfF7O8wByCJNDi2BZsI7EU6wJqhcr/sbNOoQ2Src=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
-  vendorHash = "sha256-7wgGJYiIsVTRSuSb4a9LgYCkkayGhNMKqcIKoDxMuAM=";
+  vendorHash = "sha256-wW/jrsurmyLcDX+58lp0M+snJ2avEs0HciNZ8BgIqrI=";
 
-  ldflags = [ "-s" "-w" ];
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/iawia002/lux/app.version=v${version}"
+  ];
 
   postInstall = ''
     wrapProgram $out/bin/lux \
       --prefix PATH : ${lib.makeBinPath [ ffmpeg ]}
   '';
 
-  doCheck = false;
+  doCheck = false; # require network
 
   meta = with lib; {
     description = "Fast and simple video download library and CLI tool written in Go";
     homepage = "https://github.com/iawia002/lux";
     changelog = "https://github.com/iawia002/lux/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [];
+    maintainers = with maintainers; [ galaxy ];
   };
 }
diff --git a/pkgs/tools/video/mjpegtools/c++-17-fixes.patch b/pkgs/tools/video/mjpegtools/c++-17-fixes.patch
new file mode 100644
index 00000000000..018cc7e9bea
--- /dev/null
+++ b/pkgs/tools/video/mjpegtools/c++-17-fixes.patch
@@ -0,0 +1,44 @@
+diff -ur a/mplex/main.cpp b/mplex/main.cpp
+--- a/mplex/main.cpp	2021-09-05 02:14:13.029372000 -0400
++++ b/mplex/main.cpp	2023-09-23 08:47:07.683450627 -0400
+@@ -50,7 +50,7 @@
+ #include "multiplexor.hpp"
+ 
+ 
+-using std::auto_ptr;
++using std::unique_ptr;
+ 
+ 
+ /*************************************************************************
+@@ -138,7 +138,7 @@
+ void 
+ FileOutputStream::NextSegment( )
+ {
+-    auto_ptr<char> prev_filename_buf( new char[strlen(cur_filename)+1] );
++    unique_ptr<char> prev_filename_buf( new char[strlen(cur_filename)+1] );
+     char *prev_filename = prev_filename_buf.get();
+ 	fclose(strm);
+ 	++segment_num;
+diff -ur a/utils/fastintfns.h b/utils/fastintfns.h
+--- a/utils/fastintfns.h	2021-09-05 02:14:13.033372000 -0400
++++ b/utils/fastintfns.h	2023-09-23 08:44:40.147112973 -0400
+@@ -2,12 +2,17 @@
+  *
+  * WARNING: Assumes 2's complement arithmetic.
+  */
+-static inline int intmax( register int x, register int y )
++#ifdef __cplusplus
++#define REGISTER
++#else
++#define REGISTER register
++#endif
++static inline int intmax( REGISTER int x, REGISTER int y )
+ {
+ 	return x < y ? y : x;
+ }
+ 
+-static inline int intmin( register int x, register int y )
++static inline int intmin( REGISTER int x, REGISTER int y )
+ {
+ 	return x < y ? x : y;
+ }
diff --git a/pkgs/tools/video/mjpegtools/default.nix b/pkgs/tools/video/mjpegtools/default.nix
index 675dfc109de..f231d6ed184 100644
--- a/pkgs/tools/video/mjpegtools/default.nix
+++ b/pkgs/tools/video/mjpegtools/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-sYBTbX2ZYLBeACOhl7ANyxAJKaSaq3HRnVX0obIQ9Jo=";
   };
 
+  # Clang 16 defaults to C++17. `std::auto_ptr` has been removed from C++17, and the
+  # `register` type class specifier is no longer allowed.
+  patches = [ ./c++-17-fixes.patch ];
+
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix
index b7ca158d2e7..146ff607254 100644
--- a/pkgs/tools/video/rav1e/default.nix
+++ b/pkgs/tools/video/rav1e/default.nix
@@ -13,27 +13,7 @@
 , buildPackages
 }:
 
-let
-  rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform;
-
-  # TODO: if another package starts using cargo-c (seems likely),
-  # factor this out into a makeCargoChook expression in
-  # pkgs/build-support/rust/hooks/default.nix
-  ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
-  cxxForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
-  ccForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
-  cxxForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
-  rustBuildPlatform = rust.toRustTarget stdenv.buildPlatform;
-  rustTargetPlatform = rust.toRustTarget stdenv.hostPlatform;
-  setEnvVars = ''
-    env \
-      "CC_${rustBuildPlatform}"="${ccForBuild}" \
-      "CXX_${rustBuildPlatform}"="${cxxForBuild}" \
-      "CC_${rustTargetPlatform}"="${ccForHost}" \
-      "CXX_${rustTargetPlatform}"="${cxxForHost}" \
-  '';
-
-in rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage rec {
   pname = "rav1e";
   version = "0.6.6";
 
@@ -64,13 +44,11 @@ in rustPlatform.buildRustPackage rec {
   checkType = "debug";
 
   postBuild =  ''
-    ${setEnvVars} \
-    cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${rustTargetPlatformSpec}
+    ${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
   '';
 
   postInstall = ''
-    ${setEnvVars} \
-    cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${rustTargetPlatformSpec}
+    ${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/video/recyclarr/default.nix b/pkgs/tools/video/recyclarr/default.nix
index b07e91a50c0..c360d191064 100644
--- a/pkgs/tools/video/recyclarr/default.nix
+++ b/pkgs/tools/video/recyclarr/default.nix
@@ -26,10 +26,10 @@ let
     or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-vexo2zx6trv5Q8JifLQG93ZNaAY6ym0ShI81HjBUqTs=";
-    arm64-linux_hash = "sha256-oLtXFkE8b9dxmTwttjJbBSOhxkwInGLpD+WNjDy1ktM=";
-    x64-osx_hash = "sha256-fVIGBuOhwaWttmAGECVm3i4GPKer37mRq6cBz1BcsBc=";
-    arm64-osx_hash = "sha256-eD74AcnRxFgD9PvoPYTBqI0/7MGCqu1I2sq8L1XrmMQ=";
+    x64-linux_hash = "sha256-4xBT4IuonAQPSPKedecNd6YjoOh6pe3nCXMXpNBWP1g=";
+    arm64-linux_hash = "sha256-4s/W1Xz0M1L6xm79AJy836OhNmW0Z4YoRsc7Qd5EwaM=";
+    x64-osx_hash = "sha256-IQgKbZrINt6K3ezS+XjUEYoDIYtngvo++RTpCk+SeSc=";
+    arm64-osx_hash = "sha256-9vHzGAH+fbn+x3lm3/UuNfd0Fv8s2MPPGSe5VnaASeg=";
   }."${arch}-${os}_hash";
 
   libPath = {
@@ -40,7 +40,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "recyclarr";
-  version = "5.3.1";
+  version = "6.0.1";
 
   src = fetchurl {
     url = "https://github.com/recyclarr/recyclarr/releases/download/v${version}/recyclarr-${os}-${arch}.tar.xz";
@@ -83,6 +83,7 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/recyclarr/recyclarr/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ josephst ];
+    mainProgram = "recyclarr";
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/tools/video/vcsi/default.nix b/pkgs/tools/video/vcsi/default.nix
index ad09d57d791..bb3bc4c9856 100644
--- a/pkgs/tools/video/vcsi/default.nix
+++ b/pkgs/tools/video/vcsi/default.nix
@@ -1,14 +1,20 @@
-{ lib, python3Packages, fetchPypi, ffmpeg }:
+{ lib, python3Packages, fetchFromGitHub, ffmpeg }:
 
 python3Packages.buildPythonApplication rec {
   pname = "vcsi";
-  version = "7.0.13";
+  version = "7.0.16";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "01qwbb2l8gwf622zzhh0kzdzw3njvsdwmndwn01i9bn4qm5cas8r";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "amietn";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-I0o6GX/TNMfU+rQtSqReblRplXPynPF6m2zg0YokmtI=";
   };
 
+  nativeBuildInputs = [ python3Packages.poetry-core ];
+
   propagatedBuildInputs = with python3Packages; [
     numpy
     pillow
@@ -26,6 +32,6 @@ python3Packages.buildPythonApplication rec {
     description = "Create video contact sheets";
     homepage = "https://github.com/amietn/vcsi";
     license = licenses.mit;
-    maintainers = with maintainers; [ dandellion ];
+    maintainers = with maintainers; [ dandellion zopieux ];
   };
 }