about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/video
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/video')
-rw-r--r--nixpkgs/pkgs/applications/video/catt/default.nix52
-rw-r--r--nixpkgs/pkgs/applications/video/clapper/default.nix85
-rw-r--r--nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mplayer/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/openshot-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/pipe-viewer/default.nix86
-rw-r--r--nixpkgs/pkgs/applications/video/pitivi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/smtube/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/streamlink/default.nix37
9 files changed, 244 insertions, 40 deletions
diff --git a/nixpkgs/pkgs/applications/video/catt/default.nix b/nixpkgs/pkgs/applications/video/catt/default.nix
index 4b285cfc0075..1f75997ce7bb 100644
--- a/nixpkgs/pkgs/applications/video/catt/default.nix
+++ b/nixpkgs/pkgs/applications/video/catt/default.nix
@@ -1,11 +1,48 @@
-{ lib, python3 }:
+{ lib
+, fetchFromGitHub
+, python3
+}:
 
-with python3.pkgs;
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      # Upstream is pinning releases incl. dependencies of their dependencies
+      zeroconf = super.zeroconf.overridePythonAttrs (oldAttrs: rec {
+        version = "0.31.0";
+        src = fetchFromGitHub {
+          owner = "jstasiak";
+          repo = "python-zeroconf";
+          rev = version;
+          sha256 = "158dqay74zvnz6kmpvip4ml0kw59nf2aaajwgaamx0zc8ci1p5pj";
+        };
+      });
+
+      click = super.click.overridePythonAttrs (oldAttrs: rec {
+        version = "7.1.2";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "06kbzd6sjfkqan3miwj9wqyddfxc2b6hi7p5s4dvqjb3gif2bdfj";
+        };
+      });
+
+      PyChromecast = super.PyChromecast.overridePythonAttrs (oldAttrs: rec {
+        version = "9.2.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "02ig2wf2yyrnnl88r2n13s1naskwsifwgx3syifmcxygflsmjd3d";
+        };
+      });
+    };
+  };
+in
+with py.pkgs;
 
 buildPythonApplication rec {
   pname = "catt";
   version = "0.12.2";
 
+  disabled = python3.pythonOlder "3.4";
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "sha256-BOETKTkcbLOu5SubiejswU7D47qWS13QZ7rU9x3jf5Y=";
@@ -19,19 +56,12 @@ buildPythonApplication rec {
     youtube-dl
   ];
 
-  # remove click when 0.12.3 is released
-  # upstream doesn't use zeroconf directly but pins it for pychromecast
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "zeroconf==0.31.0" "" \
-      --replace "Click>=7.1.2,<8" "click"
-  '';
-
   doCheck = false; # attempts to access various URLs
+
   pythonImportsCheck = [ "catt" ];
 
   meta = with lib; {
-    description = "Cast All The Things allows you to send videos from many, many online sources to your Chromecast";
+    description = "Tool to send media from online sources to Chromecast devices";
     homepage = "https://github.com/skorokithakis/catt";
     license = licenses.bsd2;
     maintainers = with maintainers; [ dtzWill ];
diff --git a/nixpkgs/pkgs/applications/video/clapper/default.nix b/nixpkgs/pkgs/applications/video/clapper/default.nix
new file mode 100644
index 000000000000..96358383047a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/clapper/default.nix
@@ -0,0 +1,85 @@
+{ config
+, lib
+, stdenv
+, fetchFromGitHub
+, glib
+, gobject-introspection
+, python3
+, pkg-config
+, ninja
+, wayland
+, wayland-protocols
+, desktop-file-utils
+, makeWrapper
+, shared-mime-info
+, wrapGAppsHook
+, meson
+, gjs
+, gtk4
+, gst_all_1
+, libadwaita
+}:
+
+stdenv.mkDerivation rec {
+  pname = "clapper";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner  = "Rafostar";
+    repo   = pname;
+    rev    = version;
+    sha256 = "1gf4z9lib5rxi1xilkxxyywakm9zlq5915w2wib09jyh0if82ahr";
+  };
+
+  nativeBuildInputs = [
+    desktop-file-utils # for update-desktop-database
+    glib
+    gobject-introspection
+    meson
+    ninja
+    makeWrapper
+    pkg-config
+    python3
+    shared-mime-info # for update-mime-database
+    wrapGAppsHook # for gsettings
+  ];
+
+  buildInputs = [
+    gjs
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-ugly
+    gtk4
+    libadwaita
+    wayland
+    wayland-protocols
+  ];
+
+  postPatch = ''
+    patchShebangs build-aux/meson/postinstall.py
+  '';
+
+  mesonFlags = [
+    # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+    "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
+  ];
+
+  postInstall = ''
+    cp ${src}/data/icons/*.svg $out/share/icons/hicolor/scalable/apps/
+    cp ${src}/data/icons/*.svg $out/share/icons/hicolor/symbolic/apps/
+  '';
+
+  meta = with lib; {
+    description = "A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering. ";
+    longDescription = ''
+      Clapper is a GNOME media player build using GJS with GTK4 toolkit.
+      The media player is using GStreamer as a media backend and renders everything via OpenGL.
+    '';
+    homepage = "https://github.com/Rafostar/clapper";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ tomfitzhenry ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix b/nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix
index de0b088030f1..db1399ef6032 100644
--- a/nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix
+++ b/nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonApplication rec {
   pname = "ffmpeg-normalize";
-  version = "1.22.1";
+  version = "1.22.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df826053212d540ab1bbe9819587fcbf36162f8c2535ae85b88b252e47d6d632";
+    sha256 = "317a9636587182280debc85d483f6d21987ceb6cd96ab36a2399836780eca822";
   };
 
   propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];
diff --git a/nixpkgs/pkgs/applications/video/mplayer/default.nix b/nixpkgs/pkgs/applications/video/mplayer/default.nix
index 1e439f57ef7b..644e35468fb5 100644
--- a/nixpkgs/pkgs/applications/video/mplayer/default.nix
+++ b/nixpkgs/pkgs/applications/video/mplayer/default.nix
@@ -223,11 +223,11 @@ stdenv.mkDerivation rec {
       fi
     '';
 
-  meta = {
+  meta = with lib; {
     description = "A movie player that supports many video formats";
     homepage = "http://mplayerhq.hu";
-    license = "GPL";
-    maintainers = [ lib.maintainers.eelco ];
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ eelco ];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/openshot-qt/default.nix b/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
index 11f102085bc2..ac396f4be80a 100644
--- a/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
+++ b/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "openshot-qt";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "openshot-qt";
     rev = "v${version}";
-    sha256 = "0b11h335krvflpksdlhsrq3rqkb8asipnyaf62di2z32ci3irrpq";
+    sha256 = "0pa8iwl217503bjlqg2zlrw5lxyq5hvxrf5apxrh3843hj1w1myv";
   };
 
   nativeBuildInputs = [ doxygen wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/video/pipe-viewer/default.nix b/nixpkgs/pkgs/applications/video/pipe-viewer/default.nix
new file mode 100644
index 000000000000..1ef08870c86a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/pipe-viewer/default.nix
@@ -0,0 +1,86 @@
+{ lib
+, fetchFromGitHub
+, perl
+, buildPerlModule
+, makeWrapper
+, wrapGAppsHook
+, withGtk3 ? false
+, ffmpeg
+, gtk3
+, wget
+, xdg-utils
+, youtube-dl
+, yt-dlp
+, TestPod
+, Gtk3
+}:
+let
+  perlEnv = perl.withPackages (ps: with ps; [
+    AnyURIEscape
+    DataDump
+    Encode
+    FilePath
+    GetoptLong
+    HTTPMessage
+    JSON
+    JSONXS
+    LWPProtocolHttps
+    LWPUserAgentCached
+    Memoize
+    PathTools
+    ScalarListUtils
+    TermReadLineGnu
+    TextParsewords
+    UnicodeLineBreak
+  ] ++ lib.optionals withGtk3 [
+    FileShareDir
+  ]);
+in
+buildPerlModule rec {
+  pname = "pipe-viewer";
+  version = "0.1.4";
+
+  src = fetchFromGitHub {
+    owner = "trizen";
+    repo = "pipe-viewer";
+    rev = version;
+    hash = "sha256-kDlZ3Cl8zvN/naGExh2yVW5yHwc1O04x4s22lNkbCzU=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ]
+    ++ lib.optionals withGtk3 [ wrapGAppsHook ];
+
+  buildInputs = [ perlEnv ]
+    # Can't be in perlEnv for wrapGAppsHook to work correctly
+    ++ lib.optional withGtk3 Gtk3;
+
+  # Not supported by buildPerlModule
+  # and the Perl code fails anyway
+  # when Getopt::Long sets $gtk in Build.PL:
+  # Modification of a read-only value attempted at /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-perl5.34.0-Getopt-Long-2.52/lib/perl5/site_perl/5.34.0/Getopt/Long.pm line 585.
+  #buildFlags = lib.optional withGtk3 "--gtk3";
+  postPatch = lib.optionalString withGtk3 ''
+    substituteInPlace Build.PL --replace 'my $gtk ' 'my $gtk = 1;#'
+  '';
+
+  checkInputs = [
+    TestPod
+  ];
+
+  dontWrapGApps = true;
+  postFixup = ''
+    wrapProgram "$out/bin/pipe-viewer" \
+      --prefix PATH : "${lib.makeBinPath [ ffmpeg wget youtube-dl yt-dlp ]}"
+  '' + lib.optionalString withGtk3 ''
+    wrapProgram "$out/bin/gtk-pipe-viewer" ''${gappsWrapperArgs[@]} \
+      --prefix PATH : "${lib.makeBinPath [ ffmpeg wget xdg-utils youtube-dl yt-dlp ]}"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/trizen/pipe-viewer";
+    description = "CLI+GUI YouTube Client";
+    license = licenses.artistic2;
+    maintainers = with maintainers; [ julm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/pitivi/default.nix b/nixpkgs/pkgs/applications/video/pitivi/default.nix
index b1be6035f9e8..f22dd77b332a 100644
--- a/nixpkgs/pkgs/applications/video/pitivi/default.nix
+++ b/nixpkgs/pkgs/applications/video/pitivi/default.nix
@@ -21,13 +21,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pitivi";
-  version = "2021.01";
+  version = "2021.05";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pitivi/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0krzsrv19v3mwhbsm72ica6m3p8ijy0lbd0c3s87yd7pmbwld2c1";
+    sha256 = "z1aTxGxCqw2hSi5Zv89LyIBgS0HpzTqo0uvcYIJ7dcc=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/video/smtube/default.nix b/nixpkgs/pkgs/applications/video/smtube/default.nix
index 26b14ab739c6..10ba865eb343 100644
--- a/nixpkgs/pkgs/applications/video/smtube/default.nix
+++ b/nixpkgs/pkgs/applications/video/smtube/default.nix
@@ -1,12 +1,12 @@
 { lib, mkDerivation, fetchurl, qmake, qtscript, qtwebkit }:
 
 mkDerivation rec {
-  version = "20.6.0";
+  version = "21.7.0";
   pname = "smtube";
 
   src = fetchurl {
     url = "mirror://sourceforge/smtube/SMTube/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0hnza5gszwqnkc1py5g34hi4p976vpkc4h3ab0247ynqs83fpwc2";
+    sha256 = "sha256-d+R3eM2BPdrsY7XX+6IWpz6cKIy/L2x0iLZH0mTgfcc=";
   };
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/applications/video/streamlink/default.nix b/nixpkgs/pkgs/applications/video/streamlink/default.nix
index 8097c5dbe92a..4abc2b6546aa 100644
--- a/nixpkgs/pkgs/applications/video/streamlink/default.nix
+++ b/nixpkgs/pkgs/applications/video/streamlink/default.nix
@@ -1,48 +1,50 @@
 { lib
-, python3
-, fetchFromGitHub
+, python3Packages
 , rtmpdump
 , ffmpeg
+, fetchpatch
 }:
 
-python3.pkgs.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "streamlink";
-  version = "2.3.0";
+  version = "2.4.0";
 
-  src = fetchFromGitHub {
-    owner = "streamlink";
-    repo = "streamlink";
-    rev = version;
-    sha256 = "sha256-lsurDFvVHn1rxR3bgG7BY512ISavpja36/UaKXauf+g=";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "e95588e222d1a7bd51e3171cd4bce84fd6f646418537aff37993d40f597810af";
   };
 
-  checkInputs = with python3.pkgs; [
+  checkInputs = with python3Packages; [
     pytestCheckHook
     mock
     requests-mock
     freezegun
   ];
 
-  propagatedBuildInputs = (with python3.pkgs; [
+  propagatedBuildInputs = (with python3Packages; [
     pycryptodome
     requests
     iso-639
     iso3166
     websocket-client
     isodate
+    lxml
   ]) ++ [
     rtmpdump
     ffmpeg
   ];
 
-  # note that upstream currently uses requests 2.25.1 in Windows builds
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'requests>=2.26.0,<3.0' 'requests>=2.25.1,<3.0'
-  '';
+  patches = [
+    # Patch failing tests to expect correct Accept-Encoding as generated by Requests
+    (fetchpatch {
+      url = "https://github.com/streamlink/streamlink/commit/ae747a113199c119bced4613d33edcc67a222bb9.patch";
+      includes = [ "tests/test_stream_json.py" ];
+      sha256 = "sha256-KEgyWdh5DNgNktmLSvKQowUQO9p9Q7zP4NbCQJPNgKw=";
+    })
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/streamlink/streamlink";
+    homepage = "https://streamlink.github.io/";
     description = "CLI for extracting streams from various websites to video player of your choosing";
     longDescription = ''
       Streamlink is a CLI utility that pipes videos from online
@@ -51,6 +53,7 @@ python3.pkgs.buildPythonApplication rec {
 
       Streamlink is a fork of the livestreamer project.
     '';
+    changelog = "https://github.com/streamlink/streamlink/raw/${version}/CHANGELOG.md";
     license = licenses.bsd2;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ dezgeg zraexy DeeUnderscore ];