100 lines
4.7 KiB
Ruby
100 lines
4.7 KiB
Ruby
class Streamlink < Formula
|
|
include Language::Python::Virtualenv
|
|
|
|
desc "CLI for extracting streams from various websites to a video player"
|
|
homepage "https://streamlink.github.io/"
|
|
url "https://files.pythonhosted.org/packages/03/11/2b18419ba3d26bbd77e87bc8ad545a287df78939831a2e39567ff7c7019a/streamlink-4.1.0.tar.gz"
|
|
sha256 "0b492cf48cf1c8f12adc112e42df504857088363f036f400bc9330f80ff00893"
|
|
license "BSD-2-Clause"
|
|
head "https://github.com/streamlink/streamlink.git", branch: "master"
|
|
|
|
bottle do
|
|
sha256 cellar: :any, arm64_monterey: "72827ac98027c96ba00a28c1fbefbf662b93f2403ae515d9c323001f89a147e1"
|
|
sha256 cellar: :any, arm64_big_sur: "8beeb93bb33eb46fc640fac0631b05559434d5a1919d993dda8c9f811c353215"
|
|
sha256 cellar: :any, monterey: "c1ad46ac3ea6bc1e63ce0f50d4f4ff977bbadee5df9effa78a5a25a4a2c881e3"
|
|
sha256 cellar: :any, big_sur: "7d28aae086628333916433af964c2c073771e1a0d0346b4e48045db598f23601"
|
|
sha256 cellar: :any, catalina: "ceac2b7733c13d24c8753fc0f5f9434f41c568a2b2c3bca279669240dd004e5d"
|
|
sha256 cellar: :any_skip_relocation, x86_64_linux: "aee766c43b09041dd6f2e109b35f3de740f86b272fa5f3fc4915cc8d6023b890"
|
|
end
|
|
|
|
depends_on "libxml2" # https://github.com/Homebrew/homebrew-core/issues/98468
|
|
depends_on "python@3.10"
|
|
depends_on "six"
|
|
|
|
uses_from_macos "libffi"
|
|
uses_from_macos "libxslt"
|
|
|
|
on_linux do
|
|
depends_on "pkg-config" => :build
|
|
end
|
|
|
|
resource "certifi" do
|
|
url "https://files.pythonhosted.org/packages/07/10/75277f313d13a2b74fc56e29239d5c840c2bf09f17bf25c02b35558812c6/certifi-2022.5.18.1.tar.gz"
|
|
sha256 "9c5705e395cd70084351dd8ad5c41e65655e08ce46f2ec9cf6c2c08390f71eb7"
|
|
end
|
|
|
|
resource "charset-normalizer" do
|
|
url "https://files.pythonhosted.org/packages/56/31/7bcaf657fafb3c6db8c787a865434290b726653c912085fbd371e9b92e1c/charset-normalizer-2.0.12.tar.gz"
|
|
sha256 "2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"
|
|
end
|
|
|
|
resource "idna" do
|
|
url "https://files.pythonhosted.org/packages/62/08/e3fc7c8161090f742f504f40b1bccbfc544d4a4e09eb774bf40aafce5436/idna-3.3.tar.gz"
|
|
sha256 "9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"
|
|
end
|
|
|
|
resource "isodate" do
|
|
url "https://files.pythonhosted.org/packages/db/7a/c0a56c7d56c7fa723988f122fa1f1ccf8c5c4ccc48efad0d214b49e5b1af/isodate-0.6.1.tar.gz"
|
|
sha256 "48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"
|
|
end
|
|
|
|
resource "lxml" do
|
|
url "https://files.pythonhosted.org/packages/3b/94/e2b1b3bad91d15526c7e38918795883cee18b93f6785ea8ecf13f8ffa01e/lxml-4.8.0.tar.gz"
|
|
sha256 "f63f62fc60e6228a4ca9abae28228f35e1bd3ce675013d1dfb828688d50c6e23"
|
|
end
|
|
|
|
resource "pycountry" do
|
|
url "https://files.pythonhosted.org/packages/33/24/033604d30f6cf82d661c0f9dfc2c71d52cafc2de516616f80d3b0600cb7c/pycountry-22.3.5.tar.gz"
|
|
sha256 "b2163a246c585894d808f18783e19137cb70a0c18fb36748dc01fc6f109c1646"
|
|
end
|
|
|
|
resource "pycryptodome" do
|
|
url "https://files.pythonhosted.org/packages/32/09/41ea2633fea5b973dac9829de871b417ff3ce2963d07fd92e3f2d2a9ee9b/pycryptodome-3.14.1.tar.gz"
|
|
sha256 "e04e40a7f8c1669195536a37979dd87da2c32dbdc73d6fe35f0077b0c17c803b"
|
|
end
|
|
|
|
resource "PySocks" do
|
|
url "https://files.pythonhosted.org/packages/bd/11/293dd436aea955d45fc4e8a35b6ae7270f5b8e00b53cf6c024c83b657a11/PySocks-1.7.1.tar.gz"
|
|
sha256 "3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"
|
|
end
|
|
|
|
resource "requests" do
|
|
url "https://files.pythonhosted.org/packages/60/f3/26ff3767f099b73e0efa138a9998da67890793bfa475d8278f84a30fec77/requests-2.27.1.tar.gz"
|
|
sha256 "68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"
|
|
end
|
|
|
|
resource "urllib3" do
|
|
url "https://files.pythonhosted.org/packages/1b/a5/4eab74853625505725cefdf168f48661b2cd04e7843ab836f3f63abf81da/urllib3-1.26.9.tar.gz"
|
|
sha256 "aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"
|
|
end
|
|
|
|
resource "websocket-client" do
|
|
url "https://files.pythonhosted.org/packages/7c/de/9f5354b4b37df453b7d664f587124c70a75c81805095d491d39f5b591818/websocket-client-1.3.2.tar.gz"
|
|
sha256 "50b21db0058f7a953d67cc0445be4b948d7fc196ecbeb8083d68d94628e4abf6"
|
|
end
|
|
|
|
def install
|
|
virtualenv_install_with_resources
|
|
man1.install_symlink libexec/"share/man/man1/streamlink.1"
|
|
end
|
|
|
|
test do
|
|
system "#{bin}/streamlink", "https://vimeo.com/189776460", "360p", "-o", "video.mp4"
|
|
assert_match "video.mp4: ISO Media, MP4 v2", shell_output("file video.mp4")
|
|
output = shell_output("#{bin}/streamlink -l debug 'https://ok.ru/video/3388934659879'")
|
|
assert_match "Available streams:", output
|
|
refute_match "error", output
|
|
refute_match "Could not find metadata", output
|
|
end
|
|
end
|