|
| 1 | +class LueReader < Formula |
| 2 | + include Language::Python::Virtualenv |
| 3 | + |
| 4 | + desc "Terminal eBook reader with text-to-speech and multi-format support" |
| 5 | + homepage "https://github.com/superstarryeyes/lue" |
| 6 | + url "https://files.pythonhosted.org/packages/2b/22/e504c7b670ba2b40444cd25a4420ca77dac3d15e12b518b96e4a9db2685d/lue_reader-0.2.0.tar.gz" |
| 7 | + sha256 "707f11d7992b2512e47c5ceaf4273dc1937b2f366955caf1bf776cbd97fbf4da" |
| 8 | + license "GPL-3.0-only" |
| 9 | + |
| 10 | + bottle do |
| 11 | + sha256 cellar: :any_skip_relocation, arm64_tahoe: "9b03cb9bdeccdd58a4443f39dd723102e3e9f96aa7a082b00c0fe607f7e8057c" |
| 12 | + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3e20b27decb3d2dd804f8b56159b470464fd9d1d0fa647760a5e0acdb659a363" |
| 13 | + sha256 cellar: :any_skip_relocation, arm64_sonoma: "b60c26c222d796ad92f94b1a124a2a927fb8b94054a5d49fd4fbf41c37a4f771" |
| 14 | + sha256 cellar: :any_skip_relocation, sonoma: "ab90912516b2b8ec0036f6491ee35f27b4604cc1e368ad2a6e1feff9e36af3cd" |
| 15 | + sha256 cellar: :any_skip_relocation, x86_64_linux: "d4ea7529b5cb2f300b9078c848b11f916bcb8f7e5255d44cfe4bcb3f0d0e651f" |
| 16 | + end |
| 17 | + |
| 18 | + depends_on "certifi" |
| 19 | + depends_on "ffmpeg" |
| 20 | + depends_on "pymupdf" |
| 21 | + |
| 22 | + |
| 23 | + uses_from_macos "libxml2", since: :ventura |
| 24 | + uses_from_macos "libxslt" |
| 25 | + |
| 26 | + resource "aiohappyeyeballs" do |
| 27 | + url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" |
| 28 | + sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" |
| 29 | + end |
| 30 | + |
| 31 | + resource "aiohttp" do |
| 32 | + url "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz" |
| 33 | + sha256 "4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2" |
| 34 | + end |
| 35 | + |
| 36 | + resource "aiosignal" do |
| 37 | + url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" |
| 38 | + sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" |
| 39 | + end |
| 40 | + |
| 41 | + resource "attrs" do |
| 42 | + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" |
| 43 | + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" |
| 44 | + end |
| 45 | + |
| 46 | + resource "edge-tts" do |
| 47 | + url "https://files.pythonhosted.org/packages/e8/d0/db9a841ac29f119ca8e3d2a22325849997c571a4f31f728042c5fdbdff33/edge_tts-7.2.3.tar.gz" |
| 48 | + sha256 "b85e271181cd52656934069237bfc3853335a17f7e51a4f7116e2936d32e62d2" |
| 49 | + end |
| 50 | + |
| 51 | + resource "frozenlist" do |
| 52 | + url "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz" |
| 53 | + sha256 "2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f" |
| 54 | + end |
| 55 | + |
| 56 | + resource "idna" do |
| 57 | + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" |
| 58 | + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" |
| 59 | + end |
| 60 | + |
| 61 | + resource "lxml" do |
| 62 | + url "https://files.pythonhosted.org/packages/aa/88/262177de60548e5a2bfc46ad28232c9e9cbde697bd94132aeb80364675cb/lxml-6.0.2.tar.gz" |
| 63 | + sha256 "cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62" |
| 64 | + end |
| 65 | + |
| 66 | + resource "markdown" do |
| 67 | + url "https://files.pythonhosted.org/packages/8d/37/02347f6d6d8279247a5837082ebc26fc0d5aaeaf75aa013fcbb433c777ab/markdown-3.9.tar.gz" |
| 68 | + sha256 "d2900fe1782bd33bdbbd56859defef70c2e78fc46668f8eb9df3128138f2cb6a" |
| 69 | + end |
| 70 | + |
| 71 | + resource "markdown-it-py" do |
| 72 | + url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" |
| 73 | + sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" |
| 74 | + end |
| 75 | + |
| 76 | + resource "mdurl" do |
| 77 | + url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" |
| 78 | + sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" |
| 79 | + end |
| 80 | + |
| 81 | + resource "multidict" do |
| 82 | + url "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz" |
| 83 | + sha256 "d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd" |
| 84 | + end |
| 85 | + |
| 86 | + resource "platformdirs" do |
| 87 | + url "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz" |
| 88 | + sha256 "ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf" |
| 89 | + end |
| 90 | + |
| 91 | + resource "propcache" do |
| 92 | + url "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz" |
| 93 | + sha256 "20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168" |
| 94 | + end |
| 95 | + |
| 96 | + resource "pygments" do |
| 97 | + url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" |
| 98 | + sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" |
| 99 | + end |
| 100 | + |
| 101 | + resource "python-docx" do |
| 102 | + url "https://files.pythonhosted.org/packages/a9/f7/eddfe33871520adab45aaa1a71f0402a2252050c14c7e3009446c8f4701c/python_docx-1.2.0.tar.gz" |
| 103 | + sha256 "7bc9d7b7d8a69c9c02ca09216118c86552704edc23bac179283f2e38f86220ce" |
| 104 | + end |
| 105 | + |
| 106 | + resource "rich" do |
| 107 | + url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" |
| 108 | + sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" |
| 109 | + end |
| 110 | + |
| 111 | + resource "striprtf" do |
| 112 | + url "https://files.pythonhosted.org/packages/f3/86/7154b7c625a3ff704581dab70c05389e1de90233b7a751f79f712c2ca0e9/striprtf-0.0.29.tar.gz" |
| 113 | + sha256 "5a822d075e17417934ed3add6fc79b5fc8fb544fe4370b2f894cdd28f0ddd78e" |
| 114 | + end |
| 115 | + |
| 116 | + resource "tabulate" do |
| 117 | + url "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz" |
| 118 | + sha256 "0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c" |
| 119 | + end |
| 120 | + |
| 121 | + resource "typing-extensions" do |
| 122 | + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" |
| 123 | + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" |
| 124 | + end |
| 125 | + |
| 126 | + resource "yarl" do |
| 127 | + url "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz" |
| 128 | + sha256 "d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac" |
| 129 | + end |
| 130 | + |
| 131 | + def install |
| 132 | + virtualenv_install_with_resources |
| 133 | + end |
| 134 | + |
| 135 | + test do |
| 136 | + pdf = test_fixtures("test.pdf") |
| 137 | + assert_match "Error: No text could be extracted from the file", shell_output("#{bin}/lue #{pdf}") |
| 138 | + end |
| 139 | +end |
0 commit comments