diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/video')
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 ]; |