diff --git a/.cache/formula_metadata.json b/.cache/formula_metadata.json deleted file mode 100644 index 68a3af35a7..0000000000 --- a/.cache/formula_metadata.json +++ /dev/null @@ -1,4982 +0,0 @@ -{ - "codeberg:explosion-mental/wallust": { - "forks": 17, - "last_commit": "2026-02-14", - "last_release": "2026-01-18", - "stars": 139 - }, - "codeberg:fairyglade/ly": { - "forks": 44, - "last_commit": "2026-02-12", - "last_release": "2026-02-05", - "stars": 382 - }, - "codeberg:liske/ifstate": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "codeberg:lukeflo/bibiman": { - "forks": 9, - "last_commit": "2026-02-12", - "last_release": "2025-10-06", - "stars": 43 - }, - "codeberg:nightsail/drft": { - "forks": 0, - "last_commit": "2025-01-13", - "last_release": null, - "stars": 9 - }, - "github:0xdea/jiggy": { - "forks": 0, - "last_commit": "2026-02-13", - "last_release": "2026-02-03", - "stars": 21 - }, - "github:0xflotus/ip2d-rust": { - "forks": 4, - "last_commit": "2026-02-16", - "last_release": "2024-10-11", - "stars": 6 - }, - "github:0xjuanma/anvil": { - "forks": 2, - "last_commit": "2026-01-24", - "last_release": "2026-01-24", - "stars": 105 - }, - "github:0xjuanma/golazo": { - "forks": 24, - "last_commit": "2026-02-22", - "last_release": "2026-02-20", - "stars": 372 - }, - "github:11happy/cpx": { - "forks": 10, - "last_commit": "2026-02-22", - "last_release": "2026-02-22", - "stars": 362 - }, - "github:18alantom/fex": { - "forks": 8, - "last_commit": "2025-05-18", - "last_release": "2024-09-21", - "stars": 155 - }, - "github:1nwf/codefmt": { - "forks": 0, - "last_commit": "2025-09-01", - "last_release": "2025-09-01", - "stars": 15 - }, - "github:2KAbhishek/gh-repo-man": { - "forks": 0, - "last_commit": "2025-10-29", - "last_release": "2025-10-29", - "stars": 27 - }, - "github:42futures/firm": { - "forks": 42, - "last_commit": "2026-02-15", - "last_release": "2026-02-06", - "stars": 786 - }, - "github:4xian/claude-auto-api": { - "forks": 15, - "last_commit": "2025-10-26", - "last_release": "2025-10-13", - "stars": 162 - }, - "github:539hex/zu": { - "forks": 0, - "last_commit": "2026-02-10", - "last_release": "2025-08-27", - "stars": 14 - }, - "github:ARahim3/mlx-tune": { - "forks": 51, - "last_commit": "2026-03-23", - "last_release": "2026-03-23", - "stars": 824 - }, - "github:Adarsh-codesOP/Klein": { - "forks": 1, - "last_commit": "2026-03-16", - "last_release": "2026-03-16", - "stars": 27 - }, - "github:Aperocky/tascli": { - "forks": 9, - "last_commit": "2026-03-22", - "last_release": "2026-03-21", - "stars": 148 - }, - "github:AppleGamer22/cocainate": { - "forks": 0, - "last_commit": "2026-02-11", - "last_release": "2024-10-21", - "stars": 26 - }, - "github:Ataraxy-Labs/sem": { - "forks": 14, - "last_commit": "2026-03-09", - "last_release": "2026-03-08", - "stars": 732 - }, - "github:Ataraxy-Labs/weave": { - "forks": 14, - "last_commit": "2026-03-09", - "last_release": "2026-03-09", - "stars": 624 - }, - "github:AvengeMedia/dgop": { - "forks": 15, - "last_commit": "2026-02-23", - "last_release": "2026-02-14", - "stars": 99 - }, - "github:AzureHound/jelly": { - "forks": 2, - "last_commit": "2025-11-05", - "last_release": "2025-11-04", - "stars": 110 - }, - "github:BaconIsAVeg/outside": { - "forks": 3, - "last_commit": "2025-07-22", - "last_release": "2025-07-21", - "stars": 100 - }, - "github:Bahaaio/pomo": { - "forks": 8, - "last_commit": "2026-02-11", - "last_release": "2026-02-11", - "stars": 292 - }, - "github:Beaglefoot/awk-language-server": { - "forks": 6, - "last_commit": "2024-11-19", - "last_release": "2024-11-02", - "stars": 113 - }, - "github:Bearer/bearer": { - "forks": 142, - "last_commit": "2026-02-16", - "last_release": "2026-01-29", - "stars": 2561 - }, - "github:BeehiveInnovations/pal-mcp-server": { - "forks": 944, - "last_commit": "2025-12-15", - "last_release": "2025-12-15", - "stars": 11104 - }, - "github:Benexl/lib-x": { - "forks": 3, - "last_commit": "2025-07-07", - "last_release": "2025-01-27", - "stars": 73 - }, - "github:Benexl/yt-x": { - "forks": 68, - "last_commit": "2026-01-24", - "last_release": "2025-01-04", - "stars": 1441 - }, - "github:Bengerthelorf/pikpaktui": { - "forks": 0, - "last_commit": "2026-03-15", - "last_release": "2026-03-14", - "stars": 11 - }, - "github:BharatKalluri/spotifydl": { - "forks": 7, - "last_commit": "2023-03-07", - "last_release": "2021-08-01", - "stars": 80 - }, - "github:Blaizzy/mlx-audio": { - "forks": 504, - "last_commit": "2026-03-21", - "last_release": "2026-03-14", - "stars": 6352 - }, - "github:Blaizzy/mlx-vlm": { - "forks": 303, - "last_commit": "2026-03-21", - "last_release": "2026-03-21", - "stars": 2337 - }, - "github:Brads3290/cclogviewer": { - "forks": 6, - "last_commit": "2025-08-08", - "last_release": null, - "stars": 67 - }, - "github:Broderick-Westrope/tetrigo": { - "forks": 24, - "last_commit": "2025-11-07", - "last_release": "2024-12-27", - "stars": 613 - }, - "github:Builditluc/wiki-tui": { - "forks": 29, - "last_commit": "2025-12-08", - "last_release": "2025-12-08", - "stars": 695 - }, - "github:BurntSushi/cargo-benchcmp": { - "forks": 20, - "last_commit": "2024-08-29", - "last_release": null, - "stars": 363 - }, - "github:BurntSushi/critcmp": { - "forks": 20, - "last_commit": "2024-09-25", - "last_release": null, - "stars": 260 - }, - "github:Cladamos/clawea": { - "forks": 1, - "last_commit": "2026-02-14", - "last_release": null, - "stars": 46 - }, - "github:ClickHouse/clickhousectl": { - "forks": 2, - "last_commit": "2026-04-19", - "last_release": "2026-04-14", - "stars": 52 - }, - "github:Cod-e-Codes/marchat": { - "forks": 9, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 121 - }, - "github:ConardLi/easy-llm-cli": { - "forks": 207, - "last_commit": "2026-02-05", - "last_release": null, - "stars": 1258 - }, - "github:ContentSquare/chproxy": { - "forks": 274, - "last_commit": "2026-01-22", - "last_release": "2025-09-10", - "stars": 1437 - }, - "github:CramBL/mdns-scanner": { - "forks": 3, - "last_commit": "2026-02-16", - "last_release": "2026-02-03", - "stars": 54 - }, - "github:CrociDB/bulletty": { - "forks": 18, - "last_commit": "2026-02-15", - "last_release": "2026-01-15", - "stars": 340 - }, - "github:DECE2183/hexowl": { - "forks": 1, - "last_commit": "2025-06-20", - "last_release": "2024-12-18", - "stars": 28 - }, - "github:DonIsaac/keyhunter": { - "forks": 1, - "last_commit": "2025-05-05", - "last_release": "2024-08-27", - "stars": 38 - }, - "github:DonIsaac/oxbuild": { - "forks": 4, - "last_commit": "2026-02-05", - "last_release": "2024-10-08", - "stars": 99 - }, - "github:DonIsaac/zlint": { - "forks": 13, - "last_commit": "2025-11-30", - "last_release": "2025-07-16", - "stars": 256 - }, - "github:Done-0/fuck-u-code": { - "forks": 324, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 6808 - }, - "github:EFForg/apkeep": { - "forks": 120, - "last_commit": "2025-11-21", - "last_release": "2025-10-31", - "stars": 1592 - }, - "github:EladLeev/kubeseal-convert": { - "forks": 8, - "last_commit": "2026-02-09", - "last_release": "2024-08-26", - "stars": 73 - }, - "github:ElementTech/terracove": { - "forks": 1, - "last_commit": "2023-07-18", - "last_release": "2023-07-18", - "stars": 52 - }, - "github:Eoin-McMahon/Blindfold": { - "forks": 1, - "last_commit": "2026-02-12", - "last_release": "2025-06-15", - "stars": 92 - }, - "github:Esubaalew/run": { - "forks": 25, - "last_commit": "2026-02-11", - "last_release": "2026-02-11", - "stars": 901 - }, - "github:F1bonacc1/process-compose": { - "forks": 109, - "last_commit": "2026-02-21", - "last_release": "2026-02-21", - "stars": 2189 - }, - "github:FairwindsOps/rbac-lookup": { - "forks": 49, - "last_commit": "2026-01-12", - "last_release": "2025-08-01", - "stars": 962 - }, - "github:Fission-AI/OpenSpec": { - "forks": 1600, - "last_commit": "2026-02-16", - "last_release": "2026-01-30", - "stars": 24298 - }, - "github:FlerAlex/envtrace": { - "forks": 1, - "last_commit": "2026-02-20", - "last_release": "2026-02-20", - "stars": 11 - }, - "github:FlorianBruniaux/ccboard": { - "forks": 0, - "last_commit": "2026-02-18", - "last_release": "2026-02-18", - "stars": 7 - }, - "github:FollowTheProcess/spok": { - "forks": 0, - "last_commit": "2026-02-13", - "last_release": "2025-08-20", - "stars": 15 - }, - "github:Francium-Tech/scanify": { - "forks": 2, - "last_commit": "2026-02-03", - "last_release": "2025-12-20", - "stars": 101 - }, - "github:Freed-Wu/autotools-language-server": { - "forks": 5, - "last_commit": "2026-02-16", - "last_release": "2025-11-04", - "stars": 47 - }, - "github:GBerghoff/envdiff": { - "forks": 0, - "last_commit": "2026-02-23", - "last_release": "2026-01-18", - "stars": 23 - }, - "github:GGP1/kure": { - "forks": 14, - "last_commit": "2026-01-27", - "last_release": "2025-11-02", - "stars": 167 - }, - "github:GianlucaP106/mynav": { - "forks": 12, - "last_commit": "2025-09-28", - "last_release": "2025-08-01", - "stars": 223 - }, - "github:GoodBoyNeon/sprofile": { - "forks": 1, - "last_commit": "2024-06-15", - "last_release": "2024-06-15", - "stars": 41 - }, - "github:HKUDS/OpenHarness": { - "forks": 1600, - "last_commit": "2026-04-13", - "last_release": "2026-04-10", - "stars": 9212 - }, - "github:Han8931/gorae": { - "forks": 2, - "last_commit": "2026-01-06", - "last_release": "2025-12-27", - "stars": 62 - }, - "github:HarishChandran3304/better-env": { - "forks": 1, - "last_commit": "2025-11-23", - "last_release": "2025-11-18", - "stars": 22 - }, - "github:Harry-kp/vortix": { - "forks": 11, - "last_commit": "2026-03-09", - "last_release": "2026-03-08", - "stars": 379 - }, - "github:Herdora/chisel": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "github:Higangssh/gitcredits": { - "forks": 4, - "last_commit": "2026-03-21", - "last_release": "2026-03-21", - "stars": 133 - }, - "github:HyperbolicLabs/hyperbolic-cli": { - "forks": 0, - "last_commit": "2025-08-07", - "last_release": "2025-08-07", - "stars": 1 - }, - "github:IAL32/az-tui": { - "forks": 0, - "last_commit": "2025-08-15", - "last_release": "2025-08-11", - "stars": 16 - }, - "github:IljaN/narr": { - "forks": 8, - "last_commit": "2025-03-16", - "last_release": "2024-09-29", - "stars": 81 - }, - "github:Jagalite/superseedr": { - "forks": 15, - "last_commit": "2026-02-16", - "last_release": "2026-02-11", - "stars": 508 - }, - "github:JamesWoolfenden/sato": { - "forks": 8, - "last_commit": "2026-02-13", - "last_release": "2025-12-15", - "stars": 110 - }, - "github:JannikSt/ibtop": { - "forks": 7, - "last_commit": "2025-12-30", - "last_release": "2025-12-30", - "stars": 137 - }, - "github:JayanAXHF/filessh": { - "forks": 5, - "last_commit": "2026-01-25", - "last_release": "2026-01-25", - "stars": 203 - }, - "github:JayanAXHF/gitv": { - "forks": 3, - "last_commit": "2026-03-08", - "last_release": "2026-03-08", - "stars": 85 - }, - "github:JinmuGo/sls": { - "forks": 1, - "last_commit": "2026-01-25", - "last_release": "2026-01-25", - "stars": 5 - }, - "github:JordanCoin/codemap": { - "forks": 39, - "last_commit": "2026-02-21", - "last_release": "2026-02-21", - "stars": 447 - }, - "github:Kenzo-Wada/thanks-stars": { - "forks": 2, - "last_commit": "2026-03-21", - "last_release": "2025-10-27", - "stars": 41 - }, - "github:Kk-ships/dnsforwarder": { - "forks": 0, - "last_commit": "2026-01-15", - "last_release": null, - "stars": 33 - }, - "github:Kohei-Wada/taskdog": { - "forks": 2, - "last_commit": "2026-03-16", - "last_release": "2026-03-15", - "stars": 76 - }, - "github:Koihik/LuaFormatter": { - "forks": 85, - "last_commit": "2023-08-25", - "last_release": "2021-05-18", - "stars": 800 - }, - "github:Konstantin8105/c4go": { - "forks": 41, - "last_commit": "2024-09-19", - "last_release": null, - "stars": 378 - }, - "github:Leask/Tabminal": { - "forks": 23, - "last_commit": "2026-04-14", - "last_release": null, - "stars": 361 - }, - "github:MacroPower/kat": { - "forks": 1, - "last_commit": "2026-02-16", - "last_release": "2025-11-30", - "stars": 157 - }, - "github:Madh93/tpm": { - "forks": 2, - "last_commit": "2025-08-21", - "last_release": "2023-05-19", - "stars": 85 - }, - "github:MarkusPfundstein/mcp-obsidian": { - "forks": 358, - "last_commit": "2025-06-28", - "last_release": null, - "stars": 2853 - }, - "github:MathiasPius/crates-lsp": { - "forks": 14, - "last_commit": "2025-11-14", - "last_release": "2025-10-15", - "stars": 46 - }, - "github:Maxteabag/sqlit": { - "forks": 94, - "last_commit": "2026-02-02", - "last_release": "2026-02-01", - "stars": 3718 - }, - "github:Michael-F-Bryan/mdbook-linkcheck": { - "forks": 32, - "last_commit": "2024-08-15", - "last_release": "2022-10-03", - "stars": 167 - }, - "github:MontFerret/ferret": { - "forks": 318, - "last_commit": "2026-02-16", - "last_release": "2025-05-07", - "stars": 5920 - }, - "github:Myriad-Dreamin/shiroa": { - "forks": 29, - "last_commit": "2025-12-14", - "last_release": "2025-03-06", - "stars": 609 - }, - "github:NQMVD/needs": { - "forks": 0, - "last_commit": "2026-01-19", - "last_release": "2025-12-04", - "stars": 20 - }, - "github:NSPC911/rovr": { - "forks": 24, - "last_commit": "2026-03-23", - "last_release": "2026-02-01", - "stars": 343 - }, - "github:NVSRahul/zombie": { - "forks": 1, - "last_commit": "2026-01-25", - "last_release": "2026-01-24", - "stars": 25 - }, - "github:NishantJoshi00/pmx": { - "forks": 0, - "last_commit": "2025-10-10", - "last_release": null, - "stars": 5 - }, - "github:NotMugil/hardcover-tui": { - "forks": 0, - "last_commit": "2026-02-26", - "last_release": "2026-02-26", - "stars": 9 - }, - "github:ODwyerSoftware/brunette": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "github:ORB-HD/deface": { - "forks": 167, - "last_commit": "2024-10-13", - "last_release": "2023-10-15", - "stars": 1411 - }, - "github:Oloruntobi1/pproftui": { - "forks": 5, - "last_commit": "2025-07-28", - "last_release": null, - "stars": 276 - }, - "github:Ooooze/batctl": { - "forks": 1, - "last_commit": "2026-03-11", - "last_release": "2026-03-11", - "stars": 109 - }, - "github:OptiVorbis/OptiVorbis": { - "forks": 6, - "last_commit": "2026-02-16", - "last_release": "2025-01-13", - "stars": 117 - }, - "github:OverseedAI/viwo": { - "forks": 5, - "last_commit": "2026-04-03", - "last_release": "2026-01-05", - "stars": 32 - }, - "github:Owloops/tfjournal": { - "forks": 0, - "last_commit": "2026-01-30", - "last_release": "2026-01-30", - "stars": 37 - }, - "github:P403n1x87/austin-tui": { - "forks": 18, - "last_commit": "2025-11-09", - "last_release": "2025-11-09", - "stars": 663 - }, - "github:ParadigmMC/mcman": { - "forks": 23, - "last_commit": "2025-12-28", - "last_release": "2024-07-16", - "stars": 297 - }, - "github:Piebald-AI/splitrail": { - "forks": 13, - "last_commit": "2026-04-05", - "last_release": "2026-04-05", - "stars": 146 - }, - "github:Pluralith/pluralith-cli": { - "forks": 58, - "last_commit": "2023-07-14", - "last_release": "2023-03-23", - "stars": 848 - }, - "github:ProspectOne/perfops-cli": { - "forks": 48, - "last_commit": "2025-03-06", - "last_release": "2023-03-31", - "stars": 293 - }, - "github:PyCQA/autoflake": { - "forks": 83, - "last_commit": "2026-01-23", - "last_release": "2024-03-13", - "stars": 952 - }, - "github:ReVanced/revanced-cli": { - "forks": 214, - "last_commit": "2026-02-08", - "last_release": "2025-04-14", - "stars": 1519 - }, - "github:Rodrigodd/strace-tui": { - "forks": 5, - "last_commit": "2026-03-08", - "last_release": "2026-03-01", - "stars": 217 - }, - "github:RohanAdwankar/cgpu": { - "forks": 23, - "last_commit": "2025-11-30", - "last_release": null, - "stars": 138 - }, - "github:RoseSecurity/terrafetch": { - "forks": 2, - "last_commit": "2026-02-12", - "last_release": "2025-09-09", - "stars": 63 - }, - "github:Ryu0118/ctxmv": { - "forks": 0, - "last_commit": "2026-03-22", - "last_release": "2026-03-22", - "stars": 16 - }, - "github:STVR393/helius-personal-finance-tracker": { - "forks": 9, - "last_commit": "2026-03-19", - "last_release": "2026-03-19", - "stars": 81 - }, - "github:Sadoaz/vimalender": { - "forks": 3, - "last_commit": "2026-03-12", - "last_release": "2026-03-10", - "stars": 130 - }, - "github:SchematicHQ/taskonaut": { - "forks": 1, - "last_commit": "2026-02-16", - "last_release": "2025-11-24", - "stars": 20 - }, - "github:SecretDeveloper/lsv": { - "forks": 3, - "last_commit": "2025-10-12", - "last_release": null, - "stars": 106 - }, - "github:SeyZ/clawbands": { - "forks": 14, - "last_commit": "2026-02-09", - "last_release": "2026-02-09", - "stars": 152 - }, - "github:ShenMian/tracker": { - "forks": 11, - "last_commit": "2026-03-21", - "last_release": "2026-02-04", - "stars": 260 - }, - "github:StacklokLabs/mcp-tef": { - "forks": 0, - "last_commit": "2026-02-21", - "last_release": "2025-12-13", - "stars": 8 - }, - "github:Stan-breaks/ytsurf": { - "forks": 23, - "last_commit": "2026-03-09", - "last_release": "2026-03-02", - "stars": 461 - }, - "github:SunnyTamang/pygitzen": { - "forks": 1, - "last_commit": "2026-02-07", - "last_release": "2026-02-06", - "stars": 32 - }, - "github:Superredstone/spotiflac-cli": { - "forks": 3, - "last_commit": "2026-02-20", - "last_release": "2026-02-13", - "stars": 30 - }, - "github:Syndica/sig": { - "forks": 53, - "last_commit": "2026-02-16", - "last_release": "2023-05-20", - "stars": 370 - }, - "github:SystemCraftsman/strimzi-kafka-cli": { - "forks": 13, - "last_commit": "2024-11-06", - "last_release": null, - "stars": 86 - }, - "github:Tairesh/rustormy": { - "forks": 3, - "last_commit": "2026-02-12", - "last_release": "2025-09-14", - "stars": 78 - }, - "github:Tanq16/ai-context": { - "forks": 12, - "last_commit": "2025-07-30", - "last_release": "2025-07-30", - "stars": 153 - }, - "github:Tantalor93/dnspyre": { - "forks": 25, - "last_commit": "2026-02-17", - "last_release": "2026-02-16", - "stars": 276 - }, - "github:Tenderly/tenderly-cli": { - "forks": 173, - "last_commit": "2026-02-06", - "last_release": "2026-02-06", - "stars": 572 - }, - "github:TerraAGI/terra-code-cli": { - "forks": 4, - "last_commit": "2025-09-07", - "last_release": null, - "stars": 40 - }, - "github:TheYahya/enola": { - "forks": 58, - "last_commit": "2025-02-16", - "last_release": "2025-02-16", - "stars": 827 - }, - "github:TunaCuma/zsh-vi-man": { - "forks": 2, - "last_commit": "2026-03-08", - "last_release": "2026-01-04", - "stars": 95 - }, - "github:Tuurlijk/apisnip": { - "forks": 1, - "last_commit": "2025-11-29", - "last_release": "2025-11-29", - "stars": 79 - }, - "github:TylerBrock/saw": { - "forks": 84, - "last_commit": "2023-03-27", - "last_release": "2019-01-17", - "stars": 1435 - }, - "github:Use-Tusk/fence": { - "forks": 8, - "last_commit": "2026-02-22", - "last_release": "2026-02-22", - "stars": 544 - }, - "github:VG-dev1/fdir": { - "forks": 0, - "last_commit": "2026-01-30", - "last_release": "2026-01-27", - "stars": 38 - }, - "github:VKCOM/nocc": { - "forks": 17, - "last_commit": "2026-01-22", - "last_release": "2023-05-03", - "stars": 293 - }, - "github:Vaishnav-Sabari-Girish/ComChan": { - "forks": 10, - "last_commit": "2026-02-18", - "last_release": "2026-02-06", - "stars": 85 - }, - "github:Valkyrie00/bold-brew": { - "forks": 11, - "last_commit": "2025-12-31", - "last_release": "2025-12-31", - "stars": 288 - }, - "github:Veirt/weathr": { - "forks": 94, - "last_commit": "2026-03-21", - "last_release": "2026-02-23", - "stars": 2631 - }, - "github:VincenzoManto/Datacmd": { - "forks": 4, - "last_commit": "2025-12-31", - "last_release": "2025-09-03", - "stars": 105 - }, - "github:XENONCYBER/envy": { - "forks": 4, - "last_commit": "2026-03-04", - "last_release": "2026-03-03", - "stars": 69 - }, - "github:Yeachan-Heo/oh-my-claudecode": { - "forks": 2796, - "last_commit": "2026-04-20", - "last_release": "2026-04-19", - "stars": 30156 - }, - "github:Yeachan-Heo/oh-my-codex": { - "forks": 1624, - "last_commit": "2026-04-06", - "last_release": "2026-04-04", - "stars": 16978 - }, - "github:Zaloog/blueutil-tui": { - "forks": 1, - "last_commit": "2025-08-17", - "last_release": null, - "stars": 47 - }, - "github:Zuhaitz-dev/fat": { - "forks": 6, - "last_commit": "2025-08-24", - "last_release": "2025-08-08", - "stars": 78 - }, - "github:ZupIT/horusec": { - "forks": 213, - "last_commit": "2026-02-11", - "last_release": "2022-06-08", - "stars": 1299 - }, - "github:a8m/envsubst": { - "forks": 95, - "last_commit": "2025-12-10", - "last_release": "2025-02-26", - "stars": 861 - }, - "github:aannoo/hcom": { - "forks": 24, - "last_commit": "2026-04-06", - "last_release": "2026-04-05", - "stars": 190 - }, - "github:abdfnx/resto": { - "forks": 13, - "last_commit": "2024-07-19", - "last_release": "2022-01-03", - "stars": 282 - }, - "github:abhixdd/ghgrab": { - "forks": 26, - "last_commit": "2026-03-21", - "last_release": "2026-03-21", - "stars": 398 - }, - "github:abhiyoheswaran1/projscan": { - "forks": 0, - "last_commit": "2026-03-12", - "last_release": "2026-03-11", - "stars": 2 - }, - "github:acaloiaro/di-tui": { - "forks": 5, - "last_commit": "2025-11-29", - "last_release": "2025-11-29", - "stars": 54 - }, - "github:achannarasappa/ticker": { - "forks": 322, - "last_commit": "2025-12-28", - "last_release": "2025-12-28", - "stars": 5937 - }, - "github:achoreim/gh-unpushed": { - "forks": 0, - "last_commit": "2025-04-15", - "last_release": "2025-04-15", - "stars": 3 - }, - "github:acidvegas/elastop": { - "forks": 10, - "last_commit": "2024-12-13", - "last_release": "2024-12-06", - "stars": 291 - }, - "github:acossta/captan": { - "forks": 0, - "last_commit": "2025-08-22", - "last_release": "2025-08-22", - "stars": 2 - }, - "github:actionbook/actionbook": { - "forks": 89, - "last_commit": "2026-02-23", - "last_release": "2026-02-23", - "stars": 1196 - }, - "github:adamperkowski/nvrs": { - "forks": 4, - "last_commit": "2026-01-05", - "last_release": "2025-10-14", - "stars": 64 - }, - "github:ademajagon/gix": { - "forks": 3, - "last_commit": "2025-07-20", - "last_release": "2025-07-19", - "stars": 36 - }, - "github:agauniyal/rang": { - "forks": 154, - "last_commit": "2024-07-23", - "last_release": "2021-07-30", - "stars": 1580 - }, - "github:agentic-mcp-tools/memora": { - "forks": 28, - "last_commit": "2026-02-20", - "last_release": "2026-02-19", - "stars": 293 - }, - "github:agentic-mcp-tools/owlex": { - "forks": 3, - "last_commit": "2026-02-18", - "last_release": "2026-02-18", - "stars": 50 - }, - "github:agents-squads/squads-cli": { - "forks": 2, - "last_commit": "2026-04-02", - "last_release": "2026-03-28", - "stars": 39 - }, - "github:aguacero7/rkik": { - "forks": 4, - "last_commit": "2026-02-11", - "last_release": "2026-01-24", - "stars": 55 - }, - "github:agustinsacco/tars": { - "forks": 0, - "last_commit": "2026-04-01", - "last_release": "2026-03-29", - "stars": 1 - }, - "github:ahkohd/oyo": { - "forks": 5, - "last_commit": "2026-03-01", - "last_release": "2026-02-15", - "stars": 282 - }, - "github:ahmetb/kubectl-tree": { - "forks": 138, - "last_commit": "2026-02-16", - "last_release": "2025-11-15", - "stars": 3308 - }, - "github:ajaxray/markpdf": { - "forks": 41, - "last_commit": "2024-07-17", - "last_release": "2022-12-27", - "stars": 207 - }, - "github:akopdev/nbcat": { - "forks": 0, - "last_commit": "2025-06-04", - "last_release": "2025-05-15", - "stars": 36 - }, - "github:alacritty/alacritty": { - "forks": 3303, - "last_commit": "2026-01-29", - "last_release": "2025-10-20", - "stars": 62443 - }, - "github:alaingilbert/agl": { - "forks": 7, - "last_commit": "2025-11-16", - "last_release": null, - "stars": 105 - }, - "github:albertoboccolini/sqd": { - "forks": 1, - "last_commit": "2026-02-12", - "last_release": "2026-02-12", - "stars": 34 - }, - "github:aleksandarskrbic/khaos": { - "forks": 7, - "last_commit": "2026-01-05", - "last_release": "2026-01-05", - "stars": 124 - }, - "github:aleyan/dela": { - "forks": 1, - "last_commit": "2026-02-06", - "last_release": null, - "stars": 56 - }, - "github:allinssl/allinssl": { - "forks": 354, - "last_commit": "2026-01-29", - "last_release": "2026-01-21", - "stars": 3352 - }, - "github:almogdepaz/wolfpack": { - "forks": 6, - "last_commit": "2026-04-06", - "last_release": "2026-03-24", - "stars": 22 - }, - "github:altdesktop/playerctl": { - "forks": 95, - "last_commit": "2024-06-13", - "last_release": "2021-09-21", - "stars": 2843 - }, - "github:alxrw/parm": { - "forks": 3, - "last_commit": "2026-02-14", - "last_release": "2026-02-09", - "stars": 133 - }, - "github:amalbansode/opensnitch-tui": { - "forks": 2, - "last_commit": "2025-12-18", - "last_release": "2025-12-18", - "stars": 21 - }, - "github:andrewmd5/dawn": { - "forks": 11, - "last_commit": "2026-01-01", - "last_release": "2026-01-01", - "stars": 393 - }, - "github:andrewrk/poop": { - "forks": 84, - "last_commit": "2025-10-29", - "last_release": "2024-09-06", - "stars": 1861 - }, - "github:andrianllmm/renux": { - "forks": 0, - "last_commit": "2026-02-10", - "last_release": null, - "stars": 22 - }, - "github:andybrandt/mcp-simple-pubmed": { - "forks": 35, - "last_commit": "2025-12-17", - "last_release": null, - "stars": 156 - }, - "github:andyrewlee/amux": { - "forks": 2, - "last_commit": "2026-03-30", - "last_release": "2026-03-18", - "stars": 74 - }, - "github:ankddev/envfetch": { - "forks": 3, - "last_commit": "2025-12-26", - "last_release": "2025-04-08", - "stars": 46 - }, - "github:antham/gommit": { - "forks": 5, - "last_commit": "2026-02-10", - "last_release": "2025-02-09", - "stars": 115 - }, - "github:anthropics/dxt": { - "forks": 164, - "last_commit": "2026-02-12", - "last_release": "2025-12-04", - "stars": 1705 - }, - "github:antoniomika/sish": { - "forks": 330, - "last_commit": "2026-02-04", - "last_release": "2026-02-04", - "stars": 4528 - }, - "github:aome510/hackernews-TUI": { - "forks": 30, - "last_commit": "2024-10-22", - "last_release": "2024-10-22", - "stars": 686 - }, - "github:apify/mcp-cli": { - "forks": 16, - "last_commit": "2026-02-10", - "last_release": "2026-02-02", - "stars": 320 - }, - "github:appbaseio/abc": { - "forks": 46, - "last_commit": "2025-12-05", - "last_release": "2022-04-04", - "stars": 472 - }, - "github:arduino/arduino-language-server": { - "forks": 19, - "last_commit": "2026-02-06", - "last_release": "2025-03-19", - "stars": 183 - }, - "github:ari1110/pass-cli": { - "forks": 1, - "last_commit": "2026-03-02", - "last_release": "2026-02-07", - "stars": 49 - }, - "github:ariasmn/ugm": { - "forks": 3, - "last_commit": "2025-08-17", - "last_release": "2025-08-17", - "stars": 157 - }, - "github:arimxyer/aic": { - "forks": 0, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 13 - }, - "github:arimxyer/models": { - "forks": 11, - "last_commit": "2026-03-09", - "last_release": "2026-03-09", - "stars": 239 - }, - "github:armgabrielyan/deadbranch": { - "forks": 2, - "last_commit": "2026-02-07", - "last_release": "2026-02-07", - "stars": 12 - }, - "github:arsham/blush": { - "forks": 18, - "last_commit": "2023-09-03", - "last_release": "2022-04-22", - "stars": 557 - }, - "github:ascorbic/am-i-vibing": { - "forks": 12, - "last_commit": "2026-02-12", - "last_release": "2025-08-07", - "stars": 334 - }, - "github:ascorbic/mapscii": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "github:asdine/cueimports": { - "forks": 2, - "last_commit": "2025-02-10", - "last_release": "2022-09-20", - "stars": 24 - }, - "github:ash-ai-org/ash-ai": { - "forks": 1, - "last_commit": "2026-03-17", - "last_release": "2026-03-14", - "stars": 32 - }, - "github:ashuhlee/starlit": { - "forks": 1, - "last_commit": "2026-02-09", - "last_release": "2026-01-14", - "stars": 28 - }, - "github:aspizu/goboscript": { - "forks": 42, - "last_commit": "2026-02-14", - "last_release": "2025-05-22", - "stars": 447 - }, - "github:astefanutti/decktape": { - "forks": 191, - "last_commit": "2026-01-22", - "last_release": "2025-04-21", - "stars": 2337 - }, - "github:atinylittleshell/gsh": { - "forks": 18, - "last_commit": "2026-02-21", - "last_release": "2026-02-21", - "stars": 378 - }, - "github:authzed/spicedb": { - "forks": 364, - "last_commit": "2026-02-16", - "last_release": "2026-02-09", - "stars": 6434 - }, - "github:autotag-dev/autotag": { - "forks": 44, - "last_commit": "2026-01-23", - "last_release": "2026-01-23", - "stars": 202 - }, - "github:aviator-co/av": { - "forks": 36, - "last_commit": "2026-02-16", - "last_release": "2026-02-09", - "stars": 460 - }, - "github:awslabs/flowgger": { - "forks": 60, - "last_commit": "2025-06-23", - "last_release": "2024-05-17", - "stars": 878 - }, - "github:axiomhq/mcp-server-axiom": { - "forks": 15, - "last_commit": "2025-11-20", - "last_release": "2025-08-13", - "stars": 58 - }, - "github:ayn2op/discordo": { - "forks": 202, - "last_commit": "2026-04-23", - "last_release": null, - "stars": 5466 - }, - "github:baalimago/clai": { - "forks": 10, - "last_commit": "2026-02-09", - "last_release": "2026-02-09", - "stars": 139 - }, - "github:babycommando/zuse": { - "forks": 14, - "last_commit": "2025-07-28", - "last_release": "2025-07-28", - "stars": 310 - }, - "github:backendsystems/nibble": { - "forks": 5, - "last_commit": "2026-04-22", - "last_release": "2026-04-22", - "stars": 158 - }, - "github:balta2ar/brotab": { - "forks": 43, - "last_commit": "2025-01-22", - "last_release": "2022-05-29", - "stars": 481 - }, - "github:bananaofhappiness/soundscope": { - "forks": 2, - "last_commit": "2026-02-07", - "last_release": "2026-02-07", - "stars": 153 - }, - "github:base/base-mcp": { - "forks": 121, - "last_commit": "2025-06-17", - "last_release": "2025-04-22", - "stars": 336 - }, - "github:basnijholt/dotbins": { - "forks": 5, - "last_commit": "2026-02-13", - "last_release": "2026-02-13", - "stars": 250 - }, - "github:basro/stylance-rs": { - "forks": 13, - "last_commit": "2025-11-24", - "last_release": "2025-11-24", - "stars": 136 - }, - "github:bazelbuild/buildtools": { - "forks": 457, - "last_commit": "2026-02-11", - "last_release": "2026-01-30", - "stars": 1161 - }, - "github:bcicen/grmon": { - "forks": 56, - "last_commit": "2023-07-18", - "last_release": "2021-10-13", - "stars": 1904 - }, - "github:bdcht/amoco": { - "forks": 65, - "last_commit": "2025-02-17", - "last_release": null, - "stars": 490 - }, - "github:bellicose100xp/jiq": { - "forks": 3, - "last_commit": "2026-02-24", - "last_release": "2026-02-20", - "stars": 280 - }, - "github:benbusby/yeetfile": { - "forks": 20, - "last_commit": "2026-01-02", - "last_release": "2025-02-26", - "stars": 304 - }, - "github:bendews/apw": { - "forks": 9, - "last_commit": "2026-01-20", - "last_release": "2025-10-16", - "stars": 166 - }, - "github:benjaminsanborn/psq": { - "forks": 1, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 10 - }, - "github:beordle/termtunnel": { - "forks": 35, - "last_commit": "2024-05-21", - "last_release": "2024-05-21", - "stars": 370 - }, - "github:bergside/typeui": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "github:betterleaks/betterleaks": { - "forks": 5, - "last_commit": "2026-02-28", - "last_release": "2026-02-20", - "stars": 109 - }, - "github:bjarneo/cliamp": { - "forks": 48, - "last_commit": "2026-03-15", - "last_release": "2026-03-14", - "stars": 853 - }, - "github:bketelsen/incus-compose": { - "forks": 11, - "last_commit": "2025-07-07", - "last_release": "2025-03-31", - "stars": 120 - }, - "github:bketelsen/surgeon": { - "forks": 0, - "last_commit": "2025-06-03", - "last_release": "2025-04-14", - "stars": 19 - }, - "github:blazickjp/arxiv-mcp-server": { - "forks": 177, - "last_commit": "2026-02-13", - "last_release": null, - "stars": 2178 - }, - "github:blmayer/ereandel": { - "forks": 6, - "last_commit": "2026-02-22", - "last_release": "2024-09-01", - "stars": 65 - }, - "github:bonaysoft/rslocal": { - "forks": 15, - "last_commit": "2022-05-13", - "last_release": "2022-05-11", - "stars": 235 - }, - "github:boolean-maybe/tiki": { - "forks": 3, - "last_commit": "2026-03-30", - "last_release": "2026-03-26", - "stars": 129 - }, - "github:box-project/box": { - "forks": 106, - "last_commit": "2026-02-16", - "last_release": "2025-10-31", - "stars": 1281 - }, - "github:boyter/cs": { - "forks": 14, - "last_commit": "2026-02-16", - "last_release": "2023-08-15", - "stars": 547 - }, - "github:brave/brave-search-mcp-server": { - "forks": 124, - "last_commit": "2026-02-16", - "last_release": "2026-01-29", - "stars": 647 - }, - "github:breml/tfreveal": { - "forks": 2, - "last_commit": "2025-09-22", - "last_release": "2024-08-09", - "stars": 46 - }, - "github:brevity1swos/rgx": { - "forks": 2, - "last_commit": "2026-03-25", - "last_release": "2026-03-25", - "stars": 169 - }, - "github:brianvoe/gofakeit": { - "forks": 292, - "last_commit": "2025-12-28", - "last_release": "2025-11-08", - "stars": 5302 - }, - "github:browserbase/mcp-server-browserbase": { - "forks": 338, - "last_commit": "2026-01-23", - "last_release": null, - "stars": 3133 - }, - "github:brunoluiz/xpdig": { - "forks": 3, - "last_commit": "2026-02-09", - "last_release": "2026-01-04", - "stars": 33 - }, - "github:brycx/checkpwn": { - "forks": 12, - "last_commit": "2025-01-27", - "last_release": "2022-01-23", - "stars": 131 - }, - "github:bugzmanov/bookokrat": { - "forks": 21, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 589 - }, - "github:buildoak/tortuise": { - "forks": 7, - "last_commit": "2026-03-15", - "last_release": "2026-02-24", - "stars": 143 - }, - "github:busser/tftree": { - "forks": 5, - "last_commit": "2026-02-11", - "last_release": "2023-10-02", - "stars": 159 - }, - "github:caarlos0/starcharts": { - "forks": 142, - "last_commit": "2026-02-05", - "last_release": "2025-04-14", - "stars": 1397 - }, - "github:caarlos0/tasktimer": { - "forks": 9, - "last_commit": "2026-03-02", - "last_release": "2026-01-10", - "stars": 458 - }, - "github:carvel-dev/kwt": { - "forks": 12, - "last_commit": "2023-12-18", - "last_release": "2023-09-25", - "stars": 165 - }, - "github:ccheshirecat/flint": { - "forks": 91, - "last_commit": "2025-11-06", - "last_release": "2025-11-07", - "stars": 1611 - }, - "github:cello-proj/cello": { - "forks": 37, - "last_commit": "2025-10-31", - "last_release": "2025-10-30", - "stars": 291 - }, - "github:cerbos/cerbos": { - "forks": 171, - "last_commit": "2026-02-16", - "last_release": "2026-02-04", - "stars": 4221 - }, - "github:cesarferreira/needle": { - "forks": 2, - "last_commit": "2025-12-19", - "last_release": null, - "stars": 139 - }, - "github:cesarferreira/nuls": { - "forks": 4, - "last_commit": "2025-12-10", - "last_release": null, - "stars": 103 - }, - "github:cesarferreira/rip": { - "forks": 18, - "last_commit": "2026-02-03", - "last_release": "2026-02-03", - "stars": 446 - }, - "github:cgxeiji/scholar": { - "forks": 5, - "last_commit": "2021-03-15", - "last_release": "2019-09-20", - "stars": 66 - }, - "github:chalet-dev/chalet": { - "forks": 1, - "last_commit": "2024-07-08", - "last_release": "2024-06-25", - "stars": 13 - }, - "github:charmbracelet/crush": { - "forks": 1234, - "last_commit": "2026-02-16", - "last_release": "2026-02-13", - "stars": 20049 - }, - "github:chenrui333/envtpl": { - "forks": 1, - "last_commit": "2026-02-11", - "last_release": "2025-11-08", - "stars": 3 - }, - "github:chenrui333/terradozer": { - "forks": 0, - "last_commit": "2026-02-26", - "last_release": "2026-02-26", - "stars": 1 - }, - "github:chmouel/lazyworktree": { - "forks": 6, - "last_commit": "2026-03-09", - "last_release": "2026-03-08", - "stars": 170 - }, - "github:chojs23/ec": { - "forks": 3, - "last_commit": "2026-03-09", - "last_release": "2026-02-16", - "stars": 149 - }, - "github:christo-auer/eilmeldung": { - "forks": 18, - "last_commit": "2026-03-09", - "last_release": "2026-03-06", - "stars": 607 - }, - "github:cirruslabs/omni-cache": { - "forks": 0, - "last_commit": "2026-02-18", - "last_release": "2026-02-15", - "stars": 10 - }, - "github:ck-zhang/reddix": { - "forks": 19, - "last_commit": "2025-12-06", - "last_release": "2025-11-05", - "stars": 906 - }, - "github:ckaznocha/protoc-gen-lint": { - "forks": 16, - "last_commit": "2024-12-23", - "last_release": "2022-11-08", - "stars": 287 - }, - "github:clawscli/claws": { - "forks": 7, - "last_commit": "2026-03-07", - "last_release": "2026-03-07", - "stars": 86 - }, - "github:clog-tool/clog-cli": { - "forks": 44, - "last_commit": "2024-08-15", - "last_release": "2017-03-18", - "stars": 904 - }, - "github:cloud-copilot/iam-collect": { - "forks": 3, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 85 - }, - "github:cloud-copilot/iam-lens": { - "forks": 13, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 262 - }, - "github:cloudflare/mcp-server-cloudflare": { - "forks": 340, - "last_commit": "2026-01-22", - "last_release": "2026-01-13", - "stars": 3415 - }, - "github:cockroachdb/crlfmt": { - "forks": 14, - "last_commit": "2024-08-07", - "last_release": "2024-08-07", - "stars": 20 - }, - "github:codesoap/osmar": { - "forks": 5, - "last_commit": "2025-07-21", - "last_release": "2024-10-04", - "stars": 132 - }, - "github:confident-ai/deepteam": { - "forks": 211, - "last_commit": "2026-03-16", - "last_release": "2025-11-12", - "stars": 1373 - }, - "github:container2wasm/container2wasm": { - "forks": 128, - "last_commit": "2026-02-12", - "last_release": "2025-07-28", - "stars": 2553 - }, - "github:contentful-labs/terraform-diff": { - "forks": 5, - "last_commit": "2025-09-18", - "last_release": null, - "stars": 69 - }, - "github:continusec/htvend": { - "forks": 0, - "last_commit": "2026-02-10", - "last_release": null, - "stars": 10 - }, - "github:coolbeevip/tui-banner": { - "forks": 4, - "last_commit": "2025-12-24", - "last_release": "2025-12-23", - "stars": 68 - }, - "github:coopernetes/kube-role-gen": { - "forks": 7, - "last_commit": "2025-08-17", - "last_release": "2023-10-11", - "stars": 20 - }, - "github:cozystack/cozypkg": { - "forks": 1, - "last_commit": "2026-02-09", - "last_release": "2026-01-27", - "stars": 48 - }, - "github:cphyc/fortran-linter": { - "forks": 11, - "last_commit": "2026-02-16", - "last_release": "2024-05-08", - "stars": 32 - }, - "github:craigf-svg/envlens": { - "forks": 3, - "last_commit": "2026-01-15", - "last_release": "2025-12-08", - "stars": 42 - }, - "github:crmne/hyprmoncfg": { - "forks": 6, - "last_commit": "2026-04-10", - "last_release": "2026-04-02", - "stars": 221 - }, - "github:ctoth/claudio": { - "forks": 4, - "last_commit": "2026-01-08", - "last_release": null, - "stars": 53 - }, - "github:cyberark/summon": { - "forks": 68, - "last_commit": "2025-12-10", - "last_release": "2025-12-10", - "stars": 754 - }, - "github:dadadel/pyment": { - "forks": 67, - "last_commit": "2024-06-18", - "last_release": "2021-03-08", - "stars": 946 - }, - "github:dagger/container-use": { - "forks": 172, - "last_commit": "2025-12-08", - "last_release": "2025-08-19", - "stars": 3543 - }, - "github:dagimg-dot/gitsnip": { - "forks": 3, - "last_commit": "2025-04-19", - "last_release": "2025-04-19", - "stars": 86 - }, - "github:daleonpz/raiz": { - "forks": 0, - "last_commit": "2025-08-09", - "last_release": null, - "stars": 7 - }, - "github:danburzo/percollate": { - "forks": 174, - "last_commit": "2025-08-29", - "last_release": "2025-08-29", - "stars": 4582 - }, - "github:dandyvica/dqy": { - "forks": 4, - "last_commit": "2025-09-19", - "last_release": null, - "stars": 41 - }, - "github:danihek/hellwal": { - "forks": 23, - "last_commit": "2026-01-09", - "last_release": "2025-09-04", - "stars": 819 - }, - "github:darkhz/adbtuifm": { - "forks": 9, - "last_commit": "2022-03-16", - "last_release": "2022-03-16", - "stars": 182 - }, - "github:darko-mesaros/shuk": { - "forks": 4, - "last_commit": "2024-12-11", - "last_release": "2024-12-11", - "stars": 34 - }, - "github:davidlattimore/wild": { - "forks": 111, - "last_commit": "2026-04-26", - "last_release": "2026-01-16", - "stars": 3527 - }, - "github:ddddddO/packemon": { - "forks": 4, - "last_commit": "2026-03-17", - "last_release": "2026-02-20", - "stars": 298 - }, - "github:ddev/ddev": { - "forks": 692, - "last_commit": "2026-02-16", - "last_release": "2026-02-03", - "stars": 3498 - }, - "github:deadlinks/cargo-deadlinks": { - "forks": 15, - "last_commit": "2024-12-10", - "last_release": "2021-10-13", - "stars": 156 - }, - "github:depot/cli": { - "forks": 13, - "last_commit": "2026-02-13", - "last_release": "2026-02-13", - "stars": 178 - }, - "github:derekwisong/datui": { - "forks": 5, - "last_commit": "2026-02-24", - "last_release": "2026-02-16", - "stars": 101 - }, - "github:devnullvoid/pvetui": { - "forks": 16, - "last_commit": "2026-02-16", - "last_release": "2026-02-15", - "stars": 570 - }, - "github:devtron-labs/silver-surfer": { - "forks": 39, - "last_commit": "2025-06-05", - "last_release": "2024-09-04", - "stars": 436 - }, - "github:dh1011/auto-favicon-mcp": { - "forks": 6, - "last_commit": "2025-07-27", - "last_release": null, - "stars": 32 - }, - "github:dhth/act3": { - "forks": 5, - "last_commit": "2026-02-14", - "last_release": "2025-06-16", - "stars": 64 - }, - "github:dhth/cueitup": { - "forks": 3, - "last_commit": "2026-03-12", - "last_release": "2025-04-16", - "stars": 57 - }, - "github:dhth/ecscope": { - "forks": 0, - "last_commit": "2026-02-15", - "last_release": "2025-07-15", - "stars": 13 - }, - "github:dhth/mult": { - "forks": 2, - "last_commit": "2026-03-01", - "last_release": "2025-08-12", - "stars": 65 - }, - "github:dhylands/rshell": { - "forks": 139, - "last_commit": "2024-12-04", - "last_release": "2024-02-13", - "stars": 1031 - }, - "github:diegoholiveira/localports": { - "forks": 3, - "last_commit": "2025-08-30", - "last_release": "2025-08-30", - "stars": 107 - }, - "github:djetelina/tofuref": { - "forks": 1, - "last_commit": "2026-03-16", - "last_release": "2026-01-19", - "stars": 22 - }, - "github:dlvhdr/gh-dash": { - "forks": 378, - "last_commit": "2026-04-24", - "last_release": "2026-03-07", - "stars": 11472 - }, - "github:doganarif/giq": { - "forks": 0, - "last_commit": "2025-03-19", - "last_release": "2025-02-06", - "stars": 15 - }, - "github:doganarif/llmdog": { - "forks": 6, - "last_commit": "2025-03-19", - "last_release": "2025-03-02", - "stars": 78 - }, - "github:domcyrus/rustnet": { - "forks": 58, - "last_commit": "2026-03-09", - "last_release": "2026-02-10", - "stars": 1841 - }, - "github:dominikbraun/timetrace": { - "forks": 80, - "last_commit": "2024-06-28", - "last_release": "2022-03-06", - "stars": 786 - }, - "github:dorcha-inc/orla": { - "forks": 4, - "last_commit": "2026-02-22", - "last_release": "2026-02-22", - "stars": 200 - }, - "github:dosco/graphjin": { - "forks": 186, - "last_commit": "2026-02-14", - "last_release": "2026-02-14", - "stars": 3020 - }, - "github:dosisod/refurb": { - "forks": 54, - "last_commit": "2025-09-17", - "last_release": "2025-09-17", - "stars": 2524 - }, - "github:douglance/ccql": { - "forks": 0, - "last_commit": "2025-12-23", - "last_release": "2025-12-23", - "stars": 3 - }, - "github:driscollis/squall": { - "forks": 3, - "last_commit": "2026-01-26", - "last_release": "2025-03-11", - "stars": 36 - }, - "github:ducminh-phan/reformat-gherkin": { - "forks": 15, - "last_commit": "2026-01-05", - "last_release": "2022-10-04", - "stars": 31 - }, - "github:dunglas/vulcain": { - "forks": 104, - "last_commit": "2025-10-30", - "last_release": "2025-08-26", - "stars": 3571 - }, - "github:dustinblackman/oatmeal": { - "forks": 42, - "last_commit": "2024-06-01", - "last_release": "2024-03-16", - "stars": 744 - }, - "github:dzfrias/projectable": { - "forks": 15, - "last_commit": "2025-05-28", - "last_release": "2025-01-13", - "stars": 448 - }, - "github:ebogdum/konfigo": { - "forks": 0, - "last_commit": "2026-03-16", - "last_release": "2026-02-25", - "stars": 17 - }, - "github:eckardt/cchistory": { - "forks": 5, - "last_commit": "2026-02-01", - "last_release": "2025-09-10", - "stars": 101 - }, - "github:eddieantonio/imgcat": { - "forks": 35, - "last_commit": "2025-10-21", - "last_release": "2023-12-18", - "stars": 914 - }, - "github:edoardottt/pphack": { - "forks": 23, - "last_commit": "2026-02-03", - "last_release": "2025-10-21", - "stars": 245 - }, - "github:edoardottt/pwdsafety": { - "forks": 15, - "last_commit": "2026-02-16", - "last_release": "2025-09-15", - "stars": 99 - }, - "github:eduardofuncao/squix": { - "forks": 9, - "last_commit": "2026-03-03", - "last_release": "2026-03-06", - "stars": 188 - }, - "github:edward-jazzhands/cloctui": { - "forks": 0, - "last_commit": "2025-07-20", - "last_release": null, - "stars": 57 - }, - "github:efemaer/terrawiz": { - "forks": 4, - "last_commit": "2026-02-16", - "last_release": "2025-11-15", - "stars": 81 - }, - "github:elC0mpa/aws-doctor": { - "forks": 14, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 355 - }, - "github:elitalpa/creanote": { - "forks": 0, - "last_commit": "2025-12-06", - "last_release": "2025-10-08", - "stars": 2 - }, - "github:elkirrs/dumper": { - "forks": 2, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 89 - }, - "github:elleryfamilia/terminal-mcp": { - "forks": 10, - "last_commit": "2026-02-17", - "last_release": "2026-01-28", - "stars": 96 - }, - "github:elva-labs/awsesh": { - "forks": 4, - "last_commit": "2026-01-30", - "last_release": "2025-10-23", - "stars": 122 - }, - "github:epilande/repos": { - "forks": 0, - "last_commit": "2025-12-30", - "last_release": "2025-12-30", - "stars": 29 - }, - "github:ergochat/ergo": { - "forks": 225, - "last_commit": "2026-02-16", - "last_release": "2025-12-22", - "stars": 3075 - }, - "github:etiennebacher/jarl": { - "forks": 6, - "last_commit": "2026-02-16", - "last_release": "2026-02-05", - "stars": 96 - }, - "github:evanlin96069/nino": { - "forks": 2, - "last_commit": "2026-02-14", - "last_release": null, - "stars": 67 - }, - "github:evilsocket/gptop": { - "forks": 1, - "last_commit": "2026-03-05", - "last_release": "2026-03-04", - "stars": 68 - }, - "github:ezpzai/cdx": { - "forks": 1, - "last_commit": "2026-03-20", - "last_release": "2026-03-20", - "stars": 16 - }, - "github:fabio42/ssl-checker": { - "forks": 4, - "last_commit": "2025-04-16", - "last_release": "2023-06-19", - "stars": 27 - }, - "github:facundoolano/ngtop": { - "forks": 9, - "last_commit": "2024-09-14", - "last_release": "2024-09-14", - "stars": 584 - }, - "github:favonia/cloudflare-ddns": { - "forks": 93, - "last_commit": "2026-02-15", - "last_release": "2024-12-16", - "stars": 2322 - }, - "github:felangga/chiko": { - "forks": 7, - "last_commit": "2025-11-12", - "last_release": "2025-11-12", - "stars": 339 - }, - "github:ffuf/pencode": { - "forks": 26, - "last_commit": "2024-01-20", - "last_release": "2024-01-20", - "stars": 239 - }, - "github:fgeller/kt": { - "forks": 103, - "last_commit": "2024-04-08", - "last_release": "2022-01-22", - "stars": 955 - }, - "github:fguedes90/lazycelery": { - "forks": 3, - "last_commit": "2025-12-15", - "last_release": "2025-08-28", - "stars": 55 - }, - "github:fioletoven/b4n": { - "forks": 1, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 24 - }, - "github:firecracker-microvm/firectl": { - "forks": 83, - "last_commit": "2026-01-16", - "last_release": "2022-10-24", - "stars": 590 - }, - "github:fission/fission": { - "forks": 793, - "last_commit": "2026-02-12", - "last_release": "2025-12-18", - "stars": 8829 - }, - "github:flipt-io/flipt": { - "forks": 276, - "last_commit": "2026-02-16", - "last_release": "2026-02-08", - "stars": 4714 - }, - "github:floatpane/matcha": { - "forks": 4, - "last_commit": "2026-02-23", - "last_release": "2026-02-22", - "stars": 72 - }, - "github:floci-io/floci": { - "forks": 187, - "last_commit": "2026-04-13", - "last_release": "2026-04-13", - "stars": 3363 - }, - "github:fractalops/fli": { - "forks": 0, - "last_commit": "2025-08-08", - "last_release": "2025-07-08", - "stars": 17 - }, - "github:ftilde/ugdb": { - "forks": 8, - "last_commit": "2025-03-09", - "last_release": null, - "stars": 444 - }, - "github:future-architect/tftarget": { - "forks": 12, - "last_commit": "2024-12-24", - "last_release": "2024-12-24", - "stars": 274 - }, - "github:future-architect/vuls": { - "forks": 1222, - "last_commit": "2026-02-16", - "last_release": "2026-02-13", - "stars": 12047 - }, - "github:gabm/Satty": { - "forks": 71, - "last_commit": "2026-02-16", - "last_release": "2026-02-06", - "stars": 1871 - }, - "github:garrettkrohn/treekanga": { - "forks": 1, - "last_commit": "2026-03-20", - "last_release": "2026-01-31", - "stars": 32 - }, - "github:geelen/mcp-remote": { - "forks": 204, - "last_commit": "2026-02-05", - "last_release": null, - "stars": 1271 - }, - "github:gembaadvantage/uplift": { - "forks": 9, - "last_commit": "2025-10-09", - "last_release": "2025-07-13", - "stars": 64 - }, - "github:genuinetools/certok": { - "forks": 15, - "last_commit": "2020-09-17", - "last_release": "2019-11-20", - "stars": 162 - }, - "github:getgrit/gritql": { - "forks": 120, - "last_commit": "2025-12-01", - "last_release": "2025-03-26", - "stars": 4399 - }, - "github:giacomopiccinini/judo": { - "forks": 5, - "last_commit": "2026-02-16", - "last_release": null, - "stars": 100 - }, - "github:ginkida/gokin": { - "forks": 4, - "last_commit": "2026-02-22", - "last_release": "2026-02-22", - "stars": 54 - }, - "github:git-chglog/git-chglog": { - "forks": 227, - "last_commit": "2026-01-18", - "last_release": "2023-02-15", - "stars": 2881 - }, - "github:github/copilot-cli": { - "forks": 1154, - "last_commit": "2026-02-16", - "last_release": "2026-02-14", - "stars": 8435 - }, - "github:gnojus/wedl": { - "forks": 5, - "last_commit": "2025-07-04", - "last_release": "2024-10-05", - "stars": 39 - }, - "github:go-eagle/eagle": { - "forks": 261, - "last_commit": "2025-11-28", - "last_release": "2025-10-14", - "stars": 2416 - }, - "github:go-enry/enry": { - "forks": 17, - "last_commit": "2023-09-22", - "last_release": "2023-09-22", - "stars": 56 - }, - "github:gobanos/cargo-aoc": { - "forks": 58, - "last_commit": "2025-05-09", - "last_release": "2023-12-02", - "stars": 477 - }, - "github:google/addlicense": { - "forks": 189, - "last_commit": "2025-10-28", - "last_release": "2025-08-13", - "stars": 867 - }, - "github:google/pyink": { - "forks": 18, - "last_commit": "2026-01-02", - "last_release": "2025-01-10", - "stars": 287 - }, - "github:googlecloudplatform/cloud-run-mcp": { - "forks": 95, - "last_commit": "2026-02-16", - "last_release": "2026-01-27", - "stars": 535 - }, - "github:gowebly/gowebly": { - "forks": 46, - "last_commit": "2026-01-16", - "last_release": "2026-01-16", - "stars": 1187 - }, - "github:gregl83/paq": { - "forks": 3, - "last_commit": "2026-02-16", - "last_release": "2025-12-29", - "stars": 24 - }, - "github:gsd-build/get-shit-done": { - "forks": 4333, - "last_commit": "2026-04-12", - "last_release": "2026-04-11", - "stars": 51581 - }, - "github:gulbaki/swagger-mcp-server": { - "forks": 4, - "last_commit": "2025-06-16", - "last_release": null, - "stars": 14 - }, - "github:gurgeous/tennis": { - "forks": 14, - "last_commit": "2026-03-23", - "last_release": "2026-03-16", - "stars": 376 - }, - "github:guumaster/hostctl": { - "forks": 53, - "last_commit": "2024-01-26", - "last_release": "2023-05-02", - "stars": 1205 - }, - "github:hako/oeis-tui": { - "forks": 4, - "last_commit": "2026-02-03", - "last_release": "2025-11-29", - "stars": 78 - }, - "github:haloydev/haloy": { - "forks": 5, - "last_commit": "2026-02-16", - "last_release": null, - "stars": 97 - }, - "github:hamidra/yamcp": { - "forks": 10, - "last_commit": "2025-05-27", - "last_release": "2025-05-26", - "stars": 61 - }, - "github:handlebargh/yatto": { - "forks": 5, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 88 - }, - "github:happening-oss/rabbitmq-message-ops": { - "forks": 0, - "last_commit": "2025-01-25", - "last_release": "2025-01-21", - "stars": 15 - }, - "github:harveyrandall/bsky-cli": { - "forks": 0, - "last_commit": "2026-03-15", - "last_release": "2026-03-15", - "stars": 14 - }, - "github:hashicorp/go-getter": { - "forks": 257, - "last_commit": "2026-02-16", - "last_release": "2026-01-01", - "stars": 1805 - }, - "github:hashicorp/terraform": { - "forks": 10215, - "last_commit": "2026-02-16", - "last_release": "2026-02-11", - "stars": 47684 - }, - "github:hauler-dev/hauler": { - "forks": 40, - "last_commit": "2026-02-14", - "last_release": "2026-01-16", - "stars": 188 - }, - "github:hauntsaninja/pyp": { - "forks": 43, - "last_commit": "2026-01-04", - "last_release": "2024-12-27", - "stars": 1511 - }, - "github:hauptsacheNet/clickup-mcp": { - "forks": 12, - "last_commit": "2026-02-13", - "last_release": "2026-02-01", - "stars": 35 - }, - "github:hellofresh/klepto": { - "forks": 41, - "last_commit": "2025-12-18", - "last_release": "2025-02-27", - "stars": 300 - }, - "github:hengyoush/kyanos": { - "forks": 228, - "last_commit": "2026-04-27", - "last_release": "2025-03-19", - "stars": 5013 - }, - "github:hivemq/mqtt-cli": { - "forks": 51, - "last_commit": "2026-02-16", - "last_release": "2026-01-27", - "stars": 358 - }, - "github:hjr265/gittop": { - "forks": 1, - "last_commit": "2026-03-28", - "last_release": "2026-03-19", - "stars": 104 - }, - "github:holo-routing/holo-cli": { - "forks": 10, - "last_commit": "2026-01-16", - "last_release": null, - "stars": 5 - }, - "github:hougesen/mdsf": { - "forks": 3, - "last_commit": "2026-02-12", - "last_release": "2025-12-17", - "stars": 96 - }, - "github:humio/cli": { - "forks": 25, - "last_commit": "2026-01-22", - "last_release": "2026-01-12", - "stars": 51 - }, - "github:huseyinbabal/taws": { - "forks": 62, - "last_commit": "2026-03-29", - "last_release": "2026-01-29", - "stars": 2182 - }, - "github:huseyinbabal/tredis": { - "forks": 2, - "last_commit": "2026-03-06", - "last_release": "2026-02-03", - "stars": 100 - }, - "github:hymkor/csvi": { - "forks": 4, - "last_commit": "2026-03-21", - "last_release": "2026-03-21", - "stars": 177 - }, - "github:hzqtc/cashd": { - "forks": 0, - "last_commit": "2025-10-04", - "last_release": "2025-10-04", - "stars": 50 - }, - "github:hzqtc/taproom": { - "forks": 7, - "last_commit": "2026-01-17", - "last_release": "2026-01-17", - "stars": 325 - }, - "github:iagooar/qqqa": { - "forks": 17, - "last_commit": "2025-11-30", - "last_release": "2025-11-25", - "stars": 605 - }, - "github:ibara/repology": { - "forks": 1, - "last_commit": "2026-01-16", - "last_release": "2025-02-11", - "stars": 9 - }, - "github:icorbrey/jjj": { - "forks": 2, - "last_commit": "2025-11-19", - "last_release": "2025-04-21", - "stars": 80 - }, - "github:ikanago/omekasy": { - "forks": 5, - "last_commit": "2026-02-12", - "last_release": "2025-06-06", - "stars": 154 - }, - "github:ikskuh/LoLa": { - "forks": 13, - "last_commit": "2026-01-10", - "last_release": null, - "stars": 227 - }, - "github:illacloud/illa": { - "forks": 46, - "last_commit": "2026-02-11", - "last_release": "2023-10-25", - "stars": 261 - }, - "github:ilmari-h/envie": { - "forks": 2, - "last_commit": "2025-11-19", - "last_release": "2025-11-19", - "stars": 124 - }, - "github:imduffy15/token-cli": { - "forks": 2, - "last_commit": "2022-10-26", - "last_release": "2021-09-04", - "stars": 19 - }, - "github:inbucket/inbucket": { - "forks": 180, - "last_commit": "2026-01-21", - "last_release": "2025-12-06", - "stars": 1983 - }, - "github:incu6us/goimports-reviser": { - "forks": 77, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 710 - }, - "github:innobead/huber": { - "forks": 14, - "last_commit": "2025-02-18", - "last_release": "2025-02-15", - "stars": 219 - }, - "github:involvex/youtube-music-cli": { - "forks": 9, - "last_commit": "2026-02-22", - "last_release": "2026-02-22", - "stars": 192 - }, - "github:its-the-shrimp/yew-fmt": { - "forks": 3, - "last_commit": "2025-07-16", - "last_release": "2025-07-16", - "stars": 27 - }, - "github:ivanilves/lstags": { - "forks": 26, - "last_commit": "2023-05-11", - "last_release": "2022-04-09", - "stars": 340 - }, - "github:ivanilves/travelgrunt": { - "forks": 3, - "last_commit": "2025-10-04", - "last_release": "2025-10-04", - "stars": 69 - }, - "github:j178/leetgo": { - "forks": 41, - "last_commit": "2026-02-11", - "last_release": "2025-12-23", - "stars": 669 - }, - "github:jacobbednarz/cf-vault": { - "forks": 7, - "last_commit": "2025-11-24", - "last_release": "2024-01-03", - "stars": 80 - }, - "github:jamesWoolfenden/pike": { - "forks": 40, - "last_commit": "2026-02-13", - "last_release": "2026-02-09", - "stars": 806 - }, - "github:jasonuc/gignr": { - "forks": 0, - "last_commit": "2026-02-16", - "last_release": "2025-02-16", - "stars": 11 - }, - "github:javanile/mush": { - "forks": 1, - "last_commit": "2026-03-22", - "last_release": "2024-03-21", - "stars": 72 - }, - "github:jbreckmckye/daylight": { - "forks": 10, - "last_commit": "2025-09-30", - "last_release": "2025-09-30", - "stars": 356 - }, - "github:jedisct1/minisign": { - "forks": 144, - "last_commit": "2026-01-14", - "last_release": "2025-01-15", - "stars": 2652 - }, - "github:jeremiah-c-leary/vhdl-style-guide": { - "forks": 60, - "last_commit": "2026-02-05", - "last_release": null, - "stars": 233 - }, - "github:jesseduffield/lazycli": { - "forks": 16, - "last_commit": "2023-07-15", - "last_release": "2021-06-02", - "stars": 418 - }, - "github:jesseduffield/lazynpm": { - "forks": 37, - "last_commit": "2023-03-02", - "last_release": "2020-04-18", - "stars": 833 - }, - "github:jetzig-framework/jetzig": { - "forks": 53, - "last_commit": "2026-01-25", - "last_release": null, - "stars": 1421 - }, - "github:jhillyerd/labcoat": { - "forks": 0, - "last_commit": "2026-02-16", - "last_release": null, - "stars": 51 - }, - "github:jjcm/llmpeg": { - "forks": 15, - "last_commit": "2025-01-19", - "last_release": null, - "stars": 483 - }, - "github:jkwill87/mnamer": { - "forks": 93, - "last_commit": "2025-11-27", - "last_release": "2025-11-27", - "stars": 1056 - }, - "github:johnhuang316/code-index-mcp": { - "forks": 93, - "last_commit": "2026-01-09", - "last_release": "2026-01-09", - "stars": 778 - }, - "github:johnsideserf/siggy": { - "forks": 3, - "last_commit": "2026-03-21", - "last_release": "2026-03-16", - "stars": 53 - }, - "github:jolicode/castor": { - "forks": 28, - "last_commit": "2026-02-16", - "last_release": "2026-02-10", - "stars": 529 - }, - "github:jonathanruiz/wakey": { - "forks": 2, - "last_commit": "2024-09-13", - "last_release": "2024-09-13", - "stars": 52 - }, - "github:jonit-dev/night-watch-cli": { - "forks": 3, - "last_commit": "2026-03-22", - "last_release": null, - "stars": 32 - }, - "github:jordond/jolt": { - "forks": 10, - "last_commit": "2026-03-08", - "last_release": "2026-02-09", - "stars": 437 - }, - "github:josephschmitt/pj": { - "forks": 0, - "last_commit": "2026-02-14", - "last_release": "2026-02-14", - "stars": 35 - }, - "github:jotbirdhq/jotbird-cli": { - "forks": 0, - "last_commit": "2026-02-14", - "last_release": "2026-02-14", - "stars": 0 - }, - "github:jpisnice/shadcn-ui-mcp-server": { - "forks": 281, - "last_commit": "2026-02-10", - "last_release": "2026-01-30", - "stars": 2651 - }, - "github:jstemmer/go-junit-report": { - "forks": 234, - "last_commit": "2024-08-20", - "last_release": "2023-10-18", - "stars": 825 - }, - "github:jtaylortech/journalot": { - "forks": 5, - "last_commit": "2026-03-19", - "last_release": "2026-03-17", - "stars": 86 - }, - "github:juanfont/headscale": { - "forks": 1901, - "last_commit": "2026-02-16", - "last_release": "2026-02-04", - "stars": 35437 - }, - "github:julez-dev/chatuino": { - "forks": 3, - "last_commit": "2026-03-01", - "last_release": "2026-02-28", - "stars": 50 - }, - "github:justjavac/dvm": { - "forks": 39, - "last_commit": "2025-05-26", - "last_release": "2025-02-13", - "stars": 697 - }, - "github:jvanbuel/flowrs": { - "forks": 3, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 86 - }, - "github:jwt-rs/jwt-ui": { - "forks": 17, - "last_commit": "2025-10-30", - "last_release": "2024-12-06", - "stars": 277 - }, - "github:jxhczhl/JsRpc": { - "forks": 441, - "last_commit": "2026-01-09", - "last_release": "2026-01-09", - "stars": 2171 - }, - "github:jzelinskie/faq": { - "forks": 14, - "last_commit": "2024-10-02", - "last_release": null, - "stars": 461 - }, - "github:k-saiki/mfa": { - "forks": 0, - "last_commit": "2026-01-26", - "last_release": "2025-12-31", - "stars": 22 - }, - "github:kabouzeid/turm": { - "forks": 22, - "last_commit": "2026-02-14", - "last_release": "2026-02-14", - "stars": 441 - }, - "github:kaifcodec/user-scanner": { - "forks": 138, - "last_commit": "2026-03-21", - "last_release": "2026-03-17", - "stars": 1324 - }, - "github:kantord/headson": { - "forks": 5, - "last_commit": "2026-02-08", - "last_release": "2026-02-04", - "stars": 239 - }, - "github:kardwen/passepartui": { - "forks": 3, - "last_commit": "2025-05-07", - "last_release": "2025-01-16", - "stars": 122 - }, - "github:kbst/kbst": { - "forks": 7, - "last_commit": "2023-04-14", - "last_release": null, - "stars": 41 - }, - "github:kcl-lang/cli": { - "forks": 21, - "last_commit": "2026-02-16", - "last_release": "2025-12-12", - "stars": 35 - }, - "github:kdash-rs/kdash": { - "forks": 89, - "last_commit": "2025-10-17", - "last_release": "2025-03-12", - "stars": 2417 - }, - "github:kitproj/junit2html": { - "forks": 10, - "last_commit": "2025-11-18", - "last_release": "2025-11-18", - "stars": 12 - }, - "github:klauspost/asmfmt": { - "forks": 19, - "last_commit": "2022-04-04", - "last_release": "2022-04-04", - "stars": 304 - }, - "github:klevo/locport": { - "forks": 0, - "last_commit": "2026-02-15", - "last_release": null, - "stars": 18 - }, - "github:knqyf263/pet": { - "forks": 241, - "last_commit": "2026-01-21", - "last_release": "2024-12-08", - "stars": 5079 - }, - "github:koenbollen/jl": { - "forks": 13, - "last_commit": "2024-04-05", - "last_release": "2023-07-08", - "stars": 246 - }, - "github:koibtw/nvrs": { - "forks": 4, - "last_commit": "2026-04-23", - "last_release": "2026-04-23", - "stars": 62 - }, - "github:kongbytes/arp-scan-rs": { - "forks": 22, - "last_commit": "2025-11-18", - "last_release": "2025-11-18", - "stars": 151 - }, - "github:kopecmaciej/vi-mongo": { - "forks": 15, - "last_commit": "2026-02-15", - "last_release": "2026-02-02", - "stars": 198 - }, - "github:kptdev/kpt": { - "forks": 253, - "last_commit": "2026-02-16", - "last_release": "2026-01-22", - "stars": 1852 - }, - "github:kpumuk/lazykiq": { - "forks": 1, - "last_commit": "2026-03-02", - "last_release": "2026-01-21", - "stars": 24 - }, - "github:kraanzu/smassh": { - "forks": 60, - "last_commit": "2025-11-15", - "last_release": "2025-11-15", - "stars": 1869 - }, - "github:kristoff-it/ziggy": { - "forks": 40, - "last_commit": "2025-11-25", - "last_release": null, - "stars": 511 - }, - "github:kriuchkov/tock": { - "forks": 16, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 350 - }, - "github:kruserr/hygg": { - "forks": 11, - "last_commit": "2026-02-11", - "last_release": "2025-09-26", - "stars": 265 - }, - "github:krzko/otelgen": { - "forks": 24, - "last_commit": "2025-03-31", - "last_release": "2024-10-23", - "stars": 161 - }, - "github:krzko/proto2yaml": { - "forks": 2, - "last_commit": "2024-04-25", - "last_release": "2024-01-16", - "stars": 19 - }, - "github:kubearmor/kubearmor-client": { - "forks": 89, - "last_commit": "2026-02-13", - "last_release": "2025-11-20", - "stars": 43 - }, - "github:kubeshop/botkube": { - "forks": 308, - "last_commit": "2024-12-11", - "last_release": "2024-11-13", - "stars": 2276 - }, - "github:kunchenguid/gnhf": { - "forks": 11, - "last_commit": "2026-04-06", - "last_release": "2026-04-06", - "stars": 248 - }, - "github:kurama/dealve-tui": { - "forks": 4, - "last_commit": "2026-02-23", - "last_release": "2026-02-23", - "stars": 212 - }, - "github:kyotalab/vento": { - "forks": 0, - "last_commit": "2025-07-01", - "last_release": "2025-07-01", - "stars": 6 - }, - "github:lacquerai/lacquer": { - "forks": 2, - "last_commit": "2025-08-22", - "last_release": "2025-08-21", - "stars": 33 - }, - "github:lance0/xfr": { - "forks": 10, - "last_commit": "2026-02-15", - "last_release": "2026-02-12", - "stars": 269 - }, - "github:legostin/cull": { - "forks": 3, - "last_commit": "2026-02-05", - "last_release": "2026-02-04", - "stars": 88 - }, - "github:leleliu008/xcpkg": { - "forks": 4, - "last_commit": "2026-02-12", - "last_release": "2026-02-03", - "stars": 27 - }, - "github:levkk/pgdog": { - "forks": 130, - "last_commit": "2026-02-16", - "last_release": "2026-02-12", - "stars": 3347 - }, - "github:lfaoro/ssm": { - "forks": 5, - "last_commit": "2025-08-06", - "last_release": "2025-08-04", - "stars": 94 - }, - "github:libsdl-org/SDL_image": { - "forks": 255, - "last_commit": "2026-02-16", - "last_release": "2026-01-22", - "stars": 904 - }, - "github:libsdl-org/SDL_mixer": { - "forks": 204, - "last_commit": "2026-02-06", - "last_release": "2025-02-07", - "stars": 664 - }, - "github:libsdl-org/SDL_net": { - "forks": 73, - "last_commit": "2026-01-21", - "last_release": "2022-08-19", - "stars": 318 - }, - "github:libsdl-org/SDL_ttf": { - "forks": 199, - "last_commit": "2026-02-13", - "last_release": "2025-03-31", - "stars": 679 - }, - "github:liderman/leveldb-cli": { - "forks": 26, - "last_commit": "2025-05-01", - "last_release": "2025-05-01", - "stars": 119 - }, - "github:lightpanda-io/browser": { - "forks": 947, - "last_commit": "2026-03-23", - "last_release": "2024-07-16", - "stars": 23947 - }, - "github:lightpanda-io/zig-v8-fork": { - "forks": 10, - "last_commit": "2026-03-23", - "last_release": "2026-03-14", - "stars": 32 - }, - "github:lintnet/lintnet": { - "forks": 0, - "last_commit": "2026-02-16", - "last_release": "2025-12-06", - "stars": 63 - }, - "github:linuxmobile/oxicord": { - "forks": 10, - "last_commit": "2026-03-05", - "last_release": "2026-02-23", - "stars": 288 - }, - "github:litespeedtech/ls-hpack": { - "forks": 25, - "last_commit": "2025-02-12", - "last_release": "2025-02-12", - "stars": 53 - }, - "github:littlebearapps/untether": { - "forks": 3, - "last_commit": "2026-04-20", - "last_release": "2026-04-20", - "stars": 36 - }, - "github:lix-pm/lix": { - "forks": 25, - "last_commit": "2026-01-29", - "last_release": null, - "stars": 127 - }, - "github:llogick/zigscient": { - "forks": 5, - "last_commit": "2026-02-12", - "last_release": "2026-01-22", - "stars": 127 - }, - "github:loderunner/scrt": { - "forks": 7, - "last_commit": "2024-06-28", - "last_release": "2022-06-07", - "stars": 164 - }, - "github:longrun-ai/dominds": { - "forks": 1, - "last_commit": "2026-02-14", - "last_release": null, - "stars": 6 - }, - "github:luanvil/lnko": { - "forks": 0, - "last_commit": "2026-01-20", - "last_release": "2026-01-20", - "stars": 62 - }, - "github:lucasgelfond/zerobrew": { - "forks": 141, - "last_commit": "2026-02-16", - "last_release": "2026-02-15", - "stars": 6337 - }, - "github:luis-ota/swaptop": { - "forks": 8, - "last_commit": "2025-12-12", - "last_release": "2025-12-12", - "stars": 140 - }, - "github:luislve17/catree": { - "forks": 0, - "last_commit": "2026-01-03", - "last_release": "2026-01-03", - "stars": 6 - }, - "github:luser/rustfilt": { - "forks": 27, - "last_commit": "2023-05-31", - "last_release": "2021-12-22", - "stars": 293 - }, - "github:maaslalani/pom": { - "forks": 2, - "last_commit": "2024-05-16", - "last_release": "2024-05-12", - "stars": 134 - }, - "github:machlit/defaults-rs": { - "forks": 0, - "last_commit": "2025-12-21", - "last_release": "2025-12-21", - "stars": 15 - }, - "github:magodo/hcldump": { - "forks": 1, - "last_commit": "2021-12-27", - "last_release": null, - "stars": 8 - }, - "github:magodo/hclgrep": { - "forks": 7, - "last_commit": "2024-03-07", - "last_release": null, - "stars": 97 - }, - "github:magodo/pipeform": { - "forks": 13, - "last_commit": "2025-01-31", - "last_release": "2025-01-29", - "stars": 346 - }, - "github:mahlquistj/octotype": { - "forks": 0, - "last_commit": "2026-02-15", - "last_release": "2025-11-03", - "stars": 87 - }, - "github:mainak55512/qwe": { - "forks": 7, - "last_commit": "2025-12-14", - "last_release": "2025-12-14", - "stars": 53 - }, - "github:malcolmstill/zware": { - "forks": 18, - "last_commit": "2025-12-30", - "last_release": null, - "stars": 381 - }, - "github:marcus/sidecar": { - "forks": 61, - "last_commit": "2026-03-05", - "last_release": "2026-03-01", - "stars": 824 - }, - "github:mariocandela/beelzebub": { - "forks": 172, - "last_commit": "2026-02-16", - "last_release": "2026-02-13", - "stars": 1843 - }, - "github:marlocarlo/omp-manager": { - "forks": 0, - "last_commit": "2026-03-04", - "last_release": "2026-03-03", - "stars": 19 - }, - "github:mathaou/termdbms": { - "forks": 35, - "last_commit": "2022-06-11", - "last_release": null, - "stars": 1815 - }, - "github:matthewwithanm/python-markdownify": { - "forks": 183, - "last_commit": "2025-11-16", - "last_release": "2025-11-16", - "stars": 2064 - }, - "github:mattolenik/hclq": { - "forks": 22, - "last_commit": "2023-09-19", - "last_release": "2019-04-16", - "stars": 258 - }, - "github:maxbrunet/mmemoji": { - "forks": 4, - "last_commit": "2026-02-13", - "last_release": "2025-11-29", - "stars": 25 - }, - "github:mcp-use/mcp-use": { - "forks": 1125, - "last_commit": "2026-02-16", - "last_release": "2026-01-22", - "stars": 9162 - }, - "github:melonicecream/cc-enhanced": { - "forks": 4, - "last_commit": "2025-07-23", - "last_release": "2025-07-23", - "stars": 18 - }, - "github:memextech/ht-mcp": { - "forks": 11, - "last_commit": "2026-02-02", - "last_release": "2025-06-19", - "stars": 206 - }, - "github:mexirica/aptui": { - "forks": 9, - "last_commit": "2026-04-10", - "last_release": "2026-04-08", - "stars": 346 - }, - "github:mfridman/tparse": { - "forks": 36, - "last_commit": "2025-11-27", - "last_release": "2025-08-24", - "stars": 1231 - }, - "github:mhausenblas/krs": { - "forks": 8, - "last_commit": "2018-10-24", - "last_release": "2018-10-18", - "stars": 95 - }, - "github:microsoft/apm": { - "forks": 145, - "last_commit": "2026-04-27", - "last_release": "2026-04-27", - "stars": 2083 - }, - "github:microsoft/azure-pipelines-language-server": { - "forks": 29, - "last_commit": "2026-02-07", - "last_release": "2024-02-26", - "stars": 41 - }, - "github:mihaigalos/aim": { - "forks": 6, - "last_commit": "2026-02-15", - "last_release": "2026-01-10", - "stars": 171 - }, - "github:mikalv/mcdu": { - "forks": 2, - "last_commit": "2026-03-09", - "last_release": "2026-02-13", - "stars": 34 - }, - "github:mikeleppane/envx": { - "forks": 5, - "last_commit": "2025-09-19", - "last_release": "2025-09-19", - "stars": 196 - }, - "github:miklosn/cmdperf": { - "forks": 0, - "last_commit": "2026-01-21", - "last_release": "2026-01-21", - "stars": 31 - }, - "github:mimoo/cargo-dephell": { - "forks": 5, - "last_commit": "2023-05-12", - "last_release": "2020-03-26", - "stars": 48 - }, - "github:mimseyedi/pysentation": { - "forks": 6, - "last_commit": "2025-03-18", - "last_release": "2023-08-28", - "stars": 263 - }, - "github:ministackorg/ministack": { - "forks": 131, - "last_commit": "2026-04-13", - "last_release": "2026-04-12", - "stars": 1909 - }, - "github:miratcan/kaydet": { - "forks": 1, - "last_commit": "2026-03-10", - "last_release": "2025-11-14", - "stars": 28 - }, - "github:mitex-rs/mitex": { - "forks": 24, - "last_commit": "2025-12-25", - "last_release": null, - "stars": 534 - }, - "github:mixn/carbon-now-cli": { - "forks": 127, - "last_commit": "2025-11-14", - "last_release": "2024-12-12", - "stars": 5982 - }, - "github:mladensu/cli-mcp-server": { - "forks": 33, - "last_commit": "2025-07-04", - "last_release": null, - "stars": 162 - }, - "github:mlb-rs/mlbt": { - "forks": 11, - "last_commit": "2026-02-06", - "last_release": "2025-07-31", - "stars": 121 - }, - "github:moltis-org/moltis": { - "forks": 136, - "last_commit": "2026-02-23", - "last_release": "2026-02-21", - "stars": 1371 - }, - "github:monasticacademy/httptap": { - "forks": 64, - "last_commit": "2025-12-23", - "last_release": "2025-02-26", - "stars": 4145 - }, - "github:mondoohq/cnspec": { - "forks": 31, - "last_commit": "2026-02-16", - "last_release": "2026-02-10", - "stars": 398 - }, - "github:mongodb-js/mongodb-mcp-server": { - "forks": 197, - "last_commit": "2026-02-16", - "last_release": "2026-02-10", - "stars": 917 - }, - "github:mozilla-ai/mcpd": { - "forks": 17, - "last_commit": "2026-02-13", - "last_release": "2026-01-28", - "stars": 130 - }, - "github:mozilla/grcov": { - "forks": 166, - "last_commit": "2026-02-16", - "last_release": "2025-08-06", - "stars": 1333 - }, - "github:mrkatebzadeh/darya": { - "forks": 0, - "last_commit": "2026-04-06", - "last_release": "2026-03-26", - "stars": 122 - }, - "github:murat-cileli/dbee": { - "forks": 4, - "last_commit": "2024-06-22", - "last_release": "2024-06-20", - "stars": 157 - }, - "github:museslabs/kyma": { - "forks": 1, - "last_commit": "2026-02-13", - "last_release": "2025-06-21", - "stars": 76 - }, - "github:nabsk911/pgterm": { - "forks": 1, - "last_commit": "2026-02-07", - "last_release": null, - "stars": 30 - }, - "github:nakkiy/ctxhist": { - "forks": 1, - "last_commit": "2025-03-30", - "last_release": "2025-03-30", - "stars": 4 - }, - "github:nalgeon/howto": { - "forks": 6, - "last_commit": "2025-07-08", - "last_release": "2025-02-10", - "stars": 126 - }, - "github:namespacelabs/foundation": { - "forks": 14, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 146 - }, - "github:nanodbc/nanodbc": { - "forks": 98, - "last_commit": "2025-12-28", - "last_release": "2022-03-23", - "stars": 377 - }, - "github:napisani/procmux": { - "forks": 6, - "last_commit": "2025-11-23", - "last_release": null, - "stars": 107 - }, - "github:nathabonfim59/gitid": { - "forks": 1, - "last_commit": "2025-10-11", - "last_release": "2025-10-11", - "stars": 28 - }, - "github:nathaniel-fargo/monitui": { - "forks": 1, - "last_commit": "2026-02-10", - "last_release": null, - "stars": 38 - }, - "github:nathbns/gitact": { - "forks": 0, - "last_commit": "2025-08-29", - "last_release": "2025-08-29", - "stars": 23 - }, - "github:navig-me/telert": { - "forks": 15, - "last_commit": "2025-12-15", - "last_release": "2025-10-21", - "stars": 277 - }, - "github:neilpa/yajsv": { - "forks": 13, - "last_commit": "2023-11-21", - "last_release": "2022-09-22", - "stars": 102 - }, - "github:neiltron/apple-health-mcp": { - "forks": 16, - "last_commit": "2026-01-16", - "last_release": "2026-01-16", - "stars": 518 - }, - "github:neur0map/glazepkg": { - "forks": 17, - "last_commit": "2026-04-03", - "last_release": "2026-03-28", - "stars": 454 - }, - "github:neur0map/polymaster": { - "forks": 4, - "last_commit": "2026-02-13", - "last_release": null, - "stars": 12 - }, - "github:neurocyte/flow": { - "forks": 84, - "last_commit": "2026-02-16", - "last_release": "2026-02-14", - "stars": 1670 - }, - "github:nhost/cli": { - "forks": 31, - "last_commit": "2025-09-26", - "last_release": "2025-09-26", - "stars": 82 - }, - "github:nickolaj-jepsen/fnug": { - "forks": 0, - "last_commit": "2024-12-03", - "last_release": "2024-11-06", - "stars": 55 - }, - "github:nik-rev/countryfetch": { - "forks": 8, - "last_commit": "2026-03-06", - "last_release": "2025-06-04", - "stars": 268 - }, - "github:nikolaydubina/jsonl-graph": { - "forks": 5, - "last_commit": "2026-01-31", - "last_release": "2024-03-21", - "stars": 77 - }, - "github:nilslice/protolock": { - "forks": 36, - "last_commit": "2024-02-12", - "last_release": "2023-12-19", - "stars": 632 - }, - "github:njenia/que": { - "forks": 1, - "last_commit": "2025-11-21", - "last_release": "2025-11-20", - "stars": 6 - }, - "github:nkval/nkv": { - "forks": 1, - "last_commit": "2025-11-14", - "last_release": "2025-10-14", - "stars": 4 - }, - "github:nlamirault/e2c": { - "forks": 2, - "last_commit": "2026-02-11", - "last_release": "2025-09-10", - "stars": 18 - }, - "github:nlamirault/g1c": { - "forks": 1, - "last_commit": "2026-02-03", - "last_release": "2025-06-09", - "stars": 42 - }, - "github:nmoroze/tclint": { - "forks": 11, - "last_commit": "2026-02-16", - "last_release": "2025-12-21", - "stars": 88 - }, - "github:nobl9/sloctl": { - "forks": 2, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 39 - }, - "github:nolanderc/glsl_analyzer": { - "forks": 17, - "last_commit": "2025-10-22", - "last_release": "2025-10-22", - "stars": 333 - }, - "github:nonscalar/Seastar": { - "forks": 1, - "last_commit": "2025-06-16", - "last_release": null, - "stars": 68 - }, - "github:noperator/sol": { - "forks": 6, - "last_commit": "2024-09-03", - "last_release": null, - "stars": 517 - }, - "github:nosarthur/gita": { - "forks": 82, - "last_commit": "2025-11-18", - "last_release": null, - "stars": 1828 - }, - "github:nstebbins/mcp-manager": { - "forks": 3, - "last_commit": "2025-04-23", - "last_release": "2025-04-23", - "stars": 25 - }, - "github:numman-ali/openskills": { - "forks": 545, - "last_commit": "2026-01-18", - "last_release": "2026-01-17", - "stars": 8292 - }, - "github:nunomaduro/phpinsights": { - "forks": 293, - "last_commit": "2025-11-12", - "last_release": "2025-10-16", - "stars": 5579 - }, - "github:nyatinte/ccexp": { - "forks": 8, - "last_commit": "2026-02-15", - "last_release": "2025-07-30", - "stars": 250 - }, - "github:oceanbase/mcp-oceanbase": { - "forks": 37, - "last_commit": "2026-01-13", - "last_release": "2025-12-26", - "stars": 96 - }, - "github:octelium/octelium": { - "forks": 111, - "last_commit": "2026-02-16", - "last_release": "2026-02-15", - "stars": 3359 - }, - "github:ohyfun/ohy": { - "forks": 5, - "last_commit": "2025-08-17", - "last_release": null, - "stars": 77 - }, - "github:oleiade/motus": { - "forks": 7, - "last_commit": "2026-03-05", - "last_release": "2025-07-26", - "stars": 149 - }, - "github:olivier-w/climp": { - "forks": 1, - "last_commit": "2026-03-04", - "last_release": "2026-03-02", - "stars": 32 - }, - "github:one2nc/cloudlens": { - "forks": 41, - "last_commit": "2024-04-20", - "last_release": "2023-11-29", - "stars": 584 - }, - "github:onewesong/codex-viz": { - "forks": 2, - "last_commit": "2026-01-27", - "last_release": null, - "stars": 40 - }, - "github:oowl/quicssh-rs": { - "forks": 15, - "last_commit": "2025-10-27", - "last_release": "2024-04-19", - "stars": 251 - }, - "github:openclaw/clawhub": { - "forks": 798, - "last_commit": "2026-03-09", - "last_release": "2026-01-07", - "stars": 4904 - }, - "github:oracle/coherence-cli": { - "forks": 8, - "last_commit": "2026-02-14", - "last_release": "2026-02-08", - "stars": 21 - }, - "github:orangekame3/ghfetch": { - "forks": 1, - "last_commit": "2026-02-16", - "last_release": "2023-10-10", - "stars": 62 - }, - "github:orangekame3/stree": { - "forks": 9, - "last_commit": "2024-07-17", - "last_release": "2024-07-17", - "stars": 143 - }, - "github:orhun/systeroid": { - "forks": 27, - "last_commit": "2026-01-01", - "last_release": "2025-09-07", - "stars": 1431 - }, - "github:orhun/theattyr": { - "forks": 4, - "last_commit": "2024-10-26", - "last_release": "2024-10-11", - "stars": 160 - }, - "github:osrg/gobgp": { - "forks": 769, - "last_commit": "2026-02-12", - "last_release": "2026-01-01", - "stars": 3984 - }, - "github:ourongxing/newsnow-mcp-server": { - "forks": 12, - "last_commit": "2025-12-19", - "last_release": "2025-08-20", - "stars": 25 - }, - "github:oven-sh/bun": { - "forks": 4151, - "last_commit": "2026-03-09", - "last_release": "2026-02-26", - "stars": 87982 - }, - "github:overflowy/bash-script-tools": { - "forks": 0, - "last_commit": "2025-11-09", - "last_release": "2025-11-09", - "stars": 5 - }, - "github:ovh/venom": { - "forks": 168, - "last_commit": "2026-02-06", - "last_release": "2026-01-06", - "stars": 1178 - }, - "github:oxylabs/oxylabs-mcp": { - "forks": 22, - "last_commit": "2025-12-08", - "last_release": "2025-12-08", - "stars": 85 - }, - "github:ozacod/cpx": { - "forks": 0, - "last_commit": "2026-01-28", - "last_release": "2026-01-28", - "stars": 58 - }, - "github:ozan2003/rfc_reader": { - "forks": 1, - "last_commit": "2026-04-08", - "last_release": "2025-12-13", - "stars": 60 - }, - "github:pakdad-mousavi/pixeli": { - "forks": 1, - "last_commit": "2026-01-18", - "last_release": null, - "stars": 18 - }, - "github:pamoller/xmlformatter": { - "forks": 10, - "last_commit": "2025-06-03", - "last_release": "2024-10-27", - "stars": 34 - }, - "github:panter-dsd/tatuin": { - "forks": 4, - "last_commit": "2026-02-14", - "last_release": "2026-01-16", - "stars": 123 - }, - "github:paololazzari/play": { - "forks": 16, - "last_commit": "2025-03-28", - "last_release": "2025-03-28", - "stars": 548 - }, - "github:pashkov256/deletor": { - "forks": 47, - "last_commit": "2026-02-05", - "last_release": "2025-06-11", - "stars": 227 - }, - "github:phlx0/snip": { - "forks": 1, - "last_commit": "2026-03-19", - "last_release": "2026-03-19", - "stars": 70 - }, - "github:plandex-ai/plandex": { - "forks": 1083, - "last_commit": "2025-10-03", - "last_release": "2025-07-16", - "stars": 14987 - }, - "github:pls-rs/pls": { - "forks": 30, - "last_commit": "2026-02-06", - "last_release": null, - "stars": 916 - }, - "github:pluqqy/pluqqy-terminal": { - "forks": 2, - "last_commit": "2025-10-03", - "last_release": "2025-10-03", - "stars": 21 - }, - "github:possibilities/claude-code-generic-hooks": { - "forks": 4, - "last_commit": "2025-08-12", - "last_release": null, - "stars": 52 - }, - "github:pranav-cs-1/nexus": { - "forks": 5, - "last_commit": "2025-12-27", - "last_release": null, - "stars": 159 - }, - "github:prime-run/togo": { - "forks": 12, - "last_commit": "2026-02-16", - "last_release": "2026-02-03", - "stars": 157 - }, - "github:pulumi/kube2pulumi": { - "forks": 5, - "last_commit": "2025-11-21", - "last_release": "2024-02-02", - "stars": 108 - }, - "github:pulumi/pulumi-aws-native": { - "forks": 19, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 105 - }, - "github:pwnwriter/kanha": { - "forks": 18, - "last_commit": "2025-01-08", - "last_release": "2023-10-17", - "stars": 319 - }, - "github:pydantic/logfire-mcp": { - "forks": 26, - "last_commit": "2026-02-12", - "last_release": "2026-01-05", - "stars": 145 - }, - "github:pyrod3v/gitman": { - "forks": 3, - "last_commit": "2025-04-06", - "last_release": "2025-02-18", - "stars": 15 - }, - "github:pythops/lobtui": { - "forks": 4, - "last_commit": "2025-05-16", - "last_release": "2025-05-16", - "stars": 116 - }, - "github:qhkm/zeptoclaw": { - "forks": 32, - "last_commit": "2026-02-23", - "last_release": "2026-02-23", - "stars": 311 - }, - "github:quickwit-oss/tantivy-cli": { - "forks": 68, - "last_commit": "2025-08-20", - "last_release": "2025-08-20", - "stars": 382 - }, - "github:qwibitai/nanoclaw": { - "forks": 12663, - "last_commit": "2026-04-26", - "last_release": null, - "stars": 28189 - }, - "github:raaymax/lazytail": { - "forks": 2, - "last_commit": "2026-03-19", - "last_release": "2026-03-16", - "stars": 197 - }, - "github:raforg/rawhide": { - "forks": 6, - "last_commit": "2025-12-18", - "last_release": "2023-10-13", - "stars": 54 - }, - "github:rails/rails-new": { - "forks": 33, - "last_commit": "2025-01-16", - "last_release": null, - "stars": 314 - }, - "github:railwayapp/railway-mcp-server": { - "forks": 25, - "last_commit": "2026-02-09", - "last_release": null, - "stars": 140 - }, - "github:raine/ramda-cli": { - "forks": 12, - "last_commit": "2022-12-30", - "last_release": null, - "stars": 581 - }, - "github:rapidloop/rtop": { - "forks": 158, - "last_commit": "2022-06-06", - "last_release": null, - "stars": 2189 - }, - "github:raskrebs/sonar": { - "forks": 11, - "last_commit": "2026-03-23", - "last_release": "2026-03-23", - "stars": 597 - }, - "github:razziel89/mdslw": { - "forks": 1, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 29 - }, - "github:rdunnington/bytebox": { - "forks": 7, - "last_commit": "2025-11-23", - "last_release": null, - "stars": 123 - }, - "github:reugn/gemini-cli": { - "forks": 17, - "last_commit": "2025-11-22", - "last_release": "2025-11-22", - "stars": 222 - }, - "github:rezmoss/sbomlyze": { - "forks": 1, - "last_commit": "2026-02-20", - "last_release": "2026-02-18", - "stars": 14 - }, - "github:rhysd/fixjson": { - "forks": 6, - "last_commit": "2023-10-17", - "last_release": null, - "stars": 160 - }, - "github:ricardodantas/hazelnut": { - "forks": 9, - "last_commit": "2026-03-05", - "last_release": "2026-02-19", - "stars": 196 - }, - "github:ricardodantas/perch": { - "forks": 0, - "last_commit": "2026-03-04", - "last_release": "2026-02-28", - "stars": 62 - }, - "github:ridiculousfish/libdivide": { - "forks": 91, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 1296 - }, - "github:riodelphino/macime": { - "forks": 0, - "last_commit": "2026-02-21", - "last_release": null, - "stars": 9 - }, - "github:robbielyman/seamstress": { - "forks": 1, - "last_commit": "2025-05-08", - "last_release": null, - "stars": 19 - }, - "github:robertkrimen/otto": { - "forks": 599, - "last_commit": "2025-06-13", - "last_release": "2024-11-05", - "stars": 8434 - }, - "github:robjtede/inspect-cert-chain": { - "forks": 1, - "last_commit": "2026-02-16", - "last_release": "2025-07-13", - "stars": 59 - }, - "github:robmorgan/infraspec": { - "forks": 1, - "last_commit": "2026-02-16", - "last_release": "2025-12-30", - "stars": 35 - }, - "github:rodrigo-brito/ninjabot": { - "forks": 197, - "last_commit": "2026-01-01", - "last_release": "2025-10-12", - "stars": 1616 - }, - "github:rokucommunity/brighterscript-formatter": { - "forks": 9, - "last_commit": "2026-01-22", - "last_release": "2025-10-31", - "stars": 17 - }, - "github:rolandnsharp/sshmail": { - "forks": 5, - "last_commit": "2026-03-12", - "last_release": null, - "stars": 35 - }, - "github:ronilan/rusticon": { - "forks": 1, - "last_commit": "2026-02-10", - "last_release": "2025-08-26", - "stars": 98 - }, - "github:roy2220/httpreplay": { - "forks": 1, - "last_commit": "2025-10-27", - "last_release": "2025-10-27", - "stars": 12 - }, - "github:rs/jaggr": { - "forks": 16, - "last_commit": "2024-08-29", - "last_release": "2022-12-28", - "stars": 485 - }, - "github:rs/jplot": { - "forks": 41, - "last_commit": "2025-10-20", - "last_release": "2025-09-13", - "stars": 1177 - }, - "github:rshelekhov/lazymake": { - "forks": 3, - "last_commit": "2026-02-20", - "last_release": "2026-02-20", - "stars": 98 - }, - "github:runekaagaard/mcp-alchemy": { - "forks": 60, - "last_commit": "2025-08-15", - "last_release": null, - "stars": 389 - }, - "github:rushter/hexora": { - "forks": 7, - "last_commit": "2025-12-28", - "last_release": "2025-12-27", - "stars": 107 - }, - "github:rustwasm/twiggy": { - "forks": 74, - "last_commit": "2025-10-20", - "last_release": null, - "stars": 1419 - }, - "github:sachaos/tcpterm": { - "forks": 26, - "last_commit": "2024-01-10", - "last_release": "2019-09-18", - "stars": 484 - }, - "github:sairash/pomossh": { - "forks": 2, - "last_commit": "2026-02-22", - "last_release": "2025-03-25", - "stars": 62 - }, - "github:salesforce/sloop": { - "forks": 135, - "last_commit": "2025-12-11", - "last_release": "2022-12-08", - "stars": 1556 - }, - "github:samuelfaj/distill": { - "forks": 16, - "last_commit": "2026-03-12", - "last_release": null, - "stars": 296 - }, - "github:samyakbardiya/trex": { - "forks": 3, - "last_commit": "2025-09-30", - "last_release": "2025-02-27", - "stars": 127 - }, - "github:sanspareilsmyn/parqv": { - "forks": 1, - "last_commit": "2025-07-19", - "last_release": "2025-07-19", - "stars": 59 - }, - "github:sass/dart-sass": { - "forks": 379, - "last_commit": "2026-03-30", - "last_release": "2026-03-10", - "stars": 4181 - }, - "github:savedra1/clipse": { - "forks": 47, - "last_commit": "2026-04-20", - "last_release": "2026-01-27", - "stars": 971 - }, - "github:scarvalhojr/aoc-cli": { - "forks": 23, - "last_commit": "2023-12-22", - "last_release": "2023-01-12", - "stars": 323 - }, - "github:screenshotone/mcp": { - "forks": 14, - "last_commit": "2025-06-10", - "last_release": null, - "stars": 35 - }, - "github:seamia/protodot": { - "forks": 41, - "last_commit": "2023-12-21", - "last_release": null, - "stars": 465 - }, - "github:sectordistrict/intentrace": { - "forks": 9, - "last_commit": "2025-06-21", - "last_release": "2025-06-21", - "stars": 654 - }, - "github:seeyebe/gmap": { - "forks": 5, - "last_commit": "2025-11-23", - "last_release": "2025-11-02", - "stars": 212 - }, - "github:semaphoreui/semaphore": { - "forks": 1216, - "last_commit": "2026-02-16", - "last_release": "2026-02-16", - "stars": 13221 - }, - "github:sepandhaghighi/clox": { - "forks": 2, - "last_commit": "2026-02-17", - "last_release": "2026-02-17", - "stars": 60 - }, - "github:serkanyersen/dotstate": { - "forks": 8, - "last_commit": "2026-02-17", - "last_release": "2026-02-17", - "stars": 303 - }, - "github:sh1zen/wisu": { - "forks": 0, - "last_commit": "2026-01-14", - "last_release": "2026-01-07", - "stars": 41 - }, - "github:shaankhosla/repeater": { - "forks": 18, - "last_commit": "2026-03-22", - "last_release": "2026-03-20", - "stars": 372 - }, - "github:shazow/wifitui": { - "forks": 8, - "last_commit": "2026-02-14", - "last_release": "2026-01-04", - "stars": 254 - }, - "github:sheepla/pingu": { - "forks": 63, - "last_commit": "2024-01-22", - "last_release": "2023-02-09", - "stars": 2086 - }, - "github:showwin/speedtest-go": { - "forks": 136, - "last_commit": "2025-10-15", - "last_release": "2024-12-20", - "stars": 770 - }, - "github:shufo/blade-formatter": { - "forks": 30, - "last_commit": "2026-02-16", - "last_release": "2025-08-11", - "stars": 533 - }, - "github:siderolabs/omni": { - "forks": 85, - "last_commit": "2026-02-16", - "last_release": "2026-02-12", - "stars": 1026 - }, - "github:sile/mamediff": { - "forks": 1, - "last_commit": "2025-12-22", - "last_release": "2025-10-09", - "stars": 33 - }, - "github:silverwind/precompress": { - "forks": 0, - "last_commit": "2026-02-14", - "last_release": "2025-09-14", - "stars": 29 - }, - "github:simeg/git-x": { - "forks": 0, - "last_commit": "2025-12-05", - "last_release": null, - "stars": 10 - }, - "github:simeg/urlsup": { - "forks": 1, - "last_commit": "2025-08-10", - "last_release": null, - "stars": 18 - }, - "github:simonask/werk": { - "forks": 9, - "last_commit": "2025-12-16", - "last_release": null, - "stars": 315 - }, - "github:sindresorhus/fast-cli": { - "forks": 125, - "last_commit": "2026-02-02", - "last_release": "2026-02-02", - "stars": 2799 - }, - "github:sindresorhus/fkill-cli": { - "forks": 163, - "last_commit": "2025-11-09", - "last_release": "2025-11-09", - "stars": 6986 - }, - "github:sindresorhus/get-port-cli": { - "forks": 14, - "last_commit": "2025-08-14", - "last_release": "2021-10-14", - "stars": 155 - }, - "github:sindresorhus/hasha-cli": { - "forks": 3, - "last_commit": "2025-09-12", - "last_release": "2025-09-12", - "stars": 80 - }, - "github:sindresorhus/ni": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "github:sindresorhus/np": { - "forks": 311, - "last_commit": "2026-01-29", - "last_release": "2026-01-29", - "stars": 7683 - }, - "github:sinelaw/fresh": { - "forks": 226, - "last_commit": "2026-03-09", - "last_release": "2026-03-06", - "stars": 6331 - }, - "github:sirrend/terrap-cli": { - "forks": 0, - "last_commit": "2023-12-05", - "last_release": "2023-05-04", - "stars": 67 - }, - "github:sivchari/kumo": { - "forks": 29, - "last_commit": "2026-04-10", - "last_release": "2026-04-07", - "stars": 670 - }, - "github:sjzar/chatlog": { - "forks": 2659, - "last_commit": "2025-10-20", - "last_release": null, - "stars": 9185 - }, - "github:sjzar/ips": { - "forks": 38, - "last_commit": "2025-02-21", - "last_release": "2025-02-21", - "stars": 417 - }, - "github:skirdey-inflection/r2md": { - "forks": 2, - "last_commit": "2025-03-02", - "last_release": "2025-02-24", - "stars": 12 - }, - "github:slavaGanzin/await": { - "forks": 9, - "last_commit": "2025-12-04", - "last_release": "2025-11-21", - "stars": 244 - }, - "github:slimm609/checksec": { - "forks": 314, - "last_commit": "2026-01-01", - "last_release": "2025-12-21", - "stars": 2289 - }, - "github:snipt/snipt": { - "forks": 3, - "last_commit": "2026-04-02", - "last_release": "2025-05-08", - "stars": 146 - }, - "github:sohaha/zzz": { - "forks": 3, - "last_commit": "2026-01-20", - "last_release": "2026-01-20", - "stars": 235 - }, - "github:sorairolake/hf": { - "forks": 2, - "last_commit": "2026-02-16", - "last_release": "2026-01-27", - "stars": 32 - }, - "github:sorenlouv/backport": { - "forks": 68, - "last_commit": "2025-11-07", - "last_release": "2025-09-18", - "stars": 273 - }, - "github:spacelift-io/spacelift-intent": { - "forks": 9, - "last_commit": "2026-02-05", - "last_release": "2025-10-23", - "stars": 117 - }, - "github:spiffe/spike": { - "forks": 27, - "last_commit": "2026-02-05", - "last_release": "2025-11-29", - "stars": 153 - }, - "github:squeek502/resinator": { - "forks": 6, - "last_commit": "2026-01-12", - "last_release": "2024-10-11", - "stars": 134 - }, - "github:sreenathmmenon/llmswap": { - "forks": 6, - "last_commit": "2026-01-01", - "last_release": "2026-01-01", - "stars": 28 - }, - "github:srevinsaju/togomak": { - "forks": 6, - "last_commit": "2024-04-19", - "last_release": "2024-04-06", - "stars": 152 - }, - "github:st3v3nmw/sourcerer-mcp": { - "forks": 10, - "last_commit": "2025-11-10", - "last_release": null, - "stars": 106 - }, - "github:statoscope/statoscope": { - "forks": 48, - "last_commit": "2026-02-06", - "last_release": "2025-04-05", - "stars": 1565 - }, - "github:stefanlogue/meteor": { - "forks": 22, - "last_commit": "2025-09-24", - "last_release": "2025-09-24", - "stars": 409 - }, - "github:stefanprodan/podinfo": { - "forks": 1851, - "last_commit": "2026-02-03", - "last_release": "2026-02-03", - "stars": 5826 - }, - "github:steipete/oracle": { - "forks": 199, - "last_commit": "2026-04-24", - "last_release": "2026-03-08", - "stars": 2086 - }, - "github:steviec/mcp-server-tester": { - "forks": 3, - "last_commit": "2025-09-16", - "last_release": "2025-09-16", - "stars": 33 - }, - "github:stormcat24/protodep": { - "forks": 59, - "last_commit": "2024-01-26", - "last_release": "2023-06-19", - "stars": 321 - }, - "github:streamthoughts/jikkou": { - "forks": 25, - "last_commit": "2026-02-23", - "last_release": "2026-02-20", - "stars": 272 - }, - "github:stripe/agent-toolkit": { - "forks": 202, - "last_commit": "2026-02-12", - "last_release": null, - "stars": 1272 - }, - "github:subsy/ralph-tui": { - "forks": 205, - "last_commit": "2026-02-25", - "last_release": "2026-02-25", - "stars": 2069 - }, - "github:sudocode-ai/sudocode": { - "forks": 23, - "last_commit": "2026-03-18", - "last_release": "2026-03-18", - "stars": 273 - }, - "github:superstarryeyes/bit": { - "forks": 10, - "last_commit": "2026-02-12", - "last_release": "2025-12-08", - "stars": 340 - }, - "github:supreme-gg-gg/instagram-cli": { - "forks": 98, - "last_commit": "2026-02-22", - "last_release": "2026-02-10", - "stars": 1572 - }, - "github:surge-downloader/Surge": { - "forks": 76, - "last_commit": "2026-03-09", - "last_release": "2026-02-28", - "stars": 2180 - }, - "github:suzuki-shunsuke/cmdx": { - "forks": 1, - "last_commit": "2026-02-15", - "last_release": "2025-07-15", - "stars": 54 - }, - "github:sverrejb/auox": { - "forks": 3, - "last_commit": "2026-02-06", - "last_release": null, - "stars": 23 - }, - "github:swiftwasm/carton": { - "forks": 45, - "last_commit": "2025-11-29", - "last_release": "2024-12-10", - "stars": 500 - }, - "github:t1anz0ng/iftree": { - "forks": 6, - "last_commit": "2023-03-06", - "last_release": "2022-09-14", - "stars": 119 - }, - "github:tact-lang/pitaya": { - "forks": 1, - "last_commit": "2025-12-16", - "last_release": "2025-09-26", - "stars": 14 - }, - "github:takaishi/tfclean": { - "forks": 5, - "last_commit": "2026-02-11", - "last_release": "2026-01-30", - "stars": 96 - }, - "github:takaishi/tftargets": { - "forks": 1, - "last_commit": "2026-02-12", - "last_release": "2025-10-15", - "stars": 21 - }, - "github:talyuk/relay": { - "forks": 0, - "last_commit": "2025-11-08", - "last_release": null, - "stars": 6 - }, - "github:tanciaku/tmmpr": { - "forks": 8, - "last_commit": "2026-02-27", - "last_release": "2026-02-19", - "stars": 320 - }, - "github:tarampampam/tinifier": { - "forks": 11, - "last_commit": "2026-01-01", - "last_release": "2025-11-02", - "stars": 104 - }, - "github:tarkah/tickrs": { - "forks": 86, - "last_commit": "2025-12-15", - "last_release": "2025-12-15", - "stars": 1532 - }, - "github:taskbook-sh/taskbook": { - "forks": 3, - "last_commit": "2026-03-12", - "last_release": "2026-03-12", - "stars": 101 - }, - "github:tattoy-org/tattoy": { - "forks": 15, - "last_commit": "2025-09-14", - "last_release": "2025-07-28", - "stars": 567 - }, - "github:tavily-ai/tavily-mcp": { - "forks": 182, - "last_commit": "2026-02-14", - "last_release": null, - "stars": 1202 - }, - "github:tbckr/sgpt": { - "forks": 34, - "last_commit": "2026-02-16", - "last_release": "2026-02-08", - "stars": 415 - }, - "github:termide/termide": { - "forks": 1, - "last_commit": "2026-04-27", - "last_release": "2026-04-27", - "stars": 91 - }, - "github:terminaltrove/moltbook-tui": { - "forks": 1, - "last_commit": "2026-02-03", - "last_release": "2026-02-03", - "stars": 27 - }, - "github:terratags/terratags": { - "forks": 3, - "last_commit": "2026-02-16", - "last_release": "2026-02-15", - "stars": 48 - }, - "github:textfuel/lazyjira": { - "forks": 8, - "last_commit": "2026-04-03", - "last_release": "2026-04-03", - "stars": 234 - }, - "github:tgdrive/teldrive": { - "forks": 384, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 2662 - }, - "github:thatmattlove/oui": { - "forks": 5, - "last_commit": "2024-08-01", - "last_release": "2024-08-01", - "stars": 57 - }, - "github:thekarel/rum": { - "forks": 0, - "last_commit": "2026-01-26", - "last_release": "2026-01-25", - "stars": 11 - }, - "github:thewizardshell/froggit": { - "forks": 30, - "last_commit": "2026-01-22", - "last_release": "2026-01-22", - "stars": 454 - }, - "github:thobiasn/tori-cli": { - "forks": 7, - "last_commit": "2026-03-06", - "last_release": "2026-03-06", - "stars": 148 - }, - "github:thomas-mauran/chess-tui": { - "forks": 59, - "last_commit": "2026-03-17", - "last_release": "2026-02-26", - "stars": 987 - }, - "github:thomasschafer/frep": { - "forks": 0, - "last_commit": "2025-12-08", - "last_release": "2025-09-01", - "stars": 7 - }, - "github:thushan/olla": { - "forks": 17, - "last_commit": "2026-02-16", - "last_release": "2025-12-15", - "stars": 145 - }, - "github:tiann/hapi": { - "forks": 161, - "last_commit": "2026-02-14", - "last_release": "2026-02-11", - "stars": 1505 - }, - "github:tighten/duster": { - "forks": 23, - "last_commit": "2026-02-05", - "last_release": "2025-11-07", - "stars": 592 - }, - "github:tighten/tlint": { - "forks": 31, - "last_commit": "2025-03-21", - "last_release": "2025-03-21", - "stars": 528 - }, - "github:tinybirdco/mcp-tinybird": { - "forks": 17, - "last_commit": "2025-09-01", - "last_release": null, - "stars": 76 - }, - "github:tkmru/mln": { - "forks": 0, - "last_commit": "2020-03-02", - "last_release": "2020-02-20", - "stars": 16 - }, - "github:tokuhirom/dcv": { - "forks": 2, - "last_commit": "2026-02-12", - "last_release": "2025-09-05", - "stars": 222 - }, - "github:tokyohardrock/rendy": { - "forks": 0, - "last_commit": "2026-01-13", - "last_release": null, - "stars": 22 - }, - "github:toml-f/jonquil": { - "forks": 6, - "last_commit": "2026-02-06", - "last_release": "2025-05-18", - "stars": 10 - }, - "github:toml-f/toml-f": { - "forks": 32, - "last_commit": "2026-02-11", - "last_release": "2025-11-10", - "stars": 124 - }, - "github:tooka-org/tooka": { - "forks": 0, - "last_commit": "2026-02-16", - "last_release": "2025-10-06", - "stars": 12 - }, - "github:toolctl/toolctl": { - "forks": 7, - "last_commit": "2026-02-12", - "last_release": "2026-02-07", - "stars": 42 - }, - "github:trailofbits/graphtage": { - "forks": 54, - "last_commit": "2026-02-13", - "last_release": "2024-01-08", - "stars": 2460 - }, - "github:trap251/ymp": { - "forks": 2, - "last_commit": "2026-03-14", - "last_release": "2026-02-03", - "stars": 13 - }, - "github:travisstaloch/simdjzon": { - "forks": 6, - "last_commit": "2025-11-04", - "last_release": null, - "stars": 131 - }, - "github:tsowell/wiremix": { - "forks": 29, - "last_commit": "2026-04-13", - "last_release": null, - "stars": 868 - }, - "github:tuono-labs/tuono": { - "forks": 55, - "last_commit": "2026-02-16", - "last_release": "2025-05-25", - "stars": 1103 - }, - "github:tversteeg/emplace": { - "forks": 27, - "last_commit": "2026-02-16", - "last_release": "2024-05-25", - "stars": 283 - }, - "github:twmb/kcl": { - "forks": 22, - "last_commit": "2025-11-20", - "last_release": "2025-10-17", - "stars": 223 - }, - "github:ulissesf/qmassa": { - "forks": 5, - "last_commit": "2026-02-14", - "last_release": null, - "stars": 96 - }, - "github:ultimaweapon/tsuki": { - "forks": 3, - "last_commit": "2026-02-15", - "last_release": "2026-02-15", - "stars": 133 - }, - "github:unhappychoice/gittype": { - "forks": 23, - "last_commit": "2026-02-16", - "last_release": "2026-02-12", - "stars": 896 - }, - "github:unhappychoice/steamfetch": { - "forks": 3, - "last_commit": "2026-03-01", - "last_release": "2026-02-13", - "stars": 153 - }, - "github:unslothai/unsloth": { - "forks": 4858, - "last_commit": "2026-03-23", - "last_release": "2026-03-22", - "stars": 57650 - }, - "github:unvalley/rt": { - "forks": 0, - "last_commit": "2026-02-22", - "last_release": "2026-02-21", - "stars": 58 - }, - "github:uroybd/DotR": { - "forks": 1, - "last_commit": "2026-01-16", - "last_release": "2026-01-16", - "stars": 47 - }, - "github:utkusen/urlhunter": { - "forks": 118, - "last_commit": "2025-01-23", - "last_release": "2025-01-23", - "stars": 1663 - }, - "github:utox39/zigfetch": { - "forks": 1, - "last_commit": "2026-02-15", - "last_release": "2025-12-15", - "stars": 31 - }, - "github:vaibhav-mattoo/bitchat-tui": { - "forks": 20, - "last_commit": "2025-08-01", - "last_release": "2025-07-21", - "stars": 307 - }, - "github:vapiai/mcp-server": { - "forks": 18, - "last_commit": "2026-02-11", - "last_release": "2025-06-22", - "stars": 34 - }, - "github:vectorize-io/vectorize-mcp-server": { - "forks": 24, - "last_commit": "2025-06-12", - "last_release": "2025-04-07", - "stars": 102 - }, - "github:vercel/serve": { - "forks": 695, - "last_commit": "2025-09-04", - "last_release": "2025-09-04", - "stars": 9822 - }, - "github:vet-run/vet": { - "forks": 20, - "last_commit": "2025-08-20", - "last_release": "2025-07-25", - "stars": 982 - }, - "github:viddotech/videoalchemy": { - "forks": 10, - "last_commit": "2025-09-18", - "last_release": "2025-01-01", - "stars": 136 - }, - "github:vybestack/llxprt-code": { - "forks": 90, - "last_commit": "2026-04-27", - "last_release": "2026-04-27", - "stars": 669 - }, - "github:wader/fq": { - "forks": 243, - "last_commit": "2026-02-12", - "last_release": "2025-12-07", - "stars": 10411 - }, - "github:wallix/awless": { - "forks": 258, - "last_commit": "2022-08-02", - "last_release": "2018-06-21", - "stars": 4983 - }, - "github:webern/cargo-readme": { - "forks": 60, - "last_commit": "2025-07-05", - "last_release": "2023-11-06", - "stars": 378 - }, - "github:wendlers/mpfshell": { - "forks": 86, - "last_commit": "2025-01-09", - "last_release": null, - "stars": 416 - }, - "github:werf/trdl": { - "forks": 19, - "last_commit": "2026-01-23", - "last_release": "2025-10-23", - "stars": 299 - }, - "github:wesm/msgvault": { - "forks": 74, - "last_commit": "2026-03-03", - "last_release": "2026-02-26", - "stars": 1297 - }, - "github:westpoint-io/dustoff": { - "forks": 1, - "last_commit": "2026-03-06", - "last_release": "2026-03-04", - "stars": 26 - }, - "github:will/git-vain": { - "forks": 9, - "last_commit": "2024-12-12", - "last_release": null, - "stars": 66 - }, - "github:winor30/mcp-server-datadog": { - "forks": 66, - "last_commit": "2026-02-14", - "last_release": "2025-10-19", - "stars": 131 - }, - "github:wissem/cc-filter": { - "forks": 3, - "last_commit": "2026-01-22", - "last_release": "2026-01-22", - "stars": 45 - }, - "github:withastro/language-tools": { - "forks": 61, - "last_commit": "2025-11-17", - "last_release": "2024-10-25", - "stars": 333 - }, - "github:workdone0/twig": { - "forks": 4, - "last_commit": "2025-12-25", - "last_release": "2025-12-25", - "stars": 97 - }, - "github:wssheldon/osintui": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "github:wtnqk/ftdv": { - "forks": 6, - "last_commit": "2025-12-15", - "last_release": "2025-07-02", - "stars": 71 - }, - "github:xdagiz/xytz": { - "forks": 21, - "last_commit": "2026-02-22", - "last_release": "2026-02-22", - "stars": 271 - }, - "github:xplshn/dbin": { - "forks": 7, - "last_commit": "2026-01-04", - "last_release": "2025-07-31", - "stars": 288 - }, - "github:yarlson/zero": { - "forks": 0, - "last_commit": "2025-11-20", - "last_release": "2025-04-08", - "stars": 13 - }, - "github:yeoman/emoj": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "github:yeoman/yosay": { - "forks": 40, - "last_commit": "2025-02-07", - "last_release": "2023-10-27", - "stars": 208 - }, - "github:yinzhenyu-su/weekly-git-summary": { - "forks": 6, - "last_commit": "2026-01-14", - "last_release": "2025-10-09", - "stars": 198 - }, - "github:ymtdzzz/otel-tui": { - "forks": 24, - "last_commit": "2026-04-13", - "last_release": "2026-02-07", - "stars": 915 - }, - "github:ynqa/nosy": { - "forks": 0, - "last_commit": "2026-01-29", - "last_release": "2026-01-28", - "stars": 12 - }, - "github:zaphar/sheetsui": { - "forks": 7, - "last_commit": "2025-09-26", - "last_release": null, - "stars": 231 - }, - "github:zenbase-ai/context42": { - "forks": 2, - "last_commit": "2026-02-14", - "last_release": null, - "stars": 48 - }, - "github:zheng0116/codstts": { - "forks": 1, - "last_commit": "2025-01-27", - "last_release": "2025-01-26", - "stars": 6 - }, - "github:zig-bitcoin/btczee": { - "forks": 30, - "last_commit": "2024-10-07", - "last_release": null, - "stars": 68 - }, - "github:ziinaio/zmate": { - "forks": 1, - "last_commit": "2025-06-20", - "last_release": "2025-06-19", - "stars": 86 - }, - "github:zippoxer/recall": { - "forks": 12, - "last_commit": "2026-01-14", - "last_release": "2026-01-13", - "stars": 119 - }, - "github:zonay/public-ollama-finder": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "sourcehut:lioploum/offpunk": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - }, - "sourcehut:timharek/yr": { - "forks": null, - "last_commit": null, - "last_release": null, - "stars": null - } -} diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 9ab22f2bf3..0000000000 --- a/.editorconfig +++ /dev/null @@ -1,29 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -[*.md] -trim_trailing_whitespace = false - -[{*.yml,*.yaml,*.json,*.json5,*.js,*.mjs,*.cjs,*.rb,*.toml}] -indent_style = space -indent_size = 2 - -[*.py] -indent_style = space -indent_size = 4 - -[justfile] -indent_style = space -indent_size = 4 - -[{*.sh,*.bash}] -indent_style = tab -tab_width = 2 - -[Makefile] -indent_style = tab diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 89133145c3..bfbab7459d 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -6,25 +6,15 @@ ':configMigration', ':pinDevDependencies', ], - commitMessagePrefix: 'chore(deps):', commitMessageSuffix: ' in {{packageFile}}', automerge: true, - automergeType: 'pr', - automergeStrategy: 'squash', + automergeStrategy: 'rebase', baseBranchPatterns: [ 'main', ], platformAutomerge: true, labels: [ - 'CI-syntax-only', 'dependencies', - 'renovate', - ], - // Renovate's Homebrew manager currently only matches Formula/**. Ignore - // formulae to avoid duplicating autobump-formula.yml, but leave Casks/** - // visible in case Renovate adds native cask support later. - ignorePaths: [ - 'Formula/**', ], vulnerabilityAlerts: { enabled: true, diff --git a/.github/scripts/environment.js b/.github/scripts/environment.js deleted file mode 100644 index 5a3177d3d6..0000000000 --- a/.github/scripts/environment.js +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Environment configuration script for GitHub Actions CI - * - * This script reads PR labels and sets outputs for the build workflow: - * - syntax-only: Skip expensive build steps if CI-syntax-only label is present - * - linux-runner: Ubuntu runner for x86_64 Linux builds - * - linux-arm64-runner: Ubuntu runner for ARM64 Linux builds - * - fail-fast: Whether to stop on first failing matrix build - * - timeout-minutes: Timeout for build jobs - * - container: Container configuration for Linux builds - * - test-bot-formulae-args: Arguments for brew test-bot - */ -module.exports = async ({github, context, core}, formula_detect) => { - const { data: { labels: labels } } = await github.rest.pulls.get({ - owner: context.repo.owner, - repo: context.repo.repo, - pull_number: context.issue.number - }) - const label_names = labels.map(label => label.name) - - // Check for syntax-only label - if (label_names.includes('CI-syntax-only')) { - console.log('CI-syntax-only label found. Skipping tests job.') - core.setOutput('syntax-only', 'true') - } else { - console.log('No CI-syntax-only label found. Running tests job.') - core.setOutput('syntax-only', 'false') - } - - // Configure Linux runners - core.setOutput('linux-runner', 'ubuntu-22.04') - core.setOutput('linux-arm64-runner', 'ubuntu-22.04-arm') - - // Configure fail-fast behavior - if (label_names.includes('CI-no-fail-fast')) { - console.log('CI-no-fail-fast label found. Continuing tests despite failing matrix builds.') - core.setOutput('fail-fast', 'false') - } else { - console.log('No CI-no-fail-fast label found. Stopping tests on first failing matrix build.') - core.setOutput('fail-fast', 'true') - } - - // Configure timeout - if (label_names.includes('CI-long-timeout')) { - console.log('CI-long-timeout label found. Setting long GitHub Actions timeout.') - core.setOutput('timeout-minutes', '4320') - } else { - console.log('No CI-long-timeout label found. Setting standard GitHub Actions timeout.') - core.setOutput('timeout-minutes', '240') - } - - // Configure Linux container - const container = {} - container.image = 'ghcr.io/homebrew/ubuntu22.04:main' - container.options = '--user=linuxbrew' - core.setOutput('container', JSON.stringify(container)) - - // Build test-bot arguments - const test_bot_formulae_args = ["--only-formulae", "--junit", "--only-json-tab", "--skip-recursive-dependents"] - test_bot_formulae_args.push('--root-url="https://ghcr.io/v2/chenrui333/tap"') - - if (formula_detect && formula_detect.testing_formulae) { - test_bot_formulae_args.push(`--testing-formulae=${formula_detect.testing_formulae}`) - } - if (formula_detect && formula_detect.added_formulae) { - test_bot_formulae_args.push(`--added-formulae=${formula_detect.added_formulae}`) - } - if (formula_detect && formula_detect.deleted_formulae) { - test_bot_formulae_args.push(`--deleted-formulae=${formula_detect.deleted_formulae}`) - } - - // Handle additional test-bot flags based on labels - if (label_names.includes('CI-test-bot-fail-fast')) { - console.log('CI-test-bot-fail-fast label found. Passing --fail-fast to brew test-bot.') - test_bot_formulae_args.push('--fail-fast') - } else { - console.log('No CI-test-bot-fail-fast label found. Not passing --fail-fast to brew test-bot.') - } - - if (label_names.includes('CI-skip-livecheck')) { - console.log('CI-skip-livecheck label found. Passing --skip-livecheck to brew test-bot.') - test_bot_formulae_args.push('--skip-livecheck') - } else { - console.log('No CI-skip-livecheck label found. Not passing --skip-livecheck to brew test-bot.') - } - - if (label_names.includes('CI-skip-revision-audit')) { - console.log('CI-skip-revision-audit label found. Passing --skip-revision-audit to brew test-bot.') - test_bot_formulae_args.push('--skip-revision-audit') - } else { - console.log('No CI-skip-revision-audit label found. Not passing --skip-revision-audit to brew test-bot.') - } - - core.setOutput('test-bot-formulae-args', test_bot_formulae_args.join(" ")) -} diff --git a/.github/scripts/update-list.sh b/.github/scripts/update-list.sh index af6ddc36a8..69e2e7d3ec 100755 --- a/.github/scripts/update-list.sh +++ b/.github/scripts/update-list.sh @@ -2,25 +2,18 @@ # 1. Get only the short formula names (strip chenrui333/tap/). FORMULAE="$( - brew tap-info chenrui333/tap --json | - jq -r '.[0].formula_names[]' | - sed 's|^chenrui333/tap/||' + brew tap-info chenrui333/tap --json \ + | jq -r '.[0].formula_names[]' \ + | sed 's|^chenrui333/tap/||' )" # 2. Build the lines we want to insert, including bullet points -FORMATTED_FORMULAE="$( - echo "$FORMULAE" | awk ' - $0 == "debugg-ai-mcp" { printf("- `%s` \n", $0); next } - { printf("- `%s`\n", $0) } - ' -)" - -cat <.tmp-formulae-list +cat < .tmp-formulae-list
Formula List -${FORMATTED_FORMULAE} +$(echo "$FORMULAE" | sed 's/^/- `/; s/$/`/')
@@ -35,8 +28,8 @@ sed -i.bak '//,// { rm -f README.md.bak .tmp-formulae-list if ! git diff --exit-code README.md; then - git config user.name "github-actions" - git config user.email "actions@github.com" - git add README.md - git commit -m "Update formulae list" + git config user.name "github-actions" + git config user.email "actions@github.com" + git add README.md + git commit -m "Update formulae list" fi diff --git a/.github/workflows/autobump-cask.yml b/.github/workflows/autobump-cask.yml deleted file mode 100644 index d97f1066a0..0000000000 --- a/.github/workflows/autobump-cask.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Bump casks on schedule - -on: - push: - branches: - - main - paths: - - .github/workflows/autobump-cask.yml - workflow_dispatch: - inputs: - casks: - description: Custom list of casks to livecheck and bump if outdated - required: false - schedule: - - cron: "45 */2 * * *" - -permissions: - contents: read - -jobs: - autobump: - runs-on: macos-latest - steps: - - name: Set up Homebrew - id: set-up-homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d - with: - core: false - cask: false - - - name: Configure Git user - uses: Homebrew/actions/git-user-config@fc695c54c2032716dd4cedd007489c8e32fc8a5d - with: - username: BrewTestBot - - - name: Get list of autobump casks - id: autobump - run: | - autobump_list=$(brew tap-info chenrui333/homebrew-tap --json | \ - jq -c -r '.[0]["cask_tokens"] | join(" ")') - echo "autobump_list=$autobump_list" >> "$GITHUB_OUTPUT" - - - name: Bump casks - uses: Homebrew/actions/bump-packages@fc695c54c2032716dd4cedd007489c8e32fc8a5d - continue-on-error: true - with: - token: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} - casks: ${{ github.event.inputs.casks || steps.autobump.outputs.autobump_list }} - tap: chenrui333/tap - fork: false diff --git a/.github/workflows/autobump-formula.yml b/.github/workflows/autobump.yml similarity index 73% rename from .github/workflows/autobump-formula.yml rename to .github/workflows/autobump.yml index 4b9f431e65..5be3721bd1 100644 --- a/.github/workflows/autobump-formula.yml +++ b/.github/workflows/autobump.yml @@ -5,7 +5,7 @@ on: branches: - main paths: - - .github/workflows/autobump-formula.yml + - .github/workflows/autobump.yml workflow_dispatch: inputs: formulae: @@ -23,18 +23,19 @@ jobs: steps: - name: Set up Homebrew id: set-up-homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/setup-homebrew@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb with: core: false cask: false + test-bot: false - name: Configure Git user - uses: Homebrew/actions/git-user-config@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/git-user-config@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb with: username: BrewTestBot # - name: Set up commit signing - # uses: Homebrew/actions/setup-commit-signing@b2da65092292aade9599608fc29415389641b3cb + # uses: Homebrew/actions/setup-commit-signing@master # with: # signing_key: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY }} @@ -46,10 +47,9 @@ jobs: echo "autobump_list=$autobump_list" >> "$GITHUB_OUTPUT" - name: Bump formulae - uses: Homebrew/actions/bump-packages@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/bump-packages@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb continue-on-error: true with: token: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} formulae: ${{ github.event.inputs.formulae || steps.autobump.outputs.autobump_list }} - tap: chenrui333/tap fork: false diff --git a/.github/workflows/cask-tests.yml b/.github/workflows/cask-tests.yml deleted file mode 100644 index 601a1bbfce..0000000000 --- a/.github/workflows/cask-tests.yml +++ /dev/null @@ -1,322 +0,0 @@ -name: Build and Test Casks - -on: - push: - branches: - - main - paths: - - "Casks/**" - - ".github/workflows/cask-tests.yml" - pull_request: - branches: - - main - paths: - - "Casks/**" - - ".github/workflows/cask-tests.yml" - workflow_dispatch: - inputs: - casks: - description: List of casks to audit (comma-separated) - required: true - skip_install: - description: Skip installation of casks - required: false - default: true - type: boolean - new_cask: - description: Apply new cask audit - required: false - default: false - type: boolean - -env: - HOMEBREW_DEVELOPER: 1 - HOMEBREW_NO_AUTO_UPDATE: 1 - HOMEBREW_NO_INSTALL_FROM_API: 1 - HOMEBREW_GITHUB_API_TOKEN: ${{ github.token }} - -concurrency: - group: "cask-build-${{ github.ref }}" - cancel-in-progress: ${{ github.event_name == 'pull_request' }} - -permissions: - contents: read - -jobs: - generate-matrix: - outputs: - matrix: ${{ steps.generate-matrix.outputs.matrix }} - runs-on: macos-latest - steps: - - name: Set up Homebrew - id: set-up-homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d - with: - core: false - cask: true - - - name: Check out pull request - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - with: - fetch-depth: 0 - persist-credentials: false - - - name: Run brew config - run: brew config - - - name: Generate CI matrix - id: generate-matrix - env: - INPUT_CASKS: ${{ github.event.inputs.casks }} - PULL_REQUEST_URL: ${{ github.event.pull_request.url }} - run: | - if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]] - then - # shellcheck disable=SC2086 # INPUT_CASKS is a space-separated list of cask tokens - brew generate-cask-ci-matrix ${{ github.event.inputs.skip_install && '--skip-install' }} ${{ github.event.inputs.new_cask && '--new' }} --casks $INPUT_CASKS - elif [[ "${GITHUB_EVENT_NAME}" == "push" ]] - then - brew generate-cask-ci-matrix --syntax-only - else - brew generate-cask-ci-matrix --url "$PULL_REQUEST_URL" - fi - - test: - name: ${{ matrix.name }} - needs: generate-matrix - runs-on: ${{ matrix.runner }} - container: ${{ matrix.container || null }} - strategy: - fail-fast: false - matrix: - include: ${{ fromJson(needs.generate-matrix.outputs.matrix) }} - steps: - - name: Set up Homebrew - id: set-up-homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d - with: - core: true - cask: true - - - name: Enable debug mode - if: runner.debug - run: | - echo "HOMEBREW_DEBUG=1" >> "${GITHUB_ENV}" - echo "HOMEBREW_VERBOSE=1" >> "${GITHUB_ENV}" - - - name: Check out pull request - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - with: - fetch-depth: 0 - persist-credentials: false - - - name: Clean up CI machine - if: runner.os == 'macOS' - run: brew test-bot --cleanup --only-cleanup-before - - - name: Cache Homebrew gems - id: cache - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 - with: - path: ${{ steps.set-up-homebrew.outputs.gems-path }} - key: ${{ matrix.runner }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} - restore-keys: ${{ matrix.runner }}-rubygems- - - - name: Cache style cache - if: runner.os == 'macOS' - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 - with: - path: ~/Library/Caches/Homebrew/style - key: macos-style-cache-${{ github.sha }} - restore-keys: macos-style-cache- - - - name: Run brew config - run: brew config - - - name: Run brew test-bot --only-tap-syntax - id: tap-syntax - if: always() && !matrix.cask - continue-on-error: true # Keep cask CI unblocked by unrelated repo-wide syntax issues. - run: brew test-bot --tap "${{ matrix.tap }}" --only-tap-syntax - - - name: Run brew fetch --cask ${{ matrix.cask.token }} - id: fetch - if: > - always() && - contains(fromJSON('["success", "skipped"]'), steps.tap-syntax.outcome) && - matrix.cask - run: | - brew fetch --cask --retry --force ${{ join(matrix.fetch_args, ' ') }} "${{ matrix.cask.path }}" - timeout-minutes: 30 - - - name: Run brew audit --cask${{ (matrix.cask && ' ') || ' --tap ' }}${{ matrix.cask.token || matrix.tap }} - id: audit - if: > - always() && - contains(fromJSON('["success", "skipped"]'), steps.tap-syntax.outcome) && - (!matrix.cask || steps.fetch.outcome == 'success') && - !matrix.skip_audit - run: | - brew audit --cask --except github_repository,gitlab_repository,bitbucket_repository,forgejo_repository ${{ join(matrix.audit_args, ' ') }}${{ (matrix.cask && ' ') || ' --tap ' }}"${{ matrix.cask.token || matrix.tap }}" - timeout-minutes: 30 - - - name: Gather cask information - id: info - if: always() && steps.fetch.outcome == 'success' && matrix.cask - run: | - brew ruby <<'EOF' - require "cask/cask_loader" - require "cask/installer" - - cask = Cask::CaskLoader.load("${{ matrix.cask.path }}") - - manual_installer = cask.artifacts.any? do |artifact| - if defined?(artifact.manual_install) - artifact.manual_install - end - end - - macos_requirement_satisfied = if (macos_requirement = cask.depends_on.macos) - macos_requirement.satisfied? - else - true - end - - cask_conflicts = cask.conflicts_with&.dig(:cask).to_a.select { |c| Cask::CaskLoader.load(c).installed? } - formula_conflicts = cask.conflicts_with&.dig(:formula).to_a.select { |f| Formula[f].any_version_installed? } - - installer = Cask::Installer.new(cask) - cask_and_formula_dependencies = installer.missing_cask_and_formula_dependencies - - cask_dependencies = cask_and_formula_dependencies.select { |d| d.is_a?(Cask::Cask) }.map(&:full_name) - formula_dependencies = cask_and_formula_dependencies.select { |d| d.is_a?(Formula) }.map(&:full_name) - - File.open(ENV.fetch("GITHUB_OUTPUT"), "a") do |f| - f.puts "manual_installer=#{JSON.generate(manual_installer)}" - f.puts "macos_requirement_satisfied=#{JSON.generate(macos_requirement_satisfied)}" - f.puts "formula_dependencies=#{JSON.generate(formula_dependencies)}" - end - - File.open(ENV.fetch("GITHUB_ENV"), "a") do |f| - f.puts "CASK_CONFLICTS=#{cask_conflicts&.join(" ")}" if cask_conflicts.present? - f.puts "CASK_DEPENDENCIES=#{cask_dependencies&.join(" ")}" if cask_dependencies.present? - f.puts "FORMULA_CONFLICTS=#{formula_conflicts&.join(" ")}" if formula_conflicts.present? - end - EOF - - - name: Uninstall conflicting formulae - if: ${{ always() && steps.info.outcome == 'success' && env.FORMULA_CONFLICTS != '' }} - run: | - read -r -a formula_conflicts_array <<< "$FORMULA_CONFLICTS" - brew uninstall --formula "${formula_conflicts_array[@]}" - timeout-minutes: 30 - - - name: Uninstall conflicting casks - if: ${{ always() && steps.info.outcome == 'success' && env.CASK_CONFLICTS != '' }} - run: | - read -r -a cask_conflicts_array <<< "$CASK_CONFLICTS" - brew uninstall --cask "${cask_conflicts_array[@]}" - timeout-minutes: 30 - - - name: Run brew uninstall --cask --force --zap ${{ matrix.cask.token }} - if: always() && steps.info.outcome == 'success' - run: | - brew uninstall --cask --force --zap "${{ matrix.cask.path }}" - timeout-minutes: 30 - - - name: Take snapshot of installed and running apps and services (macOS only) - id: snapshot - if: always() && steps.info.outcome == 'success' && runner.os == 'macOS' - run: | - brew ruby -r "$(brew --repository homebrew/cask)/cmd/lib/check.rb" <<'EOF' - File.open(ENV.fetch("GITHUB_ENV"), "a") do |f| - # Use a HOMEBREW_ prefix so this survives brew environment filtering. - f.puts "HOMEBREW_SNAPSHOT_BEFORE=#{JSON.generate(Check.all)}" - end - EOF - - - name: Run brew install --cask ${{ matrix.cask.token }} - id: install - if: > - always() && steps.info.outcome == 'success' && - fromJSON(steps.info.outputs.macos_requirement_satisfied) && - !matrix.skip_install - run: brew install --cask "${{ matrix.cask.path }}" - timeout-minutes: 30 - - - name: Run brew uninstall --cask ${{ matrix.cask.token }} - if: always() && steps.install.outcome == 'success' && !fromJSON(steps.info.outputs.manual_installer) - run: brew uninstall --cask "${{ matrix.cask.path }}" - timeout-minutes: 30 - - - name: Uninstall cask dependencies - if: ${{ always() && steps.install.outcome == 'success' && env.CASK_DEPENDENCIES != '' }} - run: | - read -r -a cask_dependencies_array <<< "$CASK_DEPENDENCIES" - brew uninstall --cask "${cask_dependencies_array[@]}" - timeout-minutes: 30 - - - name: Compare installed and running apps and services with snapshot (macOS only) - if: always() && steps.snapshot.outcome == 'success' && steps.install.outcome == 'success' && runner.os == 'macOS' - run: | - brew ruby -r "$(brew --repository homebrew/cask)/cmd/lib/check.rb" <<'EOF' - require "cask/cask_loader" - require "utils/github/actions" - - before = JSON.parse(ENV.fetch("HOMEBREW_SNAPSHOT_BEFORE", "{}")) - .transform_keys(&:to_sym) - after = Check.all - - cask = Cask::CaskLoader.load("${{ matrix.cask.path }}") - errors = Check.errors(before, after, cask: cask) - - errors.each do |error| - puts GitHub::Actions::Annotation.new(:error, error, file: "${{ matrix.cask.path }}") - end - - exit 1 if errors.any? - EOF - - conclusion: - name: conclusion - needs: test - runs-on: ubuntu-latest - if: always() - steps: - - name: Result - run: ${{ needs.test.result == 'success' }} - - label-pr: - needs: conclusion - if: success() && github.event_name == 'pull_request' - runs-on: ubuntu-24.04 - permissions: - pull-requests: write - steps: - - name: Check if PR has 'in progress' label - id: check-label - run: | - LABELS=$(gh pr view "${{ github.event.pull_request.number }}" --repo "${{ github.repository }}" --json labels --jq '.labels[].name') - if echo "$LABELS" | grep -q "^in progress$"; then - echo "skip_label=true" >> "$GITHUB_ENV" - else - echo "skip_label=false" >> "$GITHUB_ENV" - fi - env: - GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} - - - name: Ensure cask merge label exists - if: env.skip_label == 'false' - run: | - gh label create "pr-cask-merge" \ - --color "0e8a16" \ - --description "PR is ready for cask merge workflow" \ - --repo "${{ github.repository }}" || true - env: - GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} - - - name: Label the PR with 'pr-cask-merge' - if: env.skip_label == 'false' - run: gh pr edit "${{ github.event.pull_request.number }}" --add-label 'pr-cask-merge' --repo "${{ github.repository }}" - env: - GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} diff --git a/.github/workflows/clean-up-closed-prs.yml b/.github/workflows/clean-up-closed-prs.yml deleted file mode 100644 index 6478b73918..0000000000 --- a/.github/workflows/clean-up-closed-prs.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: Clean up closed PRs - -on: - pull_request_target: - types: - - closed - -defaults: - run: - shell: bash -xeuo pipefail {0} - -concurrency: - group: ${{ github.workflow }}-${{ github.event.number }} - cancel-in-progress: true - -env: - GH_REPO: ${{ github.repository }} - GH_NO_UPDATE_NOTIFIER: 1 - GH_PROMPT_DISABLED: 1 - HOMEBREW_DISABLE_LOAD_FORMULA: 1 - PR: ${{ github.event.number }} - -jobs: - cancel-tests: - if: > - github.repository_owner == 'chenrui333' && - !github.event.pull_request.merged - runs-on: ubuntu-latest - container: - image: ghcr.io/homebrew/ubuntu22.04:main@sha256:12faadc5521e46a968515ed15bf6817a9c2ef02b0330a388498c9c941d559d30 - permissions: - contents: read - actions: write # for `gh run cancel` - checks: read # for `GitHub.get_workflow_run` - steps: - - name: Set up Homebrew - uses: Homebrew/actions/setup-homebrew@f1cc9df7a62b7f6244414d21a3ebc3ba9156a082 # main - with: - core: false - cask: false - - - name: Check CI status - id: check - continue-on-error: true - env: - HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - brew check-ci-status --cancel "$PR" - - - name: Cancel tests - if: > - steps.check.outcome == 'success' && - steps.check.outputs.cancellable-run-id != '' && - steps.check.outputs.cancellable-run-id != 'null' - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - RUN_ID: ${{ steps.check.outputs.cancellable-run-id }} - run: | - echo "::notice ::Cancelling tests on closed PR #$PR" - gh run cancel "$RUN_ID" - - delete-branch: - if: > - github.repository_owner == 'chenrui333' && - github.event.pull_request.head.repo.full_name == github.repository && - !github.event.pull_request.merged - runs-on: ubuntu-latest - # Ignore errors as branch may already be deleted - continue-on-error: true - permissions: - contents: write - steps: - - name: Delete branch - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BRANCH: ${{ github.event.pull_request.head.ref }} - run: | - gh api \ - -X DELETE \ - --header 'Accept: application/vnd.github+json' \ - --header 'X-GitHub-Api-Version: 2022-11-28' \ - "repos/$GITHUB_REPOSITORY/git/refs/heads/$BRANCH" diff --git a/.github/workflows/close-superseded-formula-prs.yml b/.github/workflows/close-superseded-formula-prs.yml deleted file mode 100644 index 61654ff30e..0000000000 --- a/.github/workflows/close-superseded-formula-prs.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: Close superseded formula PRs - -on: - schedule: - - cron: "23 */6 * * *" - workflow_dispatch: - inputs: - apply: - description: "Close superseded formula PRs. Disable for a dry-run." - required: false - type: boolean - default: false - -permissions: - contents: read - issues: write - pull-requests: write - -concurrency: - group: close-superseded-formula-prs - cancel-in-progress: false - -env: - GH_NO_UPDATE_NOTIFIER: 1 - GH_PROMPT_DISABLED: 1 - GH_REPO: ${{ github.repository }} - HOMEBREW_NO_AUTO_UPDATE: 1 - HOMEBREW_NO_INSTALL_FROM_API: 1 - -jobs: - close-superseded-prs: - if: github.repository_owner == 'chenrui333' - runs-on: ubuntu-24.04 - steps: - - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - - name: Set up Homebrew - uses: Homebrew/actions/setup-homebrew@f1cc9df7a62b7f6244414d21a3ebc3ba9156a082 # main - with: - core: true - cask: false - - - name: Close superseded formula PRs - env: - APPLY: ${{ github.event_name == 'schedule' || inputs.apply }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - args=() - if [[ "$APPLY" == "true" ]]; then - if [[ "$GITHUB_REF_NAME" != "main" ]]; then - echo "::error ::Refusing to close PRs from non-main ref: $GITHUB_REF_NAME" - exit 1 - fi - args+=(--apply) - fi - - ./cmd/brew-close-superseded-prs "${args[@]}" diff --git a/.github/workflows/formula-status.yml b/.github/workflows/formula-status.yml deleted file mode 100644 index bb78aa085e..0000000000 --- a/.github/workflows/formula-status.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: Formula Metadata - -on: - # Run every Monday at 09:00 UTC - schedule: - - cron: '0 9 * * 1' - # Backup monthly run (1st day of month at 09:00 UTC) - - cron: '0 9 1 * *' - # Allow manual triggering - workflow_dispatch: - -concurrency: - group: formula-status-${{ github.ref }} - cancel-in-progress: true - -jobs: - generate-metadata: - runs-on: macos-latest - permissions: - contents: write - - steps: - - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - with: - token: ${{ secrets.GITHUB_TOKEN }} - fetch-depth: 0 - - - name: Set up Homebrew - uses: Homebrew/actions/setup-homebrew@f1cc9df7a62b7f6244414d21a3ebc3ba9156a082 # master - - - name: Set up Python - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 - with: - python-version: '3.14' - - - name: Verify dependencies - run: | - which python3 - which gh - python3 --version - gh --version - - - name: Configure Git - run: | - git config --local user.name "github-actions" - git config --local user.email "actions@github.com" - - - name: Generate formula metadata - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - python3 formula-status/generate_formula_status.py --output formula-status/formula-status.md - - - name: Check for changes - id: check_changes - run: | - if git diff --quiet formula-status/formula-status.md .cache/; then - echo "changed=false" >> "$GITHUB_OUTPUT" - echo "No changes detected" - else - echo "changed=true" >> "$GITHUB_OUTPUT" - echo "Changes detected" - fi - - - name: Commit and push changes - if: steps.check_changes.outputs.changed == 'true' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git add formula-status/formula-status.md .cache/ - git commit -m "chore: update formula metadata - - Generated by GitHub Actions on $(date -u +"%Y-%m-%d %H:%M:%S UTC") - - [skip ci]" - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git" "HEAD:${{ github.ref_name }}" - - - name: Summary - run: | - if [ -f formula-status/formula-status.md ]; then - { - echo "## Formula Metadata Report" - echo "" - echo "✅ Metadata report generated successfully" - echo "" - - TOTAL=$(grep -c '^| [a-z]' formula-status/formula-status.md 2>/dev/null || echo 0) - echo "**Total formulas**: $TOTAL" - - if [ "${{ steps.check_changes.outputs.changed }}" = "true" ]; then - echo "" - echo "📝 Changes committed and pushed" - else - echo "" - echo "ℹ️ No changes detected" - fi - } >> "$GITHUB_STEP_SUMMARY" - else - echo "❌ Failed to generate metadata report" >> "$GITHUB_STEP_SUMMARY" - fi diff --git a/.github/workflows/link-checker.yml b/.github/workflows/link-checker.yml deleted file mode 100644 index bfd4b718ed..0000000000 --- a/.github/workflows/link-checker.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: link-checker - -on: - pull_request: - push: - branches: - - main - schedule: - - cron: "0 7 * * 1" - workflow_dispatch: - -concurrency: - group: link-checker-${{ github.ref }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - check: - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - - name: Restore lychee cache - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 - with: - path: .lycheecache - key: cache-lychee-${{ runner.os }}-${{ hashFiles('lychee.toml') }}-${{ github.sha }} - restore-keys: | - cache-lychee-${{ runner.os }}-${{ hashFiles('lychee.toml') }}- - cache-lychee-${{ runner.os }}- - - - name: Link Checker - uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - args: --config ./lychee.toml --no-progress README.md cmd docs claudedocs formula-status diff --git a/.github/workflows/process-compose-preflight.yml b/.github/workflows/process-compose-preflight.yml deleted file mode 100644 index adc2b13481..0000000000 --- a/.github/workflows/process-compose-preflight.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Process Compose Preflight - -on: - push: - branches: - - process-compose-preflight - paths: - - ".github/workflows/process-compose-preflight.yml" - - "Formula/p/process-compose.rb" - workflow_dispatch: - -env: - HOMEBREW_DEVELOPER: 1 - HOMEBREW_GITHUB_ACTIONS: 1 - HOMEBREW_NO_AUTO_UPDATE: 1 - HOMEBREW_NO_INSTALL_FROM_API: 1 - HOMEBREW_RELOCATABLE_INSTALL_NAMES: 1 - HOMEBREW_ARM64_TESTING: 1 - -jobs: - preflight: - strategy: - fail-fast: false - matrix: - runner: - - macos-15 - - ubuntu-24.04 - runs-on: ${{ matrix.runner }} - steps: - - name: Set up Homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d - with: - core: true - cask: false - - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - - name: Install from source - run: brew install --build-from-source chenrui333/tap/process-compose - - - name: Run formula test - run: brew test chenrui333/tap/process-compose - - - name: Run linkage test - run: brew linkage --test chenrui333/tap/process-compose - - - name: Run audit - run: brew audit --new chenrui333/tap/process-compose - - - name: Run style - run: brew style Formula/p/process-compose.rb diff --git a/.github/workflows/publish-cask.yml b/.github/workflows/publish-cask.yml deleted file mode 100644 index 279541db89..0000000000 --- a/.github/workflows/publish-cask.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: brew cask-merge - -on: - pull_request_target: - types: - - labeled - -jobs: - cask-merge: - if: | - contains(github.event.pull_request.labels.*.name, 'pr-cask-merge') && - github.event.pull_request.head.repo.full_name == github.repository && - github.event.pull_request.user.type != 'Bot' && - github.event.pull_request.state == 'open' && - !github.event.pull_request.draft - runs-on: ubuntu-24.04 - permissions: - contents: write - pull-requests: write - steps: - - name: Validate changed files are cask-only - env: - GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} - PR_NUMBER: ${{ github.event.pull_request.number }} - run: | - mapfile -t files < <(gh pr view "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" --json files --jq '.files[].path') - if [ "${#files[@]}" -eq 0 ]; then - echo "PR has no changed files." - exit 1 - fi - - for file in "${files[@]}"; do - # Cask signing exceptions are part of cask-only maintenance. - if [[ ! "$file" =~ ^Casks/ && "$file" != "audit_exceptions/signing_audit_skiplist.json" ]]; then - echo "Non-cask file detected in cask merge workflow: $file" - exit 1 - fi - done - - - name: Merge cask PR - env: - GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} - PR_NUMBER: ${{ github.event.pull_request.number }} - run: | - gh pr merge "$PR_NUMBER" --squash --delete-branch --repo "$GITHUB_REPOSITORY" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f6452c5304..f0509dc508 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,13 +26,10 @@ jobs: exit 1 fi - name: Set up Homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d - with: - core: true - cask: false + uses: Homebrew/actions/setup-homebrew@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb - name: Set up git - uses: Homebrew/actions/git-user-config@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/git-user-config@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb with: username: BrewTestBot @@ -45,7 +42,7 @@ jobs: run: brew pr-pull --debug --root-url="https://ghcr.io/v2/chenrui333/tap" --tap="$GITHUB_REPOSITORY" "$PULL_REQUEST" - name: Push commits - uses: Homebrew/actions/git-try-push@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/git-try-push@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb with: token: ${{ github.token }} branch: main diff --git a/.github/workflows/rebottle.yml b/.github/workflows/rebottle.yml index efcc6e011b..b0860f439b 100644 --- a/.github/workflows/rebottle.yml +++ b/.github/workflows/rebottle.yml @@ -35,17 +35,17 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22.04, macos-14, macos-15, macos-26] # build for all platforms + os: [ubuntu-22.04, macos-13, macos-14, macos-15] # build for all platforms env: BOTTLES_DIR: ${{ github.workspace }}/bottles steps: - name: Check out repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 with: persist-credentials: false - name: Set up Homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/setup-homebrew@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb - name: Build bottles via test-bot run: | @@ -60,7 +60,7 @@ jobs: HOMEBREW_GITHUB_API_TOKEN: ${{secrets.GITHUB_TOKEN}} - name: Post-build steps if: always() - uses: Homebrew/actions/post-build@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/post-build@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb with: # runner: ${{ matrix.os }} bottles-directory: ${{ env.BOTTLES_DIR }} @@ -87,10 +87,10 @@ jobs: steps: - name: Set up Homebrew id: set-up-homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/setup-homebrew@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb - name: Download bottles from GitHub Actions - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 with: pattern: bottles_* path: ${{ env.BOTTLES_DIR }} @@ -98,13 +98,13 @@ jobs: - name: Setup git id: git-user-config - uses: Homebrew/actions/git-user-config@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/git-user-config@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb with: username: BrewTestBot # TODO: build provenance setup # - name: Set up commit signing - # uses: Homebrew/actions/setup-commit-signing@b2da65092292aade9599608fc29415389641b3cb + # uses: Homebrew/actions/setup-commit-signing@master # with: # signing_key: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY }} diff --git a/.github/workflows/terminal-trove-scraper.yml b/.github/workflows/terminal-trove-scraper.yml deleted file mode 100644 index 6b3978212f..0000000000 --- a/.github/workflows/terminal-trove-scraper.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Terminal Trove Weekly Scraper - -on: - schedule: - # Run every Thursday at 9 AM UTC - - cron: '0 9 * * 4' - workflow_dispatch: - -jobs: - scrape: - runs-on: ubuntu-latest - permissions: - contents: write - - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - - name: Set up Python - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 - with: - python-version: '3.14' - - - name: Run Terminal Trove scraper - working-directory: ./docs/terminal-trove - run: python3 scrape_terminal_trove.py - - - name: Commit and push changes - run: | - git config --local user.name "github-actions" - git config --local user.email "actions@github.com" - - # Check if there are changes - if git diff --quiet; then - echo "No changes detected" - else - git add docs/terminal-trove/terminal_trove_weekly.md docs/terminal-trove/.project_links_cache.json - git commit -m "chore: update terminal trove weekly tools list" || true - git push - fi diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7987fa8cd2..e2377cddf3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,179 +1,97 @@ -name: Build and Test Formulae +name: brew test-bot on: push: branches: - main - paths: - - 'Formula/**' pull_request: - branches: - - main - paths: - - 'Formula/**' - workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read env: HOMEBREW_DEVELOPER: 1 HOMEBREW_GITHUB_ACTIONS: 1 HOMEBREW_NO_AUTO_UPDATE: 1 HOMEBREW_NO_INSTALL_FROM_API: 1 + HOMEBREW_TEST_BOT_ANALYTICS: 1 + HOMEBREW_ENFORCE_SBOM: 1 + HOMEBREW_NO_BUILD_ERROR_ISSUES: 1 + HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} + GH_REPO: ${{ github.repository }} + GH_NO_UPDATE_NOTIFIER: 1 + GH_PROMPT_DISABLED: 1 + PR: ${{ github.event.number }} HOMEBREW_RELOCATABLE_INSTALL_NAMES: 1 HOMEBREW_ARM64_TESTING: 1 -concurrency: - group: "build-${{ github.ref }}" - cancel-in-progress: ${{ github.event_name == 'pull_request' }} - jobs: - tap-syntax: - if: github.event_name == 'pull_request' - runs-on: ubuntu-24.04 - container: - image: ghcr.io/homebrew/ubuntu22.04:main@sha256:12faadc5521e46a968515ed15bf6817a9c2ef02b0330a388498c9c941d559d30 - env: - HOMEBREW_SIMULATE_MACOS_ON_LINUX: 1 - outputs: - testing_formulae: ${{ steps.formulae-detect.outputs.testing_formulae }} - added_formulae: ${{ steps.formulae-detect.outputs.added_formulae }} - deleted_formulae: ${{ steps.formulae-detect.outputs.deleted_formulae }} + test-bot: + strategy: + fail-fast: false + matrix: + os: + - ubuntu-22.04 + - macos-13 # intel runner + - macos-14 # arm runner + - macos-15 # arm runner + + runs-on: ${{ matrix.os }} + steps: - name: Set up Homebrew id: set-up-homebrew - uses: Homebrew/actions/setup-homebrew@fc695c54c2032716dd4cedd007489c8e32fc8a5d - with: - core: true - cask: false - - - run: brew test-bot --only-tap-syntax - continue-on-error: true # Skip due to license check issues - - - run: brew test-bot --only-formulae-detect - id: formulae-detect - - set-environment: - if: github.event_name == 'pull_request' - runs-on: ubuntu-24.04 - needs: tap-syntax - outputs: - syntax-only: ${{ steps.check-labels.outputs.syntax-only }} - linux-runner: ${{ steps.check-labels.outputs.linux-runner }} - linux-arm64-runner: ${{ steps.check-labels.outputs.linux-arm64-runner }} - fail-fast: ${{ steps.check-labels.outputs.fail-fast }} - timeout-minutes: ${{ steps.check-labels.outputs.timeout-minutes }} - container: ${{ steps.check-labels.outputs.container }} - test-bot-formulae-args: ${{ steps.check-labels.outputs.test-bot-formulae-args }} - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + uses: Homebrew/actions/setup-homebrew@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb - - name: Check for CI labels - id: check-labels - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9 - env: - SCRIPTS_PATH: .github/scripts - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const path = require('path') - const script = require(path.resolve(`${process.env.SCRIPTS_PATH}/environment.js`)) - const formula_detect = { - testing_formulae: '${{needs.tap-syntax.outputs.testing_formulae}}', - added_formulae: '${{needs.tap-syntax.outputs.added_formulae}}', - deleted_formulae: '${{needs.tap-syntax.outputs.deleted_formulae}}' - } - try { - await script({github, context, core}, formula_detect) - } catch (error) { - console.error(error); - } - - build-formula: - needs: [tap-syntax, set-environment] - if: | - always() && - !cancelled() && - (needs.tap-syntax.result == 'success' || needs.tap-syntax.result == 'skipped') && - (needs.set-environment.result == 'success' || needs.set-environment.result == 'skipped') && - (github.event_name != 'pull_request' || needs.set-environment.outputs.syntax-only != 'true') - strategy: - matrix: - include: - - runner: 'macos-26' - cleanup: true - - runner: 'macos-15' - cleanup: true - - runner: 'macos-14' - cleanup: true - - runner: 'macos-15-intel' - cleanup: true - - runner: ${{ github.event_name == 'pull_request' && needs.set-environment.outputs.linux-runner || 'ubuntu-22.04' }} - container: ${{ github.event_name == 'pull_request' && fromJson(needs.set-environment.outputs.container) || fromJson('{"image":"ghcr.io/homebrew/ubuntu22.04:main","options":"--user=linuxbrew"}') }} - workdir: /github/home - cleanup: false - timeout: 4320 - - runner: ${{ github.event_name == 'pull_request' && needs.set-environment.outputs.linux-arm64-runner || 'ubuntu-22.04-arm' }} - container: ${{ github.event_name == 'pull_request' && fromJson(needs.set-environment.outputs.container) || fromJson('{"image":"ghcr.io/homebrew/ubuntu22.04:main","options":"--user=linuxbrew"}') }} - workdir: /github/home - cleanup: false - timeout: 4320 - fail-fast: ${{ github.event_name == 'pull_request' && fromJson(needs.set-environment.outputs.fail-fast) || false }} - runs-on: ${{matrix.runner}} - container: ${{matrix.container}} - timeout-minutes: ${{ matrix.timeout || (github.event_name == 'pull_request' && fromJson(needs.set-environment.outputs.timeout-minutes) || 240) }} - defaults: - run: - shell: /bin/bash -e {0} - working-directory: ${{matrix.workdir || github.workspace}} - env: - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - HOMEBREW_GITHUB_API_TOKEN: ${{secrets.HOMEBREW_GITHUB_API_TOKEN}} - BOTTLES_DIR: ${{matrix.workdir || github.workspace}}/bottles - steps: - - name: Pre-test steps - uses: Homebrew/actions/pre-build@fc695c54c2032716dd4cedd007489c8e32fc8a5d + - name: Cache Homebrew Bundler RubyGems + id: cache + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4 with: - bottles-directory: ${{ env.BOTTLES_DIR }} - cleanup: ${{ matrix.cleanup }} + path: ${{ steps.set-up-homebrew.outputs.gems-path }} + key: ${{ matrix.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} + restore-keys: ${{ matrix.os }}-rubygems- - - name: Run brew test-bot - id: brew-test-bot-formulae - working-directory: ${{ env.BOTTLES_DIR }} - run: | - # Set Linux-specific environment variables if running on Linux - if [[ "$RUNNER_OS" == "Linux" ]]; then - export HOMEBREW_PREFIX=/home/linuxbrew/.linuxbrew - export HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew/Homebrew - export HOMEBREW_CELLAR=/home/linuxbrew/.linuxbrew/Cellar - export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" - fi + - name: Install Homebrew Bundler RubyGems + if: steps.cache.outputs.cache-hit != 'true' + run: brew install-bundler-gems - # Use custom args for PR events, default args otherwise - if [[ "${{ github.event_name }}" == "pull_request" ]]; then - brew test-bot ${{ needs.set-environment.outputs.test-bot-formulae-args }} - else - brew test-bot --only-formulae --skip-recursive-dependents --root-url="https://ghcr.io/v2/chenrui333/tap" - fi + - run: brew test-bot --only-cleanup-before + + - run: brew test-bot --only-setup + continue-on-error: true # ignore `brew doctor` failure, https://github.com/chenrui333/homebrew-tap/issues/301 - - name: Post-build steps - if: always() - uses: Homebrew/actions/post-build@fc695c54c2032716dd4cedd007489c8e32fc8a5d + # skip due to the license check + # - run: brew test-bot --only-tap-syntax + + - run: brew test-bot --only-formulae --skip-dependents --root-url=https://ghcr.io/v2/chenrui333/tap + if: github.event_name == 'pull_request' + + - name: Upload bottles as artifact + if: always() && github.event_name == 'pull_request' + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: - runner: ${{ matrix.runner }} - cleanup: ${{ matrix.cleanup }} - bottles-directory: ${{ env.BOTTLES_DIR }} - logs-directory: ${{ format('{0}/logs', env.BOTTLES_DIR) }} + # Stable prefix; unique per run to avoid overwrites + name: bottles_${{ matrix.os }}_${{ github.run_id }} + path: '*.bottle.*' + if-no-files-found: ignore label-pr: - needs: build-formula - if: success() && github.event_name == 'pull_request' - runs-on: ubuntu-24.04 permissions: - pull-requests: write + pull-requests: write # for `gh pr edit` + name: Label PR as pr-pull + needs: test-bot + runs-on: ubuntu-latest + if: ${{ success() && github.event_name == 'pull_request' }} steps: - name: Check if PR has 'in progress' label id: check-label run: | - LABELS=$(gh pr view "${{ github.event.pull_request.number }}" --repo "${{ github.repository }}" --json labels --jq '.labels[].name') + LABELS=$(gh pr view "$PR" --repo "$GITHUB_REPOSITORY" --json labels --jq '.labels[].name') if echo "$LABELS" | grep -q "^in progress$"; then echo "skip_label=true" >> "$GITHUB_ENV" else @@ -182,45 +100,8 @@ jobs: env: GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} - - name: Check for bottle JSON artifacts - if: env.skip_label == 'false' - run: | - temp_dir="$(mktemp -d)" - trap 'rm -rf "$temp_dir"' EXIT - - found=false - while IFS= read -r artifact_name; do - [ -n "$artifact_name" ] || continue - rm -rf "$temp_dir"/* - gh run download "${{ github.run_id }}" \ - --repo "${{ github.repository }}" \ - --name "$artifact_name" \ - --dir "$temp_dir" - if find "$temp_dir" -type f -name '*.bottle.json' -print -quit | grep -q .; then - found=true - break - fi - done < <( - gh api "repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts" \ - --jq '.artifacts[] | select(.name | startswith("bottles_")) | .name' - ) - - echo "has_bottle_json=$found" >> "$GITHUB_ENV" - env: - GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} - - name: Label the PR with 'pr-pull' - if: env.skip_label == 'false' && env.has_bottle_json == 'true' - run: | - if gh pr view "${{ github.event.pull_request.number }}" --repo "${{ github.repository }}" --json labels --jq '.labels[].name' | grep -q "^pr-pull$"; then - gh pr edit "${{ github.event.pull_request.number }}" --remove-label 'pr-pull' --repo "${{ github.repository }}" - fi - gh pr edit "${{ github.event.pull_request.number }}" --add-label 'pr-pull' --repo "${{ github.repository }}" - env: - GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} - - - name: Skip 'pr-pull' label without bottle artifacts - if: env.skip_label == 'false' && env.has_bottle_json != 'true' - run: echo "No bottle JSON artifacts were produced in this run; skipping pr-pull label." + if: env.skip_label == 'false' + run: gh pr edit "$PR" --add-label 'pr-pull' --repo "$GITHUB_REPOSITORY" env: GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 731822d72d..2b9a56dd2d 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -1,17 +1,15 @@ name: Triage tasks on: - pull_request: pull_request_target: concurrency: - group: "triage-${{ github.event.pull_request.number }}-${{ github.event_name }}" + group: "triage-${{ github.event.number }}" cancel-in-progress: true jobs: triage: if: | - github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.type != 'Bot' && github.event.pull_request.state == 'open' @@ -23,7 +21,7 @@ jobs: statuses: write steps: - name: Label pull request - uses: Homebrew/actions/label-pull-requests@fc695c54c2032716dd4cedd007489c8e32fc8a5d + uses: Homebrew/actions/label-pull-requests@5248cb50fb1ac9ad0b0d0acda8500e192bca25fb with: token: ${{ secrets.GITHUB_TOKEN }} def: | @@ -32,11 +30,6 @@ jobs: path: Formula/.+ allow_any_match: true - - label: new cask - status: added - path: Casks/.+ - allow_any_match: true - - label: linux-only path: Formula/.+ content: depends_on :linux @@ -49,10 +42,6 @@ jobs: path: \.github/autobump\.txt allow_any_match: true - - label: skills - path: skills/.+ - allow_any_match: true - - label: missing license path: Formula/.+ missing_content: \n license .+\n @@ -138,24 +127,15 @@ jobs: path: Formula/.+ content: system "swift", "build" - - label: alias - path: Aliases/.+ - allow_any_match: true - - - label: shell-completion - path: Formula/.+ - patch_content: (generate_completions_from_executable|bash_completion|zsh_completion|fish_completion|pwsh_completion) - typos: name: Spell Check - if: github.event_name == 'pull_request' runs-on: ubuntu-latest permissions: contents: read steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 with: persist-credentials: false - - uses: crate-ci/typos@7c572958218557a3272c2d6719629443b5cc26fd # v1.45.2 + - uses: crate-ci/typos@85f62a8a84f939ae994ab3763f01a0296d61a7ee # v1.36.2 with: files: . diff --git a/.github/workflows/update-formula-list.yml b/.github/workflows/update-formula-list.yml index 452b156742..fcdbf59147 100644 --- a/.github/workflows/update-formula-list.yml +++ b/.github/workflows/update-formula-list.yml @@ -4,27 +4,19 @@ on: push: branches: - main - paths: - - "Formula/**" + workflow_dispatch: schedule: - cron: "0 0 * * 0" permissions: contents: write -# Keep only the newest run for a given ref. -# Side effect: older commits can show a cancelled check in GitHub's UI because -# concurrency cancellation is reported as cancelled, not skipped/successful. -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - jobs: update-list: runs-on: macos-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 - run: brew update diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 0a1403cb94..0000000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.codex-links/ -.playwright-mcp/ diff --git a/.rubocop.yml b/.rubocop.yml deleted file mode 100644 index 5602b7b2ec..0000000000 --- a/.rubocop.yml +++ /dev/null @@ -1,3 +0,0 @@ -AllCops: - Exclude: - - 'CLAUDE.md' diff --git a/.typos.toml b/.typos.toml index 8abfe15499..54bb467010 100644 --- a/.typos.toml +++ b/.typos.toml @@ -2,52 +2,27 @@ [default] locale = "en" -extend-ignore-re = [ - # Inline spellchecker directives - "(?Rm)^.*(#|//)\\s*spellchecker:disable-line$", - "(#|//)\\s*spellchecker:ignore-next-line\\n.*", - "(?s)(#|//)\\s*spellchecker:off.*?\\n\\s*(#|//)\\s*spellchecker:on", - "(?Rm)^.*$", - "\\n.*", - "(?s).*?", -] [default.extend-words] -Hashi = "Hashi" -Sur = "Sur" -debugg = "debugg" # for debugg-ai-mcp filename -parm = "parm" # formula name -Parm = "Parm" # Ruby class name for formula +sherif = "sherif" # for sherif.rb sur = "sur" # for big sur +Sur = "Sur" +ratatui = "ratatui" yor = "yor" -aks = "aks" # Azure Kubernetes Service -Aks = "Aks" -AKS = "AKS" +Hashi = "Hashi" +aks = "aks" +mosquitto = "mosquitto" # for mqtt-cli.rb +debugg = "debugg" +captable = "captable" # for captan.rb [files] extend-exclude = [ "Formula/h/holo-cli.rb", # for `index 4ba84b7..9d404c0` + "Formula/m/mitex.rb", # for `main.typ` "Formula/r/readmeai.rb", # upstream pr ref, https://github.com/eli64s/readme-ai/pull/158 - "Formula/r/rusticon.rb", # error: `ND` should be `AND` for license - "patches/**", - "docs/terminal-trove/terminal_trove_weekly.md", - "formula-status/formula-status.md", - "STATUS.md", + "patches/flexiblas/3.4.5.patch", + "patches/fjira/1.4.4.patch", ] [type.ruby.extend-words] -certifi = "certifi" # python package name used in ruby formulae fo = "fo" # for resinator.rb - -[type.md.extend-words] -certifi = "certifi" -ratatui = "ratatui" - -[type.tap_migrations] -extend-glob = ["**/tap_migrations.json"] - -[type.tap_migrations.extend-words] -sherif = "sherif" # for tap_migrations.json - -[type.tap_migrations.extend-identifiers] -sherif = "sherif" # for tap_migrations.json diff --git a/.yamllint b/.yamllint deleted file mode 100644 index 1f80220b50..0000000000 --- a/.yamllint +++ /dev/null @@ -1,10 +0,0 @@ -extends: default - -ignore: | - .lycheecache - -rules: - document-start: disable - line-length: disable - truthy: - check-keys: false diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index 3eb568e181..0000000000 --- a/AGENTS.md +++ /dev/null @@ -1,419 +0,0 @@ -# Agent Instructions for homebrew-core - -This document helps coding agents produce high-quality PRs for homebrew-core formula contributions. - -## Before Any PR - -1. **Check for existing PRs** for the same formula: [open PRs](https://github.com/Homebrew/homebrew-core/pulls) -2. Run `brew tap homebrew/core` if not already tapped - -## Tap/Core Overlap Checks - -- Treat a tap vs `homebrew/core` overlap as real only when both formulae point to the same upstream project. -- For quick screening, compare exact formula name plus `url` and `desc`; a name match alone is not enough. -- Re-verify any collision whose `url` or `desc` differs before proposing removal, rename, or dedupe work. -- Known exceptions in this tap: - - `hello` is an intentional overlap and should be kept because it is used to test the tap formula infrastructure. - - `kafka` is an intentional overlap because this tap needs Kafka 3.9. - - `zookeeper` is an intentional overlap because this tap needs a JDK 21 build; the `homebrew/core` `openjdk`-based formula does not work for this use case. - - `carton` is a name-only collision, not a real overlap: this tap packages `swiftwasm/carton`, while `homebrew/core` `carton` is the Perl CPAN dependency manager. - -## Version Updates - -Preferred method for version bumps: - -```sh -brew bump-formula-pr --strict --url= --sha256= -# or -brew bump-formula-pr --strict --tag= --revision= -# or -brew bump-formula-pr --strict --version= -``` - -This handles URL/checksum updates, commit message, and opens the PR automatically. - -### Manual Version Updates - -If manual editing is needed: - -```sh -brew edit -# Update url and sha256 (or tag and revision) -# Leave `bottle do` block unchanged -``` - -Commit message: `foo 1.2.3` - -## Formula Fixes - -For bug fixes or improvements to existing formulae: - -```sh -brew edit -# Make changes -# Leave `bottle do` block unchanged -``` - -Commit message: `foo: fix ` or `foo: ` - -### Ruby Style Preferences - -Prefer `Pathname` idioms where possible. - -Examples: -```ruby -session_dir.mkpath -bin.install_symlink libexec.glob("bin/*") -``` - -### Build Dependencies - -- Declare `depends_on "pkgconf" => :build` at the top level by default. `pkgconf` is a build tool, so keep it OS-agnostic unless the formula has a verified platform-specific build path that never invokes `pkg-config` elsewhere. -- Keep platform guards for the libraries that are actually platform-specific, such as Linux-only `glib` or `libsecret` dependencies. - -### Python Dependency Reuse - -When a Python formula can reuse a packaged dependency from Homebrew instead of vendoring it as a resource, prefer the shared formula dependency. - -- For Pydantic v2 consumers, prefer: - ```ruby - depends_on "pydantic" => :no_linkage - ``` -- Do NOT add `depends_on "pydantic-core"`: there is no standalone `pydantic-core` formula in Homebrew; `pydantic-core` is provided by the `pydantic` formula. -- Remove vendored `pydantic`, `pydantic-core`, and their helper resources when they are satisfied by the shared `pydantic` formula. -- If the formula uses `pypi_packages`, exclude shared Python formula deps there as well so autobump can manage the remaining vendored resources cleanly. For example: - ```ruby - depends_on "certifi" => :no_linkage - depends_on "pydantic" => :no_linkage - - pypi_packages exclude_packages: %w[certifi pydantic] - ``` -- Apply the same exclusion pattern to any other shared Python deps moved out of resources, such as `cryptography` or `rpds-py`. -- Prefer source tarballs for Python formula resources. Do not switch resources to wheels just to bypass isolated-build failures; fix the source build inputs or use shared Homebrew dependencies instead. Wheels are acceptable only when upstream has no usable sdist or there is a separately verified packaging reason. - -### Linux `zlib` Dependency - -- Do NOT use `uses_from_macos "zlib"`. -- Prefer: - ```ruby - on_linux do - depends_on "zlib-ng-compat" - end - ``` -- Keep this Linux-only unless the formula needs a separate macOS change for other reasons. - -### When to Add a Revision - -Add or increment `revision` when: -- Fix requires existing bottles to be rebuilt -- Dependencies changed in a way that affects the built package -- The installed binary/library behavior changes - -Do NOT add revision for cosmetic changes (comments, style, livecheck fixes). - -## New Formulae - -```sh -brew create -# Edit the generated formula -``` - -Commit message: `foo 1.2.3 (new formula)` - -### Required Elements - -- **Build source policy**: MUST build from source in the formula (e.g., `go build`, `cargo install`, `cmake`, etc.). - - Do NOT package upstream prebuilt binaries/releases for formula installation. - - If upstream only ships binaries and no buildable source path, raise it for manual review instead of adding the formula. - - Go formulae that need to override Homebrew's default cgo behavior should prefer: - ```ruby - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - ``` - - Do NOT set `ENV["CGO_ENABLED"] = "1"` unconditionally in Go formulae unless the formula has a separately verified requirement outside Linux ARM. - - Rust binary formulae MUST use `cargo install` with `std_cargo_args` (for example `system "cargo", "install", *std_cargo_args`). - - When the crate root is the current directory, use bare `*std_cargo_args` and do NOT pass `path: "."`. - - Reserve `std_cargo_args(path: "...")` for crates that live in a subdirectory. - - Do NOT hand-roll standard Rust binary installs with `cargo build` + `bin.install` when `std_cargo_args` applies. - - Do NOT manually append `--locked` or `--path` when `std_cargo_args` is used. -- **Test block**: MUST verify actual functionality, not just `--version` or `--help` - - Include a version assertion as an additional check whenever a reliable version command/output exists - - Prefer the simple standard form: `assert_match version.to_s, shell_output("#{bin}/foo --version")` - - Avoid regex-only version assertions when `version.to_s` matching is available - - For libraries: compile and link sample code - - Use `testpath` for temporary files - - Do NOT override `HOME` in `test do` when Homebrew already provides the isolated test home. - - In particular, do NOT set `ENV["HOME"] = testpath` or `ENV["HOME"] = testpath.to_s` in `test do`. - - When a formula genuinely needs a custom `HOME` outside `test do` (for example during install-time completion generation), scope it to the smallest possible block with `with_env` or a command-scoped override instead of mutating global `ENV`. - - Prefer no `HOME` override whenever possible. -- **Completions policy**: Add shell completion support when upstream CLI supports it. - - Use Homebrew DSL: `generate_completions_from_executable`. - - Rust CLIs: only use `shell_parameter_format: :clap` when the binary supports Homebrew's `COMPLETE=` invocation; otherwise keep the explicit `"completion"` or `"completions"` subcommand form. - - Go CLIs: prefer `shell_parameter_format: :cobra`. - - Python CLIs: prefer `shell_parameter_format: :click` or `:typer` (based on upstream framework). - -### Shell Plugin Formulae - -- For shell plugins that are not standalone executables (for example Oh My Zsh or Bash plugin repos), package the plugin assets with `pkgshare.install` instead of pretending the repo is a normal binary formula. -- Prefer adding a small installer wrapper in `bin/` when upstream's install story is "copy these plugin files into a plugin directory". -- For Oh My Zsh-style plugins, use a deterministic test with a fake `ZSH_CUSTOM` directory under `testpath`, run the installer wrapper, and assert that the plugin files were copied into the expected plugin directory. -- If the plugin needs multiple files (for example `*.plugin.zsh`, helper `*.zsh`, or a `lib/` directory), install and copy the full runtime set; do not package only the entrypoint file. -- Add caveats that point users to the installer wrapper or the `pkgshare` source path instead of telling them to clone the repo manually. - -### Library Packaging Guidance - -- Prefer installing **shared libraries** (`.dylib`/`.so`) when upstream supports both shared and static builds. -- Avoid static-only installs unless upstream cannot build shared libraries, or there is a clear technical reason documented in the formula. -- If upstream lacks `install()` rules, manual installation is acceptable, but still prefer installing the shared artifact when available. - -- **Service block**: If the software can run as a daemon, include a `service do` block. - - Place `service do` after `def install` and before `test do`. - ```ruby -service do - run [opt_bin/"foo", "start"] - keep_alive true -end - ``` - -- **Livecheck**: Prefer default behavior. Only add a `livecheck` block if automatic detection fails. - -- **Head support**: Include when the project has a development branch: - ```ruby -head "https://github.com/org/repo.git", branch: "main" - ``` - Git repositories MUST specify `branch:`. - - If local tap intake is blocked only because the current environment falsely rejects an otherwise-valid GitHub `head` URL, prefer omitting `head` in this tap rather than stalling the formula on local transport validation noise. - -## Required Validation (All PR Types) - -All checks MUST pass locally before opening a PR: - -```sh -# Build from source (required) -HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source - -# Run tests -brew test - -# Linkage check -brew linkage --test - -# Audit (existing formula) -brew audit --strict - -# Audit (new formula only) -brew audit --new - -# Style check -brew style -``` - -## Merge Path - -- Any formula PR that is not labeled `CI-syntax-only` MUST go through the `pr-pull` process. - - This includes new formulae, version bumps, revision rebuilds, and formula fixes that should produce or refresh bottles. - - After checks pass, wait for the test workflow to add `pr-pull`, then let the `brew pr-pull` workflow merge the PR. - - Do NOT manually merge these PRs with `gh pr merge`, because that bypasses BrewTestBot bottle commits and can leave `main` without a `bottle do` block. -- Never force-push `main` to `main`. - - `git push --force-with-lease` is only for PR head branches that you explicitly verified are not `main`. - - When updating `main`, use a normal `git push origin main`. - - If local `main` and `origin/main` diverge, run `git pull --rebase origin main`, resolve conflicts locally, and then push normally. -- Manual merges are acceptable only for PRs explicitly labeled `CI-syntax-only`, meaning CI should run syntax checks only and no bottle-producing build should occur. -- If a new formula lands on `main` without a `bottle do` block, open a one-formula follow-up PR that only adds or increments `revision` to force a fresh bottle build, and again leave that PR for the bot-managed `pr-pull` merge path. - -## PR Triage Workflow - -For formula patch PR triage, follow this exact sequence: - -1. Run brew ops and ensure all pass: - ```sh - HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source - brew test - brew linkage --test - brew audit --strict # or --new for new formulae - brew style - ``` - - If any step fails, patch the PR branch with the smallest formula fix and rerun the full brew-ops chain until all steps pass. - - When testing on Linux/macOS `*.upterm.dev` remote runners, do not run `exit`, `logout`, or close the session after brew ops; keep the runner alive for follow-up commands. - - When using rerun-backed debug workflows, always attach to the current attempt's job/session rather than an older rerun attempt. - - On a fresh remote runner connection, start with harmless probes such as `pwd` and `uname -a` before heavier commands. - - Do not lead with `set -euo pipefail` before confirming the runner's working directory and the paths you plan to use actually exist on that runner. - - Do not reference workstation-local paths such as `/private/tmp/...` or `/Users/...` on the runner; use heredocs, `scp`, or create the needed files directly on the runner first. -2. Commit on the PR head branch with a short, concise formula patch: - ```sh - branch="$(gh pr view --json headRefName -q .headRefName)" - git switch "$branch" - git add Formula//.rb - git commit -m ": " - ``` -3. Squash commits while preserving the BrewTestBot-compatible commit subject header: - ```sh - base="$(gh pr view --json baseRefName -q .baseRefName)" - header="$(git log --reverse --format=%s "origin/${base}..HEAD" | head -n1)" - # Squash as needed, but keep the final first line equal to "$header" - git log -1 --pretty=%s - ``` -4. Force-update the PR head branch safely: - ```sh - test "$branch" != main - git push --force-with-lease origin "$branch" - ``` - - If a global Git config rewrites `https://github.com/` pushes to `git@github.com:` and SSH auth is unavailable, use - `env GIT_CONFIG_GLOBAL=/dev/null git push -u https://github.com// "$branch"` - instead of rewriting `origin`. -5. Mark the PR with `CI-no-fail-fast`: - ```sh - pr="$(gh pr view --json number -q .number)" - gh pr edit "$pr" --add-label CI-no-fail-fast - ``` -6. For any formula PR not labeled `CI-syntax-only`, stop after the branch is green and labeled correctly, then leave merge to the bot-managed `pr-pull` workflow. - - Do NOT use `gh pr merge` manually for formula PRs that should produce bottles. - - If the goal is to regenerate missing bottles for a merged formula, open a one-formula `revision` follow-up PR and again leave merge to `pr-pull`. -7. If triaging many open PRs, dedupe only version-bump PRs for the same formula by keeping only the latest one. - - Apply this only to PR titles in version-bump format (` `), and skip non-version PRs such as `foo: fix ...`. - - Prefer `brew close-superseded-prs --apply` for this cleanup when it fits; it dry-runs by default and handles both PRs already covered by `main` and older open bump PRs superseded by a more recently opened bump. - ```sh - repo="/" - gh pr list --repo "$repo" --state open --limit 1000 --json number,title,createdAt > /tmp/open_prs.json - jq -r ' - # Version-bump titles only: " " - map(select(.title | test("^[^: ]+ [0-9]"))) | - sort_by(.createdAt) | - group_by(.title | capture("^(?[^ ]+) ").formula)[] | - select(length > 1) | - (.[-1].number | tostring) as $keeper | - .[0:-1][] | - "\(.number) \($keeper)" - ' /tmp/open_prs.json > /tmp/superseded_pr_pairs.txt - ``` -8. For each older PR, comment + label + close: - ```sh - repo="/" - while read -r old_pr keeper_pr; do - [ -n "$old_pr" ] || continue - printf 'Superseded by #%s\n' "$keeper_pr" > "/tmp/pr-${old_pr}-superseded.md" - gh pr comment "$old_pr" --repo "$repo" --body-file "/tmp/pr-${old_pr}-superseded.md" - gh pr edit "$old_pr" --repo "$repo" --add-label superseded - gh pr close "$old_pr" --repo "$repo" - done < /tmp/superseded_pr_pairs.txt - ``` - -## PR Template Checklist - -You MUST verify all items before submitting: - -- [ ] Followed [CONTRIBUTING.md](CONTRIBUTING.md) -- [ ] Commits follow [commit style guide](https://docs.brew.sh/Formula-Cookbook#commit) -- [ ] No existing [open PRs](https://github.com/Homebrew/homebrew-core/pulls) for same change -- [ ] Built locally with `HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source` -- [ ] Tests pass with `brew test` -- [ ] Linkage passes with `brew linkage --test` -- [ ] Audit passes with `brew audit --strict` (or `--new` for new formulae) -- [ ] Style passes with `brew style` - -## Commit Message Format - -- Version update: `foo 1.2.3` -- New formula: ` (new formula)` - - Example: `ls-hpack 2.3.4 (new formula)` -- Fix/change: `foo: fix ` or `foo: ` -- First line MUST be 50 characters or less -- Reference issues with `Closes #12345` in commit body if applicable - -## PR Hygiene - -### MUST - -- One formula or cask change per PR — always create a dedicated branch and open a separate PR for each formula/cask, even when working on multiple in the same session -- Never commit formula or cask changes directly to `main`; always use a PR branch -- Keep diffs minimal and focused -- Provide only essential context in PR description -- For any formula PR not labeled `CI-syntax-only`, use the `pr-pull` merge path so BrewTestBot adds the bottle commit to `main` - -### MUST NOT - -- Edit `bottle do` blocks (managed by BrewTestBot) -- Batch unrelated formula or cask changes into a single PR -- Include large logs or verbose output in PR body -- Add non-Homebrew usage caveats in PR body -- Include unrelated refactors or cleanups -- Manually merge formula PRs that are not labeled `CI-syntax-only` with `gh pr merge` - -## PR Description Template - -Keep it minimal: - -``` -Built and tested locally on [macOS version/Linux]. - -[One sentence describing the change if not obvious from title.] -``` - -## GitHub Body Formatting - -When using `gh` to create/edit PRs or issues: - -- Prefer `--body-file` with a heredoc-generated markdown file to preserve newlines. -- Avoid passing escaped `\n` in quoted `--body` strings. -- If inline body text is required, use single quotes around the full body to avoid shell interpolation. - -## Tap Maintenance Helpers - -For recurring maintenance work in this tap, prefer the repo-local helpers under `cmd/` when they fit: - -- `brew migrate-python ` - - For tap-local Python migration PRs. - - Works against `chenrui333/tap`, refreshes resources with `brew update-python-resources2`, pushes the branch, and opens the PR. -- `brew check ` - - Shortcut for `brew audit --strict --git --online --fix`. - - Bare formula names are resolved to `chenrui333/tap/`. -- `brew patch ` - - Fetches a patch URL, computes the SHA-256, and prints a `patch do` block for formula edits. -- `brew close-superseded-prs` - - Dry-runs stale formula bump cleanup by default. - - With `--apply`, comments, labels `superseded`, and closes formula bump PRs that are covered by `main` or superseded by a more recently opened bump PR for the same formula. - -If a helper does not match the job cleanly, fall back to the explicit `brew`/`gh` commands in this document instead of forcing the helper into a workflow it was not built for. - -## Renovate And Autobump Ownership - -- Formula version bumps are owned by [autobump-formula.yml](.github/workflows/autobump-formula.yml). Keep Renovate from opening `Formula/**` update PRs; if Renovate proposes a formula update, close it as a duplicate of the BrewTestBot/autobump PR or update [.github/renovate.json5](.github/renovate.json5). -- Do not add `Casks/**` to Renovate ignore rules just to mirror `Formula/**`. Renovate's current Homebrew manager does not scan casks, and leaving `Casks/**` visible preserves future native cask support. Cask bumps remain owned by [autobump-cask.yml](.github/workflows/autobump-cask.yml) unless the repo intentionally changes policy. - -## CI Failures - -- Reproduce failures locally before debugging -- Read error messages and annotations in "Files changed" tab -- Check complete build log in "Checks" tab if needed -- For Linux failures, use the [Homebrew Docker container](CONTRIBUTING.md#homebrew-docker-container) -- If stuck, comment describing what you've tried - -### Restarting GitHub Actions Runs - -- For tap PR check refreshes, use the repo-local skill at `skills/restart-github-actions-runs/SKILL.md`. -- Prefer the helper: - ```sh - skills/restart-github-actions-runs/scripts/restart_pr_actions.sh --repo chenrui333/homebrew-tap [ ...] - ``` -- The helper prefers a safe empty-amend + `git push --force-with-lease` on verified same-repo PR head branches, and falls back to `gh run rerun` when the head branch is missing or otherwise not safe to push. -- If GitHub HTTPS pushes are being rewritten to SSH by global git config and SSH auth is unavailable, run the helper or any manual PR-branch push under `env GIT_CONFIG_GLOBAL=/dev/null` instead of changing `origin`. -- Never edit workflow files just to restart checks. -- Never force-push `main`. - -### GitHub Package Visibility - -- For GitHub package visibility changes, use the repo-local skill at `skills/github-package-visibility/SKILL.md`. -- Use Playwright MCP with an existing signed-in browser session when available. -- Verify the owner/account context first, change one package before batching, and keep committed examples generic. -- Confirm completion from the filtered `private` packages view after the run. - -## AI Disclosure - -If AI assisted with the PR, check the AI checkbox in the PR template and briefly describe: -- How AI was used -- What manual verification was performed - -## References - -- [Formula Cookbook](https://docs.brew.sh/Formula-Cookbook) -- [CONTRIBUTING.md](CONTRIBUTING.md) -- [How to Open a PR](https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request) diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 43c994c2d3..0000000000 --- a/CLAUDE.md +++ /dev/null @@ -1 +0,0 @@ -@AGENTS.md diff --git a/Casks/a/accomplish.rb b/Casks/a/accomplish.rb deleted file mode 100644 index 73d1c8ae28..0000000000 --- a/Casks/a/accomplish.rb +++ /dev/null @@ -1,27 +0,0 @@ -cask "accomplish" do - arch arm: "arm64", intel: "x64" - - version "0.4.14" - sha256 arm: "b400f979844638e135a360d87cdd652d041fe87927e03b0c9bedb1ba7ebe31a9", - intel: "85a09557b1ac2b652e687824b60f4a9c90d670a26eac966013af052fd6394631" - - url "https://downloads.accomplish.ai/downloads/#{version}/macos/Accomplish-#{version}-mac-#{arch}.dmg" - name "Accomplish" - desc "AI desktop agent that automates file management and browser tasks" - homepage "https://www.accomplish.ai/" - - livecheck do - url "https://www.accomplish.ai/" - regex(/Accomplish[._-]v?(\d+(?:\.\d+)+)[._-]mac/i) - end - - auto_updates true - depends_on macos: ">= :big_sur" - - app "Accomplish.app" - - zap trash: [ - "~/Library/Application Support/Accomplish", - "~/Library/Preferences/ai.accomplish.desktop.plist", - ] -end diff --git a/Casks/a/agent-sessions.rb b/Casks/a/agent-sessions.rb deleted file mode 100644 index ff96621597..0000000000 --- a/Casks/a/agent-sessions.rb +++ /dev/null @@ -1,24 +0,0 @@ -cask "agent-sessions" do - version "3.6.4" - sha256 "a32780803662d1d46e960f5ef01af8dae2e3a663bb07b4b327eaf0b93e37da41" - - url "https://github.com/jazzyalex/agent-sessions/releases/download/v#{version}/AgentSessions-#{version}.dmg" - name "AgentSessions" - desc "Session browser, analytics, and rate-limit tracker for AI coding agents" - homepage "https://github.com/jazzyalex/agent-sessions" - - livecheck do - url :url - strategy :github_latest - end - - auto_updates true - depends_on macos: ">= :ventura" - - app "AgentSessions.app" - - zap trash: [ - "~/Library/Application Support/AgentSessions", - "~/Library/Preferences/com.jazzyalex.AgentSessions.plist", - ] -end diff --git a/Casks/c/cc-hdrm.rb b/Casks/c/cc-hdrm.rb deleted file mode 100644 index 8b046e27e2..0000000000 --- a/Casks/c/cc-hdrm.rb +++ /dev/null @@ -1,26 +0,0 @@ -cask "cc-hdrm" do - version "1.4.9" - sha256 "5c2cfb69e19c84f2aab963a47fb37f0e38703ae1d1cc06cd98f46e74ded26ca3" - - url "https://github.com/rajish/cc-hdrm/releases/download/v#{version}/cc-hdrm-#{version}.dmg" - name "cc-hdrm" - desc "Menu bar utility showing Claude subscription session headroom" - homepage "https://github.com/rajish/cc-hdrm" - - livecheck do - url :url - strategy :github_latest - end - - disable! date: "2026-09-01", because: :fails_gatekeeper_check - - depends_on macos: ">= :sonoma" - - app "cc-hdrm.app" - - zap trash: [ - "~/Library/Application Support/cc-hdrm", - "~/Library/Caches/com.cc-hdrm.app", - "~/Library/HTTPStorages/com.cc-hdrm.app", - ] -end diff --git a/Casks/c/claude-control.rb b/Casks/c/claude-control.rb deleted file mode 100644 index 03baa5214a..0000000000 --- a/Casks/c/claude-control.rb +++ /dev/null @@ -1,22 +0,0 @@ -cask "claude-control" do - arch arm: "-arm64", intel: "" - - version "0.15.0" - sha256 arm: "89eee829b19ebbaf842c06114aa83abf1fd3a16756132cd0aac6eb20b6f3c57e", - intel: "b9e723a534b1ba1eb085f8b6b2b547348f912e7c9d498f0298e1ccc927b33577" - - url "https://github.com/sverrirsig/claude-control/releases/download/v#{version}/Claude.Control-#{version}#{arch}.dmg" - name "Claude Control" - desc "Desktop dashboard for monitoring and managing Claude Code sessions" - homepage "https://github.com/sverrirsig/claude-control" - - livecheck do - url :url - strategy :github_latest - end - - auto_updates true - depends_on macos: ">= :monterey" - - app "Claude Control.app" -end diff --git a/Casks/c/cleanboard.rb b/Casks/c/cleanboard.rb deleted file mode 100644 index 263566bccf..0000000000 --- a/Casks/c/cleanboard.rb +++ /dev/null @@ -1,26 +0,0 @@ -cask "cleanboard" do - version "2.4.2" - sha256 "9acba69030aa10849aa3f1aad7e0c43d4e3241b08e2d0b225cd295778b39f8c4" - - url "https://github.com/tompodab/cleanboard/releases/download/#{version}/CleanBoard-#{version}-Installer.dmg", - verified: "github.com/tompodab/cleanboard/" - name "CleanBoard" - desc "Lightweight app that removes formatting from copied text by hitting copy twice" - homepage "https://cleanboard.app/" - - livecheck do - url :url - strategy :github_latest - end - - depends_on macos: ">= :catalina" - - app "CleanBoard.app" - - zap trash: [ - "~/Library/Application Support/com.tompod.cleanboard", - "~/Library/HTTPStorages/com.tompod.cleanboard", - "~/Library/Preferences/com.tompod.cleanboard.plist", - "~/Library/Preferences/com.tompod.cleanboard.revenuecat.etags.plist", - ] -end diff --git a/Casks/m/mightygrep.rb b/Casks/m/mightygrep.rb deleted file mode 100644 index 787bf3a5d4..0000000000 --- a/Casks/m/mightygrep.rb +++ /dev/null @@ -1,24 +0,0 @@ -cask "mightygrep" do - version "0.14.0" - sha256 "4878a396c356cff72cf23596bc98ae6c587e185b032edd8a0f2d5c7baf033253" - - url "https://github.com/kyle-sylvestre/mightygrep-misc/releases/download/#{version}/mightygrep-macos.dmg", - verified: "github.com/kyle-sylvestre/mightygrep-misc/" - name "MightyGrep" - desc "Fast file searching in a GUI" - homepage "https://ksylvestre.itch.io/mightygrep" - - livecheck do - url :url - strategy :github_latest - end - - depends_on macos: ">= :big_sur" - - app "MightyGrep Demo.app" - - zap trash: [ - "~/Library/Application Support/MightyGrep", - "~/Library/Preferences/mightygrep.plist", - ] -end diff --git a/Casks/p/piebald.rb b/Casks/p/piebald.rb deleted file mode 100644 index 0d10bc7f93..0000000000 --- a/Casks/p/piebald.rb +++ /dev/null @@ -1,25 +0,0 @@ -cask "piebald" do - version "0.2.7" - sha256 "db00d20c6497d226252cebf3bcdf398106e811541561e38a9e60dd57df77ab6d" - - url "https://github.com/Piebald-AI/piebald-issues/releases/download/v#{version}/Piebald_#{version}_universal.dmg", - verified: "github.com/Piebald-AI/piebald-issues/" - name "Piebald" - desc "Agentic AI control platform for orchestrating multiple AI agents" - homepage "https://piebald.ai/" - - livecheck do - url :url - strategy :github_latest - end - - depends_on macos: ">= :monterey" - - app "Piebald.app" - - zap trash: [ - "~/Library/Application Support/ai.piebald.desktop", - "~/Library/Application Support/piebald", - "~/Library/Caches/ai.piebald.desktop", - ] -end diff --git a/Casks/p/proton-pass-cli.rb b/Casks/p/proton-pass-cli.rb deleted file mode 100644 index 12c6790a46..0000000000 --- a/Casks/p/proton-pass-cli.rb +++ /dev/null @@ -1,31 +0,0 @@ -cask "proton-pass-cli" do - arch arm: "aarch64", intel: "x86_64" - os macos: "macos", linux: "linux" - - version "2.0.2" - sha256 arm: "0bfd99c4d8270ce2c2913c93a823c620a8975e3c2f1ce24d234e41706cb5cf47", - intel: "a975ca6af19177a2d274b7a8222c2510d84e13d252fd9c50bf8df67e54b42818", - arm64_linux: "c12c531adb823d4eae4f6e69065c6e767b10ed71328a1b3fa625a4897ae3b38c", - x86_64_linux: "fd60a5041e642a7b1135ef6878c3d7ce3523b083210ea8100eee5c3701017ed9" - - url "https://proton.me/download/pass-cli/#{version}/pass-cli-#{os}-#{arch}", - verified: "proton.me/" - name "Proton Pass CLI" - desc "Command-line interface for Proton Pass" - homepage "https://protonpass.github.io/pass-cli/" - - livecheck do - url "https://proton.me/download/pass-cli/versions.json" - strategy :json do |json| - json["passCliVersions"]["version"] - end - end - - binary "pass-cli-#{os}-#{arch}", target: "pass-cli" - - zap trash: [ - "~/.local/share/proton-pass-cli", - "~/.ssh/proton-pass-agent.*", - "~/Library/Application Support/proton-pass-cli", - ] -end diff --git a/Casks/s/speaktype.rb b/Casks/s/speaktype.rb deleted file mode 100644 index e9b6c5e054..0000000000 --- a/Casks/s/speaktype.rb +++ /dev/null @@ -1,21 +0,0 @@ -cask "speaktype" do - version "1.0.29" - sha256 "c3c3b1c99696bfccd33eff63b08bd07788127b1a00b089c42c0e1afdb3b32f16" - - url "https://github.com/karansinghgit/speaktype/releases/download/v#{version}/SpeakType-#{version}.dmg", - verified: "github.com/karansinghgit/speaktype/" - name "SpeakType" - desc "Open-source offline voice dictation app" - homepage "https://tryspeaktype.com/" - - livecheck do - url :url - strategy :github_latest - end - - depends_on macos: ">= :sonoma" - - app "speaktype.app" - - zap trash: "~/Library/Preferences/com.2048labs.speaktype.plist" -end diff --git a/Casks/w/wechat@3.8.rb b/Casks/w/wechat@3.8.rb deleted file mode 100644 index 0a4141723e..0000000000 --- a/Casks/w/wechat@3.8.rb +++ /dev/null @@ -1,41 +0,0 @@ -cask "wechat@3.8" do - version "3.8.8" - sha256 "7febd3b81d807be0beeb8ecb94cefb7240ecd38621a90e7277d1f275d4ec8780" - - url "https://mksoftcdn.yesky.com/692926fe/ff100b986d8e61cf271ac95e5c3cacbe/uploadsoft/WeChatMac-3.8.8.dmg" - name "WeChat for Mac" - name "微信 Mac 版" - desc "Free messaging and calling application" - homepage "https://mac.weixin.qq.com/" - - # # This appcast is slower to update than the submissions we get. See: - # # https://github.com/Homebrew/homebrew-cask/pull/90907#issuecomment-710107547 - # livecheck do - # url "https://dldir1.qq.com/weixin/mac/mac-release.xml" - # strategy :sparkle, &:short_version - # end - - auto_updates true - depends_on macos: ">= :big_sur" - - app "WeChat.app" - - uninstall quit: "com.tencent.xinWeChat" - - zap trash: [ - "~/Library/Application Scripts/$(TeamIdentifierPrefix)com.tencent.xinWeChat", - "~/Library/Application Scripts/$(TeamIdentifierPrefix)com.tencent.xinWeChat.IPCHelper", - "~/Library/Application Scripts/com.tencent.xinWeChat", - "~/Library/Application Scripts/com.tencent.xinWeChat.MiniProgram", - "~/Library/Application Scripts/com.tencent.xinWeChat.WeChatMacShare", - "~/Library/Caches/com.tencent.xinWeChat", - "~/Library/Containers/$(TeamIdentifierPrefix)com.tencent.xinWeChat.IPCHelper", - "~/Library/Containers/com.tencent.xinWeChat", - "~/Library/Containers/com.tencent.xinWeChat.MiniProgram", - "~/Library/Containers/com.tencent.xinWeChat.WeChatMacShare", - "~/Library/Cookies/com.tencent.xinWeChat.binarycookies", - "~/Library/Group Containers/$(TeamIdentifierPrefix)com.tencent.xinWeChat", - "~/Library/Preferences/com.tencent.xinWeChat.plist", - "~/Library/Saved Application State/com.tencent.xinWeChat.savedState", - ] -end diff --git a/Formula/a/abc.rb b/Formula/a/abc.rb index 5060054a92..577e06347e 100644 --- a/Formula/a/abc.rb +++ b/Formula/a/abc.rb @@ -4,16 +4,14 @@ class Abc < Formula url "https://github.com/appbaseio/abc/archive/refs/tags/1.0.0.tar.gz" sha256 "d140cbb2573c4e77d8402fe6263fd866595cac27154e9981374cc716bf5f2bc0" license "Apache-2.0" - revision 1 head "https://github.com/appbaseio/abc.git", branch: "dev" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8c8f9bfd6b795895f9a5234179074bb14de165db846538f4072ceade58ec8174" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "41f969197fd33565164527e090e836319bab938b130f3a92bb69491f2af58862" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "125074a71ed04fb999caad6c0733c2e20c4576a67ee58f93159a2005e6bd4ce3" - sha256 cellar: :any_skip_relocation, arm64_linux: "50bd4ca7f6e92634322781cf74b37aab5471a553580b529f24da3f259bfbd5e5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7b036ca485330eb663b03517dc5117bf325989f0094cf12f62b09d50083f6a59" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "36e4b0e0c043d2f7b795c1e30f21073f5191764d10349556421d0b443616118c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "73c0293b45a3122d2d4c59107e106e539f7a69c6a2708abe714cde9588698d6d" + sha256 cellar: :any_skip_relocation, ventura: "4f243d347c9c940586061513c539a30e95294af598b2aea2b5209a2a8783dc70" + sha256 cellar: :any_skip_relocation, x86_64_linux: "19ae3730cebbbe1066830b8bc6300200a262261f487c50dae93f231e7c682ddd" end depends_on "go" => :build diff --git a/Formula/a/act3.rb b/Formula/a/act3.rb deleted file mode 100644 index 98d1bcd77e..0000000000 --- a/Formula/a/act3.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Act3 < Formula - desc "Glance at the last 3 runs of your Github Actions" - homepage "https://tools.dhruvs.space/act3/" - url "https://github.com/dhth/act3/archive/refs/tags/v2.0.0.tar.gz" - sha256 "5ba04d59ba44e659a0a23eee674923acd92c4bfd622e12bcf8bd993468699fe9" - license "MIT" - revision 1 - head "https://github.com/dhth/act3.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fa2e9030510ea6ad0f95188ff0f5b99f8dc84fe1a01351b3008e8ea014b6772c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fa2e9030510ea6ad0f95188ff0f5b99f8dc84fe1a01351b3008e8ea014b6772c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fa2e9030510ea6ad0f95188ff0f5b99f8dc84fe1a01351b3008e8ea014b6772c" - sha256 cellar: :any_skip_relocation, arm64_linux: "ce0d6cee5edc3ad75dfcb09ae3db378163b0c866ac41827bfde21b2115f7c6aa" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a0dedf4cc5f1f27099ce5efbe9dce785cd139c629677835165760d4ff01c2a95" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - system "git", "init", "--initial-branch=main" - system "git", "commit", "--allow-empty", "-m", "invalid" - - output = shell_output("#{bin}/act3 config gen 2>&1", 1) - assert_match "Error: no remotes found", output - end -end diff --git a/Formula/a/actionbook.rb b/Formula/a/actionbook.rb deleted file mode 100644 index f661e1dabc..0000000000 --- a/Formula/a/actionbook.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Actionbook < Formula - desc "Browser action engine for AI agents" - homepage "https://actionbook.dev" - url "https://github.com/actionbook/actionbook/archive/refs/tags/actionbook-cli-v1.6.0.tar.gz" - sha256 "63918c3a27925f87ab1a0dd9ae9bf9a0c5cdbc39c5f4e14daaa6834f271c7161" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0ac9ad4250639bc434f49479aa0d513bee8d7316352f752f193e25385bc83eec" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0fc14f76e27af0fa44ae46d239d22aa57747a95cf10cea3f18750c5e3af41b09" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "18a7fd978d9e46bff7fd2066b3c40e033fe259f4ab0c6e646292fe52cdaa8135" - sha256 cellar: :any_skip_relocation, arm64_linux: "92e6b853da1bc23824546cad89e1160f7eb2d0c88bc0ac03640c529ad8553493" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5fbedb4ec7b2a0edb3e106eaa63da65377b191a780c3acadf21df6fe85cd100a" - end - - depends_on "rust" => :build - - def install - # Keep binary `--version` aligned with the tagged CLI release. - inreplace "packages/cli/Cargo.toml", /^version = ".*"$/, "version = \"#{version}\"" - system "cargo", "install", "--bin", "actionbook", *std_cargo_args(path: "packages/cli") - end - - test do - require "json" - - assert_match version.to_s, shell_output("#{bin}/actionbook --version") - - output = JSON.parse(shell_output("#{bin}/actionbook --json browser list-sessions")) - assert_equal true, output.fetch("ok") - assert_equal 0, output.dig("data", "total_sessions") - end -end diff --git a/Formula/a/adbtuifm.rb b/Formula/a/adbtuifm.rb index 6047d8728c..22a05bab2e 100644 --- a/Formula/a/adbtuifm.rb +++ b/Formula/a/adbtuifm.rb @@ -4,17 +4,14 @@ class Adbtuifm < Formula url "https://github.com/darkhz/adbtuifm/archive/refs/tags/v0.5.8.tar.gz" sha256 "1483c1dbf1a7bbd610f27d7ad3039f4731ca456fa059b5f84d3bb532e79efc66" license "MIT" - revision 1 head "https://github.com/darkhz/adbtuifm.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "34db19f48a06c4f274b02926cc25ac68d93658200ec190242d1398f75d5063c9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "34db19f48a06c4f274b02926cc25ac68d93658200ec190242d1398f75d5063c9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "34db19f48a06c4f274b02926cc25ac68d93658200ec190242d1398f75d5063c9" - sha256 cellar: :any_skip_relocation, arm64_linux: "9bbd220b67545fd975f2c378993ac2c040c4e6a81ccc2c3eb1462697de05d6c8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "729c394611325b75c7c4dd14c34d6c400e5634644ec00492f61c9f5bf94338d1" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1ba495be52869769df731a9869a941657bc9f5ca937b392648905c5abbe9af81" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a3c5a6211667d84228832ec7e008799ebfd7181dac427425e809a234f841f34d" + sha256 cellar: :any_skip_relocation, ventura: "e5eb118922e2a01e743d288a42e482e480da1bdfda497392b3978d25109cd52f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "8084e18b4b741e531dd44b55b815e0e957673a2ad266e72c411ca590c44be6cc" end depends_on "go" => :build diff --git a/Formula/a/addlicense.rb b/Formula/a/addlicense.rb new file mode 100644 index 0000000000..8fd3671a1c --- /dev/null +++ b/Formula/a/addlicense.rb @@ -0,0 +1,28 @@ +class Addlicense < Formula + desc "Scan directories recursively to ensure source files have license headers" + homepage "https://github.com/google/addlicense" + url "https://github.com/google/addlicense/archive/refs/tags/v1.2.0.tar.gz" + sha256 "d2e05668e6f3da9b119931c2fdadfa6dd19a8fc441218eb3f2aec4aa24ae3f90" + license "Apache-2.0" + head "https://github.com/google/addlicense.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d104563710829813f23c36e0d39f3fe8e271318dbf3ebaf295de72bd2ba6b7bd" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "dce435e663081292d2a3bec2b5c5f87904264cbb6d08c721414a8fbf9762be56" + sha256 cellar: :any_skip_relocation, ventura: "2423e34bc109aa95579f84bbebc25751533762e782e475e5a70ba296bfafb95e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "78829b5991f8ae8eb18b5f984e2d950e2508bcf9d87f30905f190383bd41c8be" + end + + depends_on "go" => :build + + def install + system "go", "build", *std_go_args(ldflags: "-s -w") + end + + test do + (testpath/"test.go").write("package main\\n") + system bin/"addlicense", "-c", "Random LLC", testpath/"test.go" + assert_match "// Copyright 2025 Random LLC", (testpath/"test.go").read + end +end diff --git a/Formula/a/ai-context.rb b/Formula/a/ai-context.rb index 1aa7657875..4096b13b7d 100644 --- a/Formula/a/ai-context.rb +++ b/Formula/a/ai-context.rb @@ -5,17 +5,14 @@ class AiContext < Formula url "https://github.com/Tanq16/ai-context/archive/refs/tags/v1.14.tar.gz" sha256 "09ddbb4bc8eaf9c20ffed53dc9886057bdd5207b62e6ed9485b90369dda57ac6" license "MIT" - revision 1 head "https://github.com/Tanq16/ai-context.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8a03b5c4f11d93e455756c54c267f6c10ec0098c1a246475cbbff56e46c45c37" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8a03b5c4f11d93e455756c54c267f6c10ec0098c1a246475cbbff56e46c45c37" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8a03b5c4f11d93e455756c54c267f6c10ec0098c1a246475cbbff56e46c45c37" - sha256 cellar: :any_skip_relocation, arm64_linux: "de36e1597ec3903703a96ad3583323749aa4e6e6fa7f9356c3909074d812da24" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2fd78e6feafee01925adbe94cd027dcf275c228df231c920bfebcac35d517997" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "29e6ca78be432bec832613767cc93497312206f8c9aff25d179a7b64bd11e391" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "520c2f4944a49ae21f6ab2e35b3dd10c12fcac7dfc5d9da5b103dbdd3ef63ab9" + sha256 cellar: :any_skip_relocation, ventura: "b9e9b480ec5854ebc84652a62149c01a0aa47ad856b6d938573b03badbb1caa7" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a064c654e00d1573faa9fded90ddc8064621e38f1387b623c9743a8f0d29b2f8" end depends_on "go" => :build diff --git a/Formula/a/aic.rb b/Formula/a/aic.rb deleted file mode 100644 index b7e6656920..0000000000 --- a/Formula/a/aic.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Aic < Formula - desc "Fetch the latest changelogs for popular AI coding assistants" - homepage "https://github.com/arimxyer/aic" - url "https://github.com/arimxyer/aic/archive/refs/tags/v2.7.0.tar.gz" - sha256 "1beae995886f56c54c0cfe08a800cdcf304df0dad6819312181415423a905ad1" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5eb51131c079fcfc58eb754bc2a2284aed10dd91eb7b9a7eeb68ec18b865303a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5eb51131c079fcfc58eb754bc2a2284aed10dd91eb7b9a7eeb68ec18b865303a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5eb51131c079fcfc58eb754bc2a2284aed10dd91eb7b9a7eeb68ec18b865303a" - sha256 cellar: :any_skip_relocation, arm64_linux: "ccd8fa4ce61f654c209622a1f7cfb24963a1e2e02473550957ff6fbb2aad7f8f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4601b3b66cde1a4e12eceabce1adb698028120859ab18707e8d028736e04bba3" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/aic --version") - # Avoid network-dependent changelog lookups in CI. - assert_match "Usage:", shell_output("#{bin}/aic claude --help") - end -end diff --git a/Formula/a/aim.rb b/Formula/a/aim.rb deleted file mode 100644 index e6219494d2..0000000000 --- a/Formula/a/aim.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Aim < Formula - desc "Command-line download/upload tool with resume" - homepage "https://github.com/mihaigalos/aim" - url "https://github.com/mihaigalos/aim/archive/refs/tags/1.8.8.tar.gz" - sha256 "5500e38e48e381557847d09e42dbb093e1e402eb2c2965929cbcdae69ce9ec9e" - license "MIT" - head "https://github.com/mihaigalos/aim.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "cf0cf71ebf3bcb9712333e8778d0fb8630ce6835f6202dda5f5a28ecec7e7227" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4ac5ce1cace76b95765ede24599206b3797ed6e8206b87d1ea265f47e49bed22" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "484268f126cf8d806192fa37fb6d323c0fd9b10577fd8580850a1b8d1a03c52c" - sha256 cellar: :any_skip_relocation, arm64_linux: "2a0c89556898916f1615118e3f1bdbbf1d1393e60a17dd3698537ded3feacb57" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1de00db98b18fd340f83e9f623f3187890c59a965bf1cd4fe0ad2f17da0fdec3" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "openssl@3" - - on_linux do - depends_on "zlib-ng-compat" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/aim --version") - - output_log = testpath/"output.log" - pid = spawn bin/"aim", "test", [:out, :err] => output_log.to_s - sleep 2 - assert_match "Serving on:", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/a/aks-mcp.rb b/Formula/a/aks-mcp.rb deleted file mode 100644 index 6a5d093f8f..0000000000 --- a/Formula/a/aks-mcp.rb +++ /dev/null @@ -1,40 +0,0 @@ -class AksMcp < Formula - desc "MCP server for Azure Kubernetes Service (AKS)" - homepage "https://github.com/Azure/aks-mcp" - url "https://github.com/Azure/aks-mcp/archive/refs/tags/v0.0.17.tar.gz" - sha256 "b29a1b9071c4cd9ce2c5fa748e2f6beec2580e829808e776c381da57f89fe375" - license "MIT" - head "https://github.com/Azure/aks-mcp.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c2926b1298c67e8f9a9c284142a93711532b83e13348babcaa257c05ebcc2b8a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c2926b1298c67e8f9a9c284142a93711532b83e13348babcaa257c05ebcc2b8a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c2926b1298c67e8f9a9c284142a93711532b83e13348babcaa257c05ebcc2b8a" - sha256 cellar: :any_skip_relocation, arm64_linux: "e5e599b10e3ff3d0b38a3659a25ee303f95543bfbf21076519d6788bd8e70e82" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7efa983b6f9de3bff1d165e7e72e67ee9b691bdb81e0cc2e86f09f0d1ad0c67c" - end - - depends_on "go" => :build - - def install - ENV["CGO_ENABLED"] = "0" - - ldflags = %W[ - -s -w - -X github.com/Azure/aks-mcp/internal/version.GitVersion=#{version} - -X github.com/Azure/aks-mcp/internal/version.GitCommit=#{tap.user} - -X github.com/Azure/aks-mcp/internal/version.GitTreeState=clean - -X github.com/Azure/aks-mcp/internal/version.BuildDate=#{time.iso8601} - ] - - system "go", "build", "-tags=withoutebpf", *std_go_args(ldflags:), "./cmd/aks-mcp" - end - - test do - assert_match version.to_s, shell_output("#{bin}/aks-mcp --version") - - output = shell_output("#{bin}/aks-mcp --enabled-components=nope 2>&1", 1) - assert_match "invalid components: nope", output - end -end diff --git a/Formula/a/alacritty.rb b/Formula/a/alacritty.rb index b7df585ea9..3b57a59456 100644 --- a/Formula/a/alacritty.rb +++ b/Formula/a/alacritty.rb @@ -1,8 +1,8 @@ class Alacritty < Formula desc "Cross-platform, OpenGL terminal emulator" homepage "https://github.com/alacritty/alacritty" - url "https://github.com/alacritty/alacritty/archive/refs/tags/v0.17.0.tar.gz" - sha256 "38d6527d346cda5c6049332a1f3338a89ea66cd7981b54d4c3ce801b392496f8" + url "https://github.com/alacritty/alacritty/archive/refs/tags/v0.15.1.tar.gz" + sha256 "b814e30c6271ae23158c66e0e2377c3600bb24041fa382a36e81be564eeb2e36" license any_of: ["Apache-2.0", "MIT"] livecheck do @@ -12,11 +12,10 @@ class Alacritty < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f2a7576a36bb4af7e53567c3d5740da315f081c38698c5c18864c38645db3a74" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "cd792b3f59812f9fc70abf44d14d83e15074c4be4b7c7f4c34502c507c267d97" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "48baefdb79515b4b87ceced94aa1172c2f93ac7a3d42f4c789f1b0aa01084207" - sha256 cellar: :any_skip_relocation, arm64_linux: "aac1b9815c13de299e916b83dc1ef98698594eed29d852a5baa57a78d34ef656" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e04ab7410ec38b924c0e2d979cbde1d59739ee7d89af8f52b776b2b24d26a1ba" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3506ced68adeb18bbe13af0f8439e794ec7a11f8c130902041b6a8939ee6efa3" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9f305843fb583c756fdf54dd3b105732e572e701faf221d7f6ec7d0fce84e39d" + sha256 cellar: :any_skip_relocation, ventura: "4fd3745a056b88410c91018f6759c2f4dc262b90ec4452d9d10844c5688f4d1f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2fc62edb141c618655fa13b630fbfccc220daafa02abd64f80f64e37d1d0cfa9" end depends_on "pkgconf" => :build @@ -24,7 +23,6 @@ class Alacritty < Formula on_linux do depends_on "fontconfig" - depends_on "freetype" end def install diff --git a/Formula/a/allinssl.rb b/Formula/a/allinssl.rb deleted file mode 100644 index 90963c2868..0000000000 --- a/Formula/a/allinssl.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Allinssl < Formula - desc "All-in-one SSL certificate lifecycle management tool" - homepage "https://allinssl.com/" - url "https://github.com/allinssl/allinssl/archive/refs/tags/v1.1.2.tar.gz" - sha256 "090a24028b0aca237fc53a5da5ee3535157a3cfe820b23577f69476e487b3916" - license "GPL-3.0-only" - head "https://github.com/allinssl/allinssl.git", branch: "1.1.1" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "78f4dea295400b9a3b1061e453899aee3a0248f67ee41f6a71d37478922f68f7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "78f4dea295400b9a3b1061e453899aee3a0248f67ee41f6a71d37478922f68f7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "78f4dea295400b9a3b1061e453899aee3a0248f67ee41f6a71d37478922f68f7" - sha256 cellar: :any_skip_relocation, arm64_linux: "1eef164f83e75f0632f1064065fa9a8a36206432720db784f8e1f64caf02aec1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4f814da640ca6e2bfa5cddf893ef612c9870882436ecb277d68749ec32899392" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd" - end - - test do - assert_match "Restarting ALLinSSL...", shell_output("#{bin}/allinssl 3") - assert_match "无效的命令", shell_output("#{bin}/allinssl 16") - end -end diff --git a/Formula/a/am-i-vibing.rb b/Formula/a/am-i-vibing.rb index 804ad19bad..be147c5cf1 100644 --- a/Formula/a/am-i-vibing.rb +++ b/Formula/a/am-i-vibing.rb @@ -1,20 +1,23 @@ class AmIVibing < Formula desc "Detect agentic coding environments and AI editors" homepage "https://github.com/ascorbic/am-i-vibing" - url "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.1.1.tgz" - sha256 "04634bf907000445709fc7009046f016152749fc6336c967fa687c5cca159646" + url "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.1.0.tgz" + sha256 "830ce89a5c6863cd8712f83b26b9924485789fdc3a8359a6ef2872cfe85981a7" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "dd73ea4b33722fbbaedae53689fd31bea99bea7e5fd01f241bbfdca695dece77" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3497cf97f7a47c23b3d0acc14ae6f6e70807379d7e18fe2fc72380da1f9ccf65" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "213b42f1675d928b82ab1e24de6c3112593c82f43c59e4e9550ee8e27d0b71fa" + sha256 cellar: :any_skip_relocation, ventura: "dfdc204b7b8d30169aba1e1dbbaaaa1450c301cc95083fa7e8fac9a1bd910f72" + sha256 cellar: :any_skip_relocation, x86_64_linux: "4b05a78696c8a7db848c7571b0a57e6d8eac76be353a380ef6bab3da7f44d56c" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/a/amoco.rb b/Formula/a/amoco.rb index 008d387262..c7fec87b84 100644 --- a/Formula/a/amoco.rb +++ b/Formula/a/amoco.rb @@ -9,15 +9,18 @@ class Amoco < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, all: "92e1836249525338e58f7c966af223c74ef7243ac763098cce5692aba40411d3" + rebuild 1 + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e099f669d16a02f6985ffafccb71cd721be9bb0a04a55264362177633e13f105" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6662fc57360a2b77b6cb051fd73627047011f8312a9fffe8392082b2098d099d" + sha256 cellar: :any_skip_relocation, ventura: "0440b59283e92784415c4eaadddf634bd330c4cbcd4d68dd2dbfede94dc17af3" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a1959f6c3fbe2cd03ca555fa873f014e6fbdd96325a24f3bbbfe221276e9cec3" end - depends_on "python@3.14" + depends_on "python@3.13" resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" end resource "crysp" do @@ -31,8 +34,8 @@ class Amoco < Formula end resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" + url "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz" + sha256 "e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb" end resource "mdurl" do @@ -40,19 +43,19 @@ class Amoco < Formula sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" end - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" + resource "Pygments" do + url "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz" + sha256 "61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f" end resource "pyparsing" do - url "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz" - sha256 "2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6" + url "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz" + sha256 "61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a" end resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" + url "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz" + sha256 "439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098" end resource "traitlets" do diff --git a/Formula/a/amp-cli.rb b/Formula/a/amp-cli.rb deleted file mode 100644 index fc87bcc085..0000000000 --- a/Formula/a/amp-cli.rb +++ /dev/null @@ -1,29 +0,0 @@ -class AmpCli < Formula - desc "Coding agent for your terminal and editor, built by Sourcegraph" - homepage "https://ampcode.com/" - url "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1761667293-g539b00.tgz" - sha256 "63edce81abfbaf6baef54ee2237512069dee150127e81a7b921d5aa16fe3f953" - # license :unfree - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "9fc24de4e66edd54f133730c6cdb62b84a8752e8f8ecbb0d14193ac43874ddd1" - sha256 cellar: :any, arm64_sequoia: "3e9d59703ad7e4cd05d4938da96625191959491a1fc7f29377544a0ce2448f33" - sha256 cellar: :any, arm64_sonoma: "3e9d59703ad7e4cd05d4938da96625191959491a1fc7f29377544a0ce2448f33" - sha256 cellar: :any_skip_relocation, arm64_linux: "56962b403e5b87b452947eee4a03866b4bae14017ad4051f970f27ed0b964959" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9abab0ec7fa225d3448744b49f41bdae247a114cd9fafff0ec6519fac2262630" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/amp --version") - output = shell_output("#{bin}/amp update 2>&1") - assert_match "Amp CLI is already up to date.", output - end -end diff --git a/Formula/a/amux.rb b/Formula/a/amux.rb deleted file mode 100644 index 590615085d..0000000000 --- a/Formula/a/amux.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Amux < Formula - desc "TUI for easily running parallel coding agents" - homepage "https://github.com/andyrewlee/amux" - url "https://github.com/andyrewlee/amux/archive/refs/tags/v0.0.18.tar.gz" - sha256 "552b816b0efea41e55bbd92ba9568d71424c096f6b60fce5eb1ec04ebca9a46d" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0b4483f11172a6f994699598ffc499a7392a12848eabfc145db5d8e1425fa87b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0b4483f11172a6f994699598ffc499a7392a12848eabfc145db5d8e1425fa87b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0b4483f11172a6f994699598ffc499a7392a12848eabfc145db5d8e1425fa87b" - sha256 cellar: :any_skip_relocation, arm64_linux: "532c117cfe58cc0f052ca942d50c398a2adcbe5cd4b688bf42a93cd90edf18db" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a379493f654d6577e97361e0e43e2345746f4a5b13fa3bfbb008a1317e42a32c" - end - - depends_on "go" => :build - depends_on "tmux" - - def install - ldflags = %W[ - -s - -w - -X main.version=#{version} - -X main.commit=Homebrew - -X main.date=unknown - -X github.com/andyrewlee/amux/internal/update.homebrewBuild=true - ] - - system "go", "build", *std_go_args(ldflags:, output: bin/"amux"), "./cmd/amux" - end - - test do - assert_match version.to_s, shell_output("#{bin/"amux"} --version") - - output = shell_output("#{bin/"amux"} 2>&1", 1) - assert_match "requires stdin, stdout, and stderr to be TTYs", output - end -end diff --git a/Formula/a/anvil.rb b/Formula/a/anvil.rb deleted file mode 100644 index e356676434..0000000000 --- a/Formula/a/anvil.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Anvil < Formula - desc "CLI to streamline config management and tool installation" - homepage "https://tryanvil.app" - url "https://github.com/0xjuanma/anvil/archive/refs/tags/v2.9.0.tar.gz" - sha256 "bd8ce9c826f77ce28c793306576dd7961af68ad43bb605954c73082f4e6c2b2c" - license "Apache-2.0" - head "https://github.com/0xjuanma/anvil.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "822173c395b58de82bb444a75b4f9f7ef8540c37c3b1422aab3cc5eca16be43a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "822173c395b58de82bb444a75b4f9f7ef8540c37c3b1422aab3cc5eca16be43a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "822173c395b58de82bb444a75b4f9f7ef8540c37c3b1422aab3cc5eca16be43a" - sha256 cellar: :any_skip_relocation, arm64_linux: "172956d32effb56e33cebd93734c11f06ef42fd4381706e09a63d1e7528d1326" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7dece0f35e045bc73329ededd090a95dff1428cf52c617ca56290f5348dd8f01" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.appVersion=#{version}" - system "go", "build", *std_go_args(ldflags:), "." - end - - test do - assert_match version.to_s, shell_output("#{bin}/anvil --version") - assert_match "Available Health Checks", shell_output("#{bin}/anvil doctor --list") - end -end diff --git a/Formula/a/apify-actors-mcp-server.rb b/Formula/a/apify-actors-mcp-server.rb index 118a805752..de257733d6 100644 --- a/Formula/a/apify-actors-mcp-server.rb +++ b/Formula/a/apify-actors-mcp-server.rb @@ -1,20 +1,23 @@ class ApifyActorsMcpServer < Formula desc "MCP server for Apify" homepage "https://docs.apify.com/platform/integrations/mcp" - url "https://registry.npmjs.org/@apify/actors-mcp-server/-/actors-mcp-server-0.9.20.tgz" - sha256 "7a017180e29d8bbf082231cff8cae5f12bebd40b6e7c586b46a5866db2f9e9ae" + url "https://registry.npmjs.org/@apify/actors-mcp-server/-/actors-mcp-server-0.4.5.tgz" + sha256 "a81d47038dcd45040915b3c49a0593709f0dfd288815656880ed9d32e44cefdd" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "5be37e20c864f7b6f7526ce0b51b08d79bec10554c49059db96c7212e85a51e5" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1eb68370908292e011e5f7d687220bfa6db88b39336d1f5d4d3dd59c9ddd2497" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "fdfa2315949439b4f2c183a371358c8c9f78874d5c6ad1d501490cab7823d032" + sha256 cellar: :any_skip_relocation, ventura: "00004ea6baafeba23fd263152faae13a15ddd9614c70abfacb8208bc2a9a9bd2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "48a2d3be9e73739af87adc2e67bb748792de9a30aabee2038b860af1c45e37e5" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do @@ -25,7 +28,7 @@ def install {"jsonrpc":"2.0","id":2,"method":"tools/list"} JSON - output = pipe_output(bin/"actors-mcp-server", json, 0) - assert_match "Get detailed information about an Actor by its ID or full name", output + output = pipe_output("#{bin}/actors-mcp-server 2>&1", json, 1) + assert_match "User was not found or authentication token is not valid", output end end diff --git a/Formula/a/apisnip.rb b/Formula/a/apisnip.rb deleted file mode 100644 index 27dc16c440..0000000000 --- a/Formula/a/apisnip.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Apisnip < Formula - desc "TUI tool for trimming OpenAPI specifications down to size" - homepage "https://github.com/Tuurlijk/apisnip" - url "https://github.com/Tuurlijk/apisnip/archive/refs/tags/v1.4.60.tar.gz" - sha256 "96469b1f13d14a62ee17928995bc3fec0ec2356c44ed3524dfb6eef8279a0b55" - license "MIT" - head "https://github.com/Tuurlijk/apisnip.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5ce51fa959687d4909276c2a7aa57f520bb9606636640c0ab2235013fe6ddb5b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "eebff86fcb46e44be851fb05563f2889f32df34a28c2cbfb27e3f365489b2172" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "aadbd684c323308b5ec2429787c272eb9cee96dbd3e14c8abca581616829e7ca" - sha256 cellar: :any_skip_relocation, arm64_linux: "4a86d552c435dc89b73c12694c1e048383f721ded52489bfdf6ab87ae32aaf15" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9344b42bc70a98011d992d699c6706e8baceeb958b454423ca359c0faa3232d3" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/apisnip --version") - - # failed with Linux CI, `No such device or address (os error 6)` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - (testpath/"minimal.yaml").write <<~YAML - --- - swagger: '2.0' - info: - version: 0.0.0 - title: Simple API - paths: - /: - get: - responses: - 200: - description: OK - YAML - - output_log = testpath/"output.log" - pid = spawn bin/"apisnip", testpath/"minimal.yaml", [:out, :err] => output_log.to_s - sleep 1 - assert_match "1 endpoints for #{testpath}/minimal.yaml", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/a/apkeep.rb b/Formula/a/apkeep.rb new file mode 100644 index 0000000000..7a5f3c6f0c --- /dev/null +++ b/Formula/a/apkeep.rb @@ -0,0 +1,35 @@ +class Apkeep < Formula + desc "Command-line tool for downloading APK files from various sources" + homepage "https://github.com/EFForg/apkeep" + url "https://github.com/EFForg/apkeep/archive/refs/tags/0.17.0.tar.gz" + sha256 "f5fa0d8c02d5c078f69ec18e080463113c3794be8b94130f6a81f463c36bca0b" + license "MIT" + head "https://github.com/EFForg/apkeep.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "fbd98a43607b52c3e8f47854e1bd3c0fe04bcac711b13fdb98684a4491198fb4" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5ef7df84f1fe13312cd1096abbcb04cdd5eecf2a94e07d7e4a24d12e994bc317" + sha256 cellar: :any_skip_relocation, ventura: "4419fc3890843867991226173e5493e2145d333b5bdddd6d93c3c9140ad73599" + sha256 cellar: :any_skip_relocation, x86_64_linux: "70e851ecd533938b55112588b15fa6841a998261903e524d0b1f4d35cc176166" + end + + depends_on "pkgconf" => :build + depends_on "rust" => :build + + on_linux do + depends_on "openssl@3" + end + + def install + system "cargo", "install", *std_cargo_args + end + + test do + assert_match version.to_s, shell_output("#{bin}/apkeep --version") + + # hello world apk, https://play.google.com/store/apps/details?id=dev.egl.com.holamundo&hl=en_US + system bin/"apkeep", "--app", "dev.egl.com.holamundo", testpath + assert_path_exists "dev.egl.com.holamundo.xapk" + end +end diff --git a/Formula/a/apm-cli.rb b/Formula/a/apm-cli.rb deleted file mode 100644 index fe987ed088..0000000000 --- a/Formula/a/apm-cli.rb +++ /dev/null @@ -1,325 +0,0 @@ -class ApmCli < Formula - include Language::Python::Virtualenv - - desc "Open-source dependency manager for AI agents" - homepage "https://github.com/microsoft/apm" - url "https://files.pythonhosted.org/packages/51/ee/c68beffc08d6efe218fdb6a24756d53d00f62fef44b38183d99236f27161/apm_cli-0.9.4.tar.gz" - sha256 "fe7c0ba5a57dd16fe5d5ad3437a5076f981c6650486b1f471659ee1d06fabfef" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "37ffcaeb28a29f4c4571e5b921f2bea05a0e9579aab57fe04e5dfed8f7a576e1" - sha256 cellar: :any, arm64_sequoia: "e9c599f904d849534091d86b28f2c512a626b5845ac8d314650ee7d90d2e6a98" - sha256 cellar: :any, arm64_sonoma: "3549721c0e8afa76dfc7f622af20f588516cd9688c3d6f1d0a76b470c9e56d70" - sha256 cellar: :any_skip_relocation, arm64_linux: "71aa6e9c454348c52960e67b5a6397d2ce7322f1ff98e8efaaba2d80cf15f8fd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c9a162efd2393c75d584de80448917c3e59f0403833970e49feb4c5532f5eef1" - end - - depends_on "rust" => :build # for jiter - depends_on "certifi" => :no_linkage - depends_on "libyaml" - depends_on "pydantic" => :no_linkage - depends_on "python@3.13" - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz" - sha256 "9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" - end - - resource "annotated-types" do - url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" - sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" - end - - resource "azure-ai-inference" do - url "https://files.pythonhosted.org/packages/4e/6a/ed85592e5c64e08c291992f58b1a94dab6869f28fb0f40fd753dced73ba6/azure_ai_inference-1.0.0b9.tar.gz" - sha256 "1feb496bd84b01ee2691befc04358fa25d7c344d8288e99364438859ad7cd5a4" - end - - resource "azure-core" do - url "https://files.pythonhosted.org/packages/34/83/bbde3faa84ddcb8eb0eca4b3ffb3221252281db4ce351300fe248c5c70b1/azure_core-1.39.0.tar.gz" - sha256 "8a90a562998dd44ce84597590fff6249701b98c0e8797c95fcdd695b54c35d74" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/25/ee/6caf7a40c36a1220410afe15a1cc64993a1f864871f698c0f93acb72842a/certifi-2026.4.22.tar.gz" - sha256 "8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz" - sha256 "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz" - sha256 "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2" - end - - resource "click-default-group" do - url "https://files.pythonhosted.org/packages/1d/ce/edb087fb53de63dad3b36408ca30368f438738098e668b78c87f93cd41df/click_default_group-1.2.4.tar.gz" - sha256 "eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e" - end - - resource "colorama" do - url "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" - sha256 "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" - end - - resource "condense-json" do - url "https://files.pythonhosted.org/packages/94/b3/d784cbc05556192ea1e798cae96363835d649fe7420ff030190789645be1/condense_json-0.1.3.tar.gz" - sha256 "25fe8d434fdafd849e8d98f21a3e18f96ae2d6dbc2c17565f29e4843d039d2bc" - end - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "gitdb" do - url "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz" - sha256 "5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571" - end - - resource "gitpython" do - url "https://files.pythonhosted.org/packages/c1/bd/50db468e9b1310529a19fce651b3b0e753b5c07954d486cba31bbee9a5d5/gitpython-3.1.47.tar.gz" - sha256 "dba27f922bd2b42cb54c87a8ab3cb6beb6bf07f3d564e21ac848913a05a8a3cd" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz" - sha256 "585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242" - end - - resource "isodate" do - url "https://files.pythonhosted.org/packages/54/4d/e940025e2ce31a8ce1202635910747e5a87cc3a6a6bb2d00973375014749/isodate-0.7.2.tar.gz" - sha256 "4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6" - end - - resource "jiter" do - url "https://files.pythonhosted.org/packages/6e/c1/0cddc6eb17d4c53a99840953f95dd3accdc5cfc7a337b0e9b26476276be9/jiter-0.14.0.tar.gz" - sha256 "e8a39e66dac7153cf3f964a12aad515afa8d74938ec5cc0018adcdae5367c79e" - end - - resource "llm" do - url "https://files.pythonhosted.org/packages/7d/f2/3a81744fdaf3a92fe9020dc298dd2e4c144e2e7fcab863e1a132ea537cab/llm-0.31.tar.gz" - sha256 "c7701408fdc53cbdf1db6a43f35c7dd410c291dda36cc38a14db4b482b274fa4" - end - - resource "llm-github-models" do - url "https://files.pythonhosted.org/packages/2c/b5/714d6c7683cf5ffcf0352951a83ea9d952bd6052900b9e7ccb2a3b09ce0a/llm_github_models-0.18.0.tar.gz" - sha256 "b778aa6fa43e53ecb3b868fcf9875bc0e760a774a1fad76ea907a269582a2043" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" - end - - resource "openai" do - url "https://files.pythonhosted.org/packages/ed/59/bdcc6b759b8c42dd73afaf5bf8f902c04b37987a5514dbc1c64dba390fef/openai-2.32.0.tar.gz" - sha256 "c54b27a9e4cb8d51f0dd94972ffd1a04437efeb259a9e60d8922b8bd26fe55e0" - end - - resource "pluggy" do - url "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" - sha256 "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" - end - - resource "puremagic" do - url "https://files.pythonhosted.org/packages/24/74/ce5987ab9b8aec4ced06e2723ebb604205c9eb58abdad91453da93166380/puremagic-2.2.0.tar.gz" - sha256 "eb4bddf07c177c4b434554b92165b67449f5a51e152b976202d6254498810eef" - end - - resource "pydantic" do - url "https://files.pythonhosted.org/packages/d9/e4/40d09941a2cebcb20609b86a559817d5b9291c49dd6f8c87e5feffbe703a/pydantic-2.13.3.tar.gz" - sha256 "af09e9d1d09f4e7fe37145c1f577e1d61ceb9a41924bf0094a36506285d0a84d" - end - - resource "pydantic-core" do - url "https://files.pythonhosted.org/packages/2a/ef/f7abb56c49382a246fd2ce9c799691e3c3e7175ec74b14d99e798bcddb1a/pydantic_core-2.46.3.tar.gz" - sha256 "41c178f65b8c29807239d47e6050262eb6bf84eb695e41101e62e38df4a5bc2c" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "python-dateutil" do - url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" - end - - resource "python-frontmatter" do - url "https://files.pythonhosted.org/packages/96/de/910fa208120314a12f9a88ea63e03707261692af782c99283f1a2c8a5e6f/python-frontmatter-1.1.0.tar.gz" - sha256 "7118d2bd56af9149625745c58c9b51fb67e8d1294a0c76796dafdc72c36e5f6d" - end - - resource "python-ulid" do - url "https://files.pythonhosted.org/packages/40/7e/0d6c82b5ccc71e7c833aed43d9e8468e1f2ff0be1b3f657a6fcafbb8433d/python_ulid-3.1.0.tar.gz" - sha256 "ff0410a598bc5f6b01b602851a3296ede6f91389f913a5d5f8c496003836f636" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz" - sha256 "18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" - sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - end - - resource "rich-click" do - url "https://files.pythonhosted.org/packages/04/27/091e140ea834272188e63f8dd6faac1f5c687582b687197b3e0ec3c78ebf/rich_click-1.9.7.tar.gz" - sha256 "022997c1e30731995bdbc8ec2f82819340d42543237f033a003c7b1f843fc5dc" - end - - resource "setuptools" do - url "https://files.pythonhosted.org/packages/4f/db/cfac1baf10650ab4d1c111714410d2fbb77ac5a616db26775db562c8fab2/setuptools-82.0.1.tar.gz" - sha256 "7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "smmap" do - url "https://files.pythonhosted.org/packages/1f/ea/49c993d6dfdd7338c9b1000a0f36817ed7ec84577ae2e52f890d1a4ff909/smmap-5.0.3.tar.gz" - sha256 "4d9debb8b99007ae47165abc08670bd74cb74b5227dda7f643eccc4e9eb5642c" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "sqlite-fts4" do - url "https://files.pythonhosted.org/packages/c2/6d/9dad6c3b433ab8912ace969c66abd595f8e0a2ccccdb73602b1291dbda29/sqlite-fts4-1.0.3.tar.gz" - sha256 "78b05eeaf6680e9dbed8986bde011e9c086a06cb0c931b3cf7da94c214e8930c" - end - - resource "sqlite-migrate" do - url "https://files.pythonhosted.org/packages/13/86/1463a00d3c4bdb707c0ed4077d17687465a0aa9444593f66f6c4b49e39b5/sqlite-migrate-0.1b0.tar.gz" - sha256 "8d502b3ca4b9c45e56012bd35c03d23235f0823c976d4ce940cbb40e33087ded" - end - - resource "sqlite-utils" do - url "https://files.pythonhosted.org/packages/b3/e3/6b1106349e2576c18409b27bd3b16f193b1cf38220d98ad22aa454c5e075/sqlite_utils-3.39.tar.gz" - sha256 "bfa2eac29b3e3eb5c9647283797527febcf4efd4a9bbb31d979a14a11ef9dbcd" - end - - resource "tabulate" do - url "https://files.pythonhosted.org/packages/46/58/8c37dea7bbf769b20d58e7ace7e5edfe65b849442b00ffcdd56be88697c6/tabulate-0.10.0.tar.gz" - sha256 "e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d" - end - - resource "toml" do - url "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz" - sha256 "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" - sha256 "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "typing-inspection" do - url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" - sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "watchdog" do - url "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz" - sha256 "9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282" - end - - resource "yarl" do - url "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" - sha256 "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/apm --version") - - output = shell_output("#{bin}/apm init --help") - assert_match "Initialize a new APM project", output - end -end diff --git a/Formula/a/apple-health-mcp-server.rb b/Formula/a/apple-health-mcp-server.rb new file mode 100644 index 0000000000..3bada66dce --- /dev/null +++ b/Formula/a/apple-health-mcp-server.rb @@ -0,0 +1,32 @@ +class AppleHealthMcpServer < Formula + desc "MCP server for Apple Health" + homepage "https://github.com/neiltron/apple-health-mcp" + url "https://registry.npmjs.org/@neiltron/apple-health-mcp/-/apple-health-mcp-1.0.1.tgz" + sha256 "998cfedb34d1e3240f0408459e91e01fef5b28953b71889d6159772e0b385c30" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 arm64_sequoia: "73872c239da5fc240d093d97af82f4b0708248bfa118a09dc87d616026575737" + sha256 arm64_sonoma: "a31c58b5bd3132897f2e450d4041161971b572cf12a31aae6861566cac9ae665" + sha256 ventura: "07a0d12a4b262847a2971dbe6baeb1ffd8b36f0c76d76bd510541b091102e856" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9fe7b2f4808283dfdbbca9e1cbbc0711e57511d710d07affe16d997009e93bf0" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink libexec/"bin/apple-health-mcp" => "apple-health-mcp-server" + end + + test do + json = <<~JSON + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} + {"jsonrpc":"2.0","id":2,"method":"tools/list"} + JSON + + output = pipe_output("#{bin}/apple-health-mcp-server 2>&1", json, 1) + assert_empty output + end +end diff --git a/Formula/a/apple-health-mcp.rb b/Formula/a/apple-health-mcp.rb deleted file mode 100644 index 1e889efb0e..0000000000 --- a/Formula/a/apple-health-mcp.rb +++ /dev/null @@ -1,36 +0,0 @@ -class AppleHealthMcp < Formula - desc "MCP server for Apple Health" - homepage "https://github.com/neiltron/apple-health-mcp" - url "https://registry.npmjs.org/@neiltron/apple-health-mcp/-/apple-health-mcp-1.0.2.tgz" - sha256 "7250b9b7a51bfc23f019b2b574efefbcbce8890ce4d70aea32a870e1269663ba" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "4bbf2b658446075045ce5ea0325d098fe05cfadf7c6e9114b9e5713ca21db914" - sha256 arm64_sequoia: "0e873eda8b1880c56c01d9fea0f20ad4cf223995dec4f7399147517f42363678" - sha256 arm64_sonoma: "4a007a7bfbfa8e98d257a0cf09928e4f017c51a4c86a42b639614966f92aaa80" - sha256 cellar: :any_skip_relocation, arm64_linux: "7de016c8d385b0117f3b392017e8e0e6c5351299a08f515444e4c213be2bd2db" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a0978431759137ec64cc75b0c5bbbaf460d084df5ae40be19f35e5d764faf8a5" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - ENV["npm_config_build_from_source"] = "true" - system "npm", "rebuild", "duckdb", "--prefix", libexec/"lib/node_modules/@neiltron/apple-health-mcp" - bin.install_symlink libexec.glob("bin/*") - end - - test do - json = <<~JSON - {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} - {"jsonrpc":"2.0","id":2,"method":"tools/list"} - JSON - - ENV["NODE_NO_WARNINGS"] = "1" - output = pipe_output("#{bin}/apple-health-mcp 2>&1", json, 1) - assert_empty output - end -end diff --git a/Formula/a/aptui.rb b/Formula/a/aptui.rb deleted file mode 100644 index 0cdfc5a252..0000000000 --- a/Formula/a/aptui.rb +++ /dev/null @@ -1,25 +0,0 @@ -class Aptui < Formula - desc "TUI package manager for APT-based Linux distributions" - homepage "https://github.com/mexirica/aptui" - url "https://github.com/mexirica/aptui/archive/refs/tags/v0.7.0.tar.gz" - sha256 "3bad4de097216fab7177e5c280e1970435d627b06dda6a8a95e0cbe67437c14e" - license "MIT" - head "https://github.com/mexirica/aptui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "5673d19662f0bd133bcfc12db1b1591dc59b26714911978f84756464ab3d475f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "073324427964b89c35d242ff37bfc22d53e69a782323e2215b794d17d868b53b" - end - - depends_on "go" => :build - depends_on :linux - - def install - system "go", "build", *std_go_args - end - - test do - assert_predicate bin/"aptui", :executable? - end -end diff --git a/Formula/a/apw.rb b/Formula/a/apw.rb deleted file mode 100644 index 1a8cae420b..0000000000 --- a/Formula/a/apw.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Apw < Formula - desc "CLI for Apple Passwords (also known as iCloud Keychain)" - homepage "https://github.com/bendews/apw" - url "https://github.com/bendews/apw/archive/refs/tags/v1.0.2.tar.gz" - sha256 "c0c3e00eb58ccd47fecf3f2fe0fd4bed9656887a3306fe9330234beb784868b9" - license "GPL-3.0-only" - head "https://github.com/bendews/apw.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "74d50662395e2b7885983e5f39b403aef5aa2b83fb8edc241275a778be59fd60" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2851bed9684e44a3866e6667437c53aabfbf3e99969d10a3568e900fddc8bfe9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1aa1914d33ea2733bce8789e469d1c9e10c1096f6c70c3b9e5f8f4bec966cc3b" - end - - depends_on "deno" => :build - depends_on :macos - - def install - inreplace "src/const.ts", "1.0.1", version.to_s - system "deno", "compile", "--allow-all", "--output", bin/"apw", "src/cli.ts" - end - - test do - assert_match version.to_s, shell_output("#{bin}/apw --version") - - output = shell_output("#{bin}/apw pw list https://example.com 2>&1", 9) - assert_match "Missing encryption key", output - end -end diff --git a/Formula/a/archgw.rb b/Formula/a/archgw.rb new file mode 100644 index 0000000000..54f7a8b07f --- /dev/null +++ b/Formula/a/archgw.rb @@ -0,0 +1,395 @@ +class Archgw < Formula + include Language::Python::Virtualenv + + desc "CL for Arch Gateway" + homepage "https://github.com/katanemo/archgw/tree/main/arch/tools" + url "https://files.pythonhosted.org/packages/75/22/1fcf44dc8393382fe62ef6c28a108498ed1ee1a964174e39191cb6f5c133/archgw-0.3.7.tar.gz" + sha256 "b8c69fcb3844beaaafcbc15b151e65d7acf49951402ecd5ec468cc0c509cb943" + license "Apache-2.0" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "b55d912a9641960a52c84d61b0113209a81d2a2925be14fe07b42c52c8f71ebc" + sha256 cellar: :any, arm64_sonoma: "70e4f93e25a7ade78915447753edbdc74ff918e9dae2c30d9ccaf28a7c40bc1a" + sha256 cellar: :any, ventura: "1e4164890a2286664f722799fea00aa140fd8a9a8f419f2fdd018f54e2d03110" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c6bf115670b047702ed49ce629140e7cadc204d7a140bdffd6c9d791362995cd" + end + + depends_on "rust" => :build # for pydantic + depends_on "certifi" + depends_on "libyaml" + depends_on "numpy" + depends_on "python@3.13" + depends_on "pytorch" + + resource "accelerate" do + url "https://files.pythonhosted.org/packages/c4/25/969456a95a90ed38f73f68d0f0915bdf1d76145d05054c59ad587b171150/accelerate-1.9.0.tar.gz" + sha256 "0e8c61f81af7bf37195b6175a545ed292617dd90563c88f49020aea5b6a0b47f" + end + + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end + + resource "anyio" do + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" + end + + resource "archgw-modelserver" do + url "https://files.pythonhosted.org/packages/1d/84/3832a1c79bd9b7eaf2e916286ecf2cfa71ae8d58a05b8135235409e620c5/archgw_modelserver-0.3.7.tar.gz" + sha256 "0bba550e7b29deec0d84fe4b1bf868212673df35f590553edbda37dd00aa8f3c" + end + + resource "asgiref" do + url "https://files.pythonhosted.org/packages/90/61/0aa957eec22ff70b830b22ff91f825e70e1ef732c06666a805730f28b36b/asgiref-3.9.1.tar.gz" + sha256 "a5ab6582236218e5ef1648f242fd9f10626cfd4de8dc377db215d5d5098e3142" + end + + resource "attrs" do + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" + end + + resource "charset-normalizer" do + url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz" + sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" + end + + resource "click" do + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" + end + + resource "dateparser" do + url "https://files.pythonhosted.org/packages/a9/30/064144f0df1749e7bb5faaa7f52b007d7c2d08ec08fed8411aba87207f68/dateparser-1.2.2.tar.gz" + sha256 "986316f17cb8cdc23ea8ce563027c5ef12fc725b6fb1d137c14ca08777c5ecf7" + end + + resource "deprecated" do + url "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz" + sha256 "422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d" + end + + resource "distro" do + url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" + sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" + end + + resource "fastapi" do + url "https://files.pythonhosted.org/packages/7b/5e/bf0471f14bf6ebfbee8208148a3396d1a23298531a6cc10776c59f4c0f87/fastapi-0.115.0.tar.gz" + sha256 "f93b4ca3529a8ebc6fc3fcf710e5efa8de3df9b41570958abf1d97d843138004" + end + + resource "filelock" do + url "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz" + sha256 "adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2" + end + + resource "googleapis-common-protos" do + url "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz" + sha256 "0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257" + end + + resource "grpcio" do + url "https://files.pythonhosted.org/packages/38/b4/35feb8f7cab7239c5b94bd2db71abb3d6adb5f335ad8f131abb6060840b6/grpcio-1.74.0.tar.gz" + sha256 "80d1f4fbb35b0742d3e3d3bb654b7381cd5f015f8497279a1e9c21ba623e01b1" + end + + resource "h11" do + url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" + sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" + end + + resource "hf-xet" do + url "https://files.pythonhosted.org/packages/b2/0a/a0f56735940fde6dd627602fec9ab3bad23f66a272397560abd65aba416e/hf_xet-1.1.7.tar.gz" + sha256 "20cec8db4561338824a3b5f8c19774055b04a8df7fff0cb1ff2cb1a0c1607b80" + end + + resource "httpcore" do + url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" + sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" + end + + resource "httpx" do + url "https://files.pythonhosted.org/packages/78/82/08f8c936781f67d9e6b9eeb8a0c8b4e406136ea4c3d1f89a5db71d42e0e6/httpx-0.27.2.tar.gz" + sha256 "f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2" + end + + resource "huggingface-hub" do + url "https://files.pythonhosted.org/packages/91/b4/e6b465eca5386b52cf23cb6df8644ad318a6b0e12b4b96a7e0be09cbfbcc/huggingface_hub-0.34.3.tar.gz" + sha256 "d58130fd5aa7408480681475491c0abd7e835442082fbc3ef4d45b6c39f83853" + end + + resource "idna" do + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" + end + + resource "importlib-metadata" do + url "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz" + sha256 "71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7" + end + + resource "iniconfig" do + url "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz" + sha256 "3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7" + end + + resource "jiter" do + url "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz" + sha256 "07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500" + end + + resource "jsonschema" do + url "https://files.pythonhosted.org/packages/d5/00/a297a868e9d0784450faa7365c2172a7d6110c763e30ba861867c32ae6a9/jsonschema-4.25.0.tar.gz" + sha256 "e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f" + end + + resource "jsonschema-specifications" do + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" + end + + resource "openai" do + url "https://files.pythonhosted.org/packages/03/30/f0fb7907a77e733bb801c7bdcde903500b31215141cdb261f04421e6fbec/openai-1.99.1.tar.gz" + sha256 "2c9d8e498c298f51bb94bcac724257a3a6cac6139ccdfc1186c6708f7a93120f" + end + + resource "opentelemetry-api" do + url "https://files.pythonhosted.org/packages/51/34/e4e9245c868c6490a46ffedf6bd5b0f512bbc0a848b19e3a51f6bbad648c/opentelemetry_api-1.28.2.tar.gz" + sha256 "ecdc70c7139f17f9b0cf3742d57d7020e3e8315d6cffcdf1a12a905d45b19cc0" + end + + resource "opentelemetry-exporter-otlp" do + url "https://files.pythonhosted.org/packages/8a/eb/ad88c61b4e51cdd294ad4ae7c45b35120fb381eb019675954c4fc15b6c4c/opentelemetry_exporter_otlp-1.28.2.tar.gz" + sha256 "45f8d7fe4cdd41526464b542ce91b1fd1ae661be92d2c6cba71a3d948b2bdf70" + end + + resource "opentelemetry-exporter-otlp-proto-common" do + url "https://files.pythonhosted.org/packages/60/cd/cd990f891b64e7698b8a6b6ab90dfac7f957db5a3d06788acd52f73ad4c0/opentelemetry_exporter_otlp_proto_common-1.28.2.tar.gz" + sha256 "7aebaa5fc9ff6029374546df1f3a62616fda07fccd9c6a8b7892ec130dd8baca" + end + + resource "opentelemetry-exporter-otlp-proto-grpc" do + url "https://files.pythonhosted.org/packages/f7/4c/b5374467e97f2b290611de746d0e6cab3a07aec865d6b99d11535cd60059/opentelemetry_exporter_otlp_proto_grpc-1.28.2.tar.gz" + sha256 "07c10378380bbb01a7f621a5ce833fc1fab816e971140cd3ea1cd587840bc0e6" + end + + resource "opentelemetry-exporter-otlp-proto-http" do + url "https://files.pythonhosted.org/packages/b1/91/4e32e52d13dbdf9560bc095dfe66a2c09e0034a886f7725fcda8fe10a052/opentelemetry_exporter_otlp_proto_http-1.28.2.tar.gz" + sha256 "d9b353d67217f091aaf4cfe8693c170973bb3e90a558992570d97020618fda79" + end + + resource "opentelemetry-instrumentation" do + url "https://files.pythonhosted.org/packages/6f/1f/9fa51f6f64f4d179f4e3370eb042176ff7717682428552f5e1f4c5efcc09/opentelemetry_instrumentation-0.49b2.tar.gz" + sha256 "8cf00cc8d9d479e4b72adb9bd267ec544308c602b7188598db5a687e77b298e2" + end + + resource "opentelemetry-instrumentation-asgi" do + url "https://files.pythonhosted.org/packages/84/42/079079bd7c0423bfab987a6457e34468b6ddccf501d3c91d2795c200d65d/opentelemetry_instrumentation_asgi-0.49b2.tar.gz" + sha256 "2af5faf062878330714efe700127b837038c4d9d3b70b451ab2424d5076d6c1c" + end + + resource "opentelemetry-instrumentation-fastapi" do + url "https://files.pythonhosted.org/packages/87/ed/a1275d5aac63edfad0afb012d2d5917412f09ac5f773c86b465b2b0d2549/opentelemetry_instrumentation_fastapi-0.49b2.tar.gz" + sha256 "3aa81ed7acf6aa5236d96e90a1218c5e84a9c0dce8fa63bf34ceee6218354b63" + end + + resource "opentelemetry-proto" do + url "https://files.pythonhosted.org/packages/d0/45/96c4f34c79fd87dc8a1c0c432f23a5a202729f21e4e63c8b36fc8e57767a/opentelemetry_proto-1.28.2.tar.gz" + sha256 "7c0d125a6b71af88bfeeda16bfdd0ff63dc2cf0039baf6f49fa133b203e3f566" + end + + resource "opentelemetry-sdk" do + url "https://files.pythonhosted.org/packages/4b/f4/840a5af4efe48d7fb4c456ad60fd624673e871a60d6494f7ff8a934755d4/opentelemetry_sdk-1.28.2.tar.gz" + sha256 "5fed24c5497e10df30282456fe2910f83377797511de07d14cec0d3e0a1a3110" + end + + resource "opentelemetry-semantic-conventions" do + url "https://files.pythonhosted.org/packages/7d/0a/e3b93f94aa3223c6fd8e743502a1fefd4fb3a753d8f501ce2a418f7c0bd4/opentelemetry_semantic_conventions-0.49b2.tar.gz" + sha256 "44e32ce6a5bb8d7c0c617f84b9dc1c8deda1045a07dc16a688cc7cbeab679997" + end + + resource "opentelemetry-util-http" do + url "https://files.pythonhosted.org/packages/96/28/ac5b1a0fd210ecb6c86c5e04256ba09c8308eb41e116097b9e2714d4b8dd/opentelemetry_util_http-0.49b2.tar.gz" + sha256 "5958c7009f79146bbe98b0fdb23d9d7bf1ea9cd154a1c199029b1a89e0557199" + end + + resource "overrides" do + url "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz" + sha256 "55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a" + end + + resource "packaging" do + url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" + end + + resource "pluggy" do + url "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" + sha256 "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" + end + + resource "protobuf" do + url "https://files.pythonhosted.org/packages/43/29/d09e70352e4e88c9c7a198d5645d7277811448d76c23b00345670f7c8a38/protobuf-5.29.5.tar.gz" + sha256 "bc1463bafd4b0929216c35f437a8e28731a2b7fe3d98bb77a600efced5a15c84" + end + + resource "psutil" do + url "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz" + sha256 "7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456" + end + + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" + end + + resource "pygments" do + url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" + sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" + end + + resource "pytest" do + url "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz" + sha256 "7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c" + end + + resource "pytest-asyncio" do + url "https://files.pythonhosted.org/packages/4e/51/f8794af39eeb870e87a8c8068642fc07bce0c854d6865d7dd0f2a9d338c2/pytest_asyncio-1.1.0.tar.gz" + sha256 "796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea" + end + + resource "pytest-httpserver" do + url "https://files.pythonhosted.org/packages/f1/d8/def15ba33bd696dd72dd4562a5287c0cba4d18a591eeb82e0b08ab385afc/pytest_httpserver-1.1.3.tar.gz" + sha256 "af819d6b533f84b4680b9416a5b3f67f1df3701f1da54924afd4d6e4ba5917ec" + end + + resource "pytest-retry" do + url "https://files.pythonhosted.org/packages/c5/5b/607b017994cca28de3a1ad22a3eee8418e5d428dcd8ec25b26b18e995a73/pytest_retry-1.7.0.tar.gz" + sha256 "f8d52339f01e949df47c11ba9ee8d5b362f5824dff580d3870ec9ae0057df80f" + end + + resource "python-dateutil" do + url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" + sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" + end + + resource "pytz" do + url "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz" + sha256 "360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3" + end + + resource "pyyaml" do + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" + end + + resource "referencing" do + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" + end + + resource "regex" do + url "https://files.pythonhosted.org/packages/0b/de/e13fa6dc61d78b30ba47481f99933a3b49a57779d625c392d8036770a60d/regex-2025.7.34.tar.gz" + sha256 "9ead9765217afd04a86822dfcd4ed2747dfe426e887da413b15ff0ac2457e21a" + end + + resource "requests" do + url "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz" + sha256 "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422" + end + + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/a5/aa/4456d84bbb54adc6a916fb10c9b374f78ac840337644e4a5eda229c81275/rpds_py-0.26.0.tar.gz" + sha256 "20dae58a859b0906f0685642e591056f1e787f3a8b39c8e8749a45dc7d26bdb0" + end + + resource "safetensors" do + url "https://files.pythonhosted.org/packages/6c/d2/94fe37355a1d4ff86b0f43b9a018515d5d29bf7ad6d01318a80f5db2fd6a/safetensors-0.6.1.tar.gz" + sha256 "a766ba6e19b198eff09be05f24cd89eda1670ed404ae828e2aa3fc09816ba8d8" + end + + resource "six" do + url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" + sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" + end + + resource "sniffio" do + url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" + sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" + end + + resource "starlette" do + url "https://files.pythonhosted.org/packages/42/b4/e25c3b688ef703d85e55017c6edd0cbf38e5770ab748234363d54ff0251a/starlette-0.38.6.tar.gz" + sha256 "863a1588f5574e70a821dadefb41e4881ea451a47a3cd1b4df359d4ffefe5ead" + end + + resource "tokenizers" do + url "https://files.pythonhosted.org/packages/c2/2f/402986d0823f8d7ca139d969af2917fefaa9b947d1fb32f6168c509f2492/tokenizers-0.21.4.tar.gz" + sha256 "fa23f85fbc9a02ec5c6978da172cdcbac23498c3ca9f3645c5c68740ac007880" + end + + resource "tqdm" do + url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" + sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" + end + + resource "transformers" do + url "https://files.pythonhosted.org/packages/27/5d/f7dc746eef83336a6b34197311fe0c1da0d1192f637c726c6a5cf0d83502/transformers-4.55.0.tar.gz" + sha256 "15aa138a05d07a15b30d191ea2c45e23061ebf9fcc928a1318e03fe2234f3ae1" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + end + + resource "tzlocal" do + url "https://files.pythonhosted.org/packages/8b/2e/c14812d3d4d9cd1773c6be938f89e5735a1f11a9f184ac3639b93cef35d5/tzlocal-5.3.1.tar.gz" + sha256 "cceffc7edecefea1f595541dbd6e990cb1ea3d19bf01b2809f362a03dd7921fd" + end + + resource "urllib3" do + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" + end + + resource "uvicorn" do + url "https://files.pythonhosted.org/packages/0a/96/ee52d900f8e41cc35eaebfda76f3619c2e45b741f3ee957d6fe32be1b2aa/uvicorn-0.31.0.tar.gz" + sha256 "13bc21373d103859f68fe739608e2eb054a816dea79189bc3ca08ea89a275906" + end + + resource "werkzeug" do + url "https://files.pythonhosted.org/packages/9f/69/83029f1f6300c5fb2471d621ab06f6ec6b3324685a2ce0f9777fd4a8b71e/werkzeug-3.1.3.tar.gz" + sha256 "60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746" + end + + resource "wrapt" do + url "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz" + sha256 "41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3" + end + + resource "zipp" do + url "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz" + sha256 "a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166" + end + + def install + virtualenv_install_with_resources + end + + test do + assert_match version.to_s, shell_output("#{bin}/archgw --version") + + output = shell_output("#{bin}/archgw up 2>&1") + assert_match "INFO - Error: #{testpath}/arch_config.yaml does not exist.", output + end +end diff --git a/Formula/a/arduino-language-server.rb b/Formula/a/arduino-language-server.rb index 416b08d133..04f33c34a1 100644 --- a/Formula/a/arduino-language-server.rb +++ b/Formula/a/arduino-language-server.rb @@ -4,14 +4,13 @@ class ArduinoLanguageServer < Formula url "https://github.com/arduino/arduino-language-server/archive/refs/tags/0.7.7.tar.gz" sha256 "ac9e63e3bd971ba85cdd33e19d736effde804114156b4bf3c0a969ba2d7395c3" license "AGPL-3.0-only" - revision 1 bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5bbb70072abe27e06da77de27ce0ea35c9af48788bd3f02ed5ca5d6d2f4b231c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5bbb70072abe27e06da77de27ce0ea35c9af48788bd3f02ed5ca5d6d2f4b231c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5bbb70072abe27e06da77de27ce0ea35c9af48788bd3f02ed5ca5d6d2f4b231c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d5417bf893e751be227039faabc057b6460de9b101061296eded4dd1aa4ac202" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9f743df00f2edcb75ccf0b8a12c4c0f7c9977baf0087890f67900ef0f47812ff" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "7d7791f1e16080544785e24d386d01d610321e5570fe746c177389bf16f00a4d" + sha256 cellar: :any_skip_relocation, ventura: "d73089b01ad3c4ff7b759305134e67169e1220b643b496a5168f5ac6b05b2cff" + sha256 cellar: :any_skip_relocation, x86_64_linux: "4049503cae389a620d76a254fddeae366617086440dc2563a83ca6dd6965ac8e" end depends_on "go" => :build diff --git a/Formula/a/arp-scan-rs.rb b/Formula/a/arp-scan-rs.rb new file mode 100644 index 0000000000..b13d9e1c75 --- /dev/null +++ b/Formula/a/arp-scan-rs.rb @@ -0,0 +1,27 @@ +class ArpScanRs < Formula + desc "ARP scan tool written in Rust for fast local network scans" + homepage "https://github.com/kongbytes/arp-scan-rs" + url "https://github.com/kongbytes/arp-scan-rs/archive/refs/tags/v0.14.0.tar.gz" + sha256 "9cd8ae882d47aef59f79ceedc797a9697b0f1b81916488a43a84b0a807b482fa" + license "AGPL-3.0-or-later" + head "https://github.com/kongbytes/arp-scan-rs.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d3a4620d3cde1d4a463bcd101c59190ed8bdf6f706698435e43c3faf438bd7ae" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c07da6cf4f43b34511ee1b507e6b93383d35d5b69e01d0932ab82c1b2f364d54" + sha256 cellar: :any_skip_relocation, ventura: "8c6884e91366c9c2cf157efdc020615f45d8508ff3f8ad32e82e986f34458b8d" + sha256 cellar: :any_skip_relocation, x86_64_linux: "601ff0bce624bbb07551883c70cc05d0fb95dc3aa86b69da43489b6a51fc145d" + end + + depends_on "rust" => :build + + def install + system "cargo", "install", *std_cargo_args + end + + test do + assert_match version.to_s, shell_output("#{bin}/arp-scan --version") + assert_match "Default network interface", shell_output("#{bin}/arp-scan -l") + end +end diff --git a/Formula/a/arxiv-mcp-server.rb b/Formula/a/arxiv-mcp-server.rb index a3f66e1279..4f9098cc5c 100644 --- a/Formula/a/arxiv-mcp-server.rb +++ b/Formula/a/arxiv-mcp-server.rb @@ -3,31 +3,26 @@ class ArxivMcpServer < Formula desc "MCP Server for ArXiv" homepage "https://github.com/blazickjp/arxiv-mcp-server" - url "https://files.pythonhosted.org/packages/ed/9f/46920b2530e528e9cafbfd616d92c2acacf437f7f0d5c4584fe83d6eab2d/arxiv_mcp_server-0.4.12.tar.gz" - sha256 "92163add27d42a0363c8008d112110a58f6adee25294b86e24111a04a1a6672f" + url "https://files.pythonhosted.org/packages/40/8a/3a5b600120b82e754eb71478dd05e0e839ec204f1e3521b14a7d58b0202a/arxiv_mcp_server-0.3.1.tar.gz" + sha256 "c8635eb54ede97a657b1abc3f2ebced7b399b5a3ee620ce4c62544938d36194b" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2f2159912e4fe9ecfa2d7fdd71d9f23da9be8d9e628771db386474ddee82e592" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "370a7469cba8f339d1777a59052169154a4d4a0f970c4db862ace693df62094f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "48d2c984c72de41e03c6da6e8a94bc21c81b28da4f7239e26fbae36db19b5332" - sha256 cellar: :any_skip_relocation, arm64_linux: "f300a3dd464b0bb618b6fc166a0ad6beed20e2732a57732b48d1df3eb3fe84c1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e08a78758a0a84d1339eee15a847d5cd17b339af71687628c94ff9026437dfe5" + sha256 cellar: :any, arm64_sequoia: "0f15f9b1194b21bc6914ba24ffa70e862e96321942a094199196a8a582f1badb" + sha256 cellar: :any, arm64_sonoma: "4538a580245db70c2013aafed28a2d30fb4f606cb45da4dd6edc71577ab90c18" + sha256 cellar: :any, ventura: "f3907cf048f553a64271bb150a6d2f6b9daacba1e0a5c66c90c56ff87359c7bd" + sha256 cellar: :any_skip_relocation, x86_64_linux: "35260bcd6d72b09a34d3d2b2ff66be1ecc3c94b581ffe196110b5299095f514f" end - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage + depends_on "rust" => :build # for pydantic + depends_on "certifi" depends_on "pymupdf" - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage - - pypi_packages exclude_packages: %w[certifi cryptography pymupdf pydantic rpds-py] + depends_on "python@3.13" resource "aiofiles" do - url "https://files.pythonhosted.org/packages/41/c3/534eac40372d8ee36ef40df62ec129bee4fdb5ad9706e58a29be53b2c970/aiofiles-25.1.0.tar.gz" - sha256 "a8d728f0a29de45dc521f18f07297428d56992a742f0cd2701ba86e44d23d5b2" + url "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz" + sha256 "22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c" end resource "aiohappyeyeballs" do @@ -36,8 +31,8 @@ class ArxivMcpServer < Formula end resource "aiohttp" do - url "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz" - sha256 "9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" + url "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz" + sha256 "4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2" end resource "aiosignal" do @@ -45,44 +40,49 @@ class ArxivMcpServer < Formula sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" end + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end + resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "arxiv" do - url "https://files.pythonhosted.org/packages/ff/78/1e93a001ed51b5114e1978247078fa3130cbb2794a520603949cbe9a7028/arxiv-3.0.0.tar.gz" - sha256 "c8cb0d31208afbc1ceb17bd3f9816c8d4c5ca1e0abf199d211e216715440498d" + url "https://files.pythonhosted.org/packages/0b/16/3d72446400a59d1fbda24fed2289661398994164e07d72cfa85e43ce5e36/arxiv-2.2.0.tar.gz" + sha256 "6072a2211e95697092ef32acde0144d7de2cfa71208e2751724316c9df322cc0" end resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "black" do - url "https://files.pythonhosted.org/packages/e1/c5/61175d618685d42b005847464b8fb4743a67b1b8fdb75e50e5a96c31a27a/black-26.3.1.tar.gz" - sha256 "2c50f5063a9641c7eed7795014ba37b0f5fa227f3d408b968936e24bc0566b07" + url "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz" + sha256 "33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz" - sha256 "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" end resource "click" do - url "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz" - sha256 "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "feedparser" do - url "https://files.pythonhosted.org/packages/dc/79/db7edb5e77d6dfbc54d7d9df72828be4318275b2e580549ff45a962f6461/feedparser-6.0.12.tar.gz" - sha256 "64f76ce90ae3e8ef5d1ede0f8d3b50ce26bcce71dd8ae5e82b1cd2d4a5f94228" + url "https://files.pythonhosted.org/packages/ff/aa/7af346ebeb42a76bf108027fe7f3328bb4e57a3a96e53e21fd9ef9dd6dd0/feedparser-6.0.11.tar.gz" + sha256 "c9d0407b64c6f2a065d0ebb292c2b35c01050cc0dc33757461aaabdc4c4184d5" end resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" + url "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz" + sha256 "2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f" end resource "h11" do @@ -101,33 +101,33 @@ class ArxivMcpServer < Formula end resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" end resource "idna" do - url "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz" - sha256 "585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jsonschema" do - url "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" - sha256 "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" + url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" + sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end resource "mcp" do - url "https://files.pythonhosted.org/packages/8b/eb/c0cfc62075dc6e1ec1c64d352ae09ac051d9334311ed226f1f425312848a/mcp-1.27.0.tar.gz" - sha256 "d3dc35a7eec0d458c1da4976a48f982097ddaab87e278c5511d5a4a56e852b83" + url "https://files.pythonhosted.org/packages/66/3c/82c400c2d50afdac4fbefb5b4031fd327e2ad1f23ccef8eee13c5909aa48/mcp-1.13.1.tar.gz" + sha256 "165306a8fd7991dc80334edd2de07798175a56461043b7ae907b279794a834c5" end resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" + url "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz" + sha256 "d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd" end resource "mypy-extensions" do @@ -136,33 +136,43 @@ class ArxivMcpServer < Formula end resource "packaging" do - url "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz" - sha256 "ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661" + url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" end resource "pathspec" do - url "https://files.pythonhosted.org/packages/2e/17/9c3094b822982b9f1ea666d8580ce59000f61f87c1663556fb72031ad9ec/pathspec-1.1.0.tar.gz" - sha256 "f5d7c555da02fd8dde3e4a2354b6aba817a89112fa8f333f7917a2a4834dd080" + url "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz" + sha256 "a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712" end resource "platformdirs" do - url "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz" - sha256 "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" + url "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz" + sha256 "ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf" end resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" + url "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz" + sha256 "20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168" + end + + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/42/98/c8345dccdc31de4228c039a98f6467a941e39558da41c1744fbe29fa5666/pydantic_settings-2.14.0.tar.gz" - sha256 "24285fd4b0e0c06507dd9fdfd331ee23794305352aaec8fc4eb92d4047aeb67d" + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" end - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/c2/27/a3b6e5bf6ff856d2509292e95c8f57f0df7017cf5394921fc4e4ef40308a/pyjwt-2.12.1.tar.gz" - sha256 "c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b" + resource "pymupdf4llm" do + url "https://files.pythonhosted.org/packages/03/99/2634b56ff2b68558e742c6e10cd798ed3b5b5af6cc659454b9f37e7b4ecf/pymupdf4llm-0.0.27.tar.gz" + sha256 "35cc8bd6e0968bc1300b1fe4500f52e47da6b570af19af6c193e5fb6ee367008" end resource "python-dateutil" do @@ -171,28 +181,28 @@ class ArxivMcpServer < Formula end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "python-multipart" do - url "https://files.pythonhosted.org/packages/88/71/b145a380824a960ebd60e1014256dbb7d2253f2316ff2d73dfd8928ec2c3/python_multipart-0.0.26.tar.gz" - sha256 "08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17" - end - - resource "pytokens" do - url "https://files.pythonhosted.org/packages/b6/34/b4e015b99031667a7b960f888889c5bd34ef585c85e1cb56a594b92836ac/pytokens-0.4.1.tar.gz" - sha256 "292052fe80923aae2260c073f822ceba21f3872ced9a68bb7953b348e561179a" + url "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz" + sha256 "8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13" end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" end resource "requests" do - url "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz" - sha256 "18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" + url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" + sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + end + + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/1e/d9/991a0dee12d9fc53ed027e26a26a64b151d77252ac477e22666b9688bc16/rpds_py-0.27.0.tar.gz" + sha256 "8b23cf252f180cda89220b378d917180f29d313cd6a07b2431c0d3b776aae86f" end resource "sgmllib3k" do @@ -205,29 +215,44 @@ class ArxivMcpServer < Formula sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" end + resource "sniffio" do + url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" + sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" + end + resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/26/8c/f9290339ef6d79badbc010f067cd769d6601ec11a57d78569c683fb4dd87/sse_starlette-3.3.4.tar.gz" - sha256 "aaf92fc067af8a5427192895ac028e947b484ac01edbc3caf00e7e7137c7bef1" + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" end resource "starlette" do - url "https://files.pythonhosted.org/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz" - sha256 "6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149" + url "https://files.pythonhosted.org/packages/15/b9/cc3017f9a9c9b6e27c5106cc10cc7904653c3eec0729793aec10479dd669/starlette-0.47.3.tar.gz" + sha256 "6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" end resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/1f/93/041fca8274050e40e6791f267d82e0e2e27dd165627bd640d3e0e378d877/uvicorn-0.46.0.tar.gz" - sha256 "fb9da0926999cc6cb22dc7cd71a94a632f078e6ae47ff683c5c420750fb7413d" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end resource "yarl" do - url "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" - sha256 "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" + url "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz" + sha256 "d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac" end def install @@ -236,7 +261,7 @@ def install test do json = <<~JSON - {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"Homebrew","version":"1.0"}}} + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}} {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"cursor":null}} JSON diff --git a/Formula/a/asciinema.rb b/Formula/a/asciinema.rb new file mode 100644 index 0000000000..093c553c8c --- /dev/null +++ b/Formula/a/asciinema.rb @@ -0,0 +1,28 @@ +class Asciinema < Formula + desc "Terminal session recorder" + homepage "https://asciinema.org/" + url "https://github.com/asciinema/asciinema/archive/refs/tags/v3.0.0-rc.3.tar.gz" + sha256 "3e7402589eac1a704951e3c48d769f5d007c52630f17ec895dfad6676e4ba6b9" + license "GPL-3.0" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2617be3b02bb19fb32c00684c63924c79391b86f0a37cddf46fbf3b825fe903f" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "811e2a6b8a655b4fa8dff9d36f7ca300f07d9e6b5b40d21e9ad45a2ed8325032" + sha256 cellar: :any_skip_relocation, ventura: "b36dfbe26d0012a44b2c3e232ea710030ac68bf6681a965ae4ed0ced19f456c2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "48722435f1d71ca839c07d01183d850fa1bf1667fe9e06b665a2f7455d07b38d" + end + + depends_on "rust" => :build + + def install + system "cargo", "install", *std_cargo_args + end + + test do + assert_match version.to_s, shell_output("#{bin}/asciinema --version") + + output = shell_output("#{bin}/asciinema cat non_existing_file 2>&1", 1) + assert_match "No such file or directory", output + end +end diff --git a/Formula/a/ash-ai.rb b/Formula/a/ash-ai.rb deleted file mode 100644 index e469d30ff8..0000000000 --- a/Formula/a/ash-ai.rb +++ /dev/null @@ -1,64 +0,0 @@ -class AshAi < Formula - desc "Deploy and manage Ash AI agents" - homepage "https://github.com/ash-ai-org/ash-ai" - url "https://github.com/ash-ai-org/ash-ai/archive/refs/tags/%40ash-ai%2Fcli%400.0.21.tar.gz" - sha256 "1e5a5c593668d1b1d53e3e94e2aa0bd5c855bc2bd5fb2eb26da530e88ecf735d" - license "MIT" - head "https://github.com/ash-ai-org/ash-ai.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "814c41cc236aa4f2c52a30578c75ca18e833f85fd3829dca75e76f6193ac5270" - sha256 cellar: :any, arm64_sequoia: "fad1f849e22bcf06d96d93477ddfe587c6a6ac000b21dc7c9de20c36ff734917" - sha256 cellar: :any, arm64_sonoma: "360afa513dbfdb0284883a547a0f05f2d6db223d499f922b7e9117341200fd74" - sha256 cellar: :any_skip_relocation, arm64_linux: "08bf8358b6fb312d4020c599421fd845cc2ade4be6ba606632a5b522984467e3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dc976ff9bfc43722b766a3fdb7bb8a65d05b618c876d7e36c11a1f26dd9694d9" - end - - depends_on "node@24" - depends_on "pcre2" - - def install - platform_arch = Hardware::CPU.arm? ? "arm64" : "x64" - platform_os = OS.mac? ? "darwin" : "linux" - node_path = "#{Formula["node@24"].opt_bin}:#{Formula["node@24"].opt_libexec/"bin"}:$PATH" - - ENV.prepend_path "PATH", Formula["node@24"].opt_bin - ENV.prepend_path "PATH", Formula["node@24"].opt_libexec/"bin" - - system "npx", "-y", "pnpm@9.15.0", "install", "--frozen-lockfile" - system "npx", "-y", "pnpm@9.15.0", "--filter", "@ash-ai/shared", "build" - system "npx", "-y", "pnpm@9.15.0", "--filter", "@ash-ai/cli", "build" - system "npx", "-y", "pnpm@9.15.0", "--filter", "@ash-ai/cli", "deploy", "--prod", libexec - - ripgrep_vendor = libexec/"node_modules/@anthropic-ai/claude-agent-sdk/vendor/ripgrep" - if ripgrep_vendor.directory? - ripgrep_platform = "#{platform_arch}-#{platform_os}" - ripgrep_vendor.children.each do |path| - next if [ripgrep_platform, "COPYING"].include?(path.basename.to_s) - - rm_r path - end - end - - sharp_platform = "#{platform_os}-#{platform_arch}" - sharp_vendor = libexec/"node_modules/.pnpm" - if sharp_vendor.directory? - sharp_vendor.children.each do |path| - basename = path.basename.to_s - next unless basename.start_with?("@img+sharp-") - next if basename.include?(sharp_platform) - - rm_r path - end - end - - chmod 0755, libexec/"dist/index.js" - (bin/"ash").write_env_script libexec/"dist/index.js", PATH: node_path - end - - test do - assert_match version.to_s, shell_output("#{bin}/ash --version") - assert_match "Container:", shell_output("#{bin}/ash status") - end -end diff --git a/Formula/a/asm-lsp.rb b/Formula/a/asm-lsp.rb new file mode 100644 index 0000000000..8231f0e503 --- /dev/null +++ b/Formula/a/asm-lsp.rb @@ -0,0 +1,40 @@ +class AsmLsp < Formula + desc "Simplistic command runner and build system" + homepage "https://github.com/bergercookie/asm-lsp" + url "https://github.com/bergercookie/asm-lsp/archive/refs/tags/v0.10.0.tar.gz" + sha256 "4755848aa7d88856be7e40d0930990b95b46c4593a53db3809d3ba7214d9d16d" + license "BSD-2-Clause" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "c5b30871ab4dd4f9d94928c496547ca4dd15b3424f2bd6cddb5b39b4df511a91" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "489d71f204483110a11266e8dd66396d537431ab877f9d32aa2a194bbd0715d7" + sha256 cellar: :any_skip_relocation, ventura: "d5361012dfa26e6ebe43d00efada309ef4dbbb99513632aa76d1e550af90fd71" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9cf71266ea3ba3b2224746c58e2c24fdb0d38c49a4fbe5cffda47fffd6a79b09" + end + + depends_on "pkgconf" => :build + depends_on "rust" => :build + + on_linux do + depends_on "openssl@3" + end + + def install + system "cargo", "install", *std_cargo_args(path: "asm-lsp") + end + + test do + assert_match version.to_s, shell_output("#{bin}/asm-lsp version") + + expected = if OS.mac? + "Global config directories" + else + "Global config directory" + end + assert_match expected, shell_output("#{bin}/asm-lsp info") + + output = shell_output("#{bin}/asm-lsp gen-config 2>&1", 101) + assert_match "not a terminal", output + end +end diff --git a/Formula/a/asmfmt.rb b/Formula/a/asmfmt.rb new file mode 100644 index 0000000000..76e0b4727f --- /dev/null +++ b/Formula/a/asmfmt.rb @@ -0,0 +1,32 @@ +class Asmfmt < Formula + desc "Go Assembler Formatter" + homepage "https://github.com/klauspost/asmfmt" + url "https://github.com/klauspost/asmfmt/archive/refs/tags/v1.3.2.tar.gz" + sha256 "4bb6931aefcf105c0e0bc6d239845f6350aceba5b2b76e84c961ba8d100f8fc6" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "20383fb7390daf782baec428f06559feb79550eb0aca0406b24d0e5fd0b61501" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d969c7ae2c5f634bba66267b11cd402e02c490640479556a935b6ed56b88ea36" + sha256 cellar: :any_skip_relocation, ventura: "73d0bffd8e9bff94127b6467e0322ea88ddff0f442e52de9478d697898fde968" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c7f7c91a5f5009a39df2be9d07c99e6cd4927e17ef1b2499566d36db51715289" + end + + depends_on "go" => :build + + def install + system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/asmfmt" + end + + test do + (testpath/"test.asm").write <<~ASM + TEXT ·Example(SB),$0-0 + MOVQ $1, AX + RET + ASM + + output = shell_output("#{bin}/asmfmt test.asm") + assert_match "TEXT ·Example(SB), $0-0\n\tMOVQ $1, AX\n\tRET\n", output + end +end diff --git a/Formula/a/astro-language-server.rb b/Formula/a/astro-language-server.rb index 1cadd1e832..fb44d83016 100644 --- a/Formula/a/astro-language-server.rb +++ b/Formula/a/astro-language-server.rb @@ -1,13 +1,16 @@ class AstroLanguageServer < Formula desc "Language tools for Astro" homepage "https://github.com/withastro/language-tools" - url "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.16.6.tgz" - sha256 "1318f45fad2e1e58beabf28957c502937b8f3ef647c22087b756e278f2c3db87" + url "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.15.4.tgz" + sha256 "c7d463c40c488c0315056cda65c50299db3cb57bb155a6429d32f184688529db" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "6b67580d1e13026b066dd6da1afc7bd43ec26ff82b77b457d4ceb843fecdd701" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "7211db9215573ddc42b0210d1d1d8d825df388816a8c9801e69c66ac0ab8bcf0" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "06b589700e8ae5b3dcced1429b9f3930b77204640ab8e699dc2e3c02bf9ccf1a" + sha256 cellar: :any_skip_relocation, ventura: "e7e18fbdd9a5aee4ec3d30df975ad5c8873a68160adc1c6493a494fe9207bf25" + sha256 cellar: :any_skip_relocation, x86_64_linux: "0a13fe15da302e9cbe0641070a200d1bd765b14c84a35d6627e559b9fdd51ffe" end depends_on "node" diff --git a/Formula/a/auggie.rb b/Formula/a/auggie.rb deleted file mode 100644 index 342d05f7d1..0000000000 --- a/Formula/a/auggie.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Auggie < Formula - desc "All the power of Augment Code in your terminal" - homepage "https://www.augmentcode.com/product/CLI" - url "https://registry.npmjs.org/@augmentcode/auggie/-/auggie-0.24.0.tgz" - sha256 "c184cc2ccc995f10ab2558f470193df56efb21da7140c5f376720c216a519c54" - license :cannot_represent - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "565e2849e0ab46b23aae98c3fe7bd8c84666e3c587b878c0aae40b615dc680f5" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/auggie --version") - - tools_output = shell_output("#{bin}/auggie tools list") - assert_match "Total:", tools_output - - model_output = shell_output("#{bin}/auggie model list 2>&1") - assert_match "logged in", model_output - end -end diff --git a/Formula/a/auox.rb b/Formula/a/auox.rb deleted file mode 100644 index da147d3267..0000000000 --- a/Formula/a/auox.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Auox < Formula - desc "Terminal banking application for SpareBank 1 customers" - homepage "https://github.com/sverrejb/auox" - url "https://github.com/sverrejb/auox/archive/a61e3b907ad6883806b06b1e23ee7247e540bee7.tar.gz" - version "0.0.1" - sha256 "5fa0c17426ab4554f6d3c4d04aed25e1bc007312790ff107853d84260d6a8028" - license "MIT" - head "https://github.com/sverrejb/auox.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7a2af2e567e11f896c3c1ba7ed57954c01e40106f8a0f5271a32d60015bddefc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5699bbd5efed65615743f352c2047fbb783428f2c6acb327e397cde872d112ae" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "45378be52ca031bb6dd4e21f7562e89d7a18009237419b9dae15e9b1b2a41271" - sha256 cellar: :any_skip_relocation, arm64_linux: "9e5a2d85f92ce2d8a0b398e85383c443e96aab77ebaedb6212247c3001be632f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e7742a74c053e5554fb247dc2d5b02ef740b57e79325ffd24733ad7099d0590b" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - output = shell_output("#{bin}/auox 2>&1", 101) - config_file = if OS.mac? - testpath/"Library/Application Support/auox/config.toml" - else - testpath/".config/auox/config.toml" - end - - assert_path_exists config_file - assert_match "client_id", config_file.read - assert_match "Config file created at:", output - end -end diff --git a/Formula/a/austin-tui.rb b/Formula/a/austin-tui.rb deleted file mode 100644 index 09237d88d2..0000000000 --- a/Formula/a/austin-tui.rb +++ /dev/null @@ -1,66 +0,0 @@ -# NOTE: austin-tui needs austin@3 to work properly -class AustinTui < Formula - include Language::Python::Virtualenv - - desc "Top-like text-based user interface for Austin" - homepage "https://github.com/P403n1x87/austin-tui" - url "https://files.pythonhosted.org/packages/ea/e8/5e17d176d3a3464573cffaef94d4bfa8bf710f5d88f1ad3859e199e6efc7/austin_tui-1.4.0.tar.gz" - sha256 "bf607c175fc770101ebdcf3a7ab69f10339e76524f8019d0dccdce335ccc232c" - license "GPL-3.0-or-later" - head "https://github.com/P403n1x87/austin-tui.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "57824e6ab37451051729fc8a374e08011c8543433ae78e27c0cde2ae2f11595b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f68fa24422a85cc4b2e102eb06c78db4b8f2c69dcdb02676078a81f21fce41b8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5e3bfa0c465acb211eabe3b713f6c9771fdb23cf0997de9c9a006287f7ce601e" - sha256 cellar: :any_skip_relocation, sequoia: "8b0a59be0b93f69bdb91d651199fed2ebe985088f37966ebc211b918bc7efda8" - sha256 cellar: :any_skip_relocation, arm64_linux: "aa183be34818d76538c8e2cbb3141d3f752719884cbd336433e648715c8046b5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "99816edee5af4cc4449b98921e5ef97260e654c9debc5bc05362fc766638104c" - end - - depends_on "python@3.14" - - uses_from_macos "libxml2", since: :ventura - uses_from_macos "libxslt" - - resource "austin-python" do - url "https://files.pythonhosted.org/packages/45/78/148907bd43a874917b380430586d2067d49289e67f903c740481c4a82fc6/austin_python-2.1.2.tar.gz" - sha256 "6821bfc8918a3bddb7be34f3c913e385333f53edf27e293232e33a5c6346ac59" - end - - resource "importlib-resources" do - url "https://files.pythonhosted.org/packages/a5/f1/8711c49ffd121083007a24c1bff0d324c9ff621d4fdf8b4ffcb8d9e60330/importlib_resources-5.13.0.tar.gz" - sha256 "82d5c6cca930697dbbd86c93333bb2c2e72861d4789a11c2662b933e5ad2b528" - end - - resource "lxml" do - url "https://files.pythonhosted.org/packages/76/3d/14e82fc7c8fb1b7761f7e748fd47e2ec8276d137b6acfe5a4bb73853e08f/lxml-5.4.0.tar.gz" - sha256 "d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd" - end - - resource "protobuf" do - url "https://files.pythonhosted.org/packages/55/5b/e3d951e34f8356e5feecacd12a8e3b258a1da6d9a03ad1770f28925f29bc/protobuf-3.20.3.tar.gz" - sha256 "2e3427429c9cffebf259491be0af70189607f365c2f41c7c3764af6f337105f2" - end - - resource "psutil" do - url "https://files.pythonhosted.org/packages/e1/88/bdd0a41e5857d5d703287598cbf08dad90aed56774ea52ae071bae9071b6/psutil-7.1.3.tar.gz" - sha256 "6c86281738d77335af7aec228328e944b30930899ea760ecf33a4dba66be5e74" - end - - resource "toml" do - url "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz" - sha256 "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" - end - - def install - virtualenv_install_with_resources - end - - test do - output = shell_output("#{bin}/austin-tui --version 2>&1", 1) - assert_match "🏁 Starting the Austin TUI", output - end -end diff --git a/Formula/a/autoflake.rb b/Formula/a/autoflake.rb index 9f3372f62a..e4c0d1e3fb 100644 --- a/Formula/a/autoflake.rb +++ b/Formula/a/autoflake.rb @@ -3,20 +3,23 @@ class Autoflake < Formula desc "Removes unused imports and unused variables as reported by pyflakes" homepage "https://github.com/PyCQA/autoflake" - url "https://files.pythonhosted.org/packages/c3/0b/70c277eef225133763bf05c02c88df182e57d5c5c0730d3998958096a82e/autoflake-2.3.3.tar.gz" - sha256 "c24809541e23999f7a7b0d2faadf15deb0bc04cdde49728a2fd943a0c8055504" + url "https://files.pythonhosted.org/packages/2a/cb/486f912d6171bc5748c311a2984a301f4e2d054833a1da78485866c71522/autoflake-2.3.1.tar.gz" + sha256 "c98b75dc5b0a86459c4f01a1d32ac7eb4338ec4317a4469515ff1e687ecd909e" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "0289b08fecd545e4b33c179dcd8f4767e70ba7cd89ab8ca7f2c357f27d96112d" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "fa580164bc7f251a77a0113873b8f6cf53d6e16d4ce639778ca9023b39968b0d" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f9e1315e69e97d7ef06b2f7308f1ded722aa8a51a6f27dff28f9def998d85b57" + sha256 cellar: :any_skip_relocation, ventura: "70d1b2b0c56770df24cf746e5dc06fd1dff6993ae490bf13a360a5ff6130ea3c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d9baad05efcc1b028d1bc73645214c32ceaa7e2c9529b6e13b99e7e04dc27c96" end - depends_on "python@3.14" + depends_on "python@3.13" resource "pyflakes" do - url "https://files.pythonhosted.org/packages/45/dc/fd034dc20b4b264b3d015808458391acbf9df40b1e54750ef175d39180b1/pyflakes-3.4.0.tar.gz" - sha256 "b24f96fafb7d2ab0ec5075b7350b3d2d2218eab42003821c06344973d3ea2f58" + url "https://files.pythonhosted.org/packages/57/f9/669d8c9c86613c9d568757c7f5824bd3197d7b1c6c27553bc5618a27cce2/pyflakes-3.2.0.tar.gz" + sha256 "1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f" end def install diff --git a/Formula/a/autotag.rb b/Formula/a/autotag.rb index eb86ed44b4..637516eeda 100644 --- a/Formula/a/autotag.rb +++ b/Formula/a/autotag.rb @@ -1,18 +1,17 @@ class Autotag < Formula desc "Git repository version tagging tool" homepage "https://github.com/autotag-dev/autotag" - url "https://github.com/autotag-dev/autotag/archive/refs/tags/v1.4.3.tar.gz" - sha256 "fa694f5e1e8da3229b03b459221764f0de7624aa8119c7f7095fd1820ae72b92" + url "https://github.com/autotag-dev/autotag/archive/refs/tags/v1.4.1.tar.gz" + sha256 "71d6f082efa5c641461f603c16b50c1d3e4aae2cdd5f550b912efb5051043a99" license "Apache-2.0" head "https://github.com/autotag-dev/autotag.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5d36b97c3d26d31877de330b2a82c45fc554b997ab07d8f455714cc5c02519e5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5d36b97c3d26d31877de330b2a82c45fc554b997ab07d8f455714cc5c02519e5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5d36b97c3d26d31877de330b2a82c45fc554b997ab07d8f455714cc5c02519e5" - sha256 cellar: :any_skip_relocation, arm64_linux: "7e2030acbac198380a6d93bbbf2929c1172c29c746839521f7d60ccbaea5b356" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d12fa01eecb282d8ae048c9f55181bec3d080ee98854221db6aea1b01c8efa16" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "04fb1ccea2013872d08894e09183f34160dcb77716c37af6e1cface0a1830606" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "83d72e9b909813c35083a8564d1742f933bc03d68ff1e36133eb8e48e53beaab" + sha256 cellar: :any_skip_relocation, ventura: "c5eaa8725e62dc33d04befb9551cec8fd42dc6b8e3b612c5a98f448689b0d42c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7fa65652baea635086743b0a0e0d7a33f4565ccb5705cf51ae42025736c90bea" end depends_on "go" => :build diff --git a/Formula/a/autotools-language-server.rb b/Formula/a/autotools-language-server.rb index e97763465b..72c7484925 100644 --- a/Formula/a/autotools-language-server.rb +++ b/Formula/a/autotools-language-server.rb @@ -3,31 +3,29 @@ class AutotoolsLanguageServer < Formula desc "Language tools for Autotools, support configure.ac, Makefile.am, Makefile" homepage "https://github.com/Freed-Wu/autotools-language-server" - url "https://files.pythonhosted.org/packages/54/84/5fcd5fb39c4857b9264e5b420bfa305f7a8063099e0372851dd0ec23fdf9/autotools_language_server-0.0.23.tar.gz" - sha256 "fab272a1e049f854541f43c486bc8f73b9bde6e483245245f9d19c5273481964" + url "https://files.pythonhosted.org/packages/6a/d8/a3b874f312ea727c5d2f71efb8c066199c731370a334d1eed1521e495aa6/autotools_language_server-0.0.22.tar.gz" + sha256 "dea1dcfb6fc62a225371cd8e090953a368d12b23760037d6814d0dc48575afdf" license "GPL-3.0-or-later" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "d7a0eecd8aad41853bf95992c43a6bee41b79aac5c04debe984783eeeb36c34b" - sha256 cellar: :any, arm64_sequoia: "46403d10a49a01b7fecca49c012be6d7ba516d29c9dca9eb3ca15f0c35a4f93b" - sha256 cellar: :any, arm64_sonoma: "3af3c1f01356ae5c841b3d282f5adb4991625e6bf6fa7e9985b4fcf797138ce2" - sha256 cellar: :any_skip_relocation, arm64_linux: "dd8624f7478f86fd112655a963e6340089ee2e7b978f7c0e31b23414f67d0afc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b6cb19984b1aa0da391bf1c44c8a3fd82e33bda0a46a62722869943ec546d3e3" + sha256 cellar: :any, arm64_sequoia: "7cbe299888817b45cd2acb0c60c186e91ebae3a7eb1594f14458b0e995124eff" + sha256 cellar: :any, arm64_sonoma: "3552f897727e341c9779fa7e24ba90776356d0646ada31f9658efee5599bae4a" + sha256 cellar: :any, ventura: "cc807708621373c3526bdd64106c3dd1b219ccaed6959a1abd6304999f93a81b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "57d3f7a35c024685f7827be483d0c73aea4200e8036827ae1fcc5db9371e96e1" end depends_on "rust" => :build # for rpds-py - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage + depends_on "python@3.13" resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz" + sha256 "1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e" end resource "cattrs" do - url "https://files.pythonhosted.org/packages/6e/00/2432bb2d445b39b5407f0a90e01b9a271475eea7caf913d7a86bcb956385/cattrs-25.3.0.tar.gz" - sha256 "1ac88d9e5eda10436c4517e390a4142d88638fe682c436c93db7ce4a277b884a" + url "https://files.pythonhosted.org/packages/64/65/af6d57da2cb32c076319b7489ae0958f746949d407109e3ccf4d115f147c/cattrs-24.1.2.tar.gz" + sha256 "8028cfe1ff5382df59dd36474a86e02d817b06eaf8af84555441bac915d2ef85" end resource "colorama" do @@ -36,53 +34,53 @@ class AutotoolsLanguageServer < Formula end resource "jinja2" do - url "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" - sha256 "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" + url "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz" + sha256 "8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb" end resource "jsonschema" do - url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" - sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" + url "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz" + sha256 "d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4" end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz" + sha256 "0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272" end resource "lsp-tree-sitter" do - url "https://files.pythonhosted.org/packages/04/38/b539693b8222ceae26ef532f229d9ca57f294ed4dcb64dc771e082eec9a7/lsp_tree_sitter-0.1.1.tar.gz" - sha256 "1668dd456e5669e9d6e102b2dd46952fd39d19573c19b8c985446e272d59128c" + url "https://files.pythonhosted.org/packages/e8/f7/7cee57b01c26878242c8cf1903e44b9a03ddf7e9e1ef61e09b33d300acb5/lsp_tree_sitter-0.0.17.tar.gz" + sha256 "ba35219ee38a5c2e2d3e157c7e5dfd34a6edc351f47e5ee70bda9955b257c7fe" end resource "lsprotocol" do - url "https://files.pythonhosted.org/packages/e9/26/67b84e6ec1402f0e6764ef3d2a0aaf9a79522cc1d37738f4e5bb0b21521a/lsprotocol-2025.0.0.tar.gz" - sha256 "e879da2b9301e82cfc3e60d805630487ac2f7ab17492f4f5ba5aaba94fe56c29" + url "https://files.pythonhosted.org/packages/9d/f6/6e80484ec078d0b50699ceb1833597b792a6c695f90c645fbaf54b947e6f/lsprotocol-2023.0.1.tar.gz" + sha256 "cc5c15130d2403c18b734304339e51242d3018a05c4f7d0f198ad6e0cd21861d" end resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" + url "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz" + sha256 "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0" end resource "pygls" do - url "https://files.pythonhosted.org/packages/87/50/2bfc32f3acbc8941042919b59c9f592291127b55d7331b72e67ce7b62f08/pygls-2.0.0.tar.gz" - sha256 "99accd03de1ca76fe1e7e317f0968ebccf7b9955afed6e2e3e188606a20b4f07" + url "https://files.pythonhosted.org/packages/86/b9/41d173dad9eaa9db9c785a85671fc3d68961f08d67706dc2e79011e10b5c/pygls-1.3.1.tar.gz" + sha256 "140edceefa0da0e9b3c533547c892a42a7d2fd9217ae848c330c53d266a55018" end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" end resource "rpds-py" do - url "https://files.pythonhosted.org/packages/48/dc/95f074d43452b3ef5d06276696ece4b3b5d696e7c9ad7173c54b1390cd70/rpds_py-0.28.0.tar.gz" - sha256 "abd4df20485a0983e2ca334a216249b6186d6e3c1627e106651943dbdb791aea" + url "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz" + sha256 "e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d" end resource "tree-sitter" do - url "https://files.pythonhosted.org/packages/66/7c/0350cfc47faadc0d3cf7d8237a4e34032b3014ddf4a12ded9933e1648b55/tree-sitter-0.25.2.tar.gz" - sha256 "fe43c158555da46723b28b52e058ad444195afd1db3ca7720c59a254544e9c20" + url "https://files.pythonhosted.org/packages/a7/a2/698b9d31d08ad5558f8bfbfe3a0781bd4b1f284e89bde3ad18e05101a892/tree-sitter-0.24.0.tar.gz" + sha256 "abd95af65ca2f4f7eca356343391ed669e764f37748b5352946f00f7fc78e734" end resource "tree-sitter-make" do @@ -90,11 +88,6 @@ class AutotoolsLanguageServer < Formula sha256 "ef394673ab83956dffb3986526f4c059082ff2d84c87f9da18ab30030f561b4c" end - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - def install virtualenv_install_with_resources end diff --git a/Formula/a/av.rb b/Formula/a/av.rb deleted file mode 100644 index 86b07402ce..0000000000 --- a/Formula/a/av.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Av < Formula - desc "Manage stacked PRs with Aviator" - homepage "https://www.aviator.co/" - url "https://github.com/aviator-co/av/archive/refs/tags/v0.1.30.tar.gz" - sha256 "302b7d373f3a6ad988804c144678f43c6f2fa094aa6c9ae02ab8ba9e81fb41fb" - license "MIT" - head "https://github.com/aviator-co/av.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1d4e01f9c2911242964ad70991e632b531b3851e0f1caf30f2201d03cb911aca" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1d4e01f9c2911242964ad70991e632b531b3851e0f1caf30f2201d03cb911aca" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1d4e01f9c2911242964ad70991e632b531b3851e0f1caf30f2201d03cb911aca" - sha256 cellar: :any_skip_relocation, arm64_linux: "9679f2b37ee5be4b1c5ba4e65a440fd74fc77f4369d29a6635bf9538aa41f7d2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "81281c4f35baee72d8ce5c7c23731120187b73c0ba7d1735b05559a8332756ca" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/aviator-co/av/internal/config.Version=v#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/av" - end - - test do - assert_match version.to_s, shell_output("#{bin}/av version") - - ENV["GITHUB_TOKEN"] = "testtoken" - - system "git", "init" - - output = shell_output("#{bin}/av init 2>&1", 1) - assert_match "Failed to determine repository default branch", output - assert_match "failed to open git repo", output - end -end diff --git a/Formula/a/await.rb b/Formula/a/await.rb index 0b34895f15..55b033b349 100644 --- a/Formula/a/await.rb +++ b/Formula/a/await.rb @@ -1,18 +1,16 @@ class Await < Formula desc "Small binary that runs a list of commands in parallel and awaits termination" homepage "https://github.com/slavaGanzin/await" - url "https://github.com/slavaGanzin/await/archive/refs/tags/2.4.0.tar.gz" - sha256 "3abecf4f70382970476102ab4ef9601cf30564cc3a0f8385228b791f3e515960" + url "https://github.com/slavaGanzin/await/archive/refs/tags/2.1.0.tar.gz" + sha256 "167ec2e23edc6213abb192601611d60c87dd4d3f3796a9d3d560fe214c1f2807" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7c1af7f9a8341aa74241bba5d90625f3eacfc6aa195f708b14b039657b827ecc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "ba9d24fbce11fd328c530a8a5f76a194f59373b96ee8f1d5b14eddb4add47384" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b20c60d98c1947298d7671e505d0513a46d0a57b157e0cfdcfea867c80651831" - sha256 cellar: :any_skip_relocation, sequoia: "064656380b20fa45802ae581b18a2c50bb0c6a815db4912b28ef6e5f979f2d38" - sha256 cellar: :any_skip_relocation, arm64_linux: "14d0e9a0c2a7c1d6110cafb9ae9b55a6f8ce5399882ac90322420037804e05fc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0d92ce75e182fdc2b0c63feb9e954f184bcb492df52812e44daf6ad9030cffb6" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "24adb3cd0e04c6430321dfee9d0106576c1a200c5ac124a9fc2083b2e33253ab" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "0141205d150d04fde1fc5259088b0d3b10b3cd13983d6c379de61d846f8cf139" + sha256 cellar: :any_skip_relocation, ventura: "1760621ccaa6447b7c6e56873280132c65bbf9c2611f97b4024532e68bd9096f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e8b88d3286f11595f383415c3082cbb3e986d863187be62d04998c40da61edae" end def install diff --git a/Formula/a/awless.rb b/Formula/a/awless.rb index b8e6f557de..e8c94c30c0 100644 --- a/Formula/a/awless.rb +++ b/Formula/a/awless.rb @@ -4,17 +4,14 @@ class Awless < Formula url "https://github.com/wallix/awless/archive/refs/tags/v0.1.11.tar.gz" sha256 "1a78636face8753cb983a5e4c1e3bfc9e1940e7eb932aa01fe2cbded46fd4292" license "Apache-2.0" - revision 1 head "https://github.com/wallix/awless.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9a1ef0362189dcd12c9a9cf7c971f58f5fdb94c5afebdffdb9257c9ef0f8af55" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9a1ef0362189dcd12c9a9cf7c971f58f5fdb94c5afebdffdb9257c9ef0f8af55" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9a1ef0362189dcd12c9a9cf7c971f58f5fdb94c5afebdffdb9257c9ef0f8af55" - sha256 cellar: :any_skip_relocation, arm64_linux: "237f5d502406db6dc04b4fb9a7b55a3b9b9b8c066132a1c124c3db1d0eda3117" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8a4b58ce02704f657d14d3d92e9af9f32e1fb6fa5bbf334484f0c3854b738d61" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "74c67a675156a6f76aff5f9fade1ff3f36f9e667efd74406412de600ef249649" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6e47d4806158c9d3174e06ad3d2dea290195e50fe6ab009dc62fcf0fb7b9bdde" + sha256 cellar: :any_skip_relocation, ventura: "9d560556530b144ed72353c05b8dc5ef0a93138383311937b0c2f83e59bddb3b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "37736ecf5ead07dadf69452c9e7023ec3268100cb3ed80dea80f06e960c03eb5" end depends_on "go" => :build diff --git a/Formula/a/aws-doctor.rb b/Formula/a/aws-doctor.rb deleted file mode 100644 index 0ef6d87bcb..0000000000 --- a/Formula/a/aws-doctor.rb +++ /dev/null @@ -1,34 +0,0 @@ -class AwsDoctor < Formula - desc "Audit AWS security, costs, and best practices" - homepage "https://awsdoctor.compacompila.com/" - url "https://github.com/elC0mpa/aws-doctor/archive/refs/tags/v2.12.0.tar.gz" - sha256 "859dad52e75791bad3e724a2d1e81ab801d79508d2d1a461effa613c6c3e12d5" - license "MIT" - head "https://github.com/elC0mpa/aws-doctor.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b88dd84264741e7eeecedc03823a18fdbf395f1432fd651cfa824939c8f757a7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b88dd84264741e7eeecedc03823a18fdbf395f1432fd651cfa824939c8f757a7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b88dd84264741e7eeecedc03823a18fdbf395f1432fd651cfa824939c8f757a7" - sha256 cellar: :any_skip_relocation, arm64_linux: "82c336cf39eda680bdfcf97c1ec92fd0a5e627d2357e854b4a1639c9a417b1b6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "197c281e573342156169486fa3d241547079bb28397da5e5c09415d1f97bd63a" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s - -w - -X main.version=#{version} - ] - system "go", "build", *std_go_args(ldflags:), "." - end - - test do - assert_match version.to_s, shell_output("#{bin}/aws-doctor version") - output = shell_output("#{bin}/aws-doctor --invalid-flag 2>&1", 1) - assert_match "unknown flag", output - end -end diff --git a/Formula/a/awsesh.rb b/Formula/a/awsesh.rb deleted file mode 100644 index 323c3e7e89..0000000000 --- a/Formula/a/awsesh.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Awsesh < Formula - desc "TUI for AWS SSO session management" - homepage "https://github.com/elva-labs/awsesh" - url "https://github.com/elva-labs/awsesh/archive/refs/tags/v.0.1.11.tar.gz" - sha256 "cad8808851902bde88c766b11178e93a444fa27ecebb4a6bf11f334b099ba90a" - license "MIT" - head "https://github.com/elva-labs/awsesh.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "87086541027d05c6a72a5d6bbc425446c46c7ebb8190d9812e23cbaac1471072" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "87086541027d05c6a72a5d6bbc425446c46c7ebb8190d9812e23cbaac1471072" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "87086541027d05c6a72a5d6bbc425446c46c7ebb8190d9812e23cbaac1471072" - sha256 cellar: :any_skip_relocation, arm64_linux: "9d8d0e214c4914cc89cbae9b13a038433154e6b12f15306f1d1005c67a45ca0f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "40dc8ad43b322ffd9e6929de3af0c0eaaf436c86d80ef16384ae226312b4fc8f" - end - - depends_on "go" => :build - - def install - # NOTE, the official binary should be sesh, but it would clash with https://github.com/joshmedeski/sesh - # see discussions in https://github.com/elva-labs/awsesh/issues/34 - system "go", "build", *std_go_args(ldflags: "-s -w -X main.Version=#{version}") - end - - test do - assert_match version.to_s, shell_output("#{bin}/awsesh --version") - assert_match "Error: Could not determine the last used SSO profile", shell_output("#{bin}/awsesh --browser") - end -end diff --git a/Formula/a/awsui.rb b/Formula/a/awsui.rb deleted file mode 100644 index a3b128bda1..0000000000 --- a/Formula/a/awsui.rb +++ /dev/null @@ -1,94 +0,0 @@ -class Awsui < Formula - include Language::Python::Virtualenv - - desc "Modern Textual-powered AWS UI" - homepage "https://junminhong.github.io/awsui/" - url "https://files.pythonhosted.org/packages/9f/24/c785009eb57d8d55e8d225d76f2608ec5365b12ef2d629b77237194135b7/awsui-0.1.1.tar.gz" - sha256 "6444e0b0232602d72b664341586be0bacbe000cece1151dd94c1795d28cf83c2" - license "MIT" - head "https://github.com/junminhong/awsui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "55e891794e520713242a0e7002e489fc87fe8e8ffdca0dd16cdba024cea6a560" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "55e891794e520713242a0e7002e489fc87fe8e8ffdca0dd16cdba024cea6a560" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "55e891794e520713242a0e7002e489fc87fe8e8ffdca0dd16cdba024cea6a560" - sha256 cellar: :any_skip_relocation, sequoia: "b797cf2c2486fe79f774fcbbedbf8d1ff67144299f6da7f57b8ae10a2b3e6f89" - sha256 cellar: :any_skip_relocation, arm64_linux: "4dd934a211cf824649eafaad1758910e467c2d3df4e71f92969d7301e46d8057" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4dd934a211cf824649eafaad1758910e467c2d3df4e71f92969d7301e46d8057" - end - - depends_on "python@3.13" - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz" - sha256 "ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" - sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/a2/30/38b615f7d4b16f6fdd73e4dcd8913e2d880bbb655e68a076e3d91181a7ee/textual-6.2.1.tar.gz" - sha256 "4699d8dfae43503b9c417bd2a6fb0da1c89e323fe91c4baa012f9298acaa83e1" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match "AWS Profile/SSO switcher TUI", shell_output("#{bin}/awsui --help") - - output_log = testpath/"output.log" - pid = spawn bin/"awsui", [:out, :err] => output_log.to_s - 20.times do - break if output_log.exist? && output_log.read.include?("Profile Details") - - sleep 0.5 - end - assert_match "Profile Details", output_log.read - ensure - if pid - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/a/axiom-mcp-server.rb b/Formula/a/axiom-mcp-server.rb index a394f11e60..0f2a4eb781 100644 --- a/Formula/a/axiom-mcp-server.rb +++ b/Formula/a/axiom-mcp-server.rb @@ -1,23 +1,16 @@ class AxiomMcpServer < Formula desc "MCP server for Axiom" homepage "https://github.com/axiomhq/mcp-server-axiom" - url "https://github.com/axiomhq/mcp-server-axiom/archive/refs/tags/v0.0.5.tar.gz" - sha256 "11bcaa469544c175b9e35f5694644064aabe74b425a250c082fb5e19cbc257a1" + url "https://github.com/axiomhq/mcp-server-axiom/archive/refs/tags/v0.0.4.tar.gz" + sha256 "73920c83e7da63e4747dce3ac867a32458db9079fed56a0b6f3ef7e882b5134c" license "MIT" - head "https://github.com/axiomhq/mcp-server-axiom.git", branch: "master" - - livecheck do - url :stable - strategy :github_latest - end bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4b0d213f098b69da308bf0eef1d97954869ecfb1ade40f74c381f8b2861c8ebb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4b0d213f098b69da308bf0eef1d97954869ecfb1ade40f74c381f8b2861c8ebb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4b0d213f098b69da308bf0eef1d97954869ecfb1ade40f74c381f8b2861c8ebb" - sha256 cellar: :any_skip_relocation, arm64_linux: "cb3f2bbd94a67e06403e61be16a8b009e34a01ab3b93bcf62f72383f1fc05c1e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dfd28830b872c92602de75d3b597326aa1cab4bcce9790b024bed016dff43bf5" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1093d30306f09bfbabc09f69a80b54e559c6adf92801cf17fb998eea1f91486e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "8270090b281d9a89f3d540bcb9b054995b1206ed69bde728054f979065520fed" + sha256 cellar: :any_skip_relocation, ventura: "4fc325de83270cb73b29913a6e405ddb3a3fba9a2cd677cdc5dc958f6b40fbf8" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f46fc7827c76e13e2d09fe2805048584073336c6e6185e03200cbdca6cdb4af3" end depends_on "go" => :build diff --git a/Formula/a/az-tui.rb b/Formula/a/az-tui.rb index ccf9688c91..33714829a6 100644 --- a/Formula/a/az-tui.rb +++ b/Formula/a/az-tui.rb @@ -4,16 +4,13 @@ class AzTui < Formula url "https://github.com/IAL32/az-tui/archive/refs/tags/v0.4.0.tar.gz" sha256 "da6015c53c265fd618cf461a9c84b53ec3f7c5e5db38df15df5191888483e681" license "MIT" - revision 1 bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6fe948c67797bb8cb34d9ce4d16f1e3093c15ba942e8702c5843746e2f8728c5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6fe948c67797bb8cb34d9ce4d16f1e3093c15ba942e8702c5843746e2f8728c5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6fe948c67797bb8cb34d9ce4d16f1e3093c15ba942e8702c5843746e2f8728c5" - sha256 cellar: :any_skip_relocation, arm64_linux: "f03659219929606f0c039b70e43a9d52a9f930552817c6dc77dacbb45c742a2b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7036aa10e63dadb6c41a90b85d2ef51bf799c639d300ddc0828935704bc6a546" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "8f923583575367d4045a13c4528cf0eda607dfeff7f7c744c1c83cb4fab587e2" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c8994e22003c8290851ea4a847f611bc19b6b5d7a9bc8c5fa820d3f477cb220c" + sha256 cellar: :any_skip_relocation, ventura: "a40a7f493abfe5244ee9c899624ba224c3f32857652542922b9e6751a24ba170" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2be66e942abf2f6ee82cddf0e81c8bf6d243825c2f78aaee1c885e4c6562d4b8" end depends_on "go" => :build diff --git a/Formula/b/b4n.rb b/Formula/b/b4n.rb deleted file mode 100644 index c0557a66ef..0000000000 --- a/Formula/b/b4n.rb +++ /dev/null @@ -1,28 +0,0 @@ -class B4n < Formula - desc "Terminal user interface (TUI) for Kubernetes API" - homepage "https://github.com/fioletoven/b4n" - url "https://github.com/fioletoven/b4n/archive/refs/tags/v0.4.7.tar.gz" - sha256 "d5b36652b9c5bb908f4204cbd01a24238f88c8bff76614c66b570208e753be2a" - license "MIT" - head "https://github.com/fioletoven/b4n.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b59572332140d8425ae38d9db3480276141bc645575a2d8fe39263fb3996ec23" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3869588a5086d8321490bb1fff758a7ce61747aa28694da7d26403163e6fd592" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f1e8585d61c5a6d26538b4e1c5b7f653915fb23c30093fa6feedf7dd053b568a" - sha256 cellar: :any_skip_relocation, arm64_linux: "e510fd68257a1de3628ef6cbc7d17010f3cbb10a11238f8603ad43605f751c57" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e2529038c1eaa8888a1aa6c5ff932363fca23be3bfc1c48a7c73407ce6aaf230" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/b4n --version") - assert_match "Error: kube config file not found", shell_output("#{bin}/b4n 2>&1", 1) - end -end diff --git a/Formula/b/backport.rb b/Formula/b/backport.rb index 1aa377ad2b..9c1bdc0ab6 100644 --- a/Formula/b/backport.rb +++ b/Formula/b/backport.rb @@ -1,13 +1,16 @@ class Backport < Formula desc "CLI tool that automates the process of backporting commits" homepage "https://github.com/sorenlouv/backport" - url "https://registry.npmjs.org/backport/-/backport-11.0.2.tgz" - sha256 "aa3b99a69ae5949c607152666dbbfd23bacb085d2ed50a48382d6011276ef0d3" + url "https://registry.npmjs.org/backport/-/backport-10.0.2.tgz" + sha256 "8500e7091a67e001bb7d0af71ff91e0d7cd442b88982b5d965e8a42f10b3a273" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "0267b56c4124dc7e32a02ba354da8bf65848a456656630cc5ebee5e7d5ac6e95" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e8365d2f37a6cbf5a7eeae563f5985716f57788b5df41fe401d41f2dae42ad34" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "fbeba895990a4c4ed1fb4ae2e95f662cbb163f1454240472b858d8d3bfaa90c2" + sha256 cellar: :any_skip_relocation, ventura: "987e72d48d669c1b521f3196205a12cda38d57624879e9f23c0a418e3ffd5710" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c604bfe87504cacfbb39b1d1509e573b44e9d25a2017fbef201cc2d9a0875a2a" end depends_on "node" diff --git a/Formula/b/balcony.rb b/Formula/b/balcony.rb index a55b438539..824959b5be 100644 --- a/Formula/b/balcony.rb +++ b/Formula/b/balcony.rb @@ -3,20 +3,19 @@ class Balcony < Formula desc "Read any AWS resource and generate Terraform code" homepage "https://oguzhan-yilmaz.github.io/balcony/" - url "https://files.pythonhosted.org/packages/fd/29/753d0f3a4b381f6e31adfde996a460c5a81387db4bc5ec26959716d5433b/balcony-0.3.10.tar.gz" - sha256 "8e081d3f778a51e2cc1c6d586ed8c89a6fbdb872b25a1a2c2e4b9ab026d2f27b" + url "https://files.pythonhosted.org/packages/d6/8b/44beeca86fdd5bfed46e85e0108d454e448cd8c44084af36ce878f80e1ec/balcony-0.3.3.tar.gz" + sha256 "ffb393afd91f0976d806fcbcbe41cb9e34cb69409242ff6a0b86c8bd1acf5c87" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "22d20227062fe689af3e995df1e0cd29d799de4f09901825602359e9f73ef92f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b7a4db9f2bdb37781009c7b59fd365078ef334f0205f20cb4e810896d75caabc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f4574e2a84ea606b9889ed3ca42c50622ec9601e0ec8fc8856e7d5f2c5b15732" - sha256 cellar: :any_skip_relocation, arm64_linux: "fe09b366bd2707842d208dc920aa56208cc464490f41c625930b9ec2aa978bed" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e5fc96f6c7816328ed0df29d5cd0fa4f1c2600d632ea4dfacd26cd84cc93ebd7" + rebuild 2 + sha256 cellar: :any, arm64_sequoia: "95222e654bfaa0db8d8e6ca4eaebb4e652f35e0dcc9c9ff8cc66ff966051d707" + sha256 cellar: :any, arm64_sonoma: "d1c7c00f7be41c1aed073a7421d5f9058c470c96938b90cb3441723502c231ac" + sha256 cellar: :any, ventura: "2a0a713b8c8385fe4c0bba4cd2ce45593f68e3f25d62c9463aa788a74689cab3" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ea880b742e0d93e2dad0ebc8d322499a205ca18c82c3ba71108370c0b0c7e652" end - depends_on "rust" => :build # for uv_build > maturin depends_on "libyaml" depends_on "python@3.13" @@ -31,33 +30,33 @@ class Balcony < Formula end resource "backrefs" do - url "https://files.pythonhosted.org/packages/86/e3/bb3a439d5cb255c4774724810ad8073830fac9c9dee123555820c1bcc806/backrefs-6.1.tar.gz" - sha256 "3bba1749aafe1db9b915f00e0dd166cba613b6f788ffd63060ac3485dc9be231" + url "https://files.pythonhosted.org/packages/eb/a7/312f673df6a79003279e1f55619abbe7daebbb87c17c976ddc0345c04c7b/backrefs-5.9.tar.gz" + sha256 "808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59" end resource "boto3" do - url "https://files.pythonhosted.org/packages/8c/07/dfa651dbd57bfc34d952a101280928bab08ed6186f009c660a36c211ccff/boto3-1.42.9.tar.gz" - sha256 "cdd4cc3e5bb08ed8a0c5cc77eca78f98f0239521de0991f14e44b788b0c639b2" + url "https://files.pythonhosted.org/packages/66/8f/acc7d434730e0c931ece4b46c983bf5afb7ae63abb545b535f0eda538476/boto3-1.39.14.tar.gz" + sha256 "fabb16360a93b449d5241006485bcc761c26694e75ac01009f4459f114acc06e" end resource "botocore" do - url "https://files.pythonhosted.org/packages/fd/f3/2d2cfb500e2dc00b0e33e3c8743306e6330f3cf219d19e9260dab2f3d6c2/botocore-1.42.9.tar.gz" - sha256 "74f69bfd116cc7c8215481284957eecdb48580e071dd50cb8c64356a866abd8c" + url "https://files.pythonhosted.org/packages/cc/ca/8994676a67f0a9d39a0844124f196c4dedc2fbca370c839f61246c1fea6d/botocore-1.39.14.tar.gz" + sha256 "7fc44d4ad13b524e5d8a6296785776ef5898ac026ff74df9b35313831d507926" end resource "certifi" do - url "https://files.pythonhosted.org/packages/a2/8c/58f469717fa48465e4a50c014a0400602d3c437d7c0c468e17ada824da3a/certifi-2025.11.12.tar.gz" - sha256 "d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316" + url "https://files.pythonhosted.org/packages/b3/76/52c535bcebe74590f296d6c77c86dabf761c41980e1347a2422e4aa2ae41/certifi-2025.7.14.tar.gz" + sha256 "8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz" + sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "colorama" do @@ -70,14 +69,19 @@ class Balcony < Formula sha256 "9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343" end + resource "griffe" do + url "https://files.pythonhosted.org/packages/dd/72/10c5799440ce6f3001b7913988b50a99d7b156da71fe19be06178d5a2dd5/griffe-1.8.0.tar.gz" + sha256 "0b4658443858465c13b2de07ff5e15a1032bc889cfafad738a476b8b97bb28d7" + end + resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "inflect" do - url "https://files.pythonhosted.org/packages/78/c6/943357d44a21fd995723d07ccaddd78023eace03c1846049a2645d4324a3/inflect-7.5.0.tar.gz" - sha256 "faf19801c3742ed5a05a8ce388e0d8fe1a07f8d095c82201eb904f5d27ad571f" + url "https://files.pythonhosted.org/packages/76/2e/a7c1fd746c09d5d0498d6d00fa14afebdf26d44c3e64a630616489ece1a3/inflect-6.2.0.tar.gz" + sha256 "518088ef414a4e15df70e6bcb40d021da4d423cc6c2fd4c0cad5500d39f86627" end resource "jinja2" do @@ -91,18 +95,18 @@ class Balcony < Formula end resource "markdown" do - url "https://files.pythonhosted.org/packages/7d/ab/7dd27d9d863b3376fcf23a5a13cb5d024aed1db46f963f1b5735ae43b3be/markdown-3.10.tar.gz" - sha256 "37062d4f2aa4b2b6b32aefb80faa300f82cc790cb949a35b8caede34f2b68c0e" + url "https://files.pythonhosted.org/packages/d7/c2/4ab49206c17f75cb08d6311171f2d65798988db4360c4d1485bd0eedd67c/markdown-3.8.2.tar.gz" + sha256 "247b9a70dd12e27f67431ce62523e675b866d254f900c4fe75ce3dda62237c45" end resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" + url "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz" + sha256 "e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb" end resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" + url "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz" + sha256 "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0" end resource "mdurl" do @@ -121,8 +125,8 @@ class Balcony < Formula end resource "mkdocs-autorefs" do - url "https://files.pythonhosted.org/packages/51/fa/9124cd63d822e2bcbea1450ae68cdc3faf3655c69b455f3a7ed36ce6c628/mkdocs_autorefs-1.4.3.tar.gz" - sha256 "beee715b254455c4aa93b6ef3c67579c399ca092259cc41b7d9342573ff1fc75" + url "https://files.pythonhosted.org/packages/3b/3f/9531888bc92bafb1bffddca5d9240a7bae9a479d465528883b61808ef9d6/mkdocs-autorefs-0.4.1.tar.gz" + sha256 "70748a7bd025f9ecd6d6feeba8ba63f8e891a1af55f48e366d6d6e78493aba84" end resource "mkdocs-get-deps" do @@ -131,8 +135,8 @@ class Balcony < Formula end resource "mkdocs-material" do - url "https://files.pythonhosted.org/packages/9c/3b/111b84cd6ff28d9e955b5f799ef217a17bc1684ac346af333e6100e413cb/mkdocs_material-9.7.0.tar.gz" - sha256 "602b359844e906ee402b7ed9640340cf8a474420d02d8891451733b6b02314ec" + url "https://files.pythonhosted.org/packages/dd/84/aec27a468c5e8c27689c71b516fb5a0d10b8fca45b9ad2dd9d6e43bc4296/mkdocs_material-9.6.16.tar.gz" + sha256 "d07011df4a5c02ee0877496d9f1bfc986cfb93d964799b032dd99fe34c0e9d19" end resource "mkdocs-material-extensions" do @@ -141,13 +145,13 @@ class Balcony < Formula end resource "mkdocstrings" do - url "https://files.pythonhosted.org/packages/e5/13/10bbf9d56565fd91b91e6f5a8cd9b9d8a2b101c4e8ad6eeafa35a706301d/mkdocstrings-1.0.0.tar.gz" - sha256 "351a006dbb27aefce241ade110d3cd040c1145b7a3eb5fd5ac23f03ed67f401a" + url "https://files.pythonhosted.org/packages/d2/a1/d08d776e8fa2508b299fad8165374317dc742a58880398ed2f9a7ecddefc/mkdocstrings-0.21.2.tar.gz" + sha256 "304e56a2e90595708a38a13a278e538a67ad82052dd5c8b71f77a604a4f3d911" end - resource "more-itertools" do - url "https://files.pythonhosted.org/packages/ea/5d/38b681d3fce7a266dd9ab73c66959406d565b3e85f21d5e66e1181d93721/more_itertools-10.8.0.tar.gz" - sha256 "f638ddf8a1a0d134181275fb5d58b086ead7c6a72429ad725c67503f13ba30bd" + resource "mkdocstrings-python" do + url "https://files.pythonhosted.org/packages/21/5e/1503ca2129b24e908eb075e87051e16ec583551423b8d305107e49a0bebb/mkdocstrings_python-1.8.0.tar.gz" + sha256 "1488bddf50ee42c07d9a488dddc197f8e8999c2899687043ec5dd1643d057192" end resource "packaging" do @@ -166,13 +170,13 @@ class Balcony < Formula end resource "platformdirs" do - url "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" - sha256 "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda" + url "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz" + sha256 "3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc" end resource "pydantic" do - url "https://files.pythonhosted.org/packages/ae/8d/7b346ed940c3e0f9eee7db9be37915a6dac0d9535d736e2ca47a81a066f3/pydantic-1.10.24.tar.gz" - sha256 "7e6d1af1bd3d2312079f28c9baf2aafb4a452a06b50717526e5ac562e37baa53" + url "https://files.pythonhosted.org/packages/9a/57/5996c63f0deec09e9e901a2b838247c97c6844999562eac4e435bcb83938/pydantic-1.10.22.tar.gz" + sha256 "ee1006cebd43a8e7158fb7190bb8f4e2da9649719bff65d0c287282ec38dec6d" end resource "pygments" do @@ -181,8 +185,8 @@ class Balcony < Formula end resource "pymdown-extensions" do - url "https://files.pythonhosted.org/packages/72/2d/9f30cee56d4d6d222430d401e85b0a6a1ae229819362f5786943d1a8c03b/pymdown_extensions-10.19.1.tar.gz" - sha256 "4969c691009a389fb1f9712dd8e7bd70dcc418d15a0faf70acb5117d022f7de8" + url "https://files.pythonhosted.org/packages/1a/0a/c06b542ac108bfc73200677309cd9188a3a01b127a63f20cadc18d873d88/pymdown_extensions-10.16.tar.gz" + sha256 "71dac4fca63fabeffd3eb9038b756161a33ec6e8d230853d3cecf562155ab3de" end resource "python-dateutil" do @@ -191,8 +195,8 @@ class Balcony < Formula end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "pyyaml-env-tag" do @@ -201,23 +205,18 @@ class Balcony < Formula end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz" + sha256 "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422" end resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" + url "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz" + sha256 "439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098" end resource "s3transfer" do - url "https://files.pythonhosted.org/packages/05/04/74127fc843314818edfa81b5540e26dd537353b123a4edc563109d8f17dd/s3transfer-0.16.0.tar.gz" - sha256 "8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" + url "https://files.pythonhosted.org/packages/6d/05/d52bf1e65044b4e5e27d4e63e8d1579dbdec54fce685908ae09bc3720030/s3transfer-0.13.1.tar.gz" + sha256 "c3fdba22ba1bd367922f27ec8032d6a1cf5f10c934fb5d68cf60fd5a23d936cf" end resource "six" do @@ -225,24 +224,19 @@ class Balcony < Formula sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" end - resource "typeguard" do - url "https://files.pythonhosted.org/packages/c7/68/71c1a15b5f65f40e91b65da23b8224dad41349894535a97f63a52e462196/typeguard-4.4.4.tar.gz" - sha256 "3a7fd2dffb705d4d0efaed4306a704c89b9dee850b688f060a8b1615a79e5f74" - end - resource "typer" do - url "https://files.pythonhosted.org/packages/8f/28/7c85c8032b91dbe79725b6f17d2fffc595dff06a35c7a30a37bef73a1ab4/typer-0.20.0.tar.gz" - sha256 "1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37" + url "https://files.pythonhosted.org/packages/e1/45/bcbc581f87c8d8f2a56b513eb994d07ea4546322818d95dc6a3caf2c928b/typer-0.7.0.tar.gz" + sha256 "ff797846578a9f2a201b53442aedeb543319466870fbe1c701eab66dd7681165" end resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + url "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz" + sha256 "38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36" end resource "urllib3" do - url "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz" - sha256 "016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797" + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "watchdog" do @@ -253,13 +247,9 @@ class Balcony < Formula patch :DATA def install - # hatch does not support a SOURCE_DATE_EPOCH before 1980. - # Remove after https://github.com/pypa/hatch/pull/1999 is released. - ENV["SOURCE_DATE_EPOCH"] = "1451574000" - virtualenv_install_with_resources - generate_completions_from_executable(bin/"balcony", shell_parameter_format: :typer) + generate_completions_from_executable(bin/"balcony", "--show-completion") end test do @@ -285,3 +275,19 @@ def install balcony_aws = BalconyAWS(session) -app = typer.Typer(no_args_is_help=True, pretty_exceptions_enable=False) +app = typer.Typer(no_args_is_help=True, pretty_exceptions_show_locals=False) + + + +diff --git a/pyproject.toml b/pyproject.toml +index 811f0e1..1e20916 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -13,7 +13,7 @@ balcony = "balcony.cli:run_app" + + [tool.poetry.dependencies] + python = "^3.9" +-typer = "^0.7.0" ++typer = "^0.12.0" + rich = "^13.3.4" + boto3 = "^1.24.80" + jmespath = "^1.0.1" diff --git a/Formula/b/bash-script-tools.rb b/Formula/b/bash-script-tools.rb deleted file mode 100644 index 2e20ce8712..0000000000 --- a/Formula/b/bash-script-tools.rb +++ /dev/null @@ -1,40 +0,0 @@ -class BashScriptTools < Formula - desc "Web-based bash script formatter and linter with AI-powered autofix" - homepage "https://github.com/overflowy/bash-script-tools" - url "https://github.com/overflowy/bash-script-tools/archive/refs/tags/v1.0.2.tar.gz" - sha256 "c4a1554057dcd1e3a15edbf11d6c5ba232804082378d77cc620e05572ea7ffde" - license "MIT" - head "https://github.com/overflowy/bash-script-tools.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2d3e54eaa75922b53e864cd320b1dc755cb16b343bbef00ec6dcfa371af0f67f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2d3e54eaa75922b53e864cd320b1dc755cb16b343bbef00ec6dcfa371af0f67f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2d3e54eaa75922b53e864cd320b1dc755cb16b343bbef00ec6dcfa371af0f67f" - sha256 cellar: :any_skip_relocation, arm64_linux: "6117e4a61125189e854f66003dcf2ddbf4a49587f7644c9f46eaac24629933e9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "15e72fd1ef5fa4658191039ae1498b05eea9b8f2539d8b0c61fb21f52f742716" - end - - depends_on "go" => :build - depends_on "shellcheck" - depends_on "shfmt" - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - port = free_port - - ENV["PORT"] = port.to_s - ENV["GROQ_MODEL_ID"] = "openai/gpt-oss-120b" - - pid = spawn bin/"bash-script-tools" - sleep 1 - output = shell_output("curl -s http://localhost:#{port}/") - assert_match "Format and lint your Bash scripts", output - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/b/batctl.rb b/Formula/b/batctl.rb deleted file mode 100644 index ad339d72b9..0000000000 --- a/Formula/b/batctl.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Batctl < Formula - desc "Battery charge threshold manager for Linux laptops" - homepage "https://github.com/Ooooze/batctl" - url "https://github.com/Ooooze/batctl/archive/refs/tags/v2026.3.13.tar.gz" - sha256 "7d7a80a871c162e5dbe873c4a7275d125c3f41fceff87335e3003b45ff32e973" - license "MIT" - head "https://github.com/Ooooze/batctl.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "90bf721bc42ba3c08862738309c36cce559f0b0594e8ae651004a200203999cb" - sha256 cellar: :any_skip_relocation, x86_64_linux: "deeb511ae35f17d7779150180e274435f5ceea913985399cb5f2d5c267acca3f" - end - - depends_on "go" => :build - depends_on :linux - - def install - ldflags = "-s -w -X main.version=#{version}" - system "go", "build", *std_go_args(ldflags:, output: bin/"batctl"), "./cmd/batctl" - end - - test do - output = shell_output("#{bin}/batctl persist status") - assert_match "Boot service:", output - assert_match "Resume service:", output - end -end diff --git a/Formula/b/bbrew.rb b/Formula/b/bbrew.rb deleted file mode 100644 index 4390c6f490..0000000000 --- a/Formula/b/bbrew.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Bbrew < Formula - desc "Bold Brew (bbrew) - A Homebrew TUI Manager" - homepage "https://bold-brew.com/" - url "https://github.com/Valkyrie00/bold-brew/archive/refs/tags/v2.2.1.tar.gz" - sha256 "ec424e255ee90cdb2ee425f08898fba8587b145d8398f96cba63eec7b21f40ed" - license "MIT" - head "https://github.com/Valkyrie00/bold-brew.git", branch: "trunk" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4be7ef4856626386211ee24973fba5a137bcc18a09037c9df1f6cbbcfac7820c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4be7ef4856626386211ee24973fba5a137bcc18a09037c9df1f6cbbcfac7820c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4be7ef4856626386211ee24973fba5a137bcc18a09037c9df1f6cbbcfac7820c" - sha256 cellar: :any_skip_relocation, arm64_linux: "9c98938de843e3cccadb4f03cb37eab2ed0cb212f9db2665d598586d6a442863" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ab99fa936fecc15b40c95b7635bbde219181f26dcad5bb16201e64e6ed49ce6a" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X bbrew/internal/services.AppVersion=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/bbrew" - end - - test do - (testpath/"Brewfile").write <<~EOS - brew "wget" - EOS - - begin - output_log = testpath/"output.log" - pid = spawn bin/"bbrew", "-f", testpath/"Brewfile", [:out, :err] => output_log.to_s - sleep 8 - assert_match "Application error: terminal not cursor addressable", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/b/bearer.rb b/Formula/b/bearer.rb index fa8ed648db..794a32e355 100644 --- a/Formula/b/bearer.rb +++ b/Formula/b/bearer.rb @@ -1,24 +1,21 @@ class Bearer < Formula desc "SAST tool to find, filter, and prioritize code security & privacy risks" homepage "https://docs.bearer.com/" - url "https://github.com/Bearer/bearer/archive/refs/tags/v2.0.1.tar.gz" - sha256 "677105bd9f3d270196d82f7f19d6fd7cf68b3a70a8339a6f4119010b02ef6509" + url "https://github.com/Bearer/bearer/archive/refs/tags/v1.51.0.tar.gz" + sha256 "ba8d621ef954c2a5f43337c9f401d05d74301b101272101ed386182c3834a774" license "Elastic-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "eb38df92361051d0616e748e029df3048089a87101c6854338ec0104a661fafb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "eb87fdbe7ee94737e68b75abfd4d9ce89f38bda3a30321aac83231e619e18319" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a0bb63de7b3fbb979a5ce6d1cfcae66c5b4e563900aaf4079e5300b97568a478" - sha256 cellar: :any_skip_relocation, arm64_linux: "3a4fd8d49f6982074d926707c80a2a8c44d4f56f3754c2b877b5d77e12b15f65" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e3989cb7950460bcc78c2afc22b8688c9d2c0b7d2b223a6aace66d786a3a0eec" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "372ccef6c52ea14afca4879954f55fd2a4f63a8d7c2c640f62067c1df47be769" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f4d45a21d74634e63ef0c69aae93d069a0ed6e1519d463b64da75665cfccc6d1" + sha256 cellar: :any_skip_relocation, ventura: "eb558fffc0623bf359e0e40643b30010364dc06dba7d54a5173e27d5f3a7ff34" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b9035b8e4689b2bc8cb0c893441c649df1161f1d9d67df6e2bf799c533d2dabd" end depends_on "go" => :build def install - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - ldflags = %W[ -s -w -X github.com/bearer/bearer/cmd/bearer/build.Version=#{version} diff --git a/Formula/b/beelzebub.rb b/Formula/b/beelzebub.rb deleted file mode 100644 index b58ec7c61e..0000000000 --- a/Formula/b/beelzebub.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Beelzebub < Formula - desc "Secure low code honeypot framework, leveraging AI for System Virtualization" - homepage "https://beelzebub-honeypot.com/" - url "https://github.com/mariocandela/beelzebub/archive/refs/tags/v3.6.10.tar.gz" - sha256 "9f1d44f34816c4ad9fe135d4273202736d87089e72d47046c18409f5501f86bc" - license "GPL-3.0-only" - head "https://github.com/mariocandela/beelzebub.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c7d0becf958e71faaf117823cd26c0f3b06a358bb1d24e71af8f8cbe167eaafc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "be643f68cc463c8ce40cfa4f964b101957035a02291c54018974d79fc0a010f2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3978584b787c744613da6acdc7abc297e5ca0279c676ebe7ad8a891df5d32d60" - sha256 cellar: :any_skip_relocation, arm64_linux: "cf7a6b2985abbecf11129d4720842b3f21d8c3be13ec338bf93f6b79c28ab42a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "966695d1818dafd1597e5516c491a17df1e849793ad3ccc9eeaa1fadf4a084e6" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - output = shell_output("#{bin/"beelzebub"} 2>&1", 1) - assert_match "no services configured", output - end -end diff --git a/Formula/b/better-env.rb b/Formula/b/better-env.rb deleted file mode 100644 index eed3ac0d7e..0000000000 --- a/Formula/b/better-env.rb +++ /dev/null @@ -1,30 +0,0 @@ -class BetterEnv < Formula - desc "Secure, Developer-Friendly Alternative to .env" - homepage "https://better-env.dev/docs" - url "https://github.com/HarishChandran3304/better-env/archive/refs/tags/v0.1.4.tar.gz" - sha256 "181642d86edb6639df545e1317286b18cb0d416837b5614bd763983259249298" - license "MIT" - head "https://github.com/HarishChandran3304/better-env.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2cd496d1ff136919ea8cede59a9ad993a6a2d749eed2af6b6d7c7d3292e6cb5d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2cd496d1ff136919ea8cede59a9ad993a6a2d749eed2af6b6d7c7d3292e6cb5d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2cd496d1ff136919ea8cede59a9ad993a6a2d749eed2af6b6d7c7d3292e6cb5d" - sha256 cellar: :any_skip_relocation, arm64_linux: "9b903c954aeb7326899668b1b3ac4833e9b855a8beb5c142f731db9cf7a74798" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1af2cfff78be361dca3c082c188ca9d71556e38471782b22628ddefa073c6ce8" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/HarishChandran3304/better-env/cmd.Version=#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/better-env --version") - assert_match "better-env is not configured", shell_output("#{bin}/better-env init 2>&1", 1) - assert_match ".better-env file not found", shell_output("#{bin}/better-env list 2>&1", 1) - end -end diff --git a/Formula/b/bibiman.rb b/Formula/b/bibiman.rb deleted file mode 100644 index 443cf6e969..0000000000 --- a/Formula/b/bibiman.rb +++ /dev/null @@ -1,46 +0,0 @@ -class Bibiman < Formula - desc "TUI for fast and simple interacting with your BibLaTeX database" - homepage "https://codeberg.org/lukeflo/bibiman" - url "https://codeberg.org/lukeflo/bibiman/archive/v0.19.5.tar.gz" - sha256 "c8ae4f55ce1f74da292fa98ed1d5b7a530f3c7df37a8a14f111366ca23a10efb" - license "GPL-3.0-or-later" - head "https://codeberg.org/lukeflo/bibiman.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "82bb25eda1b6f07a84bf7932b735937e74f560c97f07fea32be4a1dc14d91e1d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fae28c6246ed5c7e5f34eb835997a81aef517f224e999a17fcdb699c695d9144" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d94696a160aba5e4199e89c963ca202cb41c18eca8776e9ac0868993573edf3d" - sha256 cellar: :any_skip_relocation, arm64_linux: "0c940fb99cce21d53e0bbca2fbc975b921bf06b5c8612cd1255bd3cbb2e2c4c2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "25ce596d5c8f58c52d1d02ced3dac3d72bafbeefbd5263428214240d54069182" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/bibiman --version") - - # failed with Linux CI, `No such device or address (os error 6)` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - test_file = testpath/"test.bib" - test_file.write("") - - test_config = testpath/".config/bibiman/bibiman.toml" - test_config.write("") - - output_log = testpath/"output.log" - pid = spawn bin/"bibiman", "--config-file", test_config.to_s, test_file.to_s, [:out, :err] => output_log.to_s - sleep 1 - assert_match "Bibliographic Entries", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/b/bin-fq.rb b/Formula/b/bin-fq.rb deleted file mode 100644 index f5ec3a4ddb..0000000000 --- a/Formula/b/bin-fq.rb +++ /dev/null @@ -1,31 +0,0 @@ -class BinFq < Formula - desc "Jq for binary formats" - homepage "https://github.com/wader/fq" - url "https://github.com/wader/fq/archive/refs/tags/v0.17.0.tar.gz" - sha256 "c5658b2bc635a1d344c64e37d7311157f0fc4b20cc3cfa4d09bdd2f023692d57" - license "Apache-2.0" - head "https://github.com/wader/fq.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "92765117fb16816140e29a2410e8f3aff57574a425377171985558d2749cbbbf" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "92765117fb16816140e29a2410e8f3aff57574a425377171985558d2749cbbbf" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "92765117fb16816140e29a2410e8f3aff57574a425377171985558d2749cbbbf" - sha256 cellar: :any_skip_relocation, arm64_linux: "a4e16e017be5981026faef738935cd99b42fe4d0feb3f3a7d9569b7d4ea7c557" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5a767da0dc6f89452113e0ea73ced3a4b9cb596a10be7b6aa2963617f8a54cc0" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:, output: bin/"fq") - end - - test do - assert_match version.to_s, shell_output("#{bin}/fq --version") - - out = pipe_output("#{bin}/fq -d json '.[0]'", "[1,2,3]") - assert_equal "1\n", out - end -end diff --git a/Formula/b/bitchat-tui.rb b/Formula/b/bitchat-tui.rb deleted file mode 100644 index 28a2c2b498..0000000000 --- a/Formula/b/bitchat-tui.rb +++ /dev/null @@ -1,38 +0,0 @@ -class BitchatTui < Formula - desc "TUI client for bitchat" - homepage "https://github.com/vaibhav-mattoo/bitchat-tui" - url "https://github.com/vaibhav-mattoo/bitchat-tui/archive/refs/tags/v0.1.0.tar.gz" - sha256 "626860df233f337ab204de3d64b04fc03aaeccbf9e8d692d53445d24cf5d6bcd" - license "MIT" - head "https://github.com/vaibhav-mattoo/bitchat-tui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ea79669c124475143c6dcd0a20a59c20a22a48030e2a528661a320ebcd898e25" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "543df0f7885d5653f506aeff1ba13b760778e9c02394a54c9efd56fe0d3b39e0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5a86a445de5b6312f1bbf57a568b909adc2c1a0ebac604471885ace22a93b329" - sha256 cellar: :any_skip_relocation, arm64_linux: "10d884d0703879c68ff9e688e5abace1d7e5729d96598527ce2862ec1deeba57" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3e94acb92aa91d21d2d2696daf7790a956cb62a686d4881177a667165ef00107" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # failed with Linux CI, `No such device or address` error - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"bitchat-tui", [:out, :err] => output_log.to_s - sleep 1 - assert_match "Public Chat", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/b/blade-formatter.rb b/Formula/b/blade-formatter.rb index fb26417e67..1f6fff2bbe 100644 --- a/Formula/b/blade-formatter.rb +++ b/Formula/b/blade-formatter.rb @@ -1,17 +1,16 @@ class BladeFormatter < Formula desc "Opinionated blade template formatter for Laravel that respects readability" homepage "https://github.com/shufo/blade-formatter" - url "https://registry.npmjs.org/blade-formatter/-/blade-formatter-1.44.4.tgz" - sha256 "f71388bf77051936cce72d9ab562d59876b066bbeeac6da7d43a04c654b5d6cd" + url "https://registry.npmjs.org/blade-formatter/-/blade-formatter-1.44.2.tgz" + sha256 "86c2c12d101cf01113a61778a9b159c26aebd4881efc5cd1f6d86b8b01e0c059" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "829892ef971fcef65d1be610964648e0823169aa03d6f07d289f1c3889ea012a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "829892ef971fcef65d1be610964648e0823169aa03d6f07d289f1c3889ea012a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "829892ef971fcef65d1be610964648e0823169aa03d6f07d289f1c3889ea012a" - sha256 cellar: :any_skip_relocation, arm64_linux: "ade2351df5e7b4258fe77c9bfb12bb0304c4484c18700d5b8111082fa0582eab" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ade2351df5e7b4258fe77c9bfb12bb0304c4484c18700d5b8111082fa0582eab" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "5e6bb6070a72b52aaeb71e7ba4fec895c3e9965c8677b61853fafba4f29b37a1" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d1f5a0ae4f87a17b932e5d207913effcf253a60cfe0bec5d035dc9ec1a3ee35f" + sha256 cellar: :any_skip_relocation, ventura: "4c9864ebc707382ae3433d8c5f92aa5b253507eb6a5069d0eee777afed129ff8" + sha256 cellar: :any_skip_relocation, x86_64_linux: "6a451dbfdcdf80549f288aea4a6db79b6706e5db1b6bf63972c272f093a46176" end depends_on "node" diff --git a/Formula/b/blue.rb b/Formula/b/blue.rb index 273319f5c6..cb93f0970b 100644 --- a/Formula/b/blue.rb +++ b/Formula/b/blue.rb @@ -9,11 +9,13 @@ class Blue < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, all: "20347bff96a304bf3774e8af5aaaaf447ef6980c276829bf325dda0b30c38a07" + rebuild 1 + sha256 cellar: :any_skip_relocation, arm64_sequoia: "54c98b767dcb423f9e5c6f91e5aab4987353b2677899c08058b6a47552872bd0" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "506cfe191dff63c2836d1a60ff46d2f75a7ceca0cd4cf19e06ed974acb22b3fa" + sha256 cellar: :any_skip_relocation, ventura: "7bb0d122f907c53d1a7ad695dc98185217230c6adcf0e26b856a02a0d01abc27" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f90da82b54b60409cbc67a0cd343a725756af3fb10f3ba8406a52658f45721ed" end - # cannot upgrade to python 3.14 due to `module 'ast' has no attribute 'Str'` error depends_on "python@3.13" resource "black" do @@ -22,8 +24,8 @@ class Blue < Formula end resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" end resource "flake8" do @@ -37,8 +39,8 @@ class Blue < Formula end resource "mypy-extensions" do - url "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz" - sha256 "52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558" + url "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz" + sha256 "75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782" end resource "pathspec" do @@ -47,8 +49,8 @@ class Blue < Formula end resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" + url "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz" + sha256 "357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907" end resource "pycodestyle" do @@ -62,8 +64,8 @@ class Blue < Formula end resource "tomli" do - url "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz" - sha256 "64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549" + url "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz" + sha256 "cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff" end def install diff --git a/Formula/b/blush.rb b/Formula/b/blush.rb index 33c1a357cc..9844dd22cf 100644 --- a/Formula/b/blush.rb +++ b/Formula/b/blush.rb @@ -4,16 +4,14 @@ class Blush < Formula url "https://github.com/arsham/blush/archive/refs/tags/v0.6.0.tar.gz" sha256 "6db6b033bb5d4c4ac350b36b82d79447d5b91509db3a5eceb72ecb9484495e54" license "MIT" - revision 1 head "https://github.com/arsham/blush.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "06bf30af4fa379fb0743773ed96c650876086a807a19cd8b40fb133807bf730c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "06bf30af4fa379fb0743773ed96c650876086a807a19cd8b40fb133807bf730c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "06bf30af4fa379fb0743773ed96c650876086a807a19cd8b40fb133807bf730c" - sha256 cellar: :any_skip_relocation, arm64_linux: "55e42a9d76081b4d12b8157a1de4c50b25655972968bf64fd5c34de6ab121fee" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fa81fbebaff23335cba4c4a914d3decae53777b1e2e1f063605aa8e96eaadc40" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "4e4965bcf1d5c76f970c887b6ceb0b3ad781a96da41aa578d2216cd24ff65275" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "3f5239d798d04c3f2f38363014e313ab070b30aeca154dee51dfda0a5760e436" + sha256 cellar: :any_skip_relocation, ventura: "bc466066f6da541f0a8873fd5e5f82ab1dbd70d450fb3ad9d81b9dae4a5e0be0" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ed0d94801b9e22702add2c7618aa2de11350f719725ae462e53ae8c56f64359d" end depends_on "go" => :build diff --git a/Formula/b/botkube.rb b/Formula/b/botkube.rb index b3a7b6a9c2..418d30a80c 100644 --- a/Formula/b/botkube.rb +++ b/Formula/b/botkube.rb @@ -4,17 +4,15 @@ class Botkube < Formula url "https://github.com/kubeshop/botkube/archive/refs/tags/v1.14.0.tar.gz" sha256 "ca637b3a18ea8a398eba0e2b498c9c0c91f6c31a4529bd7ae54d4ae4e3fc6928" license "MIT" - revision 1 head "https://github.com/kubeshop/botkube.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f118f252797351183b508265d49c2dd27cd72e8b462ac9e7f87e155c9c431902" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f71cf9ca9409b876a982bd8378319190814187dce2e0cb0e37900d03d2387366" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8ea79b73f83c1dcce8473397a3ecaf69ae9aa8e6a76d81e2c10e3c83862c414d" - sha256 cellar: :any_skip_relocation, arm64_linux: "6f434fc390dd4e3ad94c8d4c1fc4edc8e06a17565a89acc05e5b18a1f7f21e21" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4d3d699f85a4e6437a508562fa8569f2e5e082765eb52128a6eabd3194db25f2" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e3ecb7b51fa9b0665320c8417c2ad50bfe940bb15620f62f4567768768ca72d8" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "0acfca2dc95ad006ae4decf71efdc18e090b1088ad80aab0fd67e559a26f2076" + sha256 cellar: :any_skip_relocation, ventura: "46a567e1a03c1b2a5aa598c9747b6b55459c78462f88c48a508be00457c56a5d" + sha256 cellar: :any_skip_relocation, x86_64_linux: "3013aaadf694204dbe328f49a959c4a2a017c1f88b7a58459ff39ed3df70a869" end depends_on "go" => :build @@ -32,7 +30,7 @@ def install system "go", "build", *std_go_args(ldflags:), "./cmd/cli" - generate_completions_from_executable(bin/"botkube", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"botkube", "completion", shells: [:bash, :zsh, :fish, :pwsh]) end test do diff --git a/Formula/b/box.rb b/Formula/b/box.rb index 8e56ba1b59..ce60f5ef95 100644 --- a/Formula/b/box.rb +++ b/Formula/b/box.rb @@ -1,13 +1,16 @@ class Box < Formula desc "Fast, zero config application bundler with PHARs" homepage "https://box-project.github.io/box/" - url "https://github.com/box-project/box/releases/download/4.7.0/box.phar" - sha256 "3d390eeaec33288098fe83f8a54c60cc575cb6be295f38ff4482b4b4f26f8d52" + url "https://github.com/box-project/box/releases/download/4.6.7/box.phar" + sha256 "f49a711985219c9e0ef9faa49a95d8ab47385b8b8966dc5ac0ca10f9ac318e6b" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "90106abc8ffb8aac60387b9c04057d6440ba70f1973e51f34236334a4ce92828" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "11a19a732110154dabbe352e1a8041391291d9474580b98383cac3efb208ffab" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5f6a1e38068168bbd3040d0459245c36a5cac5ef23dd8f7c83954ee79fe5d8b7" + sha256 cellar: :any_skip_relocation, ventura: "df298fa0705581a55a52e52b0de0d6184d4aca3fd4462e5dca89ff5fda0ffb8c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e849793c92415c8d08a5dede04c5c1a84227bafd27a4cd0cedbab99517af82c7" end depends_on "php" diff --git a/Formula/b/brave-search-mcp-server.rb b/Formula/b/brave-search-mcp-server.rb index e91f86d8c4..cece424c0d 100644 --- a/Formula/b/brave-search-mcp-server.rb +++ b/Formula/b/brave-search-mcp-server.rb @@ -1,20 +1,23 @@ class BraveSearchMcpServer < Formula desc "MCP server for Brave Search" homepage "https://github.com/brave/brave-search-mcp-server" - url "https://registry.npmjs.org/@brave/brave-search-mcp-server/-/brave-search-mcp-server-2.0.80.tgz" - sha256 "d9ac4dbf6d684134a4189cc25ae271298168b4878bdda8309f680729c736f524" + url "https://registry.npmjs.org/@brave/brave-search-mcp-server/-/brave-search-mcp-server-1.3.7.tgz" + sha256 "2b636d7fc369544d798b9f34ac038e60a32edbcd5302cfc8552b727d76877b1d" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "aa70e791c8df3f7b0bec005213de8c26f66f50948bfacea4a25d0040c2aec519" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "f36f2bdfec9bedde522bb7cd65e95b25644bb92330802a66980ea7f127bdfe48" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "868da276238f910ef68c4b8715bd6f0c73b442ee6cc5f787be20aaa0778bde54" + sha256 cellar: :any_skip_relocation, ventura: "2f41d187b06921fa3f6a99b04667e062c2ba774fe4d571d4f24302d145c618cc" + sha256 cellar: :any_skip_relocation, x86_64_linux: "aa45b123b2b093d9f4d3bd0bfe17106bd09bbc7c5111a7b68d34fe399ea72fd5" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/b/brew-cleaner.rb b/Formula/b/brew-cleaner.rb index 9dfecde09f..02fbf8b4c9 100644 --- a/Formula/b/brew-cleaner.rb +++ b/Formula/b/brew-cleaner.rb @@ -9,11 +9,13 @@ class BrewCleaner < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, all: "5e1e12bc9cca20c43960661493e433932443fb7ec5a29f90f7f1650aa59dd93c" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2c60cc1167615c437222cb9417904f8d655a75c7bb8f22bbb400c6427f972160" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "70652586a13321e4f3549698c7b39a3b0f54324cc0668b1af05ca2d1cfe763c4" + sha256 cellar: :any_skip_relocation, ventura: "d16147c2487638a533d708999ae5794cdcf15f7f1eb1adc8026be72a9fb79bdb" + sha256 cellar: :any_skip_relocation, x86_64_linux: "6ae3caf763176d8d84d73c04af4cc07d6d6b159aa77ba8a59b6853e9f998f52d" end - depends_on "python@3.14" + depends_on "python@3.13" resource "prompt-toolkit" do url "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz" @@ -21,8 +23,8 @@ class BrewCleaner < Formula end resource "wcwidth" do - url "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz" - sha256 "4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605" + url "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz" + sha256 "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" end def install diff --git a/Formula/b/brighterscript-formatter.rb b/Formula/b/brighterscript-formatter.rb index 5680444055..f4d615acfd 100644 --- a/Formula/b/brighterscript-formatter.rb +++ b/Formula/b/brighterscript-formatter.rb @@ -1,17 +1,16 @@ class BrighterscriptFormatter < Formula desc "Code formatter for BrighterScript (and BrightScript)" homepage "https://github.com/rokucommunity/brighterscript-formatter" - url "https://registry.npmjs.org/brighterscript-formatter/-/brighterscript-formatter-1.7.23.tgz" - sha256 "61cd4553784146ac6eff86781b3a5b488b899fa8caa00f78484123226a49f350" + url "https://registry.npmjs.org/brighterscript-formatter/-/brighterscript-formatter-1.7.17.tgz" + sha256 "03354916acd1de1ab71de91f62f49b995a3f92e7c1d57c570b67cca5f0476e96" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "bf8d0e46e725d3f5143423d6b14a7b41b3307a1796e0d99f65b1c18f33fd9b4f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "bf8d0e46e725d3f5143423d6b14a7b41b3307a1796e0d99f65b1c18f33fd9b4f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bf8d0e46e725d3f5143423d6b14a7b41b3307a1796e0d99f65b1c18f33fd9b4f" - sha256 cellar: :any_skip_relocation, arm64_linux: "81efe05b7cd3983273bcc5847df7eff4a6c2cc1d27f906577a583ffe896ebc9e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "81efe05b7cd3983273bcc5847df7eff4a6c2cc1d27f906577a583ffe896ebc9e" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9f94cf220f4be30a715e0c0f21acdd2b0be3865cc6fd0c0425fd6d0af914cb34" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "00b84005e1e403b02a7f8d37ba2031fa2eaa94543c6ac58ea2eb08147840bac8" + sha256 cellar: :any_skip_relocation, ventura: "fed58aa1f1316e4c797db21a7b0f85ec72ba6d126338c04a1d3a7067ed397f8b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2255d42a67c5c79a98335c8838c1fa965a51277d71d0a1abbe6cbdd8ead98bca" end depends_on "node" diff --git a/Formula/b/brotab.rb b/Formula/b/brotab.rb index fcbc47aac9..053c3a1375 100644 --- a/Formula/b/brotab.rb +++ b/Formula/b/brotab.rb @@ -9,19 +9,18 @@ class Brotab < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1d975d00f78d3888b3e4c6b164059d8c2ab271c59bb5e3c6c7472a02e565f0b0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "30b5b5e9eb36b3567f7b530c4a4d898202ebb9e523474192418ff28ca5c78300" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5ab510984becaef3d95f2173b2acc294013fda5ec9c0107a4f391efb6d47ccb1" - sha256 cellar: :any_skip_relocation, sequoia: "752d676f1799b58e515d9fefb6e11b8768991735797ffefc543e6ca85d228201" - sha256 cellar: :any_skip_relocation, arm64_linux: "aafb3eed31a6637781100412a13134673caaa5c20010c4c2d613f2d7ec59c07c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8d21cd1cbb0e799657bd6102ce7d03e2f71fabfc1d781524c8d73e78ba3ecf29" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "5035ce71e91e226ae76803936a361e809f02e6e36b38871521ee8512a457fcc0" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ff8aa7d20ed912acf3a519baf5fbb59d4fff48db6a366c42761200bea6b5cdf6" + sha256 cellar: :any_skip_relocation, ventura: "271aa25ce2f3a57e0fb8a8e7401a6e0dbd06a754dfe9303e4f326357371ce1ae" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9ffc168f88e76958731c2ff723f7d393e9d915e437a7d4fda1add8b5cccb897d" end - depends_on "certifi" => :no_linkage - depends_on "python@3.14" + depends_on "python@3.13" - pypi_packages exclude_packages: "certifi" + resource "certifi" do + url "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz" + sha256 "3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651" + end resource "chardet" do url "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz" @@ -29,8 +28,8 @@ class Brotab < Formula end resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" end resource "flask" do @@ -49,13 +48,13 @@ class Brotab < Formula end resource "jinja2" do - url "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" - sha256 "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" + url "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz" + sha256 "8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb" end resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" + url "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz" + sha256 "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0" end resource "psutil" do diff --git a/Formula/b/browserbase-mcp-server.rb b/Formula/b/browserbase-mcp-server.rb index 7b53af402f..7bc5b6f6a8 100644 --- a/Formula/b/browserbase-mcp-server.rb +++ b/Formula/b/browserbase-mcp-server.rb @@ -1,17 +1,17 @@ class BrowserbaseMcpServer < Formula desc "MCP server for AI web browser automation using Browserbase and Stagehand" homepage "https://github.com/browserbase/mcp-server-browserbase" - url "https://registry.npmjs.org/@browserbasehq/mcp-server-browserbase/-/mcp-server-browserbase-2.4.3.tgz" - sha256 "d0255d41e987f916797eda5c209de4b219090f83e0dd01a713b6bd398d81ad81" + url "https://registry.npmjs.org/@browserbasehq/mcp-server-browserbase/-/mcp-server-browserbase-2.0.1.tgz" + sha256 "0b720b596113f4640aa27d5e7339bcfb3da4ba21182c72179735267d44170c12" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "0321a4628679b5f98129902355e6676714eec366011ea309a8181b9500acbdcd" - sha256 arm64_sequoia: "4e96bd67d30ac416a080c3851254c30ba8b1cc0e949ea32ddc6392033ec6ad04" - sha256 arm64_sonoma: "4e96bd67d30ac416a080c3851254c30ba8b1cc0e949ea32ddc6392033ec6ad04" - sha256 cellar: :any_skip_relocation, arm64_linux: "4e282eefa3fe6e366887e808cc00cae955fbcdb2ac0d611256d5e6c748649c1d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "72019e5ecabc5ab7c3b5b2678747bbfa1787c97a3cdc94a02d97f47e92232909" + rebuild 1 + sha256 arm64_sequoia: "b201eca708197405f6f1c26dd417f494d921225862c753bab40a7b3afcb3ef98" + sha256 arm64_sonoma: "3825ed82ee5343837d36c39ae4764460ce1ee03655f29763489b3e9aceed2edb" + sha256 ventura: "5856de0e263aa85036d4ffbec6251c67304ec82b18035f1f628a94a6ddda8c81" + sha256 cellar: :any_skip_relocation, x86_64_linux: "491fc887d8d86e6c8874102e9db3aab7ecd2b036b5f8d12fca7e25c36612307d" end depends_on "node" @@ -19,20 +19,6 @@ class BrowserbaseMcpServer < Formula def install system "npm", "install", *std_npm_args bin.install_symlink libexec/"bin/mcp-server-browserbase" => "browserbase-mcp-server" - - # Remove incompatible pre-built native artifacts and keep only the host one. - os = OS.kernel_name.downcase - arch = Hardware::CPU.intel? ? "x64" : Hardware::CPU.arch.to_s - libexec.glob("lib/node_modules/**/{bare-fs,bare-os,bare-url,bufferutil}/prebuilds/*") - .each { |dir| rm_r(dir) if dir.basename.to_s != "#{os}-#{arch}" } - libexec.glob("lib/node_modules/**/@rollup/rollup-*").each(&:rmtree) - - if OS.linux? - # Keep glibc artifacts and prune vendored musl binaries that fail linkage. - libexec.glob("lib/node_modules/**/@oven/bun-linux-*-musl*").each(&:rmtree) - libexec.glob("lib/node_modules/**/@img/sharp-linuxmusl-*").each(&:rmtree) - libexec.glob("lib/node_modules/**/@img/sharp-libvips-linuxmusl-*").each(&:rmtree) - end end test do @@ -44,6 +30,6 @@ def install JSON output = pipe_output(bin/"browserbase-mcp-server", json, 0) - assert_match "Create or reuse a Browserbase browser session and set it as active", output + assert_match "Create parallel browser session for multi-session workflows", output end end diff --git a/Formula/b/bsky-cli.rb b/Formula/b/bsky-cli.rb deleted file mode 100644 index 31e524784c..0000000000 --- a/Formula/b/bsky-cli.rb +++ /dev/null @@ -1,29 +0,0 @@ -class BskyCli < Formula - desc "Command-line client for Bluesky" - homepage "https://github.com/harveyrandall/bsky-cli" - url "https://github.com/harveyrandall/bsky-cli/archive/refs/tags/v1.9.1.tar.gz" - sha256 "53b8725ee7310446e71a38cb05611eb8d3e65ebab4bcf74938c35e453886dbfc" - license "MIT" - head "https://github.com/harveyrandall/bsky-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "e7a72fe3d7d98105a4832889f10e5b52b750815ded31782afdb9c57467543a5d" - end - - depends_on "node" - - def install - system "npm", "install", "--include=dev", *std_npm_args(prefix: false, ignore_scripts: false) - system "npm", "run", "build" - system "npm", "install", *std_npm_args - - bin.install_symlink libexec.glob("bin/*") - generate_completions_from_executable(bin/"bsky", "completions", shells: [:bash, :fish, :zsh]) - end - - test do - assert_match version.to_s, shell_output("#{bin}/bsky --version") - assert_match "_bsky_completions", shell_output("#{bin}/bsky completions bash") - end -end diff --git a/Formula/b/budgetclaw.rb b/Formula/b/budgetclaw.rb deleted file mode 100644 index bf648038dd..0000000000 --- a/Formula/b/budgetclaw.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Budgetclaw < Formula - desc "Local spend monitor for Claude Code" - homepage "https://github.com/RoninForge/budgetclaw" - url "https://github.com/RoninForge/budgetclaw/archive/refs/tags/v0.1.5.tar.gz" - sha256 "a284603f269540c7a6cdf4b5262d203d43b0cc398350076f0f4445ebe29d9a70" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3782144b12b4cfeabff5a242ec34290c4a828d2a534105dbf293f2b58924e9a2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "cd159535f43572768d589373b0ea9ac5a54f6c659474ce60a1132955f37fd4df" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "565877e959c5e824be4f9a071a61a742dd2afffc3fb71b842239cff4c5a23240" - sha256 cellar: :any_skip_relocation, arm64_linux: "9a4797c4ef3ca8cf91841669bcef0aa30a213bbb8af9f6fc56f99ca4c1c5b4af" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f67ccb1212ecaa8fc0069e2777a1653950dc023b69eee60cd141fa13e6f14d18" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/RoninForge/budgetclaw/internal/version.version=#{version} - -X github.com/RoninForge/budgetclaw/internal/version.commit=HEAD - -X github.com/RoninForge/budgetclaw/internal/version.buildDate=#{time.iso8601} - ] - system "go", "build", *std_go_args(ldflags:), "./cmd/budgetclaw" - end - - test do - assert_match version.to_s, shell_output("#{bin}/budgetclaw version") - assert_match "No activity tracked yet", shell_output("#{bin}/budgetclaw status") - end -end diff --git a/Formula/b/bun.rb b/Formula/b/bun.rb deleted file mode 100644 index 0c2d1346a2..0000000000 --- a/Formula/b/bun.rb +++ /dev/null @@ -1,350 +0,0 @@ -class Bun < Formula - desc "Incredibly fast JavaScript runtime, bundler, test runner, and package manager" - homepage "https://bun.com" - url "https://github.com/oven-sh/bun.git", - tag: "bun-v1.3.11", - revision: "a04817ce2b7f1a1e8b7cbf8af8f2c027ab072f1d" - license all_of: [ - "MIT", # Bun itself and most dependencies - "Apache-2.0", # boringssl, simdutf, uSockets, and others - "BSD-3-Clause", # boringssl, lol-html - "BSD-2-Clause", # libbase64 - "Zlib", # zlib - ] - head "https://github.com/oven-sh/bun.git", branch: "main" - - livecheck do - url :stable - regex(/^bun[._-]v?(\d+(?:\.\d+)+)$/i) - end - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "6ddcc50e4aad7157d2a78302f5a0f26fa6ccc97394ac03b6101dfecc8d173909" - sha256 arm64_sequoia: "3d5ce085c0f505a7b9b717ae2a49d1215b3d2fce53e99509675b899d91b27402" - sha256 arm64_sonoma: "6ba3a4b52c9b2fa5b123c95f6d9451ab6fcc31d174b5a452c5f464d929e53999" - sha256 cellar: :any_skip_relocation, arm64_linux: "b3a17f74a94d00372d0d2b177fa5f4d2e5e51207f7baad05883bff14e370e092" - sha256 cellar: :any_skip_relocation, x86_64_linux: "db377c3eb9307024ba39a4d004f00e76930e14c01311563e137c385ea001c8fe" - end - - depends_on "cmake" => :build - depends_on "ninja" => :build - depends_on "pkgconf" => :build - depends_on "python@3.12" => :build - depends_on "rust" => :build - - on_macos do - on_sonoma :or_older do - depends_on "llvm" => :build - end - end - - on_linux do - depends_on "lld@21" => :build - depends_on "llvm@21" => :build - end - - # Use the official release binary only as a bootstrap compiler for - # building Bun from source. - resource "bun-bootstrap" do - on_macos do - on_arm do - url "https://github.com/oven-sh/bun/releases/download/bun-v1.3.11/bun-darwin-aarch64.zip", using: :nounzip - sha256 "6f5a3467ed9caec4795bf78cd476507d9f870c7d57b86c945fcb338126772ffc" - end - on_intel do - url "https://github.com/oven-sh/bun/releases/download/bun-v1.3.11/bun-darwin-x64.zip", using: :nounzip - sha256 "c4fe2b9247218b0295f24e895aaec8fee62e74452679a9026b67eacbd611a286" - end - end - on_linux do - on_arm do - url "https://github.com/oven-sh/bun/releases/download/bun-v1.3.11/bun-linux-aarch64.zip" - sha256 "d13944da12a53ecc74bf6a720bd1d04c4555c038dfe422365356a7be47691fdf" - end - on_intel do - url "https://github.com/oven-sh/bun/releases/download/bun-v1.3.11/bun-linux-x64.zip" - sha256 "8611ba935af886f05a6f38740a15160326c15e5d5d07adef966130b4493607ed" - end - end - end - - def install - if OS.linux? && ENV["CI"] - # Linux ARM CI runners are prone to OOM with default parallel build settings. - if Hardware::CPU.arm? - ENV.deparallelize - ENV["CMAKE_BUILD_PARALLEL_LEVEL"] = "1" - else - # Keep some parallelism on Linux x86_64 to avoid CI timeouts. - ENV["CMAKE_BUILD_PARALLEL_LEVEL"] = "2" - end - end - - if OS.linux? - ENV.prepend_path "PATH", Formula["lld@21"].opt_bin - ENV.prepend_path "PATH", Formula["llvm@21"].opt_bin - # Bun's CMake config passes Clang-specific flags that fail with GCC. - ENV["CC"] = Formula["llvm@21"].opt_bin/"clang" - ENV["CXX"] = Formula["llvm@21"].opt_bin/"clang++" - # Highway can emit evex512 ignored-attribute warnings that become errors. - ENV.append "CXXFLAGS", "-Wno-ignored-attributes" - end - if OS.linux? && Hardware::CPU.intel? - # Keep Linux x86_64 builds off unstable AVX3/AVX512 Highway targets. - ENV.append "CXXFLAGS", - "-DHWY_DISABLED_TARGETS=HWY_AVX3+HWY_AVX3_DL+HWY_AVX3_ZEN4+HWY_AVX3_SPR+HWY_AVX10_2" - end - if OS.linux? - # GCC 12/libstdc++ marks temporary-buffer helpers deprecated and Bun treats - # warnings as errors in TextCodecCJK. - ENV.append "CXXFLAGS", "-Wno-error=deprecated-declarations" - end - if OS.mac? && MacOS.version <= :sonoma - # AppleClang on macOS 14 treats unnamed parameters in C stubs as C2x - # extension warnings, and Bun builds with -Werror. - ENV.append "CFLAGS", "-Wno-error=c2x-extensions" - end - - # Some Bun CMake sub-builds fail to auto-detect archive tools under Homebrew - # superenv and emit CMAKE_AR-NOTFOUND. - ENV["AR"] = "ar" - ENV["RANLIB"] = "ranlib" - - resource("bun-bootstrap").stage buildpath/"bootstrap" - if (bootstrap_zip = Dir[buildpath/"bootstrap"/"*.zip"].first) - system "unzip", "-q", bootstrap_zip, "-d", buildpath/"bootstrap" - end - bootstrap_bin = Dir[buildpath/"bootstrap"/"**/bun"].first - raise "bootstrap bun binary not found" if bootstrap_bin.nil? - - (buildpath/"bootstrap-bin").mkpath - cp bootstrap_bin, buildpath/"bootstrap-bin/bun" - chmod 0755, buildpath/"bootstrap-bin/bun" - ENV.prepend_path "PATH", buildpath/"bootstrap-bin" - - # Avoid warning-option portability breakages under newer AppleClang/GCC. - ENV.append "CFLAGS", "-Wno-unknown-warning-option" - ENV.append "CXXFLAGS", "-Wno-undefined-var-template -Wno-unknown-warning-option" - - # Bun defines this dSYM post-build hook with no explicit SOURCES. - # register_command rejects that, so wire the built bun binary as a source. - inreplace "cmake/targets/BuildBun.cmake", - " TARGET\n ${bun}\n TARGET_PHASE\n", - " TARGET\n ${bun}\n SOURCES\n ${BUILD_PATH}/${bun}\n TARGET_PHASE\n" - # Apple strip lacks Bun's GNU-style options in this block. - inreplace "cmake/targets/BuildBun.cmake", - " set(CMAKE_STRIP_FLAGS --remove-section=__TEXT,__eh_frame " \ - "--remove-section=__TEXT,__unwind_info " \ - "--remove-section=__TEXT,__gcc_except_tab)\n", - " set(CMAKE_STRIP_FLAGS)\n" - inreplace "cmake/targets/BuildBun.cmake", - " --strip-all\n --strip-debug\n --discard-all\n", - "" - # Older Apple clang rejects this zlib workaround flag as unknown. - # Keep it only when the current compiler supports it. - inreplace "cmake/targets/BuildZlib.cmake", - <<~EOS, - if(APPLE) - set(ZLIB_CMAKE_C_FLAGS "-fno-define-target-os-macros") - set(ZLIB_CMAKE_CXX_FLAGS "-fno-define-target-os-macros") - endif() - EOS - <<~EOS - if(APPLE) - include(CheckCCompilerFlag) - include(CheckCXXCompilerFlag) - check_c_compiler_flag("-fno-define-target-os-macros" ZLIB_HAS_NO_DEFINE_TARGET_OS_MACROS_C) - check_cxx_compiler_flag("-fno-define-target-os-macros" ZLIB_HAS_NO_DEFINE_TARGET_OS_MACROS_CXX) - if(ZLIB_HAS_NO_DEFINE_TARGET_OS_MACROS_C) - set(ZLIB_CMAKE_C_FLAGS "-fno-define-target-os-macros") - endif() - if(ZLIB_HAS_NO_DEFINE_TARGET_OS_MACROS_CXX) - set(ZLIB_CMAKE_CXX_FLAGS "-fno-define-target-os-macros") - endif() - endif() - EOS - # WebKit autobuild artifacts can contain this typo in JSArrayInlines.h. - inreplace "cmake/tools/SetupWebKit.cmake", - "file(RENAME ${CACHE_PATH}/bun-webkit ${WEBKIT_PATH})\n", - <<~EOS - file(RENAME ${CACHE_PATH}/bun-webkit ${WEBKIT_PATH}) - if(EXISTS ${WEBKIT_INCLUDE_PATH}/JavaScriptCore/JSArrayInlines.h) - file(READ ${WEBKIT_INCLUDE_PATH}/JavaScriptCore/JSArrayInlines.h JSARRAYINLINES_CONTENT) - string(REPLACE "DirectArgumeLts" "DirectArguments" JSARRAYINLINES_CONTENT "${JSARRAYINLINES_CONTENT}") - file(WRITE ${WEBKIT_INCLUDE_PATH}/JavaScriptCore/JSArrayInlines.h "${JSARRAYINLINES_CONTENT}") - endif() - EOS - if OS.linux? - # Bun's bun-only warning table injects a plain -Werror, so the formula's - # Linux CXXFLAGS do not demote this libstdc++ 12 deprecation on their own. - inreplace "scripts/build/flags.ts", - ' "-Werror",', - <<~EOS.chomp - "-Werror", - "-Wno-error=deprecated-declarations", - EOS - end - if OS.mac? && MacOS.version <= :sequoia - # LLVM 20/21 libc++ declarations differ here; use macro form to match both. - inreplace "src/bun.js/bindings/workaround-missing-symbols.cpp", - "void std::__libcpp_verbose_abort(char const* format, ...) noexcept", - "void std::__libcpp_verbose_abort(char const* format, ...) _NOEXCEPT" - end - if OS.mac? && MacOS.version >= :tahoe - # The final macOS 26 bun-profile link is getting SIGKILL; skip the large - # linker map there to keep the Tahoe link step lighter until upstream adjusts. - inreplace "scripts/build/flags.ts", - 'flag: c => ["-dead_strip", "-dead_strip_dylibs", ' \ - "`-Wl,-map,${c.buildDir}/${bunExeName(c)}.linker-map`],", - 'flag: ["-dead_strip", "-dead_strip_dylibs"],' - end - if OS.mac? - # macOS 14's compiler does not support deducing-this syntax in this block. - inreplace "src/bun.js/bindings/napi.h", - <<~EOS, - struct EitherCleanupHook : std::variant { - template - auto& get(this Self& self) - { - using Hook = MatchConst::type; - - if (auto* sync = std::get_if(&self)) { - return static_cast(*sync); - } - - return static_cast(std::get(self)); - } - EOS - <<~EOS - struct EitherCleanupHook : std::variant { - using std::variant::variant; - - CleanupHook& get() - { - if (auto* sync = std::get_if(this)) { - return static_cast(*sync); - } - - return static_cast(std::get(*this)); - } - - const CleanupHook& get() const - { - if (auto* sync = std::get_if(this)) { - return static_cast(*sync); - } - - return static_cast(std::get(*this)); - } - EOS - end - if OS.mac? && MacOS.version <= :sonoma - # AppleClang 15 rejects parenthesized aggregate init for this C-style type. - inreplace "src/bun.js/bindings/BunProcess.cpp", - "new Bun::NapiModuleMeta(globalObject->m_pendingNapiModuleDlopenHandle);", - "new Bun::NapiModuleMeta{globalObject->m_pendingNapiModuleDlopenHandle};" - inreplace "src/bun.js/bindings/napi.cpp", - "new Bun::NapiModuleMeta(globalObject->m_pendingNapiModuleDlopenHandle);", - "new Bun::NapiModuleMeta{globalObject->m_pendingNapiModuleDlopenHandle};" - # AppleClang 15 cannot deduce this aggregate's template argument from - # designated initializers. - inreplace "src/bun.js/bindings/node/crypto/KeyObject.cpp", - "auto buf = ncrypto::Buffer {", - "auto buf = ncrypto::Buffer {" - # AppleClang 15 doesn't apply CWG2518; keep this assertion dependent. - inreplace "src/vm/SigintWatcher.h", - "static_assert(false, \"Invalid held type\");", - "static_assert(sizeof(T) == 0, \"Invalid held type\");" - # AppleClang 15 rejects several consteval string builders in this helper. - # These names are for diagnostics only, so keep simpler literals on Sonoma. - inreplace "src/bun.js/bindings/BunIDLHumanReadable.h" do |s| - s.gsub!(/ - static\ constexpr\ auto\ humanReadableName\ =\ Bun::concatCStrings\( - \s*Detail::nestedHumanReadableName\(\), - \s*Detail::separatorForHumanReadableBinaryDisjunction\(\), - \s*"(?:null|undefined)"\); - \s* - /mx, - "static constexpr auto humanReadableName = std::to_array(\"value\");\n") - s.gsub!(/ - static\ constexpr\ auto\ humanReadableName\s*=\s*Bun::concatCStrings\( - "array\ of\ ",\s*Detail::nestedHumanReadableName\(\)\);\s* - /mx, - "static constexpr auto humanReadableName = std::to_array(\"array\");\n") - s.gsub!(/static constexpr auto humanReadableName\s*=\s*Bun::joinCStringsAsList\(Detail::nestedHumanReadableName\(\)\.\.\.\);\s*/m, - "static constexpr auto humanReadableName = std::to_array(\"value\");\n") - end - end - - # Bun's SetupLLVM helper can append CMAKE_AR/CMAKE_RANLIB with NOTFOUND - # values, which later surfaces as "CMAKE_AR-NOTFOUND: command not found". - inreplace "cmake/tools/SetupLLVM.cmake", - " find_llvm_command(CMAKE_AR llvm-ar)\n", - <<~EOS - find_llvm_command(CMAKE_AR llvm-ar) - if(CMAKE_AR MATCHES "NOTFOUND") - find_command(VARIABLE CMAKE_AR COMMAND ar REQUIRED ON) - list(APPEND CMAKE_ARGS -DCMAKE_AR=${CMAKE_AR}) - endif() - EOS - inreplace "cmake/tools/SetupLLVM.cmake", - " find_llvm_command(CMAKE_RANLIB llvm-ranlib)\n", - <<~EOS - find_llvm_command(CMAKE_RANLIB llvm-ranlib) - if(CMAKE_RANLIB MATCHES "NOTFOUND") - find_command(VARIABLE CMAKE_RANLIB COMMAND ranlib REQUIRED ON) - list(APPEND CMAKE_ARGS -DCMAKE_RANLIB=${CMAKE_RANLIB}) - endif() - EOS - inreplace "cmake/tools/SetupLLVM.cmake", - " find_llvm_command(LLD_PROGRAM ld.lld)\n", - <<~EOS - find_llvm_command(LLD_PROGRAM ld.lld) - if(LLD_PROGRAM MATCHES "NOTFOUND") - find_command(VARIABLE LLD_PROGRAM COMMAND ld.lld REQUIRED ON) - endif() - EOS - inreplace "cmake/tools/SetupLLVM.cmake", - " find_llvm_command(CMAKE_DSYMUTIL dsymutil)\n", - <<~EOS - find_llvm_command(CMAKE_DSYMUTIL dsymutil) - if(CMAKE_DSYMUTIL MATCHES "NOTFOUND") - find_command(VARIABLE CMAKE_DSYMUTIL COMMAND dsymutil REQUIRED ON) - list(APPEND CMAKE_ARGS -DCMAKE_DSYMUTIL=${CMAKE_DSYMUTIL}) - endif() - EOS - if OS.linux? - # Full LTO on Linux CI can fail at the final bun-profile link step. - inreplace "cmake/Options.cmake", - "if(RELEASE AND LINUX AND CI AND NOT ENABLE_ASSERTIONS AND NOT ENABLE_ASAN)", - "if(RELEASE AND LINUX AND CI AND NOT ENABLE_ASSERTIONS AND NOT ENABLE_ASAN " \ - "AND NOT (LINUX AND (ARCH STREQUAL \"aarch64\" OR ARCH STREQUAL \"arm64\" " \ - "OR ARCH STREQUAL \"x86_64\" OR ARCH STREQUAL \"x64\")))" - end - # Newer libc++ headers break if included after this private/public - # shim used by Bun's V8 header wrapper. - inreplace "src/bun.js/bindings/v8/real_v8.h", - "#define private public", - "#include \n#define private public" - - system buildpath/"bootstrap-bin/bun", "run", "build:release" - - bin.install "build/release/bun" - bin.install_symlink bin/"bun" => "bunx" - - bash_completion.install "completions/bun.bash" => "bun" - zsh_completion.install "completions/bun.zsh" => "_bun" - fish_completion.install "completions/bun.fish" - end - - test do - assert_match version.to_s, shell_output("#{bin}/bun --version") - - (testpath/"hello.ts").write <<~TYPESCRIPT - console.log("Hello world!"); - TYPESCRIPT - - assert_equal "Hello world!", shell_output("#{bin}/bun run hello.ts").chomp - end -end diff --git a/Formula/b/bytebox.rb b/Formula/b/bytebox.rb index fb1319324e..1c83177b38 100644 --- a/Formula/b/bytebox.rb +++ b/Formula/b/bytebox.rb @@ -1,17 +1,17 @@ class Bytebox < Formula desc "Standalone WebAssembly VM" homepage "https://github.com/rdunnington/bytebox" - url "https://github.com/rdunnington/bytebox/archive/5c8753ba11c394e4d642dddbb459edcd7c97ac26.tar.gz" # for zig 0.15.1 + url "https://github.com/rdunnington/bytebox/archive/5931f4fa85b4a65d4edbb8810f8e767da1143e14.tar.gz" version "0.0.1" - sha256 "ed49be2d515765afde9716e9179485b524e9c53989048a9bfb9f416971664846" + sha256 "ed8aba1339abf3cafb9fb923731b8a9edefad366623be45877677457a166d7aa" license "MIT" - revision 1 bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1889675ffbdd7f515ea6053c915ab68163dba018c5ae4343aa9f1b2edfd83096" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fca7f8a07d726e0dbc0d9ff5d1127ab782e19dd7c6b6cc83512d8b2afeba2c86" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a1bedc6509fe3e4ea255c4573503c40a85af2bc41634dc22f1f22085b84d9b8e" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9ab35c42fbf80f3af7509c6ada34e53f3148d25e5962d2dbed4ebdf71dc2e6ab" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9bd0f7ae57d3b63dda71f09f3ad38d6b558a9b4f7d3607b4ee317710cf61eb60" + sha256 cellar: :any_skip_relocation, ventura: "f058bf91d6666b5a0ef1e3487bfbbdc96a72b3c94929b0d0e8f245cac7e50435" + sha256 cellar: :any_skip_relocation, x86_64_linux: "5f29f120ddbfbde9e6c139fd550c94c18ac5c9e8af0d58938b2fedc7453e82c3" end depends_on "zig" => :build diff --git a/Formula/c/cai.rb b/Formula/c/cai.rb new file mode 100644 index 0000000000..43984b8ea5 --- /dev/null +++ b/Formula/c/cai.rb @@ -0,0 +1,38 @@ +# framework: clap +class Cai < Formula + desc "CLI tool for prompting LLMs" + homepage "https://github.com/ad-si/cai" + url "https://github.com/ad-si/cai/archive/refs/tags/v0.12.0.tar.gz" + sha256 "af2080ff5bdca09a26db9f6b809b5a480b24b75a833622832ca022e213fd5173" + license "ISC" + head "https://github.com/ad-si/cai.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3144ec1a5be69c60a06df654669fd9f1baeb1db699cde8af0ed51cb721d29f8c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "b8b1e336f06fd024db3330258ea9756e463ba83c18e692de9a4a22eb431c6050" + sha256 cellar: :any_skip_relocation, ventura: "6a7aff1722fd52e28fe8d5bb25dc48786a9691fb7b551bbe992c96a9740e6db4" + sha256 cellar: :any_skip_relocation, x86_64_linux: "12f631eb08bbea80111377477581252920f50972076f654ab61f61a9049b5639" + end + + depends_on "pkgconf" => :build + depends_on "rust" => :build + + uses_from_macos "zlib" + + on_linux do + depends_on "openssl@3" + end + + def install + system "cargo", "install", *std_cargo_args + end + + test do + output = shell_output("#{bin}/cai anthropic claude-opus Which year did the Titanic sink 2>&1", 1) + assert_match "An API key must be provided", output + + output = shell_output("#{bin}/cai ollama llama3 Which year did the Titanic sink 2>&1", 1) + assert_match "error sending request for url", output + end +end diff --git a/Formula/c/captan.rb b/Formula/c/captan.rb index 83bd51c712..fce4cb8ed6 100644 --- a/Formula/c/captan.rb +++ b/Formula/c/captan.rb @@ -17,7 +17,7 @@ class Captan < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do @@ -33,7 +33,7 @@ def install "--pool-pct", "20" # Files should be created - assert_path_exists testpath/"captable.json", "captable.json was not created" # spellchecker:disable-line + assert_path_exists testpath/"captable.json", "captable.json was not created" # 2) Validate (basic) output = shell_output("#{bin}/captan validate") @@ -44,7 +44,7 @@ def install assert_match "📊 Ownership Table", report # 4) Export CSV to a file and verify it exists & is non-empty - csv_path = testpath/"captable.csv" # spellchecker:disable-line + csv_path = testpath/"captable.csv" system bin/"captan", "export", "csv", "--output", csv_path assert_path_exists csv_path end diff --git a/Formula/c/carbon-now-cli.rb b/Formula/c/carbon-now-cli.rb index 2e4cda9005..1aa716a861 100644 --- a/Formula/c/carbon-now-cli.rb +++ b/Formula/c/carbon-now-cli.rb @@ -21,7 +21,7 @@ class CarbonNowCli < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] clipboardy_fallbacks_dir = libexec/"lib/node_modules/#{name}/node_modules/clipboardy/fallbacks" rm_r(clipboardy_fallbacks_dir) # remove pre-built binaries diff --git a/Formula/c/cargo-geiger.rb b/Formula/c/cargo-geiger.rb new file mode 100644 index 0000000000..7a260cdc52 --- /dev/null +++ b/Formula/c/cargo-geiger.rb @@ -0,0 +1,72 @@ +class CargoGeiger < Formula + desc "Detects usage of unsafe Rust in a Rust crate and its dependencies" + homepage "https://github.com/geiger-rs/cargo-geiger" + url "https://github.com/geiger-rs/cargo-geiger/archive/refs/tags/cargo-geiger-0.13.0.tar.gz" + sha256 "02a3999b58e45527932cc9fa60503b3197f011778dc1954909fb5fe9dd168f72" + license any_of: ["Apache-2.0", "MIT"] + head "https://github.com/geiger-rs/cargo-geiger.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "96119ad0529d6c8bce7403d7dd67a4af4fefed9f27f4f84cfff30a7b5856f2bd" + sha256 cellar: :any, arm64_sonoma: "0ec161ad2089bbb57d53754a2370e65b5b6ca13e8d9455a0316b59acd10252f7" + sha256 cellar: :any, ventura: "dd520f47dca04e414a3f180d855933b222ea17a211b5f26bf2b2166e85a19b99" + sha256 cellar: :any_skip_relocation, x86_64_linux: "069ba53090a1d6c576c4ac02f34bbc0f78c8e6b7d5159d760bf6b5ed4f21a2ab" + end + + depends_on "pkgconf" => :build + depends_on "rust" => :build + depends_on "rustup" => :test + depends_on "openssl@3" + + uses_from_macos "zlib" + + def install + # Ensure that the `openssl` crate picks up the intended library. + ENV["OPENSSL_DIR"] = Formula["openssl@3"].opt_prefix + ENV["OPENSSL_NO_VENDOR"] = "1" + + system "cargo", "install", *std_cargo_args(path: "cargo-geiger") + end + + test do + # Show that we can use a different toolchain than the one provided by the `rust` formula. + # https://github.com/Homebrew/homebrew-core/pull/134074#pullrequestreview-1484979359 + ENV.prepend_path "PATH", Formula["rustup"].bin + system "rustup", "default", "beta" + system "rustup", "set", "profile", "minimal" + + assert_match version.to_s, shell_output("#{bin}/cargo-geiger --version") + + mkdir "brewtest" do + (testpath/"brewtest/src/main.rs").write <<~RUST + fn main() { + let mut a: u8 = 0; + let p = &mut a as *mut u8; + unsafe { *p = 1; } + println!("{}", a); + } + RUST + + (testpath/"brewtest/Cargo.toml").write <<~TOML + [package] + name = "test" + version = "0.1.0" + edition = "2021" + TOML + + system "cargo", "build", "--offline" + assert_match "Metric output format: x/y", shell_output("cargo geiger --offline") + end + + require "utils/linkage" + + [ + Formula["openssl@3"].opt_lib/shared_library("libcrypto"), + Formula["openssl@3"].opt_lib/shared_library("libssl"), + ].each do |library| + assert Utils.binary_linked_to_library?(bin/"cargo-geiger", library), + "No linkage with #{library.basename}! Cargo is likely using a vendored version." + end + end +end diff --git a/Formula/c/cargo-readme.rb b/Formula/c/cargo-readme.rb index 5f19eebc83..7a273092e2 100644 --- a/Formula/c/cargo-readme.rb +++ b/Formula/c/cargo-readme.rb @@ -1,17 +1,16 @@ class CargoReadme < Formula desc "Generate README.md from docstrings" homepage "https://github.com/webern/cargo-readme" - url "https://github.com/webern/cargo-readme/archive/refs/tags/v3.3.2.tar.gz" - sha256 "fa533037c28912f7ac09a06a04f3710a163a5461d7428d440ac701cbfc791312" + url "https://github.com/webern/cargo-readme/archive/refs/tags/v3.3.1.tar.gz" + sha256 "0044a2b199aa3ef8ed473bbec7af32a5a00579f755414e0c55707617fc2951b0" license any_of: ["Apache-2.0", "MIT"] bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "347e366b4377569c9dd0208038479da6ea77ae5f20163072c91ff9379d5a1ff9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "502fda991ee05fa366a7a15f1860521b36feb60895441ac27b308e5d441e7749" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "49593b1b777668bb1e70d572e461b4b9c7ea4352310be6f1d996c0edde7c9e06" - sha256 cellar: :any_skip_relocation, arm64_linux: "f00eb874f7bbac06029cc0eb7e988149ac4b19549721bc308534f2328cc799b2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3be099e773df1868a498d161debdb5af88f700e7d5be5f330340086737bcd54b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "48c7e2125963f83ce33057ac80738afee24cb0c1f8c7476a326c8f9eb2fad861" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "b1dbf2f8a2a90a62797b70d4fea81595bb474cc48f5b62d342317ceb76f44c8b" + sha256 cellar: :any_skip_relocation, ventura: "1553597ea0be120b73067399748c9a3028a0ee34622f5860568c6c4b3d73b31e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "8c976f1a17d13172c5da4fc6549d12dc7d2e73e5d7b3af0a1600ca47ba4caf4b" end depends_on "rust" => :build diff --git a/Formula/c/cashd.rb b/Formula/c/cashd.rb deleted file mode 100644 index aae7477e17..0000000000 --- a/Formula/c/cashd.rb +++ /dev/null @@ -1,27 +0,0 @@ -class Cashd < Formula - desc "TUI for personal finance management" - homepage "https://github.com/hzqtc/cashd" - url "https://github.com/hzqtc/cashd/archive/refs/tags/0.1.5.tar.gz" - sha256 "c996be017f6598540d5bf8cd3dfbb4d73d0398bf5e941148018d426cbce7df4d" - license "MIT" - head "https://github.com/hzqtc/cashd.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "56b5afe219494982016a8ff4f35491c8e95f6657df95dde682464faf36531c1d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "56b5afe219494982016a8ff4f35491c8e95f6657df95dde682464faf36531c1d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "56b5afe219494982016a8ff4f35491c8e95f6657df95dde682464faf36531c1d" - sha256 cellar: :any_skip_relocation, arm64_linux: "1f64f7659449d699a579af5a2b0ed34debc9a73da44cbc2156c156f1eab0e49c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1a58cb6190c667bb80035d4f31f4ad4e7c431e62990e2442a1e09fe2d83844fa" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match version.to_s, shell_output("#{bin}/cashd --version") - end -end diff --git a/Formula/c/castor.rb b/Formula/c/castor.rb index f084a58791..192364da45 100644 --- a/Formula/c/castor.rb +++ b/Formula/c/castor.rb @@ -1,17 +1,16 @@ class Castor < Formula desc "DX-oriented task runner and command launcher built in PHP" homepage "https://castor.jolicode.com/" - url "https://github.com/jolicode/castor/archive/refs/tags/v1.4.0.tar.gz" - sha256 "9dfab832eeb7b9256d9987ab546898d7550eb4413bd2683c0c2e70b6b719250a" + url "https://github.com/jolicode/castor/archive/refs/tags/v0.27.0.tar.gz" + sha256 "1c5757f621405cc8ba80e9a60a98a37a659fdaf49523100ddc8c0ba6851150e8" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "df9f09dc04f66a04ade0f47a3cbf055c29270eba36129e401c0555cbfe61d4d1" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "df9f09dc04f66a04ade0f47a3cbf055c29270eba36129e401c0555cbfe61d4d1" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "df9f09dc04f66a04ade0f47a3cbf055c29270eba36129e401c0555cbfe61d4d1" - sha256 cellar: :any_skip_relocation, arm64_linux: "bc9fa92ad267a8b9c2b588a06a30e4f2acacc0554d5d1f5d7b7082e3a7bc8d0e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8589fb278b3b72f6737db3740bbb6cff5101a2fcbb1a10181bd7647af55877da" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "869f7dca424e6ed0bdcd5523cec0f0f57b8dc8b6fe77017078d3b22e81450e24" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5fd408c4f4be558b0c640a479a056dd6a4a931f96caa58f5174104f81ac78969" + sha256 cellar: :any_skip_relocation, ventura: "3a60c116de7d7c002fea10ab6ffe8bec887c49682861487fe37beffd6d661c2e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "88ac9345ba9e84fed2f34ebb29ae1239e76dd4550193aa99d8f1689ce1f600b7" end depends_on "composer" => :build @@ -44,6 +43,6 @@ def install assert_match "Available commands", output output = pipe_output("#{bin}/castor init", "no\n") - assert_match "\"castor.php\" file has been created in the current directory", output + assert_match "Do you want to create a new project? (yes/no) [no]:\n", output end end diff --git a/Formula/c/catree.rb b/Formula/c/catree.rb deleted file mode 100644 index 0e7f93461b..0000000000 --- a/Formula/c/catree.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Catree < Formula - desc "Recursively display file contents from directories" - homepage "https://github.com/luislve17/catree" - url "https://github.com/luislve17/catree/archive/refs/tags/base-release-1.2.tar.gz" - sha256 "804d095dbd38fb14e5a125b454af5c1e33f7867affd878b3567968324fd60947" - license "MIT" - head "https://github.com/luislve17/catree.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "a2f4d79d0991ad4935fdbbeac8f728e3285caa070e280c006b778f3c80caf7bb" - end - - def install - bin.install "catree" - end - - test do - (testpath/"keep.txt").write("hello from catree") - (testpath/"skip.log").write("ignore me") - - output = shell_output("#{bin}/catree -inc txt") - assert_match "hello from catree", output - refute_match "ignore me", output - - assert_match version.to_s, shell_output("#{bin}/catree -v") - end -end diff --git a/Formula/c/cc-enhanced.rb b/Formula/c/cc-enhanced.rb index a6acbff356..225b9c9d68 100644 --- a/Formula/c/cc-enhanced.rb +++ b/Formula/c/cc-enhanced.rb @@ -8,20 +8,19 @@ class CcEnhanced < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "135097c2ed35c72080bc9ed47645cc0af0821b28afcee5ed1d4419d3795bf1bc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fae2307b1a4455b428b469806c94a3249597dcfad05690ac27ce6fecfd3ed557" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7d14ec78aa08a6b523fb007f25b46152c4ddec4091c32c3019b8ba9d03715a8f" - sha256 cellar: :any_skip_relocation, arm64_linux: "48b2b5a75df61d84c04e35137579c0d60c4f573184d353ae0d9adf70c193030c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "31a3552bb627e63096f638e5be2c84da2ce7471488d8450c27f8d1f4d83b1363" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "79c1b2eddf48c456a9001c5ad39b3d49a09755377fb9a851d8a4602a86c46da9" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "1a4d1fad5baa3f57bb6c043681eefe421c6693bd23d21d6945f94f7992f5fa19" + sha256 cellar: :any_skip_relocation, ventura: "df9b41d6c2b3f95e0c56a17998654470715ed50e044a7069ba35b555fcea30a3" + sha256 cellar: :any_skip_relocation, x86_64_linux: "70ec20c0baa6aa0308515f4c139c4f9e5da46e1c17b1f184f5603f6de6d3db47" end depends_on "pkgconf" => :build depends_on "rust" => :build + uses_from_macos "zlib" + on_linux do depends_on "openssl@3" - depends_on "zlib-ng-compat" end def install diff --git a/Formula/c/cc-filter.rb b/Formula/c/cc-filter.rb deleted file mode 100644 index 59dc329f06..0000000000 --- a/Formula/c/cc-filter.rb +++ /dev/null @@ -1,32 +0,0 @@ -class CcFilter < Formula - desc "Claude Code Sensitive Information Filter" - homepage "https://github.com/wissem/cc-filter" - url "https://github.com/wissem/cc-filter/archive/refs/tags/v0.0.6.tar.gz" - sha256 "41a20564a8abd916c3fbef19153d2514ad40988e78dd33b3cc23dcda68c01549" - license "MIT" - head "https://github.com/wissem/cc-filter.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b553bd113db02e01dfdf15789e136cd3d94ddbbc732884ddfece3f60721d2cb2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b553bd113db02e01dfdf15789e136cd3d94ddbbc732884ddfece3f60721d2cb2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b553bd113db02e01dfdf15789e136cd3d94ddbbc732884ddfece3f60721d2cb2" - sha256 cellar: :any_skip_relocation, arm64_linux: "9676b21c17c822051d1a7f1c41953c243e3baa40bedc9cd9389f025001704672" - sha256 cellar: :any_skip_relocation, x86_64_linux: "18880247c045e48c0dab9a6f2a62284b58b4db72b534979fba7ce64ea8424926" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - end - - test do - assert_match version.to_s, shell_output("#{bin/"cc-filter"} --version") - - output = pipe_output(bin/"cc-filter", "API_KEY=secret123\n", 0) - assert_match "API_KEY=***FILTERED***", output - refute_match "secret123", output - assert_path_exists testpath/".cc-filter/filter.log" - end -end diff --git a/Formula/c/ccapi.rb b/Formula/c/ccapi.rb deleted file mode 100644 index 74a2df833f..0000000000 --- a/Formula/c/ccapi.rb +++ /dev/null @@ -1,26 +0,0 @@ -class Ccapi < Formula - desc "Claude Code Commands Manager" - homepage "https://github.com/4xian/claude-auto-api" - url "https://registry.npmjs.org/@4xian/ccapi/-/ccapi-1.0.11.tgz" - sha256 "96c925d72dd6cf33c5b246aede910163384c1d6d0e88b025c1aeeaf9a272bed9" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "5bbfa31b3546ffed495feeb3775ad17775df5e9b81fdf1ae5d1bd096804bf811" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/ccapi --version") - - output = shell_output("#{bin}/ccapi list 2>&1", 1) - assert_match "列举Claude配置失败: settings.json file path not set", output - end -end diff --git a/Formula/c/ccboard.rb b/Formula/c/ccboard.rb deleted file mode 100644 index fb65c791d2..0000000000 --- a/Formula/c/ccboard.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Ccboard < Formula - desc "Unified Claude Code management dashboard for TUI and web" - homepage "https://github.com/FlorianBruniaux/ccboard" - url "https://github.com/FlorianBruniaux/ccboard/archive/refs/tags/v0.22.0.tar.gz" - sha256 "b6fe42b5ce519e12b39b5c7b29346099bf021eec7a94800a9553496d7321ca6c" - license any_of: ["Apache-2.0", "MIT"] - head "https://github.com/FlorianBruniaux/ccboard.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "27ccf5fe65121b5f0142a0855d76024016f7ea91086d3e1fb00d0cc84a3d43a9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "dd6ae051e9d83c374088ad791c1a8eb39ad01c80adb9de52249125f33a9532a6" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1013d3910893dac35d9b2e98b18a677c08ea3cedef5cb170845d89962e45b850" - sha256 cellar: :any_skip_relocation, arm64_linux: "25c7e21d402b3652bb3b82d1a4059bc6a01f8bf183cf177167e2de7cd6f8a36d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "65a52dfeec42b1bdc511c928dd3a17cbbe75646ca17fffd580351aa4309a3939" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args(path: "crates/ccboard") - end - - test do - assert_match version.to_s, shell_output("#{bin}/ccboard --version") - - claude_home = testpath/".claude" - claude_home.mkpath - ENV["CCBOARD_CLAUDE_HOME"] = claude_home - - output = shell_output("#{bin}/ccboard stats") - assert_match "Sessions indexed:", output - end -end diff --git a/Formula/c/cccc.rb b/Formula/c/cccc.rb deleted file mode 100644 index 3376ad03d7..0000000000 --- a/Formula/c/cccc.rb +++ /dev/null @@ -1,215 +0,0 @@ -class Cccc < Formula - include Language::Python::Virtualenv - - desc "Local-first multi-agent collaboration kernel" - homepage "https://chesterra.github.io/cccc/" - url "https://files.pythonhosted.org/packages/06/ce/3159dd69ff2ad0c540f74c7141202145e222bf94a367b81081da1afb504f/cccc_pair-0.4.12.tar.gz" - sha256 "a41a523f025d5466567a3020e292a7d8886f95decb4ff7c249aa552b2ed2465a" - license "Apache-2.0" - head "https://github.com/ChesterRa/cccc.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "2f9c4f95b8d08038ca2e4e0d0b78b6f8e23ef95f7a463b4d92fda8045379fc66" - sha256 cellar: :any, arm64_sequoia: "3436344f9b059050256ded59140ec5923978eb226264bd73be7c9688ad11835f" - sha256 cellar: :any, arm64_sonoma: "55e21adb5d4d65a2664ddee39802301976c2289fcaeae8847dab851c012bd416" - sha256 cellar: :any_skip_relocation, arm64_linux: "fdb57ae05d4b47ff59cfde23f84f5a33c26b71ee0c5973be15448a4a475d3ce8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c2a4257cccb4d9a113f07c2404e1509a2954da857a3011b2c5eefe9dc0c72cc6" - end - - depends_on "rust" => :build - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "libyaml" - depends_on "pydantic" => :no_linkage - depends_on "python@3.13" - - pypi_packages exclude_packages: %w[certifi cryptography pydantic] - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz" - sha256 "9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" - end - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz" - sha256 "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz" - sha256 "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2" - end - - resource "dingtalk-stream" do - url "https://files.pythonhosted.org/packages/4c/44/102dede3f371277598df6aa9725b82e3add068c729333c7a5dbc12764579/dingtalk_stream-0.24.3-py3-none-any.whl" - sha256 "2160403656985962878bf60cdf5adf41619f21067348e06f07a7c7eebf5943ad" - end - - resource "fastapi" do - url "https://files.pythonhosted.org/packages/5d/45/c130091c2dfa061bbfe3150f2a5091ef1adf149f2a8d2ae769ecaf6e99a2/fastapi-0.136.1.tar.gz" - sha256 "7af665ad7acfa0a3baf8983d393b6b471b9da10ede59c60045f49fbc89a0fa7f" - end - - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httptools" do - url "https://files.pythonhosted.org/packages/b5/46/120a669232c7bdedb9d52d4aeae7e6c7dfe151e99dc70802e2fc7a5e1993/httptools-0.7.1.tar.gz" - sha256 "abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz" - sha256 "585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242" - end - - resource "lark-oapi" do - url "https://files.pythonhosted.org/packages/b4/72/c2e973066da57e9f6720c229364e673d89c884fac65c265a08e2c32eed3c/lark_oapi-1.5.5-py3-none-any.whl" - sha256 "c953d3f87e5b43d9e99cdee7c2d962568ac05d5c01ef57ad662fbb5d4ec0e69f" - end - - resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" - end - - resource "pycryptodome" do - url "https://files.pythonhosted.org/packages/8e/a6/8452177684d5e906854776276ddd34eca30d1b1e15aa1ee9cefc289a33f5/pycryptodome-3.23.0.tar.gz" - sha256 "447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/88/71/b145a380824a960ebd60e1014256dbb7d2253f2316ff2d73dfd8928ec2c3/python_multipart-0.0.26.tar.gz" - sha256 "08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz" - sha256 "18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" - end - - resource "requests-toolbelt" do - url "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz" - sha256 "7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6" - end - - resource "socksio" do - url "https://files.pythonhosted.org/packages/f8/5c/48a7d9495be3d1c651198fd99dbb6ce190e2274d0f28b9051307bdec6b85/socksio-1.0.0.tar.gz" - sha256 "f88beb3da5b5c38b9890469de67d0cb0f9d494b78b106ca1845f96c10b91c4ac" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz" - sha256 "6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/1f/93/041fca8274050e40e6791f267d82e0e2e27dd165627bd640d3e0e378d877/uvicorn-0.46.0.tar.gz" - sha256 "fb9da0926999cc6cb22dc7cd71a94a632f078e6ae47ff683c5c420750fb7413d" - end - - resource "uvloop" do - url "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz" - sha256 "6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f" - end - - resource "watchfiles" do - url "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz" - sha256 "a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2" - end - - resource "websocket-client" do - url "https://files.pythonhosted.org/packages/2c/41/aa4bf9664e4cda14c3b39865b12251e8e7d239f4cd0e3cc1b6c2ccde25c1/websocket_client-1.9.0.tar.gz" - sha256 "9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98" - end - - resource "websockets" do - url "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz" - sha256 "5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5" - end - - resource "wechatbot-sdk" do - url "https://files.pythonhosted.org/packages/42/fe/fc419ff228e64a5d02de7ad06a5b663dcef10502e10a2263ae667b7aa80b/wechatbot_sdk-0.2.1.tar.gz" - sha256 "7c06d252fdc35110e0ef6fdd701469c04a1436a602b1088e4d3c30f944ec01c3" - end - - resource "yarl" do - url "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" - sha256 "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/cccc version") - - output = shell_output("#{bin}/cccc active") - assert_match "\"ok\": true", output - assert_match "\"active_group_id\"", output - end -end diff --git a/Formula/c/ccexp.rb b/Formula/c/ccexp.rb index a8c703bf56..5b74e26e17 100644 --- a/Formula/c/ccexp.rb +++ b/Formula/c/ccexp.rb @@ -21,7 +21,7 @@ class Ccexp < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] clipboardy_fallbacks_dir = libexec/"lib/node_modules/#{name}/node_modules/clipboardy/fallbacks" rm_r(clipboardy_fallbacks_dir) # remove pre-built binaries diff --git a/Formula/c/cchistory.rb b/Formula/c/cchistory.rb index d20cd5ef55..8160e39c14 100644 --- a/Formula/c/cchistory.rb +++ b/Formula/c/cchistory.rb @@ -1,23 +1,23 @@ class Cchistory < Formula desc "Like the shell history command but for your Claude Code sessions" homepage "https://github.com/eckardt/cchistory" - url "https://registry.npmjs.org/cchistory/-/cchistory-0.2.1.tgz" - sha256 "41fd78b3488e40677d48017860ae499ac788436d1fb065ff095526b133f3edb8" + url "https://registry.npmjs.org/cchistory/-/cchistory-0.2.0.tgz" + sha256 "151b7194d3643b5a321b0650d31a73912fbae02c382707c61650da7194ec6611" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fe709de2042a37a0a5cf3143d890ffc34110bf6f397439676576b9c66dbad1de" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0a519db045f61817c7f6be91362608d1531e5afed52586450169cbcfa8acdb46" - sha256 cellar: :any_skip_relocation, ventura: "04871830f05f13aa1ca05fe0c57809f2940eb2c9a6295753d850159fd4c952b5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ef49f9b12592705c36ccd727b9b7b04f6e664079736f84151461aa92207e5a43" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "26485e36610c4c162283f9b72e909272e1134960efe28054c6f6c00c43dfd3eb" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "901e379587e91ec33b24a119b8b753b644f46672257abd9ee78ee96cee497241" + sha256 cellar: :any_skip_relocation, ventura: "576aa04fc0f7c719ba131fc15fb8af17ba2b7eb3e07d71ac352559749b15cb22" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a09949f3157b260213aaa19a797f06d080fc80035bc52c693db18d95d64e64b0" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/c/cclogviewer.rb b/Formula/c/cclogviewer.rb index ea4213e680..046061c1b8 100644 --- a/Formula/c/cclogviewer.rb +++ b/Formula/c/cclogviewer.rb @@ -4,16 +4,14 @@ class Cclogviewer < Formula url "https://github.com/Brads3290/cclogviewer/archive/refs/tags/v1.2.0.tar.gz" sha256 "1e95505212ae110ca1271eb3dc5c178a5913c3abe78337ea797e49c0ed7794d4" license "MIT" - revision 1 head "https://github.com/Brads3290/cclogviewer.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "af2dc9fa8248a35576da2f591440655d84a9f962f0eaaf2833f263d7bc7c2184" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "af2dc9fa8248a35576da2f591440655d84a9f962f0eaaf2833f263d7bc7c2184" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "af2dc9fa8248a35576da2f591440655d84a9f962f0eaaf2833f263d7bc7c2184" - sha256 cellar: :any_skip_relocation, arm64_linux: "d2773ec3a96b66e242652b55e320b8bfa23f1202726402131fb8a6dbb4cbb465" - sha256 cellar: :any_skip_relocation, x86_64_linux: "adaa5a0df153980e0f9f23f1642c42fed3847e27b6b9600398b3ca50e6bd83d9" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "67c0442d845a905f1779bd206de87a66a7fe091864b26ecf89d522099b5a19ba" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "8b7462a6c9bc52721d9600feedf0baba8760c80c89e99b7e903cd40f38cc6ddb" + sha256 cellar: :any_skip_relocation, ventura: "45f0d47139f5902ccbea5217aad0eaffbfccab20c4926d7f00e533c2369011a7" + sha256 cellar: :any_skip_relocation, x86_64_linux: "dd492b16dc5decb4f6a724cf86a67265bc3da9f3657f3da9794d584845668bb6" end depends_on "go" => :build diff --git a/Formula/c/ccql.rb b/Formula/c/ccql.rb deleted file mode 100644 index 37897922b0..0000000000 --- a/Formula/c/ccql.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Ccql < Formula - desc "Claude Code Query Language" - homepage "https://github.com/douglance/ccql" - url "https://github.com/douglance/ccql/archive/refs/tags/v0.1.0.tar.gz" - sha256 "7232525ed2a208d4f35533a57254bac05b8191e17cb9c567f772de66fd634774" - license "MIT" - head "https://github.com/douglance/ccql.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "85db98d3419cf797d28e33e8aa0048d8d7d9062ebeeb211b38d84c1829216005" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fc874fbddb3e974d2ec25a1a20b78ed5d05f856a1830df18f1bbbf9ebdc3c98e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d9e10cb21fe7c4d0b54538684447e8a2bdd9b88f7aca1fe1fa564a3ffabdb2b4" - sha256 cellar: :any_skip_relocation, arm64_linux: "c0948762dbc0d5d3723432105c77a6b3bf8313bc70486bc284adf358b221bff6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "626ebcc1f1d69972427abbc1caf5558dbef4aaaa06bba343d1d35e862dca38d9" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/ccql --version") - (testpath/".claude").mkpath - assert_match "Total: 0 todos", shell_output("#{bin}/ccql todos") - end -end diff --git a/Formula/c/cdx.rb b/Formula/c/cdx.rb deleted file mode 100644 index d10f3b314a..0000000000 --- a/Formula/c/cdx.rb +++ /dev/null @@ -1,52 +0,0 @@ -class Cdx < Formula - desc "Use Codex more easily, even away from your desk" - homepage "https://github.com/ezpzai/cdx" - url "https://registry.npmjs.org/@ezpzai/cdx/-/cdx-1.0.12.tgz" - sha256 "4365718a6a15cae9300a42cb508abffdba0edddf69fe6b9d21feffd972d9c3cc" - license "Apache-2.0" - head "https://github.com/ezpzai/cdx.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "ee1a831809b37ef43056ef7073302a086d2a39e552f407bac8e23de4ef354e15" - sha256 arm64_sequoia: "de6096129fac742bd761d6ad06c4bc9843b6b1fdbfd034d2975ba3ba498834b7" - sha256 arm64_sonoma: "a675f4635e34b6588bd54d951972c069469ef260373243ec6b507441849b8b2e" - sha256 cellar: :any_skip_relocation, arm64_linux: "b9f67b0c6bbdeddd6c3c43f6a2bf2532573af0e6d499fb64a022b6356d3bde5b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a23bcc32695dd02e3512f0947e58450d8ce652393950665bcae0ba95fe30294a" - end - - depends_on "node" - - on_macos do - depends_on "llvm" => :build if DevelopmentTools.clang_build_version < 1700 - end - - fails_with :clang do - build 1699 - cause "node-pty fails to build" - end - - def install - ENV["npm_config_build_from_source"] = "true" - system "npm", "install", *std_npm_args - - Dir.chdir(libexec/"lib/node_modules/@ezpzai/cdx") do - system "npm", "rebuild", "node-pty", "--build-from-source" - end - - rm_r(libexec/"lib/node_modules/@ezpzai/cdx/node_modules/node-pty/prebuilds", force: true) - bin.install_symlink libexec.glob("bin/*") - end - - test do - cdx_home = testpath/".cdx" - - with_env(CDX_HOME: cdx_home.to_s) do - output = shell_output("#{bin}/cdx mode set balanced") - assert_match "Set global default mode: balanced", output - assert_match "balanced", shell_output("#{bin}/cdx mode") - end - - assert_path_exists cdx_home/"config.json" - end -end diff --git a/Formula/c/cello.rb b/Formula/c/cello.rb index a5b0fc986b..4ba38b6d2a 100644 --- a/Formula/c/cello.rb +++ b/Formula/c/cello.rb @@ -1,19 +1,17 @@ class Cello < Formula desc "Service for running infrastructure as code software tools" homepage "https://github.com/cello-proj/cello" - url "https://github.com/cello-proj/cello/archive/refs/tags/v0.23.0.tar.gz" - sha256 "6b471025cfe16385fcdcda495f8d38190c4be05093899e09b88d7ccc68a17142" + url "https://github.com/cello-proj/cello/archive/refs/tags/v0.20.0.tar.gz" + sha256 "61c36993154c021a70331879b18e6b8bbd2a60bf9ad73afea6cec488ec675681" license "Apache-2.0" head "https://github.com/cello-proj/cello.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2ef5d7e2e6ea88c279fda38ab0b9888502807268988860ce3d5f83de7b4be00f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2ef5d7e2e6ea88c279fda38ab0b9888502807268988860ce3d5f83de7b4be00f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2ef5d7e2e6ea88c279fda38ab0b9888502807268988860ce3d5f83de7b4be00f" - sha256 cellar: :any_skip_relocation, arm64_linux: "e56dbbe08ebcccdb048c18ef8474fd29bc6ba17e9b201da2ce8cc7db3a2e8395" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5adb9d62ba905d78cabe36dcdac0047595eb64eaae988e1078efc60342d84d93" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2225ba07d0eb3edb6461f15a003ce79417b2a0df7a7b1cb27c02b5304968006e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d057db081fa65da9363728afd94991d04c221a3d807e7fca0bf8268744a1c058" + sha256 cellar: :any_skip_relocation, ventura: "12bc03db05ecb5eefa49ac9382b01afe3723ab3e68477c4f1dc751349f488763" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f4908fa29604fc3e17b31f3f62e9d55ce91d1daafb0f7259972da8a32098fd02" end depends_on "go" => :build @@ -22,7 +20,7 @@ def install ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" system "go", "build", *std_go_args(ldflags:), "./cli" - generate_completions_from_executable(bin/"cello", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"cello", "completion") end test do diff --git a/Formula/c/cerbos.rb b/Formula/c/cerbos.rb deleted file mode 100644 index b14c0d131c..0000000000 --- a/Formula/c/cerbos.rb +++ /dev/null @@ -1,75 +0,0 @@ -class Cerbos < Formula - desc "Scalable, context-aware authorization service for applications" - homepage "https://www.cerbos.dev/" - url "https://github.com/cerbos/cerbos/archive/refs/tags/v0.52.0.tar.gz" - sha256 "87b7221f4cd2cae70d5fa05d0333b62ca1a90d4018c14d28334fecda20b39285" - license "Apache-2.0" - head "https://github.com/cerbos/cerbos.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "16f14f2386692394b894f4601819178d9f43dcae5daac3daa8bc647a8e38e87f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2177a948494beb5c52674134f3d6b4e1922ad412bce2c2fd9245ed21c27de74d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "73f07defafe047c9444d30c543069f65ad5e368776c024f751622f23e87dfa86" - sha256 cellar: :any_skip_relocation, arm64_linux: "6804c270b8477379ef1ea1d381fcdd0a9a51ab10b6a28213b242baebfddd7b66" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8c2de417a7e1a92b859a66b2b89ab4e8a50b17ec841f5eed618a728f1a688501" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/cerbos/cerbos/internal/util.Version=#{version} - -X github.com/cerbos/cerbos/internal/util.Commit=#{tap.user} - -X github.com/cerbos/cerbos/internal/util.BuildDate=#{time.iso8601} - ] - system "go", "build", "-trimpath", *std_go_args(ldflags:), "./cmd/cerbos" - end - - test do - assert_match version.to_s, shell_output("#{bin}/cerbos --version") - - policy_dir = testpath/"policies" - policy_dir.mkpath - - # Write sample resource policies - (policy_dir/"document.yaml").write <<~YAML - apiVersion: api.cerbos.dev/v1 - resourcePolicy: - resource: "document" - version: "1" - rules: - - actions: ["read", "write", "delete"] - effect: EFFECT_ALLOW - roles: - - admin - - actions: ["read"] - effect: EFFECT_ALLOW - roles: - - viewer - YAML - - (policy_dir/"comment.yaml").write <<~YAML - apiVersion: api.cerbos.dev/v1 - resourcePolicy: - resource: "comment" - version: "1" - rules: - - actions: ["create", "update", "delete"] - effect: EFFECT_ALLOW - roles: - - admin - - actions: ["create"] - effect: EFFECT_ALLOW - roles: - - user - YAML - - output = shell_output("#{bin}/cerbos compile #{policy_dir}") - assert_match "Test results", output - - output = shell_output("#{bin}/cerbos compile --output=json #{policy_dir}") - assert_match "summary", output - end -end diff --git a/Formula/c/certok.rb b/Formula/c/certok.rb index b602f8bebc..251f3501be 100644 --- a/Formula/c/certok.rb +++ b/Formula/c/certok.rb @@ -4,7 +4,6 @@ class Certok < Formula url "https://github.com/genuinetools/certok/archive/refs/tags/v0.5.5.tar.gz" sha256 "e874b7a04781ca5b056a53f3a7082ab91bd68e3841789e6d9aeab90ac5976149" license "MIT" - revision 1 livecheck do skip "no recent releases" @@ -12,12 +11,10 @@ class Certok < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e976d7d3251df2342ffe24273623eaf4cdefd5ea72a1db949831ee8bafaed4fa" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e976d7d3251df2342ffe24273623eaf4cdefd5ea72a1db949831ee8bafaed4fa" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e976d7d3251df2342ffe24273623eaf4cdefd5ea72a1db949831ee8bafaed4fa" - sha256 cellar: :any_skip_relocation, arm64_linux: "740b9aa9fd5f54b9e9a5f4a0bae8933f226cb632f4bc9a20a8f1a7f099c19f0d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "454bc5b0bbcf3897a34a99ce9de2b3464dca4d2b12c67dc2a5b3578f2f53f24b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "83d4a29052d1c279e449ef42652a33a1f4d087a03d36997429c09b0c2e273105" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "1ee72d6beca808ee3a263d49e95031b7c714d446a752f50819a003167b65da7a" + sha256 cellar: :any_skip_relocation, ventura: "c86e862ae79070e79b32984394a8e11e9d77a7920c87b1cc7a83ab9469fdb466" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a61f4dfba0bdb890bd4348e871592e175b52f33caf425335b132c21a696f5e47" end depends_on "go" => :build diff --git a/Formula/c/cf-vault.rb b/Formula/c/cf-vault.rb index 3ab53ca60d..dada173f7c 100644 --- a/Formula/c/cf-vault.rb +++ b/Formula/c/cf-vault.rb @@ -2,18 +2,17 @@ class CfVault < Formula desc "Manage your Cloudflare credentials, securely" homepage "https://github.com/jacobbednarz/cf-vault" - url "https://github.com/jacobbednarz/cf-vault/archive/refs/tags/0.0.19.tar.gz" - sha256 "0e04e97df82cb12a85c63b3bea8a148dcd346417208c6b1cc45fddbbe643d05f" + url "https://github.com/jacobbednarz/cf-vault/archive/refs/tags/0.0.18.tar.gz" + sha256 "cdb8eddfec7a153e2e75f42e8246f3f266ff3c566a5784f8d22b0a6b8f48c779" license "MIT" head "https://github.com/jacobbednarz/cf-vault.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "363a305e709314af9a14022b7d0a94e71c0bcebdc8a4ac5a564fd25057f2c570" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7e3ef58edf9d6d73cec2b95e12151a3b1cb334c0568ed3011fe85f742d069701" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6e03ee3c979f294db780a83ae9b6611acad6652399784810fb7e260a62b85390" - sha256 cellar: :any_skip_relocation, arm64_linux: "4b4a9839fd8c894caffa5f5be508b69d76d46f2e7f302dc5404d727a936ccc27" - sha256 cellar: :any_skip_relocation, x86_64_linux: "86363c24b1dfc4bac1e95263f8d815f58cc7587da7b5b3ed829ce4b343e70f75" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "c1ec5c490acf361a089c46d54d4657cf01aef45be04d8cad7a7c3430e724cc5c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "e69cb52e7a7bc690c6b82c403710a98889f31a9395213b0a2a93db6ad01046d8" + sha256 cellar: :any_skip_relocation, ventura: "e2cd6b98b42d727a3d4d9c6accc7f68eaf5f43ebe624bfcc5e73e6b35421460b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "4029f75d7b847cc539c32c240eed70aade4228a34f5f9b33ff690699b8b569f3" end depends_on "go" => :build @@ -22,7 +21,7 @@ def install ldflags = "-s -w -s -w -X github.com/jacobbednarz/cf-vault/cmd.Rev=#{version}" system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"cf-vault", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"cf-vault", "completion") end test do diff --git a/Formula/c/cf2pulumi.rb b/Formula/c/cf2pulumi.rb index 229efa2e59..4e2049cca3 100644 --- a/Formula/c/cf2pulumi.rb +++ b/Formula/c/cf2pulumi.rb @@ -2,18 +2,17 @@ class Cf2pulumi < Formula desc "Convert CloudFormation Templates to Pulumi programs" homepage "https://github.com/pulumi/pulumi-aws-native" url "https://github.com/pulumi/pulumi-aws-native.git", - tag: "v1.62.0", - revision: "571be0f9fac2b6eaca84cfecf182e1fd88c70b27" + tag: "v1.33.0", + revision: "56037d49c9e674d81188e12787136d469573727c" license "Apache-2.0" head "https://github.com/pulumi/pulumi-aws-native.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "adb46215972bb869a1ebf6e5f34dd7ebbb6dc6d383cec89115e7be18f00c02d5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "adb46215972bb869a1ebf6e5f34dd7ebbb6dc6d383cec89115e7be18f00c02d5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "adb46215972bb869a1ebf6e5f34dd7ebbb6dc6d383cec89115e7be18f00c02d5" - sha256 cellar: :any_skip_relocation, arm64_linux: "67e7a4d85f5bfddb83188625f1fffb107ac4bfa6f52ed0355a86aaeb2d2d914f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "25e899ed7213ed4db0b43d3a8c8427ec32b15a785002d2a4808d1a9f1bb5ef7a" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "c0202e3fd3624c2e24995d02a12875576d045b1e638d6f644d42e53e100f45fa" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "29f21b08d35f7ce22d5a24cb0550a0c7cf35fb4945f539a1c3a81f7ebc624a40" + sha256 cellar: :any_skip_relocation, ventura: "321ea866114c75cf17bd56870efa8291745266961430aafb3654c5ca9e0c38be" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e3d5675436d33d026dbc43a98936f062372e17b2c36030ff3973a4b06726cad9" end depends_on "go" => :build diff --git a/Formula/c/cgpu.rb b/Formula/c/cgpu.rb deleted file mode 100644 index 565e463818..0000000000 --- a/Formula/c/cgpu.rb +++ /dev/null @@ -1,23 +0,0 @@ -class Cgpu < Formula - desc "CLI enabling free cloud GPU access in your terminal for learning CUDA" - homepage "https://github.com/RohanAdwankar/cgpu" - url "https://registry.npmjs.org/cgpu/-/cgpu-0.1.4.tgz" - sha256 "8035b028b1ea508082d32af11d8de6d9aad44535d1d8bb57f9339e8446c24581" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "263ecf4905432f974fd3bc793802730166fb4bac086d366643d2399d336954db" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match "Cloud GPU CLI", shell_output("#{bin}/cgpu --help") - end -end diff --git a/Formula/c/chalet.rb b/Formula/c/chalet.rb deleted file mode 100644 index b0bf81608c..0000000000 --- a/Formula/c/chalet.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Chalet < Formula - desc "Containerize your dev environments" - homepage "https://github.com/chalet-dev/chalet" - url "https://github.com/chalet-dev/chalet/archive/refs/tags/v0.1.1.tar.gz" - sha256 "df98043f4258d9a55e6dd41f2e9a8a302cbc7740974ae77fe43926953bea223c" - license "MIT" - revision 1 - head "https://github.com/chalet-dev/chalet.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "45cbdb926ad98cf68885a2c14de01ed11042d73503d8bca2307632a355eee2e5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "45cbdb926ad98cf68885a2c14de01ed11042d73503d8bca2307632a355eee2e5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "45cbdb926ad98cf68885a2c14de01ed11042d73503d8bca2307632a355eee2e5" - sha256 cellar: :any_skip_relocation, arm64_linux: "4dffe36d427ddd52fd0c3342ec13c99cd8d699fcb48e8ef7282bf9745665c805" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9b03a91d51820cabb32da673866fecb14ebfc0526da38a278f24f4db7523b391" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - ENV["DOCKER_HOST"] = "unix://#{testpath}/invalid.sock" - - system bin/"chalet", "init" - - output = shell_output("#{bin}/chalet run") - assert_match "Error opening YAML file", output - end -end diff --git a/Formula/c/changelogen.rb b/Formula/c/changelogen.rb new file mode 100644 index 0000000000..a173a31652 --- /dev/null +++ b/Formula/c/changelogen.rb @@ -0,0 +1,30 @@ +class Changelogen < Formula + desc "Generate Beautiful Changelogs using Conventional Commits" + homepage "https://github.com/unjs/changelogen" + url "https://registry.npmjs.org/changelogen/-/changelogen-0.6.2.tgz" + sha256 "cd5e783f11a9496293d2c7790e36574981296192849a9d904dec617e65e257b2" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "0e613be74a1602faba8d9f859753ef7b24ed7d519ea21128591144ec1999828a" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "e2149300f6b9fc22b7a83bf63de62f7f4b0ac59590e0a83586a1e3295bc306ef" + sha256 cellar: :any_skip_relocation, ventura: "fd43a71f6278c3ec5aa8f8981b326c8771e834e1a2e88ef8f4883252a7040cc4" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2ab500fc7cb7969224190cfbde368e5d0523306e168175155f7f78b75a893b17" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink Dir["#{libexec}/bin/*"] + end + + test do + system "git", "init" + touch "test" + system "git", "add", "test" + system "git", "commit", "-m", "feat: initial commit" + assert_match "Generating changelog", shell_output("#{bin}/changelogen 2>&1") + end +end diff --git a/Formula/c/chatlog.rb b/Formula/c/chatlog.rb index e96224f8b4..932fda5175 100644 --- a/Formula/c/chatlog.rb +++ b/Formula/c/chatlog.rb @@ -1,24 +1,21 @@ class Chatlog < Formula desc "Easily use your own chat data" homepage "https://github.com/sjzar/chatlog" - url "https://github.com/sjzar/chatlog/archive/refs/tags/v0.0.31.tar.gz" - sha256 "e2eb72bdfcfb36bef2fe6f7c4e983db8ebf60ecb124e43de49562d711b3b9a65" + url "https://github.com/sjzar/chatlog/archive/refs/tags/v0.0.29.tar.gz" + sha256 "3d89406c9b19e94fa3b0f7a8504d60233091eb1e86c95af69c8f24bf78e16755" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ca07a5f201836171c5faaac8bb9eb2ce5188d9a774c74a89dadcaad5c985d0fc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "45060f5a399f54ac44f19f2b3efdfaf42de4265fb8d3fafde24ff9af1d279472" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c6a563481df98dc069f1d7cb7b1b989ecc40f3f3c281c759c465ec292a5c67f0" - sha256 cellar: :any_skip_relocation, arm64_linux: "2904ff0491789491e388a90068756ccd4b892ffec145cc0a537500760b29d0fe" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9355464eabe88f5d41ad0d5462cc44520a89b99dd976401cf957ef0cc3bced2f" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "803214f36bd38e52e250f0bd0e9831d55b8890f0a58efbc3c0c8eb7f017218d2" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "05eb87eaac75446646f479eccf6b7ba3e3a38e72a399bfa1d370d2ea8b96f59e" + sha256 cellar: :any_skip_relocation, ventura: "ad5a9e59cf14d4f0cca4ae6b0c423ca659b6597b365ec900103a9f1722ec98c9" + sha256 cellar: :any_skip_relocation, x86_64_linux: "5355144300993d8477bcdee6c28a7917dd03d5885e74f0ddedc984090bcaed51" end depends_on "go" => :build def install - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - # Prevent init() from overwriting ldflags version inreplace "pkg/version/version.go", "if len(bi.Main.Version) > 0", diff --git a/Formula/c/chatuino.rb b/Formula/c/chatuino.rb deleted file mode 100644 index f4b1eef7b8..0000000000 --- a/Formula/c/chatuino.rb +++ /dev/null @@ -1,35 +0,0 @@ -class Chatuino < Formula - desc "Feature-rich TUI Twitch chat client" - homepage "https://chatuino.net" - url "https://github.com/julez-dev/chatuino/archive/refs/tags/v1.2.0.tar.gz" - sha256 "f2f2ad43978fc6a2da4325eed299b0c80265145fbef2bd94f74deb3396a3bd6d" - license "MIT" - head "https://github.com/julez-dev/chatuino.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "65b8e69849cd6fa9fd2c089f661e80d319aadd502175102f197be062db6c94eb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5dadbadb02645506e61c213f943e9955723fa95135d6570b760b3e9e710d5c23" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f924b18108372a7bc65a363ff83b5a8479efe399c51c2a3707d3da5b22fa321e" - sha256 cellar: :any_skip_relocation, arm64_linux: "3c4bd1ef1767ff6236df9fc93d965da7b4963eab5c2164e4beb4e8b553933f73" - sha256 cellar: :any_skip_relocation, x86_64_linux: "98620ee77702200d33c33aee17f604c0c771dfbb03eaa0a685c1616141102190" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X main.Version=#{version} - -X main.Commit=homebrew - -X main.Date=#{time.iso8601} - ] - - system "go", "build", *std_go_args(ldflags:), "." - end - - test do - assert_match version.to_s, shell_output("#{bin}/chatuino version") - assert_match "GitHub:", shell_output("#{bin}/chatuino contributors") - end -end diff --git a/Formula/c/checkpwn.rb b/Formula/c/checkpwn.rb new file mode 100644 index 0000000000..e9533a4f76 --- /dev/null +++ b/Formula/c/checkpwn.rb @@ -0,0 +1,27 @@ +class Checkpwn < Formula + desc "Check Have I Been Pwned and see if it's time for you to change passwords" + homepage "https://github.com/brycx/checkpwn" + url "https://github.com/brycx/checkpwn/archive/refs/tags/0.5.4.tar.gz" + sha256 "f7802910b93932587b8a73aec3b33db24fd8088615a0be89b7c0945500059aae" + license "MIT" + head "https://github.com/brycx/checkpwn.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "8e561ed33f90144ef5e3924ff0b1d67db160b39351992be1adc2674da2c06a6a" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f1ac035448c27c94e808a8aa3d06859c7c87480582915c419f5165012bf67d12" + sha256 cellar: :any_skip_relocation, ventura: "e10810958c78a64eb2e5e311e1fe24242dd7d7dd65556df6addf1ab14a656c8a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "74d69458fd30f4d2467e78de1c8a00a18db486b510eb7670138eb1c1c6c4ecc1" + end + + depends_on "rust" => :build + + def install + system "cargo", "install", *std_cargo_args + end + + test do + output = shell_output("#{bin}/checkpwn acc test@example.com 2>&1", 101) + assert_match "Failed to read or parse the configuration file 'checkpwn.yml'", output + end +end diff --git a/Formula/c/checksec.rb b/Formula/c/checksec.rb deleted file mode 100644 index d31933e56f..0000000000 --- a/Formula/c/checksec.rb +++ /dev/null @@ -1,47 +0,0 @@ -class Checksec < Formula - desc "Survey security mitigations used by processes" - homepage "https://slimm609.github.io/checksec/" - url "https://github.com/slimm609/checksec/archive/refs/tags/3.1.0.tar.gz" - sha256 "cd3112fb02577726dd6945a11d9225d508ac0d59984d772fbbda5d9cf2d2c290" - license "BSD-3-Clause" - head "https://github.com/slimm609/checksec.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "993131876eef90a8c62834707ecec1aabf129b1ac917226dda2dfc9368b0df80" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0cae962674fa2917ba5b5feb4dbb71c1874e1700713838367c8f2687c3bcef05" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "404f94518d6a91da817e8fd7d50fd3b0d0822ea3697314ca0f278af9789e998d" - sha256 cellar: :any_skip_relocation, arm64_linux: "713cf28b0ef8b4f8b9e7dba2d6d1ba0da9bf8aef99a212e57f6b1b44cbd88c3e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dc18ac82fccd7281fdb7ca2ddfe9a0955fc4256c665e744db19bb0c709a1cadd" - end - - depends_on "go" => :build - - def install - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - - # Workaround to avoid patchelf corruption when cgo is required (for go-zetasql) - if OS.linux? && Hardware::CPU.arch == :arm64 - ENV["GO_EXTLINK_ENABLED"] = "1" - ENV.append "GOFLAGS", "-buildmode=pie" - end - - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:) - - generate_completions_from_executable(bin/"checksec", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/checksec --version") - - if OS.mac? - output = shell_output("#{bin}/checksec file #{bin}/checksec 2>&1", 1) - assert_match "File is not an ELF file", output - else - expected = (Hardware::CPU.arch == :arm64) ? "PIE Enabled" : "PIE Disabled" - assert_match expected, shell_output("#{bin}/checksec file #{bin}/checksec") - end - end -end diff --git a/Formula/c/chess-tui.rb b/Formula/c/chess-tui.rb deleted file mode 100644 index a2948474b0..0000000000 --- a/Formula/c/chess-tui.rb +++ /dev/null @@ -1,43 +0,0 @@ -class ChessTui < Formula - desc "Play chess from your terminal" - homepage "https://github.com/thomas-mauran/chess-tui" - url "https://github.com/thomas-mauran/chess-tui/archive/refs/tags/2.5.1.tar.gz" - sha256 "65054f32c6361dc859306504046968a1be776d91658d0fec018035be398d9002" - license "MIT" - head "https://github.com/thomas-mauran/chess-tui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ed7c0187c469ddb560227660c3fea7bef992e6cf20ad4c3f9d45e5438f126284" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f428e3376ab394274902fd9fe4ea1903dc01f9ac444c0476ac2463b26474afcd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9e233e2d11d8c728b3e34e5b29573e6710b63b2e39cd586690027d33eea09fef" - sha256 cellar: :any_skip_relocation, arm64_linux: "c8c94e73ac4af7d61fe203d733e1f67650d705fda8afdea609f66dff7b06330b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f760a1d5f8f25f8690ca594598dcab827baefee561fc823e81d0e886cfa0853a" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "alsa-lib" - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/chess-tui --version") - - output = shell_output("#{bin}/chess-tui --update-skins") - assert_match "Created skins.json with default content", output - - config_root = if OS.mac? - testpath/"Library/Application Support" - else - testpath/".config" - end - assert_path_exists config_root/"chess-tui/skins.json" - end -end diff --git a/Formula/c/chproxy.rb b/Formula/c/chproxy.rb deleted file mode 100644 index 6e080868ed..0000000000 --- a/Formula/c/chproxy.rb +++ /dev/null @@ -1,53 +0,0 @@ -class Chproxy < Formula - desc "Open-Source ClickHouse http proxy and load balancer" - homepage "https://www.chproxy.org/" - url "https://github.com/ContentSquare/chproxy/archive/refs/tags/v1.30.0.tar.gz" - sha256 "15e312ee1fc6e13cb7f7c85255fe370d0701bb5d540c5a5fd41d01691c0c2b11" - license "MIT" - head "https://github.com/ContentSquare/chproxy.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "de53f9539d01a2e53e4ae1f67987ae7b2e9f6a160835429e0eb1e096e27772ec" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "de53f9539d01a2e53e4ae1f67987ae7b2e9f6a160835429e0eb1e096e27772ec" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "de53f9539d01a2e53e4ae1f67987ae7b2e9f6a160835429e0eb1e096e27772ec" - sha256 cellar: :any_skip_relocation, arm64_linux: "1616156c391384ef0c810331a2d6625db964e633ca589dc922907c2777c1c34c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "33032495781f625672a2de056e030830a9d7011eeea712de13a2f087dfed6c95" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.buildTag=#{version} -X main.buildRevision=#{tap.user} -X main.buildTime=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/chproxy -version") - - config = testpath/"config.yml" - config.write <<~YAML - server: - http: - listen_addr: ":9090" - allowed_networks: - - "127.0.0.1" - clusters: - - name: default - nodes: - - "http://localhost:8123" - users: - - name: default - to_user: default - to_cluster: default - YAML - - output_log = testpath/"output.log" - pid = spawn bin/"chproxy", "-config", config, [:out, :err] => output_log.to_s - sleep 2 - assert_match "Loaded config:\nserver:\n http:\n listen_addr: :9090", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/c/clai.rb b/Formula/c/clai.rb index 4249fecd58..7bc53ef8db 100644 --- a/Formula/c/clai.rb +++ b/Formula/c/clai.rb @@ -1,18 +1,17 @@ class Clai < Formula desc "Command-line artificial intelligence - Your local LLM context-feeder" homepage "https://github.com/baalimago/clai" - url "https://github.com/baalimago/clai/archive/refs/tags/v1.10.6.tar.gz" - sha256 "2df65c20d89b176d2a3d8f321609b863f72c29112103163c5f1e6de072d31561" + url "https://github.com/baalimago/clai/archive/refs/tags/v1.8.2.tar.gz" + sha256 "fbefd120941e01320bfccbccada6614014c0626f969ca4ace9a6b489333fe165" license "MIT" head "https://github.com/baalimago/clai.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7187ecfb565e1d0f92ac075d443ed61c7d0de3104cdef5ff270d556f39679cae" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7187ecfb565e1d0f92ac075d443ed61c7d0de3104cdef5ff270d556f39679cae" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7187ecfb565e1d0f92ac075d443ed61c7d0de3104cdef5ff270d556f39679cae" - sha256 cellar: :any_skip_relocation, arm64_linux: "e21ea05a3f5cb5a3aa66051358f7be0eefa8835797413e5081df019e0e1719de" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7b3b48b62ee7adfa83986e119c41aa99ae4116ed0d3b20d893fbae305c6a7f33" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1cfa127d072fa0c1ae861cc6c315e664d18b3d48ef8a0e78f98ce094e3c86a19" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "41937e1a6fc679083c017a096a63aff7774aec9040a9d03accb0d82a58e074e1" + sha256 cellar: :any_skip_relocation, ventura: "5350ce95d545bfd960acdabc9f89ea48ecd16a9e63daff0e4a62dd2f3196a208" + sha256 cellar: :any_skip_relocation, x86_64_linux: "bac006757f0159c5db3695a20368648d4623fce4cf4b95d20c3ab251859a42c2" end depends_on "go" => :build @@ -22,8 +21,7 @@ def install end test do - output = shell_output("#{bin}/clai -h 2>&1", 1) - assert_match "Usage of clai:", output + system bin/"clai", "-h" if OS.mac? assert_path_exists testpath/"Library/Application Support/.clai/conversations" diff --git a/Formula/c/claude-code-generic-hooks.rb b/Formula/c/claude-code-generic-hooks.rb index 5884b4c287..172d326eb1 100644 --- a/Formula/c/claude-code-generic-hooks.rb +++ b/Formula/c/claude-code-generic-hooks.rb @@ -20,7 +20,7 @@ def install inreplace "dist/cli.js", "0.1.12", version.to_s system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/c/claude-context-mcp.rb b/Formula/c/claude-context-mcp.rb new file mode 100644 index 0000000000..77076db1a9 --- /dev/null +++ b/Formula/c/claude-context-mcp.rb @@ -0,0 +1,14 @@ +class ClaudeContextMcp < Formula + desc "Code search MCP for Claude Code" + homepage "https://github.com/zilliztech/claude-context/tree/master/docs" + url "https://registry.npmjs.org/@zilliz/claude-context-mcp/-/claude-context-mcp-0.1.11.tgz" + sha256 "ee15f7a335e65e2f732b7da12c3eba4a7927f0a38fab59ccc11c1b31ee2f3031" + license "MIT" + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink Dir["#{libexec}/bin/*"] + end +end diff --git a/Formula/c/claude-hooks.rb b/Formula/c/claude-hooks.rb new file mode 100644 index 0000000000..a97a142d02 --- /dev/null +++ b/Formula/c/claude-hooks.rb @@ -0,0 +1,29 @@ +class ClaudeHooks < Formula + desc "Hook system for Claude Code" + homepage "https://github.com/johnlindquist/claude-hooks" + url "https://registry.npmjs.org/claude-hooks/-/claude-hooks-2.4.0.tgz" + sha256 "b55f6dbdec8ec51f26f459bf2888ae9cd6deae1a1e3ac992904080e118b6e80b" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "983448ce26102e9d3255b8eb7105fe877cc8e6b85b4be89257859b68f34196be" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9dc541818456377ada97124cc91cd89460a80bc9ac7adb155c9d5c984957e8ad" + sha256 cellar: :any_skip_relocation, ventura: "d906ca96dc992dcaefabf550d91158fda7ea04e4c913d267ddcbe5a8cf1699ce" + sha256 cellar: :any_skip_relocation, x86_64_linux: "331f2b3fcad10c7a811966b0356edd4f02fb699b209ce3911fa2fd2e1d83dc58" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink Dir["#{libexec}/bin/*"] + end + + test do + assert_match version.to_s, shell_output("#{bin}/claude-hooks --version") + + output = shell_output("#{bin}/claude-hooks init 2>&1", 1) + assert_match "Claude Hooks Setup", output + end +end diff --git a/Formula/c/claudio.rb b/Formula/c/claudio.rb deleted file mode 100644 index 373acd254f..0000000000 --- a/Formula/c/claudio.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Claudio < Formula - desc "Hook-based audio plugin for Claude Code that plays contextual sounds" - homepage "https://github.com/ctoth/claudio" - url "https://github.com/ctoth/claudio/archive/refs/tags/v1.13.1.tar.gz" - sha256 "257bc0153d1a83a4df6a2eb5d0537adc7a001cf3cfec59f7588c48dd8243e964" - head "https://github.com/ctoth/claudio.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e28257299fad782aea75032c7394099d786e45113da57f96357c5cde29af8b2e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6193912f5f11f2e64de3c2a7586ac21c176d9286d0a59cadd2376634ccf706cd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9ac495412f9a4d4feb89538e565feee785353dcca01ce09d66b3c04b9e54caf3" - sha256 cellar: :any_skip_relocation, arm64_linux: "ffc246801db603b68f61b69348b7a70440d417c4d25048b32c138055b384e76d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0f18a4924e9b7411c28f6c692ed4d545e76ea403b4add6a37914d99909f7ce67" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/claudio" - - generate_completions_from_executable(bin/"claudio", "completion", shells: [:bash, :zsh, :fish, :pwsh]) - end - - test do - assert_match version.to_s, shell_output("#{bin}/claudio --version") - output = shell_output("#{bin}/claudio analyze usage") - assert_match "No sound usage data found for the specified criteria", output - end -end diff --git a/Formula/c/clawbands.rb b/Formula/c/clawbands.rb deleted file mode 100644 index 3bb32d9212..0000000000 --- a/Formula/c/clawbands.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Clawbands < Formula - desc "Security middleware for OpenClaw agents" - homepage "https://github.com/SeyZ/clawbands" - url "https://github.com/SeyZ/clawbands/archive/refs/tags/v1.0.0.tar.gz" - sha256 "e9df3d7c86533340b398588e889ec0122d9e4d6ec19a5af6ae96ce46485162a3" - license "MIT" - head "https://github.com/SeyZ/clawbands.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "23a0ec28ea5a666b041531a51fc007ef55161b04b02aa8d83820c5f79745157d" - end - - depends_on "node" - - def install - system "npm", "install", "--include=dev", - *std_npm_args(prefix: false, ignore_scripts: false) - system "npm", "run", "build" - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - ENV["OPENCLAW_HOME"] = testpath/".openclaw" - - assert_match version.to_s, shell_output("#{bin}/clawbands --version") - - output = shell_output("#{bin}/clawbands stats") - assert_match "No activity recorded yet.", output - assert_path_exists testpath/".openclaw/clawbands/stats.json" - end -end diff --git a/Formula/c/clawea.rb b/Formula/c/clawea.rb deleted file mode 100644 index c61771791d..0000000000 --- a/Formula/c/clawea.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Clawea < Formula - desc "Terminal-based weather forecast application" - homepage "https://github.com/Cladamos/clawea" - url "https://github.com/Cladamos/clawea/archive/refs/tags/v1.2.1.tar.gz" - sha256 "939e15ba6bc99c42ceb280e487596f58a4c12967bdb9c8c7d4910439a7a40df4" - license :cannot_represent - head "https://github.com/Cladamos/clawea.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "65036dbe21fbd659339bc303f5ac6eff45de7951d49ac04c9979357509e0b7d8" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "65036dbe21fbd659339bc303f5ac6eff45de7951d49ac04c9979357509e0b7d8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "65036dbe21fbd659339bc303f5ac6eff45de7951d49ac04c9979357509e0b7d8" - sha256 cellar: :any_skip_relocation, arm64_linux: "655e5ada2fa9ba84fdf857178682638d6378ff4fc5943fe50c5f423f7071dcae" - sha256 cellar: :any_skip_relocation, x86_64_linux: "35a5eba1001b64ff0909f9b4ebb07e1645649db58b187437ca8b4972e9fa67e2" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - output_file = testpath/"clawea-test.log" - pid = fork do - Process.setsid - $stdin.reopen(File::NULL) - $stdout.reopen(output_file, "w") - $stderr.reopen(output_file, "a") - exec bin/"clawea" - end - Process.wait(pid) - - output = output_file.read - assert_match "Error running program:", output - assert_match "/dev/tty", output - end -end diff --git a/Formula/c/clawhub.rb b/Formula/c/clawhub.rb deleted file mode 100644 index eed1705b13..0000000000 --- a/Formula/c/clawhub.rb +++ /dev/null @@ -1,53 +0,0 @@ -class Clawhub < Formula - desc "Install, update, search, and publish agent skills" - homepage "https://clawhub.ai" - url "https://github.com/openclaw/clawhub/archive/refs/tags/v0.11.0.tar.gz" - sha256 "14d97a228d883eda32eaf3c50a4e3e4aa34f0970052ba95a3a970595a4d0e839" - license "MIT" - head "https://github.com/openclaw/clawhub.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "5ab7bc89937340697e288f9ee5a744b62beb231ee7bbcdd8b174938df949cc9c" - end - - depends_on "node" - - def install - cli_dir = buildpath/"clawhub-cli" - cp_r buildpath/"packages/clawhub", cli_dir - - Dir.glob(cli_dir/"src/**/*test.ts").each do |file| - rm file - end - (cli_dir/"src/semver.d.ts").write("declare module \"semver\";\n") - - cd cli_dir do - system "npm", "install", *std_npm_args(prefix: false), "-D" - system "npm", "run", "build" - system "npm", "pack" - system "npm", "install", *std_npm_args, "clawhub-#{version}.tgz" - end - - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/clawhub --cli-version") - - (testpath/".clawhub").mkpath - (testpath/".clawhub/lock.json").write <<~JSON - { - "version": 1, - "skills": { - "peekaboo": { - "version": "1.2.3", - "installedAt": 1234567890 - } - } - } - JSON - - assert_equal "peekaboo 1.2.3\n", shell_output("#{bin}/clawhub --workdir #{testpath} list") - end -end diff --git a/Formula/c/clawra.rb b/Formula/c/clawra.rb deleted file mode 100644 index f05413d409..0000000000 --- a/Formula/c/clawra.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Clawra < Formula - desc "Add selfie superpowers to your OpenClaw agent" - homepage "https://www.clawra.dev" - url "https://registry.npmjs.org/clawra/-/clawra-1.1.1.tgz" - sha256 "ab4469e7ddeb0056061ffff9bf139c98cb71ece80e1ccd1da9db2d48e1cd3a7d" - license "MIT" - head "https://github.com/SumeLabs/clawra.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "00f554c700f9c8395313c2eff2d8b6c92398fe4360f5d26f48064f3c33701b64" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_equal version.to_s, - shell_output("node -p \"require('#{libexec}/lib/node_modules/clawra/package.json').version\"").strip - - output = shell_output("#{bin}/clawra 2>&1", 1) - assert_match "OpenClaw CLI not found!", output - assert_match "Install with: npm install -g openclaw", output - end -end diff --git a/Formula/c/claws.rb b/Formula/c/claws.rb deleted file mode 100644 index d5b9382479..0000000000 --- a/Formula/c/claws.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Claws < Formula - desc "Terminal UI for AWS resource management" - homepage "https://github.com/clawscli/claws" - url "https://github.com/clawscli/claws/archive/refs/tags/v0.15.3.tar.gz" - sha256 "7b8fde4d6825c4811b843e99b3c353fb71ccb09432aa0a2dc648d814b4e3ec2a" - license "Apache-2.0" - head "https://github.com/clawscli/claws.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e5732c1d8266e7c0bd807bd4a2558ad9e1f922b8d45d925ca042648e41a56518" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e5732c1d8266e7c0bd807bd4a2558ad9e1f922b8d45d925ca042648e41a56518" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e5732c1d8266e7c0bd807bd4a2558ad9e1f922b8d45d925ca042648e41a56518" - sha256 cellar: :any_skip_relocation, arm64_linux: "2bba6442b79a820f3ceeb976ebd194bc187212c1db40b2c2de67cec8bf61274a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e7fa5d419809303b66a58ca9c8de5210c6833d37323689da65b798c16180a4c0" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - - system "go", "build", *std_go_args(ldflags:, output: bin/"claws"), "./cmd/claws" - end - - test do - assert_match version.to_s, shell_output("#{bin}/claws --version") - - output = shell_output("#{bin}/claws --profile invalid/name 2>&1", 1) - assert_match "Error: invalid profile name: invalid/name", output - assert_match "Valid characters: alphanumeric, hyphen, underscore, period", output - end -end diff --git a/Formula/c/cli-mcp-server.rb b/Formula/c/cli-mcp-server.rb index cd2a26685a..402e47e5bb 100644 --- a/Formula/c/cli-mcp-server.rb +++ b/Formula/c/cli-mcp-server.rb @@ -9,31 +9,38 @@ class CliMcpServer < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, all: "3569a514f7f9c54a7e51468c1602968d7a195e31fdc1bcd51e16d539dadee778" + sha256 cellar: :any, arm64_sequoia: "d0ca36356cfa5a2d639b0f5a911dcf8120c678d20aee522f8614a5352d6b71f9" + sha256 cellar: :any, arm64_sonoma: "45a5ee91275e5dfb5b46c3058bf1764a3db33326eaf6b6b57ebdeda079e0674b" + sha256 cellar: :any, ventura: "39d8492cb334b77b24317e6eeedc506aecd03f42a5702512f67e917460557b05" + sha256 cellar: :any_skip_relocation, x86_64_linux: "13c608cc1687d4e9b601097ad3446f8a4f402f9119df4d8d14b08a486140b2d8" end - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage + depends_on "rust" => :build # for pydantic + depends_on "python@3.13" - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py] + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" + end + + resource "certifi" do + url "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz" + sha256 "e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407" end resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "h11" do @@ -52,13 +59,13 @@ class CliMcpServer < Formula end resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jsonschema" do @@ -67,28 +74,33 @@ class CliMcpServer < Formula end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end resource "mcp" do - url "https://files.pythonhosted.org/packages/33/54/dd2330ef4611c27ae59124820863c34e1d3edb1133c58e6375e2d938c9c5/mcp-1.21.0.tar.gz" - sha256 "bab0a38e8f8c48080d787233343f8d301b0e1e95846ae7dead251b2421d99855" + url "https://files.pythonhosted.org/packages/66/3c/82c400c2d50afdac4fbefb5b4031fd327e2ad1f23ccef8eee13c5909aa48/mcp-1.13.1.tar.gz" + sha256 "165306a8fd7991dc80334edd2de07798175a56461043b7ae907b279794a834c5" end - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz" - sha256 "d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180" + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" end - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz" - sha256 "3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953" + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" + end + + resource "pydantic-settings" do + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "python-multipart" do @@ -97,8 +109,13 @@ class CliMcpServer < Formula end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" + end + + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/1e/d9/991a0dee12d9fc53ed027e26a26a64b151d77252ac477e22666b9688bc16/rpds_py-0.27.0.tar.gz" + sha256 "8b23cf252f180cda89220b378d917180f29d313cd6a07b2431c0d3b776aae86f" end resource "sniffio" do @@ -107,18 +124,28 @@ class CliMcpServer < Formula end resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/db/3c/fa6517610dc641262b77cc7bf994ecd17465812c1b0585fe33e11be758ab/sse_starlette-3.0.3.tar.gz" - sha256 "88cfb08747e16200ea990c8ca876b03910a23b547ab3bd764c0d8eb81019b971" + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" end resource "starlette" do - url "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz" - sha256 "a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca" + url "https://files.pythonhosted.org/packages/15/b9/cc3017f9a9c9b6e27c5106cc10cc7904653c3eec0729793aec10479dd669/starlette-0.47.3.tar.gz" + sha256 "6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/cb/ce/f06b84e2697fef4688ca63bdb2fdf113ca0a3be33f94488f2cadb690b0cf/uvicorn-0.38.0.tar.gz" - sha256 "fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end def install diff --git a/Formula/c/cliamp.rb b/Formula/c/cliamp.rb deleted file mode 100644 index 993a539700..0000000000 --- a/Formula/c/cliamp.rb +++ /dev/null @@ -1,41 +0,0 @@ -class Cliamp < Formula - desc "Retro terminal music player inspired by Winamp" - homepage "https://www.cliamp.stream" - url "https://github.com/bjarneo/cliamp/archive/refs/tags/v1.39.1.tar.gz" - sha256 "4d93784711c1ebeaed11406f298c93a65d5cfcea2a10b46ca9f553f6db7883a9" - license "MIT" - head "https://github.com/bjarneo/cliamp.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "06e6311dd37deecd44a7bf4bcd5435ea6173b1f959c50431dd7c9b0ecc7e3659" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8279a982f4907a67a9a8463a10d08c120d40ee607a1e9eea760f89bf828681a6" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d9eab87647cc63ee2adf5bc1cc6beb2653dd94855cba5a3eaefba6ea35d15c7e" - sha256 cellar: :any_skip_relocation, arm64_linux: "d57d172fba44b06e4eedd1f46b14a0ccc97c473b92287c5f776e4df60f81b4a3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7ef5fe65117c75dc633bdbdf7a559596480a5e335c3afd85c4a0a092a0663250" - end - - depends_on "go" => :build - depends_on "pkgconf" => :build - depends_on "ffmpeg" - depends_on "flac" - depends_on "libogg" - depends_on "libvorbis" - depends_on "yt-dlp" - - on_linux do - depends_on "alsa-lib" - end - - def install - ENV["CGO_ENABLED"] = "1" - - system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - end - - test do - assert_match version.to_s, shell_output("#{bin/"cliamp"} --version") - output = shell_output("#{bin/"cliamp"} search 2>&1", 1) - assert_match "search requires a query string", output - end -end diff --git a/Formula/c/clickhousectl.rb b/Formula/c/clickhousectl.rb deleted file mode 100644 index 48f583b653..0000000000 --- a/Formula/c/clickhousectl.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Clickhousectl < Formula - desc "CLI for ClickHouse: local and cloud" - homepage "https://github.com/ClickHouse/clickhousectl" - url "https://github.com/ClickHouse/clickhousectl/archive/refs/tags/v0.1.18.tar.gz" - sha256 "62fbaf4e1fa59174cbfd0ce90fcb700d3f607283646f9e6742ed189ac4d273a5" - license "Apache-2.0" - head "https://github.com/ClickHouse/clickhousectl.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9f38388bd0c85916dcb3cbf9b5a5375f52da538c2e578827815df247352a7598" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b42666087d9857eee797896703902eb235a1aa896f55283fcb1b1eb73b8a5f4b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "12272454a818ddde384a7e81c83d9c948857d129523a055f03e1930592d55ad2" - sha256 cellar: :any_skip_relocation, arm64_linux: "a791a7432a8f3284bd3e89d5c2dee490d648dfbfc745fe36b6296318c6794331" - sha256 cellar: :any_skip_relocation, x86_64_linux: "06bd7751e14f30ee4a4dc43a2f668edd5fe7e0fce99618c0fad7bad0e65523bd" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/clickhousectl --version") - - output = shell_output("#{bin}/clickhousectl cloud auth status") - assert_match "Not configured", output - end -end diff --git a/Formula/c/clickup-mcp.rb b/Formula/c/clickup-mcp.rb deleted file mode 100644 index 66664dfda6..0000000000 --- a/Formula/c/clickup-mcp.rb +++ /dev/null @@ -1,32 +0,0 @@ -class ClickupMcp < Formula - desc "MCP Server for ClickUp" - homepage "https://github.com/hauptsacheNet/clickup-mcp" - url "https://registry.npmjs.org/@hauptsache.net/clickup-mcp/-/clickup-mcp-1.6.2.tgz" - sha256 "6b25b92e7323156f1a370e532e701aae11bceabce3e07ac2b21badf787b6bd8b" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "73918c5cfcfc98b1218b3c0ffb48c88942f1d2b59baa7f64add6346b42839040" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - ENV["CLICKUP_API_KEY"] = "your_api_key" - ENV["CLICKUP_TEAM_ID"] = "your_team_id" - - json = <<~JSON - {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} - {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"cursor":null}} - JSON - - output = pipe_output("#{bin}/clickup-mcp 2>&1", json, 0) - assert_match "Error fetching user info: 401 Unauthorized", output - end -end diff --git a/Formula/c/climp.rb b/Formula/c/climp.rb deleted file mode 100644 index 3982cd51e8..0000000000 --- a/Formula/c/climp.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Climp < Formula - desc "CLI media player" - homepage "https://climp.net" - url "https://github.com/olivier-w/climp/archive/refs/tags/v0.3.1.tar.gz" - sha256 "92b30ab8aff15240f1d859cc2667d380d7b58642990023875fafae2b111b91c8" - license "Apache-2.0" - revision 1 - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0aeb71c249c21df9aef4865f1ad21744fda67335ea685e47aedc35693997de8b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4f00338c26baa5797abead1726a46846e9c1928504062dc6b1aee7cb096cf944" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c0c142f344299a0d1089f2f7ef6069190ff4e2be96de84ee37f6429132ee915f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ed122419b387d6f08293425f0bdef0e50539f87b6c1916f61344ac776feea8a4" - end - - depends_on "go" => :build - depends_on "pkgconf" => :build - - on_linux do - depends_on "alsa-lib" - end - - def install - ldflags = "-s -w -X main.version=v#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/climp --version") - - (testpath/"sample.txt").write("not audio\n") - output = shell_output("#{bin}/climp #{testpath}/sample.txt 2>&1", 1) - assert_match "unsupported format .txt", output - end -end diff --git a/Formula/c/clipse.rb b/Formula/c/clipse.rb deleted file mode 100644 index d852a736c8..0000000000 --- a/Formula/c/clipse.rb +++ /dev/null @@ -1,41 +0,0 @@ -class Clipse < Formula - desc "Configurable TUI clipboard manager for Unix" - homepage "https://github.com/savedra1/clipse" - url "https://github.com/savedra1/clipse/archive/refs/tags/v1.2.1.tar.gz" - sha256 "ec906744103a611cc1045a9d65f20b13b454ee046fd979abf1341a1b78fe553e" - license "MIT" - head "https://github.com/savedra1/clipse.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "bdc55801c7b5f6e7759900416b42be37f4f2df792b638ad0be145518f8df26de" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "74e802aa9ff7f24513f48bd6c79be2e686b98bdbc302c333b852b0295471f6c2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "baf6c5f8fec50fb1ee493cbbb4e4d8fb3a0676e755a7f839990e57195db1c043" - sha256 cellar: :any_skip_relocation, arm64_linux: "380b89d0604d210e40efaaa03ba4bd2ad021d55a0e637c180d81b39278f1d4f8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b9ce6751521fc4b4e6ae8ce04f7d6c7d5b1b8351fa58737c3b7c19f985489620" - end - - depends_on "go" => :build - depends_on "pkgconf" => :build - - on_linux do - depends_on "libx11" - depends_on "libxfixes" - depends_on "libxtst" - end - - def install - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match version.to_s, shell_output("#{bin}/clipse -v") - - test_string = "Homebrew clipse test" - with_env(XDG_CONFIG_HOME: testpath/".config") do - system bin/"clipse", "-a", test_string - assert_equal test_string, shell_output("#{bin}/clipse -output-all unescaped").chomp - end - end -end diff --git a/Formula/c/cloctui.rb b/Formula/c/cloctui.rb deleted file mode 100644 index 8e26acd3fe..0000000000 --- a/Formula/c/cloctui.rb +++ /dev/null @@ -1,83 +0,0 @@ -class Cloctui < Formula - include Language::Python::Virtualenv - - desc "TUI interface for the CLOC code analysis tool, using the Textual framework" - homepage "https://github.com/edward-jazzhands/cloctui" - url "https://files.pythonhosted.org/packages/39/8c/ccab84391cbdd5927ea143e5607b10b767e1340060e52ab201747324f0b4/cloctui-0.2.4.tar.gz" - sha256 "675d37c0e281d918665c74c76e83d6134585cdab7a744b55620c12bf31427f58" - license "MIT" - head "https://github.com/edward-jazzhands/cloctui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "4312cb39429cb8732dfdcbc5988356093534a8af780d6c8b54f8c9fed882ca71" - end - - depends_on "cloc" - depends_on "python@3.14" - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/f6/2f/f0b408f227edca21d1996c1cd0b65309f0cbff44264aa40aded3ff9ce2e1/textual-6.6.0.tar.gz" - sha256 "53345166d6b0f9fd028ed0217d73b8f47c3a26679a18ba3b67616dcacb470eec" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match "CLOCTUI - a terminal frontend for CLOC", shell_output("#{bin}/cloctui --help") - - assert_match "KeyError: 'header'", shell_output("#{bin}/cloctui . 2>&1") - end -end diff --git a/Formula/c/clog-cli.rb b/Formula/c/clog-cli.rb deleted file mode 100644 index 15027a8abd..0000000000 --- a/Formula/c/clog-cli.rb +++ /dev/null @@ -1,37 +0,0 @@ -class ClogCli < Formula - desc "Generate beautiful changelogs from your Git commit history" - homepage "https://github.com/clog-tool/clog-cli" - url "https://static.crates.io/crates/clog-cli/clog-cli-0.10.0.crate" - sha256 "9508313c4df5a08a63a9bb8718c2d72125f9dec0cec350532d7b770083e70a71" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7d54471ab1623e8c3733f3809734e000687b3bde8b150a2a63e1e038067c8b87" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f40006c4b88ec190e23a2631a51522d5572c7bf2929a4385a2e55f842c458e99" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b56a61f5c80c9024c715b101a6e4f0d791146b0cc5e1742108d7521b55724e31" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ab5c928d4874973cfbc9e840b05bc1bde4a6f55b2ce76c57b714d52a5aef59c0" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/clog --version") - - # system "git", "init" - - # (testpath/"test.txt").write "test content" - # system "git", "add", "test.txt" - # system "git", "commit", "-m", "feat: add test feature" - # system "git", "tag", "v0.1.0" - - # currently broken with `error: fatal I/O error with output file` error - # system bin/"clog", "--from", "v0.1.0", "--outfile", "CHANGELOG.md" - # assert_path_exists testpath/"CHANGELOG.md" - # assert_match "fix a bug", (testpath/"CHANGELOG.md").read - end -end diff --git a/Formula/c/cloud-run-mcp.rb b/Formula/c/cloud-run-mcp.rb index b2117b5c99..5fc27a9e7e 100644 --- a/Formula/c/cloud-run-mcp.rb +++ b/Formula/c/cloud-run-mcp.rb @@ -1,25 +1,23 @@ class CloudRunMcp < Formula desc "MCP server to deploy code to Google Cloud Run" homepage "https://github.com/googlecloudplatform/cloud-run-mcp" - url "https://registry.npmjs.org/@google-cloud/cloud-run-mcp/-/cloud-run-mcp-1.10.0.tgz" - sha256 "eb189a42f04949c49c379379873740be85d94d06a5e2190e31ef2691968a2048" + url "https://registry.npmjs.org/@google-cloud/cloud-run-mcp/-/cloud-run-mcp-1.5.0.tgz" + sha256 "6e362e745798672cebb2c4dfebbcff14edb679fa41d62d97cb5ac1366dcea547" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "60a9385ce3c8519ca4b4df98edd16ec0aa7b4127ccc7651e1417dd111ca22f4e" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "33b5aef4756c5f222f97ebc73ffc54ef32c0eef87fc2e028c538ed13b6014c23" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d1f6347052e8421908243b90dcbb23a1cf045972f678b3f768a864eafc00b542" + sha256 cellar: :any_skip_relocation, ventura: "c3a050a829c7c1b8e9411fdaefe56ae541943552476f5faee353aa439604e684" + sha256 cellar: :any_skip_relocation, x86_64_linux: "221b89c1a3190a2ce6ed7396d7f7e0fe4f2c79f552f0481d3a59996f8c3c4a67" end depends_on "node" def install system "npm", "install", *std_npm_args - - # These optional native prebuilds vary by platform and break `:all` bottles. - prebuilds = "lib/node_modules/@google-cloud/cloud-run-mcp/node_modules/{bare-fs,bare-os,bare-url}/prebuilds" - libexec.glob(prebuilds).each(&:rmtree) - - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do @@ -32,6 +30,6 @@ def install JSON output = pipe_output("#{bin}/cloud-run-mcp 2>&1", json, 0) - assert_match "Lists all Cloud Run services in a given project.", output + assert_match "Lists Cloud Run services in a given project and region", output end end diff --git a/Formula/c/cloudflare-ddns.rb b/Formula/c/cloudflare-ddns.rb index ac1ae860f3..d716569244 100644 --- a/Formula/c/cloudflare-ddns.rb +++ b/Formula/c/cloudflare-ddns.rb @@ -1,18 +1,17 @@ class CloudflareDdns < Formula desc "Small, feature-rich, and robust Cloudflare DDNS updater" homepage "https://github.com/favonia/cloudflare-ddns" - url "https://github.com/favonia/cloudflare-ddns/archive/refs/tags/v1.16.2.tar.gz" - sha256 "dbf196357e6f7aaf1d83ad5e800012f16708b405c8b0d6f131058d44a175f392" + url "https://github.com/favonia/cloudflare-ddns/archive/refs/tags/v1.15.1.tar.gz" + sha256 "8f2288e84257a445934e02500db2b778e17e41d0be059a38170ec8bfff6caa1d" license "Apache-2.0" => { with: "LLVM-exception" } head "https://github.com/favonia/cloudflare-ddns.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "189a7f7076b69164c7ed68e73e1d5ea3f6df7d4c59236065da0dcf8503d612ac" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "189a7f7076b69164c7ed68e73e1d5ea3f6df7d4c59236065da0dcf8503d612ac" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "189a7f7076b69164c7ed68e73e1d5ea3f6df7d4c59236065da0dcf8503d612ac" - sha256 cellar: :any_skip_relocation, arm64_linux: "a7b8515163411c589af4665be916e17113198633f26597686d727f8838f1f052" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2bcf75c9b645ec7b0e84fced0abe73da3e9234883d9b332a95cfd0d9283ee566" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e8438ef7b6e83af7446aa80b466c6a71660797033c35647adb549c4540bc7187" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6023b280ac9d28aa7715132213c48eef55b67bf081828fb0488d0b318079a995" + sha256 cellar: :any_skip_relocation, ventura: "f4a843c0b11fab977a27f435ff3c5686860b35b63aaf40afb4216f7d2c0b5743" + sha256 cellar: :any_skip_relocation, x86_64_linux: "74b9947ea6c56dab19f14324354770a7345102bb121a9d15084fc69d000f411d" end depends_on "go" => :build @@ -28,8 +27,6 @@ def install output = shell_output(bin/"cloudflare-ddns") assert_match version.to_s, output - assert_match "The Cloudflare API token appears to be invalid", output - assert_match "Failed to check", output - assert_match "zone named example.org", output + assert_match "Failed to check the existence of a zone named example.org", output end end diff --git a/Formula/c/cloudlens.rb b/Formula/c/cloudlens.rb index cdd5191a84..a5f5aeeb6d 100644 --- a/Formula/c/cloudlens.rb +++ b/Formula/c/cloudlens.rb @@ -5,17 +5,14 @@ class Cloudlens < Formula url "https://github.com/one2nc/cloudlens/archive/refs/tags/v0.1.4.tar.gz" sha256 "d049a756d2ad6198755dfc6e467f44428c043a54d578fd7938962c3abe15d78d" license "Apache-2.0" - revision 1 head "https://github.com/one2nc/cloudlens.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "006b14f41c54ef805e8dba806b84bc37a4439f686b081d3ef31f621b86ce1850" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "006b14f41c54ef805e8dba806b84bc37a4439f686b081d3ef31f621b86ce1850" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "006b14f41c54ef805e8dba806b84bc37a4439f686b081d3ef31f621b86ce1850" - sha256 cellar: :any_skip_relocation, arm64_linux: "ca2c3778b32c22f7f73400d268be60451ec9e6def6b1e6d0cd991fe6ff9138c7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7b00692bbfc2829b177c2df5427a396b4ed791d7d1750a75cda64309557a0663" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "7e651f79bb14827e279d544136f2280989c6c49ac9b95c9f4557d638e57c202c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f964aefbb52d1c18a718569d82b4c6e0ed52c53efbabbc6a0b129911d698b2c0" + sha256 cellar: :any_skip_relocation, ventura: "76fb4fc8f6040e138bf7cd3a9d56f48792ebd83dccd275b5eaba045911816f7a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a100349310ca0e076bbce82f717ec1004da943cbe8f9936ecda2362453900765" end depends_on "go" => :build @@ -29,7 +26,7 @@ def install ] system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"cloudlens", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"cloudlens", "completion") end test do diff --git a/Formula/c/clox.rb b/Formula/c/clox.rb deleted file mode 100644 index 4670e3bf6f..0000000000 --- a/Formula/c/clox.rb +++ /dev/null @@ -1,51 +0,0 @@ -class Clox < Formula - include Language::Python::Virtualenv - - desc "Geeky clock for terminal enthusiasts" - homepage "https://github.com/sepandhaghighi/clox" - url "https://files.pythonhosted.org/packages/f5/13/13629052a267e06bf5a9cf687eec42eb9d86949689de942ee40b3f335b93/clox-1.6.tar.gz" - sha256 "8501197eebd771696754147adbb0574314f14db51f21b12b07d970fa944ee439" - license "MIT" - head "https://github.com/sepandhaghighi/clox.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "984abc19ea0791e2831b62249e944fc92d08f0a02a6eb75b5a0fc1f0c9367f54" - end - - depends_on "python@3.14" - - resource "art" do - url "https://files.pythonhosted.org/packages/d4/7d/7d80509bbd19fb747edef94ba487dbadd2747944774ccc0528ad0d005a36/art-6.5.tar.gz" - sha256 "a98d77b42c278697ec6cf4b5bdcdfd997f6b2425332da078d4e31e31377d1844" - end - - resource "colorama" do - url "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" - sha256 "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" - end - - resource "jalali-core" do - url "https://files.pythonhosted.org/packages/2b/3c/21e32e3444c572174a5d774643eb2aa8ab60ef68b99a4c3585a0a11428b4/jalali_core-1.0.0.tar.gz" - sha256 "f4287c70c630323dcf0a3ab26df905ba4d451e230ac1f65b3bb2f77797894a2b" - end - - resource "jdatetime" do - url "https://files.pythonhosted.org/packages/6e/9d/5ed59c36f3cbc68c01fab6442e6efb6d35a484ba4eec4f790264fce39f6c/jdatetime-5.2.0.tar.gz" - sha256 "c81d5898717b82b609a3ce2a73f8b8d3230b0c757e5c0de9d6b1acfdc224f551" - end - - resource "pytz" do - url "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz" - sha256 "360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/clox --version") - assert_match "Countries list:", shell_output("#{bin}/clox --countries-list") - end -end diff --git a/Formula/c/cmdperf.rb b/Formula/c/cmdperf.rb deleted file mode 100644 index 505fa4c453..0000000000 --- a/Formula/c/cmdperf.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Cmdperf < Formula - desc "Command Performance Benchmarking" - homepage "https://github.com/miklosn/cmdperf" - url "https://github.com/miklosn/cmdperf/archive/refs/tags/v0.1.4.tar.gz" - sha256 "b5d2d1cad158b9af95e184851a6ebeffd98f81debbb547401d392a11e95c557d" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "893f3e4f1e52e128258a526c194f2c7a4bc9023111fc27ccf13e53248741ef74" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "893f3e4f1e52e128258a526c194f2c7a4bc9023111fc27ccf13e53248741ef74" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "893f3e4f1e52e128258a526c194f2c7a4bc9023111fc27ccf13e53248741ef74" - sha256 cellar: :any_skip_relocation, arm64_linux: "161b3c366089d7a4b319e52f1799a2e902a67e243ac0af1d09d07bbb522abd3b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "49082bff4e90a9112d86d0acffcbed0d0fe358bfac93166317639dea4ca1f47e" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.buildTime=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:), "./cmd/cmdperf" - end - - test do - assert_match version.to_s, shell_output("#{bin}/cmdperf --version") - assert_match "Benchmark completed!", shell_output("#{bin}/cmdperf 'sleep 0.1'") - end -end diff --git a/Formula/c/cmdx.rb b/Formula/c/cmdx.rb index 0407c3c1a3..4d5d2f549f 100644 --- a/Formula/c/cmdx.rb +++ b/Formula/c/cmdx.rb @@ -5,17 +5,14 @@ class Cmdx < Formula url "https://github.com/suzuki-shunsuke/cmdx/archive/refs/tags/v2.0.2-0.tar.gz" sha256 "20f0a5303e8302f9043629d0dc7c06ef4d8eaaafa1700a4dd00b199d9f01d997" license "MIT" - revision 1 head "https://github.com/suzuki-shunsuke/cmdx.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "718351bf67657ebb73d50126cd6aad42acbf46425d56083b99df4e98629b64c3" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "718351bf67657ebb73d50126cd6aad42acbf46425d56083b99df4e98629b64c3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "718351bf67657ebb73d50126cd6aad42acbf46425d56083b99df4e98629b64c3" - sha256 cellar: :any_skip_relocation, arm64_linux: "abf57e82d3bf00b073f681a7ae6d6c89f07ced615549944f929e503e2aaf476d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f587d11bbcc7611e5d4c90deddce11e91bcd5724248f137010f6e3d3020687c5" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "be5bd263cc9edfe399c4e8fd0540addc74e6bb76bb969eb6b69401c5d73be7c4" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "85ad40ef4ffcd713162749a257f31233376a6cd491dab024fb25ba665627e2a9" + sha256 cellar: :any_skip_relocation, ventura: "5ed23451fea9f6bb886a6090a4082bed782ca5cb2b497a17a30626786b3675a3" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c40b6603ddd407bfef328e7dc65fa14409878bfc24d992c842a42c860895e5f1" end depends_on "go" => :build diff --git a/Formula/c/cnspec.rb b/Formula/c/cnspec.rb deleted file mode 100644 index 2910f15dd7..0000000000 --- a/Formula/c/cnspec.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Cnspec < Formula - desc "Open source, cloud-native security and policy project" - homepage "https://github.com/mondoohq/cnspec" - url "https://github.com/mondoohq/cnspec/archive/refs/tags/v13.7.0.tar.gz" - sha256 "e4fed3fa5b87c6c187b4509e87551860ee164f094932dfa3c9b76bcf1065c83f" - license "BUSL-1.1" - head "https://github.com/mondoohq/cnspec.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d1b397507b3cf470e9aa87a4bf6d65555017052324f41ff5e3eecb5fb4de4014" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7921e6d0ac002174577020288c39ddf8dd7732b08f0b7899aa9b8b926a6344b0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7dd17ddfb3c8626176ab73c5e78efb0f681e79b69d0bcb095eb62c5662ee0ce5" - sha256 cellar: :any_skip_relocation, arm64_linux: "7073458663935b24e34dc3eaa3396ca72008e53cfd3faeba027c1ba59c294650" - sha256 cellar: :any_skip_relocation, x86_64_linux: "720a152b0181ea43e61ce7d0272aa83b1f8bf020ffe3f5c94ba7437af8f58913" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X go.mondoo.com/cnquery/v#{version.major}.Version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./apps/cnspec" - - generate_completions_from_executable(bin/"cnspec", shell_parameter_format: :cobra) - end - - test do - system bin/"cnspec", "version" - - output = shell_output("#{bin}/cnspec policy list 2>&1", 1) - assert_match "Error: cnspec has no credentials. Log in with `cnspec login`", output - end -end diff --git a/Formula/c/cobib.rb b/Formula/c/cobib.rb deleted file mode 100644 index 068bb2f03c..0000000000 --- a/Formula/c/cobib.rb +++ /dev/null @@ -1,156 +0,0 @@ -class Cobib < Formula - include Language::Python::Virtualenv - - desc "CLI/TUI logo designer with ANSI fonts, gradients, shadows, and exports" - homepage "https://cobib.gitlab.io/cobib/cobib.html" - url "https://files.pythonhosted.org/packages/3a/6c/b9a4d9dcc847e80d7949a84490fd56bf118f3e94aeb46ebd9e21ddf43ddb/cobib-6.0.1.tar.gz" - sha256 "9be5b29f87eaaa20ec9a3669d5884a683fa066021bf077af84e8a09f932298d4" - license "MIT" - head "https://gitlab.com/cobib/cobib.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e96c385812d839e9b5dcccb64338924703dcefb76b1005cab9d2837f12bd3d28" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "46dd6e09e8d7a698578c2b2a7c6b807679c4384463d94fd04a76234b10c496ea" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "336967176712d905c5079b77c0cac545ce85ef9dbf10f9e7ff74777a12b08449" - sha256 cellar: :any_skip_relocation, sequoia: "4fdf5f17115a9e4b16f340248d53bb16a1476ced9cce29249ae52ce64b94d07f" - sha256 cellar: :any_skip_relocation, arm64_linux: "138be4496385eb156ab40027495634ac81f52b8f58aad136d8aa2084a9a8e61b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0a093c14c42168f1223902c17b26c911d7e9a78b2509b500079d1c1920333d55" - end - - depends_on "certifi" => :no_linkage - depends_on "python@3.14" - - uses_from_macos "libxml2", since: :ventura - uses_from_macos "libxslt" - - pypi_packages exclude_packages: "certifi" - - resource "beautifulsoup4" do - url "https://files.pythonhosted.org/packages/77/e9/df2358efd7659577435e2177bfa69cba6c33216681af51a707193dec162a/beautifulsoup4-4.14.2.tar.gz" - sha256 "2a98ab9f944a11acee9cc848508ec28d9228abfd522ef0fad6a02a72e0ded69e" - end - - resource "bibtexparser" do - url "https://files.pythonhosted.org/packages/92/8d/e296c7af03757debd8fc80df2898cbed4fb69fc61ed2c9b4a1d42e923a9e/bibtexparser-1.4.3.tar.gz" - sha256 "a9c7ded64bc137720e4df0b1b7f12734edc1361185f1c9097048ff7c35af2b8f" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "lxml" do - url "https://files.pythonhosted.org/packages/aa/88/262177de60548e5a2bfc46ad28232c9e9cbde697bd94132aeb80364675cb/lxml-6.0.2.tar.gz" - sha256 "cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "natsort" do - url "https://files.pythonhosted.org/packages/e2/a9/a0c57aee75f77794adaf35322f8b6404cbd0f89ad45c87197a937764b7d0/natsort-8.4.0.tar.gz" - sha256 "45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "pylatexenc" do - url "https://files.pythonhosted.org/packages/5d/ab/34ec41718af73c00119d0351b7a2531d2ebddb51833a36448fc7b862be60/pylatexenc-2.10.tar.gz" - sha256 "3dd8fd84eb46dc30bee1e23eaab8d8fb5a7f507347b23e5f38ad9675c84f40d3" - end - - resource "pyparsing" do - url "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz" - sha256 "2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "ruamel-yaml" do - url "https://files.pythonhosted.org/packages/9f/c7/ee630b29e04a672ecfc9b63227c87fd7a37eb67c1bf30fe95376437f897c/ruamel.yaml-0.18.16.tar.gz" - sha256 "a6e587512f3c998b2225d68aa1f35111c29fad14aed561a26e73fab729ec5e5a" - end - - resource "soupsieve" do - url "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz" - sha256 "e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f" - end - - resource "text-unidecode" do - url "https://files.pythonhosted.org/packages/ab/e2/e9a00f0ccb71718418230718b3d900e71a5d16e701a3dae079a21e9cd8f8/text-unidecode-1.3.tar.gz" - sha256 "bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/f6/2f/f0b408f227edca21d1996c1cd0b65309f0cbff44264aa40aded3ff9ce2e1/textual-6.6.0.tar.gz" - sha256 "53345166d6b0f9fd028ed0217d73b8f47c3a26679a18ba3b67616dcacb470eec" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/cobib --version") - - system bin/"cobib", "init" - assert_path_exists testpath/".local/share/cobib/literature.yaml" - - assert_match "the database has not been cached yet", shell_output("#{bin}/cobib list") - end -end diff --git a/Formula/c/cocainate.rb b/Formula/c/cocainate.rb index f3b5e444d2..b51fe36542 100644 --- a/Formula/c/cocainate.rb +++ b/Formula/c/cocainate.rb @@ -5,26 +5,26 @@ class Cocainate < Formula url "https://github.com/AppleGamer22/cocainate/archive/refs/tags/v1.1.4.tar.gz" sha256 "c49a871e30647155f064704ae39084406d0506f52f8b1362b150e1bc239950e8" license "GPL-3.0-or-later" - revision 1 head "https://github.com/AppleGamer22/cocainate.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fe17491c148390b24e3eedd0cc70543d0b03fd72cdd754224e3ab650bcda6d7d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f6cafc4db3210a15a15bda790220cd44b1edb59cfe6869c3418e06f13f947c5d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "38cc654d1677f9098ff02ccd0b26886107c9194c40f2f2eae409056fbe06f8b7" - sha256 cellar: :any_skip_relocation, arm64_linux: "f46ffeda33d4575c04ac036164f532b2f7eb33990659d84a62d9ff9521ad53e9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ee93a1ffeed6f60c1166a32d697b83516cd21702d3b8f6f867bdc5b52721e6c7" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "91c81a350c430224019d60681b169ef98fbe8401ecfca9e7562be77e6e2580f9" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d484ca4d926579b48281c4a6674237d77c95a08fb7037b4c5d5bb84479cbc027" + sha256 cellar: :any_skip_relocation, ventura: "dfa23a0c3c4fb8c1cd19ea33ac52b1a8da7845edc0df2b07d104032482030650" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b3827812184a94d8c4c2c26476d2a8c2e4b1d660e99629b3870102252d42baab" end depends_on "go" => :build def install - ldflags = "-s -w -X github.com/AppleGamer22/cocainate/commands.Version=#{version}" + ldflags = %W[ + -s -w + -X github.com/AppleGamer22/cocainate/commands.Version=#{version} + ] system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"cocainate", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"cocainate", "completion") (man1/"cocainate.1").write Utils.safe_popen_read(bin/"cocainate", "manual") end diff --git a/Formula/c/code-index-mcp-server.rb b/Formula/c/code-index-mcp-server.rb new file mode 100644 index 0000000000..cebbace6c3 --- /dev/null +++ b/Formula/c/code-index-mcp-server.rb @@ -0,0 +1,201 @@ +class CodeIndexMcpServer < Formula + include Language::Python::Virtualenv + + desc "MCP server for LLMs to index, search, and analyze code repos" + homepage "https://github.com/johnhuang316/code-index-mcp" + url "https://files.pythonhosted.org/packages/45/26/d034291f8baf31a7d6b189dcd2dd6526eedde0db89560c093c9fa520605e/code_index_mcp-2.2.1.tar.gz" + sha256 "f7ee8545551d8444bb7b057ed2e18b17032bbf2fc910916f6f5f329788dd2583" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "aa48ee9f71000a76b5b21ffc2a5307328637918de7070dce6b7a56229f23f6d5" + sha256 cellar: :any, arm64_sonoma: "a7017aea07404c6424e208a7cab9ec3bff34a41ed8d5578f404b3ea01ac92e70" + sha256 cellar: :any, ventura: "8b8a1b33f02acba8e19468c4f367126b39128f28a064e209c3d0f179221306e2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "853353185dc05a90def7897209078171cf61e2a5b2f87283a1364328758e5299" + end + + depends_on "rust" => :build # for pydantic + depends_on "certifi" + depends_on "python@3.13" + + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end + + resource "anyio" do + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" + end + + resource "attrs" do + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" + end + + resource "click" do + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" + end + + resource "h11" do + url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" + sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" + end + + resource "httpcore" do + url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" + sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" + end + + resource "httpx" do + url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" + sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" + end + + resource "httpx-sse" do + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" + end + + resource "idna" do + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" + end + + resource "jsonschema" do + url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" + sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" + end + + resource "jsonschema-specifications" do + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" + end + + resource "mcp" do + url "https://files.pythonhosted.org/packages/66/3c/82c400c2d50afdac4fbefb5b4031fd327e2ad1f23ccef8eee13c5909aa48/mcp-1.13.1.tar.gz" + sha256 "165306a8fd7991dc80334edd2de07798175a56461043b7ae907b279794a834c5" + end + + resource "msgpack" do + url "https://files.pythonhosted.org/packages/45/b1/ea4f68038a18c77c9467400d166d74c4ffa536f34761f7983a104357e614/msgpack-1.1.1.tar.gz" + sha256 "77b79ce34a2bdab2594f490c8e80dd62a02d650b91a75159a63ec413b8d104cd" + end + + resource "pathspec" do + url "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz" + sha256 "a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712" + end + + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" + end + + resource "pydantic-settings" do + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" + end + + resource "python-dotenv" do + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" + end + + resource "python-multipart" do + url "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz" + sha256 "8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13" + end + + resource "referencing" do + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" + end + + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/1e/d9/991a0dee12d9fc53ed027e26a26a64b151d77252ac477e22666b9688bc16/rpds_py-0.27.0.tar.gz" + sha256 "8b23cf252f180cda89220b378d917180f29d313cd6a07b2431c0d3b776aae86f" + end + + resource "sniffio" do + url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" + sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" + end + + resource "sse-starlette" do + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" + end + + resource "starlette" do + url "https://files.pythonhosted.org/packages/15/b9/cc3017f9a9c9b6e27c5106cc10cc7904653c3eec0729793aec10479dd669/starlette-0.47.3.tar.gz" + sha256 "6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9" + end + + resource "tree-sitter" do + url "https://files.pythonhosted.org/packages/89/2b/02a642e67605b9dd59986b00d13a076044dede04025a243f0592ac79d68c/tree-sitter-0.25.1.tar.gz" + sha256 "cd761ad0e4d1fc88a4b1b8083bae06d4f973acf6f5f29bbf13ea9609c1dec9c1" + end + + resource "tree-sitter-java" do + url "https://github.com/tree-sitter/tree-sitter-java/archive/refs/tags/v0.23.5.tar.gz" + sha256 "cb199e0faae4b2c08425f88cbb51c1a9319612e7b96315a174a624db9bf3d9f0" + end + + resource "tree-sitter-javascript" do + url "https://github.com/tree-sitter/tree-sitter-javascript/archive/refs/tags/v0.23.1.tar.gz" + sha256 "fc5b8f5a491a6db33ca4854b044b89363ff7615f4291977467f52c1b92a0c032" + end + + resource "tree-sitter-typescript" do + url "https://github.com/tree-sitter/tree-sitter-typescript/archive/refs/tags/v0.23.2.tar.gz" + sha256 "2c4ce711ae8d1218a3b2f899189298159d672870b5b34dff5d937bed2f3e8983" + end + + resource "tree-sitter-zig" do + url "https://github.com/tree-sitter-grammars/tree-sitter-zig/archive/refs/tags/v1.1.2.tar.gz" + sha256 "612d67059faa90ec7691e5d786d70d8f7c2c8b15b83de901b9b801122ad4cf25" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + end + + resource "uvicorn" do + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" + end + + resource "watchdog" do + url "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz" + sha256 "9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282" + end + + def install + virtualenv_install_with_resources + end + + test do + json = <<~JSON + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}} + {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} + {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"cursor":null}} + JSON + + output = pipe_output("#{bin}/code-index-mcp 2>&1", json, 0) + assert_match "Set the base project path for indexing", output + end +end diff --git a/Formula/c/code-index-mcp.rb b/Formula/c/code-index-mcp.rb deleted file mode 100644 index ea14afeccb..0000000000 --- a/Formula/c/code-index-mcp.rb +++ /dev/null @@ -1,191 +0,0 @@ -class CodeIndexMcp < Formula - include Language::Python::Virtualenv - - desc "MCP server for LLMs to index, search, and analyze code repos" - homepage "https://github.com/johnhuang316/code-index-mcp" - url "https://files.pythonhosted.org/packages/2d/21/394a7ee2676f2f467bda8d831ab9ae8c13ab2e778b432b4bcc842bf3ce72/code_index_mcp-2.16.0.tar.gz" - sha256 "958466887433e28b5cbcd8db08690ec25ca059ae054e318fc19e7ae9448f4de5" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "044938144663511794678028f5de9827606f869652906548e69abb305befba6a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1b2c2fc84683f831ca46197595428df9f85f7960e57a9f02d2ae1423a3529e80" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cee8a3aa287cb2c4df00bae20ed9ff24dab349774b8e4edd16aae40315157f7e" - sha256 cellar: :any_skip_relocation, arm64_linux: "c697ab562ca773dc5ce3ac9611e18713a74bfb9a3fe667901173641ac6184c4b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "624af3fca43c19292837bb08ad18cbfb17dbc678b169b1a9df60a41be9842939" - end - - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage - - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py python-dateutil] - - resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz" - sha256 "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz" - sha256 "585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" - sha256 "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "mcp" do - url "https://files.pythonhosted.org/packages/8b/eb/c0cfc62075dc6e1ec1c64d352ae09ac051d9334311ed226f1f425312848a/mcp-1.27.0.tar.gz" - sha256 "d3dc35a7eec0d458c1da4976a48f982097ddaab87e278c5511d5a4a56e852b83" - end - - resource "msgpack" do - url "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz" - sha256 "3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e" - end - - resource "pathspec" do - url "https://files.pythonhosted.org/packages/2e/17/9c3094b822982b9f1ea666d8580ce59000f61f87c1663556fb72031ad9ec/pathspec-1.1.0.tar.gz" - sha256 "f5d7c555da02fd8dde3e4a2354b6aba817a89112fa8f333f7917a2a4834dd080" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/42/98/c8345dccdc31de4228c039a98f6467a941e39558da41c1744fbe29fa5666/pydantic_settings-2.14.0.tar.gz" - sha256 "24285fd4b0e0c06507dd9fdfd331ee23794305352aaec8fc4eb92d4047aeb67d" - end - - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/c2/27/a3b6e5bf6ff856d2509292e95c8f57f0df7017cf5394921fc4e4ef40308a/pyjwt-2.12.1.tar.gz" - sha256 "c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/88/71/b145a380824a960ebd60e1014256dbb7d2253f2316ff2d73dfd8928ec2c3/python_multipart-0.0.26.tar.gz" - sha256 "08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" - end - - resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/26/8c/f9290339ef6d79badbc010f067cd769d6601ec11a57d78569c683fb4dd87/sse_starlette-3.3.4.tar.gz" - sha256 "aaf92fc067af8a5427192895ac028e947b484ac01edbc3caf00e7e7137c7bef1" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz" - sha256 "6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149" - end - - resource "tree-sitter" do - url "https://files.pythonhosted.org/packages/66/7c/0350cfc47faadc0d3cf7d8237a4e34032b3014ddf4a12ded9933e1648b55/tree-sitter-0.25.2.tar.gz" - sha256 "fe43c158555da46723b28b52e058ad444195afd1db3ca7720c59a254544e9c20" - end - - resource "tree-sitter-c-sharp" do - url "https://github.com/tree-sitter/tree-sitter-c-sharp/archive/refs/tags/v0.23.5.tar.gz" - sha256 "9628b164369071019368618bdefa446f0aab8acaac47b75d5dfb209e93b8903b" - end - - resource "tree-sitter-java" do - url "https://github.com/tree-sitter/tree-sitter-java/archive/refs/tags/v0.23.5.tar.gz" - sha256 "cb199e0faae4b2c08425f88cbb51c1a9319612e7b96315a174a624db9bf3d9f0" - end - - resource "tree-sitter-javascript" do - url "https://github.com/tree-sitter/tree-sitter-javascript/archive/refs/tags/v0.25.0.tar.gz" - sha256 "9712fc283d3dc01d996d20b6392143445d05867a7aad76fdd723824468428b86" - end - - resource "tree-sitter-kotlin" do - url "https://github.com/tree-sitter-grammars/tree-sitter-kotlin/archive/refs/tags/v1.1.0.tar.gz" - sha256 "3c36bd5627fff38e4323ebead1f7e86e6d1727f0353618d1c976fea88260ba90" - end - - resource "tree-sitter-rust" do - url "https://github.com/tree-sitter/tree-sitter-rust/archive/refs/tags/v0.24.2.tar.gz" - sha256 "061e90a539a55a6aa65dceb0ad6425c50ab1a6e3e6d4ba430e2795ed4550f10e" - end - - resource "tree-sitter-typescript" do - url "https://github.com/tree-sitter/tree-sitter-typescript/archive/refs/tags/v0.23.2.tar.gz" - sha256 "2c4ce711ae8d1218a3b2f899189298159d672870b5b34dff5d937bed2f3e8983" - end - - resource "tree-sitter-zig" do - url "https://github.com/tree-sitter-grammars/tree-sitter-zig/archive/refs/tags/v1.1.2.tar.gz" - sha256 "612d67059faa90ec7691e5d786d70d8f7c2c8b15b83de901b9b801122ad4cf25" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/1f/93/041fca8274050e40e6791f267d82e0e2e27dd165627bd640d3e0e378d877/uvicorn-0.46.0.tar.gz" - sha256 "fb9da0926999cc6cb22dc7cd71a94a632f078e6ae47ff683c5c420750fb7413d" - end - - resource "watchdog" do - url "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz" - sha256 "9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282" - end - - def install - virtualenv_install_with_resources - end - - test do - json = <<~JSON - {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}} - {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} - {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"cursor":null}} - JSON - - output = pipe_output("#{bin}/code-index-mcp 2>&1", json, 0) - assert_match "Set the base project path for indexing", output - end -end diff --git a/Formula/c/code-pushup.rb b/Formula/c/code-pushup.rb index 092a4a8964..ab60c2628d 100644 --- a/Formula/c/code-pushup.rb +++ b/Formula/c/code-pushup.rb @@ -1,24 +1,23 @@ class CodePushup < Formula desc "CLI to run all kinds of code quality measurements" homepage "https://code-pushup.dev/" - url "https://registry.npmjs.org/@code-pushup/cli/-/cli-0.126.2.tgz" - sha256 "cf5a59b5f769366b39ed01b3e3304677a0366af506f8f4f6619d6269b07c2602" + url "https://registry.npmjs.org/@code-pushup/cli/-/cli-0.79.1.tgz" + sha256 "b4bf2b80a535259fe1839f219381eb00f793e1f2ae8fadf3f97fdea15f5a0064" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "54fd07a1212d68be72511c88ec9a1cbb15cf63e83666d3ff7f5e93581c1970bf" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "54fd07a1212d68be72511c88ec9a1cbb15cf63e83666d3ff7f5e93581c1970bf" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "54fd07a1212d68be72511c88ec9a1cbb15cf63e83666d3ff7f5e93581c1970bf" - sha256 cellar: :any_skip_relocation, arm64_linux: "b3828a82da037dacfb47760562b28daf1ddf482282bac25304e6b5fe971f8b28" - sha256 cellar: :any_skip_relocation, x86_64_linux: "95a160332e8f3d95b2b2bff49d850539ace94a2275fc6e3ed3841861eadf8468" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "abf0d794ebf809a7070d029e347a60225b73374710d613167a6ff7b802abacf2" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ed18c1088ea86527a9d60f0d9c983d4543b87788f3e7941fae2c1f55f61c9ccf" + sha256 cellar: :any_skip_relocation, ventura: "5e0650d4f1ec2aa33e0cbbc528e294cef04c817243388bffc86e029d2d0fd5d5" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a999e42a5bf08d1a5b86911ef901d6a21709fc01b500074f3a605f6b984b6c32" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do @@ -70,7 +69,7 @@ def install export default config; TS - system bin/"code-pushup", "print-config", "--config", "code-pushup.config.ts", "--output", "resolved.json" - assert_equal "TypeScript migration", JSON.parse((testpath/"resolved.json").read)["plugins"][0]["title"] + output = shell_output("#{bin}/code-pushup print-config --config code-pushup.config.ts 2>&1") + assert_equal "TypeScript migration", JSON.parse(output)["plugins"][0]["title"] end end diff --git a/Formula/c/codebuff.rb b/Formula/c/codebuff.rb deleted file mode 100644 index 3a2490f3d5..0000000000 --- a/Formula/c/codebuff.rb +++ /dev/null @@ -1,23 +0,0 @@ -class Codebuff < Formula - desc "Generate code from the terminal" - homepage "https://www.codebuff.com/" - url "https://registry.npmjs.org/codebuff/-/codebuff-1.0.644.tgz" - sha256 "ffbf876c8cde67490d607979160232cda43fd9662d672bc8c6d87c9651f1a838" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "40d2f2ab092a69ec1b2f8594fef0bdbf02a76f5b3db05607ac91228315807282" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match(/\b\d+\.\d+\.\d+\b/, shell_output("#{bin}/cb --version")) - end -end diff --git a/Formula/c/codemachine.rb b/Formula/c/codemachine.rb deleted file mode 100644 index 6c8e31ab9c..0000000000 --- a/Formula/c/codemachine.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Codemachine < Formula - desc "CLI-native orchestration engine for autonomous coding workflows" - homepage "https://codemachine.co/" - url "https://registry.npmjs.org/codemachine/-/codemachine-0.8.0.tgz" - sha256 "13b5b78d7e33e1d6733e8dce05e5b4d41173db44465f6ca559172b517890bcdd" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "adb9560f22748b73256c3fedf967eb1b28442446199ad2d5161f0581f07bd531" - sha256 arm64_sequoia: "adb9560f22748b73256c3fedf967eb1b28442446199ad2d5161f0581f07bd531" - sha256 arm64_sonoma: "adb9560f22748b73256c3fedf967eb1b28442446199ad2d5161f0581f07bd531" - sha256 cellar: :any_skip_relocation, arm64_linux: "299b78fca3b7450098e48db277b0fe5baef9eedff5f4ed860c705e431a73778b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b3563da1d70eaa31fe446995d1b85472e1dad3de43d7b8ee6b1910b007bca8bf" - end - - depends_on "chenrui333/tap/bun" - depends_on "node" - - def install - system "npm", "install", *std_npm_args - - # These platform-specific OpenTUI artifacts are not used by the shipped CLI binary - # and their install IDs are not relocatable in Homebrew builds. - libexec.glob("lib/node_modules/codemachine/node_modules/**/@opentui/core-*").each do |path| - rm_r path - end - libexec.glob("lib/node_modules/codemachine/node_modules/**/*.dylib").each do |path| - rm path - end - - bin.install_symlink Dir["#{libexec}/bin/*"] - end - - test do - (testpath/"project").mkpath - cd testpath/"project" do - assert_match version.to_s, shell_output("#{bin}/codemachine --version") - assert_match "too many arguments", shell_output("#{bin}/codemachine invalid-command 2>&1", 1) - end - end -end diff --git a/Formula/c/codemap.rb b/Formula/c/codemap.rb deleted file mode 100644 index 0a9878831b..0000000000 --- a/Formula/c/codemap.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Codemap < Formula - desc "Generate a brain map of a codebase for LLM context" - homepage "https://github.com/JordanCoin/codemap" - url "https://github.com/JordanCoin/codemap/archive/refs/tags/v4.1.6.tar.gz" - sha256 "1121e1a2609fde3501e959cbd314e1732aaeef37901c93c8d9842db1ec7b9a36" - license "MIT" - head "https://github.com/JordanCoin/codemap.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c33f03a0d695bc027def8bee3037385b67043ab6d4aa880e4f69e82de121b006" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c33f03a0d695bc027def8bee3037385b67043ab6d4aa880e4f69e82de121b006" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c33f03a0d695bc027def8bee3037385b67043ab6d4aa880e4f69e82de121b006" - sha256 cellar: :any_skip_relocation, arm64_linux: "d0f424d47dc5728ae80c7746063ef1173779d87373aef94e9670b763407649e5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "86e2daf3583dea5bf9b3b953866537d309f0337fc1fab99437d5f27c0a99a98e" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args - end - - test do - (testpath/"hello.go").write <<~EOS - package main - func main() {} - EOS - - output = shell_output("#{bin}/codemap --json #{testpath}") - assert_match "\"path\":\"hello.go\"", output - end -end diff --git a/Formula/c/codespelunker.rb b/Formula/c/codespelunker.rb index db995ed328..d437b2acb4 100644 --- a/Formula/c/codespelunker.rb +++ b/Formula/c/codespelunker.rb @@ -1,18 +1,17 @@ class Codespelunker < Formula desc "Command-line codespelunker or code search" homepage "https://github.com/boyter/cs" - url "https://github.com/boyter/cs/archive/refs/tags/v3.1.0.tar.gz" - sha256 "1fb48991eea45067386309abc08dad91e4ff8077178130162902953f88100a34" + url "https://github.com/boyter/cs/archive/refs/tags/v1.4.0.tar.gz" + sha256 "6553dfbfeff046d6363fbea8a46fe9ed0f145e58cca89360b84cc86f8e7cad7a" license any_of: ["MIT", "Unlicense"] head "https://github.com/boyter/cs.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d3e88dacd07849e7f0dd9e3fd86763c21e8fdf8e150d7989adf53c199e32a02c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d3e88dacd07849e7f0dd9e3fd86763c21e8fdf8e150d7989adf53c199e32a02c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d3e88dacd07849e7f0dd9e3fd86763c21e8fdf8e150d7989adf53c199e32a02c" - sha256 cellar: :any_skip_relocation, arm64_linux: "b3ca2a4d1cd369f1c0731024a10624bd320403086f9d2a388bcbf191c86f08ec" - sha256 cellar: :any_skip_relocation, x86_64_linux: "117d68bd97296e1bdb849d43c9fd49eca73046c655f792e23177dc6d40e02598" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ff00ed4736af32a933cb38970d76d9bac55385d1bfdd3438fbec703762661a7e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "94041d324afd1ed452c6f30c0e7397824994cfad5d5c66bd1b59255a83df9ce6" + sha256 cellar: :any_skip_relocation, ventura: "3984fa6c86d0bde89b43685f7cec771f40c24da6930a7981d8757990109e31cd" + sha256 cellar: :any_skip_relocation, x86_64_linux: "60f8ec92b22c83f8580243ad51c5ce783f21bd2888a2160d1968233544e1135e" end depends_on "go" => :build diff --git a/Formula/c/codex-viz.rb b/Formula/c/codex-viz.rb deleted file mode 100644 index bd7e6dd2c7..0000000000 --- a/Formula/c/codex-viz.rb +++ /dev/null @@ -1,72 +0,0 @@ -class CodexViz < Formula - desc "Local-first dashboard for Codex CLI sessions" - homepage "https://github.com/onewesong/codex-viz" - url "https://github.com/onewesong/codex-viz/archive/96fcd16256a74849f670c464ba48bb261d34f952.tar.gz" - version "0.1.0" - sha256 "65688e5feac4b89540f2cee56e34cc78183f9cd2952d39e79c23d2e18a2ad68a" - license "MIT" - head "https://github.com/onewesong/codex-viz.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "d234f1add68034fa1318b7fccf4863bfbadc1629e06b2629e8c398e72c1894c4" - sha256 cellar: :any, arm64_sequoia: "33a37d9859406fea7dde206d9428895a47608fb08d02373e4f84a0b0c35269d0" - sha256 cellar: :any, arm64_sonoma: "33a37d9859406fea7dde206d9428895a47608fb08d02373e4f84a0b0c35269d0" - sha256 cellar: :any_skip_relocation, arm64_linux: "50e6d9e3630b82b53e267d79d10d9b58134e754c46cbd123ca3086229f21db12" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b03cc0e0b7528db111efadbafc613e4e6067a30fe718e913a72919b0acfc1de1" - end - - depends_on "node" - - def install - ENV["NEXT_TELEMETRY_DISABLED"] = "1" - - system "npm", "install", "--include=dev", - *std_npm_args(prefix: false, ignore_scripts: false) - system "npm", "run", "build" - system "npm", "install", "--omit=dev", - *std_npm_args(prefix: false, ignore_scripts: false) - - libexec.install Dir["*"] - if OS.linux? - # Keep only glibc Next.js binaries to avoid musl-only `libc.so` linkage. - libexec.glob("node_modules/@next/swc-linux-*-musl").each do |swc_musl| - rm_r swc_musl - end - end - - (bin/"codex-viz").write <<~SH - #!/bin/bash - export NEXT_TELEMETRY_DISABLED=1 - cd "#{libexec}" || exit 1 - exec "#{Formula["node"].opt_bin}/node" "#{libexec}/node_modules/next/dist/bin/next" start "$@" - SH - end - - test do - assert_equal version.to_s, shell_output("node -p \"require('#{libexec}/package.json').version\"").strip - - sessions = testpath/"sessions" - sessions.mkpath - port = free_port - pid = nil - - pid = spawn( - { - "CODEX_SESSIONS_DIR" => sessions.to_s, - "CODEX_VIZ_CACHE_DIR" => (testpath/"cache").to_s, - }, - bin/"codex-viz", "-H", "127.0.0.1", "-p", port.to_s, - out: testpath/"server.log", - err: testpath/"server.log" - ) - - sleep 8 - assert_match "Codex Viz", shell_output("curl -fsS http://127.0.0.1:#{port}") - ensure - next unless pid - - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/c/codstts.rb b/Formula/c/codstts.rb index 7b3bce6f51..cc03390e9c 100644 --- a/Formula/c/codstts.rb +++ b/Formula/c/codstts.rb @@ -23,7 +23,7 @@ def install assert_match version.to_s, shell_output("#{bin}/codstts --version") testpath_dir = testpath/"test_project" - testpath_dir.mkpath + mkdir_p testpath_dir (testpath_dir/"test.py").write <<~PYTHON def hello(): diff --git a/Formula/c/cohctl.rb b/Formula/c/cohctl.rb index 8ca51d559b..6d2f07a9f0 100644 --- a/Formula/c/cohctl.rb +++ b/Formula/c/cohctl.rb @@ -2,18 +2,17 @@ class Cohctl < Formula desc "CLI for Coherence clusters" homepage "https://followtheprocess.github.io/spok/" - url "https://github.com/oracle/coherence-cli/archive/refs/tags/1.10.9.tar.gz" - sha256 "cca36e06a11906bf430505088ef14114439149f5a0e22729a76e64e7e2885c38" + url "https://github.com/oracle/coherence-cli/archive/refs/tags/1.10.2.tar.gz" + sha256 "a701beb9f775db7f1a1ab3b260d519598519df2db3ef6ef88fdb342acd4e5a1b" license "UPL-1.0" head "https://github.com/oracle/coherence-cli.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a3f0118d3721d1a3dad0a1651aa58ffa8c0dac522937b6bb9f94b3e31c0a83a2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a3f0118d3721d1a3dad0a1651aa58ffa8c0dac522937b6bb9f94b3e31c0a83a2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a3f0118d3721d1a3dad0a1651aa58ffa8c0dac522937b6bb9f94b3e31c0a83a2" - sha256 cellar: :any_skip_relocation, arm64_linux: "768b62e88826f49fbb054b9a5b3a348a8bb63d1ef56604f33d6742f4b15014e4" - sha256 cellar: :any_skip_relocation, x86_64_linux: "40026e97b822a4b520e86892ae873e0fa9845ae1522107b9bbd7ae77817560a6" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e635d6e2fac080f6aa1696c0ac26c99f7733daff852816b437dd4f2f02a850c7" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "0a8abf54a56473a630d15f3487c97b9baa512f05488b40802fa037a00685ccc2" + sha256 cellar: :any_skip_relocation, ventura: "bb60bc4013438a43fc75415774b410997a959a4c97ffd7aa195d745f3fb49d96" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f7d6b4f12bd7855af4e7e0e45aa5293c9a8d2b6832ad2a419235a90aa5280dcc" end depends_on "go" => :build @@ -22,7 +21,7 @@ def install ldflags = "-s -w -X main.Version=#{version} -X main.Commit=#{tap.user} -X main.Date=#{time.iso8601}" system "go", "build", *std_go_args(ldflags:), "./cohctl" - generate_completions_from_executable(bin/"cohctl", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"cohctl", "completion") end test do diff --git a/Formula/c/comchan.rb b/Formula/c/comchan.rb deleted file mode 100644 index da38943673..0000000000 --- a/Formula/c/comchan.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Comchan < Formula - desc "Minimal serial monitor and plotter for embedded applications" - homepage "https://github.com/Vaishnav-Sabari-Girish/ComChan" - url "https://github.com/Vaishnav-Sabari-Girish/ComChan/archive/refs/tags/v0.3.3.tar.gz" - sha256 "8647ca415638ba9f4134a53669489e1ff7bee1cfc3fd89bfef2ad40a546fac44" - license "MIT" - head "https://github.com/Vaishnav-Sabari-Girish/ComChan.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2d6d3f3c9386f2723dcef134e4fd7f9f01535c0dc914d0415cc8c8bbc4227059" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c5d4f1095b6ff1465a2c5100eb3f4d274cb401c9aa04b609b931b6582dcf4107" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "aa41b042f4f64547891bd744d1db3d9e515df595de2ae49a8637758d16577f88" - sha256 cellar: :any_skip_relocation, arm64_linux: "a34a194d615726d0df9616eaaa1c79e40760612edbe20937357f613d6b267bd1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5f4fc18c11cea265dfd1f8580bbed2c6bc6f7195db6e0029b472d0181ed7b310" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "systemd" # for libudev - end - - def install - system "cargo", "install", *std_cargo_args(path: ".") - end - - test do - assert_match version.to_s, shell_output("#{bin}/comchan --version") - - shell_output("HOME=#{testpath} #{bin}/comchan --generate-config") - - config = if OS.mac? - testpath/"Library/Application Support/comchan/comchan.toml" - else - testpath/".config/comchan/comchan.toml" - end - assert_path_exists config - assert_match 'port = "auto"', config.read - end -end diff --git a/Formula/c/config-file-validator.rb b/Formula/c/config-file-validator.rb new file mode 100644 index 0000000000..90ee56a6f0 --- /dev/null +++ b/Formula/c/config-file-validator.rb @@ -0,0 +1,31 @@ +class ConfigFileValidator < Formula + desc "CLI tool to validate different configuration file types" + homepage "https://boeing.github.io/config-file-validator/" + url "https://github.com/Boeing/config-file-validator/archive/refs/tags/v1.81.tar.gz" + sha256 "7fec695580da86795834678e9f24559f503ba01d5643a514937895030f67eb94" + license "Apache-2.0" + head "https://github.com/Boeing/config-file-validator.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "8d2bb7c1c3dae4a84b8da30cc3ce2f7f387a22ebf03bf846d83dafd0f34b1d60" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "4e37e301a2612ca04e3884dd48da1c5c17f7dce1284d82cddf0339bacbbc9091" + sha256 cellar: :any_skip_relocation, ventura: "e40ed90826baeaa5f11effe21607b9bc1e69ba8f5d0ab9819126d10fdfe75283" + sha256 cellar: :any_skip_relocation, x86_64_linux: "6dfec46e4ab22bf5a38ff730153c4b2cffbc728bbc2d5e5083876208dbf52db8" + end + + depends_on "go" => :build + + def install + ldflags = "-s -w -X github.com/Boeing/config-file-validator.version=#{version}" + system "go", "build", *std_go_args(ldflags:, output: bin/"validator"), "./cmd/validator" + end + + test do + assert_match version.to_s, shell_output("#{bin}/validator -version") + + test_file = testpath/"test.json" + test_file.write('{"valid": "json"}') + assert_match "✓ #{test_file}", shell_output("#{bin}/validator #{test_file}") + end +end diff --git a/Formula/c/container-use.rb b/Formula/c/container-use.rb index c31216bac2..f4b52c5040 100644 --- a/Formula/c/container-use.rb +++ b/Formula/c/container-use.rb @@ -4,17 +4,14 @@ class ContainerUse < Formula url "https://github.com/dagger/container-use/archive/refs/tags/v0.4.2.tar.gz" sha256 "951105f0b4a9bfd9f52e7bb3a2d245e800df4b8449704cd34001833ee888a02d" license "Apache-2.0" - revision 1 head "https://github.com/dagger/container-use.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0675781a0b8c505846df812acf5ba642f64f29ecf9d0265fb3a77064efcab0b9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0675781a0b8c505846df812acf5ba642f64f29ecf9d0265fb3a77064efcab0b9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0675781a0b8c505846df812acf5ba642f64f29ecf9d0265fb3a77064efcab0b9" - sha256 cellar: :any_skip_relocation, arm64_linux: "a59dac66bef4424cd3ac738b5e5b86867f5b15f146fcdf8cb3fe13e0599f9f81" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3c13a0fa18a558e1e872c8e8ae96131ca940c5d3f506319bc4e786673f77634d" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ea9bd98957f36c9967c0ab8a0cd0f40fd2d78d54ee7840f0b4ffb9738bf8542f" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "73d65cc49392cd39df8e826c9566c8ba8907650c7ed201e57d02c6dc01c73e26" + sha256 cellar: :any_skip_relocation, ventura: "722fa1ccc22e15244fb675d0fd741a2f2a72a654df6855516814cdaa24822713" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f52d03d1df5f353946af532c89f4fcd60d48a3ab1c9fbd721bc5bf0d47f2ec57" end depends_on "go" => :build @@ -23,7 +20,7 @@ def install ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" system "go", "build", *std_go_args(ldflags:), "./cmd/container-use" - generate_completions_from_executable(bin/"container-use", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"container-use", "completion", shells: [:bash, :zsh, :fish, :pwsh]) end test do diff --git a/Formula/c/container2wasm.rb b/Formula/c/container2wasm.rb index ac4b8a39cd..836be219cd 100644 --- a/Formula/c/container2wasm.rb +++ b/Formula/c/container2wasm.rb @@ -1,18 +1,17 @@ class Container2wasm < Formula desc "Container to WASM converter" homepage "https://ktock.github.io/container2wasm-demo/" - url "https://github.com/container2wasm/container2wasm/archive/refs/tags/v0.8.4.tar.gz" - sha256 "4216e148c88588924f4026d8359be35f5c861967ab8e55a733bb879cdca678e8" + url "https://github.com/container2wasm/container2wasm/archive/refs/tags/v0.8.3.tar.gz" + sha256 "8e67b5e0d204ecf6ed2cf5e7abbd4dfe8e606568f1980193e5048aed0dd8c376" license "Apache-2.0" head "https://github.com/container2wasm/container2wasm.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "43a3920339e2ad9565d1f854ecdf5b558f00329c68dc947f452f5171db4e8d1c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "43a3920339e2ad9565d1f854ecdf5b558f00329c68dc947f452f5171db4e8d1c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "43a3920339e2ad9565d1f854ecdf5b558f00329c68dc947f452f5171db4e8d1c" - sha256 cellar: :any_skip_relocation, arm64_linux: "04090ab1f4f27f389cc9a556da35e4738e8978e30032faa023e53378612bf281" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e4597892628f6343b93ff1bd8315f28f0aaa8f3efb1fc3b3a12f532bc37b17cc" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "938f945bc41f561407356285bab78b3ab7e25ccfda551f562a36f8038d02d757" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "88e1c0a78ba3e0efa62e5858c382577189cf87263c81cec2cc4b4fc090db2cb0" + sha256 cellar: :any_skip_relocation, ventura: "147aaa9b59ca16754559f501576bd59fc765d95d18a1cfcdb1217d8f232553de" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7ccf76c44a2ddbd2a3a1d234e482cc5c63e1a72284d33a074d1724270f3a6d00" end depends_on "go" => :build diff --git a/Formula/c/context-file-manager.rb b/Formula/c/context-file-manager.rb index 26e750e9e1..2c4b8df955 100644 --- a/Formula/c/context-file-manager.rb +++ b/Formula/c/context-file-manager.rb @@ -9,31 +9,34 @@ class ContextFileManager < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, all: "25d071b6f817f19b2f9c5b515248b622cd7f8c1946020f590400431a41a9de33" + sha256 cellar: :any, arm64_sequoia: "08919352959f1e4feffd123c8e65b466cad8471bd04b41917b3788e540b21693" + sha256 cellar: :any, arm64_sonoma: "235b8841f7010ff34be6940f9775bb96278d8819695c57366edc489e50bf116c" + sha256 cellar: :any, ventura: "e791b92676748a26ef82f00238a5f89965b2e6b62ef4c6665b1e0eedd7778056" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d4264acedbad7179577bf77b51a31b1c6b89a186a127f930e7bc7c93403ba2ed" end - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage + depends_on "rust" => :build # for pydantic_core + depends_on "certifi" depends_on "python@3.13" - depends_on "rpds-py" => :no_linkage - pypi_packages package_name: "context-file-manager[mcp]", exclude_packages: %w[certifi cryptography pydantic rpds-py] + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz" + sha256 "673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "h11" do @@ -52,43 +55,48 @@ class ContextFileManager < Formula end resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jsonschema" do - url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" - sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" + url "https://files.pythonhosted.org/packages/d5/00/a297a868e9d0784450faa7365c2172a7d6110c763e30ba861867c32ae6a9/jsonschema-4.25.0.tar.gz" + sha256 "e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f" end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end resource "mcp" do - url "https://files.pythonhosted.org/packages/33/54/dd2330ef4611c27ae59124820863c34e1d3edb1133c58e6375e2d938c9c5/mcp-1.21.0.tar.gz" - sha256 "bab0a38e8f8c48080d787233343f8d301b0e1e95846ae7dead251b2421d99855" + url "https://files.pythonhosted.org/packages/4d/19/9955e2df5384ff5dd25d38f8e88aaf89d2d3d9d39f27e7383eaf0b293836/mcp-1.12.3.tar.gz" + sha256 "ab2e05f5e5c13e1dc90a4a9ef23ac500a6121362a564447855ef0ab643a99fed" end - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz" - sha256 "d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180" + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz" - sha256 "3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953" + resource "pydantic-settings" do + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "python-multipart" do @@ -97,8 +105,13 @@ class ContextFileManager < Formula end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" + end + + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/a5/aa/4456d84bbb54adc6a916fb10c9b374f78ac840337644e4a5eda229c81275/rpds_py-0.26.0.tar.gz" + sha256 "20dae58a859b0906f0685642e591056f1e787f3a8b39c8e8749a45dc7d26bdb0" end resource "sniffio" do @@ -107,18 +120,28 @@ class ContextFileManager < Formula end resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/db/3c/fa6517610dc641262b77cc7bf994ecd17465812c1b0585fe33e11be758ab/sse_starlette-3.0.3.tar.gz" - sha256 "88cfb08747e16200ea990c8ca876b03910a23b547ab3bd764c0d8eb81019b971" + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" end resource "starlette" do - url "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz" - sha256 "a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca" + url "https://files.pythonhosted.org/packages/04/57/d062573f391d062710d4088fa1369428c38d51460ab6fedff920efef932e/starlette-0.47.2.tar.gz" + sha256 "6ae9aa5db235e4846decc1e7b79c4f346adf41e9777aebeb49dfd09bbd7023d8" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz" + sha256 "38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/cb/ce/f06b84e2697fef4688ca63bdb2fdf113ca0a3be33f94488f2cadb690b0cf/uvicorn-0.38.0.tar.gz" - sha256 "fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end def install diff --git a/Formula/c/context42.rb b/Formula/c/context42.rb index 3cfcaa0089..a4e0c74369 100644 --- a/Formula/c/context42.rb +++ b/Formula/c/context42.rb @@ -17,7 +17,7 @@ class Context42 < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/c/copilot-cli.rb b/Formula/c/copilot-cli.rb deleted file mode 100644 index fde137e2c7..0000000000 --- a/Formula/c/copilot-cli.rb +++ /dev/null @@ -1,43 +0,0 @@ -class CopilotCli < Formula - desc "Copilot coding agent directly to your terminal" - homepage "https://github.com/github/copilot-cli" - url "https://registry.npmjs.org/@github/copilot/-/copilot-0.0.354.tgz" - sha256 "cc61ad9201c75b0ba3442d32861ddba876cd7cd780c94fc64e5fab50c51c0bcb" - # license :unfree - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "abb79764313faad28bba1e9e22f760bedfa06661cedefe2e11e5c09bac2d8d6a" - sha256 cellar: :any, arm64_sequoia: "97abeee01e2886a93fd9adfcd84df780fe2babc9131689629149c27ae310577a" - sha256 cellar: :any, arm64_sonoma: "97abeee01e2886a93fd9adfcd84df780fe2babc9131689629149c27ae310577a" - end - - depends_on :macos # TODO: add linux support - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - - # remove non-native architecture pre-built binaries - os = OS.kernel_name.downcase - arch = Hardware::CPU.intel? ? "x64" : Hardware::CPU.arch.to_s - node_modules = libexec/"lib/node_modules/@github/copilot" - - # Remove non-native binaries, like `keytar.node`, `pty.node`, `spawn-helper` - prebuilds = node_modules/"prebuilds" - prebuilds.each_child { |dir| rm_r(dir) if dir.basename.to_s != "#{os}-#{arch}" } - - # Remove non-native sharp prebuilds - sharp_prebuilds = node_modules/"sharp/node_modules/@img" - keep = %W[sharp-#{os}-#{arch} sharp-libvips-#{os}-#{arch}] - sharp_prebuilds.each_child { |dir| rm_r(dir) unless keep.include?(dir.basename.to_s) } - end - - test do - assert_match version.to_s, shell_output("#{bin}/copilot --version") - - output = shell_output("#{bin}/copilot -p 'Fix the bug in main.js' --allow-all-tools 2>&1", 1) - assert_match "Error: No authentication information found", output - end -end diff --git a/Formula/c/countryfetch.rb b/Formula/c/countryfetch.rb deleted file mode 100644 index 5ba0355ad7..0000000000 --- a/Formula/c/countryfetch.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Countryfetch < Formula - desc "Neofetch-like tool for fetching information about your country" - homepage "https://github.com/nik-rev/countryfetch" - url "https://github.com/nik-rev/countryfetch/archive/refs/tags/v0.2.0.tar.gz" - sha256 "a41f2108ab81af92a4a5550f87409fd0291c710b640fb8edea06392f8b669c4e" - license any_of: ["Apache-2.0", "MIT"] - head "https://github.com/nik-rev/countryfetch.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fea5146281684a5469b1603522e8c8dfa6aae6617304fc2bb2c44b90294216fe" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0e6cd4af5d1433176d308dc209633a4f97e78e68ad3b993ea8fd2c972a24ba76" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "086e90f5d2278ae2d859db5e672faf7f02035beccac0a9e8900d94084d480feb" - sha256 cellar: :any_skip_relocation, arm64_linux: "130fce00abf6f369ed4263543dbcd1bf6f074151c9ae68a8cb1279f8585b699d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3019df9e023de4f31d4273bb1c2133479e65fe94403456204e680c13b12aa38a" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "openssl@3" - - def install - inreplace "Cargo.toml", 'openssl = { version = "0.10", features = ["vendored"] }', 'openssl = "0.10"' - - ENV["OPENSSL_DIR"] = Formula["openssl@3"].opt_prefix - ENV["OPENSSL_NO_VENDOR"] = "1" - ENV.prepend_path "PKG_CONFIG_PATH", Formula["openssl@3"].opt_lib/"pkgconfig" - - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/countryfetch --version") - - output = shell_output("#{bin}/countryfetch --no-color --no-flag --no-palette Japan") - assert_match "Japan", output - assert_match "ISO Codes: JP / JPN", output - end -end diff --git a/Formula/c/cozypkg.rb b/Formula/c/cozypkg.rb index 902e133d0c..4252a53e1e 100644 --- a/Formula/c/cozypkg.rb +++ b/Formula/c/cozypkg.rb @@ -1,18 +1,17 @@ class Cozypkg < Formula desc "Cozy wrapper around Helm and Flux CD for local development" homepage "https://github.com/cozystack/cozypkg" - url "https://github.com/cozystack/cozypkg/archive/refs/tags/v1.6.1.tar.gz" - sha256 "2b93668c7c24ebdc0588ca15e7821de77879b883c263f2d295fba41fb9b1c05c" + url "https://github.com/cozystack/cozypkg/archive/refs/tags/v1.2.0.tar.gz" + sha256 "5852fcafe6dd3e354c328d6b89adc3a61b7eb40f681d91a099d614f927d93ce9" license "Apache-2.0" head "https://github.com/cozystack/cozypkg.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ac236ee4f919057930461fe99a988d741dc625d64b9bb5c8834a3fbd93590b0a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9a89bbe86d30981ba9f41e00f0ee3b1942e88a19185385de28736829de2caa7a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d672f019334e6afa54e783697ea3fbcb39688ed50029784f89d63860d3f2a3e2" - sha256 cellar: :any_skip_relocation, arm64_linux: "37b64fa374c49a0ac585380b3e90e488847cb3e8f38b45c770492f70aad533d6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bfa240c1a2204a19d0ed825325c4289f385a23b340babe88e6febd05f6160139" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "c8f6d4a3d8e05275c52c19faa84988903516dab5f2129da18639b867fdd22623" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a8c417d5407b36eb9121fd4a987bdf48550003dba623ebc39b84ca842718d3de" + sha256 cellar: :any_skip_relocation, ventura: "777211f742937f3b17171686ce158ef6bdf15951285a2887324c20bf33a36e5d" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2c430edc9dac80b72074b5a325db57e55768862c0bb7aa7ce74a10c8f0301b11" end depends_on "go" => :build @@ -20,7 +19,7 @@ class Cozypkg < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w -X main.Version=#{version}") - generate_completions_from_executable(bin/"cozypkg", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"cozypkg", "completion", shells: [:bash, :zsh, :fish, :pwsh]) end test do diff --git a/Formula/c/cpx.rb b/Formula/c/cpx.rb deleted file mode 100644 index df21e580f4..0000000000 --- a/Formula/c/cpx.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Cpx < Formula - desc "Batteries-included Cargo-like CLI for C++" - homepage "https://cpx-dev.vercel.app/" - url "https://github.com/ozacod/cpx/archive/refs/tags/v1.3.6.tar.gz" - sha256 "40eb5aaf1dcf7dbaa2f6d950c61743fcbe172887c3a0886477f1b29e75459749" - license "MIT" - head "https://github.com/ozacod/cpx.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "03e0ba06effffab2199800b094e1f54de81873c51a80a97096aebe4d81406e7f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "03e0ba06effffab2199800b094e1f54de81873c51a80a97096aebe4d81406e7f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "03e0ba06effffab2199800b094e1f54de81873c51a80a97096aebe4d81406e7f" - sha256 cellar: :any_skip_relocation, arm64_linux: "adc398530e19e2acd1e923e17697b20d14a622e22aee0d70b4d927b237bcaf81" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6de377ad754f9da1c6ae141c0bf9cf07b1b06e9422ab9e60683bd1913cd55f8a" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/cpx" - - generate_completions_from_executable(bin/"cpx", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/cpx version") - assert_match "#compdef cpx", shell_output("#{bin}/cpx completion zsh") - end -end diff --git a/Formula/c/cpx11.rb b/Formula/c/cpx11.rb deleted file mode 100644 index 6bbe278cac..0000000000 --- a/Formula/c/cpx11.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Cpx11 < Formula - desc "Modern and fast file copy CLI" - homepage "https://github.com/11happy/cpx" - url "https://github.com/11happy/cpx/archive/refs/tags/v0.1.4.tar.gz" - sha256 "f7d8b7d1926c007d358780dbf82e4ef6b0a84cb44ea3f68732f29a83e78a0495" - license "MIT" - head "https://github.com/11happy/cpx.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3691cf66bbfa80cdf2d1ec8b42ed740fc29d32823248a5c3a8dfdf2fe6e60283" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "75ae59317da956e0900ecdc682006d658acc7984b399f7fd7e3b6d5ff1d014fd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "846b3a4f582dc2ad868f41658fa55958e2dde830a38e029d0b7cfa38c9fd4fe8" - sha256 cellar: :any_skip_relocation, arm64_linux: "9643e173b0163e8efee05a4970a162531affeb132d909cd7de572595402a465c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e2b9b1eba96ad8ef03274c5c78a72c1f679613dfc97b26bff95f3fb5a618a987" - end - - depends_on "rust" => :build - - def install - if OS.mac? - inreplace "src/core/mod.rs", - "pub mod fast_copy;", - "#[cfg(target_os = \"linux\")]\npub mod fast_copy;" - end - - system "cargo", "install", *std_cargo_args - end - - test do - (testpath/"src.txt").write("copy-me") - - system bin/"cpx", testpath/"src.txt", testpath/"dst.txt" - assert_path_exists testpath/"dst.txt" - assert_equal "copy-me", (testpath/"dst.txt").read - - assert_match version.to_s, shell_output("#{bin}/cpx --version") - end -end diff --git a/Formula/c/crates-lsp.rb b/Formula/c/crates-lsp.rb deleted file mode 100644 index 1927002b3c..0000000000 --- a/Formula/c/crates-lsp.rb +++ /dev/null @@ -1,45 +0,0 @@ -class CratesLsp < Formula - desc "Language Server implementation for Cargo.toml" - homepage "https://github.com/MathiasPius/crates-lsp" - url "https://github.com/MathiasPius/crates-lsp/archive/refs/tags/v0.4.3.tar.gz" - sha256 "2310fb041b229cf5f2bb4d4bc88826a27e3d27b4fbdc5f2597dfe73e26be59a7" - license "MIT" - head "https://github.com/MathiasPius/crates-lsp.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "89cdc28e5060d974245648cd9a77d307c03ec04cca061f0e26b591499e281e71" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d3368f85935e646cf90326149aea4461535b43c0bcab6bc739b584f7e678be37" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9f1dc4274ce622669a991eda110a6ab7b603f36ea6b679c9e40b588b30f7a023" - sha256 cellar: :any_skip_relocation, arm64_linux: "371cecf44fd0459ac27ddef1e535c8498bd3852d4eaca20a9c368b58c32fd429" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8d2a7807af17b1857a9a231af18944f4f66e0cdf13b8ac6c995681152ffb8f9b" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - require "open3" - - json = <<~JSON - { - "jsonrpc": "2.0", - "id": 1, - "method": "initialize", - "params": { - "rootUri": null, - "capabilities": {} - } - } - JSON - - Open3.popen3(bin/"crates-lsp", "--stdio") do |stdin, stdout| - stdin.write "Content-Length: #{json.size}\r\n\r\n#{json}" - sleep 1 - assert_match(/^Content-Length: \d+/i, stdout.readline) - end - end -end diff --git a/Formula/c/creanote.rb b/Formula/c/creanote.rb deleted file mode 100644 index 8b7f77b07b..0000000000 --- a/Formula/c/creanote.rb +++ /dev/null @@ -1,62 +0,0 @@ -class Creanote < Formula - desc "Create organized notes from the terminal" - homepage "https://github.com/elitalpa/creanote" - url "https://github.com/elitalpa/creanote/archive/refs/tags/creanote@0.3.1.tar.gz" - sha256 "f43387af07a8d3f1922e710d35c19944714e10e14fda24f31fad1dc3f44e43d6" - license "MIT" - head "https://github.com/elitalpa/creanote.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "2ef047f451bfa50607ea7160b4b5337dedaad17cfd09d96d4bf1cf56d3031ff3" - end - - depends_on "node" - - def install - cd "packages/creanote" do - system "npm", "install", "--include=dev", *std_npm_args(prefix: false, ignore_scripts: false) - system "npm", "run", "build" - system "npm", "install", *std_npm_args - end - - bin.install_symlink libexec/"bin/creanote" - end - - test do - help_output = shell_output("#{bin}/creanote --help") - assert_match "CLI tool for your notes", help_output - - (testpath/".creanote/templates").mkpath - (testpath/".creanote/templates/note.md").write <<~TEXT - # {{date}} note - TEXT - (testpath/".creanote/config.json").write <<~JSON - { - "info": { - "name": "creanote", - "author": "Homebrew", - "url": "https://example.com", - "license": "MIT" - }, - "settings": { - "basePath": "./", - "templates": [ - { - "name": "note", - "description": "Regular note", - "path": ".creanote/templates/note.md", - "ext": "md", - "target": "{{year}}-{{month}}-{{day}}.{{ext}}" - } - ] - } - } - JSON - - output = shell_output("#{bin}/creanote add note --filename homebrew-test") - assert_match "Regular note added: homebrew-test.md", output - assert_path_exists testpath/"homebrew-test.md" - assert_match "# ", (testpath/"homebrew-test.md").read - end -end diff --git a/Formula/c/create-mcp-use-app.rb b/Formula/c/create-mcp-use-app.rb deleted file mode 100644 index d2ae87a317..0000000000 --- a/Formula/c/create-mcp-use-app.rb +++ /dev/null @@ -1,27 +0,0 @@ -class CreateMcpUseApp < Formula - desc "Project scaffolding tool for mcp-use applications" - homepage "https://github.com/mcp-use/mcp-use" - url "https://registry.npmjs.org/create-mcp-use-app/-/create-mcp-use-app-0.14.9.tgz" - sha256 "c91698eefa8173971e6006ed3031399c4da018835a030c414230361169a165dc" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "a65be3b3a3c4f96e40e349604d32edc5dc587fdea1e71ab7db45138c54bdfa04" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/create-mcp-use-app --version") - - # create a test app - system bin/"create-mcp-use-app", "test-app", "--no-git", "--template", "starter" - assert_path_exists testpath/"test-app/package.json" - end -end diff --git a/Formula/c/crlfmt.rb b/Formula/c/crlfmt.rb index acbfdb4aa4..824f3e5044 100644 --- a/Formula/c/crlfmt.rb +++ b/Formula/c/crlfmt.rb @@ -1,18 +1,17 @@ class Crlfmt < Formula desc "Formatter for CockroachDB's additions to the Go style guide" homepage "https://github.com/cockroachdb/crlfmt" - url "https://github.com/cockroachdb/crlfmt/archive/refs/tags/v0.4.0.tar.gz" - sha256 "7145c34ab1b569be92a46c46973fc66f55ea775960395e426031579ffb277d4f" + url "https://github.com/cockroachdb/crlfmt/archive/refs/tags/v0.3.0.tar.gz" + sha256 "e2862e41ff3553e86513797e9e8bce890526d82fc6a0fe42efffc140b12ae1a5" license "Apache-2.0" head "https://github.com/cockroachdb/crlfmt.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "990baa160ce3c3045ec7ca707e85174196ceae941042135091cea606ea4b8096" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "990baa160ce3c3045ec7ca707e85174196ceae941042135091cea606ea4b8096" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "990baa160ce3c3045ec7ca707e85174196ceae941042135091cea606ea4b8096" - sha256 cellar: :any_skip_relocation, arm64_linux: "5dda4f38b67b8588a3d4b5645fe618787daacced305f231b44b27456576627e2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f12403bb0847d76d1f1311a0c4c8fe026976b94d3320d822311e17e62bb6002d" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "be4ece60f4fc4dba16581bc96919333aad12c5f39b5c56da9205c68306649847" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "432995552c8a2d87a374407d52b391406c6bcd85d5f6257d7a3e65a30859b306" + sha256 cellar: :any_skip_relocation, ventura: "6c1b715e6cee129a23a0a2b5f1796c5d93934de29dc66375b9a39c7c43d604b3" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d7e96e651956d88f355f39929a22ae3cb6217cf9cd9e1ebfcc18e6aafcc695f6" end depends_on "go" => :build diff --git a/Formula/c/cross-seed.rb b/Formula/c/cross-seed.rb deleted file mode 100644 index f22287b614..0000000000 --- a/Formula/c/cross-seed.rb +++ /dev/null @@ -1,35 +0,0 @@ -class CrossSeed < Formula - desc "Fully-automatic cross-seeding with Torznab" - homepage "https://www.cross-seed.org/" - url "https://registry.npmjs.org/cross-seed/-/cross-seed-6.13.6.tgz" - sha256 "51b34f05d4d0d70315654ea0051fca6a72d9a11a93bf449544c1a3bbd87018da" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b745f782943fb301b184ed366a18a58444c4eb8b739fb84bba467c7fef5405ef" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a4db9210ac93cdd46241202ce2288a11a2211f5bdfe56b533174b3801b76870c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e6e2d9770b7948c06ec8de0ce222b416b57c83d2cf290442f6d8d1dc8d6aa948" - sha256 cellar: :any_skip_relocation, arm64_linux: "9e0cabdc13b14eccd4ca13524e44eb9c6c2275822146ffecbc498049a69b389c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "972d610d91e979b169ed207e1d4bce24c2d5accd27a014dd25cf1290a9aabf41" - end - - depends_on "node@24" - - def install - ENV.prepend_path "PATH", Formula["node@24"].opt_bin - ENV.prepend_path "PATH", Formula["node@24"].opt_libexec/"bin" - node_path = "#{Formula["node@24"].opt_bin}:#{Formula["node@24"].opt_libexec/"bin"}:$PATH" - - system "npm", "install", *std_npm_args(ignore_scripts: false) - (bin/"cross-seed").write_env_script libexec/"bin/cross-seed", PATH: node_path - end - - test do - assert_match version.to_s, shell_output("#{bin}/cross-seed --version") - - system bin/"cross-seed", "gen-config" - assert_path_exists testpath/".cross-seed/cross-seed.db" - assert_match "List of Torznab URLs", (testpath/".cross-seed/config.js").read - end -end diff --git a/Formula/c/crush.rb b/Formula/c/crush.rb index 276349c661..56cefb3dc4 100644 --- a/Formula/c/crush.rb +++ b/Formula/c/crush.rb @@ -1,18 +1,17 @@ class Crush < Formula desc "Glamorous AI coding agent for your favorite terminal" homepage "https://github.com/charmbracelet/crush" - url "https://github.com/charmbracelet/crush/archive/refs/tags/v0.63.0.tar.gz" - sha256 "8aadf71a18ec33cf09c96d7371dac3fdeeda4364caa95139a4bf1a78424cb3ff" + url "https://github.com/charmbracelet/crush/archive/refs/tags/v0.7.6.tar.gz" + sha256 "b0742e565c6e05c0e59339bedf37d79ba22732dc62a533210f89892b040503e6" # license "FSL-1.1-MIT" head "https://github.com/charmbracelet/crush.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8ea74ee38bc84cea4f08387e400fc0c275c053540b4fb68486992ec0b3e1b99c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b284444db5ed5c90461d11d893ffb37312f9b139eb90500eeb8679f4e0abd981" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f9fcc88bd6befc827d2399c0852b7013e23abdf1b67f6672cb3597c71bc56da2" - sha256 cellar: :any_skip_relocation, arm64_linux: "98664b190cfaf4a08767ef9c20147fd46880d580b9b7557479d40879974cbe4c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "09c4414d14106b3b22d54ef729343d080e4b63f8268fd231f5421cd2a2eeefa6" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d35924f47540546dc6831b883307df10155be68e6562c2f2c9bbf3875418976d" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "faaf0702aa0e8feae5366ad9feba32456351e4925f66af76cf9800d17e51a230" + sha256 cellar: :any_skip_relocation, ventura: "059863ed62792635f3519c50de6871a40af481d7aef1968f2ed2fcea5b5dba89" + sha256 cellar: :any_skip_relocation, x86_64_linux: "304e8b8b418b1e7ac827c90b78372fd8d27d799142222636302690c6847a6ea0" end depends_on "go" => :build @@ -21,13 +20,13 @@ def install ldflags = "-s -w -X github.com/charmbracelet/crush/internal/version.Version=#{version}" system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"crush", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"crush", "completion", shells: [:bash, :zsh, :fish, :pwsh]) end test do assert_match version.to_s, shell_output("#{bin}/crush --version") output = shell_output("#{bin}/crush run 'Explain the use of context in Go' 2>&1", 1) - assert_match "No providers configured", output + assert_match "no providers configured", output end end diff --git a/Formula/c/csvi.rb b/Formula/c/csvi.rb deleted file mode 100644 index 548526f07b..0000000000 --- a/Formula/c/csvi.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Csvi < Formula - desc "Cross-platform terminal CSV editor" - homepage "https://hymkor.github.io/csvi/" - url "https://github.com/hymkor/csvi/archive/refs/tags/v1.23.1.tar.gz" - sha256 "05ddf95ca2829888c656fbc7cd7216e62d96658299891ca8dd2698ef77d48c02" - license "MIT" - head "https://github.com/hymkor/csvi.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b858d0bfc779e9d0602ab6cb7ab258f009f8244c227de24a0d366c23643785fd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b858d0bfc779e9d0602ab6cb7ab258f009f8244c227de24a0d366c23643785fd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b858d0bfc779e9d0602ab6cb7ab258f009f8244c227de24a0d366c23643785fd" - sha256 cellar: :any_skip_relocation, arm64_linux: "4967fa6289a84b92c5b5066d72091798aa0c594603f1cf87a55ff0ca80db4102" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a1b697aa85ae83bc35c79ef0afe0b61e235a56a0a926077300399813058f2273" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/csvi" - end - - test do - input = <<~CSV - name,score - ann,1 - CSV - - assert_match version.to_s, shell_output("#{bin}/csvi -version 2>&1") - - output = pipe_output("#{bin}/csvi -auto 'w|-|q|y' 2>/dev/null", input, 0) - assert_equal input, output.gsub("\r\n", "\n") - end -end diff --git a/Formula/c/ctxhist.rb b/Formula/c/ctxhist.rb deleted file mode 100644 index 2d1dc0db46..0000000000 --- a/Formula/c/ctxhist.rb +++ /dev/null @@ -1,59 +0,0 @@ -class Ctxhist < Formula - desc "Context-aware shell history extension for Bash and Zsh" - homepage "https://github.com/nakkiy/ctxhist" - url "https://github.com/nakkiy/ctxhist/archive/refs/tags/v0.2.0.tar.gz" - sha256 "ae8f5a48d8ac535dcfc0d3cd920af14bb27ed138b44b1240710fc6a81fce5525" - license "MIT" - head "https://github.com/nakkiy/ctxhist.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "59019335565d4542d4bf8e297c2de4e4b90bc235d4687a98e7d65970b2d538fe" - end - - depends_on "bash" - depends_on "fzf" - - def install - pkgshare.install "ctxhist.bash", "ctxhist.plugin.zsh" - - (bin/"ctxhist-install").write <<~BASH - #!#{Formula["bash"].opt_bin}/bash - set -euo pipefail - - plugin_name="ctxhist" - plugin_target_dir="${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/$plugin_name" - plugin_target_file="$plugin_target_dir/$plugin_name.plugin.zsh" - - mkdir -p "$plugin_target_dir" - cp "#{opt_pkgshare}/ctxhist.plugin.zsh" "$plugin_target_file" - echo "Plugin file copied to $plugin_target_file" - BASH - end - - def caveats - <<~EOS - Bash: - Add this line to your shell rc file: - source #{opt_pkgshare}/ctxhist.bash - - Oh My Zsh: - Run: - ctxhist-install - Then add `ctxhist` to your plugins list in ~/.zshrc. - EOS - end - - test do - zsh_custom = testpath/"custom" - zshrc = Pathname(Dir.home)/".zshrc" - zshrc.write("plugins=(git)\n") - - output = shell_output("ZSH_CUSTOM=#{zsh_custom} #{bin}/ctxhist-install") - plugin_file = zsh_custom/"plugins/ctxhist/ctxhist.plugin.zsh" - - assert_match "Plugin file copied", output - assert_path_exists plugin_file - assert_match "CTXHIST_LOG_FILE", plugin_file.read - end -end diff --git a/Formula/c/ctxmv.rb b/Formula/c/ctxmv.rb deleted file mode 100644 index 3dfd919c41..0000000000 --- a/Formula/c/ctxmv.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Ctxmv < Formula - desc "Migrate conversation sessions between AI coding agents" - homepage "https://github.com/Ryu0118/ctxmv" - url "https://github.com/Ryu0118/ctxmv/archive/refs/tags/0.5.2.tar.gz" - sha256 "55a086bc6212afc80dab08af5f38053fedef5dd003635df5c17c1c2df4687a9a" - license "MIT" - head "https://github.com/Ryu0118/ctxmv.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2bc15b317e3e03e91c7f8572d8dcc38a099e48975884058dfac7cd6ac9ca236c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "43288afe965c069f905d0050e44b1b646034afc2d8d572f9d9b58170dfd1a92c" - sha256 cellar: :any_skip_relocation, sequoia: "ba1f923ebcc2e6971201273180e5db1d13f5b9b6a58fb7365680a17c05288dc5" - end - - depends_on xcode: ["16.0", :build] - depends_on :macos - depends_on macos: :sequoia - - def install - system "swift", "build", "--disable-sandbox", "-c", "release" - bin.install ".build/release/ctxmv" - end - - test do - assert_match version.to_s, shell_output("#{bin}/ctxmv --version") - output = shell_output("#{bin}/ctxmv list --source codex --project #{testpath} --limit 1") - assert_match "No sessions found.", output - end -end diff --git a/Formula/c/cueimports.rb b/Formula/c/cueimports.rb index f939411311..7e660c2e60 100644 --- a/Formula/c/cueimports.rb +++ b/Formula/c/cueimports.rb @@ -4,16 +4,14 @@ class Cueimports < Formula url "https://github.com/asdine/cueimports/archive/refs/tags/v0.2.0.tar.gz" sha256 "8437f1118cdb93848cd47db7688bb66889938e66ba4a5eccdeb449a1dfd5f033" license "MIT" - revision 1 head "https://github.com/asdine/cueimports.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "693504383ac3f88e524c59e30e4569d0713c9fce624d152c00c3ad2bdafe4df0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "693504383ac3f88e524c59e30e4569d0713c9fce624d152c00c3ad2bdafe4df0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "693504383ac3f88e524c59e30e4569d0713c9fce624d152c00c3ad2bdafe4df0" - sha256 cellar: :any_skip_relocation, arm64_linux: "805f169d33aed1e99507bd3f9ba8bdcf0481215b2359d773a5c778e1b4ec768d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "121963ee0a0809a2068a55f63bf0cc0a1694d69d82a45a7e2215525e3daf65cd" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "69ff95f54588692b98fedeb0d9fcd5f733ac3fd4bfee67989c717947535c04f9" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "55f2c6c773be144dc99816940036a5a580dc3ea0bbbb6200d77f536657f2fcab" + sha256 cellar: :any_skip_relocation, ventura: "5e79d92713bd94ad0d3eacaaaab20933f9930ebeb9a901d93cc6c7558f9289b7" + sha256 cellar: :any_skip_relocation, x86_64_linux: "06ecdcc65cd2b9338b0678718764790e48039c5f17a838de6b07aceaf932a672" end depends_on "go" => :build diff --git a/Formula/c/cueitup.rb b/Formula/c/cueitup.rb deleted file mode 100644 index fbb445d47c..0000000000 --- a/Formula/c/cueitup.rb +++ /dev/null @@ -1,37 +0,0 @@ -class Cueitup < Formula - desc "Inspect messages in an AWS SQS queue in a simple and deliberate manner" - homepage "https://github.com/dhth/cueitup" - url "https://github.com/dhth/cueitup/archive/refs/tags/v1.0.0.tar.gz" - sha256 "0aa289a5256986d05db30e45d1dca5f110f2169ff980a84303f894b5fd6025ee" - license "MIT" - head "https://github.com/dhth/cueitup.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "07ff9028af8985437bc8d07c851b66c6102db44a623f088b0d276aaa36837f4b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "07ff9028af8985437bc8d07c851b66c6102db44a623f088b0d276aaa36837f4b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "07ff9028af8985437bc8d07c851b66c6102db44a623f088b0d276aaa36837f4b" - sha256 cellar: :any_skip_relocation, arm64_linux: "033fb6e50bd3af57d0ba8d85d483000b8dda8bc8e4b0dbdee47dca0b7cd63678" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9765495de94fec047cb16aa33931cf73b4717d16e16d46c11ba693f107a09c8a" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(output: bin/"cueitup", ldflags: "-s -w"), "." - end - - test do - (testpath/"config.yml").write <<~YAML - profiles: - - name: profile-a - queue_url: https://sqs.eu-central-1.amazonaws.com/000000000000/queue-a - aws_config_source: env - format: json - subset_key: Message - context_key: aggregateId - YAML - - assert_match "config looks good", shell_output("#{bin}/cueitup config validate -c #{testpath}/config.yml") - end -end diff --git a/Formula/c/cull.rb b/Formula/c/cull.rb deleted file mode 100644 index b1dab3218b..0000000000 --- a/Formula/c/cull.rb +++ /dev/null @@ -1,73 +0,0 @@ -class Cull < Formula - desc "Interactive TUI disk space analyzer" - homepage "https://github.com/legostin/cull" - url "https://github.com/legostin/cull/archive/refs/tags/v0.6.1.tar.gz" - sha256 "d0c74e027aca172e55281a58492e78ced4cfdc896a89ba501a0d9e7ea54ee948" - license "MIT" - revision 1 - head "https://github.com/legostin/cull.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5cdfc5f1e2cbb51c46db96c8a4a6ba9daf61e4b43d6c545ff97b63cf6f0bcc87" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5cdfc5f1e2cbb51c46db96c8a4a6ba9daf61e4b43d6c545ff97b63cf6f0bcc87" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5cdfc5f1e2cbb51c46db96c8a4a6ba9daf61e4b43d6c545ff97b63cf6f0bcc87" - sha256 cellar: :any_skip_relocation, arm64_linux: "2716caa08dc8689679c1b4bee1f64cfa6a75ffbe8180783b8d1046c2a8568b09" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fad8d679f511d833223fcee4e3be01f2ac92742271d45989991aab8cda718943" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(output: bin/"cull"), "." - end - - test do - require "pty" - require "timeout" - - (testpath/"sample.txt").write("homebrew\n") - output = +"" - - PTY.spawn(bin/"cull", "--read-only", testpath.to_s) do |r, w, pid| - deadline = Time.now + 5 - while Time.now < deadline - next unless r.wait_readable(0.2) - - begin - output << r.read_nonblock(4096) - rescue IO::WaitReadable - next - rescue EOFError, Errno::EIO - break - end - - break if output.include?("\e[?1049h") - end - - w.write "q" - - begin - Timeout.timeout(5) do - loop do - output << r.read_nonblock(4096) - rescue IO::WaitReadable - sleep 0.1 - rescue EOFError, Errno::EIO - break - end - Process.wait(pid) - end - rescue Timeout::Error - Process.kill("TERM", pid) - Process.wait(pid) - raise "cull test timed out waiting for quit" - end - - assert_match "\e[?1049h", output - assert_equal 0, $CHILD_STATUS.exitstatus - end - - assert_path_exists testpath/"sample.txt" - end -end diff --git a/Formula/c/curlconverter.rb b/Formula/c/curlconverter.rb index bce71d8a1f..4e452f6d50 100644 --- a/Formula/c/curlconverter.rb +++ b/Formula/c/curlconverter.rb @@ -17,7 +17,7 @@ class Curlconverter < Formula def install system "npm", "install", *std_npm_args, "--ignore-scripts" - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] # Remove incompatible pre-built binaries os = OS.kernel_name.downcase diff --git a/Formula/d/dakora.rb b/Formula/d/dakora.rb deleted file mode 100644 index dae9fa9eeb..0000000000 --- a/Formula/d/dakora.rb +++ /dev/null @@ -1,324 +0,0 @@ -class Dakora < Formula - include Language::Python::Virtualenv - - desc "Manage and hot-reload prompts with typed inputs and zero-deploy updates" - homepage "https://dakora.io/" - url "https://files.pythonhosted.org/packages/3e/58/d8362ae8b268c7ea35c992233621bc80e44e89337fe2d1502fe49faf0109/dakora-1.0.3.tar.gz" - sha256 "ce276e3dbaf049ee71f4053a727db1d0ea3a331b2000825dd646af7633d61811" - license "Apache-2.0" - head "https://github.com/dakora-labs/dakora.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "bb552d10a8e5b62b99ac5734d0fb2da32daeaa46df079df084b892b02afdeacb" - sha256 cellar: :any, arm64_sequoia: "27feaf80ea0b4bd93aa5e7de8c00f073cc23263f407fb7f0ad60d6d29554b31f" - sha256 cellar: :any, arm64_sonoma: "60b4e6599945dd91ab303d503e36c72341577b4e89ccd429155781a9e8ab580c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a79017700beb17897cfe6cf29ae8ec1111570f8d57444dcb3373ebeba3c489e1" - end - - depends_on "rust" => :build # for pydantic - depends_on "libyaml" - depends_on "python@3.13" - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/62/f1/8515650ac3121a9e55c7b217c60e7fae3e0134b5acfe65691781b5356929/aiohttp-3.13.0.tar.gz" - sha256 "378dbc57dd8cf341ce243f13fa1fa5394d68e2e02c15cd5f28eae35a70ec7f67" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" - end - - resource "annotated-types" do - url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" - sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz" - sha256 "47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" - end - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "fastapi" do - url "https://files.pythonhosted.org/packages/0a/f9/5c5bcce82a7997cc0eb8c47b7800f862f6b56adc40486ed246e5010d443b/fastapi-0.119.0.tar.gz" - sha256 "451082403a2c1f0b99c6bd57c09110ed5463856804c8078d38e5a1f1035dbbb7" - end - - resource "fastuuid" do - url "https://files.pythonhosted.org/packages/15/80/3c16a1edad2e6cd82fbd15ac998cc1b881f478bf1f80ca717d941c441874/fastuuid-0.13.5.tar.gz" - sha256 "d4976821ab424d41542e1ea39bc828a9d454c3f8a04067c06fca123c5b95a1a1" - end - - resource "filelock" do - url "https://files.pythonhosted.org/packages/58/46/0028a82567109b5ef6e4d2a1f04a583fb513e6cf9527fcdd09afd817deeb/filelock-3.20.0.tar.gz" - sha256 "711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4" - end - - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "fsspec" do - url "https://files.pythonhosted.org/packages/de/e0/bab50af11c2d75c9c4a2a26a5254573c0bd97cea152254401510950486fa/fsspec-2025.9.0.tar.gz" - sha256 "19fd429483d25d28b65ec68f9f4adc16c17ea2c7c7bf54ec61360d478fb19c19" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "hf-xet" do - url "https://files.pythonhosted.org/packages/74/31/feeddfce1748c4a233ec1aa5b7396161c07ae1aa9b7bdbc9a72c3c7dd768/hf_xet-1.1.10.tar.gz" - sha256 "408aef343800a2102374a883f283ff29068055c111f003ff840733d3b715bb97" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "huggingface-hub" do - url "https://files.pythonhosted.org/packages/10/7e/a0a97de7c73671863ca6b3f61fa12518caf35db37825e43d63a70956738c/huggingface_hub-0.35.3.tar.gz" - sha256 "350932eaa5cc6a4747efae85126ee220e4ef1b54e29d31c3b45c5612ddf0b32a" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "importlib-metadata" do - url "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz" - sha256 "d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000" - end - - resource "jinja2" do - url "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" - sha256 "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" - end - - resource "jiter" do - url "https://files.pythonhosted.org/packages/a3/68/0357982493a7b20925aece061f7fb7a2678e3b232f8d73a6edb7e5304443/jiter-0.11.1.tar.gz" - sha256 "849dcfc76481c0ea0099391235b7ca97d7279e0fa4c86005457ac7c88e8b76dc" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" - sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "litellm" do - url "https://files.pythonhosted.org/packages/3a/94/6428360df5200921727dc65f4c6612892ed1fbe2b33ddd11dbe308c8c7d5/litellm-1.78.2.tar.gz" - sha256 "1b2f741f8d508393ba56ef6f4d4d3f2ab80c341c4d7ebb65b185471411d1a7ea" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "multidict" do - url "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" - sha256 "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5" - end - - resource "openai" do - url "https://files.pythonhosted.org/packages/ef/24/d0b0f088c39fa75a73292aef24d7436fbc537f12bf6026c6a69a1bfdae6e/openai-2.4.0.tar.gz" - sha256 "97860859172b637ffb308433c207a371d4683586ed2b24b360cb4c08cf377d01" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" - sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" - end - - resource "pydantic" do - url "https://files.pythonhosted.org/packages/8d/35/d319ed522433215526689bad428a94058b6dd12190ce7ddd78618ac14b28/pydantic-2.12.2.tar.gz" - sha256 "7b8fa15b831a4bbde9d5b84028641ac3080a4ca2cbd4a621a661687e741624fd" - end - - resource "pydantic-core" do - url "https://files.pythonhosted.org/packages/df/18/d0944e8eaaa3efd0a91b0f1fc537d3be55ad35091b6a87638211ba691964/pydantic_core-2.41.4.tar.gz" - sha256 "70e47929a9d4a1905a67e4b687d5946026390568a8e952b92824118063cee4d5" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" - sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" - end - - resource "regex" do - url "https://files.pythonhosted.org/packages/49/d3/eaa0d28aba6ad1827ad1e716d9a93e1ba963ada61887498297d3da715133/regex-2025.9.18.tar.gz" - sha256 "c5ba23274c61c6fef447ba6a39333297d0c247f53059dba0bca415cac511edc4" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "rpds-py" do - url "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz" - sha256 "26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/a7/a5/d6f429d43394057b67a6b5bbe6eae2f77a6bf7459d961fdb224bf206eee6/starlette-0.48.0.tar.gz" - sha256 "7e8cee469a8ab2352911528110ce9088fdc6a37d9876926e73da7ce4aa4c7a46" - end - - resource "tiktoken" do - url "https://files.pythonhosted.org/packages/7d/ab/4d017d0f76ec3171d469d80fc03dfbb4e48a4bcaddaa831b31d526f05edc/tiktoken-0.12.0.tar.gz" - sha256 "b18ba7ee2b093863978fcb14f74b3707cdc8d4d4d3836853ce7ec60772139931" - end - - resource "tokenizers" do - url "https://files.pythonhosted.org/packages/1c/46/fb6854cec3278fbfa4a75b50232c77622bc517ac886156e6afbfa4d8fc6e/tokenizers-0.22.1.tar.gz" - sha256 "61de6522785310a309b3407bac22d99c4db5dba349935e99e4d15ea2226af2d9" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" - sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/21/ca/950278884e2ca20547ff3eb109478c6baf6b8cf219318e6bc4f666fad8e8/typer-0.19.2.tar.gz" - sha256 "9ad824308ded0ad06cc716434705f691d4ee0bfd0fb081839d2e426860e7fdca" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "typing-inspection" do - url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" - sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/71/57/1616c8274c3442d802621abf5deb230771c7a0fec9414cb6763900eb3868/uvicorn-0.37.0.tar.gz" - sha256 "4115c8add6d3fd536c8ee77f0e14a7fd2ebba939fed9b02583a97f80648f9e13" - end - - resource "watchdog" do - url "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz" - sha256 "9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282" - end - - resource "yarl" do - url "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" - sha256 "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" - end - - resource "zipp" do - url "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz" - sha256 "a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166" - end - - def install - virtualenv_install_with_resources - end - - test do - system bin/"dakora", "init" - assert_path_exists testpath/"prompts" - assert_match "registry: local", (testpath/"dakora.yaml").read - - assert_match "summarizer", shell_output("#{bin}/dakora list") - end -end diff --git a/Formula/d/dart-sass.rb b/Formula/d/dart-sass.rb deleted file mode 100644 index 996b876f95..0000000000 --- a/Formula/d/dart-sass.rb +++ /dev/null @@ -1,72 +0,0 @@ -class DartSass < Formula - desc "Reference implementation of Sass stylesheet compiler" - homepage "https://sass-lang.com" - url "https://github.com/sass/dart-sass/archive/refs/tags/1.98.0.tar.gz" - sha256 "2eab6aebaba4e095e67b970baf8b0bdb4b934be17fdee1ca5d5da6a490b5517a" - license "MIT" - head "https://github.com/sass/dart-sass.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4a4d91c4e6d5786b0e6aa9c60a2839207a40018b651be886539d6d9bf470a4c1" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f32b25c7bc2a202fbea56646c247cb5d469ae4188f39a1448a59c17d9233ae55" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "37690ce54457e848239b5660c21591328bfe3224e3d46d62aa8c2de216c1d448" - sha256 cellar: :any_skip_relocation, arm64_linux: "313354c1529df8e81a7abcaacfcb4ffb646f9ea70f8965d340cf071bf7e669cc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b93ea02faeed968d3fdef57099eb80b08322fd4951de401b52d7dbcee683590c" - end - - depends_on "buf" => :build - depends_on "dart-sdk" if OS.linux? - depends_on "dart-sdk" => :build unless OS.linux? - - resource "language" do - url "https://github.com/sass/sass.git", - revision: "cb35c3f36f60be3e1c4bccbae9d6b646e77f4b87" - end - - def install - dart = Formula["dart-sdk"].opt_libexec/"bin/dart" - - ENV["PUB_ENVIRONMENT"] = "homebrew:dart-sass" - - (buildpath/"build/language").install resource("language") - - system dart, "pub", "get" - ENV["UPDATE_SASS_PROTOCOL"] = "false" - system dart, "run", "grinder", "protobuf" - ENV.delete "UPDATE_SASS_PROTOCOL" - - protocol_version = (buildpath/"build/language/spec/EMBEDDED_PROTOCOL_VERSION").read.strip - if OS.linux? - system dart, "compile", "jit-snapshot", - "-Dversion=#{version}", - "-Dcompiler-version=#{version}", - "-Dprotocol-version=#{protocol_version}", - "-o", "sass.snapshot", - "bin/sass.dart", "--version" - - libexec.install "sass.snapshot" - - (bin/"sass").write <<~SH - #!/bin/sh - exec "#{Formula["dart-sdk"].opt_libexec}/bin/dart" "#{libexec}/sass.snapshot" "$@" - SH - chmod 0555, bin/"sass" - else - system dart, "compile", "exe", - "-Dversion=#{version}", - "-Dcompiler-version=#{version}", - "-Dprotocol-version=#{protocol_version}", - "bin/sass.dart", "-o", "sass" - - bin.install "sass" - end - end - - test do - (testpath/"test.scss").write(".class { property: 1 + 1; }\n") - output = shell_output("#{bin}/sass test.scss") - assert_match ".class {", output - assert_match "property: 2;", output - end -end diff --git a/Formula/d/darya.rb b/Formula/d/darya.rb deleted file mode 100644 index 3aacf196fc..0000000000 --- a/Formula/d/darya.rb +++ /dev/null @@ -1,27 +0,0 @@ -class Darya < Formula - desc "Disk usage explorer with a TUI and live treemap" - homepage "https://github.com/mrkatebzadeh/darya" - url "https://github.com/mrkatebzadeh/darya/archive/refs/tags/v0.1.5.tar.gz" - sha256 "dea36d2b7cc41e7ae7b9c9bff19e34d3043f540832f8b2e61950cb4c6e17f9dc" - license "GPL-3.0-only" - head "https://github.com/mrkatebzadeh/darya.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8d9d0ba58336dac72870dfe0f126b2972f0b08a85e79e448d34204002f3851b2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f60238714bc6d1eab43bf7e6ef96856402a22565a40b0c2ca798835685e0a051" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a3c110460eb9e3fbdc393d26ea5f092556b7e0f37e125dab778e6742314cd9e1" - sha256 cellar: :any_skip_relocation, arm64_linux: "ad9f9ea64158d3c41ea1e88ecefa2ea562f5bec3adfe0d4566cadd1ca7786a66" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e95664a6400796a88ccd038a50e4df394b7ee01891279ddc1b641d95afbab7f0" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/darya --version") - end -end diff --git a/Formula/d/datacmd.rb b/Formula/d/datacmd.rb index 9f585dedd4..8cfa6e1b0a 100644 --- a/Formula/d/datacmd.rb +++ b/Formula/d/datacmd.rb @@ -4,17 +4,14 @@ class Datacmd < Formula url "https://github.com/VincenzoManto/Datacmd/archive/refs/tags/v0.0.3.1.tar.gz" sha256 "15a1ffd74f667960b556f5b601991204b068217a71e2e350133dbb1c0f6a1f05" license "MIT" - revision 1 head "https://github.com/VincenzoManto/Datacmd.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "bccaa631915e1fcfe34722002052465f19bd81479591333f926f7f2e4d406d1a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0224d203b385351957c9b7bec4414351761d2b7c8a2f3dd9f3664139e08f5731" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6ee6bce9b575a026302c2315ca972d1148533f0beb61809cd0aaee0888ffbb1a" - sha256 cellar: :any_skip_relocation, arm64_linux: "636cff30e12cff6f3186af1930752446d59ed859078678e844282dbc3ae98629" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4a292a2b95f9ff97f715947a910aa739efd1bb7cd285b23c6a758c7ac7baeaa7" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "b11f2b9bce33dc893724d9dac77bdbe4092b74744c4046ae1d8a160cb17af7ab" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "2ec7edd654c2a5c362e0758dd0e304b48c7e508215861ccf2e15915352b1b807" + sha256 cellar: :any_skip_relocation, ventura: "dc23c8622ee3418daad721d2b42cebb9e522d3fce5963c29dd9326a9c9c0347a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "fb5c0b53d22f6b89f9339805834eab7e6fdc15589197441daee12bac83760ff8" end depends_on "go" => :build diff --git a/Formula/d/datadog-mcp-server.rb b/Formula/d/datadog-mcp-server.rb index 812ff3417e..caa187743e 100644 --- a/Formula/d/datadog-mcp-server.rb +++ b/Formula/d/datadog-mcp-server.rb @@ -1,13 +1,16 @@ class DatadogMcpServer < Formula desc "Community-maintained Datadog MCP server" homepage "https://github.com/winor30/mcp-server-datadog" - url "https://registry.npmjs.org/@winor30/mcp-server-datadog/-/mcp-server-datadog-1.7.0.tgz" - sha256 "5036898f75a9e4d5609670fce7894372d651350277b1c4891c61c5cfb14db012" + url "https://registry.npmjs.org/@winor30/mcp-server-datadog/-/mcp-server-datadog-1.6.0.tgz" + sha256 "e376bea68a2dc26ccf675a39f08f95c9c9fb0b4a44764c76e9762c53c9bbfcb9" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "ffc2df9e69d9dc0b64660693bfede66d77e5a828b80b4baab66b06fa809e96d3" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "f44140b73a5c4f046ae4a8d89028c96997cabc3f8195c7ad919b7488ffb7f5b7" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a4f3ed19548dc9e51119fb47681913f9050cd2bd0f1ab1a4b7d9d7f9fca8c36e" + sha256 cellar: :any_skip_relocation, ventura: "851624de7eabbcaf60a9161e9bd2d4c5326902647a741f165340620f942c73a7" + sha256 cellar: :any_skip_relocation, x86_64_linux: "4a1b735edd54ef54720e7835aa49b9b464f517d3a09b05613c0829c16278b676" end depends_on "node" diff --git a/Formula/d/datui.rb b/Formula/d/datui.rb deleted file mode 100644 index d24cbb1088..0000000000 --- a/Formula/d/datui.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Datui < Formula - desc "Data exploration in the terminal" - homepage "https://derekwisong.github.io/datui/" - url "https://github.com/derekwisong/datui/archive/refs/tags/v0.2.52.tar.gz" - sha256 "e5e7f4c1e5a4a81023707738ef601ddaa58c54d39337eebcf9963010b5e262ad" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "297919b95f71c02d3f2ad5b90460fd9866037d6f24b1145f90d2a3c04743cb24" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "051f3674420a8a38115398114b3f50b71e6a69a090ea968763e4cd71b8c5dcc4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5e80698b4c2848f1d84c558e33a654bfb84fed723c1136161fc8327781e04dae" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "fontconfig" - - def install - system "cargo", "install", "--bin", "datui", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/datui --version") - - output = shell_output("HOME=#{testpath} #{bin}/datui --generate-config") - assert_match "Configuration file written to:", output - end -end diff --git a/Formula/d/dawn.rb b/Formula/d/dawn.rb deleted file mode 100644 index d904676164..0000000000 --- a/Formula/d/dawn.rb +++ /dev/null @@ -1,83 +0,0 @@ -class Dawn < Formula - desc "Distraction-free terminal writing environment with live markdown rendering" - homepage "https://github.com/andrewmd5/dawn" - url "https://github.com/andrewmd5/dawn/archive/refs/tags/v0.1.3.tar.gz" - sha256 "7b01b89a87cdfe34e17401ec8497176abd1c65387fd7f9cb286d3c4b28b619cc" - license "MIT" - head "https://github.com/andrewmd5/dawn.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6039749249f63c460808c38d248a8bc72e2455a13e27137c760e546bfee77ffb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e188e1162d85c4e41d32732adc5274f6e9dc7f83d722827db428aeea2e595a12" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4a210d7778dafba5671d2471f067d30c2f41040278abd0f904879650838d8c24" - sha256 cellar: :any_skip_relocation, arm64_linux: "fa3faacb6ad8f00c6890ef5258529a50301dbd60a018e1b4e187211beae05572" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a10fd5b53586c1bf7ce5fdc1e060599a447b7522ef1be0f9743d6d1f5f2d781a" - end - - depends_on "cmake" => :build - depends_on "curl" - - resource "cyaml" do - url "https://github.com/andrewmd5/cyaml/archive/0672e81b809bc3dfd1d4f57ba0fcfbb20c60ae70.tar.gz" - sha256 "0c08eed9756056dea0ef603685c6a7019a370a8675186f1a4db9a519e61f6926" - end - - resource "nanosvg" do - url "https://github.com/memononen/nanosvg/archive/5cefd9847949af6df13f65027fd43af5a7513633.tar.gz" - sha256 "01f0892f15c12e364063c07ef643f566372593f60e7010b33707a3804bf74aa1" - end - - resource "pcre2" do - url "https://github.com/PCRE2Project/pcre2/archive/a1508f74f13c9227714cf16c342443691f854144.tar.gz" - sha256 "5d51b5b8a71095c1e9605073a2b8ec374ee1b4723f4d54f1086867e8af9fc53d" - end - - resource "utf8proc" do - url "https://github.com/JuliaStrings/utf8proc/archive/90daf9f396cfec91668758eb9cc54bd5248a6b89.tar.gz" - sha256 "cf6c76d588eb607b77dd6797cf65f8e88873e9f98c40085fc46070fe5626c70c" - end - - def install - if build.head? - system "git", "submodule", "update", "--init", "--recursive" - else - # Upstream release tarballs omit git submodules needed for source builds. - mkdir_p buildpath/"third-party" - resource("cyaml").stage buildpath/"third-party/cyaml" - resource("nanosvg").stage buildpath/"third-party/nanosvg" - resource("pcre2").stage buildpath/"third-party/pcre2" - resource("utf8proc").stage buildpath/"third-party/utf8proc" - end - - # The vendored PCRE2 checkout expects a nested sljit checkout for JIT. - inreplace "CMakeLists.txt", - 'set(PCRE2_SUPPORT_JIT ON CACHE BOOL "" FORCE)', - 'set(PCRE2_SUPPORT_JIT OFF CACHE BOOL "" FORCE)' - - mkdir "build" do - system "cmake", "..", "-DDAWN_VERSION=#{version}", *std_cmake_args - system "cmake", "--build", ".", "--target", "dawn" - bin.install "dawn" - end - end - - test do - (testpath/"sample.md").write <<~MARKDOWN - # Hello from Homebrew - - This is a test. - MARKDOWN - - assert_match version.to_s, shell_output("#{bin}/dawn -v") - - rendered = shell_output("#{bin}/dawn -P #{testpath}/sample.md") - rendered = rendered.gsub(/\e\][^\a\e]*(?:\a|\e\\)/, "") - rendered = rendered.gsub(%r{\e\[[0-9;?]*[ -/]*[@-~]}, "") - rendered = rendered.gsub(/\e_[^\e]*(?:\e\\)/, "") - rendered = rendered.gsub(/\e[@-_]/, "") - - assert_match "# Hello from Homebrew", rendered - assert_match "This is a test.", rendered - end -end diff --git a/Formula/d/daylight.rb b/Formula/d/daylight.rb deleted file mode 100644 index 7203f3cd51..0000000000 --- a/Formula/d/daylight.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Daylight < Formula - desc "Track sunrise and sunset times in the terminal" - homepage "https://github.com/jbreckmckye/daylight" - url "https://github.com/jbreckmckye/daylight/archive/refs/tags/v1.3.0.tar.gz" - sha256 "369ce9dd5299a68febbae38278efdef9cc2a8e8a2d1934ac42e352dece2ff6e9" - license "GPL-3.0-only" - head "https://github.com/jbreckmckye/daylight.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "70d9a509cc06d1cf59c1fc22534af8d924606114500e48ea24ebc97fa4e73dee" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "70d9a509cc06d1cf59c1fc22534af8d924606114500e48ea24ebc97fa4e73dee" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "70d9a509cc06d1cf59c1fc22534af8d924606114500e48ea24ebc97fa4e73dee" - sha256 cellar: :any_skip_relocation, arm64_linux: "2f5e23c540fc3f7aa80fbc65cf7b96ed658ec84441cf035a91dd24269413113a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "50481318cbf7585fcaeb78cbfa041032e87f3403da180899b86f54322fd30a3d" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - end - - test do - ENV["NO_COLOR"] = "1" - assert_match version.to_s, shell_output("#{bin}/daylight --version") - assert_match "Ten day projection", shell_output(bin/"daylight") - end -end diff --git a/Formula/d/dbee.rb b/Formula/d/dbee.rb index 74188040e0..6b7cab3da9 100644 --- a/Formula/d/dbee.rb +++ b/Formula/d/dbee.rb @@ -4,16 +4,14 @@ class Dbee < Formula url "https://github.com/murat-cileli/dbee/archive/refs/tags/v0.2.2.tar.gz" sha256 "4a1994a02dbc1d6f64aa7a2554f0a172603e7ba1f3fe9b4ab4481f1be1182c7f" license "GPL-3.0-or-later" - revision 1 head "https://github.com/murat-cileli/dbee.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9d11c23c976c685cef5034c5d95dfa184166a1184b959822c57cd35b39a7c3cf" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9d11c23c976c685cef5034c5d95dfa184166a1184b959822c57cd35b39a7c3cf" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9d11c23c976c685cef5034c5d95dfa184166a1184b959822c57cd35b39a7c3cf" - sha256 cellar: :any_skip_relocation, arm64_linux: "1f52731eebdd10ed82a6bcf3b18583c90ff4ca9a6cd89fac6b5d2e5e8d4bca5f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "845a67cd4e2775ebc276e694164831612bc5b6e6b7c340a926cf2f9367f791c9" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "886526a70a83380147335f8914b9766de45cc74fbb7e73bd3dca75ae09537695" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "753f95855d36463a4043da50067e501e3da806c2a41ace3e64f5d2cb3791d8fd" + sha256 cellar: :any_skip_relocation, ventura: "5714ad5a05eb7a62b721b77128e08b1f2d2cb53eb5ed391dd395da76b1540ab6" + sha256 cellar: :any_skip_relocation, x86_64_linux: "49c4f46a8537b352c66ac0c6045afc5fbff56bcdefdd2693634f8c394a929ec6" end depends_on "go" => :build diff --git a/Formula/d/dbin.rb b/Formula/d/dbin.rb index 7fc71a6dcd..086fa64930 100644 --- a/Formula/d/dbin.rb +++ b/Formula/d/dbin.rb @@ -7,17 +7,14 @@ class Dbin < Formula # RABRMS is not a valid SPDX-License-Identifier # license any_of: ["ISC", "RABRMS"] license "ISC" - revision 1 head "https://github.com/xplshn/dbin.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4fa74b621afc07d42a7b8ee6a41d82e5761791689580f503eb839d5d5c03a648" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4fa74b621afc07d42a7b8ee6a41d82e5761791689580f503eb839d5d5c03a648" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4fa74b621afc07d42a7b8ee6a41d82e5761791689580f503eb839d5d5c03a648" - sha256 cellar: :any_skip_relocation, arm64_linux: "f8a7437d6ee879161f764e9c0da93cd1011f793043ce13ae59c9b66a1ea24a7a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "da9f6bf3d60e295539beee7ee7ab4c457f0a25697502a434471595191998d039" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "11ac9b40c6dc265c113ed1c7f476a8bf72028c47394dea71a661909e6f444a65" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "2bd14adb5c17ae52c9acb8a8ccd49d2750d92035fa0563d22ae1f6670d96a31a" + sha256 cellar: :any_skip_relocation, ventura: "9e2af5357521035aa761897670439bdc015385c20925772946317d1a5ea96e0b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "57fc6d5564036517bee8c81682d07017df62cef9f7d76c3aef62c9eb5f04f595" end depends_on "go" => :build diff --git a/Formula/d/dcv.rb b/Formula/d/dcv.rb deleted file mode 100644 index a0396eee44..0000000000 --- a/Formula/d/dcv.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Dcv < Formula - desc "TUI viewer for docker-compose" - homepage "https://github.com/tokuhirom/dcv" - url "https://github.com/tokuhirom/dcv/archive/refs/tags/v0.3.2.tar.gz" - sha256 "c09ca4a2ddc9378316b6ed336203d38a64f329e562665319106f2c9b83f6c18d" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fd22a144b10dd1b377e9c36aba98d6af3e1dc620b350c08a2b4d965b1eb42090" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fd22a144b10dd1b377e9c36aba98d6af3e1dc620b350c08a2b4d965b1eb42090" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fd22a144b10dd1b377e9c36aba98d6af3e1dc620b350c08a2b4d965b1eb42090" - sha256 cellar: :any_skip_relocation, arm64_linux: "bf342ed3efdf7c67c808700a6691e462372c0509b50ff9bd7632416f8aef15d7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5c91223dddde3229f5b7459594e3cde86abb36efd004c0ef3ea7f8c49ca4054e" - end - - depends_on "go" => :build - - def install - system "make", "build-helpers" - - ldflags = "-s -w" - system "go", "build", *std_go_args(ldflags:) - end - - test do - # no version command to check - system bin/"dcv", "--help" - end -end diff --git a/Formula/d/ddev.rb b/Formula/d/ddev.rb index 3b882bd1b6..2bdad58222 100644 --- a/Formula/d/ddev.rb +++ b/Formula/d/ddev.rb @@ -1,18 +1,17 @@ class Ddev < Formula desc "Docker-based local PHP+Node.js web development environments" homepage "https://ddev.com/" - url "https://github.com/ddev/ddev/archive/refs/tags/v1.25.2.tar.gz" - sha256 "70e197045911c30a187b5966eebc9e48664f883a6ea20022b284f200cdab77fa" + url "https://github.com/ddev/ddev/archive/refs/tags/v1.24.7.tar.gz" + sha256 "c8b487d99f4d4e10eeea58c1833563a38009048b77a9590ff0f04eac851bb98a" license "Apache-2.0" head "https://github.com/ddev/ddev.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9330531c05373c97a959511bae09eeed138d3c8635338d6b7cbf786a1f905c05" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9330531c05373c97a959511bae09eeed138d3c8635338d6b7cbf786a1f905c05" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9330531c05373c97a959511bae09eeed138d3c8635338d6b7cbf786a1f905c05" - sha256 cellar: :any_skip_relocation, arm64_linux: "36fbdc37d5d100c5d9a6564f34e91af86072f03a4d5efbe96898dd4cf913bab6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c83ce636a1dcb20eb453257b372da88540abc00dc77589370d1385a9cc8836d0" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "93fe12aaa975e62c0e0012e88a093f6c48665cd6712930b5896a7313b9aed194" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9a2b4177ec2d9b1861f9ffb49450a12dc6feedd979891a3ea15aa2135f974f84" + sha256 cellar: :any_skip_relocation, ventura: "1ea4a13c07bc217995e690565036e40ac367fdd0e0525854aafdf20a9006c7fa" + sha256 cellar: :any_skip_relocation, x86_64_linux: "be38a5324d792bc4fc54c16c1a35a87c82d3f200dbb2f52bdba34aa07b634a18" end depends_on "go" => :build @@ -26,10 +25,15 @@ def install end test do - ENV["DOCKER_HOST"] = "unix://#{testpath}/invalid.sock" - assert_match version.to_s, shell_output("#{bin}/ddev --version") - assert_match "failed to connect to the docker API", shell_output("#{bin}/ddev list 2>&1", 1) + expected = if OS.mac? + "Could not connect to a Docker provider" + else + "No DDEV projects were found." + end + + ret_status = OS.mac? ? 1 : 0 + assert_match expected, shell_output("#{bin}/ddev list 2>&1", ret_status) end end diff --git a/Formula/d/deadbranch.rb b/Formula/d/deadbranch.rb deleted file mode 100644 index c6f849b060..0000000000 --- a/Formula/d/deadbranch.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Deadbranch < Formula - desc "Clean up stale git branches safely" - homepage "https://github.com/armgabrielyan/deadbranch" - url "https://github.com/armgabrielyan/deadbranch/archive/refs/tags/v0.4.0.tar.gz" - sha256 "6a4b45018f3daae0302469d6a305a7c143bc207284210310ca5532c2ee6536f3" - license "MIT" - head "https://github.com/armgabrielyan/deadbranch.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0fb7e50c81431ff85fe125e19419d5664f0cbe8f56be42c6a1f63b55364e91a5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fc4c7f0d3b6ac473c6016519cfe1e0dc146a7cce86820cf181d1ac4e0cd62230" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "94bbb9c5e117ff2a485b298c246ac0a4871c024c4b44fef78ae464fc9eebd509" - sha256 cellar: :any_skip_relocation, arm64_linux: "188f825887759809a44b20409c02b566ff0211f02e091d36a57f56c5feb6e201" - sha256 cellar: :any_skip_relocation, x86_64_linux: "17c7b9be4f008c007d43f8645f722a6201754d7a5961532a72d0620ce0d98f35" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/deadbranch --version") - - system "git", "init" - system "git", "branch", "-m", "main" - system "git", "config", "user.name", "Test User" - system "git", "config", "user.email", "test@example.com" - - (testpath/"README.md").write("main\n") - system "git", "add", "README.md" - init_commit_env = "GIT_AUTHOR_DATE='2000-01-01T00:00:00Z' " \ - "GIT_COMMITTER_DATE='2000-01-01T00:00:00Z'" - system "sh", "-c", "#{init_commit_env} git commit -m init" - - system "git", "checkout", "-b", "feature/old" - (testpath/"feature.txt").write("old branch\n") - system "git", "add", "feature.txt" - feature_commit_env = "GIT_AUTHOR_DATE='2000-01-02T00:00:00Z' " \ - "GIT_COMMITTER_DATE='2000-01-02T00:00:00Z'" - system "sh", "-c", "#{feature_commit_env} git commit -m feature" - - system "git", "checkout", "main" - system "git", "merge", "--no-ff", "feature/old", "-m", "merge feature" - - output = shell_output("#{bin}/deadbranch list --days 1 --local --merged") - assert_match "feature/old", output - - dry_run_output = shell_output("#{bin}/deadbranch clean --days 1 --local --dry-run") - assert_match "feature/old", dry_run_output - end -end diff --git a/Formula/d/dealve-tui.rb b/Formula/d/dealve-tui.rb deleted file mode 100644 index 4be0c9c096..0000000000 --- a/Formula/d/dealve-tui.rb +++ /dev/null @@ -1,40 +0,0 @@ -class DealveTui < Formula - desc "Terminal interface for game deal discovery" - homepage "https://github.com/kurama/dealve-tui" - url "https://github.com/kurama/dealve-tui/archive/refs/tags/v1.0.2.tar.gz" - sha256 "b7361e77437307ba967eba74afbdb771712160e5980b5f6d5dfb2deb624f2ad7" - license any_of: ["MIT", "Apache-2.0"] - revision 1 - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "917519a7fa63532d426624fe4154380fe6abf79187f1617fe5ff0936114db224" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2350e5546000070d6ef25a97bda5bc9c6922820c603aaa98fc3939e2b8a85dfb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5caace23e7966575906929118684b34bd5ac6778387ebe6c5453cfd56125eae4" - sha256 cellar: :any_skip_relocation, arm64_linux: "7eb31523e97a8d89fea0a357a6a597a3f58ec8267d83abb35229a8ebd6226cc8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "63175a7ce7094b8f5d9cd525800008ed0253a0b95e8ca2e304642caa135762ad" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "openssl@3" - - def install - openssl = Formula["openssl@3"] - ENV["OPENSSL_DIR"] = openssl.opt_prefix - ENV["OPENSSL_LIB_DIR"] = openssl.opt_lib - ENV["OPENSSL_INCLUDE_DIR"] = openssl.opt_include - ENV.prepend_path "PKG_CONFIG_PATH", openssl.opt_lib/"pkgconfig" - system "cargo", "install", "--bin", "dealve", *std_cargo_args(path: "tui") - end - - test do - cmd = if OS.mac? - "printf '\\033' | script -q /dev/null #{bin}/dealve" - else - "printf '\\033' | script -q -c '#{bin}/dealve' /dev/null" - end - output = shell_output(cmd) - assert_match "\e[?1049h", output - end -end diff --git a/Formula/d/debugg-ai-mcp.rb b/Formula/d/debugg-ai-mcp.rb index f24b7ca532..59c150d62a 100644 --- a/Formula/d/debugg-ai-mcp.rb +++ b/Formula/d/debugg-ai-mcp.rb @@ -1,40 +1,34 @@ -# spellchecker:off class DebuggAiMcp < Formula - desc "MCP Server for Debugg AI" + desc "MCP with 25+ @antvis charts for visualization, generation, and analysis" homepage "https://debugg.ai/" - url "https://registry.npmjs.org/@debugg-ai/debugg-ai-mcp/-/debugg-ai-mcp-2.3.0.tgz" - sha256 "166833102142d69b81c46dcf729b7f6073760de6deae23a2393e6acb0ec360ff" + url "https://registry.npmjs.org/@debugg-ai/debugg-ai-mcp/-/debugg-ai-mcp-1.0.16.tgz" + sha256 "3c52ed2403196b68520ea2c3f03986b27ebbb0d38361babc5237c426fd43d2dd" license "Apache-2.0" # license fix PR, https://github.com/debugg-ai/debugg-ai-mcp/pull/4 bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "51b9b99e252eb6b39658fa7bde1b7605c50e969db8bda7278c49e488d7982bdc" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "66488e6768c8a75fb8e5f5fef1d1b94bd50bf42a7281481102ce4f63b574acd7" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c49e49cbd3dd01035a51983b2132ecf9fe9c199c47d2792b60bcb684d592d30c" + sha256 cellar: :any_skip_relocation, ventura: "9aca20da0cc9e39966664e32a5b95bcc63f249b4efac939036109d3db2c55e22" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b339ec10d9856b524929effd22f9fc11ba99c1996e41a1bcedc92413d4e70e04" end depends_on "node" def install system "npm", "install", *std_npm_args - - # Remove vendored prebuilt ngrok binary to avoid shipping non-native artifacts. - ngrok_bin = libexec/"lib/node_modules/@debugg-ai/debugg-ai-mcp/node_modules/ngrok/bin/ngrok" - rm ngrok_bin - - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do ENV["DEBUGGAI_API_KEY"] = "test" json = <<~JSON - {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"homebrew","version":"1.0"}}} - {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} {"jsonrpc":"2.0","id":2,"method":"tools/list"} JSON output = pipe_output("#{bin}/debugg-ai-mcp 2>&1", json, 0) - assert_match "\"name\":\"check_app_in_browser\"", output - assert_match "\"title\":\"Run E2E Browser Test\"", output + assert_match "Run end-to-end browser tests using AI agents", output end end -# spellchecker:on diff --git a/Formula/d/decktape.rb b/Formula/d/decktape.rb index 613d93b44a..0c55429d47 100644 --- a/Formula/d/decktape.rb +++ b/Formula/d/decktape.rb @@ -1,31 +1,30 @@ class Decktape < Formula desc "PDF exporter for HTML presentations" homepage "https://github.com/astefanutti/decktape" - url "https://registry.npmjs.org/decktape/-/decktape-3.16.1.tgz" - sha256 "20e4fe92c367f668d87f7a6db41d8ae306e5dde4cdba4bee61453adb98de43fa" + url "https://registry.npmjs.org/decktape/-/decktape-3.15.0.tgz" + sha256 "9ef30a860f2b9a89a3f7143cf4961a8887302d8a53b44cc69958254e44b5eb33" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "251090233280af8501a49a8b17b5758e4c67082cb9b03425297ae341faeee265" - sha256 cellar: :any, arm64_sequoia: "6dbf4835495375b293aa137d292becc974c2f9f808de7f5a78d5adf708430553" - sha256 cellar: :any, arm64_sonoma: "6dbf4835495375b293aa137d292becc974c2f9f808de7f5a78d5adf708430553" - sha256 cellar: :any_skip_relocation, arm64_linux: "e9ed7c9b45b2233759cac46c35979e33bd926867e563201c983efd4eb1846c80" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d8f1cf4d2f481dbb227390968bcfe62b1b7289d181f160992ef9e56e3636aedb" + sha256 cellar: :any, arm64_sequoia: "f4d1d01055da09f051c28dbbfe7730146278e150a8756c090f0552bdd027b7de" + sha256 cellar: :any, arm64_sonoma: "8e4a84624f60136a0df2eb4ffc343bdb8cf0c63d9506e25c0d11eb10e14e1bc0" + sha256 cellar: :any, ventura: "1b983b544ff7521567edaf475982a556166ee50b605221a2c5e11f7f4df05949" + sha256 cellar: :any_skip_relocation, x86_64_linux: "74b8ab8c438064289bf0cc37827763b0ca3023a79b19306947f2d8f100a89cbb" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] node_modules = libexec/"lib/node_modules/decktape/node_modules" - # Remove incompatible pre-built `bare-fs`/`bare-os`/`bare-url` binaries + # Remove incompatible pre-built `bare-fs`/`bare-os` binaries os = OS.kernel_name.downcase arch = Hardware::CPU.intel? ? "x64" : Hardware::CPU.arch.to_s - node_modules.glob("{bare-fs,bare-os,bare-url}/prebuilds/*") + node_modules.glob("{bare-fs,bare-os}/prebuilds/*") .each { |dir| rm_r(dir) if dir.basename.to_s != "#{os}-#{arch}" } end diff --git a/Formula/d/deepteam.rb b/Formula/d/deepteam.rb index d10d9796a0..52d31ac5bb 100644 --- a/Formula/d/deepteam.rb +++ b/Formula/d/deepteam.rb @@ -2,37 +2,32 @@ class Deepteam < Formula include Language::Python::Virtualenv desc "LLM Red Teaming Framework" - homepage "https://github.com/confident-ai/deepteam" - url "https://files.pythonhosted.org/packages/31/4a/908f66e0e2ddfb0c3703b947dca8aa9be0c3af1c7abc4c88285ea009cf7b/deepteam-1.0.6.tar.gz" - sha256 "0b215c0a4df438783e6b18fdc7c98be08eefbc4eb65c75bff3a79f715ba2bc1e" + homepage "https://www.trydeepteam.com/" + url "https://files.pythonhosted.org/packages/17/09/42830e0f8295a51997c635e00a7dad3b17cab4f40fd1bb1228ffbc83412b/deepteam-0.2.0.tar.gz" + sha256 "5f6750fa92cfe199267a25e5da8db57f90c4532acf7906ce885ed626dc3b8356" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "5dc27ffda76de27da67c0e3c6aa5065907a671127e53b6e2b0644bfb2879f27a" - sha256 cellar: :any, arm64_sequoia: "7bc9f886820cba7f3ca057d8aa10e1f2133778fd7720994bff4452072ead882b" - sha256 cellar: :any, arm64_sonoma: "73e709fcb4ec83339826a9698f532817072ef74c1cabd0f4c51a1214f3623102" - sha256 cellar: :any_skip_relocation, arm64_linux: "085cf3ade674eadbd30c1ef6a4c114b5e93b154728a561bc62e018a82e4471d7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4f836e67c1b64d3bbf4c867f6a43b900753a4c2b030ac20c63d3314b7c554c8f" + sha256 cellar: :any, arm64_sequoia: "c43d95eeea938d39b262ee39604b198c2a08edfcd59a52448c12df17f1fa001c" + sha256 cellar: :any, arm64_sonoma: "e238ea9413f0b5d4ddc966fa0f4fdb391582eb1693d6699ff850c4e36987cf7c" + sha256 cellar: :any, ventura: "48a21095d35b2a131b1bbf6c6255381d4f0c91e1f4ab5ef5403d97ae7ae4bbb1" + sha256 cellar: :any_skip_relocation, x86_64_linux: "10e47da7c5a8d364ed7ab40a271602ba4eefddebcfd4f2a0c7c1bf0c8aee7e58" end - depends_on "pkgconf" => :build - depends_on "rust" => :build # for jiter + depends_on "rust" => :build # for pydantic depends_on "certifi" depends_on "libyaml" - depends_on "pydantic" => :no_linkage depends_on "python@3.13" - pypi_packages exclude_packages: %w[pydantic pydantic-core] - resource "aiohappyeyeballs" do url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" end resource "aiohttp" do - url "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz" - sha256 "a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88" + url "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz" + sha256 "4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2" end resource "aiosignal" do @@ -40,24 +35,24 @@ class Deepteam < Formula sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" end - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" - end - resource "annotated-types" do url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" end + resource "anthropic" do + url "https://files.pythonhosted.org/packages/4e/03/3334921dc54ed822b3dd993ae72d823a7402588521bbba3e024b3333a1fd/anthropic-0.60.0.tar.gz" + sha256 "a22ba187c6f4fd5afecb2fc913b960feccf72bc0d25c1b7ce0345e87caede577" + end + resource "anyio" do - url "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz" - sha256 "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" + url "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz" + sha256 "673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "backoff" do @@ -65,24 +60,29 @@ class Deepteam < Formula sha256 "03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba" end + resource "cachetools" do + url "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz" + sha256 "1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4" + end + resource "certifi" do - url "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz" - sha256 "e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7" + url "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz" + sha256 "e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz" + sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "deepeval" do - url "https://files.pythonhosted.org/packages/f9/17/3f6651e1f75ab481f01f13465eb1934275442c9893d052d295287e8ea052/deepeval-3.8.8.tar.gz" - sha256 "389c1742f02121525ecfe40c3d613f76fd418ad0ac0b843df715a9b460b5e679" + url "https://files.pythonhosted.org/packages/03/b9/031aab2c29d8c5a1ccaf6bb8f2b1084e34078070a01c8d4fb7b0cfd287c1/deepeval-3.3.4.tar.gz" + sha256 "dd69e949f256eb81732955e53b280dd3c7f37a2da6ed8dc49aafa63486e5c6d2" end resource "distro" do @@ -91,18 +91,33 @@ class Deepteam < Formula end resource "execnet" do - url "https://files.pythonhosted.org/packages/bf/89/780e11f9588d9e7128a3f87788354c7946a9cbb1401ad38a48c4db9a4f07/execnet-2.1.2.tar.gz" - sha256 "63d83bfdd9a23e35b9c6a3261412324f964c2ec8dcd8d3c6916ee9373e0befcd" + url "https://files.pythonhosted.org/packages/bb/ff/b4c0dc78fbe20c3e59c0c7334de0c27eb4001a2b2017999af398bf730817/execnet-2.1.1.tar.gz" + sha256 "5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3" end resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" + url "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz" + sha256 "2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f" + end + + resource "google-auth" do + url "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz" + sha256 "500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77" + end + + resource "google-genai" do + url "https://files.pythonhosted.org/packages/23/f1/039bb08df4670e204c55b5da0b2fa5228dff3346bda01389a86b300f6f58/google_genai-1.28.0.tar.gz" + sha256 "e93053c02e616842679ba5ecce5b99db8c0ca6310623c55ff6245b5b1d293138" + end + + resource "googleapis-common-protos" do + url "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz" + sha256 "0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257" end resource "grpcio" do - url "https://files.pythonhosted.org/packages/06/8a/3d098f35c143a89520e568e6539cc098fcd294495910e359889ce8741c84/grpcio-1.78.0.tar.gz" - sha256 "7382b95189546f375c174f53a5fa873cef91c4b8005faa05cc5b3beea9c4f1c5" + url "https://files.pythonhosted.org/packages/38/b4/35feb8f7cab7239c5b94bd2db71abb3d6adb5f335ad8f131abb6060840b6/grpcio-1.74.0.tar.gz" + sha256 "80d1f4fbb35b0742d3e3d3bb654b7381cd5f015f8497279a1e9c21ba623e01b1" end resource "h11" do @@ -121,38 +136,28 @@ class Deepteam < Formula end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "importlib-metadata" do - url "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz" - sha256 "49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb" + url "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz" + sha256 "d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000" end resource "iniconfig" do - url "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz" - sha256 "c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730" - end - - resource "jinja2" do - url "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" - sha256 "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" + url "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz" + sha256 "3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7" end resource "jiter" do - url "https://files.pythonhosted.org/packages/0d/5e/4ec91646aee381d01cdb9974e30882c9cd3b8c5d1079d6b5ff4af522439a/jiter-0.13.0.tar.gz" - sha256 "f2839f9c2c7e2dffc1bc5929a510e14ce0a946be9365fd1219e7ef342dae14f4" + url "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz" + sha256 "07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500" end resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" + url "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz" + sha256 "e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb" end resource "mdurl" do @@ -160,9 +165,14 @@ class Deepteam < Formula sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" end + resource "monotonic" do + url "https://files.pythonhosted.org/packages/ea/ca/8e91948b782ddfbd194f323e7e7d9ba12e5877addf04fb2bf8fca38e86ac/monotonic-1.6.tar.gz" + sha256 "3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7" + end + resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" + url "https://files.pythonhosted.org/packages/3d/2c/5dad12e82fbdf7470f29bff2171484bf07cb3b16ada60a6589af8f376440/multidict-6.6.3.tar.gz" + sha256 "798a9eb12dab0a6c2e29c1de6f3468af5cb2da6053a20dfa3344907eed0937cc" end resource "nest-asyncio" do @@ -170,29 +180,49 @@ class Deepteam < Formula sha256 "6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe" end + resource "ollama" do + url "https://files.pythonhosted.org/packages/8d/96/c7fe0d2d1b3053be614822a7b722c7465161b3672ce90df71515137580a0/ollama-0.5.1.tar.gz" + sha256 "5a799e4dc4e7af638b11e3ae588ab17623ee019e496caaf4323efbaa8feeff93" + end + resource "openai" do - url "https://files.pythonhosted.org/packages/55/13/17e87641b89b74552ed408a92b231283786523edddc95f3545809fab673c/openai-2.24.0.tar.gz" - sha256 "1e5769f540dbd01cb33bc4716a23e67b9d695161a734aff9c5f925e2bf99a673" + url "https://files.pythonhosted.org/packages/d8/9d/52eadb15c92802711d6b6cf00df3a6d0d18b588f4c5ba5ff210c6419fc03/openai-1.98.0.tar.gz" + sha256 "3ee0fcc50ae95267fd22bd1ad095ba5402098f3df2162592e68109999f685427" end resource "opentelemetry-api" do - url "https://files.pythonhosted.org/packages/97/b9/3161be15bb8e3ad01be8be5a968a9237c3027c5be504362ff800fca3e442/opentelemetry_api-1.39.1.tar.gz" - sha256 "fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c" + url "https://files.pythonhosted.org/packages/27/d2/c782c88b8afbf961d6972428821c302bd1e9e7bc361352172f0ca31296e2/opentelemetry_api-1.36.0.tar.gz" + sha256 "9a72572b9c416d004d492cbc6e61962c0501eaf945ece9b5a0f56597d8348aa0" + end + + resource "opentelemetry-exporter-otlp-proto-common" do + url "https://files.pythonhosted.org/packages/34/da/7747e57eb341c59886052d733072bc878424bf20f1d8cf203d508bbece5b/opentelemetry_exporter_otlp_proto_common-1.36.0.tar.gz" + sha256 "6c496ccbcbe26b04653cecadd92f73659b814c6e3579af157d8716e5f9f25cbf" + end + + resource "opentelemetry-exporter-otlp-proto-grpc" do + url "https://files.pythonhosted.org/packages/72/6f/6c1b0bdd0446e5532294d1d41bf11fbaea39c8a2423a4cdfe4fe6b708127/opentelemetry_exporter_otlp_proto_grpc-1.36.0.tar.gz" + sha256 "b281afbf7036b325b3588b5b6c8bb175069e3978d1bd24071f4a59d04c1e5bbf" + end + + resource "opentelemetry-proto" do + url "https://files.pythonhosted.org/packages/fd/02/f6556142301d136e3b7e95ab8ea6a5d9dc28d879a99f3dd673b5f97dca06/opentelemetry_proto-1.36.0.tar.gz" + sha256 "0f10b3c72f74c91e0764a5ec88fd8f1c368ea5d9c64639fb455e2854ef87dd2f" end resource "opentelemetry-sdk" do - url "https://files.pythonhosted.org/packages/eb/fb/c76080c9ba07e1e8235d24cdcc4d125ef7aa3edf23eb4e497c2e50889adc/opentelemetry_sdk-1.39.1.tar.gz" - sha256 "cf4d4563caf7bff906c9f7967e2be22d0d6b349b908be0d90fb21c8e9c995cc6" + url "https://files.pythonhosted.org/packages/4c/85/8567a966b85a2d3f971c4d42f781c305b2b91c043724fa08fd37d158e9dc/opentelemetry_sdk-1.36.0.tar.gz" + sha256 "19c8c81599f51b71670661ff7495c905d8fdf6976e41622d5245b791b06fa581" end resource "opentelemetry-semantic-conventions" do - url "https://files.pythonhosted.org/packages/91/df/553f93ed38bf22f4b999d9be9c185adb558982214f33eae539d3b5cd0858/opentelemetry_semantic_conventions-0.60b1.tar.gz" - sha256 "87c228b5a0669b748c76d76df6c364c369c28f1c465e50f661e39737e84bc953" + url "https://files.pythonhosted.org/packages/7e/31/67dfa252ee88476a29200b0255bda8dfc2cf07b56ad66dc9a6221f7dc787/opentelemetry_semantic_conventions-0.57b0.tar.gz" + sha256 "609a4a79c7891b4620d64c7aac6898f872d790d75f22019913a660756f27ff32" end resource "packaging" do - url "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz" - sha256 "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4" + url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" end resource "pluggy" do @@ -206,23 +236,43 @@ class Deepteam < Formula end resource "posthog" do - url "https://files.pythonhosted.org/packages/48/20/60ae67bb9d82f00427946218d49e2e7e80fb41c15dc5019482289ec9ce8d/posthog-5.4.0.tar.gz" - sha256 "701669261b8d07cdde0276e5bc096b87f9e200e3b9589c5ebff14df658c5893c" + url "https://files.pythonhosted.org/packages/85/a9/ec3bbc23b6f3c23c52e0b5795b1357cca74aa5cfb254213f1e471fef9b4d/posthog-3.25.0.tar.gz" + sha256 "9168f3e7a0a5571b6b1065c41b3c171fbc68bfe72c3ac0bfd6e3d2fcdb7df2ca" end resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" + url "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz" + sha256 "20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168" end - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz" - sha256 "b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025" + resource "protobuf" do + url "https://files.pythonhosted.org/packages/52/f3/b9655a711b32c19720253f6f06326faf90580834e2e83f840472d752bc8b/protobuf-6.31.1.tar.gz" + sha256 "d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a" + end + + resource "pyasn1" do + url "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz" + sha256 "6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034" + end + + resource "pyasn1-modules" do + url "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz" + sha256 "677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6" + end + + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end resource "pyfiglet" do - url "https://files.pythonhosted.org/packages/c8/e3/0a86276ad2c383ce08d76110a8eec2fe22e7051c4b8ba3fa163a0b08c428/pyfiglet-1.0.4.tar.gz" - sha256 "db9c9940ed1bf3048deff534ed52ff2dafbbc2cd7610b17bb5eca1df6d4278ef" + url "https://files.pythonhosted.org/packages/94/49/2554c0b7fef12c0b9633352bbd8751cc616f8e8880e0ebab7732c1535564/pyfiglet-1.0.3.tar.gz" + sha256 "bad3b55d2eccb30d4693ccfd94573c2a3477dd75f86a0e5465cea51bdbfe2875" end resource "pygments" do @@ -231,13 +281,13 @@ class Deepteam < Formula end resource "pytest" do - url "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz" - sha256 "75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11" + url "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz" + sha256 "7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c" end resource "pytest-asyncio" do - url "https://files.pythonhosted.org/packages/90/2c/8af215c0f776415f3590cac4f9086ccefd6fd463befeae41cd4d3f193e5a/pytest_asyncio-1.3.0.tar.gz" - sha256 "d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5" + url "https://files.pythonhosted.org/packages/4e/51/f8794af39eeb870e87a8c8068642fc07bce0c854d6865d7dd0f2a9d338c2/pytest_asyncio-1.1.0.tar.gz" + sha256 "796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea" end resource "pytest-repeat" do @@ -246,8 +296,8 @@ class Deepteam < Formula end resource "pytest-rerunfailures" do - url "https://files.pythonhosted.org/packages/de/04/71e9520551fc8fe2cf5c1a1842e4e600265b0815f2016b7c27ec85688682/pytest_rerunfailures-16.1.tar.gz" - sha256 "c38b266db8a808953ebd71ac25c381cb1981a78ff9340a14bcb9f1b9bff1899e" + url "https://files.pythonhosted.org/packages/97/66/40f778791860c5234c5c677026d45c1a8708873b3dba8111de672bceac4f/pytest-rerunfailures-12.0.tar.gz" + sha256 "784f462fa87fe9bdf781d0027d856b47a4bfe6c12af108f6bd887057a917b48e" end resource "pytest-xdist" do @@ -260,34 +310,34 @@ class Deepteam < Formula sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" end - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" - end - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz" + sha256 "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422" end resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" + url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" + sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" + end + + resource "rsa" do + url "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz" + sha256 "e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75" end resource "sentry-sdk" do - url "https://files.pythonhosted.org/packages/c8/e9/2e3a46c304e7fa21eaa70612f60354e32699c7102eb961f67448e222ad7c/sentry_sdk-2.54.0.tar.gz" - sha256 "2620c2575128d009b11b20f7feb81e4e4e8ae08ec1d36cbc845705060b45cc1b" + url "https://files.pythonhosted.org/packages/3a/38/10d6bfe23df1bfc65ac2262ed10b45823f47f810b0057d3feeea1ca5c7ed/sentry_sdk-2.34.1.tar.gz" + sha256 "69274eb8c5c38562a544c3e9f68b5be0a43be4b697f5fd385bf98e4fbe672687" end resource "setuptools" do - url "https://files.pythonhosted.org/packages/82/f3/748f4d6f65d1756b9ae577f329c951cda23fb900e4de9f70900ced962085/setuptools-82.0.0.tar.gz" - sha256 "22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb" + url "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz" + sha256 "f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c" end resource "shellingham" do @@ -311,43 +361,48 @@ class Deepteam < Formula end resource "tenacity" do - url "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz" - sha256 "adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a" + url "https://files.pythonhosted.org/packages/a3/4d/6a19536c50b849338fcbe9290d562b52cbdcf30d8963d3588a68a4107df1/tenacity-8.5.0.tar.gz" + sha256 "8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78" end resource "tqdm" do - url "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" - sha256 "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" + url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" + sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" end resource "typer" do - url "https://files.pythonhosted.org/packages/f5/24/cb09efec5cc954f7f9b930bf8279447d24618bb6758d4f6adf2574c41780/typer-0.24.1.tar.gz" - sha256 "e39b4732d65fbdcde189ae76cf7cd48aeae72919dea1fdfc16593be016256b45" + url "https://files.pythonhosted.org/packages/c5/8c/7d682431efca5fd290017663ea4588bf6f2c6aad085c7f108c5dbc316e70/typer-0.16.0.tar.gz" + sha256 "af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b" end resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + url "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz" + sha256 "38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36" end resource "typing-inspection" do - url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" - sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" end resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" + end + + resource "websockets" do + url "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz" + sha256 "82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee" end resource "wheel" do - url "https://files.pythonhosted.org/packages/89/24/a2eb353a6edac9a0303977c4cb048134959dd2a51b48a269dfc9dde00c8a/wheel-0.46.3.tar.gz" - sha256 "e3e79874b07d776c40bd6033f8ddf76a7dad46a7b8aa1b2787a83083519a1803" + url "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz" + sha256 "661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729" end resource "yarl" do - url "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" - sha256 "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" + url "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz" + sha256 "d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac" end resource "zipp" do @@ -356,20 +411,19 @@ class Deepteam < Formula end def install - virtualenv_install_with_resources - generate_completions_from_executable(bin/"deepteam", shell_parameter_format: :typer) + # `shellingham` auto-detection doesn't work in Homebrew CI build environment so + # defer installation to allow `typer` to use argument as shell for completions + # Ref: https://typer.tiangolo.com/features/#user-friendly-cli-apps + venv = virtualenv_install_with_resources without: "shellingham" + generate_completions_from_executable(bin/"deepteam", "--show-completion") + venv.pip_install resource("shellingham") end test do - assert_match version.to_s, shell_output("#{bin}/deepteam --version") - ENV["PYTHONWARNINGS"] = "ignore::SyntaxWarning" - - (testpath/"bad.yaml").write <<~YAML - target: - purpose: noop - YAML + output = shell_output("#{bin}/deepteam set-ollama llama2") + assert_match "Ollama model configured", output - output = shell_output("#{bin}/deepteam run #{testpath}/bad.yaml 2>&1", 1) - assert_match "OpenAI API key is not configured", output + output = shell_output("#{bin}/deepteam unset-ollama") + assert_match "Ollama model unset", output end end diff --git a/Formula/d/deface.rb b/Formula/d/deface.rb deleted file mode 100644 index 6d0196412f..0000000000 --- a/Formula/d/deface.rb +++ /dev/null @@ -1,71 +0,0 @@ -class Deface < Formula - include Language::Python::Virtualenv - - desc "Video anonymization by face detection" - homepage "https://github.com/ORB-HD/deface" - url "https://files.pythonhosted.org/packages/1f/ac/4921cac040307d57d8e87ab4124e82f24dd492e1075bed5101cd8faf0dad/deface-1.5.0.tar.gz" - sha256 "122468698f66cdec210dd581a73c94dfbf9a16cb16ae4644ae056534467d4934" - license "MIT" - head "https://github.com/ORB-HD/deface.git", branch: "develop" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "d66e93a8c35289636d22675cc515844ac0f7176a0c4d4f58463d996ffde715cc" - end - - depends_on "numpy" => :no_linkage - depends_on "opencv" - depends_on "pillow" => :no_linkage - depends_on "python@3.14" - depends_on "scikit-image" => :no_linkage - depends_on "scipy" => :no_linkage - - pypi_packages exclude_packages: %w[numpy opencv-python pillow scikit-image scipy] - - resource "imageio" do - url "https://files.pythonhosted.org/packages/a3/6f/606be632e37bf8d05b253e8626c2291d74c691ddc7bcdf7d6aaf33b32f6a/imageio-2.37.2.tar.gz" - sha256 "0212ef2727ac9caa5ca4b2c75ae89454312f440a756fcfc8ef1993e718f50f8a" - end - - resource "imageio-ffmpeg" do - url "https://files.pythonhosted.org/packages/44/bd/c3343c721f2a1b0c9fc71c1aebf1966a3b7f08c2eea8ed5437a2865611d6/imageio_ffmpeg-0.6.0.tar.gz" - sha256 "e2556bed8e005564a9f925bb7afa4002d82770d6b08825078b7697ab88ba1755" - end - - resource "lazy-loader" do - url "https://files.pythonhosted.org/packages/6f/6b/c875b30a1ba490860c93da4cabf479e03f584eba06fe5963f6f6644653d8/lazy_loader-0.4.tar.gz" - sha256 "47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1" - end - - resource "networkx" do - url "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz" - sha256 "26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" - sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" - end - - resource "tifffile" do - url "https://files.pythonhosted.org/packages/f8/a6/85e8ecfd7cb4167f8bd17136b2d42cba296fbc08a247bba70d5747e2046a/tifffile-2025.12.20.tar.gz" - sha256 "cb8a4fee327d15b3e3eeac80bbdd8a53b323c80473330bcfb99418ee4c1c827f" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" - sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" - end - - def install - venv = virtualenv_install_with_resources - - site_packages = Language::Python.site_packages(venv.root/"bin/python3") - pth_contents = "import site; site.addsitedir('#{Formula["scikit-image"].opt_libexec/site_packages}')\n" - (venv.site_packages/"homebrew-scikit-image.pth").write pth_contents - end - - test do - system bin/"deface", "--help" - end -end diff --git a/Formula/d/defaults-rs.rb b/Formula/d/defaults-rs.rb deleted file mode 100644 index f840f1fdd0..0000000000 --- a/Formula/d/defaults-rs.rb +++ /dev/null @@ -1,29 +0,0 @@ -class DefaultsRs < Formula - desc "Open-source interface to a user's defaults on macOS" - homepage "https://github.com/machlit/defaults-rs" - url "https://github.com/machlit/defaults-rs/archive/refs/tags/v1.2.2.tar.gz" - sha256 "4e62e37fdd4bb0c7d14c59d0f825ab8d24356a211bd401025973691e122359df" - license "MIT" - head "https://github.com/machlit/defaults-rs.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9102cae97ca71eefd11b3af5af1edb09e3c02a005b47835e3a5a2f43a8429b98" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "ab241b11e45dac1733721d6303c2fa26ce4194dd6eb62349744bcd1bc53f929b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "893a7e1e53b5574fb4abca11da6aa53f846e70941e492b6700b070e087b3806f" - end - - depends_on "rust" => :build - depends_on :macos - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/drs --version") - - locale = shell_output("#{bin}/drs read NSGlobalDomain AppleLocale").strip - refute_empty locale - end -end diff --git a/Formula/d/deletor.rb b/Formula/d/deletor.rb deleted file mode 100644 index cbaae346a7..0000000000 --- a/Formula/d/deletor.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Deletor < Formula - desc "TUI and CLI to manage and delete files efficiently" - homepage "https://github.com/pashkov256/deletor" - url "https://github.com/pashkov256/deletor/archive/refs/tags/v1.5.0.tar.gz" - sha256 "e4a2a2ca3a1fa420c1962c2d8dd1778a3fbd06dc9a468e6d5f76b9d26971bbeb" - license "MIT" - head "https://github.com/pashkov256/deletor.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "baf00de08044f1219e2b35271fa7a12f01b7bfd04212d4c98464e6fc221accf7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "baf00de08044f1219e2b35271fa7a12f01b7bfd04212d4c98464e6fc221accf7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "baf00de08044f1219e2b35271fa7a12f01b7bfd04212d4c98464e6fc221accf7" - sha256 cellar: :any_skip_relocation, arm64_linux: "e1ba77682d7a8454fd756f5dbd178640ea7398603f551143061963bb94b78439" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ae74714595ac50e3537f0bb9e030708f6a07265dbd83f8150fe4428d569453df" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - test_file = testpath/"testfile.txt" - test_file.write("This is a test file.") - output = shell_output("#{bin}/deletor -cli -d #{testpath} -e txt -skip-confirm") - assert_match "20 B #{test_file}\n\n✓ Deleted: 20 B", output - end -end diff --git a/Formula/d/dg.rb b/Formula/d/dg.rb index 7191cb0540..63ba7674eb 100644 --- a/Formula/d/dg.rb +++ b/Formula/d/dg.rb @@ -17,7 +17,7 @@ class Dg < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/d/dgop.rb b/Formula/d/dgop.rb deleted file mode 100644 index 5171977591..0000000000 --- a/Formula/d/dgop.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Dgop < Formula - desc "API & CLI for System & Process Monitoring" - homepage "https://danklinux.com/" - url "https://github.com/AvengeMedia/dgop/archive/refs/tags/v0.2.2.tar.gz" - sha256 "2e45d94d2227bb596844681e66f948aeea4a09be3f7ee88dcbbf38938cabec32" - license "MIT" - head "https://github.com/AvengeMedia/dgop.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "e65c25a935653bf3c59b5b7ff216c549932af15bb20884c2b7608a787634a216" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5bf796d64972bce4bd7a7541b668979551b0f55bbc512abbddf511e3dad09707" - end - - depends_on "go" => :build - depends_on :linux - - def install - ldflags = "-s -w -X main.Version=#{version} -X main.buildTime=#{time.iso8601} -X main.commit=#{tap.user}" - system "go", "build", *std_go_args(ldflags:), "./cmd/dgop" - - generate_completions_from_executable(bin/"dgop", "completion", shells: [:bash, :zsh, :fish, :pwsh]) - end - - test do - require "json" - - assert_match version.to_s, shell_output("#{bin}/dgop version") - - cpu = JSON.parse(shell_output("#{bin}/dgop cpu --json")) - memory = JSON.parse(shell_output("#{bin}/dgop memory --json")) - - assert_predicate cpu["count"], :positive? - assert_predicate memory["total"], :positive? - end -end diff --git a/Formula/d/dhv.rb b/Formula/d/dhv.rb deleted file mode 100644 index 4078e1254d..0000000000 --- a/Formula/d/dhv.rb +++ /dev/null @@ -1,210 +0,0 @@ -class Dhv < Formula - include Language::Python::Virtualenv - - desc "Tool to dive into Python code" - homepage "https://dhv.davep.dev/" - url "https://files.pythonhosted.org/packages/12/87/235a0f94d2cc4124e840d733b956dff1a16ff2bd4e6dca6492aa1f40e916/dhv-1.0.0.tar.gz" - sha256 "46f5d8aa731dbd4cd648e0e77b9216f4b05460f49c734b669810439e3b8daaa2" - license "GPL-3.0-or-later" - head "https://github.com/davep/dhv.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ac8f17881bcdc626c8735e2a950230027a390793ffeeec624ba654fa861828dd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4316344367969c457f1bb0f91451d9f75dcf640dba5d0ad8c205b2366c38c027" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2d29fb09d6bafdc51e050e5793e2ae7ede5de0b89da216ea31ce74f96e9905f7" - sha256 cellar: :any_skip_relocation, arm64_linux: "3d5905b94f2acb0912233f50dbe05166a38c7117b1f641770756e055d8e0c2a2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6e34bbd0e1096cbec8683bb05bb43a8cf718ea7ab20be9c7366393bbc25ae25b" - end - - depends_on "rust" => :build # for textual_enhanced - depends_on "python@3.14" - depends_on "tree-sitter" - - # pypi_packages exclude_packages: "tree-sitter" - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" - sha256 "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/4f/07/766ad19cf2b15cae2d79e0db46a1b783b62316e9ff3e058e7424b2a4398b/textual-8.2.1.tar.gz" - sha256 "4176890e9cd5c95dcdd206541b2956b0808e74c8c36381c88db53dcb45237451" - end - - resource "textual-enhanced" do - url "https://files.pythonhosted.org/packages/3f/ae/467473ebf75590117d96b8c5d8a6f9ed03bdcfaef6e6e785d4b4ea8ec0c7/textual_enhanced-1.3.0.tar.gz" - sha256 "3f2eb43f946c4315b3044684caf89e1cd0fd3d61efb853a77bc5dc72021bf284" - end - - resource "textual-fspicker" do - url "https://files.pythonhosted.org/packages/e8/fd/dc3160123af550838d50a4fa7f62e357d7ad2fc9b4220ead9160661bcd1b/textual_fspicker-1.0.0.tar.gz" - sha256 "462608dbe6a14edff679fc6116addcf288f4a79f8e4fffd240f9ce2caaf9e655" - end - - resource "tree-sitter" do - url "https://files.pythonhosted.org/packages/66/7c/0350cfc47faadc0d3cf7d8237a4e34032b3014ddf4a12ded9933e1648b55/tree-sitter-0.25.2.tar.gz" - sha256 "fe43c158555da46723b28b52e058ad444195afd1db3ca7720c59a254544e9c20" - end - - resource "tree-sitter-bash" do - url "https://files.pythonhosted.org/packages/8e/0e/f0108be910f1eef6499eabce517e79fe3b12057280ed398da67ce2426cba/tree_sitter_bash-0.25.1.tar.gz" - sha256 "bfc0bdaa77bc1e86e3c6652e5a6e140c40c0a16b84185c2b63ad7cd809b88f14" - end - - resource "tree-sitter-css" do - url "https://files.pythonhosted.org/packages/38/37/7d60171240d4c5ba330f05b725dfb5e5fd5b7cbe0aa98ef9e77f77f868f5/tree_sitter_css-0.25.0.tar.gz" - sha256 "2fc996bf05b04e06061e88ee4c60837783dc4e62a695205acbc262ee30454138" - end - - resource "tree-sitter-go" do - url "https://files.pythonhosted.org/packages/01/05/727308adbbc79bcb1c92fc0ea10556a735f9d0f0a5435a18f59d40f7fd77/tree_sitter_go-0.25.0.tar.gz" - sha256 "a7466e9b8d94dda94cae8d91629f26edb2d26166fd454d4831c3bf6dfa2e8d68" - end - - resource "tree-sitter-html" do - url "https://github.com/tree-sitter/tree-sitter-html/archive/refs/tags/v0.23.2.tar.gz" - sha256 "21fa4f2d4dcb890ef12d09f4979a0007814f67f1c7294a9b17b0108a09e45ef7" - end - - resource "tree-sitter-java" do - url "https://github.com/tree-sitter/tree-sitter-java/archive/refs/tags/v0.23.5.tar.gz" - sha256 "cb199e0faae4b2c08425f88cbb51c1a9319612e7b96315a174a624db9bf3d9f0" - end - - resource "tree-sitter-javascript" do - url "https://files.pythonhosted.org/packages/59/e0/e63103c72a9d3dfd89a31e02e660263ad84b7438e5f44ee82e443e65bbde/tree_sitter_javascript-0.25.0.tar.gz" - sha256 "329b5414874f0588a98f1c291f1b28138286617aa907746ffe55adfdcf963f38" - end - - resource "tree-sitter-json" do - url "https://github.com/tree-sitter/tree-sitter-json/archive/refs/tags/v0.24.8.tar.gz" - sha256 "acf6e8362457e819ed8b613f2ad9a0e1b621a77556c296f3abea58f7880a9213" - end - - resource "tree-sitter-markdown" do - url "https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/refs/tags/v0.5.1.tar.gz" - sha256 "acaffe5a54b4890f1a082ad6b309b600b792e93fc6ee2903d022257d5b15e216" - end - - resource "tree-sitter-python" do - url "https://github.com/tree-sitter/tree-sitter-python/archive/refs/tags/v0.25.0.tar.gz" - sha256 "4609a3665a620e117acf795ff01b9e965880f81745f287a16336f4ca86cf270c" - end - - resource "tree-sitter-regex" do - url "https://files.pythonhosted.org/packages/86/92/1767b833518d731b97c07cf616ea15495dcc0af584aa0381657be4ec446d/tree_sitter_regex-0.25.0.tar.gz" - sha256 "5d29111b3f27d4afb31496476d392d1f562fe0bfe954e8968f1d8683424fc331" - end - - resource "tree-sitter-rust" do - url "https://files.pythonhosted.org/packages/b7/87/75cbd22b927267d310f76cca1ab3c1d9d41035dfa3eb9cc95f96ee199440/tree_sitter_rust-0.24.2.tar.gz" - sha256 "54fb02a5911e345308b405174465112479f56dc39e3f1e7744d7568595f00db9" - end - - resource "tree-sitter-sql" do - url "https://files.pythonhosted.org/packages/e8/5c/3d10387f779f36835486167253682f61d5f4fd8336b7001da1ac7d78f31c/tree_sitter_sql-0.3.11.tar.gz" - sha256 "700b93be2174c3c83d174ec3e10b682f72a4fb451f0076c7ce5012f1d5a76cbc" - end - - resource "tree-sitter-toml" do - url "https://github.com/tree-sitter-grammars/tree-sitter-toml/archive/refs/tags/v0.7.0.tar.gz" - sha256 "7d52a7d4884f307aabc872867c69084d94456d8afcdc63b0a73031a8b29036dc" - end - - resource "tree-sitter-xml" do - url "https://github.com/tree-sitter-grammars/tree-sitter-xml/archive/refs/tags/v0.7.0.tar.gz" - sha256 "4330a6b3685c2f66d108e1df0448eb40c468518c3a66f2c1607a924c262a3eb9" - end - - resource "tree-sitter-yaml" do - url "https://files.pythonhosted.org/packages/57/b6/941d356ac70c90b9d2927375259e3a4204f38f7499ec6e7e8a95b9664689/tree_sitter_yaml-0.7.2.tar.gz" - sha256 "756db4c09c9d9e97c81699e8f941cb8ce4e51104927f6090eefe638ee567d32c" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "xdg-base-dirs" do - url "https://files.pythonhosted.org/packages/bf/d0/bbe05a15347538aaf9fa5b51ac3b97075dfb834931fcb77d81fbdb69e8f6/xdg_base_dirs-6.0.2.tar.gz" - sha256 "950504e14d27cf3c9cb37744680a43bf0ac42efefc4ef4acf98dc736cab2bced" - end - - def install - # The source doesn't have a valid SOURCE_DATE_EPOCH, so here we set default. - ENV["SOURCE_DATE_EPOCH"] = "1451574000" - - tree_sitter_include = libexec/"include/tree_sitter" - tree_sitter_include.mkpath - resource("tree-sitter").stage do - cp Dir["tree_sitter/core/lib/src/*.h"], tree_sitter_include - cp "tree_sitter/core/lib/include/tree_sitter/api.h", tree_sitter_include/"api.h" - end - - venv = virtualenv_create(libexec, "python3.14") - venv.pip_install resources - venv.pip_install_and_link buildpath - end - - test do - assert_match version.to_s, shell_output("#{bin}/dhv --version") - - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - (testpath/"hello.py").write <<~PYTHON - def greet(name): - print(f"Hello, {name}!") - - greet("Homebrew") - PYTHON - - output_log = testpath/"output.log" - - pid = spawn bin/"dhv", "hello.py", [:out, :err] => output_log.to_s - sleep 1 - assert_match "RETURN_VALUE", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/d/di-tui.rb b/Formula/d/di-tui.rb index a805faf169..66bc3490f6 100644 --- a/Formula/d/di-tui.rb +++ b/Formula/d/di-tui.rb @@ -1,18 +1,17 @@ class DiTui < Formula desc "Simple terminal UI player for di.fm" homepage "https://github.com/acaloiaro/di-tui" - url "https://github.com/acaloiaro/di-tui/archive/refs/tags/v1.13.4.tar.gz" - sha256 "12fb90dcaea96bfb906b65e00e925a54ceb22045b3ca96f82b92dbc8e5481097" + url "https://github.com/acaloiaro/di-tui/archive/refs/tags/v1.11.2.tar.gz" + sha256 "4ed7002746374825da2a0e982fdd7b59d93c76525064ce6b184acc9f123c0a6c" license "BSD-2-Clause" head "https://github.com/acaloiaro/di-tui.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "206a2e03c765dce5e61107597cf821a472d47d04e0bd4aa0e17cbf95672ab8df" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "206a2e03c765dce5e61107597cf821a472d47d04e0bd4aa0e17cbf95672ab8df" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "206a2e03c765dce5e61107597cf821a472d47d04e0bd4aa0e17cbf95672ab8df" - sha256 cellar: :any_skip_relocation, arm64_linux: "66dae02f6c9bc3a6cc01b690551892856e1351bd1acf99378705ac962c6a404e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "305ebb141d9d8213a32d1cc7acc70ef7dd93d7a395b2a2597569e11febaeb6c4" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "791ee9480c3501468b6cc7a845c38d79fdd2718efc176a74d19129243cc0f216" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "43b441a27d24fc48d52a83c4c53a50b8d733b8d83a43bad19e30d4af8e1743f0" + sha256 cellar: :any_skip_relocation, ventura: "12a1ee11006d1a43b992f7da3fa7e26f0b1e91c6c36790ee948018487679b721" + sha256 cellar: :any_skip_relocation, x86_64_linux: "53c7f7d6f75bc7a62c89a08005c1a9e55bb1446b4c456eea94dc0744ad206841" end depends_on "go" => :build @@ -23,6 +22,8 @@ def install test do assert_match version.to_s, shell_output("#{bin}/di-tui --version") - assert_match "Usage of", shell_output("#{bin}/di-tui --help 2>&1", 2) + + output = shell_output("#{bin}/di-tui --username USER --password PASSWORD 2>&1", 1) + assert_match "unable to reason API response", output end end diff --git a/Formula/d/discordo.rb b/Formula/d/discordo.rb deleted file mode 100644 index 0d6e109d8c..0000000000 --- a/Formula/d/discordo.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Discordo < Formula - desc "Lightweight, secure, and feature-rich Discord terminal client" - homepage "https://github.com/ayn2op/discordo" - url "https://github.com/ayn2op/discordo/archive/77f21369b4d258eaec590d8f1353b6812683829e.tar.gz" - version "unstable-2026-04-13" - sha256 "69751db8d3bec788ad76c8da01675315fad8201d3601fbb39349c1c3b4f266b3" - license "GPL-3.0-only" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fe7bb010bf96b8bbfd4032671e47e5075e81682222f46bb3536afc9156b22d80" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "817741731299521939b535d2adab94f31198268737969235d8722393a07fab43" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c15baddff3ce0c0fb6769c755b83825975d6255fc460bba8025f65f24d41bfba" - sha256 cellar: :any_skip_relocation, arm64_linux: "1366d5a29699ef1cdc424af268da4b95b0435111064387be2390de128e97a96f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f482eea7ac7e5779a502b56e1671525a302b370313647579ff5ed14fa8433565" - end - - depends_on "go" => :build - - on_linux do - depends_on "libx11" - end - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - # discordo is a TUI app, so just verify the binary runs - assert_match "config-path", shell_output("#{bin}/discordo --help 2>&1") - end -end diff --git a/Formula/d/distill.rb b/Formula/d/distill.rb deleted file mode 100644 index 24da6946b3..0000000000 --- a/Formula/d/distill.rb +++ /dev/null @@ -1,43 +0,0 @@ -class Distill < Formula - desc "Compress large CLI outputs into concise answers for LLMs" - homepage "https://github.com/samuelfaj/distill" - url "https://github.com/samuelfaj/distill/archive/4a3f17e365566be9c405be43ddc5142d90fcc643.tar.gz" - version "1.4.0" - sha256 "cb153d92ae9d0b9595383a2d11a15d4d07e72c4dcfd42a987832c1a218e4adb3" - license "MIT" - head "https://github.com/samuelfaj/distill.git", branch: "main" - - livecheck do - skip "no tagged releases" - end - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "244b1f1285df1578220b9e7fbb01ac04526862c90f994803ae689661992e5806" - end - - depends_on "chenrui333/tap/bun" => :build - depends_on "node" - - def install - bun = Formula["chenrui333/tap/bun"].opt_bin/"bun" - node = Formula["node"].opt_bin/"node" - - system bun, "build", "src/cli.ts", "--outfile", "distill.mjs", "--target=node" - - libexec.install "distill.mjs" - (bin/"distill").write <<~SH - #!/bin/bash - exec "#{node}" "#{libexec}/distill.mjs" "$@" - SH - end - - test do - assert_match version.to_s, shell_output("#{bin}/distill --version") - - set_output = shell_output("XDG_CONFIG_HOME=#{testpath} #{bin}/distill config provider ollama") - assert_equal "provider=ollama\n", set_output - assert_equal "ollama\n", shell_output("XDG_CONFIG_HOME=#{testpath} #{bin}/distill config provider") - assert_match "\"provider\": \"ollama\"", (testpath/"distill/config.json").read - end -end diff --git a/Formula/d/dnsforwarder.rb b/Formula/d/dnsforwarder.rb index 27c574ce98..f4ceae4bdd 100644 --- a/Formula/d/dnsforwarder.rb +++ b/Formula/d/dnsforwarder.rb @@ -5,17 +5,14 @@ class Dnsforwarder < Formula version "0.0.1" sha256 "c9d31f26db8b641ecd50c0ef02bd1dbfbdbd61842ca3bbb7dd853e24ef6f8e93" license "GPL-3.0-or-later" - revision 1 head "https://github.com/Kk-ships/dnsforwarder.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c620b2be0e5afcd3d40822803cb7bda1efe7bfbdcceea142cc1d384426ee2c77" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b1ff2a882fc7d864f95bebe8f79b0d068eb2b473d345d22ccc0a8f3ebf4de5f8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a762bb8595775f2e07f6bb8ef6da6b9cae924998d97a57a7751a5fa8210b0f06" - sha256 cellar: :any_skip_relocation, arm64_linux: "324dbedcfbf6b7e29464165bc9aaed349923300ebb4891ec560722d83d555c05" - sha256 cellar: :any_skip_relocation, x86_64_linux: "69144bb71475127ed167666bfaa1a2b514e4d7d32907f2654df9db164e2a823b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "7b38c839f46e92e303d31d579d2da39c0ac766c98780641b46b73bd63d15136c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6aa0f88da49f8afa4807a1001c2b7a53f938dd62f9a82812653eeb6c4029f316" + sha256 cellar: :any_skip_relocation, ventura: "30cbc2b131c5e1c2e36df23bd7e2525e3e0d19c422ff5b56d7cca108a26efab3" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2c3996b22df31abe8aa574a19d000ee0730e04b8339ae30c958570446996bb34" end depends_on "go" => :build diff --git a/Formula/d/docmd.rb b/Formula/d/docmd.rb new file mode 100644 index 0000000000..b40ddb43b0 --- /dev/null +++ b/Formula/d/docmd.rb @@ -0,0 +1,30 @@ +class Docmd < Formula + desc "Minimal Markdown documentation generator" + homepage "https://docmd.mgks.dev/" + url "https://registry.npmjs.org/@mgks/docmd/-/docmd-0.2.4.tgz" + sha256 "ae59d70963141befee3f9920831422066ac890778deb76a0e9b8bd378a1a5fc5" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "6da3af0ffdc96a9a9ea0b4a3e093df946460056629414b90d18cacc6a32ca4fc" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "878b4093259cfe46cd3febdc8a16733c223d27bd810d729024509ff7ab1703e5" + sha256 cellar: :any_skip_relocation, ventura: "a3552fac437ca76a0a1fc77564ed42ae9a4b4454b5a28cc0cd0d487e31205242" + sha256 cellar: :any_skip_relocation, x86_64_linux: "47fc3f74dcc22378688ea9ec161a2b962272ae0c5cd7732cf188233647301eed" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink Dir["#{libexec}/bin/*"] + end + + test do + assert_match version.to_s, shell_output("#{bin}/docmd --version") + + system bin/"docmd", "init" + assert_path_exists testpath/"config.js" + assert_match "title: \"Welcome\"", (testpath/"docs/index.md").read + end +end diff --git a/Formula/d/doit.rb b/Formula/d/doit.rb index 0137b3437d..16108372b4 100644 --- a/Formula/d/doit.rb +++ b/Formula/d/doit.rb @@ -3,16 +3,34 @@ class Doit < Formula desc "CLI task management & automation tool" homepage "https://pydoit.org/" - url "https://files.pythonhosted.org/packages/35/f6/3a817d438799bda4d4e5fd136175cf7c328c074fadc1422dec3b374907e7/doit-0.37.0.tar.gz" - sha256 "d3c72e0e46a8fa1ddabea8f830762402dee090caf33c30c2295ac7010db8f09c" + url "https://files.pythonhosted.org/packages/5a/36/66b7dea1bb5688ba0d2d7bc113e9c0d57df697bd3f39ce2a139d9612aeee/doit-0.36.0.tar.gz" + sha256 "71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "eeb1cfde14737d184cad2ef8cb262940d452ca9ff62a8700da52f6031400d3e0" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "4211d31f917e7edc18f665cddd2e0427c1c78490bb5d4ce27ba9203f502b6a04" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "2c9e576fb7bf6f7899e1e7641b812a50fc8d6f50d0b9a7c63b3e2255003540cb" + sha256 cellar: :any_skip_relocation, ventura: "c375e05df943a2048b32e5c059ab79917eebb8c33e3757a7adda55d84550d037" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7a4941aa344f927ddd8ae9f01aed29eeb6d6ee71b6bdb3ddfafcb066f70ea34f" end - depends_on "python@3.14" + depends_on "python@3.13" + + resource "cloudpickle" do + url "https://files.pythonhosted.org/packages/52/39/069100b84d7418bc358d81669d5748efb14b9cceacd2f9c75f550424132f/cloudpickle-3.1.1.tar.gz" + sha256 "b216fa8ae4019d5482a8ac3c95d8f6346115d8835911fd4aefd1a445e4242c64" + end + + resource "importlib-metadata" do + url "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz" + sha256 "d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000" + end + + resource "zipp" do + url "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz" + sha256 "2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4" + end def install virtualenv_install_with_resources diff --git a/Formula/d/dominds.rb b/Formula/d/dominds.rb deleted file mode 100644 index d405eb7921..0000000000 --- a/Formula/d/dominds.rb +++ /dev/null @@ -1,27 +0,0 @@ -class Dominds < Formula - desc "AI-driven DevOps framework with persistent memory" - homepage "https://github.com/longrun-ai/dominds" - url "https://registry.npmjs.org/dominds/-/dominds-1.20.5.tgz" - sha256 "5b633c56f0e85c89bae0fbf5868d605995085a83287564539c8e2a243b2f97dc" - license "LGPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "8108c837c20f0cc04218e160dddb99785bace21719550dd91d8abd07e32f138c" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/dominds --version") - - output = shell_output("#{bin}/dominds manual --list") - assert_match "Available toolsets:", output - assert_match "ws_read", output - end -end diff --git a/Formula/d/dory-cli.rb b/Formula/d/dory-cli.rb index d90bdfcf83..d54ef0bf84 100644 --- a/Formula/d/dory-cli.rb +++ b/Formula/d/dory-cli.rb @@ -1,24 +1,23 @@ class DoryCli < Formula desc "Lightweight static site generator for technical documentation" homepage "https://docucod.com/" - url "https://registry.npmjs.org/@clidey/dory/-/dory-0.47.0.tgz" - sha256 "bcd5d9c9dbeb7f762fab64edc4accaa695022fb7ef22b828bd7a493aff26bfd9" + url "https://registry.npmjs.org/@clidey/dory/-/dory-0.22.0.tgz" + sha256 "d96516a382ae81c6fcddbc2db42e5af979d7ba54cd66433576ddd20900047011" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "690d00e81d57df0dce1fe2210960ddaa6136f375996b49a6f53589d7759e9e55" - sha256 cellar: :any, arm64_sequoia: "992cf7154c90e25cb72f54d37c97900a1cf3f1b8004d93b12ed352d0e734ede6" - sha256 cellar: :any, arm64_sonoma: "992cf7154c90e25cb72f54d37c97900a1cf3f1b8004d93b12ed352d0e734ede6" - sha256 cellar: :any_skip_relocation, arm64_linux: "e63129ae1fd55f041ca78a9ccb31a9c422c02cdd3e3c2f87b2717bfcfd6fba34" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4cf9364f34b86544f13b732a970808a002e59e8f9b8b54ea1ca75e64bda5ac6f" + sha256 arm64_sequoia: "bcde0f63e7d71481c4f00691b281597e2e6ae47e52496ec589b23dcaf80deb35" + sha256 arm64_sonoma: "1aac38bb75cfc9917daac4ba7abcf34ec2832da8ae2a13444b97e1b0c53d7b97" + sha256 ventura: "148c0b357acef90ca4dcdac4337bce185201d29d2584cc2176e1795bfd151d98" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b14521299192932117d34d3c84525426c175e3c3d47a5cbf6d503d7451458f62" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] if OS.linux? (libexec/"lib/node_modules/@clidey/dory/node_modules") diff --git a/Formula/d/dotbins.rb b/Formula/d/dotbins.rb deleted file mode 100644 index 0b4753e260..0000000000 --- a/Formula/d/dotbins.rb +++ /dev/null @@ -1,86 +0,0 @@ -class Dotbins < Formula - include Language::Python::Virtualenv - - desc "TUI typing trainer inspired by monkeytype with a focus on customization" - homepage "https://github.com/basnijholt/dotbins" - url "https://files.pythonhosted.org/packages/9e/9c/a83160159d3617d0882e802bf8965e7cf4242bfc2cf3677de5fd462942d9/dotbins-2.10.1.tar.gz" - sha256 "c358792ff7c28f46310789e174431e5207d082124b7ce0c5b70514816e483e9b" - license "Apache-2.0" - head "https://github.com/basnijholt/dotbins.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "400117f1a942f41561eb912f37ae44a00a5236984e5ebf4b887c880a460ccae2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8a1b9cc8b5ee37f493b5e8bcf9d12d4470c557c259dc70ae00cbae900c5e77e3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "91c82970e21783fc3ab98ba0a28fd6b35223cd9e74d5ef1d30f45aff331b86aa" - sha256 cellar: :any_skip_relocation, arm64_linux: "287cf3d680d8607c34e9098ed29805adea5601fbd4df4103ded7a445f75a6ccd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6aead52bb82e35a9b1846556e6f324b362a6ff62e5662982b958594a36d4bd47" - end - - depends_on "certifi" => :no_linkage - depends_on "libyaml" - depends_on "python@3.14" - - pypi_packages exclude_packages: "certifi" - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz" - sha256 "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz" - sha256 "18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" - sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - end - - resource "rich-argparse" do - url "https://files.pythonhosted.org/packages/4c/f7/1c65e0245d4c7009a87ac92908294a66e7e7635eccf76a68550f40c6df80/rich_argparse-1.7.2.tar.gz" - sha256 "64fd2e948fc96e8a1a06e0e72c111c2ce7f3af74126d75c0f5f63926e7289cd1" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/dotbins version") - - output = shell_output("#{bin}/dotbins list") - assert_match "⚠️ No configuration file found, using default settings", output - end -end diff --git a/Formula/d/dotr.rb b/Formula/d/dotr.rb deleted file mode 100644 index c7d678a43a..0000000000 --- a/Formula/d/dotr.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Dotr < Formula - desc "Dotfiles manager that is as dear as a daughter" - homepage "https://github.com/uroybd/DotR" - url "https://github.com/uroybd/DotR/archive/refs/tags/v1.0.3.tar.gz" - sha256 "b1f87c457d1193a26983625febe271265a118e770d8b8b231614d9e341311fe5" - license "MIT" - head "https://github.com/uroybd/DotR.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2f78f9b9b2e9538ba7e15abd0bcde89e7a85d4bbd107e6c7dc8e1aa0d786ca57" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "97ae0db45d59a9a922c2f3c5241489202ecebb64a264f7858877f947d4928691" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2753da252000f5c8ce74731e55d8a32e1dfe66a479f4a12e478194ebd00dcc06" - sha256 cellar: :any_skip_relocation, arm64_linux: "e85442b481a6e725602bb1d8870cb4d02b8f5284502134db68ea847c2f384424" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0db22c4c553292a7d05b6bc6d2aee3e563ceccb8366f0cd0e7a765064e6ced05" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/dotr --version") - - system bin/"dotr", "init" - assert_path_exists testpath/"config.toml" - assert_path_exists testpath/".gitignore" - end -end diff --git a/Formula/d/dotstate.rb b/Formula/d/dotstate.rb deleted file mode 100644 index 2706e4674d..0000000000 --- a/Formula/d/dotstate.rb +++ /dev/null @@ -1,49 +0,0 @@ -class Dotstate < Formula - desc "Modern and secure dotfile manager" - homepage "https://dotstate.serkan.dev" - url "https://github.com/serkanyersen/dotstate/archive/refs/tags/v0.3.2.tar.gz" - sha256 "f571b8582d67931d0eea41763b86ce8ed6c8c577d26902c42e59d19008eb80c3" - license "MIT" - head "https://github.com/serkanyersen/dotstate.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "dddba082fc2d6da2565ade06e44ae8f8f5a3fc1896658b2d2d2a350d90041f65" - sha256 arm64_sequoia: "f365a71607e6714a9ba435ae0653e12b88d37d79ec1756b46afc96eeb34ced66" - sha256 arm64_sonoma: "aa90f1d2ee03ba3e0e3942b6ab36d6aee2708e98f81842d97efa528a7dbcde74" - sha256 cellar: :any_skip_relocation, arm64_linux: "3168c9740dc23a9aa02e0573172003535be6c82010719c9982df8f2aaa5fb2c6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "354cdddde50ff0452614a37091cbe06b8cdb87e96c0a973fe184e661919813a7" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "openssl@3" - - on_linux do - depends_on "zlib-ng-compat" - end - - def install - system "cargo", "install", *std_cargo_args - generate_completions_from_executable(bin/"dotstate", "completions") - end - - test do - repo = testpath/".config/dotstate/storage" - repo.mkpath - (repo/".dotstate-profiles.toml").write <<~TOML - version = 2 - - [common] - synced_files = [] - - [[profiles]] - name = "default" - synced_files = [] - packages = [] - TOML - - assert_match version.to_s, shell_output("#{bin}/dotstate --version") - assert_match "No files are currently synced", shell_output("#{bin}/dotstate list") - end -end diff --git a/Formula/d/drft.rb b/Formula/d/drft.rb deleted file mode 100644 index ea80ef5a2d..0000000000 --- a/Formula/d/drft.rb +++ /dev/null @@ -1,46 +0,0 @@ -class Drft < Formula - desc "Diff re/viewer, file tree" - homepage "https://codeberg.org/nightsail/drft" - url "https://codeberg.org/nightsail/drft/archive/1.1.0.tar.gz" - sha256 "f1f67e9890d1d9e22f232dc06e96df4fcb4f570566377c3d356711083d9658be" - license "BSD-3-Clause" - head "https://codeberg.org/nightsail/drft.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "055806d388887a57a8bd35e1bcb5a014d58e8dce23c249923c9c649f7918d107" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "472c9f7fa5850244f2a5338934cef20c0267f9efe37ccbfb9267da4ad4e690c3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b9991c950d0717883de61e6cbe4398af31f7ce3e6b720d61a937dfbe94ba2fc7" - sha256 cellar: :any_skip_relocation, arm64_linux: "933bda2b20e28ad36c5f4b392a60e1971abbc1ace5b8d8ff74ac205bf24f449c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ae6f8df69548dafe2d3da11c15edc45bcd3fb8c7cbe32937c35b5e8715a0474d" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # failed with Linux CI, `code: 6, kind: Uncategorized, message: \"No such device or address\"` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - (testpath/"diff.patch").write <<~EOS - --- a/file.txt - +++ b/file.txt - @@ -1 +1 @@ - -Hello, world! - +Hello, Homebrew! - EOS - - output_log = testpath/"output.log" - pid = spawn bin/"drft", "diff.patch", [:out, :err] => output_log.to_s - sleep 1 - assert_match "+Hello, Homebrew", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/d/dstp.rb b/Formula/d/dstp.rb new file mode 100644 index 0000000000..13ffe50ca2 --- /dev/null +++ b/Formula/d/dstp.rb @@ -0,0 +1,26 @@ +class Dstp < Formula + desc "Run common networking tests against your site" + homepage "https://github.com/ycd/dstp" + url "https://github.com/ycd/dstp/archive/refs/tags/v0.4.23.tar.gz" + sha256 "1ab45012204cd68129fd05723dd768ea4a9ce08e2f6c2fa6468c2c88ab65c877" + license "MIT" + head "https://github.com/ycd/dstp.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "b82667d3f17e60670e89e610ba39ce374c093b53f81a5a04e53711b9efc43166" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "3c67377bb3c96e0a6718b660b2ea481a83cd22ce42315fd54dc16525d08cea54" + sha256 cellar: :any_skip_relocation, ventura: "ef17df1272cbfbcf710aee30507657c482e70aae5106732dd73b0f6742f642ae" + sha256 cellar: :any_skip_relocation, x86_64_linux: "dc13245fb0fd7a5875e16a8c01f804dbd0dc8a07178926228db936501905aebf" + end + + depends_on "go" => :build + + def install + system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/dstp" + end + + test do + assert_match "HTTPS: got 200 OK", shell_output("#{bin}/dstp example.com --dns 1.1.1.1") + end +end diff --git a/Formula/d/dtop.rb b/Formula/d/dtop.rb deleted file mode 100644 index de02a6323b..0000000000 --- a/Formula/d/dtop.rb +++ /dev/null @@ -1,149 +0,0 @@ -class Dtop < Formula - include Language::Python::Virtualenv - - desc "High-performance TUI for Docker container management" - homepage "https://stakesquid.com/" - url "https://files.pythonhosted.org/packages/38/98/695c2ee5bb375a21ec072c2dc7d01f8d8e2f662b24c3791d438331702c78/dtop-2.3.5.tar.gz" - sha256 "4fac2146484faf87b86951ef9d3ff0c13d726a9b8fe077607d84d1d195338572" - license "MIT" - head "https://github.com/StakeSquid/dtop.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5ea1e635b00337cb05b6c19a717ff976094c14f13466593494c016fb1a45e52c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1442429e54002a941980d6907c7da4ef8b3bf8aee70be1d36862f702fa8602a8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "53be00db2bedf98990a899c6fe2c9b77854606efc5c205b3772c5ac67f0a6607" - sha256 cellar: :any_skip_relocation, sequoia: "b9745504f04247fbe61c5b582384e011149422d38ec97d86c2d594a9fe2cfa93" - sha256 cellar: :any_skip_relocation, arm64_linux: "46b116eb2d4c56e4b0691470489591338713e5995cd0eb67cbb7a9c64749c0b3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1be5d0debae38b008baa37d749971372231aa4c8584959c60df3c12c179ffd03" - end - - depends_on "certifi" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: "certifi", - extra_packages: "aiohttp" - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz" - sha256 "a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz" - sha256 "1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6" - end - - resource "docker" do - url "https://files.pythonhosted.org/packages/91/9b/4a2ea29aeba62471211598dac5d96825bb49348fa07e906ea930394a83ce/docker-7.1.0.tar.gz" - sha256 "ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c" - end - - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" - sha256 "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/72/23/8c709655c5f2208ee82ab81b8104802421865535c278a7649b842b129db1/textual-8.1.1.tar.gz" - sha256 "eef0256a6131f06a20ad7576412138c1f30f92ddeedd055953c08d97044bc317" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "yarl" do - url "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" - sha256 "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match "Docker", shell_output("#{bin}/dtop --help") - end -end diff --git a/Formula/d/dumper.rb b/Formula/d/dumper.rb deleted file mode 100644 index 2931a86224..0000000000 --- a/Formula/d/dumper.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Dumper < Formula - desc "CLI utility for creating database backups" - homepage "https://elkirrs.github.io/dumper/" - url "https://github.com/elkirrs/dumper/archive/refs/tags/v1.17.0.tar.gz" - sha256 "c6c80041434b24a61448a609193d411930b2243cb9b1047481620fc7be9c6410" - license "MIT" - head "https://github.com/elkirrs/dumper.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "85406c197dfb957ea32ae01b5b7ba3d43352a5055c48a0e1d5270a9975e352a6" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "85406c197dfb957ea32ae01b5b7ba3d43352a5055c48a0e1d5270a9975e352a6" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "85406c197dfb957ea32ae01b5b7ba3d43352a5055c48a0e1d5270a9975e352a6" - sha256 cellar: :any_skip_relocation, arm64_linux: "ca4b5dac2f151c6878b6c2228935c5001227d5ef6a65fd653e4ef35b4f2ab9e6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2357d2bf02747c95715a8c22cca20ee30e8d62db7e16d968ea0f75460adc2a0f" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd" - end - - test do - assert_match version.to_s, shell_output("#{bin}/dumper --version") - cmd = "#{bin}/dumper -config ./notfound.yaml -all=true 2>&1" - assert_match "configuration loading error", shell_output(cmd, 1) - end -end diff --git a/Formula/d/duster.rb b/Formula/d/duster.rb index a93b4b56c1..516ad672b6 100644 --- a/Formula/d/duster.rb +++ b/Formula/d/duster.rb @@ -1,13 +1,16 @@ class Duster < Formula desc "Automatic configuration for Laravel apps" homepage "https://github.com/tighten/duster" - url "https://github.com/tighten/duster/archive/refs/tags/v3.4.2.tar.gz" - sha256 "ab5519158209deb4ab4b60bf41ec349a18cb5d3ef7941e3746074013d3231185" + url "https://github.com/tighten/duster/archive/refs/tags/v3.2.0.tar.gz" + sha256 "c912d7e241dfcf144504b72f6bbb4a27e535693bdde6ecefcf84dc68acaf88e6" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "d4b2afa38e0645639618e83a1373658b995859632ce9e358f32ae14ea33fd3ea" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "63d87695509851daaba4f3230470112d06ae1c21717f1a6338ba1406fdd19311" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "eeeea84772638e16e905e3ab5719157fb07719ef48dbeb7889494a2a22368839" + sha256 cellar: :any_skip_relocation, ventura: "5d81caa653fe9f2cb516c534005b127b079702bc69b2813d73ec8d3b64d7e01b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "985f82bf8f865c5feb1cd76313ddfd35df42b7346beffb7a40b7297024a0fec7" end depends_on "php" @@ -18,9 +21,7 @@ def install end test do - # version fix PR, https://github.com/tighten/duster/pull/188 - # assert_match version.to_s, shell_output("#{bin}/duster --version") - system bin/"duster", "--version" + assert_match version.to_s, shell_output("#{bin}/duster --version") (testpath/"index.php").write <<~PHP :build - depends_on "node" - - def install - inreplace "package.json", '"version": "0.1.0"', "\"version\": \"#{version}\"" - - system "npm", "install", "--include=dev", *std_npm_args(prefix: false, ignore_scripts: false) - system "bun", "run", "build" - system "npm", "install", *std_npm_args - - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/dustoff --version") - - (testpath/"demo/node_modules/foo").mkpath - (testpath/"demo/node_modules/foo/index.js").write "module.exports = 1;\n" - - ENV["TERM"] = "xterm-256color" - cmd = if OS.mac? - "sh -c '(sleep 2; printf q) | script -q /dev/null " \ - "#{bin}/dustoff --directory #{testpath}/demo --target node_modules'" - else - "sh -c '(sleep 2; printf q) | script -q -c " \ - "\"#{bin}/dustoff --directory #{testpath}/demo --target node_modules\" /dev/null'" - end - - output = shell_output(cmd) - assert_match(/\e\[2J/, output) - assert_operator output.bytesize, :>, 100 - end -end diff --git a/Formula/d/dvm.rb b/Formula/d/dvm.rb index 099f7267fc..cb8d72c394 100644 --- a/Formula/d/dvm.rb +++ b/Formula/d/dvm.rb @@ -7,12 +7,10 @@ class Dvm < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fd38b1c7bc1f064095856267472166798aa867cddf60d82c5aed6d23e43b197e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "484f96e1f39844566bbcf97788cdbcd2b802b44ac4199eaa561650ec30f81355" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8d73ff5be88bafe6763e6b2e740e4143314fbe9b915c8f729bd7db615ea041d9" - sha256 cellar: :any_skip_relocation, arm64_linux: "2e1ef5160e83890f2cea3b1e98a6d02a767f7c8abd8bdcea7d18545a167de57c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4082076f29acbcaf03cd78733ae4ae443d66b64004bf1d3e711c1660deb2504e" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ef61b1766f3e3a4b0b4c1cb820c719f90934dc170ae506bd81bb53a36d4e2ebd" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "1158fc53f4de65792078574a45496e159ebb6b05b353c355db222143d262c281" + sha256 cellar: :any_skip_relocation, ventura: "daa0d1c9bdfd0afe75b98885efe83669d841adea0e343fab8b42c3e26509c62d" + sha256 cellar: :any_skip_relocation, x86_64_linux: "6b066142ea84a0c696b8a2fa198b2765d86bd24f5332d1ff6fa351921d1205f8" end depends_on "pkgconf" => :build @@ -29,10 +27,13 @@ def install end test do - output = shell_output("#{bin}/dvm info") - assert_match "dvm #{version}", output - assert_match(/^deno\s+\S+$/, output.lines[1].chomp) - assert_match "dvm root #{Dir.home}/.dvm", output + ENV["HOME"] = testpath + + assert_match <<~EOS, shell_output("#{bin}/dvm info") + dvm #{version} + deno - + dvm root #{testpath}/.dvm + EOS assert_match version.to_s, shell_output("#{bin}/dvm --version") end diff --git a/Formula/d/dxt.rb b/Formula/d/dxt.rb index f6a7fcea08..693d9d02f1 100644 --- a/Formula/d/dxt.rb +++ b/Formula/d/dxt.rb @@ -17,7 +17,7 @@ class Dxt < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/e/e2c.rb b/Formula/e/e2c.rb deleted file mode 100644 index 58c1e3c6a6..0000000000 --- a/Formula/e/e2c.rb +++ /dev/null @@ -1,40 +0,0 @@ -class E2c < Formula - desc "TUI application for managing AWS EC2 instances" - homepage "https://github.com/nlamirault/e2c" - url "https://github.com/nlamirault/e2c/archive/refs/tags/v0.5.0.tar.gz" - sha256 "305211335f7c1cdebfcca8ed0fe51028c28e015f5ad17453cde33d1da5f76381" - license "Apache-2.0" - head "https://github.com/nlamirault/e2c.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1c89cbafb51dda52fb0189c4b775746d6ab74b166566abbdb488c511a9d81372" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1c89cbafb51dda52fb0189c4b775746d6ab74b166566abbdb488c511a9d81372" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1c89cbafb51dda52fb0189c4b775746d6ab74b166566abbdb488c511a9d81372" - sha256 cellar: :any_skip_relocation, arm64_linux: "5456832f56e3f53f7f8f67d6fcb48c9fe4b24729c20f9504f51376145ce33139" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8825cd2ff25c4707526ce9ce657b0b9d60cf687e5c1a963326b75f24277d3208" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/nlamirault/e2c/internal/version.Version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/e2c" - - generate_completions_from_executable(bin/"e2c", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/e2c --version") - - begin - output_log = testpath/"output.log" - pid = spawn bin/"e2c", [:out, :err] => output_log.to_s - sleep 1 - assert_match "No config file found, using defaults", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/e/eas-cli.rb b/Formula/e/eas-cli.rb index df725be337..58e97edc92 100644 --- a/Formula/e/eas-cli.rb +++ b/Formula/e/eas-cli.rb @@ -1,20 +1,23 @@ class EasCli < Formula desc "Fastest way to build, submit, and update iOS and Android apps" homepage "https://docs.expo.dev/eas/" - url "https://registry.npmjs.org/eas-cli/-/eas-cli-18.8.1.tgz" - sha256 "d27e08c1174cae54f273843a4ffc7f2adac1b4f40b290dc89202f0220501f7b2" + url "https://registry.npmjs.org/eas-cli/-/eas-cli-16.18.0.tgz" + sha256 "5353648ba2fa8c76534f0608a0754d30f0b5b7178cb0cff23c5dc8b8d9c93312" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "a74b40f3c3ec4606099b86374ee882dab69ea2484c869c0e9c1684e40595aa91" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ec6ad34015f252281b161ca599f948d6b0039c8730189d73cdb098ee2fdc6eba" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "25dda57a3f129101c9b9e291836b81af0b2f4ced4062498cf2fe9b70a878c2b2" + sha256 cellar: :any_skip_relocation, ventura: "fa9400a2cadde9308511b1b6b9a9d5128cf1c70da8c5182b595728cfa5bef9bf" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ea2bec6d536598f094999f81358b2ed60a529e9c132b1a1b2b9543b952b0fdfd" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/e/easy-llm-cli.rb b/Formula/e/easy-llm-cli.rb deleted file mode 100644 index 5cd9adee8d..0000000000 --- a/Formula/e/easy-llm-cli.rb +++ /dev/null @@ -1,24 +0,0 @@ -class EasyLlmCli < Formula - desc "Open-source AI agent that is compatible with multiple LLM models" - homepage "https://github.com/ConardLi/easy-llm-cli" - url "https://registry.npmjs.org/easy-llm-cli/-/easy-llm-cli-0.1.12.tgz" - sha256 "0efb2e44ed9644570a290a107a87655d669824d458b26b0f5a3fbfea57317ef6" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "c8da67128eb77c7c9df5b3b9f981bc4cb0b95c16ee5ad97bb45225a32cad35e0" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/elc --version") - assert_match "Data collection is disabled", shell_output("#{bin}/elc --list-extensions") - end -end diff --git a/Formula/e/ec.rb b/Formula/e/ec.rb deleted file mode 100644 index a38fbb95d6..0000000000 --- a/Formula/e/ec.rb +++ /dev/null @@ -1,48 +0,0 @@ -class Ec < Formula - desc "Terminal-native 3-way Git conflict resolver" - homepage "https://github.com/chojs23/ec" - url "https://github.com/chojs23/ec/archive/refs/tags/v0.3.2.tar.gz" - sha256 "348d264be5380b909fbe49b145ad882f479c17ef9babbcf753b80c2b8ffb643e" - license "MIT" - head "https://github.com/chojs23/ec.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "436340fb60a4f386d64627225513f651a804da51b9599e4d1c60517f4cceb3ed" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "436340fb60a4f386d64627225513f651a804da51b9599e4d1c60517f4cceb3ed" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "436340fb60a4f386d64627225513f651a804da51b9599e4d1c60517f4cceb3ed" - sha256 cellar: :any_skip_relocation, arm64_linux: "40f937a86eafd13129e5e21c2f8b8c5c0e94fc6b3fccd54697bb8000981aa191" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d06f8a19b989bdd9af4708918c7d88da8c69b75c07c52616171d59dd2f09b7c5" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=v#{version}" - system "go", "build", *std_go_args(ldflags:, output: bin/"ec"), "./cmd/ec" - end - - test do - assert_match "v#{version}", shell_output("#{bin}/ec --version") - - (testpath/"base.txt").write <<~EOS - line 1 - base - EOS - (testpath/"local.txt").write <<~EOS - line 1 - ours - EOS - (testpath/"remote.txt").write <<~EOS - line 1 - theirs - EOS - - merged = testpath/"merged.txt" - merge_cmd = "git merge-file -p #{testpath/"local.txt"} #{testpath/"base.txt"} #{testpath/"remote.txt"}" - merged.write shell_output(merge_cmd, 1) - - system bin/"ec", "--apply-all", "ours", testpath/"base.txt", testpath/"local.txt", testpath/"remote.txt", merged - assert_equal (testpath/"local.txt").read, merged.read - end -end diff --git a/Formula/e/ecscope.rb b/Formula/e/ecscope.rb deleted file mode 100644 index 9813dc437e..0000000000 --- a/Formula/e/ecscope.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Ecscope < Formula - desc "Monitor AWS ECS resources from the terminal" - homepage "https://tools.dhruvs.space/ecscope/" - url "https://github.com/dhth/ecscope/archive/refs/tags/v0.4.0.tar.gz" - sha256 "23192359513f5632ff25ce38a1ea97173a74278add0a295b39734e83f14f05c4" - license "MIT" - head "https://github.com/dhth/ecscope.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c030ce5494c3e3824d9e06e19f3f75e5874d954f352749e46581ddb1cbea726f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c87675265ae48ab7101decd5c70455c24c1739e71e6b3e26aeefdfaf257ef9b0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0921b69eec60be939f08ec3e2e49d9960085d23b65b1e668fd7d2565b1a4c907" - sha256 cellar: :any_skip_relocation, arm64_linux: "36051d86afd99a1bd4f4809bbc6fd8c58055756a143d81fc9e7b418ea1c5f36c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "853cd4fb4237ca114f5db5bb214b702981260fca9eb6118baccd95fb7298bb66" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # no version command - assert_match "ecscope lets you monitor AWS ECS resources from the terminal", shell_output("#{bin}/ecscope --help") - - ENV["AWS_ACCESS_KEY_ID"] = "testing" - ENV["AWS_SECRET_ACCESS_KEY"] = "testing" - - assert_empty shell_output("#{bin}/ecscope profiles list") - end -end diff --git a/Formula/e/eilmeldung.rb b/Formula/e/eilmeldung.rb deleted file mode 100644 index b62b44a5b4..0000000000 --- a/Formula/e/eilmeldung.rb +++ /dev/null @@ -1,59 +0,0 @@ -class Eilmeldung < Formula - desc "Feature-rich TUI RSS reader" - homepage "https://github.com/christo-auer/eilmeldung" - url "https://github.com/christo-auer/eilmeldung/archive/refs/tags/1.4.4.tar.gz" - sha256 "63cee4e949518b32f3f30d4c12909ba256715d77308eca8691343a51d24da67c" - license "GPL-3.0-or-later" - head "https://github.com/christo-auer/eilmeldung.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "061cca4865f6efd679dc6ba7d27a9345c09ab02e596c00653c14d06e2e9adc3b" - sha256 arm64_sequoia: "04c68c3cb53c4da989bdbdfbaf1858542bafb983ba97c3ac082939c9da340a2c" - sha256 arm64_sonoma: "0092acdc0d48d3021bc1a1d8ad76e1f6fee377238d4ba44988291288a7ab830c" - sha256 cellar: :any_skip_relocation, arm64_linux: "8efe85964ff484acfc8cf7ddecca83c9a975c55a7e6680ec04a466a29f4aa4dc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f9336b473516b8cda82b396d9b3abf8739da475ef348e1ef410600187ff7c955" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "libxml2" - depends_on "openssl@3" - depends_on "sqlite" - - on_linux do - depends_on "llvm" => :build - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - require "pty" - require "timeout" - - assert_match version.to_s, shell_output("#{bin}/eilmeldung --version") - - output = +"" - PTY.spawn({ "HOME" => testpath.to_s, "TERM" => "xterm-256color", "XDG_CONFIG_HOME" => testpath.to_s }, - (bin/"eilmeldung").to_s) do |r, w, _pid| - Timeout.timeout(15) do - loop do - output << r.readpartial(1024) - next if output.exclude?("Welcome") || output.exclude?("Provider") - - w.write("\u0003") - break - end - - loop { output << r.readpartial(1024) } - rescue EOFError, Errno::EIO - nil - end - end - - assert_match "Welcome", output - assert_match "Provider", output - end -end diff --git a/Formula/e/elastop.rb b/Formula/e/elastop.rb index eb3c69c2f0..13070bcbd9 100644 --- a/Formula/e/elastop.rb +++ b/Formula/e/elastop.rb @@ -4,17 +4,14 @@ class Elastop < Formula url "https://github.com/acidvegas/elastop/archive/refs/tags/v1.0.5.tar.gz" sha256 "d97517b9ca1f085972020a085ce51fb087afa4fc24c367952acc7dc02aa4105b" license "ISC" - revision 1 head "https://github.com/acidvegas/elastop.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b67ef016e584156b41e1d243fc1ce5d55933906095c704f37d05cbac28b515f4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b67ef016e584156b41e1d243fc1ce5d55933906095c704f37d05cbac28b515f4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b67ef016e584156b41e1d243fc1ce5d55933906095c704f37d05cbac28b515f4" - sha256 cellar: :any_skip_relocation, arm64_linux: "2656c74b66ba8861ae9128656dfdc5c3d08c8c724ca986631270f8a6f27c59d6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "74633176205d935a845abe8c6282d2a20b2e90683bc9119e707e67ea1b949ea3" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "fc2c8e8f926f49d966dc86eca4fe573c9e9195525f5ee906c1530b925c6acd99" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d3424d31a2be9527b97cd9f4ed76ddc34878dcd5b9a8e012815af98c4f194921" + sha256 cellar: :any_skip_relocation, ventura: "c3e596a8314f4608fd0d0f0ff0afb05b1e899b87a994cb0cf4bad348b1ccb9fc" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e3e05c857c6de3ae3f9b16bc4e194c84f184299e3e228d3f06f105cbccefa1aa" end depends_on "go" => :build diff --git a/Formula/e/emoj.rb b/Formula/e/emoj.rb index 688e1f534b..5c8c6547a4 100644 --- a/Formula/e/emoj.rb +++ b/Formula/e/emoj.rb @@ -1,16 +1,16 @@ class Emoj < Formula desc "Find relevant emoji from text on the command-line" homepage "https://github.com/yeoman/emoj" - url "https://registry.npmjs.org/emoj/-/emoj-4.2.0.tgz" - sha256 "14901233fcf52543cd51bf4a6355a7ada69afdd8212a004fa90ea75b17d26383" + url "https://registry.npmjs.org/emoj/-/emoj-4.1.0.tgz" + sha256 "18ef4b06e9ab7dff8dfb15257bf6e9110d3c6842fa0285728d9e4e3c0a0ad298" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "98a6984b2ca15a444d0b47a0abe6ef88489f343b6fc95fd981c5341f0d606255" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0339c1e94af5f3eb9b6654494b972c6ab849384cf7a7dbacbc92ef906a951759" - sha256 cellar: :any_skip_relocation, ventura: "2e7fdc05733738d8542be01522914283035316aef808cfae22b9c441c440326f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "12f79b7cecd53098f8467bead2caf2eb25bd160f1b447a81e9ca2aeb6ddf7d3a" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "8dc3fa3b0f4251f4d20886334a9bbe160b195e3ecc4d3af475c5a33ebbf0daa9" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a3a9a0f4c4c76caafa319e4238e4fe49175ef44b3c8eeafc08af0c155f5e67d0" + sha256 cellar: :any_skip_relocation, ventura: "1ea4d68ffdf59c8d2b26d7878ac5240c4ab04f8cc3e240f0d68ec70bcc0a7ca2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9b32b443c969b5cc8f13f504eda6380244793320e037d82dc655ee66a7f54ea9" end depends_on "node" diff --git a/Formula/e/enola.rb b/Formula/e/enola.rb index 91228c5dda..35536d24e5 100644 --- a/Formula/e/enola.rb +++ b/Formula/e/enola.rb @@ -5,16 +5,14 @@ class Enola < Formula url "https://github.com/TheYahya/enola/archive/refs/tags/v0.4.0.tar.gz" sha256 "3d1e08662a2a535773379b24d40c542fac406318c8ea6db6d6c191dfd0f2f703" license "MIT" - revision 1 head "https://github.com/TheYahya/enola.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "27663b53671a37eef8fdaa75d859a2833fe236afd02e9bcddffe70cc8cfbe96f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "27663b53671a37eef8fdaa75d859a2833fe236afd02e9bcddffe70cc8cfbe96f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "27663b53671a37eef8fdaa75d859a2833fe236afd02e9bcddffe70cc8cfbe96f" - sha256 cellar: :any_skip_relocation, arm64_linux: "fa880e5628fd7da963bdef79f081b9a4d7a2ec4d71f95b998c19fc8615d75c57" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0688efec3d683cb5e82da5745e2b71914da3927b2daf5ca99aed0d96c3ea5404" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "23382c32502d3d9ee50f94fdffd0122a2317b284d56a3b126b488460a725921a" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "bf73baccb70013d30365abeba638735d47f7bd53f4cf8f6fffb6bf75169b4f42" + sha256 cellar: :any_skip_relocation, ventura: "9042ae5adb7990a0cdacb335b96502a3f975f5e2f40c3759c3f5fd626d60745f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "051c8cba44f3a7866970fc9bbb2045ecd5490226b0588cc8be216b111a1d979b" end depends_on "go" => :build diff --git a/Formula/e/enry.rb b/Formula/e/enry.rb index 2f788827e9..1fb8cf86db 100644 --- a/Formula/e/enry.rb +++ b/Formula/e/enry.rb @@ -4,16 +4,14 @@ class Enry < Formula url "https://github.com/go-enry/enry/archive/refs/tags/v1.3.0.tar.gz" sha256 "39058e160b27828eceadaf374bfb380434acdcf8857da4a0b3e3600c1d136cac" license "Apache-2.0" - revision 1 head "https://github.com/go-enry/enry.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a8308f978a1b231d2966eada20f716d87a5362966e827870fbad35dee558d726" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a8308f978a1b231d2966eada20f716d87a5362966e827870fbad35dee558d726" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a8308f978a1b231d2966eada20f716d87a5362966e827870fbad35dee558d726" - sha256 cellar: :any_skip_relocation, arm64_linux: "71b63fb25b3f829f58b7e67d19526c733c8f2cb7b1b6508bea5b91d2f1650232" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b24e0c16a52b3479d9bb93a90b00f8b3d96e608d951b053435738c7f98b14104" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9d4b4122bad5b7dd5f52aec3fd1496eea4f523ae6142997d1c2f4dc8ab487d5c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "915adaf0cf0a1d9744ad238639e76098337af96e9fa8bc61b1b47a6067367174" + sha256 cellar: :any_skip_relocation, ventura: "68a1c5aa23e62f72dc92b1b95058eb603d34682b2bd4e32a4fd4cf3b93e8182c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "88bc7612e1d31883553e890ae7c2e880136c93f7429da16d8493e61df7b6e8cb" end depends_on "go" => :build diff --git a/Formula/e/envdiff.rb b/Formula/e/envdiff.rb deleted file mode 100644 index 88adf794b2..0000000000 --- a/Formula/e/envdiff.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Envdiff < Formula - desc "Tool to snapshot and diff environments" - homepage "https://github.com/GBerghoff/envdiff" - url "https://github.com/GBerghoff/envdiff/archive/refs/tags/v0.2.0.tar.gz" - sha256 "604cef7dbfa1d9639751b102c6b44a505dc8a1602de22bd18566fcbcb7a0eb20" - license "MIT" - head "https://github.com/GBerghoff/envdiff.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "93c5319dda3dbe3c6b95f3c30874657852ad95d395935834e33182dc0409217f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "93c5319dda3dbe3c6b95f3c30874657852ad95d395935834e33182dc0409217f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "93c5319dda3dbe3c6b95f3c30874657852ad95d395935834e33182dc0409217f" - sha256 cellar: :any_skip_relocation, arm64_linux: "4798ad52db555e80ec698065eeb800f2f55cf9c447bdf39cf16b96057378c64f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "eab84266bab4a6e2dea1bd0d68f1bfeb160fb3923639a583d8e09fb4da71379b" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/envdiff" - end - - test do - assert_match version.to_s, shell_output("#{bin}/envdiff --version") - - system bin/"envdiff", "init" - assert_path_exists testpath/"envdiff.yaml" - - system bin/"envdiff", "snapshot", "-o", "snapshot.json" - assert_path_exists testpath/"snapshot.json" - - output = shell_output("#{bin}/envdiff render snapshot.json") - assert_match "SYSTEM", output - assert_match "RUNTIME", output - end -end diff --git a/Formula/e/envfetch.rb b/Formula/e/envfetch.rb deleted file mode 100644 index d77dbd19c4..0000000000 --- a/Formula/e/envfetch.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Envfetch < Formula - desc "Lightweight cross-platform CLI tool for working with environment variables" - homepage "https://github.com/ankddev/envfetch" - url "https://github.com/ankddev/envfetch/archive/refs/tags/v2.1.2.tar.gz" - sha256 "f98e8bac25069830383a594bb7ab3f85b262ef04191e11384791a475aa70f85e" - license "MIT" - head "https://github.com/ankddev/envfetch.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "73aa8029cff4e67888ba761fc80b5204fb2e7ef905f3f1a36a33493752d0d838" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d12181141e0ce1792390321e2738a3357143db0382cd19b88dfca86c5c2e23ff" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c056721adce7c3a9644bbf5e6346bca12485e7c3b6f1f40c52a1321ad568a96f" - sha256 cellar: :any_skip_relocation, arm64_linux: "37ef063ffaa7aad13e64861b0ae2b73340e47b0f24f82a6d48a51b0e3c273c20" - sha256 cellar: :any_skip_relocation, x86_64_linux: "574ae5b625012e04dd8444fe7e12a0b275c0b4d251a0541b291f32ee76a386bc" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/envfetch --version") - - output = shell_output("#{bin}/envfetch set TEST_ENVFETCH_VAR brewtest -- env") - assert_match "TEST_ENVFETCH_VAR=brewtest", output - end -end diff --git a/Formula/e/envie.rb b/Formula/e/envie.rb index 7c8d18634e..25b8d5a595 100644 --- a/Formula/e/envie.rb +++ b/Formula/e/envie.rb @@ -1,20 +1,23 @@ class Envie < Formula desc "MCP server for Apify" homepage "https://github.com/ilmari-h/envie" - url "https://registry.npmjs.org/@envie/cli/-/cli-0.1.4.tgz" - sha256 "671b653e4b6ab0e06e2364ab3934ef99d1d00c37ede06e1a10803ee2c5a3370c" + url "https://registry.npmjs.org/@envie/cli/-/cli-0.0.7.tgz" + sha256 "a55785d2739866b49adb95b9d33e6f9e78418e870f07bff978665019a5a60292" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "1c6f2ab42840737a865e74cf8c5fd72a0b490ae9c4c9b15fb61c68414d59f1a3" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1810cca1e07d35cc55e2043288c804fac57f5e6cba4c5ee9afa0e39e2b526d4c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "b1952631aec4c932b54b18fcbd7fda81b47e6fa25a55e9efb3c132527ce2102e" + sha256 cellar: :any_skip_relocation, ventura: "3350cb62f8f3ff66c8f01742d0f1fb954d8ec2e1d1c4bccd3361fa1f93c6ec4c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "747aab611d680936152b509ddd30f6c94d83cf024761cc9127dcd86eb76a24ee" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/e/envlens.rb b/Formula/e/envlens.rb deleted file mode 100644 index 5ae5c47ade..0000000000 --- a/Formula/e/envlens.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Envlens < Formula - desc "Inspect, search, and copy environment variables from the terminal" - homepage "https://github.com/craigf-svg/envlens" - url "https://github.com/craigf-svg/envlens/archive/refs/tags/v0.1.2.tar.gz" - sha256 "47e655fcd0736efc661652f5460e645759f8450907e2aa3978cc1145db9fc089" - license "MIT" - head "https://github.com/craigf-svg/envlens.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "14fe3c5e56db4d4989d6e72e45f33734eb64354842c2e2344242349b2ba0456d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "14fe3c5e56db4d4989d6e72e45f33734eb64354842c2e2344242349b2ba0456d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "14fe3c5e56db4d4989d6e72e45f33734eb64354842c2e2344242349b2ba0456d" - sha256 cellar: :any_skip_relocation, arm64_linux: "ff8369f66304f5adb097437b284f96aeaa5f2dc77ab3c50bbfe020f9b5c27663" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d44533b22b8781f2976157352e6d865b066faeb3496ac92eaa576014f9d909a2" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=v#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/envlens --version") - - output = shell_output("#{bin}/envlens --definitely-invalid-flag 2>&1", 2) - assert_match "flag provided but not defined", output - end -end diff --git a/Formula/e/envtpl.rb b/Formula/e/envtpl.rb index efd3b36412..6f48f691c9 100644 --- a/Formula/e/envtpl.rb +++ b/Formula/e/envtpl.rb @@ -1,18 +1,17 @@ class Envtpl < Formula desc "Render Go templates on the command-line with shell environment variables" homepage "https://github.com/chenrui333/envtpl" - url "https://github.com/chenrui333/envtpl/archive/refs/tags/v2.0.6.tar.gz" - sha256 "1417578635f956d5f5b270613c15226fab2672b9ea317af6d08244653e372caa" + url "https://github.com/chenrui333/envtpl/archive/refs/tags/v2.0.5.tar.gz" + sha256 "ae7f12c22fd79174179e5173e36137da97b2999d734d68025ab39a200300f54e" license "MIT" head "https://github.com/chenrui333/envtpl.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6e4b1a1583a2b84dc9267d2ddac1d38e4a541fb75f3f032e54967d7c1694d4b0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6e4b1a1583a2b84dc9267d2ddac1d38e4a541fb75f3f032e54967d7c1694d4b0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6e4b1a1583a2b84dc9267d2ddac1d38e4a541fb75f3f032e54967d7c1694d4b0" - sha256 cellar: :any_skip_relocation, arm64_linux: "6a0c0e7a087fe8017cd574d42fb25f33e76afaa0d1cc7c5a585f4bc007b94417" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0b38523b808d4f9defc72e2b0ff6f33731b9089cbdfd5fe1d626ab9701c0c697" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "7ff1339f6c830fe082d9a00c93e56471e04a282eeb731c3f1af5819e4cb0f651" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "631ac3be37626fcb7585be22d899a698e26c858950dd3f9028ca8a79b0a5669b" + sha256 cellar: :any_skip_relocation, ventura: "309d5c82c62099c93d4dd07e436039353417f504c1291cb152d94b79dbdffb4c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "30cb6947c567984dbde034e779b8b456374e00183f012add816fb95b41758327" end depends_on "go" => :build diff --git a/Formula/e/envtrace.rb b/Formula/e/envtrace.rb deleted file mode 100644 index 46bb363e8e..0000000000 --- a/Formula/e/envtrace.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Envtrace < Formula - desc "Trace where environment variables are defined and modified" - homepage "https://github.com/FlerAlex/envtrace" - url "https://github.com/FlerAlex/envtrace/archive/refs/tags/v0.1.2.tar.gz" - sha256 "7da761c64d8b2504687f0c67a0387dff6b39aba463dbf1f517510a38fb8686ac" - license "MIT" - head "https://github.com/FlerAlex/envtrace.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "58b8c77674b3fbc97953a87676476e7dbd7d816d4dd3b5509732b65f44c2d7d3" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a6a594bdf0b2967fc7976670d033c821a3d766252788387d455ff1a48c39da46" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3053d185f659dd5e0f32d0620618694fbe0ba1f9434216b2a260c7e06096a01e" - sha256 cellar: :any_skip_relocation, arm64_linux: "0cc1834fe72f2294ce3a0556f5d16e80fb527e482660c0ee289fed7e3a431db4" - sha256 cellar: :any_skip_relocation, x86_64_linux: "abc7f33047112d3160dffc4b457c620580d6a446f7cebf423e4cf9c14401357d" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/envtrace --version") - assert_match "Environment Health Check", shell_output("#{bin}/envtrace --check") - end -end diff --git a/Formula/e/envx.rb b/Formula/e/envx.rb deleted file mode 100644 index 906997ad89..0000000000 --- a/Formula/e/envx.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Envx < Formula - desc "Powerful and secure TUI environment variable manager" - homepage "https://github.com/mikeleppane/envx" - url "https://github.com/mikeleppane/envx/archive/refs/tags/v0.6.2.tar.gz" - sha256 "d6c53b29acd23760c78c56d5a8f35589187b5fbf13859ee5c95dd8733b1b652c" - license "MIT" - head "https://github.com/mikeleppane/envx.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "488870b521a979ab9bfeddee6795c0787f5eb97e021510ca2213f649b7cf79b2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "aaa740ebfc2b2d724ba4455c7c12227b216a190291e2524e50af03194c4f35f2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4454fb1da4f404b054e023a0903b999cf8c963bd8fb6407de034c1f73b692f26" - sha256 cellar: :any_skip_relocation, arm64_linux: "1a1ca7678d0882f9839d340e4c509b77a3301950b1ea52a24d443b6fecb12b05" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d854eb7b17372d6909859e415b92aa399a914313ae3ec3941c502c20ef76a6d6" - end - - depends_on "rust" => :build - - def install - rm ".cargo/config.toml" - system "cargo", "install", *std_cargo_args(path: "crates/envx") - end - - test do - assert_match version.to_s, shell_output("#{bin}/envx --version") - assert_match "Environment Variables Summary", shell_output("#{bin}/envx list") - assert_match "Available project templates", shell_output("#{bin}/envx init --list-templates") - end -end diff --git a/Formula/e/envy.rb b/Formula/e/envy.rb deleted file mode 100644 index d08190144d..0000000000 --- a/Formula/e/envy.rb +++ /dev/null @@ -1,65 +0,0 @@ -class Envy < Formula - desc "Terminal-based tool for managing secrets with TUI and CLI support" - homepage "https://github.com/XENONCYBER/envy" - url "https://github.com/XENONCYBER/envy/archive/refs/tags/v1.2.1.tar.gz" - sha256 "d5afc129b2a517f6d103eee4ae84a8ae08ca70327de5dff4c3f39da85c99c1ab" - license "MIT" - head "https://github.com/XENONCYBER/envy.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "caf8b6d43837ac385c3b655df41f6a3bd41da5b4573c5f1c3d20b2df577aa076" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "caf8b6d43837ac385c3b655df41f6a3bd41da5b4573c5f1c3d20b2df577aa076" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "caf8b6d43837ac385c3b655df41f6a3bd41da5b4573c5f1c3d20b2df577aa076" - sha256 cellar: :any_skip_relocation, arm64_linux: "6b5da76e473d3208479bd76f40d860b62035b2643d60cb55a0c1a2cca4a4e5ab" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ec2b6d0382b0e4aacdfdbc11d01346a7ec0a947dfc7c075db89b5509afff4206" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(output: bin/"envy"), "./cmd/main.go" - generate_completions_from_executable(bin/"envy", "completion", shell_parameter_format: :cobra) - end - - test do - home = testpath/"home" - (home/".envy").mkpath - (home/".envy/keys.json").write <<~JSON - { - "version": 1, - "salt": "mVBgU7J5SGiU4WJKPf6v2Q==", - "auth_hash": "C34M+SBi/yefTAOCd1X+qUm5tFhuCUmkNReo5n0HPLQ=", - "projects": [ - { - "name": "proj", - "environment": "dev", - "keys": [ - { - "title": "FOO", - "key": "FOO", - "current": { - "value": "YUJ2TsJZXZBs+1nW82ZISDwUh8MEoLX087sCUrcoVA==", - "created_at": "2026-03-22T17:59:24Z", - "created_by": "cli-import" - }, - "history": [] - } - ] - } - ] - } - JSON - - export_cmd = if OS.mac? - "script -q /dev/null #{bin}/envy -t proj" - else - "script -q -c '#{bin}/envy -t proj' /dev/null" - end - - output = pipe_output("HOME=#{home} #{export_cmd}", "password123\n") - assert_match "Exported project 'proj' to .env", output - assert_match "FOO=bar", (testpath/".env").read - assert_match version.to_s, shell_output("#{bin}/envy --version") - end -end diff --git a/Formula/e/ereandel.rb b/Formula/e/ereandel.rb deleted file mode 100644 index 45c6424458..0000000000 --- a/Formula/e/ereandel.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Ereandel < Formula - desc "Gemini web browser using shell script" - homepage "https://github.com/blmayer/ereandel" - url "https://github.com/blmayer/ereandel/archive/refs/tags/v0.26.2.tar.gz" - sha256 "deadb0a59a18178695a016dd1648957ac8146516a9f6488bbdd8123d47175eab" - license "MIT" - head "https://github.com/blmayer/ereandel.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "3177a737673108d95391988cdddadf71c364e2d474d306f3220a51ed7e5ea922" - end - - def install - inreplace "ereandel", /^version=".*"$/, "version=\"#{version}\"" - - bin.install "ereandel" - man1.install "ereandel.en.1" => "ereandel.1" - doc.install "README.md", "CONTRIBUTING.md" - prefix.install_metafiles - end - - test do - (testpath/"sample.gmi").write <<~EOS - # Hello - => gemini://example.org Link - EOS - - assert_match version.to_s, shell_output("#{bin}/ereandel --version") - - output = shell_output( - "printf 'q' | HOME=#{testpath} XDG_CONFIG_HOME=#{testpath}/config XDG_CACHE_HOME=#{testpath}/cache " \ - "#{bin}/ereandel --file #{testpath}/sample.gmi 2>&1", - 1, - ) - assert_match "Hello", output - assert_match "gemini://example.org Link", output - end -end diff --git a/Formula/e/ergo.rb b/Formula/e/ergo.rb deleted file mode 100644 index 1337502d2f..0000000000 --- a/Formula/e/ergo.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Ergo < Formula - desc "Modern IRC server (daemon/ircd) written in Go" - homepage "https://github.com/ergochat/ergo" - url "https://github.com/ergochat/ergo/archive/refs/tags/v2.18.0.tar.gz" - sha256 "5dafcdc9b1eaed0273d54dc274a050d983f79057fbc529af0c52704b1a540680" - license "MIT" - head "https://github.com/ergochat/ergo.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "da1a71a0c32720e9d3983e44e3637af5203c9f3cdefb4eb733211872d597ebb4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "da1a71a0c32720e9d3983e44e3637af5203c9f3cdefb4eb733211872d597ebb4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "da1a71a0c32720e9d3983e44e3637af5203c9f3cdefb4eb733211872d597ebb4" - sha256 cellar: :any_skip_relocation, arm64_linux: "15859f0606be18ee1d90b517e0c1fbaaec9a103566df081bfbb81eae25194517" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c9d04c972034a86aeece15b23f64abf26cc7f3392e99f87c2190bae21d1bb668" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match version.to_s, shell_output("#{bin}/ergo --version") - - output = shell_output("#{bin}/ergo defaultconfig") - assert_match "# This is the default config file for Ergo", output - end -end diff --git a/Formula/g/go-envsubst.rb b/Formula/e/go-envsubst.rb similarity index 61% rename from Formula/g/go-envsubst.rb rename to Formula/e/go-envsubst.rb index 29a7b7402b..59a80c58f4 100644 --- a/Formula/g/go-envsubst.rb +++ b/Formula/e/go-envsubst.rb @@ -4,16 +4,14 @@ class GoEnvsubst < Formula url "https://github.com/a8m/envsubst/archive/refs/tags/v1.4.3.tar.gz" sha256 "01ca48a2beaeeda5b9fbca9c46bb9e9acc0e55354761d90e4beba5ca1c97aa8b" license "MIT" - revision 1 head "https://github.com/a8m/envsubst.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "101ec59adfdc0cb8a24fff682be46667e02a1414660ec2bb06dc0927990dd8fb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "101ec59adfdc0cb8a24fff682be46667e02a1414660ec2bb06dc0927990dd8fb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "101ec59adfdc0cb8a24fff682be46667e02a1414660ec2bb06dc0927990dd8fb" - sha256 cellar: :any_skip_relocation, arm64_linux: "1d05eb3c45b1abe6135a9669c8c6f1896aea79c362a4bb45193e2b6f9833830f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3e6b8521e0ec064a968558a7a4849290aa06097a57af205185e6e72848fa73ed" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d221801c7ae74b0f49314ad529aad919c3c0edeec9bceabf259e21bc7a3d63f8" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "eac6feb0720b61e287ed9936aad347c040c223a3d041aa9a857f1185edd71a29" + sha256 cellar: :any_skip_relocation, ventura: "ecfcffff8e8115289be50b93b61e9fae885bbb70aac95bb1b137fc15d28a2abf" + sha256 cellar: :any_skip_relocation, x86_64_linux: "4b7f0bfa69cec179ffbde12a094b56bb2357b242a9ee3bab61aff0a5cffae5c9" end depends_on "go" => :build diff --git a/Formula/f/bin-jq.rb b/Formula/f/bin-jq.rb new file mode 100644 index 0000000000..acfe537cfd --- /dev/null +++ b/Formula/f/bin-jq.rb @@ -0,0 +1,29 @@ +class BinJq < Formula + desc "Jq for binary formats" + homepage "https://github.com/wader/fq" + url "https://github.com/wader/fq/archive/refs/tags/v0.15.1.tar.gz" + sha256 "9f668394c33f3effd02b7d7a145f1087ce784e01d3d0c6e6ba41a899d5e349a7" + license "Apache-2.0" + head "https://github.com/wader/fq.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "071695f80b8e6bdb51b505aa5ffb570eadc50f23815adda12777a73281c1486f" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9d344100d7636268e895cfa1d9d67d1f2e40f4bf762ce87ec324362d94750d9b" + sha256 cellar: :any_skip_relocation, ventura: "7cd0bab5aca8eeba60417c3ad28c74abea4a35140262f322e7389cbea52999c8" + sha256 cellar: :any_skip_relocation, x86_64_linux: "89050f05d8166c2699d52f52f9bb746cde304eaab5f21cc1f3968aa0057f879a" + end + + depends_on "go" => :build + + def install + ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" + system "go", "build", *std_go_args(ldflags:, output: bin/"fq") + end + + test do + assert_match version.to_s, shell_output("#{bin}/fq --version") + out = pipe_output("#{bin}/fq -d json '.[0]'", "[1,2,3]") + assert_equal "1\n", out + end +end diff --git a/Formula/f/fairyglade-ly.rb b/Formula/f/fairyglade-ly.rb deleted file mode 100644 index d0927cb388..0000000000 --- a/Formula/f/fairyglade-ly.rb +++ /dev/null @@ -1,39 +0,0 @@ -class FairygladeLy < Formula - desc "TUI (ncurses-like) display manager for Linux and BSD" - homepage "https://codeberg.org/fairyglade/ly" - url "https://codeberg.org/fairyglade/ly/archive/v1.3.2.tar.gz" - sha256 "db069cc2dcacc64b2890552a10ec8547aee4f9b9e5b0bc6b07c3d5d431a757e6" - license "WTFPL" - head "https://codeberg.org/fairyglade/ly.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "2c13ea0c6c6c91fa00e0e7419730372d6a4eca7f2d3436cb3d7ec5b39833bbe9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "40f71491e3923630c54f40d2a190ab2a0a087fac2b9a7875cf467c3def934b87" - end - - depends_on "pkgconf" => :build - depends_on "zig" => :build - depends_on "libxcb" - depends_on :linux - depends_on "linux-pam" - - def install - # Fix illegal instruction errors when using bottles on older CPUs. - # https://github.com/Homebrew/homebrew-core/issues/92282 - cpu = case ENV.effective_arch - when :arm_vortex_tempest then "apple_m1" # See `zig targets`. - when :armv8 then "xgene1" # Closest to `-march=armv8-a` - else ENV.effective_arch - end - - args = [] - args << "-Dcpu=#{cpu}" if build.bottle? - - system "zig", "build", *std_zig_args, *args - end - - test do - assert_match version.to_s, shell_output("#{bin}/ly --version 2>&1") - end -end diff --git a/Formula/f/fakecloud.rb b/Formula/f/fakecloud.rb deleted file mode 100644 index fbd53d12a6..0000000000 --- a/Formula/f/fakecloud.rb +++ /dev/null @@ -1,49 +0,0 @@ -# frozen_string_literal: true - -class Fakecloud < Formula - desc "Free, open-source local AWS cloud emulator for integration testing" - homepage "https://github.com/faiscadev/fakecloud" - url "https://github.com/faiscadev/fakecloud/archive/refs/tags/v0.13.0.tar.gz" - sha256 "fec5304b58e1c1e880d777abc5817f46851dcdbedee27044a87524bb0756a78e" - license "AGPL-3.0-or-later" - head "https://github.com/faiscadev/fakecloud.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "116c825d6e9a0e82c346425bf715532d758b51aa2ad74fd764f3c27b68fee484" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "afad3d74161f1d2e8459572ca15be23e13ce7fd180b397e396492550820a2205" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ae7d8bf40c644d14a341fb21dfe4fe4dc697ffd5465c48e1390016b57c4de359" - sha256 cellar: :any_skip_relocation, arm64_linux: "34266b45017866b783577111e3d22caf8111e4b080584a8be0461cc79e9e58ff" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e4e424ff19c70830650df2fde2aa91a2f6ae9e56a72d552b4e28c4b6632a9328" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - depends_on "zlib-ng-compat" - end - - def install - system "cargo", "install", *std_cargo_args(path: "crates/fakecloud-server") - end - - service do - run [opt_bin/"fakecloud"] - keep_alive true - end - - test do - port = free_port - fork do - exec bin/"fakecloud", "--addr", "127.0.0.1:#{port}" - end - sleep 3 - - output = shell_output("curl -s http://127.0.0.1:#{port}/_fakecloud/health 2>&1") - assert_match "ok", output.downcase - - assert_match version.to_s, shell_output("#{bin}/fakecloud --version") - end -end diff --git a/Formula/f/faq.rb b/Formula/f/faq.rb index 7ccf4de853..59e754c1c1 100644 --- a/Formula/f/faq.rb +++ b/Formula/f/faq.rb @@ -9,21 +9,15 @@ class Faq < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4102e983ec2e589f944132971d1bd2f3419fdeacbd460d416ec44559dfead456" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3536576cd43a4b627df78f67331f3d4702051b9709c7379b78a2c2e72e367a1c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8e0703862c1dfb873ed8e7ccbcb2a05c6f14d3f62777556631f318a01c13e4ea" - sha256 cellar: :any_skip_relocation, arm64_linux: "3201b6bd913cc939238e5bcbe76dd50d044f2544bc7ca15f8c4e212df1827fe0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2acbfb82efe4cf6b4fc5703913c827dac13598b90714b2184f09e4ae160608bb" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "7f9044ac00542edde1f594cf12bb74ad754b79c18e0357d19bb76b158c4ed0bb" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "89a0e130dff9f88e6082a207e7f5b856e70a10681fcc418705a1b3676a37cabb" + sha256 cellar: :any_skip_relocation, ventura: "788c94f5fa990884213466eec43139ed77fd1a181039fdf45574a83e422cd25f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c6a3287e28561bf611f0cec3459a485142283a7624f6571b558464c65ff0ae83" end depends_on "go" => :build depends_on "jq" - on_macos do - depends_on "oniguruma" - end - def install ldflags = "-s -w -X github.com/jzelinskie/faq/internal/version.Version=#{version}" system "go", "build", "-tags", "netgo", *std_go_args(ldflags:), "./cmd/faq" diff --git a/Formula/f/fast-cli.rb b/Formula/f/fast-cli.rb index edee5c34e9..6aa8b7ef70 100644 --- a/Formula/f/fast-cli.rb +++ b/Formula/f/fast-cli.rb @@ -1,36 +1,35 @@ class FastCli < Formula desc "Test your download and upload speed using fast.com" homepage "https://github.com/sindresorhus/fast-cli" - url "https://registry.npmjs.org/fast-cli/-/fast-cli-5.2.0.tgz" - sha256 "05e8cd8259e60631c280efb8e0d8c985aef402c76e8953f234bc4c3028b8fed5" + url "https://registry.npmjs.org/fast-cli/-/fast-cli-4.0.1.tgz" + sha256 "7deda4c3be0466cff2f190e4510978d0dfc608bec66d494638063cb0d563c092" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "6e8d0e9548345909eed7eaefe74337dc62f2b6f97b26ee5c330a13c13b6ceae3" - sha256 cellar: :any, arm64_sequoia: "5595a5ea313b7f13f21e36e542bc9dadf6cc1bffe97a654b067f1856a9559087" - sha256 cellar: :any, arm64_sonoma: "5595a5ea313b7f13f21e36e542bc9dadf6cc1bffe97a654b067f1856a9559087" - sha256 cellar: :any_skip_relocation, arm64_linux: "d9fa7bd62c3039ebd7c7d4889a7701c136b5815baadd839aff5bb83d248a9682" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ab7977024fac64646d3555fd118176f629796a21e5b4841f71fbd5dedd983e6f" + sha256 cellar: :any, arm64_sequoia: "eb10af35af1366c9dc85ceed1724494542f5031a7f574326f190c2a8047c4faa" + sha256 cellar: :any, arm64_sonoma: "7ee5dd33389d33b49d4bf852d2122af372275826fd95cbd14fbc39205b74954a" + sha256 cellar: :any, ventura: "e09002411ce9f9f2c7927a92ec30bc6f7f2bccabc572f16c8517e6a62c351358" + sha256 cellar: :any_skip_relocation, x86_64_linux: "3ae49712cf16809c0e628fb8f6f646bda9293bbc98897a71810939c79e2102ba" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] node_modules = libexec/"lib/node_modules/fast-cli/node_modules" - # Remove incompatible pre-built `bare-fs`/`bare-os`/`bare-url` binaries + # Remove incompatible pre-built `bare-fs`/`bare-os` binaries os = OS.kernel_name.downcase arch = Hardware::CPU.intel? ? "x64" : Hardware::CPU.arch.to_s - node_modules.glob("{bare-fs,bare-os,bare-url}/prebuilds/*") + node_modules.glob("{bare-fs,bare-os}/prebuilds/*") .each { |dir| rm_r(dir) if dir.basename.to_s != "#{os}-#{arch}" } end test do assert_match version.to_s, shell_output("#{bin}/fast --version") - assert_match "Could not find Chrome", shell_output("#{bin}/fast --upload 2>&1", 1) + assert_match "Could not find Chrome", shell_output("#{bin}/fast --upload 2>&1") end end diff --git a/Formula/f/fast-xml-parser.rb b/Formula/f/fast-xml-parser.rb index 8c04b151f8..35914c4464 100644 --- a/Formula/f/fast-xml-parser.rb +++ b/Formula/f/fast-xml-parser.rb @@ -1,20 +1,23 @@ class FastXmlParser < Formula desc "Validate XML, Parse XML and Build XML rapidly" homepage "https://naturalintelligence.github.io/fast-xml-parser/" - url "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.2.tgz" - sha256 "49c7d453e254b0b536b22fa7c8d5b5904da5bc811f56200ed62438a0d9971a3b" + url "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz" + sha256 "3d79a7b12748fb0ba831cbb6be1366d455ac82e90fcc558b32d05ba05c67a934" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "71f84b6084c25be2111fc4b374d60e8abaacbaf19030b6cf292f1488ec885560" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "fb9147ba85518926ad6d874f7bf39fd87d186027036e9dfff5fbb04ef7bcf94e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "8e69e1e7f73c325b9b04dc56bbbc8954a7a3fd90fb3bfe37059aad0fe48c2cf0" + sha256 cellar: :any_skip_relocation, ventura: "04dd228eafe953168e317265ce11ded39aaf8e0253c25aff41e7b3024dc62e65" + sha256 cellar: :any_skip_relocation, x86_64_linux: "bfa54685d5659b6ca0e26d76dc2a0f4f268dd2c2ea4c665ce7883c39a7929702" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/f/fat.rb b/Formula/f/fat.rb deleted file mode 100644 index 2d8ab18431..0000000000 --- a/Formula/f/fat.rb +++ /dev/null @@ -1,49 +0,0 @@ -class Fat < Formula - desc "TUI-based file and archive viewer for your terminal" - homepage "https://github.com/Zuhaitz-dev/fat" - url "https://github.com/Zuhaitz-dev/fat/archive/refs/tags/v0.2.0-beta.tar.gz" - sha256 "1a5cd3f2d12ca46dbe400e8f685eb8ecc34f269693373a398e8530a3abb5d097" - license "GPL-3.0-only" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 arm64_tahoe: "7ced12f890929c85a7a3dcc8b304bacbe07fd0b8650d96bbd406f6faa32130e8" - sha256 arm64_sequoia: "e0ce26ee8f47d994b128e4541f72d8ab0287faa5ad0da1f020edf67ab6f0133e" - sha256 arm64_sonoma: "9dba4fece3751855aa73fdd7f93f49ee564e26d49e22ff3a35ad001dce30a73e" - sha256 arm64_linux: "48132202410303d8d93cde2ff8f6b7ddf474b97696a187fb0b55c0536b4738ac" - sha256 x86_64_linux: "f4d857365b358c53bb3d5ffb73a3127a62ec802619dc5e2331e8330365d1f2f4" - end - - depends_on "libmagic" - depends_on "libtar" - depends_on "libzip" - - uses_from_macos "ncurses" - - on_linux do - depends_on "zlib-ng-compat" - end - - def install - system "make", "install", "PREFIX=#{prefix}" - end - - test do - system bin/"fat", "--help" - - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - (testpath/"test.txt").write("Hello, Homebrew!") - - output_log = testpath/"output.log" - pid = spawn bin/"fat", testpath/"test.txt", [:out, :err] => output_log.to_s - sleep 1 - assert_match "[NORMAL]", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/f/fdir.rb b/Formula/f/fdir.rb deleted file mode 100644 index a0780bf87c..0000000000 --- a/Formula/f/fdir.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Fdir < Formula - include Language::Python::Virtualenv - - desc "Search language for your filesystem" - homepage "https://github.com/VG-dev1/fdir" - url "https://github.com/VG-dev1/fdir/archive/refs/tags/v3.3.1.tar.gz" - sha256 "8fc0f78ee9206fb4d42dcc3cead83023cefa5445879eb3829d577d036f968670" - license "MIT" - head "https://github.com/VG-dev1/fdir.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "df5d8490f952bf976804dc4ae02cf2c5a12682c3c0cd6371b5c078ac65a18d11" - end - - depends_on "python@3.13" - - def install - virtualenv_install_with_resources - end - - test do - (testpath/"report.txt").write("Quarterly report") - output = shell_output("#{bin}/fdir name --keyword report --nocolor") - assert_match "report.txt", output - assert_match version.to_s, shell_output("#{bin}/fdir version") - end -end diff --git a/Formula/f/filessh.rb b/Formula/f/filessh.rb deleted file mode 100644 index 7a055159e7..0000000000 --- a/Formula/f/filessh.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Filessh < Formula - desc "Fast and convenient TUI file browser for remote servers" - homepage "https://github.com/JayanAXHF/filessh" - url "https://github.com/JayanAXHF/filessh/archive/refs/tags/v0.4.2.tar.gz" - sha256 "3e26169f9968edd5005d7f2df9f7c4cf14b08c225d6766d9a51f3b6f73d42ca4" - license any_of: ["MIT", "Unlicense"] - head "https://github.com/JayanAXHF/filessh.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1fb5795064e86712fcb5eac81c528ea1697e58ee9335ca83a863bf0af535fb65" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "edad008329987501448f4e49055b46cbc7e493b5125adb04683f336e096377c8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a4cf313479e78accbf9c5a48d5472b1f09ee62b0977f01df150e2af4d4fd906f" - sha256 cellar: :any_skip_relocation, arm64_linux: "030c4acd6770c1d5f60f61cca64f221dff4906b525ac3c113363527f1dffdfde" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4fa3dc5440b15263b56d3511887a72cb235649aa66a55dbb1ed7f442b43690be" - end - - depends_on "rust" => :build - - def install - ENV["VERGEN_GIT_BRANCH"] = "main" - ENV["VERGEN_GIT_COMMIT_TIMESTAMP"] = time.iso8601 - ENV["VERGEN_GIT_SHA"] = tap.user - - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/filessh --version") - assert_match "You must provide a host", shell_output("#{bin}/filessh connect 2>&1", 1) - end -end diff --git a/Formula/f/firm.rb b/Formula/f/firm.rb deleted file mode 100644 index 84255c6935..0000000000 --- a/Formula/f/firm.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Firm < Formula - desc "Text-based work management system for technologists" - homepage "https://firm.42futures.com/" - url "https://github.com/42futures/firm/archive/refs/tags/0.5.0.tar.gz" - sha256 "f98c0f436be249f9b52e180c9015c1b4635e93447f64cb0b592776e4e7f93c34" - license "AGPL-3.0-only" - head "https://github.com/42futures/firm.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "078978dd8ee81154962e14357adbf91a5643986084eba5d4b3152c75f6a3f8cd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "bc877568f60fc73b5e23c49a76080fb891fa3c4009811fdd037df9c8e659bf59" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4c90d9f6e0cdb91a5eec5bf65a67f7536929d8f2cb1d6a68dcc0942d021ba623" - sha256 cellar: :any_skip_relocation, arm64_linux: "e2c790cb88343ca5a01584b55405ef301235dba056646dba185adbb6db869bdc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7e583563a1df25ef5c1bcd6f5cba7be318b17ed4e77b406fd1244a2e2737d9ee" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - resource "tree-sitter-firm" do - url "https://github.com/42futures/tree-sitter-firm/archive/0b4637918f0380224530aa4d8d7974fc5d7d3530.tar.gz" - sha256 "0a3831758e6694c6c7f0e343b5b75a952e431f52ce457254770dfc99cb5402e9" - end - - def install - resource("tree-sitter-firm").stage buildpath/"tree-sitter-firm" - - system "cargo", "install", *std_cargo_args(path: "firm_cli") - end - - test do - assert_match version.to_s, shell_output("#{bin}/firm --version") - - output = shell_output("#{bin}/firm unknown 2>&1", 2) - assert_match "unrecognized subcommand", output - end -end diff --git a/Formula/f/fission-cli.rb b/Formula/f/fission-cli.rb deleted file mode 100644 index fa0123004b..0000000000 --- a/Formula/f/fission-cli.rb +++ /dev/null @@ -1,42 +0,0 @@ -class FissionCli < Formula - desc "Fast and Simple Serverless Functions for Kubernetes" - homepage "https://fission.io/" - url "https://github.com/fission/fission/archive/refs/tags/v1.22.0.tar.gz" - sha256 "3b6efcd3146332e986fdad0fddc9d43ab2adc08c57cc06dad8d1b89f1a19d553" - license "Apache-2.0" - head "https://github.com/fission/fission.git", branch: "main" - - livecheck do - url :stable - regex(/^v?(\d+(?:\.\d+)+)$/i) - end - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fc1e61ee6570aba30a156ef7f93ed8f25a0f9eb26d470edee982ebb46d9111e1" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "dc71463d3a483ee338d980e8d89b461a023503630bd48548cac57ef15148eda9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "59faa4877346bc8fbf016db82387b7666ee53fea592996b10cb18203cd4159b9" - sha256 cellar: :any_skip_relocation, arm64_linux: "c5446736f32ba373caa5127d2579a069d96ac4d05ae9dee98e8b80d7736c3b15" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e139bd2980d6769cef6c22bb6398d33af870f18583cd84b27ed7f139ac5b8bac" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/fission/fission/pkg/info.Version=#{version} - -X github.com/fission/fission/pkg/info.GitCommit=#{tap.user} - -X github.com/fission/fission/pkg/info.BuildDate=#{time.iso8601} - ] - system "go", "build", *std_go_args(ldflags:, output: bin/"fission"), "./cmd/fission-cli" - - # Error: failed to get fission client: couldn't find kubeconfig file - # generate_completions_from_executable(bin/"fission", "completion", shells: [:bash, :zsh, :fish, :pwsh]) - end - - test do - # assert_match version.to_s, shell_output("#{bin}/fission version") - assert_match "couldn't find kubeconfig file", shell_output("#{bin}/fission support dump 2>&1", 1) - end -end diff --git a/Formula/f/fjira.rb b/Formula/f/fjira.rb new file mode 100644 index 0000000000..0c4f4bbf5a --- /dev/null +++ b/Formula/f/fjira.rb @@ -0,0 +1,36 @@ +class Fjira < Formula + desc "Fuzzy-find cli jira interface" + homepage "https://github.com/mk-5/fjira" + url "https://github.com/mk-5/fjira/archive/refs/tags/1.4.6.tar.gz" + sha256 "27510e7002f8df5640275f9488eb99682c160b15735caa3f41e05625583b7cf3" + license "AGPL-3.0-only" + head "https://github.com/mk-5/fjira.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "35ec678692a0b5d2c9deac1685d2838c502e240c9f20af6d8cb6675aa7f34d03" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "cf8d2be6741f3c65e1d7c1c0d32fa64a7f7d53b173b30750b66e8390452231d7" + sha256 cellar: :any_skip_relocation, ventura: "a13f5ddbea8f3397f5214ebe358c533bd76e31672b01379e695ad1161361870e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "8d44da3b016a9916b2bef10302537d73e6449ec40f30b202a40969157f83195a" + end + + depends_on "go" => :build + + def install + system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}"), "./cmd/fjira-cli" + + generate_completions_from_executable(bin/"fjira", "completion", shells: [:bash, :zsh, :fish, :pwsh]) + end + + test do + assert_match version.to_s, shell_output("#{bin}/fjira version") + + output_log = testpath/"output.log" + pid = spawn bin/"fjira", testpath, [:out, :err] => output_log.to_s + sleep 1 + assert_match "Create new workspace default", output_log.read + ensure + Process.kill("TERM", pid) + Process.wait(pid) + end +end diff --git a/Formula/f/fkill-cli.rb b/Formula/f/fkill-cli.rb index a4ce861acb..923427c527 100644 --- a/Formula/f/fkill-cli.rb +++ b/Formula/f/fkill-cli.rb @@ -1,13 +1,16 @@ class FkillCli < Formula desc "Fabulously kill processes. Cross-platform" homepage "https://github.com/sindresorhus/fkill-cli" - url "https://registry.npmjs.org/fkill-cli/-/fkill-cli-9.0.0.tgz" - sha256 "e92e858097abefc2c1438fb0aceeae86a4f7059034c28fb483efaa762ba45cb2" + url "https://registry.npmjs.org/fkill-cli/-/fkill-cli-8.0.0.tgz" + sha256 "47be11adbcb1524213aea291a829640c13f93381324fc00bbe059805166da40c" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "48af16649f0abe0865f59ef9573a1e705fba9ab03956d3920690076bbc3b5f9a" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2b916aa293073304ac5a729d15c5d0be89322eb51489110255a3daf495997e82" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "4d1e0d8934269079497df4a256f31696b52e7d628d3b4b395d7ae1b9f895cba2" + sha256 cellar: :any_skip_relocation, ventura: "e4aa228c1acf75319175b95f56b58b95d64eded921761fcc8812c8cd8b95862b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "5987db01cd87dc1442c1d7cc6b898a57de36ba8755971b27e15e3722daef3656" end depends_on "node" diff --git a/Formula/f/fli.rb b/Formula/f/fli.rb index 519b62edbd..85d42b0a67 100644 --- a/Formula/f/fli.rb +++ b/Formula/f/fli.rb @@ -7,12 +7,10 @@ class Fli < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "633cf439b73645f8fe2ad1b6234e39dd652fb883b85f5d8eb869d4a6c047bae5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "633cf439b73645f8fe2ad1b6234e39dd652fb883b85f5d8eb869d4a6c047bae5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "633cf439b73645f8fe2ad1b6234e39dd652fb883b85f5d8eb869d4a6c047bae5" - sha256 cellar: :any_skip_relocation, arm64_linux: "1b07819c91a59806c55bbeb6f25ebecb2b23d4d6760487f5cc696e45466ff8b5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e723483b8b40dbcc46bc61199c04d7c32f484e96432d6a976205685c425b59ba" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2002c05ee259620176bcd617f56ef1bb333d9c0d0b1acbc30e3f8ba4e06c7e56" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c13146b44f0be81632a2562106e2eeb45565b272a3fc77d514a3e7c598dce876" + sha256 cellar: :any_skip_relocation, ventura: "d1537a0187a381e9344a9a6dc61628692c2d1bccc044e519364e327a39756314" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f0260b04cca06b68369c3af2df6037580f2f1caca580783fcc8d910642f5674e" end depends_on "go" => :build @@ -20,7 +18,7 @@ class Fli < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}"), "./cmd/fli" - generate_completions_from_executable(bin/"fli", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"fli", "completion", shells: [:bash, :zsh, :fish, :pwsh]) end test do diff --git a/Formula/f/flint-cli.rb b/Formula/f/flint-cli.rb deleted file mode 100644 index 1b53adf4dd..0000000000 --- a/Formula/f/flint-cli.rb +++ /dev/null @@ -1,38 +0,0 @@ -class FlintCli < Formula - desc "Lightweight tool for managing linux virtual machines" - homepage "https://github.com/ccheshirecat/flint" - url "https://github.com/ccheshirecat/flint/archive/refs/tags/v1.28.0.tar.gz" - sha256 "4b302cb4d72f7978747c49fb4f400c4cf838d15674738d8e042b98dc7e43fcf9" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2bb91a62e833f2e432512a93aa732e507da92c5675921d0869d36641c81ebf1f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "922b8b52101c6b7616d0fd28a4d23060d763dd5451141f6303bd69dcaeb8a0a7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a978d360db4da494c4fc0761046a7408d5c1182c42273bbc1d1ab68eea40a076" - sha256 cellar: :any_skip_relocation, x86_64_linux: "aea862a3e62494b1c3047b20935690a1b10b7e19891917fbbeed9829cea17912" - end - - depends_on "go" => :build - depends_on "node" => :build - depends_on "pkgconf" => :build - depends_on "libvirt" - depends_on "qemu" - - def install - cd "web" do - system "npm", "install", *std_npm_args(prefix: false) - system "npm", "run", "build" - end - - system "go", "build", *std_go_args(ldflags: "-s -w", output: bin/"flint") - - generate_completions_from_executable(bin/"flint", shell_parameter_format: :cobra) - end - - test do - output = shell_output("#{bin}/flint api-key") - assert_match "Use this key in the Authorization header", output - end -end diff --git a/Formula/f/flipt.rb b/Formula/f/flipt.rb deleted file mode 100644 index 36eab45c26..0000000000 --- a/Formula/f/flipt.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Flipt < Formula - desc "Enterprise-ready, Git native feature management solution" - homepage "https://flipt.io/" - url "https://github.com/flipt-io/flipt/archive/refs/tags/v2.9.0.tar.gz" - sha256 "b5055c61b79c3302e4c37095aa3d2ad901a22366ca8b35f76b65142ac033a81a" - # license "FCL-1.0-MIT" # Fair Core License, Version 1.0, MIT Future License - head "https://github.com/flipt-io/flipt.git", branch: "v2" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1409862adf05a723d1e0e6b5ad166b29a80073f08dc2683e989f07cc696d488e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c8ad8ee26184c45e91e257d49c8493b3b7f56c522609d04997ae0734afc77831" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "29ca98a02ed85027cfd0a665133642d064ad4b82049245a854427ef896f94a57" - sha256 cellar: :any_skip_relocation, arm64_linux: "accbda97b03faefb38bdcf107949034840fbb44acb644d4afe8473173478f4d5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "05c586f40f585c7d1f3dc92be6672eb6f70e1cee5bd51ba9f2dbb6dc6890eade" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:), "./cmd/flipt" - end - - test do - assert_match version.to_s, shell_output("#{bin}/flipt --version") - - cfg = testpath/"config.yml" - system bin/"flipt", "config", "init", "--force", "--config", cfg - assert_match "diagnostics:\n profiling:\n enabled: true", cfg.read - end -end diff --git a/Formula/f/floci.rb b/Formula/f/floci.rb deleted file mode 100644 index 11af822f70..0000000000 --- a/Formula/f/floci.rb +++ /dev/null @@ -1,77 +0,0 @@ -class Floci < Formula - desc "Open-source local AWS emulator" - homepage "https://github.com/floci-io/floci" - url "https://github.com/floci-io/floci/archive/refs/tags/1.5.9.tar.gz" - sha256 "43eb3862880eae3208b5ffbb0359d98b3d657b58dcf82774c62ee213a5c9d03a" - license "MIT" - head "https://github.com/floci-io/floci.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fe4288962f56f500f20b7ca8d8cfa2be4323dc6ca8b58855707d0307fa28f311" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "381f8c781d778806ec73be8923522455139f33b700d0254a03ed1b870d15f73b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "61e65336afa84a0e7e513de6a8e6b65aa63141ebfb6e66ced66ffa7cd3d33769" - sha256 cellar: :any_skip_relocation, arm64_linux: "9b101e75f5d38852f28bd5d18ebfb93edd50601ae0f66967cd6816b77e098318" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bb267518a8a55a97585b12c8a5cb64376a3fcfee78485d4e0e90574a6c021b38" - end - - depends_on "maven" => :build - depends_on "openjdk" - - def install - ENV["JAVA_HOME"] = Language::Java.java_home("25") - - (var/"floci/data").mkpath - - system Formula["maven"].opt_bin/"mvn", "--batch-mode", "-DskipTests", "package" - - libexec.install Dir["target/quarkus-app/*"] - (bin/"floci").write <<~SH - #!/bin/bash - export FLOCI_VERSION="#{version}" - export JAVA_HOME="#{Language::Java.overridable_java_home_env("25")[:JAVA_HOME]}" - exec "${JAVA_HOME}/bin/java" ${JAVA_OPTS:-} -jar "#{libexec}/quarkus-run.jar" "$@" - SH - end - - service do - run [opt_bin/"floci"] - keep_alive true - working_dir var/"floci" - log_path var/"log/floci.log" - error_log_path var/"log/floci.log" - environment_variables FLOCI_BASE_URL: "http://localhost:4566", - FLOCI_STORAGE_MODE: "persistent", - FLOCI_STORAGE_PERSISTENT_PATH: var/"floci/data", - QUARKUS_HTTP_PORT: "4566" - end - - test do - port = free_port - data_dir = testpath/"data" - log = testpath/"floci.log" - - pid = spawn({ "FLOCI_BASE_URL" => "http://127.0.0.1:#{port}", - "FLOCI_STORAGE_MODE" => "persistent", - "FLOCI_STORAGE_PERSISTENT_PATH" => data_dir.to_s, - "QUARKUS_HTTP_PORT" => port.to_s }, - bin/"floci", - [:out, :err] => log.to_s) - - begin - 20.times do - break if quiet_system "curl", "-fsS", "http://127.0.0.1:#{port}/_floci/health" - - sleep 1 - end - - output = shell_output("curl -fsS http://127.0.0.1:#{port}/_floci/health") - assert_match "\"edition\":\"floci-always-free\"", output - assert_match "\"version\":\"#{version}\"", output - assert_match "\"s3\":\"running\"", output - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/f/flow-editor.rb b/Formula/f/flow-editor.rb index 83ba0891f2..e622f58123 100644 --- a/Formula/f/flow-editor.rb +++ b/Formula/f/flow-editor.rb @@ -1,16 +1,16 @@ class FlowEditor < Formula desc "Programmer's text editor" homepage "https://github.com/neurocyte/flow" - url "https://github.com/neurocyte/flow/archive/refs/tags/v0.7.2.tar.gz" - sha256 "f56313fd00a36ab04ee9a9ddb200aebf195df3882947a698c1d1760d4bbd1d4a" + url "https://github.com/neurocyte/flow/archive/refs/tags/v0.5.0.tar.gz" + sha256 "1c69b69df208c92327641dd7b11fe293aa8d72cfc27f6b43d975114b60b52166" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fd6f496a61963ecc8baf8b1694591bc847f6b515af54fc8289e653a2254eb246" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "810a85f2bbb4fe7e1d2c35749fb3fd9a6da4c22ef4e4c33a6af8a9dcb601a16b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "09d68e5a78ae466f0936939b1a1d777d6fbb02cde409a8be4a0f673050855295" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5048a3c5beaed109d15d7a75d6eb3776f5a4ceab93112299df676e4def4a937f" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "6622f2986d289ef06f3028bb175140f12ea47c4fb9d3871406c650841505108b" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c1bac9d7880a91fec4d163d3369cba1d221c0b022be030dbb840223cecf11784" + sha256 cellar: :any_skip_relocation, ventura: "7648feadc85064bfc972ec047fa0aab4f751bebedc9c1c41fd09155008415959" + sha256 cellar: :any_skip_relocation, x86_64_linux: "da3a346eff9a3c9d50c7144e595a60c9e78fb07ba52915769e96ec89e0ef769d" end depends_on "zig" => :build diff --git a/Formula/f/fnug.rb b/Formula/f/fnug.rb deleted file mode 100644 index 22c48674c4..0000000000 --- a/Formula/f/fnug.rb +++ /dev/null @@ -1,106 +0,0 @@ -class Fnug < Formula - include Language::Python::Virtualenv - - desc "Nice lint runner" - homepage "https://github.com/nickolaj-jepsen/fnug" - url "https://files.pythonhosted.org/packages/b8/a8/e05f03ee8d008e002eaa4fab6d78eb40c66bd1d28ec232ff1aa2dbaa3331/fnug-0.0.27.tar.gz" - sha256 "eb43b6dc46938227732e33bde384e79a189ce61412d30e27a9b4db32f5cde1d9" - license "GPL-3.0-only" - head "https://github.com/nickolaj-jepsen/fnug.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "21c9cfb42d670fea156b0d396b678ca025ee2c4edb2d39765bcc9f5c52bf9ded" - sha256 cellar: :any, arm64_sequoia: "3e99c0510b9a8890957d6e432ae9dd9d1be5600ac146ae463a3b2fb9a2ab75d1" - sha256 cellar: :any, arm64_sonoma: "6cfb7af2ed55a6624d5e2cc3b35f7d96b37efe7a65a1e49ff4295774e8f707dd" - sha256 arm64_linux: "fad6bf37d2613145c978881cbd12de01ca921eba2abbb8fe4abf131c646405c7" - sha256 x86_64_linux: "118232340c8722f60bf0f3831aab08f9faf153e01d5981fefb4d82bf68656c2f" - end - - depends_on "rust" => :build - depends_on "python@3.14" - - pypi_packages exclude_packages: "pydantic" - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "click-default-group" do - url "https://files.pythonhosted.org/packages/1d/ce/edb087fb53de63dad3b36408ca30368f438738098e668b78c87f93cd41df/click_default_group-1.2.4.tar.gz" - sha256 "eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/f6/2f/f0b408f227edca21d1996c1cd0b65309f0cbff44264aa40aded3ff9ce2e1/textual-6.6.0.tar.gz" - sha256 "53345166d6b0f9fd028ed0217d73b8f47c3a26679a18ba3b67616dcacb470eec" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/fnug --version") - - # do a test fnug config - (testpath/".fnug.yml").write <<~YAML - fnug_version: 0.1.0 - name: fnug - linters: - - name: test-linter - type: markdown - command: echo "This is a test" - args: [] - YAML - - output = shell_output("#{bin}/fnug config") - assert_match "commands: []", output - end -end diff --git a/Formula/f/fortran-linter.rb b/Formula/f/fortran-linter.rb index e3a111ec3f..ff4d9aecde 100644 --- a/Formula/f/fortran-linter.rb +++ b/Formula/f/fortran-linter.rb @@ -9,11 +9,13 @@ class FortranLinter < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, all: "b99da22876b9349ba3809be3d4ef494192a05d4fbcb073ce9bc57a4077397c62" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "acaa22ac7d2eb0aef1d13110279e250ebec62fdca5554f6991ebefed59296570" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "1b94239b0a42189413680b6bb7c18ae3c7dbf61e2a4f23dc0fac28d3c232b797" + sha256 cellar: :any_skip_relocation, ventura: "80fe0288be18511de43e9cefbe4a136f991cc0c63d1cf9480d6962cd4aa97e16" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e2de8e05a0980c9d7095bbb9fa48632093b9daf796a7162481bf2940ad5c27a9" end - depends_on "python@3.14" + depends_on "python@3.13" def install virtualenv_install_with_resources diff --git a/Formula/f/foy.rb b/Formula/f/foy.rb index 4f203fbc49..691f10bf43 100644 --- a/Formula/f/foy.rb +++ b/Formula/f/foy.rb @@ -1,38 +1,43 @@ class Foy < Formula desc "Simple, light-weight and modern task runner for general purpose" homepage "https://zaaack.github.io/foy/" - url "https://registry.npmjs.org/foy/-/foy-1.0.1.tgz" - sha256 "cbeb9511db1d1aa35c27e3db281637fa70d41065c65579bbc179eaacce351e46" + url "https://registry.npmjs.org/foy/-/foy-0.3.0.tgz" + sha256 "275c7e3a8f4a9243dc7d32bbfca008a2f87c0517a6e2bd8b0db9647a5ba5a914" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "da3c3a790feffbbed6012fde61d54a5f68792fee81f48c163e3365928968e867" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "048ef2bb88b689f6eed4b1b86d61fff7f0e7f76492d1e92ad7fa9a6511b7c288" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "50d41e8f6a254d8c11bdd616408f4e903eaef44e1204d0781417702041e4ae60" + sha256 cellar: :any_skip_relocation, ventura: "491605b0fce3c12c7827b778e4c45200b0bcec147f704f1003688003281b6e30" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ec1dbb1d34bbb1399db473f86e83dfccaf54f654b773023ff2cb6ab231f76806" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do + # see test failure in https://github.com/chenrui333/homebrew-tap/pull/485#issuecomment-2701902017 + ENV.prepend_path "NODE_PATH", libexec/"lib/node_modules" + (testpath/"package.json").write <<~JSON { "name": "test", "version": "1.0.0", - "type": "module" + "main": "index.js", + "dependencies": { + "foy": "#{version}" + } } JSON - (testpath/"node_modules").mkpath - ln_s libexec/"lib/node_modules/foy", testpath/"node_modules/foy" - (testpath/"Foyfile.js").write <<~JS - import { task } from "foy" - - task("hello", async () => { + const { task } = require('foy') + task('hello', async ctx => { console.log('Hello, world!') }) JS diff --git a/Formula/f/fresh.rb b/Formula/f/fresh.rb deleted file mode 100644 index 2389f1c79a..0000000000 --- a/Formula/f/fresh.rb +++ /dev/null @@ -1,50 +0,0 @@ -class Fresh < Formula - desc "Modern terminal-based text editor with plugin support" - homepage "https://getfresh.dev/" - url "https://github.com/sinelaw/fresh/archive/refs/tags/v0.3.1.tar.gz" - sha256 "52fe3372310ef37e9ceb495d1b5b8d8401765fdda6e0c656f832316baae0c8b5" - license "GPL-2.0-only" - head "https://github.com/sinelaw/fresh.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8cb2dad637f17619108404abb51fa97e87bc5543eaf84d8afe8632947d705757" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9a13cf788bdfdd8357fc14a80801889dc3a1af49a4667a92f99c5b7cb22e1ed4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "355cc9cc2385177ce17acffef77b3e77962ae23990430e0410c23dbc0e7e5c68" - sha256 cellar: :any_skip_relocation, arm64_linux: "caa6526f9a2bcf7563c3e79b47b737501f7fb12845e29c579cdcee10e3037103" - sha256 cellar: :any_skip_relocation, x86_64_linux: "adf75256b54a526349605c39297a056ae2e77cbe6d5fa1f362dedceb2aaf0f4d" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "oniguruma" - - on_linux do - depends_on "llvm" => :build - end - - def install - ENV["LIBCLANG_PATH"] = Formula["llvm"].opt_lib if OS.linux? - - system "cargo", "install", *std_cargo_args(path: "crates/fresh-editor") - end - - test do - assert_match version.to_s, shell_output("#{bin}/fresh --version") - - env = [ - "HOME=#{testpath}", - "XDG_CONFIG_HOME=#{testpath}/.config", - "XDG_DATA_HOME=#{testpath}/.local/share", - "XDG_STATE_HOME=#{testpath}/.local/state", - "XDG_CACHE_HOME=#{testpath}/.cache", - ].join(" ") - - paths = shell_output("#{env} #{bin}/fresh --no-upgrade-check --cmd config paths") - assert_match "Fresh directories:", paths - assert_match testpath.to_s, paths - - sessions = shell_output("#{env} #{bin}/fresh --no-upgrade-check --cmd session list") - assert_match "No active sessions.", sessions - end -end diff --git a/Formula/f/froggit.rb b/Formula/f/froggit.rb deleted file mode 100644 index fc28064506..0000000000 --- a/Formula/f/froggit.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Froggit < Formula - desc "Modern, minimalist Git TUI" - homepage "https://froggit-docs.vercel.app/" - url "https://github.com/thewizardshell/froggit/archive/refs/tags/v1.2.0-beta.tar.gz" - sha256 "9b3dc1b9669ae35b612abaa6d579b76b7ed78539a075efcdcc4de7e5e42dd113" - license "MIT" - head "https://github.com/thewizardshell/froggit.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2f8ac9946d5285e0d34d380ca2598e1f760bbd314730aad1c4bc99fef831a3bd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2f8ac9946d5285e0d34d380ca2598e1f760bbd314730aad1c4bc99fef831a3bd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2f8ac9946d5285e0d34d380ca2598e1f760bbd314730aad1c4bc99fef831a3bd" - sha256 cellar: :any_skip_relocation, arm64_linux: "5f66ced7923d6085a46579e4f5a19a6e9bdd3e600239261bd2bb0b3282dfa6a6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3f504b9d10b4276a83a81b75bfd753af627613e2b58deda5347f24fa19827635" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match "Version:", shell_output("#{bin}/froggit -version") - assert_match "Keyboard Shortcuts", shell_output("#{bin}/froggit -keys") - end -end diff --git a/Formula/f/fsociety.rb b/Formula/f/fsociety.rb index c02e3863aa..5bf96e99c3 100644 --- a/Formula/f/fsociety.rb +++ b/Formula/f/fsociety.rb @@ -9,18 +9,22 @@ class Fsociety < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, all: "d140926a1ba20313fb84017cc0867f2814316711a758ae4e6242ca47cf969db2" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "126e51a1e83c8fb973ee23e559fc90fd195b33ba40d432470990e9f003380bcb" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c9e81f95c209e72c518d50e65972f750f62d31f51dbdf01e884012190469febe" + sha256 cellar: :any_skip_relocation, ventura: "7cce4e99e034da264ea86e5e5d76cb65187c0096d02bd03e5baf710deb9312da" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b6463de247908f5428bf68331c70793d6bfd9ab3818230b17f87aba31e0c1a1a" end - depends_on "certifi" => :no_linkage - depends_on "python@3.14" + depends_on "python@3.13" - pypi_packages exclude_packages: "certifi" + resource "certifi" do + url "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz" + sha256 "3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651" + end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz" + sha256 "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3" end resource "distro" do @@ -34,18 +38,18 @@ class Fsociety < Formula end resource "gitpython" do - url "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz" - sha256 "85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c" + url "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz" + sha256 "c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" + url "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz" + sha256 "e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb" end resource "mdurl" do @@ -54,18 +58,18 @@ class Fsociety < Formula end resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" + url "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz" + sha256 "61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f" end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz" + sha256 "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760" end resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" + url "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz" + sha256 "439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098" end resource "smmap" do @@ -74,8 +78,8 @@ class Fsociety < Formula end resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" + url "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz" + sha256 "f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" end # upstream pr ref, https://github.com/fsociety-team/fsociety/pull/279 diff --git a/Formula/f/ftdv.rb b/Formula/f/ftdv.rb deleted file mode 100644 index 028bd83258..0000000000 --- a/Formula/f/ftdv.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Ftdv < Formula - desc "Terminal-based file tree diff viewer with flexible diff tool integration" - homepage "https://github.com/wtnqk/ftdv" - url "https://github.com/wtnqk/ftdv/archive/refs/tags/v0.1.2.tar.gz" - sha256 "8a0dff5da5c5992f1ee16448974c4fea91bf4df96565305bfe19c4833bdf54e8" - license any_of: ["MIT", "Apache-2.0"] - head "https://github.com/wtnqk/ftdv.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fb4e8f41fb75ae2bf345b376c85b965db105df35b47dca5e4ef5cdaa0a354402" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3dd183a42f38a9c8459d9c81f68ba388d09808d37680538f57e1bd9d21442256" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "397781a93b49824d14475b96535a600f73a608320eda7576d1b7ad6bada4601f" - sha256 cellar: :any_skip_relocation, arm64_linux: "05b3859f580e65b2159b8a51e0a35a87b03d05a4cf28782369fb2e80c303b88d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8d89c89cfbaea33634dadfcfe3568617b02a04dd7a2fa9db54a591491f5e74fd" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: ".") - generate_completions_from_executable(bin/"ftdv", "completions") - end - - test do - assert_match version.to_s, shell_output("#{bin}/ftdv --version") - - bash_completion = shell_output("#{bin}/ftdv completions bash") - assert_match "_ftdv", bash_completion - assert_match "status", bash_completion - assert_match "completions", bash_completion - end -end diff --git a/Formula/f/fuck-u-code.rb b/Formula/f/fuck-u-code.rb deleted file mode 100644 index 984a27a653..0000000000 --- a/Formula/f/fuck-u-code.rb +++ /dev/null @@ -1,38 +0,0 @@ -class FuckUCode < Formula - desc "Detect legacy code mess and generate a beautiful report" - homepage "https://github.com/Done-0/fuck-u-code" - url "https://github.com/Done-0/fuck-u-code/archive/refs/tags/v2.2.1.tar.gz" - sha256 "ec1906ea8ca821f6104f8c098dc547abda0f432582220b891209b69bb21235b5" - license "MIT" - head "https://github.com/Done-0/fuck-u-code.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "032e3c08270d761be788a4a9bcb15580f5f0f354b71ebc374e44bbb484fb494c" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args(prefix: false) - system "npm", "run", "build" - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - (testpath/"main.js").write <<~JS - function greeting(name) { - return `Hello, ${name}!` - } - - console.log(greeting("brew")) - JS - - assert_match version.to_s, shell_output("#{bin}/fuck-u-code --version") - - output = shell_output("#{bin}/fuck-u-code analyze #{testpath}") - assert_match "Code Quality Analysis Report", output - assert_match "Overall Score", output - end -end diff --git a/Formula/g/g1c.rb b/Formula/g/g1c.rb deleted file mode 100644 index f8a8e005e6..0000000000 --- a/Formula/g/g1c.rb +++ /dev/null @@ -1,28 +0,0 @@ -class G1c < Formula - desc "TUI for managing Google Cloud instances, inspired by k9s and e1s" - homepage "https://github.com/nlamirault/g1c" - url "https://github.com/nlamirault/g1c/archive/refs/tags/v0.2.0.tar.gz" - sha256 "7017b860ca983a18aa29098256542bacb2f174ee4e8c10f5127440094d657a97" - license "Apache-2.0" - head "https://github.com/nlamirault/g1c.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "83e3e8e7b18683ea019f745cc8ec2ee58d048b80dce9015864b16a13772ca4fe" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "56fef57c840df090da8def99f9e2694d4070e887f65408c91a81cc9d8d8fe278" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "48589a8738d5643c1bf28c49093662f5331d49c16c290eb74e7eff40406307ff" - sha256 cellar: :any_skip_relocation, arm64_linux: "10640ea46602d50109904d8071e6893656bd9fc935dafb1cd4a4879a1b6f3f0a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "201257cf23d343981560bf91c5dc95d4c3545ef485fa13d2940a8e8e5279384d" - end - - depends_on "rust" => :build - - def install - inreplace "Cargo.toml", "0.1.0", version.to_s - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/g1c --version") - end -end diff --git a/Formula/g/get-port-cli.rb b/Formula/g/get-port-cli.rb deleted file mode 100644 index 8898208719..0000000000 --- a/Formula/g/get-port-cli.rb +++ /dev/null @@ -1,28 +0,0 @@ -class GetPortCli < Formula - desc "Get an available port" - homepage "https://github.com/sindresorhus/get-port-cli" - url "https://registry.npmjs.org/get-port-cli/-/get-port-cli-3.0.0.tgz" - sha256 "42bda9c04261747640267510fdaaeffc6cd712a3c54d675e43dc932cc0a0222f" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6190a1ea582e56aab0a819d18d819985cfc5eec95b6b63f3d1fa1568bc1f29cc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "56d5d03308b8c19f6dd7ff779e586b90f659dbacd5e2c4b09f1508c066069c09" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "60d8a1abfcb91ebe61d41372fd7d85345d42c5d7dd34ec47770e02cfa3ca94b2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0e61f926d735d4d0d81c1e2e224d38d45af877fa196f208c2a4849518019757b" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/get-port --version") - - system bin/"get-port", "--host=127.0.0.1" - end -end diff --git a/Formula/g/get-shit-done-cc.rb b/Formula/g/get-shit-done-cc.rb deleted file mode 100644 index f5380112de..0000000000 --- a/Formula/g/get-shit-done-cc.rb +++ /dev/null @@ -1,30 +0,0 @@ -class GetShitDoneCc < Formula - desc "Meta-prompting and context engineering system for AI coding agents" - homepage "https://github.com/gsd-build/get-shit-done" - url "https://github.com/gsd-build/get-shit-done/archive/refs/tags/v1.38.5.tar.gz" - sha256 "8792fbf91528d47219e84061c9ec09b4013fb554f63ec577e9ee18c237859338" - license "MIT" - head "https://github.com/gsd-build/get-shit-done.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "b6a1745cc8189c9a65f8277c17e816c2a15462919c1c98bcdecd54534d6facb8" - end - - depends_on "node" - - def install - system "npm", "run", "build:hooks" - libexec.install Dir["*"] - node_modules = libexec/"node_modules" - node_modules.mkpath - (bin/"get-shit-done-cc").write_env_script libexec/"bin/install.js", - PATH: "#{Formula["node"].opt_bin}:$PATH" - end - - test do - output = shell_output("#{bin}/get-shit-done-cc --help") - assert_match "Get Shit Done", output - assert_match version.to_s, output - end -end diff --git a/Formula/g/gh-dash.rb b/Formula/g/gh-dash.rb deleted file mode 100644 index ac3ce60604..0000000000 --- a/Formula/g/gh-dash.rb +++ /dev/null @@ -1,38 +0,0 @@ -class GhDash < Formula - desc "Terminal UI for GitHub" - homepage "https://github.com/dlvhdr/gh-dash" - url "https://github.com/dlvhdr/gh-dash/archive/refs/tags/v4.23.2.tar.gz" - sha256 "aef43a5998fa16447a832797484984ed8894b65c94acebc17f8210c2b3b4b687" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ec62ea99eb5f3f4d3b43a42ac49fc2f01a6eaf4de36d431c259d437c10c71946" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "ec62ea99eb5f3f4d3b43a42ac49fc2f01a6eaf4de36d431c259d437c10c71946" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ec62ea99eb5f3f4d3b43a42ac49fc2f01a6eaf4de36d431c259d437c10c71946" - sha256 cellar: :any_skip_relocation, arm64_linux: "b6f7e698a1c87c59d0441d167dd1cb624ea75294abb9f9de5a837043e5216861" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3eb037d544df9e92aac639027c307449e223430c7aaada0112b20624eaacd7be" - end - - depends_on "go" => :build - depends_on "gh" - - def install - ldflags = %W[ - -s - -w - -X github.com/dlvhdr/gh-dash/v4/cmd.Version=#{version} - -X github.com/dlvhdr/gh-dash/v4/cmd.Commit=Homebrew - -X github.com/dlvhdr/gh-dash/v4/cmd.Date=unknown - -X github.com/dlvhdr/gh-dash/v4/cmd.BuiltBy=Homebrew - ] - - system "go", "build", *std_go_args(ldflags:, output: bin/"gh-dash") - end - - test do - output = shell_output("#{bin}/gh-dash one two 2>&1", 1) - assert_match "Accepts at most 1 arg(s)", output - assert_match version.to_s, shell_output("#{bin}/gh-dash --version") - end -end diff --git a/Formula/g/gh-repo-man.rb b/Formula/g/gh-repo-man.rb deleted file mode 100644 index d60ac85868..0000000000 --- a/Formula/g/gh-repo-man.rb +++ /dev/null @@ -1,85 +0,0 @@ -class GhRepoMan < Formula - desc "Manage GitHub repositories interactively from the terminal" - homepage "https://github.com/2KAbhishek/gh-repo-man" - url "https://github.com/2KAbhishek/gh-repo-man/archive/refs/tags/v1.1.tar.gz" - sha256 "4a5ec096ddba52f1062ea1aa746f6fa5f4c8d289922c5718ad23ac3368715d86" - license "MIT" - head "https://github.com/2KAbhishek/gh-repo-man.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8c3ad69145fa5e8713fde0ce0782d0ef900c26579fe87ad48a8e35b7a477f72c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8c3ad69145fa5e8713fde0ce0782d0ef900c26579fe87ad48a8e35b7a477f72c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8c3ad69145fa5e8713fde0ce0782d0ef900c26579fe87ad48a8e35b7a477f72c" - sha256 cellar: :any_skip_relocation, arm64_linux: "b164db103a3d7573712c9c9afa3294b0be5ea117064b4aaa082c0362364295eb" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e412366157a8401b81b6fc71e02198107e9044dc14241a1a8f980f213c3109cf" - end - - depends_on "go" => :build - depends_on "fzf" - depends_on "gh" - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "." - end - - test do - testbin = testpath/"test-bin" - testbin.mkpath - - gh = testbin/"gh" - gh.write <<~SH - #!/bin/sh - if [ "$1" = "repo" ] && [ "$2" = "list" ]; then - cat <<'JSON' - [{"name":"sample-repo","description":"Sample repository","url":"https://github.com/brewtest/sample-repo","stargazerCount":3,"forkCount":1,"watchers":{"totalCount":2},"issues":{"totalCount":0},"owner":{"login":"brewtest"},"createdAt":"2025-01-01T00:00:00Z","updatedAt":"2025-01-02T00:00:00Z","diskUsage":42,"homepageUrl":"","isFork":false,"isArchived":false,"isPrivate":false,"isTemplate":false,"repositoryTopics":[],"primaryLanguage":{"name":"Go"}}] - JSON - exit 0 - fi - if [ "$1" = "api" ] && [ "$2" = "user" ]; then - echo '{"login":"brewtest"}' - exit 0 - fi - echo "unexpected gh invocation: $*" >&2 - exit 1 - SH - - fzf = testbin/"fzf" - fzf.write <<~SH - #!/bin/sh - IFS= read -r first_line - printf '%s\n' "$first_line" - SH - - git = testbin/"git" - git.write <<~SH - #!/bin/sh - if [ "$1" = "clone" ]; then - mkdir -p "$3/.git" - exit 0 - fi - echo "unexpected git invocation: $*" >&2 - exit 1 - SH - - chmod 0755, [gh, fzf, git] - ENV.prepend_path "PATH", testbin - - home = Pathname(Dir.home) - config_dir = home/".config"/"gh-repo-man" - config_dir.mkpath - config = config_dir/"config.yml" - config.write <<~YAML - repos: - projects_dir: #{home/"projects"} - per_user_dir: false - integrations: - post_clone: - enabled: false - YAML - - output = shell_output("#{bin}/gh-repo-man --user brewtest") - assert_match "Successfully cloned sample-repo", output - assert_path_exists home/"projects"/"sample-repo"/".git" - end -end diff --git a/Formula/g/gh-unpushed.rb b/Formula/g/gh-unpushed.rb deleted file mode 100644 index 1998d5a586..0000000000 --- a/Formula/g/gh-unpushed.rb +++ /dev/null @@ -1,42 +0,0 @@ -class GhUnpushed < Formula - desc "GitHub CLI extension that shows your unpushed Git commits" - homepage "https://github.com/achoreim/gh-unpushed" - url "https://github.com/achoreim/gh-unpushed/archive/refs/tags/v0.1.1.tar.gz" - sha256 "adbb1ad2a7650a22e1e0bf6f7bc07a1fa6c5ec0a64bfe5436e8be843f68c3b11" - license "MIT" - head "https://github.com/achoreim/gh-unpushed.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "bc2f77f04194c8d1cd9c1f08774a4a9bf0d59199922b7c568714f3e44c9faaa4" - end - - depends_on "gh" - - def install - libexec.install "gh-unpushed", "VERSION" - bin.write_exec_script libexec/"gh-unpushed" - end - - test do - assert_match version.to_s, shell_output("#{bin/"gh-unpushed"} --version") - - system "git", "init", "-b", "main" - system "git", "config", "user.name", "Homebrew" - system "git", "config", "user.email", "brew@example.com" - (testpath/"README.md").write("first\n") - system "git", "add", "README.md" - system "git", "commit", "-m", "first" - - system "git", "init", "--bare", testpath/"remote.git" - system "git", "remote", "add", "origin", testpath/"remote.git" - system "git", "push", "-u", "origin", "main" - - (testpath/"README.md").append_lines("second") - system "git", "commit", "-am", "second" - - output = shell_output(bin/"gh-unpushed") - assert_match "Unpushed commits on 'main'", output - assert_match "second", output - end -end diff --git a/Formula/g/ghgrab.rb b/Formula/g/ghgrab.rb deleted file mode 100644 index bfc2d44112..0000000000 --- a/Formula/g/ghgrab.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Ghgrab < Formula - desc "TUI for searching and downloading files from GitHub repositories" - homepage "https://github.com/abhixdd/ghgrab" - url "https://github.com/abhixdd/ghgrab/archive/refs/tags/v1.3.2.tar.gz" - sha256 "2c38e403957eb60c4c20cbd6accadc4900e09cee02edad2ee047e9284006a944" - license "MIT" - head "https://github.com/abhixdd/ghgrab.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "bc88a968000080a2b67bbc07383455251efd0ac9412fac4140492e913c7d7155" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "71c6e3485b7b729973c1b7a047660b6e390053dbd3b6629072a5d4aa9458ec53" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "76d518edad1e5df7ed973a2804044873583afcee8e5225ac08bf7505795b2aa9" - sha256 cellar: :any_skip_relocation, arm64_linux: "c9dc2b03d8fa7d06c60fbb43ebb88368b15882a854b22bd55fbf9fd6a7cf8426" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b830ffe00443549e354710bc0f89ab5e991d9e390baf7441cddaaffe48e143d8" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - require "json" - - ENV["XDG_CONFIG_HOME"] = testpath/"config" - (testpath/"downloads").mkpath - - assert_match version.to_s, shell_output("#{bin}/ghgrab --version") - assert_match "saved successfully", shell_output("#{bin}/ghgrab config set path #{testpath/"downloads"}") - assert_match "Download Path: #{testpath/"downloads"}", shell_output("#{bin}/ghgrab config list") - - payload = JSON.parse(shell_output("#{bin}/ghgrab agent tree not-a-url")) - assert_equal false, payload["ok"] - assert_equal "invalid_url", payload.dig("error", "code") - end -end diff --git a/Formula/g/gignr.rb b/Formula/g/gignr.rb index c39e5a5da3..752920e192 100644 --- a/Formula/g/gignr.rb +++ b/Formula/g/gignr.rb @@ -8,12 +8,10 @@ class Gignr < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "cc914213a77e3e3d2cc3e5e0499fdb982ebf8bda92558bdbd82e650ca89b0283" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "cc914213a77e3e3d2cc3e5e0499fdb982ebf8bda92558bdbd82e650ca89b0283" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cc914213a77e3e3d2cc3e5e0499fdb982ebf8bda92558bdbd82e650ca89b0283" - sha256 cellar: :any_skip_relocation, arm64_linux: "50bb7de3458c887e602e58b17d92f67e2d36d4fbac5b5d85162d3d0c234983a1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "733b271f8ea3d3edf91b7903c71f3e47fbbf49d3f377ad5117c58eef746038be" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "4db2a955aec8414dc9f5f227c6594c733248334c3cc1d46a5916adef64fde5fc" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "8be4d6a3a79c0f1deec71f80dc2b1dc4b10e51217130fec52674841cbddd9950" + sha256 cellar: :any_skip_relocation, ventura: "c4b464e6f8a3dff4632f7c5ccd94553456f6a64cb664f483c81d2c0a63f10606" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2dcba412a2f8e91b69618146847904e2cdd7e981e37ecae795bee61f171a0cd8" end depends_on "go" => :build @@ -21,7 +19,7 @@ class Gignr < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w") - generate_completions_from_executable(bin/"gignr", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"gignr", "completion") end test do diff --git a/Formula/g/git-chglog.rb b/Formula/g/git-chglog.rb index b0cc394727..9d303fe7a5 100644 --- a/Formula/g/git-chglog.rb +++ b/Formula/g/git-chglog.rb @@ -4,16 +4,14 @@ class GitChglog < Formula url "https://github.com/git-chglog/git-chglog/archive/refs/tags/v0.15.4.tar.gz" sha256 "2351cb4ca5fde61ddc844d210dc5481c7361cfb99f70f35140a57ef6cb5cb311" license "MIT" - revision 1 head "https://github.com/git-chglog/git-chglog.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1bd925147de128df5754c33d1aa1c6e945c2fee45c755d6aab772751f005a5b8" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1bd925147de128df5754c33d1aa1c6e945c2fee45c755d6aab772751f005a5b8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1bd925147de128df5754c33d1aa1c6e945c2fee45c755d6aab772751f005a5b8" - sha256 cellar: :any_skip_relocation, arm64_linux: "b68002b29adba5cd907a8aee51c8e231a6836ed4e27f4dc14ba604f3421b6d7c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fcd057cdb0dd4faa37b2ba141c8d0a6e0e9735782cd087d0a63bfd02ef1c17db" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "120a4055ec7ac1d4ef2edadb19fc787b495c1bbaf3eeec3fcef84b32caf7c4fb" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "738120d037bd58d018531576ba36fd072c8946723d9b456636799fa0c97d4db5" + sha256 cellar: :any_skip_relocation, ventura: "0093d7414ff8210b537b8aaf3bc41a67405d54f730b027361290b697d9c7b1e2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "564542690498756148e45b6e3b5509dc1fd327770634e63a88f0b708db2c1691" end depends_on "go" => :build diff --git a/Formula/g/gita.rb b/Formula/g/gita.rb deleted file mode 100644 index 789cb018cc..0000000000 --- a/Formula/g/gita.rb +++ /dev/null @@ -1,55 +0,0 @@ -class Gita < Formula - include Language::Python::Virtualenv - - desc "Manage many git repos with sanity" - homepage "https://github.com/nosarthur/gita" - url "https://files.pythonhosted.org/packages/1d/89/8dd6dd79eadd70ff2f64b79f434637e384cd0490c2a626074e2a73c8a896/gita-0.16.8.2.tar.gz" - sha256 "064e5cbcfa5df76409cfd8e70142f8153f6ecc40fb35d3a28a0a04054d5fb3fd" - license "MIT" - head "https://github.com/nosarthur/gita.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8209f4d077a24e81ba468d10a7794b77fae23d2743c8e078484f3684ecf7e607" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8209f4d077a24e81ba468d10a7794b77fae23d2743c8e078484f3684ecf7e607" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8209f4d077a24e81ba468d10a7794b77fae23d2743c8e078484f3684ecf7e607" - sha256 cellar: :any_skip_relocation, sequoia: "cc0c0931a9798dadf35b1c76e3d459595f24660b9ba899103bd7fd006bbd1142" - sha256 cellar: :any_skip_relocation, arm64_linux: "cc0c0931a9798dadf35b1c76e3d459595f24660b9ba899103bd7fd006bbd1142" - sha256 cellar: :any_skip_relocation, x86_64_linux: "cc0c0931a9798dadf35b1c76e3d459595f24660b9ba899103bd7fd006bbd1142" - end - - depends_on "python@3.14" - - resource "argcomplete" do - url "https://files.pythonhosted.org/packages/38/61/0b9ae6399dd4a58d8c1b1dc5a27d6f2808023d0b5dd3104bb99f45a33ff6/argcomplete-3.6.3.tar.gz" - sha256 "62e8ed4fd6a45864acc8235409461b72c9a28ee785a2011cc5eb78318786c89c" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" - sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/gita --version") - - %w[repo1 repo2].each do |repo| - mkdir repo do - system "git", "init", "--initial-branch=main" - end - end - - # register repos - system bin/"gita", "add", "repo1", "repo2" - # create a group - system bin/"gita", "group", "add", "-n", "my-group", "repo1", "repo2" - - output = shell_output("#{bin}/gita ll my-group") - assert_match "repo1", output - assert_match "repo2", output - end -end diff --git a/Formula/g/gitact.rb b/Formula/g/gitact.rb deleted file mode 100644 index 938a9f6a3d..0000000000 --- a/Formula/g/gitact.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Gitact < Formula - desc "Explore GitHub profiles, repositories, and activity from the terminal" - homepage "https://github.com/nathbns/gitact" - url "https://github.com/nathbns/gitact/archive/refs/tags/v1.0.1.tar.gz" - sha256 "518b350ce13c29239672e3a2b49d62c8d61bb74578e38198f82c8ea5868e7782" - license "MIT" - head "https://github.com/nathbns/gitact.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6924104651be2e1f9e815e3cb8c283fa8846f9d22bbc8fd93043d34f780fed44" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6924104651be2e1f9e815e3cb8c283fa8846f9d22bbc8fd93043d34f780fed44" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6924104651be2e1f9e815e3cb8c283fa8846f9d22bbc8fd93043d34f780fed44" - sha256 cellar: :any_skip_relocation, arm64_linux: "30251ee968b867d4c9f48b0a6e36b3151bee91f9ddc7a716ea35082e4fac4381" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b05f788c2383b94aefd99b278e2ac7e23ac21d1950fc4eab1c83b16f730ef5b5" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "." - end - - test do - assert_match "GitHub Activity CLI - Modern Edition", shell_output("#{bin}/gitact --help") - - output = shell_output("#{bin}/gitact --repos 2>&1", 1) - assert_match "error: --repos requires a username", output - assert_match "usage: #{bin}/gitact --repos ", output - end -end diff --git a/Formula/g/gitcredits.rb b/Formula/g/gitcredits.rb deleted file mode 100644 index 9772acfe3c..0000000000 --- a/Formula/g/gitcredits.rb +++ /dev/null @@ -1,61 +0,0 @@ -class Gitcredits < Formula - desc "Turn your Git repository into movie-style rolling credits" - homepage "https://github.com/Higangssh/gitcredits" - url "https://github.com/Higangssh/gitcredits/archive/refs/tags/v0.1.3.tar.gz" - sha256 "4cf71d10bc247500eaef4bc139e0716148ddca3077d2ee1024e253d7c1d49483" - license "MIT" - head "https://github.com/Higangssh/gitcredits.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "46b19aed379cd4697d7e16d3a9649ebd0adad08f09cfffc0e8c455c8ae5f8ff4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "46b19aed379cd4697d7e16d3a9649ebd0adad08f09cfffc0e8c455c8ae5f8ff4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "46b19aed379cd4697d7e16d3a9649ebd0adad08f09cfffc0e8c455c8ae5f8ff4" - sha256 cellar: :any_skip_relocation, arm64_linux: "f059a29225ae3f0c17e160a9c4c558ef56978b085647c775b31252f0977365ec" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6240eff2f8e0e04f33797011de076488b8da05d8feba8b71a0dd08035f498892" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version} -X main.commit=brew") - end - - test do - assert_match "gitcredits #{version}", shell_output("#{bin}/gitcredits --version") - - testbin = testpath/"test-bin" - testbin.mkpath - - (testbin/"vhs").write <<~SH - #!/bin/sh - out=$(sed -n 's/^Output "\\(.*\\)"$/\\1/p' "$1") - : > "$out" - SH - - (testbin/"ffmpeg").write <<~SH - #!/bin/sh - for last - do - : - done - : > "$last" - SH - - chmod 0755, [testbin/"vhs", testbin/"ffmpeg"] - ENV.prepend_path "PATH", testbin - - repo = testpath/"repo" - repo.mkpath - system "git", "-C", repo, "init" - system "git", "-C", repo, "config", "user.name", "Brew Test" - system "git", "-C", repo, "config", "user.email", "brew@example.com" - (repo/"README.md").write("hello\n") - system "git", "-C", repo, "add", "README.md" - system "git", "-C", repo, "commit", "-m", "feat: init" - - output = shell_output("cd #{repo} && #{bin}/gitcredits --output credits.gif") - assert_match "GIF saved: credits.gif", output - assert_path_exists repo/"credits.gif" - end -end diff --git a/Formula/g/gitid.rb b/Formula/g/gitid.rb deleted file mode 100644 index 5aad25499b..0000000000 --- a/Formula/g/gitid.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Gitid < Formula - desc "Tool to stop sending work commits with your personal email" - homepage "https://github.com/nathabonfim59/gitid" - url "https://github.com/nathabonfim59/gitid/archive/refs/tags/v1.3.0.tar.gz" - sha256 "28e9760e884bafadcf31d898abd8dd0b03f0af3b0beb807ae16a7ab357a103ed" - license "MIT" - head "https://github.com/nathabonfim59/gitid.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "de25a5ab58a1ddd8493182436cb3a09bfcfc54f1016f8f7bfa51832984e265d9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "de25a5ab58a1ddd8493182436cb3a09bfcfc54f1016f8f7bfa51832984e265d9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "de25a5ab58a1ddd8493182436cb3a09bfcfc54f1016f8f7bfa51832984e265d9" - sha256 cellar: :any_skip_relocation, arm64_linux: "d0b7286aead4baaa56feca863ca78f49cad9bc82093bad558f68420ef9db7146" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d441c479c4a730b44795b790f5956059f4e6b9eac518bfec2a1127d4e3ad75f2" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - - # generate_completions_from_executable(bin/"gitid", "completion") - end - - test do - assert_match "No identities configured", shell_output("#{bin}/gitid list") - system bin/"gitid", "add", "BrewTest", "test@brew.sh", "homebrew" - assert_match "BrewTest", shell_output("#{bin}/gitid nickname test@brew.sh homebrew") - end -end diff --git a/Formula/g/gitlabform.rb b/Formula/g/gitlabform.rb index 14bd1949ee..3bda42cdd0 100644 --- a/Formula/g/gitlabform.rb +++ b/Formula/g/gitlabform.rb @@ -9,23 +9,17 @@ class Gitlabform < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "adc05d6d6eaea98982efc1bbc257c782ae44185280864b55ad80e117c54893cd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1789bb606c3a0142893968f7e4ebaf113d9a1b7786eacfe569d60c5ee609cd35" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "75f6957ee86f0e2cc8170e2277d320a46c7dbf10f29613bb0c254922487ee716" - sha256 cellar: :any_skip_relocation, sequoia: "d428106b8ebe3728f7f21457b681a6020218d5a4cdf7f3524067687a414346a1" - sha256 cellar: :any_skip_relocation, arm64_linux: "c29dfd575f37ae46a9a629c08a7a4ef49a26ae84cf2c433ddd93b08a985f7867" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ec1d1f3e49dcea69dbff89cd7df1efbb67312c48d5da90a037a3c0f1994fbec7" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "92ee6bb065a589b926fed5af96d9532d7f1e3d497904ec175fbae38e534a238e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "aa83e78a985dee0db014a072f43e24141e3dd23b875250a19fb43d0330a01455" + sha256 cellar: :any_skip_relocation, ventura: "1dd8f6d1381cb6ac5ffe971ce76073218123f430dc48c9efa0c17ef8ec02f42a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "080baa38d882f0596f4af96eac8a7e08c21659677213b20937d99ee8512a44c0" end - depends_on "certifi" => :no_linkage depends_on "python@3.13" - pypi_packages exclude_packages: "certifi" - resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz" + sha256 "673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028" end resource "backoff" do @@ -33,9 +27,14 @@ class Gitlabform < Formula sha256 "03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba" end + resource "certifi" do + url "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz" + sha256 "3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651" + end + resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz" + sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" end resource "cli-ui" do @@ -82,8 +81,8 @@ class Gitlabform < Formula end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jinja2" do @@ -107,8 +106,8 @@ class Gitlabform < Formula end resource "multidict" do - url "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" - sha256 "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5" + url "https://files.pythonhosted.org/packages/91/2f/a3470242707058fe856fe59241eee5635d79087100b7042a867368863a27/multidict-6.4.4.tar.gz" + sha256 "69ee9e6ba214b5245031b76233dd95408a0fd57fdb019ddcc1ead4790932a8e8" end resource "packaging" do @@ -117,8 +116,8 @@ class Gitlabform < Formula end resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" + url "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz" + sha256 "20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168" end resource "python-dateutil" do @@ -182,8 +181,8 @@ class Gitlabform < Formula end resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" + url "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz" + sha256 "414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466" end resource "yamlpath" do @@ -192,8 +191,8 @@ class Gitlabform < Formula end resource "yarl" do - url "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" - sha256 "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" + url "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz" + sha256 "d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac" end def install diff --git a/Formula/g/gitsnip.rb b/Formula/g/gitsnip.rb deleted file mode 100644 index 8b984c461e..0000000000 --- a/Formula/g/gitsnip.rb +++ /dev/null @@ -1,45 +0,0 @@ -class Gitsnip < Formula - desc "Download specific folders from a Git repository" - homepage "https://github.com/dagimg-dot/gitsnip" - url "https://github.com/dagimg-dot/gitsnip/archive/refs/tags/v0.1.1.tar.gz" - sha256 "d5e3c7d75b1b5145128d92cdb56abe08b623af22d96aa520e2411b18a794e4c6" - license "MIT" - head "https://github.com/dagimg-dot/gitsnip.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9fd3e70e13030ef490ddc878f213becaa8ef397c8fae07683174dd7c8448220b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9fd3e70e13030ef490ddc878f213becaa8ef397c8fae07683174dd7c8448220b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9fd3e70e13030ef490ddc878f213becaa8ef397c8fae07683174dd7c8448220b" - sha256 cellar: :any_skip_relocation, arm64_linux: "d2cbf575ef6e7f4e406d3602f702e65bdd5d943fa07b3f010611474b7a97f081" - sha256 cellar: :any_skip_relocation, x86_64_linux: "86b7b3b188029b4233f92d5f8f51f0aced96d5a5b3fcb625cd8bc4a65e6ef297" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/dagimg-dot/gitsnip/internal/cli.version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/gitsnip" - generate_completions_from_executable(bin/"gitsnip", "completion", shell_parameter_format: :cobra) - end - - test do - assert_match "GitSnip #{version}", shell_output("#{bin}/gitsnip version") - - repo = testpath/"repo" - repo.mkdir - (repo/"docs/snippet").mkpath - (repo/"docs/snippet/hello.txt").write("hello from gitsnip\n") - - system "git", "init", "-b", "main", repo - system "git", "-C", repo, "config", "user.name", "Homebrew" - system "git", "-C", repo, "config", "user.email", "brew@example.com" - system "git", "-C", repo, "add", "." - system "git", "-C", repo, "commit", "-m", "init" - - output_dir = testpath/"output" - system bin/"gitsnip", repo.to_s, "docs/snippet", output_dir.to_s, "--method", "sparse", "--quiet" - - assert_equal "hello from gitsnip\n", (output_dir/"hello.txt").read - end -end diff --git a/Formula/g/gittop.rb b/Formula/g/gittop.rb deleted file mode 100644 index 38f999ce73..0000000000 --- a/Formula/g/gittop.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Gittop < Formula - desc "Beautiful terminal UI for visualizing Git repository statistics" - homepage "https://github.com/hjr265/gittop" - url "https://github.com/hjr265/gittop/archive/refs/tags/v0.4.0.tar.gz" - sha256 "5afaf1ee423bb23b7e7cbe335bdbf2bc83da848caf2eeac82284efbe80ab3b4b" - license "BSD-3-Clause" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "cd40af3d6550664067a1d752aa9f051a082447ad8988c59d615072b9cab0d5f7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "cd40af3d6550664067a1d752aa9f051a082447ad8988c59d615072b9cab0d5f7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cd40af3d6550664067a1d752aa9f051a082447ad8988c59d615072b9cab0d5f7" - sha256 cellar: :any_skip_relocation, arm64_linux: "a26eef9aa5a24b58ccacfffceac3c9c4ce9ca6bd1794652881d9605051609855" - sha256 cellar: :any_skip_relocation, x86_64_linux: "85fce6824f7affa25a2929f28b9b22c777b0d8d0edc781b2641464b0f1cea475" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "." - end - - test do - system "git", "init" - system "git", "config", "user.name", "Homebrew" - system "git", "config", "user.email", "brew@example.com" - (testpath/"README.md").write("hello from Homebrew\n") - system "git", "add", "README.md" - system "git", "commit", "-m", "init" - - command = if OS.mac? - "printf 'q' | script -q /dev/null #{bin/"gittop"} #{testpath}" - else - "printf 'q' | script -qefc '#{bin/"gittop"} #{testpath}' /dev/null" - end - - output = shell_output("#{command} 2>&1") - assert_match "q", output - end -end diff --git a/Formula/g/gitv.rb b/Formula/g/gitv.rb deleted file mode 100644 index c28b48bf63..0000000000 --- a/Formula/g/gitv.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Gitv < Formula - desc "Terminal-based viewer for GitHub issues" - homepage "https://github.com/JayanAXHF/gitv" - url "https://github.com/JayanAXHF/gitv/archive/refs/tags/gitv-tui-v0.4.3.tar.gz" - sha256 "36f3eea4b2cc9cfe37278df0357172099e334092320253ddba275e22c771d971" - license any_of: ["MIT", "Unlicense"] - head "https://github.com/JayanAXHF/gitv.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "366a843d20a55f7759915c83922c4e17dfc63ccd627519385f12fc525e5cb9a3" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "da4cb2f3c62b237470dc342accaed866550949bf9ce6e6ff08af15957dae1967" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "03d908f376bd131eff02825c6afa5bd1748fabf074ac6ac9a977088ed04b468a" - sha256 cellar: :any_skip_relocation, arm64_linux: "43368dddc94570588550949a5d0643db1e2f8c87bea480e930b48b13d4a24825" - sha256 cellar: :any_skip_relocation, x86_64_linux: "111328b3c0c5285b4d31475e02d2f35743775812a601a9b0c13825a4c8021a8a" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - - ENV["PREFIX"] = prefix - system bin/"gitv", "--generate-man" - - generated_manpage = man1/"gitv_tui.1" - generated_manpage.rename(man1/"gitv.1") if generated_manpage.exist? - end - - test do - assert_match version.to_s, shell_output("#{bin}/gitv --version") - assert_match "Log directory:", shell_output("#{bin}/gitv --print-log-dir") - - ENV["PREFIX"] = testpath.to_s - output = shell_output("#{bin}/gitv --generate-man") - assert_match "Installed manpages:", output - assert_path_exists testpath/"share/man/man1/gitv_tui.1" - end -end diff --git a/Formula/g/gix.rb b/Formula/g/gix.rb index 67d768ad86..82ea56c92a 100644 --- a/Formula/g/gix.rb +++ b/Formula/g/gix.rb @@ -1,17 +1,16 @@ class Gix < Formula desc "Git, but with superpowers" homepage "https://github.com/ademajagon/gix" - url "https://github.com/ademajagon/gix/archive/refs/tags/v0.3.1.tar.gz" - sha256 "4ef0bca5a27f17ef4bb46239a8a5a7c43e3f32aac9a76ef8821b04b53f6d4e64" + url "https://github.com/ademajagon/gix/archive/refs/tags/v0.2.6.tar.gz" + sha256 "bc8301ebb6b6b83445d4b8f99ed451c7a68b396bac8bc7059fe5ea5497881535" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f7ebea85f3b3098c256f3aa789141a9514e100173fb8e045c7ac20ec53f32d8b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f7ebea85f3b3098c256f3aa789141a9514e100173fb8e045c7ac20ec53f32d8b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f7ebea85f3b3098c256f3aa789141a9514e100173fb8e045c7ac20ec53f32d8b" - sha256 cellar: :any_skip_relocation, arm64_linux: "789316f4ac83ff0e66df36a184365ea99c954e2e4b6d654597de5d8370ad0df5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d45ceb12554d81ea5042cf061892102aef9406bed2eee6b3a21a45e6e0d27d62" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d74cef3880bf2036a01fd4266c483371405c6dbfda2d4a2bb330a9618e7e2013" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6f603542c53c38fddd4d9d80abe505985b31781de5d6e756b73ad4f315753e6c" + sha256 cellar: :any_skip_relocation, ventura: "c0633c09b81d1c0b662efba563f3cf1b452f3d9901e6c36723d951851eceeab0" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b94b4d935911e5332ec03385c40f6157a3dfed59f3a2df11304a88fc8d36a1d9" end depends_on "go" => :build @@ -20,17 +19,17 @@ def install ldflags = "-s -w -X github.com/ademajagon/gix/cmd.version=#{version}" system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"gix", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"gix", "completion", shells: [:bash, :zsh, :fish, :pwsh]) end test do - assert_match version.to_s, shell_output("#{bin}/gix --version") + assert_match version.to_s, shell_output("#{bin}/gix version") (testpath/"test.txt").write("Hello World!") system "git", "init" system "git", "add", "test.txt" output = shell_output("#{bin}/gix commit 2>&1", 1) - assert_match "config not found - run `gix config set-key`", output + assert_match "error: config not loaded: config file not found", output end end diff --git a/Formula/g/glom.rb b/Formula/g/glom.rb new file mode 100644 index 0000000000..da32659534 --- /dev/null +++ b/Formula/g/glom.rb @@ -0,0 +1,53 @@ +class Glom < Formula + include Language::Python::Virtualenv + + desc "Declarative object transformer and formatter, for conglomerating nested data" + homepage "https://glom.readthedocs.io/en/latest/" + url "https://files.pythonhosted.org/packages/05/89/b57cfbc448189426f2e01b244fbe9226b059ef5423a9d49c1d335a1f1026/glom-24.11.0.tar.gz" + sha256 "4325f96759a912044af7b6c6bd0dba44ad8c1eb6038aab057329661d2021bb27" + license "BSD-3-Clause" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e7a66e6d65938dcc173c7442506b7141c217be6028c3c1c477b643f80c776e05" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "241053b9ea7fbd97a6278b387e76010f3b673c4d1e39ec34fd3b3b5ff5ac468f" + sha256 cellar: :any_skip_relocation, ventura: "4e05bfa7862ac27e20d28ce8866220386ba9ba19e4c9fb203a6024a355699723" + sha256 cellar: :any_skip_relocation, x86_64_linux: "fafbec4139a5f0d2b7e0c47a1b8634c47e7fea6185786b319a683a41cb9531cc" + end + + depends_on "python@3.13" + + resource "attrs" do + url "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz" + sha256 "1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e" + end + + resource "boltons" do + url "https://files.pythonhosted.org/packages/63/54/71a94d8e02da9a865587fb3fff100cb0fc7aa9f4d5ed9ed3a591216ddcc7/boltons-25.0.0.tar.gz" + sha256 "e110fbdc30b7b9868cb604e3f71d4722dd8f4dcb4a5ddd06028ba8f1ab0b5ace" + end + + resource "face" do + url "https://files.pythonhosted.org/packages/ac/79/2484075a8549cd64beae697a8f664dee69a5ccf3a7439ee40c8f93c1978a/face-24.0.0.tar.gz" + sha256 "611e29a01ac5970f0077f9c577e746d48c082588b411b33a0dd55c4d872949f6" + end + + def install + virtualenv_install_with_resources + end + + test do + (testpath/"test.json").write <<~JSON + { + "a": { + "b": { + "c": "value" + } + } + } + JSON + + output = shell_output("#{bin}/glom --target-file test.json a.b.c") + assert_match "value", output + end +end diff --git a/Formula/g/glsl-analyzer.rb b/Formula/g/glsl-analyzer.rb index 33465f4579..8bd89079f4 100644 --- a/Formula/g/glsl-analyzer.rb +++ b/Formula/g/glsl-analyzer.rb @@ -2,19 +2,19 @@ class GlslAnalyzer < Formula desc "Language server for GLSL" homepage "https://github.com/nolanderc/glsl_analyzer" url "https://github.com/nolanderc/glsl_analyzer.git", - tag: "v1.7.1", - revision: "d595fb18c165f9e6c0c99a39dd457b993cfdd9aa" + tag: "v1.6.0", + revision: "a79772884572e5a8d11bca8d74e5ed6c2cf47848" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f547b77849ff6679ad56f0a44b2bc45afc02f0d5e56b8ad89e3665e38fb0f0eb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3398c52157d6efbb61293659be6a6af57cdce6dec9736ccb730dd13e2acb365c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4731449f8041328d01be3eedc5fa2953078d3a6ed9c85ca8bfe1934f4efc3249" - sha256 cellar: :any_skip_relocation, x86_64_linux: "88df97170594fa3f5087979a77b974899ccf3d51126e44df8e7f3dad72a35e76" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "30fc4c8e153ae106e527610c5cc5c491910d9ed64215197dbb02033360986a80" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5d8967020ce7f070e6751a0e48ed29645f8f4538491eb6c0ed6eace907118267" + sha256 cellar: :any_skip_relocation, ventura: "f47b98e47a5ca4d44a8aaff21c308a6c5f35ebf73587ff39d517f3d723db5722" + sha256 cellar: :any_skip_relocation, x86_64_linux: "4246054679b96000ea1560bf7e6c4bfbfd5a49d245f485e68628be7dea9daa6d" end - depends_on "zig@0.14" => :build + depends_on "zig" => :build def install # Fix illegal instruction errors when using bottles on older CPUs. diff --git a/Formula/g/gmap.rb b/Formula/g/gmap.rb new file mode 100644 index 0000000000..c68eb6519f --- /dev/null +++ b/Formula/g/gmap.rb @@ -0,0 +1,30 @@ +class Gmap < Formula + desc "CLI for visualizing Git activity" + homepage "https://github.com/seeyebe/gmap" + url "https://github.com/seeyebe/gmap/archive/refs/tags/0.3.3.tar.gz" + sha256 "a53ef4474409df65bbe600b2c239776e498a06a956143c7d7f2fcef03dd32f2e" + license "MIT" + head "https://github.com/seeyebe/gmap.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "a26539820b19c8a99a921dffe82a0ef8a9168cd76957d0bd76f0c5780e99abb2" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "14bb167ef9c86ed4a3e44276f76adfaeb7b590b6bba05032afd142ba31609c01" + sha256 cellar: :any_skip_relocation, ventura: "8b6789d14df44871ad9f7a4b054f704f467f101e7ded4c7124d376e44d9558f0" + sha256 cellar: :any_skip_relocation, x86_64_linux: "5d81e41b65956a5426e3b08230dd4d7d87e6ad8e42ffbaec5e0984922b58c50f" + end + + depends_on "rust" => :build + + def install + system "cargo", "install", *std_cargo_args + end + + test do + assert_match version.to_s, shell_output("#{bin}/gmap --version") + + system "git", "init", "--initial-branch=main" + system "git", "commit", "--allow-empty", "-m", "initial commit", "--quiet" + assert_match "Commit Activity Heatmap", shell_output("#{bin}/gmap heat") + end +end diff --git a/Formula/g/gnhf.rb b/Formula/g/gnhf.rb deleted file mode 100644 index 0f8e3eff49..0000000000 --- a/Formula/g/gnhf.rb +++ /dev/null @@ -1,23 +0,0 @@ -class Gnhf < Formula - desc "Autonomous agent orchestrator for long-running coding tasks" - homepage "https://github.com/kunchenguid/gnhf" - url "https://registry.npmjs.org/gnhf/-/gnhf-0.1.26.tgz" - sha256 "c121f55816272ccf897e010b461dbb2b4e50796eb2ada66d3d04115ea9cea1af" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "d484521a476b0904f59133430b01517494ded2af012c414f0715c6961c8751ed" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/gnhf --version") - end -end diff --git a/Formula/g/go-eagle.rb b/Formula/g/go-eagle.rb deleted file mode 100644 index 0740d7d743..0000000000 --- a/Formula/g/go-eagle.rb +++ /dev/null @@ -1,33 +0,0 @@ -class GoEagle < Formula - desc "Go framework for the API or Microservice" - homepage "https://github.com/go-eagle/eagle" - url "https://github.com/go-eagle/eagle/archive/refs/tags/v1.11.0.tar.gz" - sha256 "480e8106fe50127a4e5329cc5d09909cc2d7b48dfee80d6681679f483b3c560e" - license "MIT" - head "https://github.com/go-eagle/eagle.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5fdcc789585d0dcaabcb9e7ae85d08557797344b859ce6255a48e46b826831c8" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5fdcc789585d0dcaabcb9e7ae85d08557797344b859ce6255a48e46b826831c8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5fdcc789585d0dcaabcb9e7ae85d08557797344b859ce6255a48e46b826831c8" - sha256 cellar: :any_skip_relocation, arm64_linux: "e0bb1c23d585098939ae1d5f4413dd85dae37c81323b2f93e0b5ef490c92e075" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f260963fcd3feb3e22118581df64971ed8bd8b068207932e78c90b172fd3c419" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.Version=#{version}" - cd "cmd/eagle" do - system "go", "build", *std_go_args(ldflags:, output: bin/"eagle") - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/eagle --version") - - system bin/"eagle", "new", "testapp" - assert_path_exists testpath/"testapp" - end -end diff --git a/Formula/g/go-getter.rb b/Formula/g/go-getter.rb deleted file mode 100644 index 41b4d73c5e..0000000000 --- a/Formula/g/go-getter.rb +++ /dev/null @@ -1,35 +0,0 @@ -class GoGetter < Formula - desc "Package for downloading things from a string URL using a variety of protocols" - homepage "https://github.com/hashicorp/go-getter" - url "https://github.com/hashicorp/go-getter/archive/refs/tags/v1.8.6.tar.gz" - sha256 "a39e81e493cf64862b52c2bb6b49336d7730d12979d1f3d265aa0ca1a916e8ed" - license "MPL-2.0" - head "https://github.com/hashicorp/go-getter.git", branch: "main" - - livecheck do - url :stable - strategy :github_latest - end - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9c2ae265cd0f190bb4d13cbf26b3c2e9b976b1c67ee8f2d28de7a5b8f774c241" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9c2ae265cd0f190bb4d13cbf26b3c2e9b976b1c67ee8f2d28de7a5b8f774c241" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9c2ae265cd0f190bb4d13cbf26b3c2e9b976b1c67ee8f2d28de7a5b8f774c241" - sha256 cellar: :any_skip_relocation, arm64_linux: "3bdc91c9dc18d65b272a10e1fcab4b5b6cb6115ef7c04cec73ea3096937360c9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d292f0b4657acb95c44641798e3584841b25f9527397af95bf91d8c0f977e90d" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.GitCommit=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/go-getter" - end - - test do - (testpath/"src.txt").write("hi") - system bin/"go-getter", "file://#{testpath}/src.txt", testpath/"dst" - assert_equal "hi", (testpath/"dst/src.txt").read - end -end diff --git a/Formula/g/gobgp.rb b/Formula/g/gobgp.rb index 67d2224e9d..53b6aba0d6 100644 --- a/Formula/g/gobgp.rb +++ b/Formula/g/gobgp.rb @@ -1,18 +1,17 @@ class Gobgp < Formula desc "CLI tool for GoBGP" homepage "https://osrg.github.io/gobgp/" - url "https://github.com/osrg/gobgp/archive/refs/tags/v4.4.0.tar.gz" - sha256 "572af6a9d882d0b410aaa274d6ca65083c664360a0c15def9dec3939d15e416f" + url "https://github.com/osrg/gobgp/archive/refs/tags/v3.37.0.tar.gz" + sha256 "198c82cf77a73872350f10a3567096009b3794929a1aaf348c4924785a99d087" license "Apache-2.0" head "https://github.com/osrg/gobgp.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8cccac8bb7a17ec827298cdeec67172441480eb414066c5b953c065977b83ba6" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "46da008692d59aec848d41a65f51e321dfdc77e695621af11d1451c5227fbd8f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5bc5c650e50e18bbe23efc3fc188cc7c5fbf5bfaca930ae8f1121decb9df60af" - sha256 cellar: :any_skip_relocation, arm64_linux: "40b97f9a2a57ee2a2c6a3d7ed672d67a97243272d960ba9fd392a57425f410a5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "92897b67d3443e2cf7539c4176287810b801637e9370238a276fca928848c31a" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "805c0518e92140a1830dbd179f31c6bcfd931bee6ad692b85341111fa1beb1a6" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6ba44bb3a810e0fd4fea3f9a08334021c04b64f3acb663fa95dfba3f3db1a9a0" + sha256 cellar: :any_skip_relocation, ventura: "cbb2e34491d70cd4d809ad8cd10bffe492abd0e2e5b9698a3e8961173be3fc22" + sha256 cellar: :any_skip_relocation, x86_64_linux: "46c6fc4bedf08ac641bb37fac7fead51117901023320fac0a8c10c8ff9c836c4" end depends_on "go" => :build @@ -26,6 +25,6 @@ def install test do assert_match version.to_s, shell_output("#{bin}/gobgp --version") - assert_match "connect: connection refused", shell_output("#{bin}/gobgp neighbor 2>&1", 1) + assert_match "context deadline exceeded", shell_output("#{bin}/gobgp neighbor 2>&1", 1) end end diff --git a/Formula/g/goboscript.rb b/Formula/g/goboscript.rb index 1f2eb30f47..f3dfd9c72f 100644 --- a/Formula/g/goboscript.rb +++ b/Formula/g/goboscript.rb @@ -8,12 +8,10 @@ class Goboscript < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8dc7f921bb5be854c3fbc455785803fecfedd55236659ef00f860c5a7bc4213d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "280eb6096af810dee9d45a03d8e5c55ea5c20cce692dd3b76a2abc0ed95624e7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8fe0c8cdf3d9168d299c498ac4b00ccb9d27efa0985945a8a1a5b1a29356f3f5" - sha256 cellar: :any_skip_relocation, arm64_linux: "be72f2e49a7d7f6dd208a7dd0dbf3e9918e83b18fb4fcf1b298c44723167c91c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7036e83dff6e832d0f4f697b6af0acaa4721e3bddf8c7237c00296f3c3eca1c9" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9b5b290bbb428bc91a8d847d31f7167d43e48d1a8820079ee0a648af40278891" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "8582390c67f108f8e190204349c35b6de2d5a0600b57923177a28686bd4b249e" + sha256 cellar: :any_skip_relocation, ventura: "d60399c17e006ee18f1934edfebd375bdbc6aac6c74f5a1e4a6ad41839e2db0b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "6c314fe72b518a14cb010d7ee1ac9b4957a1d8c2312caa265661c381d44c3f52" end depends_on "rust" => :build @@ -21,13 +19,6 @@ class Goboscript < Formula def install system "cargo", "install", *std_cargo_args - [ - bash_completion/"goboscript", - fish_completion/"goboscript.fish", - zsh_completion/"_goboscript", - ].each do |completion_file| - rm completion_file if completion_file.exist? - end generate_completions_from_executable(bin/"goboscript", "completions") end diff --git a/Formula/g/gofakeit.rb b/Formula/g/gofakeit.rb index ce88ee7e98..b041788bdf 100644 --- a/Formula/g/gofakeit.rb +++ b/Formula/g/gofakeit.rb @@ -1,18 +1,17 @@ class Gofakeit < Formula desc "Random fake data generator written in go" homepage "https://github.com/brianvoe/gofakeit" - url "https://github.com/brianvoe/gofakeit/archive/refs/tags/v7.14.1.tar.gz" - sha256 "47ca51df117de6f4995d586c2b30aa691c5d7f6aa6c42763c6341ae8b6cfa024" + url "https://github.com/brianvoe/gofakeit/archive/refs/tags/v7.5.1.tar.gz" + sha256 "2e5ecc6b409f1ed8b84281bc529f6388afc45ddf24ef15c4f4d217dc18605eae" license "MIT" head "https://github.com/brianvoe/gofakeit.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3bcb09779cab4c095d59d4017ceac9cf26f7e29394461cf3f6a7df45047a0180" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3bcb09779cab4c095d59d4017ceac9cf26f7e29394461cf3f6a7df45047a0180" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3bcb09779cab4c095d59d4017ceac9cf26f7e29394461cf3f6a7df45047a0180" - sha256 cellar: :any_skip_relocation, arm64_linux: "ed54b4e97c433d47d6f254cd83631ad4275a36779968b7bd97b96d087e89ef53" - sha256 cellar: :any_skip_relocation, x86_64_linux: "597f1ea0bf4c1308946ce1eb0580e15cdf645f94db67ce217614697aa80de1e4" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "a804c664b77a22881750c57347e2a96579de4ed5b0cb3e3b407edd31000d0700" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "acca8dcf54b81ebb28ae049a18aa7247ea1e59650c2b94973c0b66907b581bd4" + sha256 cellar: :any_skip_relocation, ventura: "0be64e4e25795d2f17a1ed9c840ed5ad7c9b2091d5b2affbb97c6b3d2ecc8700" + sha256 cellar: :any_skip_relocation, x86_64_linux: "104b8425ed83125f8faa3637e53b7fb747c68bb5cb08413a5218b9e258980d2a" end depends_on "go" => :build diff --git a/Formula/g/goimports-reviser.rb b/Formula/g/goimports-reviser.rb index d834f79bfc..1787aed9dc 100644 --- a/Formula/g/goimports-reviser.rb +++ b/Formula/g/goimports-reviser.rb @@ -1,18 +1,17 @@ class GoimportsReviser < Formula desc "Right imports sorting & code formatting tool (goimports alternative)" homepage "https://github.com/incu6us/goimports-reviser" - url "https://github.com/incu6us/goimports-reviser/archive/refs/tags/v3.12.6.tar.gz" - sha256 "f89b39bd6888c8a1919394c1d3dd2f622da38855f1709879c3fbdde8e6bf540b" + url "https://github.com/incu6us/goimports-reviser/archive/refs/tags/v3.9.1.tar.gz" + sha256 "fc580098fbbdac968e34556fd8de01fac0caae232e8644ae8ae14105582bcac1" license "MIT" head "https://github.com/incu6us/goimports-reviser.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a8c440360621cdb997f138811a6cb95a771ce0607281a6b2913851dbde39ce58" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a8c440360621cdb997f138811a6cb95a771ce0607281a6b2913851dbde39ce58" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a8c440360621cdb997f138811a6cb95a771ce0607281a6b2913851dbde39ce58" - sha256 cellar: :any_skip_relocation, arm64_linux: "fdf985f6734c377f77a10b05a0f02762f7d45317af5b9b2197b58793e9c0c0bb" - sha256 cellar: :any_skip_relocation, x86_64_linux: "554562d016b50a29ff1a68413e00e1627dfe6ccad8ae34c346ed46e87b3273f0" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "883e47e8a1c9967352a0c2c234af3a71073f3f3aa68fd7d4c98697f0d8ecb769" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "54b9901d2b3c57794a15bec03b8822f479c1d58e5ebd60af8344e07b764ce1f6" + sha256 cellar: :any_skip_relocation, ventura: "dde30efbfe33ce9e7d667e474a3cb6d3dcc99e177459a1c96b1cc964b17f0e67" + sha256 cellar: :any_skip_relocation, x86_64_linux: "331fa98150ab84a3a3b2b37a11cef90012f0248e7f68d30f8f72602acd2fa2d5" end depends_on "go" => :build diff --git a/Formula/g/gokin.rb b/Formula/g/gokin.rb deleted file mode 100644 index 32cea32772..0000000000 --- a/Formula/g/gokin.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Gokin < Formula - desc "AI-powered CLI assistant for code" - homepage "https://gokin.ginkida.dev" - url "https://github.com/ginkida/gokin/archive/refs/tags/v0.78.1.tar.gz" - sha256 "7366080f871123f74b60b24062a6631122864fc25c1fb9ad8a817b8778fa4d26" - license "MIT" - head "https://github.com/ginkida/gokin.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "86900d255b06e7f5d849753c68eced33cb171e9cad615aeb6ab978d9a35b05d5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "86900d255b06e7f5d849753c68eced33cb171e9cad615aeb6ab978d9a35b05d5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "86900d255b06e7f5d849753c68eced33cb171e9cad615aeb6ab978d9a35b05d5" - sha256 cellar: :any_skip_relocation, arm64_linux: "7c7685cb5238400a5b4cc227bd42b4f6bd986686c3f89ab793d22655e052d8d3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7db7af1a721ca25452cb8b0f81e96aa21ac9c8c62e710647e39098b68f29fae5" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/gokin" - - generate_completions_from_executable(bin/"gokin", "completion") - end - - test do - assert_match version.to_s, shell_output("#{bin}/gokin version") - assert_match "Available Commands:", shell_output("#{bin}/gokin --help") - end -end diff --git a/Formula/g/golazo.rb b/Formula/g/golazo.rb deleted file mode 100644 index 12d6ea855b..0000000000 --- a/Formula/g/golazo.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Golazo < Formula - desc "Minimal TUI app to follow live and recent football matches" - homepage "https://github.com/0xjuanma/golazo" - url "https://github.com/0xjuanma/golazo/archive/refs/tags/v0.23.0.tar.gz" - sha256 "9dcc5103833cbd57c86ddea99f7ff70f18e6e2606961e2a7036462db089f64c4" - license "MIT" - head "https://github.com/0xjuanma/golazo.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "17570e3014879c8984a3057f6cba6c2bc5a76e4684f072ea333c8f62a57784f9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "17570e3014879c8984a3057f6cba6c2bc5a76e4684f072ea333c8f62a57784f9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "17570e3014879c8984a3057f6cba6c2bc5a76e4684f072ea333c8f62a57784f9" - sha256 cellar: :any_skip_relocation, arm64_linux: "9ba4ac0a32caee0f7641632e039d0f068a9f1f396102040ec2dfc3a466f59e8b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dd01830dd136f9403fa662d8234297b09fcfed3e4d6c9f9a445e951f9610bd34" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/0xjuanma/golazo/cmd.Version=#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/golazo --version") - - output = shell_output("#{bin}/golazo --definitely-invalid-flag 2>&1", 1) - assert_match "unknown flag", output - end -end diff --git a/Formula/g/gommit.rb b/Formula/g/gommit.rb index 1df54d9da2..8e3dd2b0de 100644 --- a/Formula/g/gommit.rb +++ b/Formula/g/gommit.rb @@ -8,12 +8,10 @@ class Gommit < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2389e93e801347a5babd68587316168dc38a6804de86839ba7755a8ab7b5d475" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2389e93e801347a5babd68587316168dc38a6804de86839ba7755a8ab7b5d475" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2389e93e801347a5babd68587316168dc38a6804de86839ba7755a8ab7b5d475" - sha256 cellar: :any_skip_relocation, arm64_linux: "dd5395f4ed6239d6058b3329c99a82e0f1b9a727232a438873fb36882b1b3dec" - sha256 cellar: :any_skip_relocation, x86_64_linux: "186bb9621a78231d3edb968eb8dc3e93f690b4974d83b30eaa5a0d43d64d33fa" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2a8832435785a644aef8c977720ac03ed3421ea85338d69980e0330282fe2c22" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "2c672bead76a8562e3bb29e2610b5307301872a7f9a5b7524d87f3bc450c0f41" + sha256 cellar: :any_skip_relocation, ventura: "f1df69a4de5945049945916f5eaa288d37112d75555d2a4648cfc5c76d47a3f5" + sha256 cellar: :any_skip_relocation, x86_64_linux: "257fabc10c9b0b307ee2be817e795be6abc945cdbc89ac4f2ffaffda41af7cbf" end depends_on "go" => :build @@ -21,7 +19,7 @@ class Gommit < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w -X gommit.appVersion=#{version}") - generate_completions_from_executable(bin/"gommit", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"gommit", "completion") end test do diff --git a/Formula/g/gorae.rb b/Formula/g/gorae.rb deleted file mode 100644 index 35c407f012..0000000000 --- a/Formula/g/gorae.rb +++ /dev/null @@ -1,27 +0,0 @@ -class Gorae < Formula - desc "TUI librarian for PDFs and EPUBs" - homepage "https://github.com/Han8931/gorae" - url "https://github.com/Han8931/gorae/archive/refs/tags/v2.1.0.tar.gz" - sha256 "97ed392e698bce035c633b472fd2ca356274297b3c4bb44bb363278aec0d3469" - license "MIT" - head "https://github.com/Han8931/gorae.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4e4fdbab1d38bbebbbae3a5f389c98fd5cfbb4a45569492d391adde0ca8aed1f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4e4fdbab1d38bbebbbae3a5f389c98fd5cfbb4a45569492d391adde0ca8aed1f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4e4fdbab1d38bbebbbae3a5f389c98fd5cfbb4a45569492d391adde0ca8aed1f" - sha256 cellar: :any_skip_relocation, arm64_linux: "651d1b4039b404dd25e94f89ee431f8dd7887a187ae4fcc152b2005aacbcf687" - sha256 cellar: :any_skip_relocation, x86_64_linux: "606b73622ca14408dba328fbcb334593c2a03b5b435b93dfe946b7faaadcc220" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/gorae" - end - - test do - assert_match "Root directory to start in", shell_output("#{bin}/gorae --help 2>&1") - end -end diff --git a/Formula/g/gowebly.rb b/Formula/g/gowebly.rb index 6225a6927f..53f51cc25f 100644 --- a/Formula/g/gowebly.rb +++ b/Formula/g/gowebly.rb @@ -1,27 +1,22 @@ class Gowebly < Formula desc "Next-generation CLI tool to easily build amazing web applications" homepage "https://gowebly.org/" - url "https://github.com/gowebly/gowebly/archive/refs/tags/v3.1.1.tar.gz" - sha256 "c7fdc2740199d1bc3bd371e527f093025be9484e61439c6a9361522569a3813f" + url "https://github.com/gowebly/gowebly/archive/refs/tags/v3.0.5.tar.gz" + sha256 "1fb7c5ffc04ece4478c6579ccde4f7df82aeccab96e59cd2330fb223627a84a5" license "Apache-2.0" head "https://github.com/gowebly/gowebly.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2432dda8d8b3a23c2745cbb13fa2ca35279b6db6fbb475946bda42fffbd4e078" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2432dda8d8b3a23c2745cbb13fa2ca35279b6db6fbb475946bda42fffbd4e078" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2432dda8d8b3a23c2745cbb13fa2ca35279b6db6fbb475946bda42fffbd4e078" - sha256 cellar: :any_skip_relocation, arm64_linux: "fa88a90e33ab4f61afab9e33dcb625ac3c48f27e9d7533a83393f3eb8c8db0c1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4224d7a130a0b4228e0452b40f62fe0e4d3f1337925439a66970f591263408c0" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "af897b390d3488ddcddec45461973bcd869bc9b1bb42bba571a11b8e5df6d952" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5b018a9cc5b5c56caadeb27b0a5d04033993be3d752675b408b1e54d7ea17cae" + sha256 cellar: :any_skip_relocation, ventura: "1cbed5ed2542630e88dfc3ebd425f9ad628b3a7ddd14d363261ea63c93d0d134" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d17d34bc250cae232adc87ea05d1320127a3632fa5b3f43e2e0ece58d8fd9b60" end depends_on "go" => :build def install - inreplace "internal/variables/version.go", - /var GoweblyVersion string = "v[\d.]+"/, - "var GoweblyVersion string = \"v#{version}\"" - system "go", "build", *std_go_args(ldflags: "-s -w") end diff --git a/Formula/g/gpk.rb b/Formula/g/gpk.rb deleted file mode 100644 index 9e9f0738c3..0000000000 --- a/Formula/g/gpk.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Gpk < Formula - desc "TUI dashboard that consolidates 36+ package managers into one interface" - homepage "https://github.com/neur0map/glazepkg" - url "https://github.com/neur0map/glazepkg/archive/refs/tags/v0.4.1.tar.gz" - sha256 "510f8f2062f89f9a6dc3dbf6055291f3f04d7707a8214115ca10db20d15bded9" - license "GPL-3.0-only" - head "https://github.com/neur0map/glazepkg.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c339be913611cadd184918869859e01d4768d8cc6563bc80205b448629e94c70" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c339be913611cadd184918869859e01d4768d8cc6563bc80205b448629e94c70" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c339be913611cadd184918869859e01d4768d8cc6563bc80205b448629e94c70" - sha256 cellar: :any_skip_relocation, arm64_linux: "4fa85d6701bcb8be49970485c81c9870a3049897000f8fe6556225e69bb2c2f0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "311bf4007c2e7d6907e18eb74838e2de2e8f1ce4db92a1ead37649149fcd3821" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - ENV["GOFLAGS"] = "-buildvcs=false" - system "go", "build", *std_go_args(ldflags:), "./cmd/gpk" - end - - test do - assert_match "gpk #{version}", shell_output("#{bin}/gpk --version") - end -end diff --git a/Formula/g/gptop.rb b/Formula/g/gptop.rb deleted file mode 100644 index d1b41f0215..0000000000 --- a/Formula/g/gptop.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Gptop < Formula - desc "TUI GPU monitor with support for Apple Silicon and NVIDIA GPUs" - homepage "https://github.com/evilsocket/gptop" - url "https://github.com/evilsocket/gptop/archive/refs/tags/0.2.0.tar.gz" - sha256 "87c63ed6b63627d7d6e3aca316d401e4dde5dd99bc8799f2e74a3d494a4a62c5" - license "GPL-3.0-only" - head "https://github.com/evilsocket/gptop.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "358c92a5e9f93d680c0eea179470da4e12680d26db9b6948b3d64ced7cd5fe9f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fa15a887dc2dc27b40707280689f40c6cfbabb881900cdb8b18b0693dcbf3cfe" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9d9de35b156f44f8727edcdfb5eb1861b221b06ea0a95762bf481c62569a31f8" - sha256 cellar: :any_skip_relocation, arm64_linux: "4befb730e2f406081edd97852c7a7f872fe0fc87ad907961779fda8c7d09e56c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4ef388ed52db87fc8751bb9ea7c09bc659e3470c723347e844ae9bdb4eeb222f" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/gptop --version") - - if OS.mac? && Hardware::CPU.arm? - output = shell_output("#{bin}/gptop --json 2>&1", 1) - assert_match "Apple backend init failed", output - assert_match "No supported GPU backend found", output - elsif OS.mac? - output = shell_output("#{bin}/gptop --json") - assert_match "\"devices\":", output - assert_match "\"gpu_metrics\":", output - else - output = shell_output("#{bin}/gptop --json 2>&1", 1) - assert_match "No supported GPU backend found", output - end - end -end diff --git a/Formula/g/grafana-mcp-server.rb b/Formula/g/grafana-mcp-server.rb new file mode 100644 index 0000000000..b5c7ec8a9f --- /dev/null +++ b/Formula/g/grafana-mcp-server.rb @@ -0,0 +1,33 @@ +class GrafanaMcpServer < Formula + desc "MCP server for Grafana" + homepage "https://github.com/grafana/mcp-grafana" + url "https://github.com/grafana/mcp-grafana/archive/refs/tags/v0.6.5.tar.gz" + sha256 "59e99c9de5eacda34346535d1b24b80f635718b4229f87a90725d599c312b245" + license "Apache-2.0" + head "https://github.com/grafana/mcp-grafana.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "8d7e8dca31142d74fe3b16f99ffc916ea837a349527668200cd7389c4115029b" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9e748d8d30f03caa957b0d21ae0389490136cbe8c862a9c133de6878fa91f157" + sha256 cellar: :any_skip_relocation, ventura: "2fc7c4ec0bdd756ba355067b8239f34bd99a04b2f8d210b766cbdda402a140fd" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a06789492b4a0bd1f3e8119ef546c1a8bb909c032ece0ed5868b22a1289128b6" + end + + depends_on "go" => :build + + def install + ldflags = "-s -w -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" + system "go", "build", *std_go_args(ldflags:, output: bin/"grafana-mcp-server"), "./cmd/mcp-grafana" + end + + test do + json = <<~JSON + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} + {"jsonrpc":"2.0","id":2,"method":"tools/list"} + JSON + + output = pipe_output(bin/"grafana-mcp-server", json, 0) + assert_match "This server provides access to your Grafana instance and the surrounding ecosystem", output + end +end diff --git a/Formula/g/graphjin.rb b/Formula/g/graphjin.rb deleted file mode 100644 index b66ef838a6..0000000000 --- a/Formula/g/graphjin.rb +++ /dev/null @@ -1,43 +0,0 @@ -class Graphjin < Formula - desc "Build NodeJS / GO APIs in 5 minutes not weeks" - homepage "https://graphjin.com/" - url "https://github.com/dosco/graphjin/archive/refs/tags/v3.18.6.tar.gz" - sha256 "7851fad38115b7d5d428fc2ef4182076561bc2984d713a5c1fc809a12b570565" - license "Apache-2.0" - head "https://github.com/dosco/graphjin.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8b34547cb0488fd31c0e7576c8bc0c581dad68b9a417208bea56ddaf40bdbe44" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "95a275df52df7dd16ff3f5e9e06cb734e0b7870d14567254b848b18e53e754a7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5fd2492c5a4164810231cdfcb7d452b154b9673073a0bb577feef2ce27812e00" - sha256 cellar: :any_skip_relocation, arm64_linux: "34e49428f55500d3c6473428eb396739b97e7899b83b613370086353f0b3bf16" - sha256 cellar: :any_skip_relocation, x86_64_linux: "953b232a16ca9b7e271cae94d1f0be7a5a30195b324fd285e39ca4b419e9724b" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X main.version=#{version} - -X main.commit=#{tap.user} - -X main.date=#{time.iso8601} - -X github.com/dosco/graphjin/serv/v3.version=#{version} - ] - - cd "cmd" do - system "go", "build", *std_go_args(ldflags:) - end - - generate_completions_from_executable(bin/"graphjin", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/graphjin version") - - system bin/"graphjin", "serve", "new", "myapp" - assert_path_exists testpath/"myapp" - assert_match "app_name: \"Myapp Development\"", (testpath/"myapp/dev.yml").read - end -end diff --git a/Formula/g/graphlit-mcp-server.rb b/Formula/g/graphlit-mcp-server.rb index 9223bfc28f..a626118895 100644 --- a/Formula/g/graphlit-mcp-server.rb +++ b/Formula/g/graphlit-mcp-server.rb @@ -1,20 +1,23 @@ class GraphlitMcpServer < Formula desc "Cloudflare MCP Server" homepage "https://www.graphlit.com/" - url "https://registry.npmjs.org/graphlit-mcp-server/-/graphlit-mcp-server-1.0.20260112001.tgz" - sha256 "b95527f3243cb910c7b4c65b6b76ad49d4d617df1dcace6416985fe83a98ce22" + url "https://registry.npmjs.org/graphlit-mcp-server/-/graphlit-mcp-server-1.0.20250830001.tgz" + sha256 "b41c4d1577653fd05b74e4a2c1335c28e2e29749a5774422870f74d2a28f1f53" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "f23f1836d3e614d7ed27a6d439f294f6959974e7620ba4a6eea05973e04f35ee" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d13cb0b37a9851501606bd17ae5d2347905851b4b221158fdf503b943b71134a" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "0538d5e86dd81de5ba69f3a877b4a1735729a86c35170c0b9b2923ce9ba28980" + sha256 cellar: :any_skip_relocation, ventura: "39dc7062b71657ab80e568860ca1109843f573413403a7cac1696f549f9e7272" + sha256 cellar: :any_skip_relocation, x86_64_linux: "eab4e48863e93f7250fccc1f5a934ae9e25e8e591989baa35d4ef38830dec067" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/g/graphtage.rb b/Formula/g/graphtage.rb index 115ab33450..129c7c3926 100644 --- a/Formula/g/graphtage.rb +++ b/Formula/g/graphtage.rb @@ -9,18 +9,16 @@ class Graphtage < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1acbf3be56ca1669c6468a1c4b7ba1a7f23aa76b330defc02146ada8065b042d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "de65c5ec5cbc10b4d0ed62755dc80f91406cc792ced2c0f6bcb99074c580e6eb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7d2673ae17f0e14ca7cefac801a789cfd23378ad7c9e313b9f9ff34ae407069a" - sha256 cellar: :any_skip_relocation, arm64_linux: "503a28d204b0e5c9b0cfafd0e8059d962e35ae8fdfcc5f0db56cb00e7c6a0c61" - sha256 cellar: :any_skip_relocation, x86_64_linux: "87eeed55ee1c6473eda6fe96c7e4e085174022efa2b22c8cbffaeedbe07ae684" + sha256 cellar: :any, arm64_sequoia: "e7ff37a1852efcd1c44de3ab85f2d6f73c7022135c4eb0b67bc712d447061526" + sha256 cellar: :any, arm64_sonoma: "69d71f5ae10c9e9fda20253f7d8263e98569efdcc0efd057467a927a5abe02c2" + sha256 cellar: :any, ventura: "f5449a05e6d211881f97f1770b102cb9559ce6a12c2ed0757791fa926edaf0d1" + sha256 cellar: :any_skip_relocation, x86_64_linux: "34def5b4d0b5d259fb6947abc76b0f1bd46fa2ddb619bf6ea13d3370cbecfab3" end depends_on "libyaml" depends_on "numpy" depends_on "python-setuptools" # for distutils - depends_on "python@3.14" + depends_on "python@3.13" depends_on "scipy" resource "astunparse" do @@ -34,8 +32,8 @@ class Graphtage < Formula end resource "fickling" do - url "https://files.pythonhosted.org/packages/df/23/0a03d2d01c004ab3f0181bbda3642c7d88226b4a25f47675ef948326504f/fickling-0.1.4.tar.gz" - sha256 "cb06bbb7b6a1c443eacf230ab7e212d8b4f3bb2333f307a8c94a144537018888" + url "https://files.pythonhosted.org/packages/70/81/c12ae44e1e53b4673f713025da48df4fa91aff9630b2019d418b39638876/fickling-0.1.3.tar.gz" + sha256 "606b3153ad4b2c0338930d08a739f7f10a560f996e0bd3a4b46544417254b0d0" end resource "intervaltree" do @@ -49,8 +47,8 @@ class Graphtage < Formula end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "six" do @@ -63,19 +61,19 @@ class Graphtage < Formula sha256 "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88" end - resource "stdlib-list" do - url "https://files.pythonhosted.org/packages/5d/09/8d5c564931ae23bef17420a6c72618463a59222ca4291a7dd88de8a0d490/stdlib_list-0.11.1.tar.gz" - sha256 "95ebd1d73da9333bba03ccc097f5bac05e3aa03e6822a0c0290f87e1047f1857" - end - resource "tqdm" do url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" end resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + url "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz" + sha256 "e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef" + end + + resource "wheel" do + url "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz" + sha256 "661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729" end def install diff --git a/Formula/g/grcov.rb b/Formula/g/grcov.rb index d1cb4fa485..1c8dd4a538 100644 --- a/Formula/g/grcov.rb +++ b/Formula/g/grcov.rb @@ -1,27 +1,22 @@ class Grcov < Formula desc "Rust tool to collect and aggregate code coverage data for multiple source files" homepage "https://github.com/mozilla/grcov" - url "https://github.com/mozilla/grcov/archive/refs/tags/v0.10.7.tar.gz" - sha256 "5c4a236133f6982a4ea6588f0b1a9c0cc5838be50cb533da2023344b198120df" + url "https://github.com/mozilla/grcov/archive/refs/tags/v0.10.5.tar.gz" + sha256 "afba6d38b56898575273f4639cb31dfcfa28de60eca0b157524ca96bc36bc320" license "MPL-2.0" - head "https://github.com/mozilla/grcov.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "379dbda4d0f659aad832b20ca93df93fe523ae7bc4d6efec71db5afa31b4c03c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7a58dc893fe2b28709bba70145b1f2117c1010c543aaf8f447cc3ce524b7bf45" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bf414476ef24bce119264fdc0ea9d0aa80890ffad26aee7ca5b198fab0b0d2fb" - sha256 cellar: :any_skip_relocation, arm64_linux: "15a373d42d79cdf0b494222e4c01f138cf32295b1328bfe14dc14c8155e5e269" - sha256 cellar: :any_skip_relocation, x86_64_linux: "68a7f5d5b0d11997aaf2a3774dfbc1b207d6767a9994527fd7accd4b8af9ce79" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "f1446c964cb5abfdd7fc423960a05f50ba7b63ca8225a2c39d9468652f1dea8e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "05d07325ae97099cb616e5a9fffa041e20acd53da06d3f39a1cb1481d71ef1c1" + sha256 cellar: :any_skip_relocation, ventura: "9eb194c7e8d4ac79a06705566aa0b75a624b67c6409fb28e72ad6a96391ff6a1" + sha256 cellar: :any_skip_relocation, x86_64_linux: "14dd512ba552769486ded944da13032e596037369da6a02c3f0b2480d9389261" end depends_on "rust" => :build depends_on "rustup" => :test - on_linux do - depends_on "zlib-ng-compat" - end + uses_from_macos "zlib" def install system "cargo", "install", *std_cargo_args diff --git a/Formula/g/gritql.rb b/Formula/g/gritql.rb index e883689f6a..fd16877e84 100644 --- a/Formula/g/gritql.rb +++ b/Formula/g/gritql.rb @@ -9,21 +9,17 @@ class Gritql < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "813f99e6a4a8969e4135948c466b99fae6b73ddfd681185f060c258ccf6a727f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "13d71a08405879b1c42a993c78e83d081466d0f2afa1c1d37b1d51ea5fb3b4d9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "971dc949ec27962552d1e74faba0818e767531b6d1d04ea178837ef275c2433a" - sha256 cellar: :any_skip_relocation, arm64_linux: "6c2882d668b02b66423205a7bca0c9127db6ff1a972e408179a97177051dea93" - sha256 cellar: :any_skip_relocation, x86_64_linux: "50782edde61d78b81c49abdbcd2d2529c868c64575ca84a43817eaea13f71f88" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "da42f4f8c14409bcd378af659fb666a2eaae686384e45ca9b48e6539104f12c7" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "3c788c59d0f1bbfda8ef4ce9c7017449f3c4e6fc82943823bdf0eaad33811265" + sha256 cellar: :any_skip_relocation, ventura: "04935941062b0622d388c7ee2335d01ccfb4b1ac517617dc979a849d86ec18ab" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2b652a906f5a1f716360ff56f8fa68b1e650c45b6a67791ccf4b81b2b410cd53" end depends_on "pkgconf" => :build depends_on "rust" => :build depends_on "openssl@3" - on_linux do - depends_on "zlib-ng-compat" - end + uses_from_macos "zlib" def install system "cargo", "install", *std_cargo_args(path: "crates/cli_bin") diff --git a/Formula/g/gsh.rb b/Formula/g/gsh.rb deleted file mode 100644 index 71bc594890..0000000000 --- a/Formula/g/gsh.rb +++ /dev/null @@ -1,35 +0,0 @@ -class Gsh < Formula - desc "Battery-included, POSIX-compatible, generative shell" - homepage "https://github.com/atinylittleshell/gsh" - url "https://github.com/atinylittleshell/gsh/archive/refs/tags/v1.10.3.tar.gz" - sha256 "388dc40c0efde2d1a9fcbaa438569d4d7ab2fbbda41ed00bd56c0397c4dd95d4" - license "GPL-3.0-only" - head "https://github.com/atinylittleshell/gsh.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b9c18376d50a12742dfa28aec3d9c945e02838464d0e5fb711b2c53e6f848a77" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b9c18376d50a12742dfa28aec3d9c945e02838464d0e5fb711b2c53e6f848a77" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b9c18376d50a12742dfa28aec3d9c945e02838464d0e5fb711b2c53e6f848a77" - sha256 cellar: :any_skip_relocation, arm64_linux: "26eed9942d0b282ca92b5b770a0c07797d933efc22c15ed8372337baf600c396" - sha256 cellar: :any_skip_relocation, x86_64_linux: "12d65a6d8d2dec7caaa79671c004f75431280d9a6006b1de1ddceced3b19d551" - end - - depends_on "go" => :build - - def install - tool_path = buildpath/"build_bin" - ENV["GOBIN"] = tool_path - ENV.prepend_path "PATH", tool_path - system "go", "install", "golang.org/x/tools/cmd/stringer@latest" - system "go", "generate", "./..." - - ldflags = "-s -w -X main.BUILD_VERSION=#{version}" - system "go", "build", *std_go_args(ldflags:, output: bin/"gsh"), "./cmd/gsh/main.go" - end - - test do - assert_match version.to_s, shell_output("#{bin}/gsh --version") - assert_match "Telemetry:", shell_output("#{bin}/gsh telemetry status") - end -end diff --git a/Formula/g/gtts.rb b/Formula/g/gtts.rb index 18edfa01a0..0149a01954 100644 --- a/Formula/g/gtts.rb +++ b/Formula/g/gtts.rb @@ -9,18 +9,19 @@ class Gtts < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 3 - sha256 cellar: :any_skip_relocation, all: "91b2a5e9f2eeed6149faaafad53de597f463cdeeee183be8f2f9227aa1fe0125" + rebuild 1 + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d50f7730abed4d574d41e653cbb3fefdc74b3d02e9c8120bc72d0c0435fabab2" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "1236079c98d301052367ece4073ad5f5750e6926386acb4e5cd44dc3d3a30b64" + sha256 cellar: :any_skip_relocation, ventura: "e5d91426a2a8738db9d0cad6185bec2a0f75027ad42d46bb1b87c583e7300d19" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d5a793a191d2114af45b440c925424711f13fb0474f834bc5b387ba7162a55cc" end - depends_on "certifi" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: "certifi" + depends_on "certifi" + depends_on "python@3.13" resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz" + sha256 "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3" end resource "click" do @@ -29,18 +30,18 @@ class Gtts < Formula end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz" + sha256 "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760" end resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" + url "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz" + sha256 "f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" end def install diff --git a/Formula/h/hackernews-tui.rb b/Formula/h/hackernews-tui.rb deleted file mode 100644 index 4882bd0c81..0000000000 --- a/Formula/h/hackernews-tui.rb +++ /dev/null @@ -1,27 +0,0 @@ -class HackernewsTui < Formula - desc "TUI to browse Hacker News" - homepage "https://github.com/aome510/hackernews-TUI" - url "https://github.com/aome510/hackernews-TUI/archive/refs/tags/v0.13.5.tar.gz" - sha256 "2cb719204d92e4e2f8f86f7e666059ed0e884ee0c12fc58393bb967740a9c3f3" - license "MIT" - head "https://github.com/aome510/hackernews-TUI.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a7233abdf4bfc70f2ba133dd184b2d3dc061e81a611cf50b58369d359cd9ad82" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7f800a4a46b8d9a59c13aaa403d33a53a0b0cc1129ef8bef571050d5be63a980" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "21ab115de1d726922731addc9dff3644e52d85679525b24b92cb7019e5c0c886" - sha256 cellar: :any_skip_relocation, arm64_linux: "2ba0993e3973e6092401f75581f1696e2af55659bd928304f0a58ccb12cdb38b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c07ce9c86a45a0c47b6c08b026d86e0ca3abd6321724f33c421dbbe96c64c145" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: "hackernews_tui") - end - - test do - assert_match version.to_s, shell_output("#{bin}/hackernews_tui --version") - end -end diff --git a/Formula/h/haloy.rb b/Formula/h/haloy.rb deleted file mode 100644 index dae41e0ea4..0000000000 --- a/Formula/h/haloy.rb +++ /dev/null @@ -1,43 +0,0 @@ -class Haloy < Formula - desc "Manage deployments on your own infrastructure" - homepage "https://haloy.dev/" - url "https://github.com/haloydev/haloy/archive/refs/tags/v0.1.0-beta.3.tar.gz" - sha256 "1b1f87113d5771fdb9a9c665127d60cac658d722b834ef54ca490da22a738721" - license "MIT" - head "https://github.com/haloydev/haloy.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "35d0be71c4cc4f9f8e53eb971e235491171f07c3b039f0ddfe6bdf4d98e44bd5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "35d0be71c4cc4f9f8e53eb971e235491171f07c3b039f0ddfe6bdf4d98e44bd5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "35d0be71c4cc4f9f8e53eb971e235491171f07c3b039f0ddfe6bdf4d98e44bd5" - sha256 cellar: :any_skip_relocation, arm64_linux: "aec143304c5cdbd3d31d5976665e47f751685c7875b3476dd99080dd1d5cce41" - sha256 cellar: :any_skip_relocation, x86_64_linux: "419b90adb218c6c16156ab7eda94c9e9d3459dad95c26fa0545a0075459f7c32" - end - - depends_on "go" => :build - - def install - %w[haloy haloyadm].each do |cmd| - ldflags = "-s -w -X github.com/haloydev/haloy/cmd.version=#{version}" - system "go", "build", *std_go_args(ldflags:, output: bin/cmd), "./cmd/#{cmd}" - - generate_completions_from_executable(bin/cmd, shell_parameter_format: :cobra) - end - end - - test do - (testpath/"haloy.yaml").write <<~YAML - name: "my-app" - server: haloy.yourserver.com - domains: - - domain: "my-app.com" - aliases: - - "www.my-app.com" - YAML - - assert_match "no client configuration found", shell_output("#{bin}/haloy version 2>&1") - assert_match "Failed to read environment variables", shell_output("#{bin}/haloyadm api token 2>&1", 1) - end -end diff --git a/Formula/h/hapi.rb b/Formula/h/hapi.rb deleted file mode 100644 index c590d7aa35..0000000000 --- a/Formula/h/hapi.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Hapi < Formula - desc "Agentic coding - access coding agent anywhere" - homepage "https://github.com/tiann/hapi" - url "https://registry.npmjs.org/@twsxtd/hapi/-/hapi-0.17.2.tgz" - sha256 "5f8d7d830e29556b77449fb682ba2021512c1562a7d5cf14b2b1ba8af80caef5" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "d185735279a681a884160d4f3c40fa59bd7202f702b9d9ffc8e909fe61b1937d" - sha256 arm64_sequoia: "d185735279a681a884160d4f3c40fa59bd7202f702b9d9ffc8e909fe61b1937d" - sha256 arm64_sonoma: "d185735279a681a884160d4f3c40fa59bd7202f702b9d9ffc8e909fe61b1937d" - sha256 cellar: :any_skip_relocation, arm64_linux: "5f490b2cd1a5e12f7aa0f69c327bd4a9f0c4dfdba7a85fd1c0af6d99c02633ba" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dfd50042fe7fdef9a7f2081e66f66e7e1e32fd94af9c23ea36ad10fab03a6f89" - end - - depends_on "node" - - def install - # Required for the platform-specific optional binary package on CI mirrors. - ENV["npm_config_registry"] = "https://registry.npmjs.org" - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/hapi --version") - assert_match "📋 Basic Information", shell_output("#{bin}/hapi doctor") - end -end diff --git a/Formula/h/happy.rb b/Formula/h/happy.rb deleted file mode 100644 index 35a0053479..0000000000 --- a/Formula/h/happy.rb +++ /dev/null @@ -1,44 +0,0 @@ -class Happy < Formula - desc "Mobile and Web client for Claude Code and Codex" - homepage "https://happy.engineering" - url "https://registry.npmjs.org/happy/-/happy-1.1.8.tgz" - sha256 "f77a7fd1a3a63605ea9fb4f00002e96339c5732f2f507a9e3d9cd4e725f8af5a" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "6f00e268788e5552b710a60dd837cfc499164a332d3635ef59c408185e6a319e" - sha256 arm64_sequoia: "4e75280305238ffbb1281fd179e33e3a85e60b7cce90aefdcaf3e24ba35d5c47" - sha256 arm64_sonoma: "4e75280305238ffbb1281fd179e33e3a85e60b7cce90aefdcaf3e24ba35d5c47" - sha256 cellar: :any_skip_relocation, arm64_linux: "a0b4e54d053349a6153fc499cdcf821b8fbf2cd8263f076cd688f69fb01eae22" - sha256 cellar: :any_skip_relocation, x86_64_linux: "19e34f4f6caa5e16c85b0e1e33c86198bc8d0f9d78be34f15085f175495ad8d4" - end - - depends_on "node" - depends_on "pcre2" - - def install - system "npm", "install", *std_npm_args - - if OS.linux? - sandbox_runtime = libexec/"lib/node_modules/happy/node_modules/@anthropic-ai/sandbox-runtime" - unused_arch = Hardware::CPU.arm? ? "x64" : "arm64" - rm_r [ - sandbox_runtime/"dist/vendor/seccomp/#{unused_arch}", - sandbox_runtime/"vendor/seccomp/#{unused_arch}", - ].select(&:exist?) - end - - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match "\"version\": \"#{version}\"", (libexec/"lib/node_modules/happy/package.json").read - - with_env(HAPPY_HOME_DIR: testpath/".happy") do - output = shell_output("#{bin}/happy doctor 2>&1") - assert_match "Happy CLI Version: #{version}", output - assert_match "Doctor diagnosis complete!", output - end - end -end diff --git a/Formula/h/hardcover-tui.rb b/Formula/h/hardcover-tui.rb deleted file mode 100644 index 44edeac7c7..0000000000 --- a/Formula/h/hardcover-tui.rb +++ /dev/null @@ -1,55 +0,0 @@ -class HardcoverTui < Formula - desc "Terminal UI client for Hardcover.app" - homepage "https://github.com/NotMugil/hardcover-tui" - url "https://github.com/NotMugil/hardcover-tui/archive/refs/tags/v1.0.4.tar.gz" - sha256 "fa230e92bc28cde6f7f49aa0489834d9060f7935815a92a1e95d3853b100c838" - license "AGPL-3.0-only" - revision 1 - head "https://github.com/NotMugil/hardcover-tui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "baecd7d47fc884111c65bc8defd08aa6e82e8dd198d517710e083649ce9c3c57" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "baecd7d47fc884111c65bc8defd08aa6e82e8dd198d517710e083649ce9c3c57" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "baecd7d47fc884111c65bc8defd08aa6e82e8dd198d517710e083649ce9c3c57" - sha256 cellar: :any_skip_relocation, arm64_linux: "9febcb8b9c6ad176f906ea6355555f30bddb01196f0383fa0d9444c735152855" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6a89bd261c81072082bb8ef849a44ede6267ab36aa7b0d06a0af9d638874a694" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X main.version=#{version} - ] - - system "go", "build", *std_go_args(ldflags:), "./cmd/hardcover-tui" - end - - test do - require "pty" - require "timeout" - - assert_match version.to_s, shell_output("#{bin}/hardcover-tui --version") - - output = +"" - PTY.spawn({ "HOME" => testpath.to_s, "TERM" => "xterm-256color" }, (bin/"hardcover-tui").to_s) do |r, w, _pid| - Timeout.timeout(15) do - loop do - output << r.readpartial(1024) - next unless output.include?("Enter your API token:") - - w.write("\u0003") - break - end - - loop { output << r.readpartial(1024) } - rescue EOFError, Errno::EIO - nil - end - end - - assert_match "Enter your API token:", output - end -end diff --git a/Formula/h/hasha-cli.rb b/Formula/h/hasha-cli.rb index 9269eb3989..afc9d2781a 100644 --- a/Formula/h/hasha-cli.rb +++ b/Formula/h/hasha-cli.rb @@ -1,16 +1,16 @@ class HashaCli < Formula desc "Hashing made simple. Get the hash of text or stdin" homepage "https://github.com/sindresorhus/hasha-cli" - url "https://registry.npmjs.org/hasha-cli/-/hasha-cli-7.0.0.tgz" - sha256 "49d0fe05964de724b5477f2b0800aa796e7e8150732324db0c462c097d3db180" + url "https://registry.npmjs.org/hasha-cli/-/hasha-cli-6.0.0.tgz" + sha256 "ab5264615b9d218dfe8956e7af5a0c1b24a51b0493ca1d13339036968531ada1" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3e3d36586edc7e20faa57ae7f71627555718632e4556d81f4a2289832f62693f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b0a043727a78c0601b2cab4292d83af9e0ad064596b89b91081a9ca09f9e39fe" - sha256 cellar: :any_skip_relocation, ventura: "ef1add475ead8b94603a2f3a3bcf083c6515f5ab11cbb8f8ad6902779c6662cc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bbf90ae48025daeb02e022db90e2dd62e96807e8c12b24795cb1feb635658664" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "28b555d76a765511530cf837e3dd6ef5193d913882057218638f32fff3f227e9" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "0059d582853dd556a5dad2922825039533bf964d6fdb944a2f7f1a3273b1be29" + sha256 cellar: :any_skip_relocation, ventura: "4a4c149d132c01b910584093e20dc04c45229fe7e4a1096cca6b1ed4470eae22" + sha256 cellar: :any_skip_relocation, x86_64_linux: "cf7dbad17221a5a7be6aa58ede1f3d24b6c987cb4278f30241e15fdc6dd0e40c" end depends_on "node" diff --git a/Formula/h/hauler.rb b/Formula/h/hauler.rb index ab57a2d7ad..6eaab7c7db 100644 --- a/Formula/h/hauler.rb +++ b/Formula/h/hauler.rb @@ -1,18 +1,17 @@ class Hauler < Formula desc "Airgap Swiss Army Knife" homepage "https://docs.hauler.dev/docs/intro" - url "https://github.com/hauler-dev/hauler/archive/refs/tags/v1.4.2.tar.gz" - sha256 "7936b801001997a6f3ee7b9507bbe7f32b46397a66b3d2378e8a077d6de4890b" + url "https://github.com/hauler-dev/hauler/archive/refs/tags/v1.2.5.tar.gz" + sha256 "03066f806b02f0565a1c99f2dfe98423824f48b285e0850dc3de4e4dc1aeccc5" license "Apache-2.0" head "https://github.com/hauler-dev/hauler.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "15da569c8bd30748038ea2ea96120173f6ed1ec4d8040c44d9279f138271bd20" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "202671cc8f7e59010feb25c23267037f076fd490bbcd38bbd06d741ae858c4a0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fec28ba6acaecd39e2c6001462e0b60d1e4a85557e5adf0912c24531b4bfdecd" - sha256 cellar: :any_skip_relocation, arm64_linux: "4dc363dd7054d6a2878c19920027dd0dcf04f3fdb6ebcbbae4708c0469f7ce3c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "769a7cb45fe72180b87426abc625e13645b5574fde575113665400cc1064a4cf" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e4f3fba7338c4ed469165801d54d88a8845c6da929d27f2d20805730942d5b7c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "193c1ee2e71cefd9d22620e9ff54e3385036c6d04e0de8d7990fb7ca98a38cc0" + sha256 cellar: :any_skip_relocation, ventura: "282c9cb998f3bb88a7146593c86ac01ee42242e87884f8c7619e28854725ac09" + sha256 cellar: :any_skip_relocation, x86_64_linux: "1cdeabbe2bb39e67a168c9a98a7a243f56ff323879581cc78d92414cdabfaf02" end depends_on "go" => :build @@ -28,7 +27,7 @@ def install system "go", "build", *std_go_args(ldflags:), "./cmd/hauler" - generate_completions_from_executable(bin/"hauler", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"hauler", "completion") end test do diff --git a/Formula/h/hazelnut.rb b/Formula/h/hazelnut.rb deleted file mode 100644 index b3b5517a0f..0000000000 --- a/Formula/h/hazelnut.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Hazelnut < Formula - desc "Terminal-based automated file organizer" - homepage "https://github.com/ricardodantas/hazelnut" - url "https://github.com/ricardodantas/hazelnut/archive/refs/tags/v0.2.49.tar.gz" - sha256 "b5a56cdd717dab2fe6ca0442377b4b8bc375639531a82bddeff8ec1ad31520eb" - license "GPL-3.0-or-later" - revision 1 - head "https://github.com/ricardodantas/hazelnut.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "bfe57b65d77b5518e0e0aa1f39f6cc39d7a205532879c1280cb338e75ce31983" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "45217d5d6f7c700414bd928e7e5e4978b3ca266138b0a2f7a276ab28f8383912" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b5da23818eff4dd006f1e09c0548bdde33d335cbf38695eddae96c31aecf1763" - sha256 cellar: :any_skip_relocation, arm64_linux: "c3606d2caae9ab4020cea826af580735f5298dbeecc98b766e0dc4209f3fc331" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e0275632e91375fa7852815f4fb153ec1309c3990c195cb38dfc63e882a5b129" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/hazelnut --version") - - downloads = testpath/"Downloads" - downloads.mkpath - - config = testpath/"config.toml" - config.write <<~TOML - [[watch]] - path = "#{downloads}" - recursive = false - - [[rule]] - name = "pdfs" - - [rule.condition] - extension = "pdf" - - [rule.action] - type = "move" - destination = "#{testpath/"PDFs"}" - TOML - - output = shell_output("#{bin}/hazelnut check --config #{config}") - assert_match "Config is valid", output - assert_match "1 watch paths", output - assert_match "1 rules", output - assert_match "pdfs", shell_output("#{bin}/hazelnut --config #{config} list") - end -end diff --git a/Formula/h/hcom.rb b/Formula/h/hcom.rb deleted file mode 100644 index acd478bb10..0000000000 --- a/Formula/h/hcom.rb +++ /dev/null @@ -1,26 +0,0 @@ -class Hcom < Formula - desc "Let AI agents message, watch, and spawn each other across terminals" - homepage "https://github.com/aannoo/hcom" - url "https://github.com/aannoo/hcom/archive/refs/tags/v0.7.13.tar.gz" - sha256 "2043ae484f6150d1a852535b567fb89a3b9b4376de8b8d040466c1b90f8f9639" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1f9373dd14a648f16122af05f76ea6195a1f30dfed2fb9e4e7ed04a5cba9d8cc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5616701e51b2aacd506fbc3c7205202b30380322df3c6e703b9a1c8c0f10a2c7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bedfd9c5d1f195bf23a4b583252aeaa2e5df8022f04272e79281da3ddad49ee6" - sha256 cellar: :any_skip_relocation, arm64_linux: "28beb25dc7ddd24febd674811c18a6155130638640086a1a67aedcf24e175d42" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d30464909797b1128caf83dea20f7875a8871f14a9fb5444569c3a885c9376cd" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/hcom --version") - end -end diff --git a/Formula/h/headscale.rb b/Formula/h/headscale.rb index b7f3ad82c7..573cc6ef2b 100644 --- a/Formula/h/headscale.rb +++ b/Formula/h/headscale.rb @@ -1,18 +1,17 @@ class Headscale < Formula desc "Open source, self-hosted implementation of the Tailscale control server" homepage "https://github.com/juanfont/headscale" - url "https://github.com/juanfont/headscale/archive/refs/tags/v0.28.0.tar.gz" - sha256 "cb38683998d13d2700df258a81c00add199dccb999b1dacc4491305cdaa67db3" + url "https://github.com/juanfont/headscale/archive/refs/tags/v0.26.1.tar.gz" + sha256 "8a19bfaaa1533ab69b63e9cef4658758aad79dadd43088c6cc7313ab88df7de5" license "BSD-3-Clause" head "https://github.com/juanfont/headscale.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e641e5064903006b382056bc56698c22504734a3dd2980e267da41d8b6b4d056" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "12d0c96ac66dfa358543d2908f43ed78dbcc85e5891dc32be095ba694a9bd570" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e37c036cff7342524ff3b6c2e11cf5996287c76d3c3e828b74e412fc6c1b84ec" - sha256 cellar: :any_skip_relocation, arm64_linux: "40572ebbf8a019b34c16e2b76cc696266eb64946b7dabb9aa2fcf7d787df6c8e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "603d532cb84698237c9df7a7f027c2ee1b647b00e39046c8248022b7df206e41" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "b4fdac09e2fd3525e5ee2c6d0bcb20f24c521d04da9cd2ffae5739a4dbc2aac0" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9c3f6cdb74a6b0530b5dcf829d0a026c881efe25400dfe4f181e3012beff0f48" + sha256 cellar: :any_skip_relocation, ventura: "19ebfb927544491413f730982e8b61d899255004af20190832033603acc2e98e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "acf4012403e094eebd33ffcabe26ac308f6de5e0ee6a78ae7fcfe49b6c43ff37" end depends_on "go" => :build @@ -26,13 +25,13 @@ def install system "go", "build", *std_go_args(ldflags:), "./cmd/headscale" - generate_completions_from_executable(bin/"headscale", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"headscale", "completion", shells: [:bash, :zsh, :fish, :pwsh]) end test do - assert_match "headscale version", shell_output("#{bin}/headscale version") + assert_match version.to_s, shell_output("#{bin}/headscale version") output = shell_output("#{bin}/headscale configtest 2>&1", 1) - assert_match "Fatal config error", output + assert_match "error reading config file: Config File", output end end diff --git a/Formula/h/helius-personal-finance-tracker.rb b/Formula/h/helius-personal-finance-tracker.rb deleted file mode 100644 index 29181c1abf..0000000000 --- a/Formula/h/helius-personal-finance-tracker.rb +++ /dev/null @@ -1,42 +0,0 @@ -class HeliusPersonalFinanceTracker < Formula - desc "Local-first personal finance tracker with CLI and TUI" - homepage "https://github.com/STVR393/helius-personal-finance-tracker" - url "https://github.com/STVR393/helius-personal-finance-tracker/archive/refs/tags/v0.1.4.tar.gz" - sha256 "b785c7b7afe32e0334c0449dbd19ececd193fceafd3b407e687e6330632dc098" - license "AGPL-3.0-only" - head "https://github.com/STVR393/helius-personal-finance-tracker.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8c217e810bc169e7c5c0b71d88444ddaf1c0ecacb6b5706b048f3e0d830e2b2e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "adb079817661a22fc52abfb3d64997f3bdc9e43c54e0982aa6867774dea25f28" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fff137308032de554b1a8d19c028980f7afc39678359db902ebadb6693bac3e0" - sha256 cellar: :any_skip_relocation, arm64_linux: "545a4c1224ac4b07dbbe7efbe251ac2d6324541029358c798f85fedeff156799" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c0fbb85da9735863b41acd38fc660783ede29fc97896ac254440fb8ab5c7a709" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/helius --version") - - db = testpath/"tracker.db" - init_output = shell_output("#{bin}/helius --db #{db} init --currency USD") - assert_match "Initialized database", init_output - - system bin/"helius", "--db", db, "account", "add", "Checking", - "--type", "checking", "--opening-balance", "1000.00", "--opened-on", "2026-01-01" - system bin/"helius", "--db", db, "category", "add", "Groceries", "--kind", "expense" - system bin/"helius", "--db", db, "tx", "add", - "--type", "expense", "--amount", "25.50", "--date", "2026-03-02", - "--account", "Checking", "--category", "Groceries", "--payee", "Market" - - balance_output = shell_output("#{bin}/helius --db #{db} balance --json") - assert_match "\"account_name\": \"Checking\"", balance_output - assert_match "\"current_balance_cents\": 97450", balance_output - end -end diff --git a/Formula/h/hello.rb b/Formula/h/hello.rb index 7122d55df6..e9042fe47d 100644 --- a/Formula/h/hello.rb +++ b/Formula/h/hello.rb @@ -1,19 +1,17 @@ class Hello < Formula desc "Program providing model for GNU coding standards and practices" homepage "https://www.gnu.org/software/hello/" - url "https://ftpmirror.gnu.org/gnu/hello/hello-2.12.2.tar.gz" - sha256 "5a9a996dc292cc24dcf411cee87e92f6aae5b8d13bd9c6819b4c7a9dce0818ab" + url "https://ftp.gnu.org/gnu/hello/hello-2.12.1.tar.gz" + sha256 "8d99142afd92576f30b0cd7cb42a8dc6809998bc5d607d88761f512e26c7db20" license "GPL-3.0-or-later" - revision 3 + revision 2 bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c50cebcea7f28a3d731c763ab2ebc89971aa2e6a7a5c003cf537ff7b5a699949" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3a34c7dd5e7e44e6305073921a562d39661989be208f4d9f30f7cad13f564b04" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ffe7a2e1e847d27e9605bfb67774ff2d1d0c2a6903f0ebbbfd4e78c619a744db" - sha256 cellar: :any_skip_relocation, sequoia: "f0fff8bb41c131a63a1a3ef88c765e8582c0dc25ee44f1cd402c90bf4881f195" - sha256 arm64_linux: "5fcd4c8440df4124e32f221b3e0d6ca33db4815802d5713853a4b1c3eb6d5f58" - sha256 x86_64_linux: "6069f4a013535ca6e8c5b47239f14805f791dceafa5bba48440ae5357d339fdf" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "c74d64c261b96e420941288d5544d61b09ea7ecc57ee2a8407e8a33b29ee1af8" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "637b1501231f7b87fc57c702c1d71b2d05164497c97234009c759d29215b8e12" + sha256 cellar: :any_skip_relocation, ventura: "06c3f733cf558c777668187e474ca623a9f78a676b9dc01937bdfb3eb3fb6cef" + sha256 x86_64_linux: "f7ef8c930676eb016c3dfca282b827def727f4753e794d31e89aa68f356ee859" end def install diff --git a/Formula/h/hellwal.rb b/Formula/h/hellwal.rb new file mode 100644 index 0000000000..3d5a483a44 --- /dev/null +++ b/Formula/h/hellwal.rb @@ -0,0 +1,34 @@ +class Hellwal < Formula + desc "Pywal-like color palette generator, but faster and in C" + homepage "https://github.com/danihek/hellwal" + url "https://github.com/danihek/hellwal/archive/refs/tags/v1.0.4.tar.gz" + sha256 "a33d1c5257fe4b42e92cac7f055c6ed1a3e857fe52ab435924b316947d55e200" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "778d679a53cef4dbd676f5d05ece0bf8146b009406c00aa987128d657dbca040" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a57e8ca0e7843579ac344724f45e606d781038fd47feb2af03223dd85ba82eaa" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9b8df8b8cfcb4f5c70d1ca34d2cd601aa6085e641bb8de19b52a230e07cb78d1" + end + + depends_on macos: :sonoma # failed on ventura + + def install + system "make" + bin.install "hellwal" + doc.install "templates", "themes" + end + + test do + resource "test_image" do + url "https://raw.githubusercontent.com/chenrui333/homebrew-tap/486af5b4f6eee92b2f14ffd02db0c60ab2287555/assets/cropped-rust-lang-logo-black-300x300.png" + sha256 "62df7205f3fc29db0a47bbd328789d64325bd88ea62b0bcc7418589dca7337c4" + end + + testpath.install resource("test_image") + system bin/"hellwal", "--image", testpath/"cropped-rust-lang-logo-black-300x300.png" + + system bin/"hellwal", "--help" + end +end diff --git a/Formula/h/hexora.rb b/Formula/h/hexora.rb index 8a59acb06b..5fb97e87b5 100644 --- a/Formula/h/hexora.rb +++ b/Formula/h/hexora.rb @@ -1,26 +1,23 @@ class Hexora < Formula desc "Static analysis of malicious Python code" homepage "https://github.com/rushter/hexora" - url "https://github.com/rushter/hexora/archive/refs/tags/v0.2.4.tar.gz" - sha256 "0a5ec5fbdc59c25d2d84a90626a47c36203817f8dc82301051888f3e528d5910" + url "https://github.com/rushter/hexora/archive/refs/tags/v0.1.2.tar.gz" + sha256 "86de5c5ea4a7300876d22b79d4ce48e30b9ef2f537bf95c75df476ed540b24dd" license "MIT" head "https://github.com/rushter/hexora.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "55a9666e0781660049d78ea5fd0c06aac575c2bc33de996d1aa7c9d421ef02a4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b3d614dd19d0473b5e0d6c067225f2946e18ffda861cc946231bdb347c5cbff4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9e0faba9b6dfded0f4d5ab352e1ddc5691b5ad0dca2d589efc83d708fdd72745" - sha256 cellar: :any_skip_relocation, arm64_linux: "be4504a8862abb8eb8c8999d5a4884ef4dd47130112b34ab3dcce43efc98026b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "891f68eee3d23ef27258b0c4492bd980f3c7d7dc1537ee5ecdbeaa444a06fc26" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "44efd8060ec8d4a99471c6f6cd57cb89fc1fcfe720abf944dff4ae3ed3997d9e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6c1fc0b16de4138a6ddc9d713ac953e35454c60cd378b883ce902e0d2071dcd7" + sha256 cellar: :any_skip_relocation, ventura: "283e3cf7e60622ae5286abe5ec1682ba2420d918c11ec69f79a55b4ff86da1c5" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b3c0f1eeae04334ef7ce15e8c3f45ec4d171a7af192cebcb2920c35f5a641b68" end depends_on "rust" => :build - uses_from_macos "python" => :build - def install - system "cargo", "install", *std_cargo_args(path: "crates/hexora") + system "cargo", "install", *std_cargo_args end test do diff --git a/Formula/h/hexowl.rb b/Formula/h/hexowl.rb deleted file mode 100644 index 90ed79bb42..0000000000 --- a/Formula/h/hexowl.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Hexowl < Formula - desc "Lightweight, flexible programmer's calculator with variables and functions" - homepage "https://hexowl.ru/" - url "https://github.com/DECE2183/hexowl/archive/refs/tags/v1.5.1.tar.gz" - sha256 "c80e419d8936b610d414f374f909d3dc5dc6b53a95ebf3589ecae6618814fed8" - license "GPL-3.0-or-later" - head "https://github.com/dece2183/hexowl.git", branch: "dev" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f531da5e0122c1e048ceb06e955e0a115fe30a161b0d2f0a7b1a19bd2e08915a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "46062207f884edf40609e61b4469c1594c525f1393e5a1a679d5a4d905897329" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "33567f50dc9605fa11660dcf8cb48bbf50656b82e546005f104301b12a25a248" - sha256 cellar: :any_skip_relocation, arm64_linux: "d0810928411493b9fb8547af79dc00fbc2aedde8b559803d147f771d90bf5aff" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bdd3578212563b9d15e51890d78c3ef3e8eac0ab9b554f44c6086d948b92c6c5" - end - - depends_on "go" => :build - - def install - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match version.to_s, shell_output("#{bin}/hexowl version") - assert_match "funcs", shell_output("#{bin}/hexowl funcs") - end -end diff --git a/Formula/h/heyagent.rb b/Formula/h/heyagent.rb deleted file mode 100644 index a2d098708b..0000000000 --- a/Formula/h/heyagent.rb +++ /dev/null @@ -1,45 +0,0 @@ -class Heyagent < Formula - desc "Claude Code notifications" - homepage "https://www.heyagent.dev/" - url "https://registry.npmjs.org/heyagent/-/heyagent-2.0.0.tgz" - sha256 "5bf3f3db28e218a835ee6b22bd22ab2b118f36324a40a4d5839c3dd7cd2b9e79" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a89eb11619a8c5c77c1db80b8fc75083eb4b0fbddc7e002903bdba33b4f3bec9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a89eb11619a8c5c77c1db80b8fc75083eb4b0fbddc7e002903bdba33b4f3bec9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a89eb11619a8c5c77c1db80b8fc75083eb4b0fbddc7e002903bdba33b4f3bec9" - sha256 cellar: :any_skip_relocation, arm64_linux: "c7f3950bca7c2d9716b86dc8bba7606314957b6b4a7d81fe7978761b76b3bfd6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c7f3950bca7c2d9716b86dc8bba7606314957b6b4a7d81fe7978761b76b3bfd6" - end - - depends_on "node" - - on_macos do - depends_on "terminal-notifier" - end - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - - # Remove vendored pre-built binary `terminal-notifier` - node_notifier_vendor_dir = libexec/"lib/node_modules/heyagent/node_modules/node-notifier/vendor" - rm_r(node_notifier_vendor_dir) if node_notifier_vendor_dir.exist? - - if OS.mac? - terminal_notifier_dir = node_notifier_vendor_dir/"mac.noindex" - terminal_notifier_dir.mkpath - - # replace vendored `terminal-notifier` with our own - terminal_notifier_app = Formula["terminal-notifier"].opt_prefix/"terminal-notifier.app" - ln_sf terminal_notifier_app.relative_path_from(terminal_notifier_dir), terminal_notifier_dir - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/hey --version") - assert_match "Provider: not set", shell_output("#{bin}/hey status") - end -end diff --git a/Formula/h/hf.rb b/Formula/h/hf.rb index 10c6525cc2..fea66453de 100644 --- a/Formula/h/hf.rb +++ b/Formula/h/hf.rb @@ -2,17 +2,16 @@ class Hf < Formula desc "Cross-platform hidden file library and utility" homepage "https://sorairolake.github.io/hf/book/index.html" - url "https://github.com/sorairolake/hf/archive/refs/tags/v0.6.0.tar.gz" - sha256 "a7bf875dedd673fba5bd69418ca197eeaa7c8772ee57601bbbc01bd9e0d3bad1" + url "https://github.com/sorairolake/hf/archive/refs/tags/v0.5.1.tar.gz" + sha256 "3b2920e53ed5628b5ab44ab1400835a3ead1c0b7fe73722b1512a3ca4e41c6d9" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9ccacca550ba952dd1890e00527450aef922583e3b8510eee86ce4efc4deb3ce" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b2411533e74e66057fbb2ef1ca62b1f8f89572f17eaa4146620d37b1140fd899" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e281514c1dd7f109ab3ef599a7fe1c2d4d4e22f2ef9e3d64b3db278229f5a1ee" - sha256 cellar: :any_skip_relocation, arm64_linux: "d10f360622cc692fe8e2f63f562aa2e441752fcff855cdd4f7e3a5b6cde2f3cd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8ebcdc4542532fba9e88939ddc74ff19681752f0956b1382a03d5ec523334758" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "b209044e8687c5d49d1c13afd9ec9a9fcea7f4db3916044c4989266a46dbe5b9" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "2aff3750f259d5ea8add85dc3f4f01ca1b0c710fec546761f8d3751046d75460" + sha256 cellar: :any_skip_relocation, ventura: "52ef18523217590842dfc968cff49774ce78b1885d785c9fa79f54be7d729260" + sha256 cellar: :any_skip_relocation, x86_64_linux: "507bc9fda427ba42088684947a403476ae29673313940c0a107e486faf9d6e69" end depends_on "rust" => :build diff --git a/Formula/h/horusec.rb b/Formula/h/horusec.rb index ed2ad9d218..6b67c66399 100644 --- a/Formula/h/horusec.rb +++ b/Formula/h/horusec.rb @@ -1,6 +1,6 @@ class Horusec < Formula desc "Improve identification of vulnerabilities in your project with just one command" - homepage "https://github.com/ZupIT/horusec" + homepage "https://docs.horusec.io/docs/cli/overview/" url "https://github.com/ZupIT/horusec/archive/refs/tags/v2.8.0.tar.gz" sha256 "3824728b7b29656416aaf23ff8cbda62fe9921d2fb982c19f8cda4f0df933592" license "Apache-2.0" @@ -8,12 +8,10 @@ class Horusec < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "33c8faa9cbe98e3695d692b8b0097c919f241caac373bbd446f70fb7ef199691" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "33c8faa9cbe98e3695d692b8b0097c919f241caac373bbd446f70fb7ef199691" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "33c8faa9cbe98e3695d692b8b0097c919f241caac373bbd446f70fb7ef199691" - sha256 cellar: :any_skip_relocation, arm64_linux: "d6657e4285aa8926d741c1ee1476849c3fe99ae2771d17a80bf49300809bc230" - sha256 cellar: :any_skip_relocation, x86_64_linux: "095146b8bf4a70bad26f7ebe2e2df735965aebd34f349a359b25c1be4a76de28" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1693b4fabee9526e7871b41744711ef25f89be6bacfc98f5421c25bf91ac74e3" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9c17573ecb0ad13fb69f1fd221ae0829439f65c4879501ba3a6ad83ef365ccc1" + sha256 cellar: :any_skip_relocation, ventura: "abdd3013a485c880e375bca54fa7a84eb22344466f2a79f137a21ca1486b3250" + sha256 cellar: :any_skip_relocation, x86_64_linux: "39ffeb3c55db70f3be676e76c25378ea20ade68db6bb13942b5184de1698dcc8" end depends_on "go" => :build @@ -27,7 +25,7 @@ def install ] system "go", "build", *std_go_args(ldflags:), "./cmd/app" - generate_completions_from_executable(bin/"horusec", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"horusec", "completion") end test do diff --git a/Formula/h/httpreplay.rb b/Formula/h/httpreplay.rb deleted file mode 100644 index 683ea13453..0000000000 --- a/Formula/h/httpreplay.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Httpreplay < Formula - desc "Replay HTTP requests from a tape file" - homepage "https://github.com/roy2220/httpreplay" - url "https://github.com/roy2220/httpreplay/archive/refs/tags/v0.6.3.tar.gz" - sha256 "6630a42cd3d30465970bedb5b4501ea7f60b30df36791eb72d84f1dedafe3b71" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2963065ccc8dc88f63bed0c96d92df4fe50f85d19799b0425f0801ad5871d2e6" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2963065ccc8dc88f63bed0c96d92df4fe50f85d19799b0425f0801ad5871d2e6" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2963065ccc8dc88f63bed0c96d92df4fe50f85d19799b0425f0801ad5871d2e6" - sha256 cellar: :any_skip_relocation, arm64_linux: "277167907278e510583356c253745c5054e4e65f176476dce3060de831911ccd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "295d7e3a6b9522791e8e297a4aeaa6f9448c5bb5c6fb48a354aae5319464b2a4" - end - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(output: bin/"httpreplay") - end - - test do - (testpath/"requests.txt").write <<~EOS - https://example.com/api/status - https://example.com/api/post -X POST -H "Content-Type: application/json" -d '{"key":"value"}' - EOS - - output = shell_output("#{bin}/httpreplay requests.txt -d -q 1 -c 1 2>&1") - assert_match " http request: method=\"GET\" url=\"https://example.com/api/status\"", output - assert_match "final progress: tapePosition=2", output - assert_path_exists testpath/"requests.txt.httpreplay-pos.dry-run" - end -end diff --git a/Formula/h/huber.rb b/Formula/h/huber.rb index 52d3266824..e28d069954 100644 --- a/Formula/h/huber.rb +++ b/Formula/h/huber.rb @@ -8,12 +8,10 @@ class Huber < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7d7b9ed368c6f508c865f4bef32fe9cff9a439e601bd003bfbf97112711247eb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0d875976273831c33f0a55f10e71a1336ada738c77384da5e6df140ec3e88ebc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7b8e2a02d6d3e1c00d92e2c0101149e7c1b1b5de44dca6d76b245459911af526" - sha256 cellar: :any_skip_relocation, arm64_linux: "e81ff186d79f193423604b579fc4850370e11a93657a13abf8e1d1efcb293a7a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b46cd3d6e10a446f1634246d1c7adb79f437bd9889aba2b9ad99983815635414" + sha256 cellar: :any, arm64_sequoia: "2cb201c6f2fc0c36cd8b35aafd148665a7129cf078175f3ea9a35c58036f7034" + sha256 cellar: :any, arm64_sonoma: "996d0f26257ea8a055adf608b5cf7b7bac514b9c948ef931db5b5c426436a54b" + sha256 cellar: :any, ventura: "929078ed1c05ec6002ef36c59998b789c6625fa4be7186d7e2d9fee0e04587a5" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d64eea8709a44547ee0609e89036adb090a7013f3a902d9a72ccf84295fe9108" end depends_on "cmake" => :build @@ -21,9 +19,7 @@ class Huber < Formula depends_on "openssl@3" - on_linux do - depends_on "zlib-ng-compat" - end + uses_from_macos "zlib" def install # Ensure that the `openssl` crate picks up the intended library. diff --git a/Formula/h/humanlayer.rb b/Formula/h/humanlayer.rb deleted file mode 100644 index 83585a5e04..0000000000 --- a/Formula/h/humanlayer.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Humanlayer < Formula - desc "Command-line interface for HumanLayer" - homepage "https://www.humanlayer.dev/" - url "https://registry.npmjs.org/humanlayer/-/humanlayer-0.17.2-npm.tgz" - version "0.17.2-npm" - sha256 "3457fbfe110135a6cc783f49e16344c0591916c816d2d871f2a130006c954112" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fbb993e97b47c5f178a9a9322896ab5de7172075d6fb83520a492b2dbd9b07f2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fbb993e97b47c5f178a9a9322896ab5de7172075d6fb83520a492b2dbd9b07f2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fbb993e97b47c5f178a9a9322896ab5de7172075d6fb83520a492b2dbd9b07f2" - sha256 cellar: :any_skip_relocation, arm64_linux: "4ef6ba62fc1d6a9f287012be4cc77d70b861c276e7f8b123104b906ea4b279ea" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4ef6ba62fc1d6a9f287012be4cc77d70b861c276e7f8b123104b906ea4b279ea" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink Dir["#{libexec}/bin/*"] - end - - test do - ENV["HUMANLAYER_API_KEY"] = "test_token" - - assert_match version.to_s, shell_output("#{bin}/hlyr --version") - - output = shell_output("#{bin}/hlyr thoughts status 2>&1", 1) - assert_match "Run \"humanlayer thoughts init\" first", output - end -end diff --git a/Formula/h/humioctl.rb b/Formula/h/humioctl.rb index 18f376a4b9..2e5716f4d3 100644 --- a/Formula/h/humioctl.rb +++ b/Formula/h/humioctl.rb @@ -1,18 +1,17 @@ class Humioctl < Formula desc "CLI Client for Humio - Stream Logs All Day Long" homepage "https://www.crowdstrike.com/platform/next-gen-siem/falcon-logscale/" - url "https://github.com/humio/cli/archive/refs/tags/v0.40.0.tar.gz" - sha256 "1c6cbf9a3ca97700b7792c4d2dc247c9af3ba9f7715fb3f87b11a49adec15447" + url "https://github.com/humio/cli/archive/refs/tags/v0.38.1.tar.gz" + sha256 "e588092e47d9943a1823e0af707c798945924957eff834b7d7b041ebcf712bc8" license "Apache-2.0" head "https://github.com/humio/cli.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0d397c65e438e086c47342e36d96c5cc7b10b7549c19e078cc4bfcee44f1c276" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0d397c65e438e086c47342e36d96c5cc7b10b7549c19e078cc4bfcee44f1c276" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0d397c65e438e086c47342e36d96c5cc7b10b7549c19e078cc4bfcee44f1c276" - sha256 cellar: :any_skip_relocation, arm64_linux: "f6b40fdd3785b6282c2974bc7e2c07cd2cc757b4f50658fa296ed6fc5753d5af" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1701c34f2946046cfcd78fe882ec5f272f03d4934d7586a37c111e7576e8651a" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3cff544aa70eb05dffb3d1f844ddb8275c497b50945ed47ae6745ff63b074126" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "859c91e94da2d80d42c2daf59c030b12879ecb8965ea6994312fa86c7b4acc18" + sha256 cellar: :any_skip_relocation, ventura: "4951f674c427df56691ab19b882e0d4df6c57a680711a1982d8a5744116e5709" + sha256 cellar: :any_skip_relocation, x86_64_linux: "75567f825ebd815a7ec0cf4eebc70d8fb2a6cecb323336f813e1c27f6f21365b" end depends_on "go" => :build diff --git a/Formula/h/hygg.rb b/Formula/h/hygg.rb index 4ae5caa141..0bd7dfa7de 100644 --- a/Formula/h/hygg.rb +++ b/Formula/h/hygg.rb @@ -1,18 +1,17 @@ class Hygg < Formula - desc "Simplifying the way you read. Minimalistic Vim-like TUI document reader" + desc "Simplifying the way you read" homepage "https://github.com/kruserr/hygg" - url "https://github.com/kruserr/hygg/archive/refs/tags/0.1.19.tar.gz" - sha256 "36491747e9d47cf7d24ae0666fd2908535eac437e8223a6bd88465a90e1cf35a" + url "https://github.com/kruserr/hygg/archive/refs/tags/0.1.17.tar.gz" + sha256 "f657312f7071300561d8e73c382b7ff2350f389355ff55db0053fb4584062f85" license "AGPL-3.0-only" head "https://github.com/kruserr/hygg.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "458622fe4d29e2deae57ebf8fc7cdfaf79f2f0f50e6871778358d0515636af6f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2d4ea5cd556bdf6c7812fa5c964a2e254745aebe730953d455ae0ac95d92bc3d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c90ce560983e0744153961c41ddb8bc6d5ceabfb82da7789ec6a7b7b0188a648" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d8f29d8687e1e74d04a3f314663586240ef4985622b0757fc0d973ab68165138" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "a216872df67892945901b17fdeb8714a75a0b5939c37899388e12731723089a6" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "cda804d388f9c3804d690d2cc182eacefd89f22db6c22c4ec2d9b9dc3d14cf0e" + sha256 cellar: :any_skip_relocation, ventura: "d62e6b8bcdef00100a5b61e651fad3ad9f9be276f572c25194ac572973ef12fd" + sha256 cellar: :any_skip_relocation, x86_64_linux: "08e7cdbbe0a31e583e287524cfa4972037f88c7e6e5cf42df03a0e2d95bbbd71" end depends_on "rust" => :build diff --git a/Formula/h/hyprmoncfg.rb b/Formula/h/hyprmoncfg.rb deleted file mode 100644 index 363b57b41c..0000000000 --- a/Formula/h/hyprmoncfg.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Hyprmoncfg < Formula - desc "Terminal-first monitor configurator and daemon for Hyprland" - homepage "https://hyprmoncfg.dev/" - url "https://github.com/crmne/hyprmoncfg/archive/refs/tags/v1.4.1.tar.gz" - sha256 "006cf3a4d473817a1095436f6d11cbc7e27e0162181490bab880568c5b4d3ae5" - license "MIT" - head "https://github.com/crmne/hyprmoncfg.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "020e4ad05fb9a7f8a5b749f25e239cbe523fc3504997241162cd5ee7b7397f5d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "13906e1f2c4e88dd3662176ac82bcf8fe88f1a8d0d64c96d05ea7200930f7bce" - end - - depends_on "go" => :build - depends_on :linux - - def install - ldflags = %W[ - -s -w - -X github.com/crmne/hyprmoncfg/internal/buildinfo.Version=#{version} - ] - system "go", "build", *std_go_args(ldflags:), "./cmd/hyprmoncfg" - system "go", "build", *std_go_args(ldflags:, output: bin/"hyprmoncfgd"), "./cmd/hyprmoncfgd" - end - - test do - assert_match version.to_s, shell_output("#{bin}/hyprmoncfg version") - end -end diff --git a/Formula/i/iam-collect.rb b/Formula/i/iam-collect.rb deleted file mode 100644 index 40a47f9bb5..0000000000 --- a/Formula/i/iam-collect.rb +++ /dev/null @@ -1,28 +0,0 @@ -class IamCollect < Formula - desc "Collect IAM information from all your AWS organization, accounts, and resources" - homepage "https://github.com/cloud-copilot/iam-collect" - url "https://registry.npmjs.org/@cloud-copilot/iam-collect/-/iam-collect-0.1.187.tgz" - sha256 "84f0e0f5c189ff742094c231f7cc4c231c15909d17e4096cb255315a6b924376" - license "AGPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "2c44eceb515d6930f90573a4d9d9d4670193dfddc88034737bb72f6bf5a097d2" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/iam-collect --version") - - system bin/"iam-collect", "init" - assert_path_exists testpath/"iam-collect.jsonc" - - assert_match "Could not load credentials from any providers", shell_output("#{bin}/iam-collect download 2>&1", 1) - end -end diff --git a/Formula/i/iam-convert.rb b/Formula/i/iam-convert.rb deleted file mode 100644 index 4cad9a6db8..0000000000 --- a/Formula/i/iam-convert.rb +++ /dev/null @@ -1,33 +0,0 @@ -class IamConvert < Formula - desc "Convert JSON IAM Policies to other formats" - homepage "https://iam.cloudcopilot.io/tools/iam-convert" - url "https://registry.npmjs.org/@cloud-copilot/iam-convert/-/iam-convert-0.1.67.tgz" - sha256 "aa98b9b60e1baf5f65d44c4ca8b6b74c39b9f6eee678736600dcecd20eec15b0" - license "AGPL-3.0-only" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "a06a3c01d8c8aa1f2fe0f7885e49234ce78114ebfc45101601ae342c50cfc062" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - resource "test_policy_json" do - url "https://government-secrets.s3.amazonaws.com/secret-policy.json" - sha256 "6348c4060ad668b8cc14aaad21fd426ca2bffb3002fc11abb89ab4279439b409" - end - - testpath.install resource("test_policy_json") - - output = shell_output("#{bin}/iam-convert --file #{testpath}/secret-policy.json") - assert_match "data \"aws_iam_policy_document\" \"policy\"", output - - assert_match version.to_s, shell_output("#{bin}/iam-convert --version") - end -end diff --git a/Formula/i/iam-expand.rb b/Formula/i/iam-expand.rb deleted file mode 100644 index 8e3418e7ba..0000000000 --- a/Formula/i/iam-expand.rb +++ /dev/null @@ -1,31 +0,0 @@ -class IamExpand < Formula - desc "Expand IAM Actions with Wildcards" - homepage "https://iam.cloudcopilot.io/tools/iam-expand" - url "https://registry.npmjs.org/@cloud-copilot/iam-expand/-/iam-expand-0.11.63.tgz" - sha256 "d5e69fb87ced867742d4702fb4e174418f6c1a9dce677caffd9be892d53a4647" - license "AGPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "cb7fd3c6c4ea64b3d6b09a9423ad622b2ea16123073f5792d4c8d2c5e2d12b90" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/iam-expand --version") - - assert_equal <<~EOS, shell_output("#{bin}/iam-expand 's3:*Object'") - s3:DeleteObject - s3:GetObject - s3:PutObject - s3:ReplicateObject - s3:RestoreObject - EOS - end -end diff --git a/Formula/i/iam-lens.rb b/Formula/i/iam-lens.rb deleted file mode 100644 index c0a37d48c2..0000000000 --- a/Formula/i/iam-lens.rb +++ /dev/null @@ -1,31 +0,0 @@ -class IamLens < Formula - desc "Google Maps for AWS IAM" - homepage "https://github.com/cloud-copilot/iam-lens" - url "https://registry.npmjs.org/@cloud-copilot/iam-lens/-/iam-lens-0.1.118.tgz" - sha256 "ae7e57fd3815ee8ca03578e04cadebe5fcc041fa6cca9c88a4c4c6eb9a929d87" - license "AGPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "182b957f487c47f7b38ac9a6fe5c281fe15e4f09c7f59abe52945e68d1cf6a60" - end - - depends_on "iam-collect" - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/iam-lens --version") - - system "iam-collect", "init" - - output = shell_output("#{bin}/iam-lens simulate --principal arn:aws:iam::123456789012:role/ExampleRole " \ - "--resource arn:aws:s3:::example-bucket/secret-file.txt " \ - "--action s3:GetObject 2>&1", 1) - assert_match "Unable to find account ID for resource", output - end -end diff --git a/Formula/i/iam-shrink.rb b/Formula/i/iam-shrink.rb deleted file mode 100644 index a225facae9..0000000000 --- a/Formula/i/iam-shrink.rb +++ /dev/null @@ -1,38 +0,0 @@ -class IamShrink < Formula - desc "Make AWS IAM policies smaller by adding wildcards to actions" - homepage "https://iam.cloudcopilot.io/tools/iam-shrink" - url "https://registry.npmjs.org/@cloud-copilot/iam-shrink/-/iam-shrink-0.1.70.tgz" - sha256 "e72f64d2730779dfd918282be05a3bc74d3706c91de7d7722edefa0acf08660c" - license "AGPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "a431503954f1ac7343547d7ee1b2de8612acdbad9475f415dfb5315e07918c70" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink Dir["#{libexec}/bin/*"] - end - - test do - assert_match version.to_s, shell_output("#{bin}/iam-shrink --version") - - args = %w[ - s3:GetBucketTagging - s3:GetJobTagging - s3:GetObjectTagging - s3:GetObjectVersionTagging - s3:Get*VersionTagging - ] - output = shell_output("#{bin}/iam-shrink #{args.join(" ")}") - assert_equal <<~EOS, output - s3:Get*VersionTagging - s3:GetBucketTagging - s3:GetJob* - s3:GetObjectTagging - EOS - end -end diff --git a/Formula/i/ibtop.rb b/Formula/i/ibtop.rb deleted file mode 100644 index 78b396d032..0000000000 --- a/Formula/i/ibtop.rb +++ /dev/null @@ -1,27 +0,0 @@ -class Ibtop < Formula - desc "Real-time terminal monitor for InfiniBand networks" - homepage "https://github.com/JannikSt/ibtop" - url "https://github.com/JannikSt/ibtop/archive/refs/tags/v1.0.2.tar.gz" - sha256 "207892a84711b37891a1a3a70e325d673d0cbf12164b23539f2fd13c10af7f7a" - license "Apache-2.0" - head "https://github.com/JannikSt/ibtop.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "d6947267f32d05ac6d69c45c5279c88fd59965715f2e93273b9711c315e74da3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bec8b9b6747309064c04f68b9c069419cbcd8bbdeba516eef0313c48e0722344" - end - - depends_on "rust" => :build - depends_on :linux - - def install - system "cargo", "install", *std_cargo_args - end - - test do - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - assert_match version.to_s, shell_output("#{bin}/ibtop --version") - end -end diff --git a/Formula/i/iflow-cli.rb b/Formula/i/iflow-cli.rb deleted file mode 100644 index efe402d2cf..0000000000 --- a/Formula/i/iflow-cli.rb +++ /dev/null @@ -1,49 +0,0 @@ -class IflowCli < Formula - desc "AI assistant that runs directly in your terminal" - homepage "https://cli.iflow.cn/" - url "https://registry.npmjs.org/@iflow-ai/iflow-cli/-/iflow-cli-0.5.19.tgz" - sha256 "4ac4ec1d6e52362c5794bb07213886bafb554d4036752b8af8c8ca08462ab365" - license "Apache-2.0" # derived from LICENSE, but no source code for the project in https://github.com/iflow-ai/iflow-cli - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "0ca6bc04772b3fae4bbae453e3e5f43b37dc589a0d241791983d654fa3c94e80" - sha256 arm64_sequoia: "d0567070d2b3e524af4984d7b8536aa6645c4a3c3b87732bf0e0059ce7fa6414" - sha256 arm64_sonoma: "da11732037439574092b180a52c14e2775dff5e8f88e6975c3ab9a1138c7d806" - sha256 cellar: :any_skip_relocation, arm64_linux: "8f93fac9f67127398fb6871e2fe74e12f0d45a97681f11d9f5b1d6c930817760" - sha256 cellar: :any_skip_relocation, x86_64_linux: "aabea75bf717940c5b88315d67f3547dbce67cea6f490b426401114202fe18d9" - end - - depends_on "node" - - on_macos do - depends_on "terminal-notifier" - end - - def install - system "npm", "install", *std_npm_args(ignore_scripts: false) - bin.install_symlink libexec.glob("bin/*") - - # Remove incompatible pre-built binaries - ripgrep_vendor_dir = libexec/"lib/node_modules/@iflow-ai/iflow-cli/vendors/ripgrep" - rm_r(ripgrep_vendor_dir) - - # Remove vendored pre-built binary `terminal-notifier` - node_notifier_vendor_dir = libexec/"lib/node_modules/@iflow-ai/iflow-cli/node_modules/node-notifier/vendor" - rm_r(node_notifier_vendor_dir) # remove vendored pre-built binaries - - if OS.mac? - terminal_notifier_dir = node_notifier_vendor_dir/"mac.noindex" - terminal_notifier_dir.mkpath - - # replace vendored `terminal-notifier` with our own - terminal_notifier_app = Formula["terminal-notifier"].opt_prefix/"terminal-notifier.app" - ln_sf terminal_notifier_app.relative_path_from(terminal_notifier_dir), terminal_notifier_dir - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/iflow --version") - assert_match "No local commands found", shell_output("#{bin}/iflow commands list") - end -end diff --git a/Formula/i/ifstate.rb b/Formula/i/ifstate.rb deleted file mode 100644 index 10b4ac9792..0000000000 --- a/Formula/i/ifstate.rb +++ /dev/null @@ -1,67 +0,0 @@ -class Ifstate < Formula - include Language::Python::Virtualenv - - desc "Manage host interface settings in a declarative manner" - homepage "https://ifstate.net" - url "https://codeberg.org/liske/ifstate/archive/2.3.0-pre5.tar.gz" - sha256 "b4653b5da292cedba625932d7988cac571658c364d168eb4b34700d5acac3bb1" - license "MIT" - head "https://codeberg.org/liske/ifstate.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "321a05b8610f06781e97a6372ddec3ae18004d9a0f5c55203fc850600d16fa50" - sha256 cellar: :any_skip_relocation, x86_64_linux: "07a0d69c99d88fd83502567ba6f54c4a8b1dffe9724a6a2bceca29e06cae8405" - end - - depends_on "libyaml" - depends_on :linux - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage - - pypi_packages exclude_packages: "rpds-py" - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" - sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "pyroute2" do - url "https://files.pythonhosted.org/packages/1d/b2/1019ddc278549fb7e64a16d7775e0f7d981135f762b8706e583414d655e3/pyroute2-0.9.5.tar.gz" - sha256 "a198ccbe545b031b00b10da4b44df33d548db04af944be8107c05a215ba03872" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" - end - - resource "setproctitle" do - url "https://files.pythonhosted.org/packages/8d/48/49393a96a2eef1ab418b17475fb92b8fcfad83d099e678751b05472e69de/setproctitle-1.3.7.tar.gz" - sha256 "bc2bc917691c1537d5b9bca1468437176809c7e11e5694ca79a9ca12345dcb9e" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match "ifstatecli", shell_output("#{bin}/ifstatecli --version") - assert_match "usage:", shell_output("#{bin}/ifstatecli --help").downcase - end -end diff --git a/Formula/i/illa.rb b/Formula/i/illa.rb new file mode 100644 index 0000000000..b36c9fa6e1 --- /dev/null +++ b/Formula/i/illa.rb @@ -0,0 +1,35 @@ +class Illa < Formula + desc "Deploy a modern low-code platform in 5 Seconds" + homepage "https://github.com/illacloud/illa" + url "https://github.com/illacloud/illa/archive/refs/tags/v1.2.15.tar.gz" + sha256 "4f39ae2a9a4f3287510f509a2abb1b4c658a0258e0fefd6fc276a74d0c1d3a21" + license "Apache-2.0" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "924351e2e08c327bbdcfc5794b88ed6d52317d6cd900eb6f2cc62e832882ae69" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "2c8d2c049bd1b4cbca5049ecd68df7fab12a49345eabb30992713f7187293760" + sha256 cellar: :any_skip_relocation, ventura: "feaab96243d654bff20d010904883cb65a68a554678b0efd41eed2eee7ebed7b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7a42c5c77fa7cedcf45afb35cce6b304038ea4cc2773625fe859796fb1cbddaf" + end + + depends_on "rust" => :build + + def install + inreplace "Cargo.toml", "1.2.14", version.to_s + + system "cargo", "install", *std_cargo_args + end + + test do + assert_match version.to_s, shell_output("#{bin}/illa --version") + + ret_status = OS.mac? ? 1 : 0 + output = shell_output("#{bin}/illa list --self 2>&1", ret_status) + assert_match <<~EOS, output + +----+------+-------+-------+ + | ID | Name | Image | State | + +----+------+-------+-------+ + EOS + end +end diff --git a/Formula/i/inbucket.rb b/Formula/i/inbucket.rb deleted file mode 100644 index 248e329c92..0000000000 --- a/Formula/i/inbucket.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Inbucket < Formula - desc "Disposable webmail server with SMTP, POP3, and REST interfaces" - homepage "https://inbucket.org/" - url "https://github.com/inbucket/inbucket/archive/refs/tags/v3.1.1.tar.gz" - sha256 "d985f7a9e0c739146e83c0f173c00b74e4b32c136e3019a600fe8869505bbc71" - license "MIT" - head "https://github.com/inbucket/inbucket.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "75ba55762825487122d7cbdd8ece14b43428e6437c67d13a69e37a5c3444a489" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "75ba55762825487122d7cbdd8ece14b43428e6437c67d13a69e37a5c3444a489" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "75ba55762825487122d7cbdd8ece14b43428e6437c67d13a69e37a5c3444a489" - sha256 cellar: :any_skip_relocation, arm64_linux: "c581d14094c75dedc73704d01c77a727ef407f093eaa00cecd0f874260a79a08" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2dfdf74ea04c3de5da52fd41bf3863902f1d087ab411caadb66a9ead308f5fce" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:), "./cmd/inbucket" - system "go", "build", *std_go_args(ldflags:, output: bin/"inbucket-client"), "./cmd/client" - end - - test do - assert_match version.to_s, shell_output("#{bin}/inbucket --version") - output = shell_output("#{bin}/inbucket-client list test 2>&1", 1) - assert_match "Couldn't build client: parse \"http://%slocalhost:9000\"", output - end -end diff --git a/Formula/i/incus-compose.rb b/Formula/i/incus-compose.rb index 7848318fc3..c352a33ec9 100644 --- a/Formula/i/incus-compose.rb +++ b/Formula/i/incus-compose.rb @@ -8,12 +8,10 @@ class IncusCompose < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "abfec86d5ccd85bf2cecf0e32bde3fffa347968d7eb454a800412598f15fa064" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "abfec86d5ccd85bf2cecf0e32bde3fffa347968d7eb454a800412598f15fa064" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "abfec86d5ccd85bf2cecf0e32bde3fffa347968d7eb454a800412598f15fa064" - sha256 cellar: :any_skip_relocation, arm64_linux: "bc66bd3445077478f156ee3319c1b2d27626e737e51e672934f81f7be4f05f35" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7b8b3c8acf8221f795a46028877f42c0e32fea95344a4c11f5e04b0c9ea04e6d" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "11d28f4f9ecc094bab8d78264653a38e53fe3c71fcb18299fab087c8f1b86bb3" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6abdf40e5df4578160293d60d3f72826a3e0f64bfa08deb2851ca01df4149d59" + sha256 cellar: :any_skip_relocation, ventura: "0eae376f76a49f579bde41d2f0787b6dead7c2825651480dacfad3856476fa50" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d88f7f507d2a6c89038f9c222b25e27688c1246343adf7ef325706707711ce71" end depends_on "go" => :build @@ -29,7 +27,7 @@ def install ] system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"incus-compose", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"incus-compose", "completion") end test do diff --git a/Formula/i/infraspec.rb b/Formula/i/infraspec.rb index 3a88b450bb..35c5c34bd4 100644 --- a/Formula/i/infraspec.rb +++ b/Formula/i/infraspec.rb @@ -2,18 +2,17 @@ class Infraspec < Formula desc "Tool for running infrastructure tests written in pure Gherkin syntax" homepage "https://infraspec.sh/" - url "https://github.com/robmorgan/infraspec/archive/refs/tags/v0.2.2.tar.gz" - sha256 "7f8327fe065861b5158590b40d86ce508429ff95d729c08faaaaf5768acb3e23" + url "https://github.com/robmorgan/infraspec/archive/refs/tags/v0.8.0.tar.gz" + sha256 "3103267ec0b5660141182371348dbb953114e07ab87dc10bcd9a1a9799e031fc" license "Apache-2.0" head "https://github.com/robmorgan/infraspec.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1bbc34191676ef4990ff254dabd9984373761293a8559fd3358829f94cdfe00c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1bbc34191676ef4990ff254dabd9984373761293a8559fd3358829f94cdfe00c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1bbc34191676ef4990ff254dabd9984373761293a8559fd3358829f94cdfe00c" - sha256 cellar: :any_skip_relocation, arm64_linux: "403394b32ff0ad2f39333d640307d47e67ca12585e1bf6ff1306889834b8c0d9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "49027ed6ceaa4d714ac63d201d429ba295de885720fa4b5eac4b2f20f6f87d96" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3670fc73de8fa2dff06873205d4a2e617efa2aeaa7f15bfdf0562900b4ad307d" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "4f06043399d10742f693a22c70587ebc9fa9421ad3e68bfd57d9f1325af4958f" + sha256 cellar: :any_skip_relocation, ventura: "fa8d977a0c490807f5d37ae46ab6c5e8c22f9f109d11ef41019e3d5d86e225a2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c214bc8bd9eda34aec32d0181c1529a5503d3b9f741fe8080993ea47f8121d8d" end depends_on "go" => :build @@ -22,7 +21,7 @@ def install ldflags = "-s -w -X github.com/robmorgan/infraspec/internal/build.Version=#{version}" system "go", "build", *std_go_args(ldflags:), "./cmd/infraspec" - generate_completions_from_executable(bin/"infraspec", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"infraspec", "completion", shells: [:bash, :zsh, :fish, :pwsh]) end test do @@ -36,6 +35,6 @@ def install Then the server should be running EOS output = shell_output("#{bin}/infraspec test.feature").gsub(/\e\[[;\d]*m/, "") - assert_match "Test your AWS infrastructure in plain English, no code required", output + assert_match "You can implement step definitions for undefined steps with these snippets", output end end diff --git a/Formula/i/inspect-cert-chain.rb b/Formula/i/inspect-cert-chain.rb deleted file mode 100644 index faeea158ec..0000000000 --- a/Formula/i/inspect-cert-chain.rb +++ /dev/null @@ -1,33 +0,0 @@ -class InspectCertChain < Formula - desc "Inspect and debug TLS certificate chains (without OpenSSL)" - homepage "https://github.com/robjtede/inspect-cert-chain" - url "https://github.com/robjtede/inspect-cert-chain/archive/refs/tags/v0.0.24.tar.gz" - sha256 "4f87014a4631b6901d17ad983a8dff443e81473b32660aa5335f02313436f580" - license any_of: ["Apache-2.0", "MIT"] - head "https://github.com/robjtede/inspect-cert-chain.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2a21e2f90ebeae11f0347e6f2765fa23e4e5be95d3800dcac6dde387b09460ec" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4ffbd402371b6c4bec499e4160a8309d06a8e2a48a1c8c50f2c15d36b2db004b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b6a55a355872445d435310970e8b509fde12ca8b03fa2deeb9710e13d8ad1d45" - sha256 cellar: :any_skip_relocation, arm64_linux: "00b3ee5d2850564904dcbab61dad59e8d8bf4397fba326f8a8e1b6dbd0658eb8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "141198e7ca883236f202a58a0e268b0b21f0c53f45ed7116557cd2baf8e66ef5" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - ENV["NO_COLOR"] = "1" - - assert_match version.to_s, shell_output("#{bin}/inspect-cert-chain --version") - - output = shell_output("#{bin}/inspect-cert-chain --host example.com") - output = output.gsub(/\e\[[0-9;]*m/, "") # Remove ANSI color codes - assert_match(/Subject: CN=(\*\.)?example\.com/, output) - end -end diff --git a/Formula/i/instagram-cli.rb b/Formula/i/instagram-cli.rb deleted file mode 100644 index 5b1601e716..0000000000 --- a/Formula/i/instagram-cli.rb +++ /dev/null @@ -1,37 +0,0 @@ -class InstagramCli < Formula - desc "Unofficial CLI and terminal client for Instagram" - homepage "https://github.com/supreme-gg-gg/instagram-cli" - url "https://github.com/supreme-gg-gg/instagram-cli/archive/refs/tags/ts-v1.5.0.tar.gz" - sha256 "8f75793417d138393e3f8c1f9f936f4aa99bee487ea1fb215585c2105641cd9d" - license "MIT" - head "https://github.com/supreme-gg-gg/instagram-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "a9be0b06d8a5679829fdf6cc7a2907fa92b59573ad46ac5c0ce300192c1a5d99" - sha256 cellar: :any, arm64_sequoia: "7b7ab4cbeb2ee868848936d72da523356a3607007812c9fd4c500f1315f61c7b" - sha256 cellar: :any, arm64_sonoma: "7b7ab4cbeb2ee868848936d72da523356a3607007812c9fd4c500f1315f61c7b" - sha256 cellar: :any_skip_relocation, arm64_linux: "955301faad92b5c7e5b84efdd36fdb508960560516437df8d1d3cb372f8637c0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "771f5ed99fff3b5d1d187a8457cce1446f00e6f8afeefe8a84351961fb9694d7" - end - - depends_on "node" - - def install - system "npm", "ci", "--no-audit", "--no-fund" - system "npm", "run", "build" - system "npm", "install", *std_npm_args - - # Remove upstream prebuilt reporter binary so audit doesn't flag non-native artifacts. - reporter = libexec/"lib/node_modules/@i7m/instagram-cli/node_modules/instagram-private-api" - reporter /= "node_modules/ts-custom-error/codeclimate-reporter" - reporter.delete if reporter.exist? - - bin.install_symlink libexec/"bin/instagram-cli" - end - - test do - assert_match version.to_s, shell_output("#{bin}/instagram-cli --version") - assert_match "Current Configuration", shell_output("#{bin}/instagram-cli config 2>&1") - end -end diff --git a/Formula/i/intentrace.rb b/Formula/i/intentrace.rb deleted file mode 100644 index ae479034e0..0000000000 --- a/Formula/i/intentrace.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Intentrace < Formula - desc "Better strace(1) for everyone" - homepage "https://github.com/sectordistrict/intentrace" - url "https://github.com/sectordistrict/intentrace/archive/refs/tags/v0.10.4.tar.gz" - sha256 "21044f0556cb439986771a5ff18d8ce470da61b49e5dc558badb726844473250" - license "MIT" - head "https://github.com/sectordistrict/intentrace.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, x86_64_linux: "cdb5a0a8a1e464a4b764cd349b950e8c43d50bb48396bdb2ccf0f608f8fb3bb5" - end - - depends_on "rust" => :build - depends_on arch: :x86_64 - depends_on :linux - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/intentrace --version") - - output = shell_output("#{bin}/intentrace --summary -- true 2>&1") - assert_match "EXITED", output - end -end diff --git a/Formula/j/jarl.rb b/Formula/j/jarl.rb deleted file mode 100644 index edd7ad8374..0000000000 --- a/Formula/j/jarl.rb +++ /dev/null @@ -1,43 +0,0 @@ -class Jarl < Formula - desc "Just Another R Linter" - homepage "https://jarl.etiennebacher.com/" - url "https://github.com/etiennebacher/jarl/archive/refs/tags/0.5.0.tar.gz" - sha256 "7b1fd11adc3924fa71f3a4202a2a4a87f1c8d62944160adedba65eb8f01d1cda" - license "MIT" - head "https://github.com/etiennebacher/jarl.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f1f71774eb20e31455fd0934700403932811991d8df403e7249a65ef3c6e0ada" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "ebe2afff100048ae17ba00107c12662fb85a020e5b5022e589b7b6a66b93803f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "abf93122df4083f3aa02ce335ae4a85ea2bbd7972dc993451ec335eef6284f94" - sha256 cellar: :any_skip_relocation, arm64_linux: "00d335824a9a036a91b83a1d333b82e1e086152cbca19886d882aecfc5cfded6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4824f7e015241dcc34b144454cf686672785a96109350d9080efefb2690eb058" - end - - depends_on "rust" => :build - - on_linux do - depends_on "zlib-ng-compat" - end - - def install - system "cargo", "install", *std_cargo_args(path: "crates/jarl") - end - - test do - assert_match version.to_s, shell_output("#{bin}/jarl --version") - - (testpath/"test.R").write <<~R - x = 1 - y <-2 - print( x +y ) - R - - output = shell_output("#{bin}/jarl check --select assignment #{testpath}/test.R 2>&1", 1) - assert_match "Found 1 error", output - - output = shell_output("#{bin}/jarl check --select assignment --fix --allow-no-vcs #{testpath}/test.R") - assert_match "All checks passed!", output - end -end diff --git a/Formula/j/jelly.rb b/Formula/j/jelly.rb deleted file mode 100644 index 468a431a2c..0000000000 --- a/Formula/j/jelly.rb +++ /dev/null @@ -1,55 +0,0 @@ -class Jelly < Formula - desc "Explore and stream Jellyfin via CLI" - homepage "https://github.com/AzureHound/jelly" - url "https://github.com/AzureHound/jelly/archive/refs/tags/v3.5.0.tar.gz" - sha256 "312e2ba5feec45ccf1b3b6aff89c58752271652ccc520965adf8181c752574f8" - license "0BSD" - head "https://github.com/AzureHound/jelly.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "419a2ce0682a40fc80917bd56b81e6eec948293ae4cbaaa37025abd0509164fd" - end - - depends_on "bash" - depends_on "chafa" - depends_on "curl" - depends_on "fzf" - depends_on "jq" - depends_on "mpv" - depends_on "socat" - - def install - inreplace "src/jelly", "#!/usr/bin/env bash", "#!#{Formula["bash"].opt_bin}/bash" - inreplace "src/jelly", - 'DEFAULT_MEDIA_PLAYER=$([[ "$OSTYPE" == "darwin"* ]] && echo "iina" || echo "mpv")', - 'DEFAULT_MEDIA_PLAYER="mpv"' - bin.install "src/jelly" => "jelly" - end - - test do - assert_match "v#{version}", shell_output("#{bin}/jelly --version") - - config_dir = testpath/".config/jelly" - cache_dir = testpath/".cache/jelly/covers" - config_dir.mkpath - cache_dir.mkpath - - (config_dir/"config").write <<~EOS - server=http://example.invalid - api_key=test-key - editor=nano - media_preview=false - player=mpv - EOS - - migrate_output = shell_output("#{bin}/jelly migrate config") - assert_match "Migrating Config", migrate_output - assert_equal "server=http://example.invalid\napi_key=test-key\n", (config_dir/"config").read - - (cache_dir/"thumb.jpg").write "cache" - cache_output = shell_output("#{bin}/jelly rm cache") - assert_match "Cache Wiped", cache_output - refute_path_exists cache_dir/"thumb.jpg" - end -end diff --git a/Formula/j/jiggy.rb b/Formula/j/jiggy.rb index 8f0483ce4c..b3741342b0 100644 --- a/Formula/j/jiggy.rb +++ b/Formula/j/jiggy.rb @@ -1,17 +1,16 @@ class Jiggy < Formula desc "Minimalistic cross-platform mouse jiggler written in Rust" homepage "https://0xdeadbeef.info/" - url "https://github.com/0xdea/jiggy/archive/refs/tags/v1.0.6.tar.gz" - sha256 "8ae5c61611b5a025180b00b932d1ebff9dab5991d4be0644e396d4312db48769" + url "https://github.com/0xdea/jiggy/archive/refs/tags/v1.0.0.tar.gz" + sha256 "4aafddd91d10c8fa9ed6d385729cdde49fe717beeec5ce33da03a814b81fb07c" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0a94f07e921aceecf82cbf90044fc7b6952da7c439fe50128d0edd72c74e916c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e840d8563138cc8f6480fc5799d2bd85eb474ea50110fdb3f6c82dd14ee6cdd8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "848efe2403f8bd3984c7ab3007eb378fb4cbd44c5605cd5ce07686643afc4289" - sha256 cellar: :any_skip_relocation, arm64_linux: "1032ad5f600f62cbc6a1e9d4f5a027f13dd6cfb8b56dbf7f8ff9a41e10957006" - sha256 cellar: :any_skip_relocation, x86_64_linux: "cbf431033f8ba1fb2432e1e1d67c9403d4ea359e61f5d76b807848a3f2f3ae21" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "571dfc474d46e02b02a5e56dc23ea1935182e2b84b4e842fc1c14ddfa6ac3946" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c2b6fbbf4e2f331041368dcecb40fbbbfa666fda502fce7d3b7cd69386661b92" + sha256 cellar: :any_skip_relocation, ventura: "56d3a4f2854bd74494f14c2571f1536e7ada1dd80d0313a4c8438c9690c032db" + sha256 cellar: :any_skip_relocation, x86_64_linux: "1f5647aee988544eba0e2437cfb017f656b630f8689f55dd3c1473144ca82402" end depends_on "rust" => :build @@ -25,7 +24,7 @@ def install end test do - assert_match version.to_s, shell_output("#{bin}/jiggy --version 2>&1", 1) + assert_match version.to_s, shell_output("#{bin}/jiggy --version") # Error: DISPLAY environment variable is empty. return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] diff --git a/Formula/j/jikkou.rb b/Formula/j/jikkou.rb deleted file mode 100644 index 32e115af8a..0000000000 --- a/Formula/j/jikkou.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Jikkou < Formula - desc "Resource as code framework for Apache Kafka" - homepage "https://www.jikkou.io/" - url "https://github.com/streamthoughts/jikkou/archive/refs/tags/v0.37.2.tar.gz" - sha256 "cb21ce35699ceabea6d7c728396802742ed5b015b30b8d22b739c27d21c905f4" - license "Apache-2.0" - head "https://github.com/streamthoughts/jikkou.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e431158b2d54229d9c8be279467cb204c054b7e6b9c7977d6762d7bd28b0ab37" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6b1c73c3204a5b94280d25a3b19f35c146d79e6bcb4461a1c9cc1f16405c53cd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6c0e0512d307515b14aba2605bf465885bb48615557c00cc4249c7589ec64025" - sha256 cellar: :any_skip_relocation, arm64_linux: "cd644ed6a9226d2086f0dc77b7ff5079e82f3ba76cc53513a84f0ceba53c49cd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "63401236dc800c3d51b63aa6b4d0a3e1427d04f6c7188e533f22d81aef20ee88" - end - - depends_on "maven" => :build - depends_on "openjdk" - - def install - ENV["JAVA_HOME"] = Formula["openjdk"].opt_prefix - ENV.prepend_path "PATH", Formula["openjdk"].opt_bin - - system "mvn", "-ntp", "-B", "-pl", "cli", "-am", "package", "-DskipTests" - - libexec.install "cli/target/jikkou-cli-#{version}-runner.jar" => "jikkou.jar" - bin.write_jar_script libexec/"jikkou.jar", "jikkou", java_version: "25" - - bash_completion.install "jikkou_completion" => "jikkou" - end - - test do - output = shell_output("#{bin}/jikkou --version") - assert_match "Jikkou version \"#{version}\"", output - - completion = shell_output("#{bin}/jikkou generate-completion") - assert_match "_picocli_jikkou", completion - end -end diff --git a/Formula/j/jiq.rb b/Formula/j/jiq.rb deleted file mode 100644 index 50c48d4067..0000000000 --- a/Formula/j/jiq.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Jiq < Formula - desc "Interactive JSON query tool with real-time output and AI assistance" - homepage "https://github.com/bellicose100xp/jiq" - url "https://github.com/bellicose100xp/jiq/archive/refs/tags/v3.22.1.tar.gz" - sha256 "797d0b988e0231a20cb4da205ddb1f4e3b974c15613f45951fbd502d9082a418" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b13ff62eb7a7d52fdbb05f47ffb97425036d7eba6650930551923a378c7a6879" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "50515511752350e10e177d7d181195f3abfc4ce9763c29812235f2e458cdf53f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f37e04653ef307346be857cf63894d1f4d567c715316c35e24d6ae59ff4e0414" - sha256 cellar: :any_skip_relocation, arm64_linux: "a3a18289874e72ccbaa61b2a74f580e6fc6b102d0f405c78d15de6a21e9fc4b6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e6fa68f788a6bac39fbdf02c45cc8a2816f2528efda238c433bfc82a845ab85f" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/jiq --version") - - (testpath/"data.json").write("{}\n") - empty_path = testpath/"empty" - empty_path.mkpath - output = shell_output("PATH=#{empty_path} #{bin}/jiq #{testpath}/data.json 2>&1", 1) - assert_match "jq binary not found in PATH.", output - end -end diff --git a/Formula/j/jjj.rb b/Formula/j/jjj.rb deleted file mode 100644 index 435e2a7df8..0000000000 --- a/Formula/j/jjj.rb +++ /dev/null @@ -1,41 +0,0 @@ -class Jjj < Formula - desc "Modal interface for Jujutsu" - homepage "https://jjj.isaaccorbrey.com/" - url "https://github.com/icorbrey/jjj/archive/refs/tags/v0.2.1.tar.gz" - sha256 "012d111279821ca9c34bdb5d2562f3241cd9cac83f1239e33fd59ded3f2daff3" - license "MIT" - head "https://github.com/icorbrey/jjj.git", branch: "trunk" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2d34fbc07def1562736fa942c2a18cbda5c4948108c46a999debc032a8ef5dee" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fad778bcad0971617061ae44d26bc3753bc3f0f2dec50726cc3856d3f4ee37f4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8c7537aed75cfd55583764fb5d657b8c3b8eb3639956f95815aae218becd3d68" - sha256 cellar: :any_skip_relocation, arm64_linux: "13d89021a793f271dd4fc3d0d0afdab1a006e54d940c3dea64dfffb695b0911e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ff7571cbd2d99cdbd116cbf3ec9743420d6d1067be936cf360b97904b9ab6110" - end - - depends_on "rust" => :build - depends_on "jj" - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/jjj --version") - - # Fails in Linux CI with "No such device or address (os error 6)" - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"jjj", [:out, :err] => output_log.to_s - sleep 1 - assert_match "\e[?1049h\e[?u\e[c", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/j/jocalsend.rb b/Formula/j/jocalsend.rb deleted file mode 100644 index fb1592064e..0000000000 --- a/Formula/j/jocalsend.rb +++ /dev/null @@ -1,47 +0,0 @@ -class Jocalsend < Formula - desc "Rust terminal client for Localsend" - homepage "https://git.kittencollective.com/nebkor/joecalsend" - url "https://static.crates.io/crates/jocalsend/jocalsend-1.6.18033988.crate" - sha256 "d967acd99a7b266bdec05ec8e2a8cc1f79ebbd425cb43efc0ca2f20a7f6096d6" - # https://git.kittencollective.com/nebkor/joecalsend/src/branch/main/LICENSE.md - # dual license - # license :unfree - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c5a974dbe72ad43a90ca4c77fbfe63e6a30bf5785a326ce0a570137f8e97d352" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "af6663ca9b5bbc3bb90cf807a98b78f25b74e56e35d1d93087acb2425516e2a6" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9bd69dd116b90c4533186e2b910f7a47fe62bfec67202e7a9e7a972a99a13144" - sha256 cellar: :any_skip_relocation, arm64_linux: "f3c64a6bb876f657ac0d39a878794b25818d15f02946c1d415b1d159fc9c4e09" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b8bf0a1176f7367bd711052447ef894ebe289f1f4af411c32d4a27f7a14d2bef" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/jocalsend --version") - - # Skip linux CI test - # `Error: IOError(Os { code: 2, kind: NotFound, message: \"No such file or directory\" })` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"jocalsend", [:out, :err] => output_log.to_s - sleep 1 - assert_match "Incoming Transfer Requests", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/j/jolt.rb b/Formula/j/jolt.rb deleted file mode 100644 index 637c703fb7..0000000000 --- a/Formula/j/jolt.rb +++ /dev/null @@ -1,52 +0,0 @@ -class Jolt < Formula - desc "Battery and energy monitor for your terminal" - homepage "https://getjolt.sh/" - url "https://github.com/jordond/jolt/archive/refs/tags/1.2.0.tar.gz" - sha256 "c6756b84349a6f253d81eb9ad6074f9b94461043c053b1b7ce5f86c2e1bed04d" - license "MIT" - revision 1 - head "https://github.com/jordond/jolt.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "525093f44a0865b41ed2d6cf36102d6da4f83ae444f89240a9d1f2ab21874858" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d7c25b17322156fd70d85dd79a412e592f04e2199a7bca6a1168b0d8f41c1f8b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "dfc33f3eb04c5d36f398c97f28d05b4beb914aa53f0eed7cec6da9df7673240f" - sha256 cellar: :any_skip_relocation, arm64_linux: "9d03de623ccd0ba5efc9482a79ac8ec769081105047014971a55dd6db58c26e2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c74805dbfa0d8ff6810654a2557f3362833b8b568b51fcfb4cc32b8bb69e56d1" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: "cli") - end - - service do - run [opt_bin/"jolt", "daemon", "start", "--foreground"] - keep_alive true - end - - test do - assert_match version.to_s, shell_output("#{bin}/jolt --version") - - config_home = testpath/"config" - cache_home = testpath/"cache" - data_home = testpath/"data" - runtime_dir = testpath/"runtime" - env = [ - "XDG_CONFIG_HOME=#{config_home}", - "XDG_CACHE_HOME=#{cache_home}", - "XDG_DATA_HOME=#{data_home}", - "XDG_RUNTIME_DIR=#{runtime_dir}", - ].join(" ") - - output = shell_output("#{env} #{bin}/jolt config --reset") - assert_match "Config reset to defaults at:", output - - config_file = config_home/"jolt/config.toml" - assert_path_exists config_file - assert_match 'theme = "default"', config_file.read - assert_equal "#{config_file}\n", shell_output("#{env} #{bin}/jolt config --path") - end -end diff --git a/Formula/j/jonquil.rb b/Formula/j/jonquil.rb deleted file mode 100644 index cc60c50af5..0000000000 --- a/Formula/j/jonquil.rb +++ /dev/null @@ -1,66 +0,0 @@ -class Jonquil < Formula - desc "JSON parser on top of TOML implementation (Fortran)" - homepage "https://github.com/toml-f/jonquil" - url "https://github.com/toml-f/jonquil/archive/refs/tags/v0.3.0.tar.gz" - sha256 "9742a1b15fe4e7c3332f501dcedc4f9559dfa37884ca055ff5b5508ba0901749" - license any_of: ["Apache-2.0", "MIT"] - head "https://github.com/toml-f/jonquil.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "377d5d5d1309e545d18951f66b51dba871200a6d6ee58aca35c560d2e3691fcb" - sha256 cellar: :any, arm64_sequoia: "e6c03f53f4f5a8829215f0a5887f109b2a147a789b24b5863da7e71340c28fb0" - sha256 cellar: :any, arm64_sonoma: "7c76070aa34a47b240403855542bf56b3a2195c481d80062af3c350a270c7990" - sha256 cellar: :any_skip_relocation, arm64_linux: "84f50b1ee056ad2d93e5541eb7cd74534c3a447c661fcc07ae7198bc060c43d8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fe3fced4178b3e8e4707d1173ea0bb12807756668553d074a3812bae34744014" - end - - depends_on "meson" => :build - depends_on "ninja" => :build - depends_on "pkgconf" => [:build, :test] - depends_on "chenrui333/tap/toml-f" - depends_on "gcc" # for gfortran - - patch :DATA - - def install - system "meson", "setup", "build", "-Dtests=false", *std_meson_args - system "meson", "compile", "-C", "build", "--verbose" - system "meson", "install", "-C", "build" - end - - test do - assert_match version.to_s, shell_output("pkg-config --modversion jonquil").strip - - (testpath/"t.f90").write <<~F90 - program t - print *, "ok" - end program t - F90 - system Formula["gcc"].opt_bin/"gfortran", "t.f90", "-o", "test" - system "./test" - end -end - -__END__ -diff --git a/meson.build b/meson.build -index cbb35f0..2dd1f9c 100644 ---- a/meson.build -+++ b/meson.build -@@ -77,4 +77,6 @@ if install - endif - - # add the testsuite --subdir('test') -+if get_option('tests') -+ subdir('test') -+endif -diff --git a/meson_options.txt b/meson_options.txt -new file mode 100644 -index 0000000..93d92ff ---- /dev/null -+++ b/meson_options.txt -@@ -0,0 +1,3 @@ -+# Build options for toml-f -+option('tests', -+ type: 'boolean', value: false, description: 'Build test suite') diff --git a/Formula/j/jotbird.rb b/Formula/j/jotbird.rb deleted file mode 100644 index 20b22d7912..0000000000 --- a/Formula/j/jotbird.rb +++ /dev/null @@ -1,26 +0,0 @@ -class Jotbird < Formula - desc "Publish Markdown from the command-line" - homepage "https://www.jotbird.com/cli" - url "https://github.com/jotbirdhq/jotbird-cli/archive/refs/tags/v0.2.1.tar.gz" - sha256 "4ebce509e141f1f74dfa0ce48e6060bd3eedc3d23c4ff0b9778e297c68efc9af" - license "MIT" - head "https://github.com/jotbirdhq/jotbird-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "81db4a32deb38df6c9b04692b0f47c9a3fe9b69aae612304d83c7479574241bd" - end - - depends_on "node" - - def install - system "npm", "run", "build" - system "npm", "install", *std_npm_args - bin.install_symlink libexec/"bin/jotbird" - end - - test do - assert_match version.to_s, shell_output("#{bin}/jotbird --version") - assert_match "Not logged in", shell_output("#{bin}/jotbird list 2>&1", 1) - end -end diff --git a/Formula/j/journalot.rb b/Formula/j/journalot.rb deleted file mode 100644 index cb9ec21c45..0000000000 --- a/Formula/j/journalot.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Journalot < Formula - desc "Minimal journaling CLI for developers" - homepage "https://github.com/jtaylortech/journalot" - url "https://github.com/jtaylortech/journalot/archive/refs/tags/v5.2.1.tar.gz" - sha256 "1c4f93eda09312891e3c3d8d1f7ed0844df4b7c3399407b99ec47f13dc20a188" - license "MIT" - head "https://github.com/jtaylortech/journalot.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "d18f60773187b9fc5a7f8038c32e616a9cb362998c89e593ba19a8db3b4474a0" - end - - depends_on "bash" - - def install - inreplace "bin/journal", "#!/usr/bin/env bash", "#!#{Formula["bash"].opt_bin}/bash" - bin.install "bin/journal" - bin.install_symlink bin/"journal" => "journalot" - end - - test do - require "date" - - journal_dir = testpath/"journal" - config_dir = testpath/"config" - today = Date.today.strftime("%Y-%m-%d") - entry = journal_dir/"entries/#{today}.md" - - env = "JOURNAL_DIR=#{journal_dir} XDG_CONFIG_HOME=#{config_dir} TERM=xterm" - output = shell_output("#{env} #{bin}/journalot 'Had a great idea today'") - assert_match "Added to #{today}.md", output - assert_path_exists entry - assert_match "Had a great idea today", entry.read - - help = shell_output("#{bin}/journalot --help") - assert_match "Minimal journaling CLI for developers", help - end -end diff --git a/Formula/j/jplot.rb b/Formula/j/jplot.rb index a4a3529b3f..d45910cc71 100644 --- a/Formula/j/jplot.rb +++ b/Formula/j/jplot.rb @@ -1,17 +1,17 @@ class Jplot < Formula desc "ITerm2 expvar/JSON monitoring tool" homepage "https://github.com/rs/jplot" - url "https://github.com/rs/jplot/archive/refs/tags/v2.2.2.tar.gz" - sha256 "e2d1aa4cf81a61cdcea0b190f18a8ee7502093faf77c48f54c2741b457b4f298" + url "https://github.com/rs/jplot/archive/refs/tags/v1.1.6.tar.gz" + sha256 "e24e9af3952271ad38fc870082695577af494d93f69cb60a360c87c964996325" license "MIT" head "https://github.com/rs/jplot.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "90141a1176b95c928e920e8f77d9fbbbc1bb3a594a5da0efbb0abb2a6a84656c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6fc3312b47204c277e47106b5ce12aac525edab6c0c0f09d84394028938e2f07" - sha256 cellar: :any_skip_relocation, ventura: "4590f23069e574eb32e7e33cdb0eb457ed73075239a5f4c0bcc33f2340ba94ba" - sha256 cellar: :any_skip_relocation, x86_64_linux: "99d8c21d24e5e01a908dc5e813f54c021f5fc9917d0b0f417cc98c9a4fecff88" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "338d99a80997f9862c673f201caea8665b08a265903a4deeaf0a97118d624364" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ab103d5a315a72407272b6f2a90551b9ce1d7726278a6cec43fa25ba85f5ab37" + sha256 cellar: :any_skip_relocation, ventura: "21ed22e5cceca680e31ca8171a299f4a9ba804eff5b64a68ed1bfdbe9f8c1aaa" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ec58db4294b0f762e4692d69e27e131d4c16eb0606d836f9c569c2b7e7464b7d" end depends_on "go" => :build diff --git a/Formula/j/jsrpc.rb b/Formula/j/jsrpc.rb index 5b139c9fb6..dbac9cada9 100644 --- a/Formula/j/jsrpc.rb +++ b/Formula/j/jsrpc.rb @@ -1,18 +1,17 @@ class Jsrpc < Formula desc "远程调用(rpc)浏览器方法,免去抠代码补环境" homepage "https://github.com/jxhczhl/JsRpc" - url "https://github.com/jxhczhl/JsRpc/archive/refs/tags/v1.098.tar.gz" - sha256 "661d428fff00516b09c1d507bb307b9630e19f34b9740eb62daa1207b4ef4efd" + url "https://github.com/jxhczhl/JsRpc/archive/refs/tags/v1.095.tar.gz" + sha256 "4bc104d1c3ccf46034db063d82f5ba1d0fa6f131501644594c17cfdcbce53044" license "GPL-3.0-or-later" head "https://github.com/jxhczhl/JsRpc.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "73c416d374db3a42cfde4c4a523ef6bacbb305985352fc882c87bbd10db16e8c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "73c416d374db3a42cfde4c4a523ef6bacbb305985352fc882c87bbd10db16e8c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "73c416d374db3a42cfde4c4a523ef6bacbb305985352fc882c87bbd10db16e8c" - sha256 cellar: :any_skip_relocation, arm64_linux: "6164dc6a5dfc52a5b3f508282c618d026504e1f158539f4a6970baa3d4b33b57" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3c391ea92ff12902963577914480769e17d78b072e682dd6dd601a552f4a26cf" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3be843c19939002c64db60cb62560a522c3dba092a40e238f5a78e67089a2736" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "21fbeeae36e641d0595d74c5af83a51b7fcaa464379c12b67c184bf829e9fd42" + sha256 cellar: :any_skip_relocation, ventura: "1b6ba09913f7eb97ffa84ee9da97f5e7056eaa7e62a3dced384eace3e98b6aac" + sha256 cellar: :any_skip_relocation, x86_64_linux: "480c3f3638c1d7aedf035418e59d259c12bd2f4ae9b95a8d2497313a4461f569" end depends_on "go" => :build diff --git a/Formula/j/judo.rb b/Formula/j/judo.rb deleted file mode 100644 index ecd37adce0..0000000000 --- a/Formula/j/judo.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Judo < Formula - desc "Multi-database TUI for ToDo lists" - homepage "https://github.com/giacomopiccinini/judo" - url "https://static.crates.io/crates/judo/judo-2.0.7.crate" - sha256 "f7b89759622c3e47ee694c87a513d70ebfd02216c8f5be12ca479cd74dfc347c" - license "MIT" - head "https://github.com/giacomopiccinini/judo.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3dc46bc3f3294bec1010b52411071f4e357e78fff9e0145f3d47e74209da4f2f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "af6b96885fcd75aa8171a0d31aea80ee9fb9a0616357296c1b5b564c86cff19c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7c679b473cf582e6632d9924354e64dd1d50a7b855e5b9c5bff73301b480b84e" - sha256 cellar: :any_skip_relocation, arm64_linux: "e6f79389d404623ad329a85878b3b4230c41b20008fe1d3fc77414e1316ca9e1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e5b85b13e39ad310248729e2ee5c341c3fb48a0620a17a2d543a5f451482b209" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/judo --version") - - db_name = "testdb#{Process.pid}" - list_name = "inbox#{Process.pid}" - item_name = "task#{Process.pid}" - - system bin/"judo", "dbs", "add", "--name", db_name - system bin/"judo", "lists", "add", "--name", list_name, "--db", db_name - system bin/"judo", "items", "add", "--name", item_name, "--db", db_name, "--list-name", list_name - - output = shell_output("#{bin}/judo items show") - assert_match item_name, output - assert_match list_name, output - assert_match db_name, output - end -end diff --git a/Formula/j/jules.rb b/Formula/j/jules.rb deleted file mode 100644 index 55f05a2de4..0000000000 --- a/Formula/j/jules.rb +++ /dev/null @@ -1,27 +0,0 @@ -class Jules < Formula - desc "Asynchronous coding agent from Google, in the terminal" - homepage "https://jules.google/docs" - url "https://registry.npmjs.org/@google/jules/-/jules-0.1.42.tgz" - sha256 "84d85b13777236e4815b787910f4b74d1959cad3b3bf722f2b6306f3786a0f75" - # license :unfree - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "6ee4a63940fa6a94b43294a80cf3222b38d4b2ea26bb591b5b70f13e152ef87e" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - - generate_completions_from_executable(bin/"jules", "completion", shells: [:bash, :zsh, :fish, :pwsh]) - end - - test do - assert_match version.to_s, shell_output("#{bin}/jules version") - - assert_match "Error: failed to list repos", shell_output("#{bin}/jules remote list --repo 2>&1") - end -end diff --git a/Formula/j/junit2html.rb b/Formula/j/junit2html.rb index c284b640f0..e24cd17b9c 100644 --- a/Formula/j/junit2html.rb +++ b/Formula/j/junit2html.rb @@ -1,18 +1,17 @@ class Junit2html < Formula desc "Convert junit.xml into gorgeous HTML reports" homepage "https://github.com/kitproj/junit2html" - url "https://github.com/kitproj/junit2html/archive/refs/tags/v1.0.0.tar.gz" - sha256 "a9940e248731f63665bb49f5d7b4ca32e612ccb396dc0d78a2515ab388bf0be9" + url "https://github.com/kitproj/junit2html/archive/refs/tags/v0.1.0.tar.gz" + sha256 "d4155f4c79cc1db9140eb7851b14554bdcac4f92b815628c10a4162449619ab0" license "MIT" head "https://github.com/kitproj/junit2html.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2490a110ec7921ae1a420cbc1d867d07a74e615a0da0205eef21657c9a321e03" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2490a110ec7921ae1a420cbc1d867d07a74e615a0da0205eef21657c9a321e03" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2490a110ec7921ae1a420cbc1d867d07a74e615a0da0205eef21657c9a321e03" - sha256 cellar: :any_skip_relocation, sequoia: "d4e9fef94797ec1bdbd531267dfb32de50609bf31bbd63349bb4242916f60cf7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3d5d34fbdef2bb3dc63401f1d9196ab3a289f2e374eda7e9264e5b078ad5bc76" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "f47a633c105f7e589e583531397a2b635b2de9fb143422d6e34923dd0cc52b3b" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "fad1a3e2cfbbbaf91666a9330012acb9159e05a215ac7eda94c43da025e581d2" + sha256 cellar: :any_skip_relocation, ventura: "936febd8ff387f567f92a97e6611cc81b29c9a8a2b57d7516df97565edbabdae" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c5fc49742e25f874959b4b03633aa00b7d1c6b0d158a86ef311ad2c018bdb233" end depends_on "go" => [:build, :test] diff --git a/Formula/j/jwt-ui.rb b/Formula/j/jwt-ui.rb deleted file mode 100644 index 2422c4990a..0000000000 --- a/Formula/j/jwt-ui.rb +++ /dev/null @@ -1,40 +0,0 @@ -class JwtUi < Formula - desc "TUI for decoding and encoding JWT tokens" - homepage "https://jwtui.cli.rs/" - url "https://github.com/jwt-rs/jwt-ui/archive/refs/tags/v1.3.0.tar.gz" - sha256 "97c6a8cd998adcf80147aa12084efd5ca5bf2f0ead4645851837967d98114630" - license "MIT" - head "https://github.com/jwt-rs/jwt-ui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "82724ff9b5253a63ea575b3774b4ed9d01e093f0e96dafeef30e3f0ddfd3fccd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "16a04fd709300ed69b14391cf9752b062b2534a905e05539b033166339cab2e3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "19c6315347fba7ec1dbd8f1703efe36b8104361f4aa61596abf130d74386b765" - sha256 cellar: :any_skip_relocation, arm64_linux: "442467f0409bae4636383f2008eafc824d25883fafe8e55f78815527653d9c13" - sha256 cellar: :any_skip_relocation, x86_64_linux: "682df4fbdefce58c74e7605e4358f20b97c1d84d2df44a0d67dc80f99198c151" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match "jwt-ui #{version}", shell_output("#{bin}/jwtui --version") - - # Demo HS256 JWT with payload: - # { - # "sub": "1234567890", - # "name": "John Doe", - # "iat": 1516239022 - # } - token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9." \ - "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ." \ - "SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" - - output = shell_output("#{bin}/jwtui --stdout --no-verify --json #{token}") - assert_equal "John Doe", JSON.parse(output)["payload"]["name"] - end -end diff --git a/Formula/k/kafka.rb b/Formula/k/kafka.rb deleted file mode 100644 index 59c5c33afe..0000000000 --- a/Formula/k/kafka.rb +++ /dev/null @@ -1,125 +0,0 @@ -class Kafka < Formula - desc "Open-source distributed event streaming platform" - homepage "https://kafka.apache.org/" - url "https://www.apache.org/dyn/closer.lua?path=kafka/3.9.1/kafka_2.13-3.9.1.tgz" - mirror "https://archive.apache.org/dist/kafka/3.9.1/kafka_2.13-3.9.1.tgz" - sha256 "dd4399816e678946cab76e3bd1686103555e69bc8f2ab8686cda71aa15bc31a3" - license "Apache-2.0" - - livecheck do - skip "forked formula" - end - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "05bee9275b2103b8be024315bc912d86ed71bba4d11aa2d0419ee78a0e7e95e4" - end - - depends_on "chenrui333/tap/zookeeper" - depends_on "openjdk@21" - - resource "aws-msk-iam-auth" do - url "https://github.com/aws/aws-msk-iam-auth/releases/download/v2.3.5/aws-msk-iam-auth-2.3.5-all.jar" - sha256 "bcd6020ce1ca2c3f1a65e087057dc8c0757185ba1f169b38e0eda54b617e4225" - end - - def install - data = var/"lib" - inreplace "config/server.properties", - "log.dirs=/tmp/kafka-logs", "log.dirs=#{data}/kafka-logs" - - inreplace "config/kraft/server.properties", - "log.dirs=/tmp/kraft-combined-logs", "log.dirs=#{data}/kraft-combined-logs" - - inreplace "config/kraft/controller.properties", - "log.dirs=/tmp/kraft-controller-logs", "log.dirs=#{data}/kraft-controller-logs" - - inreplace "config/kraft/broker.properties", - "log.dirs=/tmp/kraft-broker-logs", "log.dirs=#{data}/kraft-broker-logs" - - inreplace "config/zookeeper.properties", - "dataDir=/tmp/zookeeper", "dataDir=#{data}/zookeeper" - - # remove Windows scripts - rm_r("bin/windows") - - libexec.install "libs" - - resource("aws-msk-iam-auth").stage do - (libexec/"libs").install "aws-msk-iam-auth-#{resource("aws-msk-iam-auth").version}-all.jar" - end - - prefix.install "bin" - bin.env_script_all_files(libexec/"bin", Language::Java.overridable_java_home_env("21")) - Dir["#{bin}/*.sh"].each { |f| mv f, f.to_s.gsub(/.sh$/, "") } - - mv "config", "kafka" - etc.install "kafka" - libexec.install_symlink etc/"kafka" => "config" - - # create directory for kafka stdout+stderr output logs when run by launchd - (var+"log/kafka").mkpath - end - - service do - run [opt_bin/"kafka-server-start", etc/"kafka/server.properties"] - keep_alive true - working_dir HOMEBREW_PREFIX - log_path var/"log/kafka/kafka_output.log" - error_log_path var/"log/kafka/kafka_output.log" - end - - test do - ENV["LOG_DIR"] = "#{testpath}/kafkalog" - - # Workaround for https://issues.apache.org/jira/browse/KAFKA-15413 - # See https://github.com/Homebrew/homebrew-core/pull/133887#issuecomment-1679907729 - ENV.delete "COLUMNS" - - (testpath/"kafka").mkpath - cp "#{etc}/kafka/zookeeper.properties", testpath/"kafka" - cp "#{etc}/kafka/server.properties", testpath/"kafka" - inreplace "#{testpath}/kafka/zookeeper.properties", "#{var}/lib", testpath - inreplace "#{testpath}/kafka/server.properties", "#{var}/lib", testpath - - zk_port = free_port - kafka_port = free_port - inreplace "#{testpath}/kafka/zookeeper.properties", "clientPort=2181", "clientPort=#{zk_port}" - inreplace "#{testpath}/kafka/server.properties" do |s| - s.gsub! "zookeeper.connect=localhost:2181", "zookeeper.connect=localhost:#{zk_port}" - s.gsub! "#listeners=PLAINTEXT://:9092", "listeners=PLAINTEXT://:#{kafka_port}" - end - - begin - fork do - exec "#{bin}/zookeeper-server-start #{testpath}/kafka/zookeeper.properties " \ - "> #{testpath}/test.zookeeper-server-start.log 2>&1" - end - - sleep 15 - - fork do - exec "#{bin}/kafka-server-start #{testpath}/kafka/server.properties " \ - "> #{testpath}/test.kafka-server-start.log 2>&1" - end - - sleep 30 - - system "#{bin}/kafka-topics --bootstrap-server localhost:#{kafka_port} --create --if-not-exists " \ - "--replication-factor 1 --partitions 1 --topic test > #{testpath}/kafka/demo.out " \ - "2>/dev/null" - pipe_output "#{bin}/kafka-console-producer --bootstrap-server localhost:#{kafka_port} --topic test 2>/dev/null", - "test message" - system "#{bin}/kafka-console-consumer --bootstrap-server localhost:#{kafka_port} --topic test " \ - "--from-beginning --max-messages 1 >> #{testpath}/kafka/demo.out 2>/dev/null" - system "#{bin}/kafka-topics --bootstrap-server localhost:#{kafka_port} --delete --topic test " \ - ">> #{testpath}/kafka/demo.out 2>/dev/null" - ensure - system bin/"kafka-server-stop" - system bin/"zookeeper-server-stop" - sleep 10 - end - - assert_match(/test message/, File.read("#{testpath}/kafka/demo.out")) - end -end diff --git a/Formula/k/kandc.rb b/Formula/k/kandc.rb index f36d2a0ebf..d17dc84a73 100644 --- a/Formula/k/kandc.rb +++ b/Formula/k/kandc.rb @@ -9,23 +9,27 @@ class Kandc < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, all: "bc46869ed97af8f6d19dbaa2af9daead9379f35cf40f87a6611cd990a0a65e1e" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "106a8355159d3b2942b01048a7a621c88f5dfc4fcc5219b0e0fbac59152efdee" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c542bfcff39dfeda1ec57604c24c4606d4a77420f4b539406919282306adcf28" + sha256 cellar: :any_skip_relocation, ventura: "f8b0cc353b86ae461e764689a144abefa48338fb6e9bdf7c6da315bd787ecc39" + sha256 cellar: :any_skip_relocation, x86_64_linux: "cf5abcbbdd6822294ea0c6fcb230d7f8c6283eaebf41ef91b0fa2f8af123367c" end - depends_on "certifi" => :no_linkage - depends_on "python@3.14" + depends_on "python@3.13" - pypi_packages exclude_packages: "certifi" + resource "certifi" do + url "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz" + sha256 "e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407" + end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "requests" do diff --git a/Formula/k/kanha.rb b/Formula/k/kanha.rb deleted file mode 100644 index 3ab1da0fc4..0000000000 --- a/Formula/k/kanha.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Kanha < Formula - desc "Web-app pentesting suite written in rust" - homepage "https://github.com/pwnwriter/kanha" - url "https://static.crates.io/crates/kanha/kanha-0.1.2.crate" - sha256 "dea79d04f2c29a742dca69642e473ceca5e458f2a6bf9cfd88847e9124057baa" - license "MIT" - head "https://github.com/pwnwriter/kanha.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3e5f55e91ad9f5e7a081604ac5e66a47f514e9dd57f54340d2d57354dcd07027" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "432d8d3468284174c4ef49b16777e2a4272da06638aeb2099f750105576e6061" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4d9618a0cece521a9fa12cd0401d8ab20a73cfb0fa8dd3709f72496689c19382" - sha256 cellar: :any_skip_relocation, arm64_linux: "1332b8cf0a4353c6b4004461e338812ee4a18516fd7dfc0f9bdbbddc926f37e1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0d598f21389aaa14cc611c4f1c28cfd3b5a76169787cc6d363bed23e3315fdb7" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/kanha --version") - - (testpath/"test_urls.txt").write "https://httpbin.org/status/200" - - output = shell_output("#{bin}/kanha status -f #{testpath}/test_urls.txt") - assert_equal <<~EOS, output - https://httpbin.org/status/200 [200] - EOS - end -end diff --git a/Formula/k/karmor.rb b/Formula/k/karmor.rb index 6a221432e9..5bd8fbd56a 100644 --- a/Formula/k/karmor.rb +++ b/Formula/k/karmor.rb @@ -1,19 +1,17 @@ class Karmor < Formula desc "Query git repositories with SQL" homepage "https://github.com/kubearmor/kubearmor-client" - url "https://github.com/kubearmor/kubearmor-client/archive/refs/tags/v1.4.6.tar.gz" - sha256 "364816b662e08fa971f510722aa5f90ea97fb03cef001928f2d3be9dcc41f272" + url "https://github.com/kubearmor/kubearmor-client/archive/refs/tags/v1.4.4.tar.gz" + sha256 "4f032e427c6bfc1bac70da2b856ddbabab107d071231653d245293a540524ca1" license "Apache-2.0" head "https://github.com/kubearmor/kubearmor-client.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "55cd3ee3e1b6eb27dab4ebbbf64e611a8c7184bf3707831d51de1dacef0fe5b4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b329f3f092f6bb624cabe9f9e1d961782a0d2aa316da703f0f0aaf9bac49ddbc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "328c505610ed4c4ac7d6a6408fbe036f5fcad0e6d16d7d9366183b2f26755613" - sha256 cellar: :any_skip_relocation, arm64_linux: "0d2d39fe3209526d845ee24942c75ffc1fd2a92bcd8672cb4c1e571d65b49554" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8c1b35ffeff3b0c9222ac1b258c5795c784ee1c01e3ecb912670dfc558264b79" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ec070ab9778cdb7dfaa3a7466d6037268509053015840aa579ad73d34d1623c5" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "b4e66c497b3653fccb8022cc0275909f8dda747a2ad7f7a1310753ec89f86056" + sha256 cellar: :any_skip_relocation, ventura: "d013d6733d24943988a803c628f7123e5a0bc2717e9b426efd710ef0d0e1957b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "acde295f99275e2064df2d511427f7ddbe2e513a635fa5f71b630e8676b24f0e" end depends_on "go" => :build @@ -26,7 +24,7 @@ def install ] system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"karmor", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"karmor", "completion") end test do diff --git a/Formula/k/kat.rb b/Formula/k/kat.rb deleted file mode 100644 index e8f9db58b1..0000000000 --- a/Formula/k/kat.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Kat < Formula - desc "TUI and rule-based rendering engine for Kubernetes manifests" - homepage "https://github.com/MacroPower/kat" - url "https://github.com/MacroPower/kat/archive/refs/tags/v0.28.1.tar.gz" - sha256 "770b6849498ae0d174bf01226a745e84ecb62291be2cb79642b512e97b9c271e" - license "Apache-2.0" - head "https://github.com/MacroPower/kat.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "54dcccc6743e86b5719d0d5eeeb5afef08952c99ef4ad99039e1a0fedfed655f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "54dcccc6743e86b5719d0d5eeeb5afef08952c99ef4ad99039e1a0fedfed655f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "54dcccc6743e86b5719d0d5eeeb5afef08952c99ef4ad99039e1a0fedfed655f" - sha256 cellar: :any_skip_relocation, arm64_linux: "1710b2327d146c2fe12eccc8b014a560921325474f18397a0661a7bc4c16581a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "57f77d99120d90c79d84136c42abe8ac4d37ebdf6ec756de5f38a273c11d9b7b" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/macropower/kat/pkg/version.Version=#{version} - -X github.com/macropower/kat/pkg/version.Branch=main - -X github.com/macropower/kat/pkg/version.BuildUser=#{tap.user} - -X github.com/macropower/kat/pkg/version.BuildDate=#{time.iso8601} - ] - - system "go", "build", *std_go_args(ldflags:), "./cmd/kat" - - generate_completions_from_executable(bin/"kat", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/kat --version") - assert_match "profiles", shell_output("#{bin}/kat --show-config") - end -end diff --git a/Formula/k/kaydet.rb b/Formula/k/kaydet.rb deleted file mode 100644 index 883455668d..0000000000 --- a/Formula/k/kaydet.rb +++ /dev/null @@ -1,67 +0,0 @@ -class Kaydet < Formula - include Language::Python::Virtualenv - - desc "Queryable personal database for notes, logs, and todos" - homepage "https://github.com/miratcan/kaydet" - url "https://github.com/miratcan/kaydet/archive/refs/tags/v0.36.0.tar.gz" - sha256 "d570c6f0ac90407068c71dfa367d86e3369b64771c5f7b617553246a0ef78176" - license "MIT" - head "https://github.com/miratcan/kaydet.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "51286782d877bad73487b8a91ac27165190cb24d6e02d2035b159ec3caf85267" - end - - depends_on "python@3.14" - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - def install - virtualenv_install_with_resources - end - - test do - config_home = testpath/"config" - storage_dir = testpath/"storage" - index_dir = testpath/"index" - (config_home/"kaydet").mkpath - config_path = config_home/"kaydet/config.ini" - config_path.write <<~INI - [SETTINGS] - STORAGE_DIR = #{storage_dir} - LOG_DIR = #{index_dir} - INI - - with_env(XDG_CONFIG_HOME: config_home.to_s) do - system bin/"kaydet", "Built tap formula #work status:done" - - assert_match version.to_s, shell_output("#{bin}/kaydet --version") - - output = shell_output("#{bin}/kaydet --filter '#work'") - assert_match "Built tap formula", output - assert_match "status:done", output - - tags = shell_output("#{bin}/kaydet --tags") - assert_match "work", tags - end - end -end diff --git a/Formula/k/kbst.rb b/Formula/k/kbst.rb index 16e5a7bd93..111de288bc 100644 --- a/Formula/k/kbst.rb +++ b/Formula/k/kbst.rb @@ -8,12 +8,10 @@ class Kbst < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3ddc0dc7e29ac80d36302c3c0b54e3730c44662d0df82fab75355ccd4233b720" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "eb4631a2c7d6bfb9884b8a2c453e488e1063476e0f01726aa590aa4fd61d5fcd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "61f7a83560d136c3b54fe9da6a6fd08b4a27de4e38aa5f609fbec29433b0e8bf" - sha256 cellar: :any_skip_relocation, arm64_linux: "811aafcf9441f7f1bd339b3b738c688007e1dbe797f3416a887fb998931a0e6b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4412bc09ef22a5e9df27bcc26fbcf8fba9f16094382da9c2ae29804d83df93f2" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3ca67de1d4e643de0f8c4eb2f43edbe9324c845e4643b44780bdc3874eb6e068" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "42707d6ac672b9ba3cb1815205ef399ddcd5ac6e5adf9aab22a5f52a6be94ec6" + sha256 cellar: :any_skip_relocation, ventura: "9606425accd39e2fcf0cbb47cc320ae91a29a134543c7f20e3b06e1cc13b2f2f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "97d3bc137d0e58a1fd07934dd1aafaddf0522ec6af9ade7a2e7e4242bd091d9b" end depends_on "go" => :build @@ -22,13 +20,12 @@ def install ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user}" system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"kbst", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"kbst", "completion") end test do assert_match version.to_s, shell_output("#{bin}/kbst --version") - # spellchecker:ignore-next-line output = shell_output("#{bin}/kbst init aks example.com testCluster eastus testResourceGroup 2>&1", 1) assert_match "author field is required", output assert_match "# Welcome to Kubestack", (testpath/"kubestack-starter-aks/README.md").read diff --git a/Formula/k/kcl-kafka.rb b/Formula/k/kcl-kafka.rb deleted file mode 100644 index 3fe200ce34..0000000000 --- a/Formula/k/kcl-kafka.rb +++ /dev/null @@ -1,33 +0,0 @@ -class KclKafka < Formula - desc "Kafka swiss-army knife for producing, consuming, and administration" - homepage "https://github.com/twmb/kcl" - url "https://github.com/twmb/kcl/archive/refs/tags/v0.18.0.tar.gz" - sha256 "3c434446e39401af0825067e6b334efe5dea43fa7edeff1d7666dfe35f379bc5" - license "BSD-3-Clause" - head "https://github.com/twmb/kcl.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "84d76c5df3c4d57dae374c44a1252affc7fd32edc7f026d06d3779868bc694bb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "84d76c5df3c4d57dae374c44a1252affc7fd32edc7f026d06d3779868bc694bb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "84d76c5df3c4d57dae374c44a1252affc7fd32edc7f026d06d3779868bc694bb" - sha256 cellar: :any_skip_relocation, arm64_linux: "1c707c0a257c100b1f40313ad46e9086a8ee4f65e8a62cdb7dbee85f758b72a0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2de44dabc7fae46f913ec4cbf7de42a3635cff778098cec81beb3038f4744f92" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w", output: bin/"kcl"), "." - - generate_completions_from_executable(bin/"kcl", "misc", "gen-autocomplete", shell_parameter_format: "-k") - end - - test do - output = shell_output("#{bin}/kcl misc errcode 3") - assert_match "UNKNOWN_TOPIC_OR_PARTITION", output - - output = shell_output("#{bin}/kcl misc api-versions -v 3.0.0") - assert_match "Produce", output - end -end diff --git a/Formula/k/kcl.rb b/Formula/k/kcl.rb index 134e3f586b..91562e5f7b 100644 --- a/Formula/k/kcl.rb +++ b/Formula/k/kcl.rb @@ -1,18 +1,17 @@ class Kcl < Formula desc "CLI for the KCL programming language" homepage "https://github.com/kcl-lang/cli" - url "https://github.com/kcl-lang/cli/archive/refs/tags/v0.12.4.tar.gz" - sha256 "f9b70ff4aa01661ebae8d84d40c05911a28db9ca8c668f930e46b8bb59ed9e36" + url "https://github.com/kcl-lang/cli/archive/refs/tags/v0.11.3.tar.gz" + sha256 "c45c3566bb0eeac52ecc0ab401200f2e88e0339a3bb06101bb47315cf6822ae2" license "Apache-2.0" head "https://github.com/kcl-lang/cli.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7c196886ef5812aa741efe9fd47552022d0b78d1fd323cc86b92d557ca4d2dd6" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "371cf2a8c541ce999c0cfb374d8c723dfaa24d2b6cb01089e712b7fb7cd8d9f0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "517a02b135b8e65565b844b3d8becfaf1e91c00fa1c3e3c1c29c3956e89cdb93" - sha256 cellar: :any_skip_relocation, arm64_linux: "1ec9f5c23ae038bdea87f0178bf1e4883d3e88f0635a7b2795242b4c53b7c692" - sha256 cellar: :any_skip_relocation, x86_64_linux: "28e174056fa5987288e9dfa23337cad945971fe77f7fa6a9e257f704a6ad8f03" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "af6bd3bea20abe5a4ec37d06c58d3860ed1d3d07d967aa6641a72b1603fb950b" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "61d16bc9ef200002cd4c355e513bf80a373e93d3c0ff7c42d82077abb8c3675a" + sha256 cellar: :any_skip_relocation, ventura: "735aec06b27e695555846c3937d9b95ca8241cdacea7292f2389f79c6161e6ed" + sha256 cellar: :any_skip_relocation, x86_64_linux: "dbeea4b3d6c199faddbf22944abcde05d9da0eace2e414b460364db639bdf1f4" end depends_on "go" => :build @@ -21,7 +20,7 @@ def install ldflags = "-s -w -X kcl-lang.io/cli/pkg/version.version=#{version}" system "go", "build", *std_go_args(ldflags:), "./cmd/kcl" - generate_completions_from_executable(bin/"kcl", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"kcl", "completion") end test do diff --git a/Formula/k/kdash.rb b/Formula/k/kdash.rb deleted file mode 100644 index 8ba11709d8..0000000000 --- a/Formula/k/kdash.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Kdash < Formula - desc "Simple and fast dashboard for Kubernetes" - homepage "https://kdash.cli.rs/" - url "https://github.com/kdash-rs/kdash/archive/refs/tags/v1.1.1.tar.gz" - sha256 "645416f29f5af7c4a9a90b69e9803d37dae1061b5a0cf141393310cfb4d1aa5d" - license "MIT" - head "https://github.com/kdash-rs/kdash.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4c1a5b85be10fcfffcf4464ad0667b783adea877cdc49ddb840ad0294c3c1dee" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d32addae0ea30ae6ba76a6c6caac68dce645e6871e9bd9a815504ac45a47df9e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ad8c33dc4fac6438c3215ab19cd4e409b196a7d39f74a0364c9f576b5ed6c5a7" - sha256 cellar: :any_skip_relocation, arm64_linux: "a574f2e6d80763b592f77b7859e649c605210b658f520e230fc2fa581f043a8f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fb5c3228bf32cf8749bebe22e55a63af3b1f41c406435a70b9147d4b86d8aac5" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/kdash --version") - - # failed with Linux CI, `No such device or address (os error 6)` error - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"kdash", [:out, :err] => output_log.to_s - sleep 1 - output = output_log.read.gsub(%r{\e\[[\d;?]*[ -/]*[@-~]}, "") - assert_match "Active Context", output - assert_match "Resources", output - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/k/khaos-cli.rb b/Formula/k/khaos-cli.rb deleted file mode 100644 index 00349e2aa2..0000000000 --- a/Formula/k/khaos-cli.rb +++ /dev/null @@ -1,151 +0,0 @@ -class KhaosCli < Formula - include Language::Python::Virtualenv - - desc "Kafka traffic simulator for observability and chaos engineering" - homepage "https://github.com/aleksandarskrbic/khaos" - url "https://files.pythonhosted.org/packages/7f/0c/932228842cb6c0357fa4f41c5e68afaf3b41b7698f0794af300533594432/khaos_cli-0.7.1.tar.gz" - sha256 "f5eb232f427dab15bbaa7ff8200a17d04c036a695c1c614e862bf87d93917b20" - license "Apache-2.0" - head "https://github.com/aleksandarskrbic/khaos.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8cd64fc91b9886b4e2a569738e1d528822b5e3c7a99a00db77afdf85632ce96c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1e9580c6fab8d35955cec5fab95ec0e36db5d87bc410a852788529c4e0c96bb2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e309a414b391d853bcdbaca9eb6522087bd65f3e44b1b3944315cacd5fd206e3" - sha256 cellar: :any_skip_relocation, arm64_linux: "a91ef8251ef3722a9d6662788faf05a00b302cd1c415ffaada5a8c10f5d6f782" - sha256 cellar: :any_skip_relocation, x86_64_linux: "65ae7c97536b32e198fff76c7aba92ce774ffd3dc5097f81f60b1549a8eb91d2" - end - - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "librdkafka" - depends_on "libyaml" - depends_on "python@3.14" - - pypi_packages exclude_packages: %w[certifi cryptography] - - resource "anyio" do - url "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz" - sha256 "73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "authlib" do - url "https://files.pythonhosted.org/packages/bb/9b/b1661026ff24bc641b76b78c5222d614776b0c085bcfdac9bd15a1cb4b35/authlib-1.6.6.tar.gz" - sha256 "45770e8e056d0f283451d9996fbb59b70d45722b45d854d58f32878d0a40c38e" - end - - resource "cachetools" do - url "https://files.pythonhosted.org/packages/bc/1d/ede8680603f6016887c062a2cf4fc8fdba905866a3ab8831aa8aa651320c/cachetools-6.2.4.tar.gz" - sha256 "82c5c05585e70b6ba2d3ae09ea60b79548872185d2f24ae1f2709d37299fd607" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "confluent-kafka" do - url "https://files.pythonhosted.org/packages/b4/d0/1f5055331fa660225de6829b143e6f083913f0a96481134a91390bad62c1/confluent_kafka-2.13.0.tar.gz" - sha256 "eff7a4391a9e6d4a33f0c05d0935b200a7463834f1f5d6e6253be318f910babd" - end - - resource "faker" do - url "https://files.pythonhosted.org/packages/d7/1d/aa43ef59589ddf3647df918143f1bac9eb004cce1c43124ee3347061797d/faker-40.1.0.tar.gz" - sha256 "c402212a981a8a28615fea9120d789e3f6062c0c259a82bfb8dff5d273e539d2" - end - - resource "fastavro" do - url "https://files.pythonhosted.org/packages/65/8b/fa2d3287fd2267be6261d0177c6809a7fa12c5600ddb33490c8dc29e77b2/fastavro-1.12.1.tar.gz" - sha256 "2f285be49e45bc047ab2f6bed040bb349da85db3f3c87880e4b92595ea093b2b" - end - - resource "googleapis-common-protos" do - url "https://files.pythonhosted.org/packages/e5/7b/adfd75544c415c487b33061fe7ae526165241c1ea133f9a9125a56b39fd8/googleapis_common_protos-1.72.0.tar.gz" - sha256 "e55a601c1b32b52d7a3e65f43563e2aa61bcd737998ee672ac9b951cd49319f5" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "protobuf" do - url "https://files.pythonhosted.org/packages/34/44/e49ecff446afeec9d1a66d6bbf9adc21e3c7cea7803a920ca3773379d4f6/protobuf-6.33.2.tar.gz" - sha256 "56dc370c91fbb8ac85bc13582c9e373569668a290aa2e66a590c2a0d35ddb9e4" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/85/30/ff9ede605e3bd086b4dd842499814e128500621f7951ca1e5ce84bbf61b1/typer-0.21.0.tar.gz" - sha256 "c87c0d2b6eee3b49c5c64649ec92425492c14488096dfbc8a0c2799b2f6f9c53" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "tzdata" do - url "https://files.pythonhosted.org/packages/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz" - sha256 "de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/khaos --version") - assert_match "Available Scenarios", shell_output("#{bin}/khaos list") - end -end diff --git a/Formula/k/klein.rb b/Formula/k/klein.rb deleted file mode 100644 index cb8a6af79f..0000000000 --- a/Formula/k/klein.rb +++ /dev/null @@ -1,52 +0,0 @@ -class Klein < Formula - desc "Terminal-based text editor with IDE-like features" - homepage "https://github.com/Adarsh-codesOP/Klein" - url "https://github.com/Adarsh-codesOP/Klein/archive/refs/tags/v0.6.0.tar.gz" - sha256 "f3e294063386d5a0eacba0706cdee56b5a476caed2e7d11a7badb5eeb4df5e15" - license "Apache-2.0" - head "https://github.com/Adarsh-codesOP/Klein.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "321a6a08b64c0ce6a768294d3d1e1c2a5e444e8afe96057602fda01a6534f4b7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6ebfd29ded67ece7b57e6be9a32ff41d2abc95f9cc2ab5f12a1db41fe1b1069f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3c6944b7912b7f6075ef25a5f884d790b2c054b9b3ce8ace81bf059ab3d2b185" - sha256 cellar: :any_skip_relocation, arm64_linux: "aa8bb6069374ff5f4bdb7c07ffdcb7315e6593b88c69364be12b6db5b99110b3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2a5c9efe6ee5e485c8c13ebc20a51d113fbbda4890a9faa6fa84e31e4e0d2cf1" - end - - depends_on "rust" => :build - - on_linux do - depends_on "pkgconf" => :build - depends_on "libxcb" - depends_on "libxkbcommon" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match "terminal-based text editor built in Rust", shell_output("#{bin}/klein --help") - - (testpath/"test.txt").write("hello from klein\n") - - out_r, out_w = IO.pipe - script_args = if OS.mac? - ["script", "-q", "/dev/null", bin/"klein", testpath/"test.txt"] - else - ["script", "-q", "-c", "#{bin}/klein #{testpath}/test.txt", "/dev/null"] - end - - pid = spawn({ "TERM" => "xterm-256color" }, *script_args, out: out_w, err: out_w) - out_w.close - sleep 2 - Process.kill("INT", pid) - Process.wait(pid) - - transcript = out_r.read - assert_match "?1049h", transcript - assert_operator transcript.bytesize, :>, 1000 - end -end diff --git a/Formula/k/klepto.rb b/Formula/k/klepto.rb index 8cb06e61b2..30c380c93a 100644 --- a/Formula/k/klepto.rb +++ b/Formula/k/klepto.rb @@ -8,12 +8,10 @@ class Klepto < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b8d45b0512d5017e49756d289cdb206fa4e722d3166454bd0d7ddaa9d91884e2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b8d45b0512d5017e49756d289cdb206fa4e722d3166454bd0d7ddaa9d91884e2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b8d45b0512d5017e49756d289cdb206fa4e722d3166454bd0d7ddaa9d91884e2" - sha256 cellar: :any_skip_relocation, arm64_linux: "4aa41945f59f4a4f27c6c5424fc7de85c47464daa7744a68364cf7dfe5c460ba" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3246b6aadf9342d1c46cd4bec3229072112d6faa7fbc2ec429a3fe35f171700b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "a844368515b23446e7a2b339c3996250027d72282547a218a6da51582c50f89e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d53e68043cd19ec1b69a9fe5f89a6b7d6543dc537af955ecb69bf74687ca2a2e" + sha256 cellar: :any_skip_relocation, ventura: "b7f5a9b9674c85a5d8ccf5976effaf47eff0f12f36aeee02b44cf91a41633071" + sha256 cellar: :any_skip_relocation, x86_64_linux: "6537cb1d80f4d1c660d8e710003d8360d2ad7865768c5bc329740af80ae8e6a1" end depends_on "go" => :build @@ -22,7 +20,7 @@ def install ldflags = "-s -w -X github.com/hellofresh/klepto/cmd.version=#{version}" system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"klepto", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"klepto", "completion") end test do diff --git a/Formula/k/knip.rb b/Formula/k/knip.rb index 05eed984c8..4fdb897b20 100644 --- a/Formula/k/knip.rb +++ b/Formula/k/knip.rb @@ -1,27 +1,28 @@ class Knip < Formula desc "Declutter your JavaScript & TypeScript projects" homepage "https://knip.dev/" - url "https://registry.npmjs.org/knip/-/knip-6.7.0.tgz" - sha256 "c7a4f5e4146b352629dd5309282df830e3e782a953780413a982ff9f27a8ecf1" + url "https://registry.npmjs.org/knip/-/knip-5.63.0.tgz" + sha256 "a7c598853437e131a60450caa06b6bcd1267251cb1bfa26baf3ad5663baa8915" license "ISC" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "9c0d24bf10fe932edf074ad433d2c76aa044f689f7bb3c422defcb4569a48351" - sha256 cellar: :any, arm64_sequoia: "29bc78b2b24b36f37de04feade3a618cb48c7d545cb13d5ca1bae488ad34742a" - sha256 cellar: :any, arm64_sonoma: "29bc78b2b24b36f37de04feade3a618cb48c7d545cb13d5ca1bae488ad34742a" - sha256 cellar: :any_skip_relocation, arm64_linux: "afa599deda13a632b85dd437873e14888e823f14aa063f6dcbb4bc8c372695bc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d265ca63dd6427b845c5371cf307798b466a85b684e643b690a5d703a3cf3005" + sha256 cellar: :any, arm64_sequoia: "8e90d81c2ec84a1e30e6edd50e067ab2c014168c660d8e41c94ec537e162a2ee" + sha256 cellar: :any, arm64_sonoma: "af0f2f77f2ae0ab27ae4a07d39c5554215dfb960fc90321001eb6f720d054919" + sha256 cellar: :any, ventura: "424ef10a4518f7e3bbc0d95c2c0c12d83f237e31620cb4bd9cb353713d15b7ec" + sha256 cellar: :any_skip_relocation, x86_64_linux: "96f5421618a4e63420fd3598873b2a1a0d466e6a124f0c2a675083f7c8728fc4" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do + assert_match version.to_s, shell_output("#{bin}/knip --version") + (testpath/"package.json").write <<~JSON { "name": "my-project", @@ -31,8 +32,6 @@ def install } JSON - assert_match version.to_s, shell_output("#{bin}/knip --version") - system bin/"knip", "--production" end end diff --git a/Formula/k/konfigo.rb b/Formula/k/konfigo.rb deleted file mode 100644 index ae6bfd06b2..0000000000 --- a/Formula/k/konfigo.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Konfigo < Formula - desc "Merge and transform configuration files across multiple formats" - homepage "https://github.com/ebogdum/konfigo" - url "https://github.com/ebogdum/konfigo/archive/refs/tags/v2.0.2.tar.gz" - sha256 "4bcf852ca67d22d82f2c6a8b3119100b7dfb8e20228d4104478138aab8e6cbbd" - license "MIT" - head "https://github.com/ebogdum/konfigo.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7aec41d6badc3771aedcc16b309dfb4c2df04e47579b052324690cef892f0287" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7aec41d6badc3771aedcc16b309dfb4c2df04e47579b052324690cef892f0287" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7aec41d6badc3771aedcc16b309dfb4c2df04e47579b052324690cef892f0287" - sha256 cellar: :any_skip_relocation, arm64_linux: "c3abcd0610094dfe29070c679c82cb3bbe1e0bb7f0573c7a21e9bf64f080df04" - sha256 cellar: :any_skip_relocation, x86_64_linux: "14e9a0db0455a442b410dd5fde128e1d1fc35d0a7d9a5050db3cfc592084eccb" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(output: bin/"konfigo"), "./cmd/konfigo" - end - - test do - (testpath/"config1.json").write <<~JSON - {"a":1,"b":2} - JSON - (testpath/"config2.json").write <<~JSON - {"b":3,"c":4} - JSON - - output = shell_output("#{bin}/konfigo -s config1.json,config2.json -oj") - assert_match '"a": 1', output - assert_match '"b": 3', output - assert_match '"c": 4', output - - help = shell_output("#{bin}/konfigo -h 2>&1") - assert_match "Path to a schema file", help - end -end diff --git a/Formula/k/kpt.rb b/Formula/k/kpt.rb index 9c9d8951c3..fb9465b9e4 100644 --- a/Formula/k/kpt.rb +++ b/Formula/k/kpt.rb @@ -1,8 +1,8 @@ class Kpt < Formula desc "Automate Kubernetes Configuration Editing" homepage "https://kpt.dev/" - url "https://github.com/kptdev/kpt/archive/refs/tags/v1.0.0-beta.62.tar.gz" - sha256 "1198a5f397cd96424bee681970d1c4edf299c4c583015de1a6cba8668026b28d" + url "https://github.com/kptdev/kpt/archive/refs/tags/v1.0.0-beta.57.tar.gz" + sha256 "614f03e30064a58872c0e0eb356a4c05501909e3c56c985912d44bd47d3f3944" license "Apache-2.0" head "https://github.com/kptdev/kpt.git", branch: "main" @@ -13,20 +13,19 @@ class Kpt < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7decda1e649fee5adba5be4d686996cf435d2d420b73aad5185499bfd71bcb54" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4118e600fcbae8d63b822d2b23ddc95541072f5a156958ea98da19edb6861f0a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "09769a920c3f48025c051cfee4829e3ac1590bacd5388d746eb4d8b217649940" - sha256 cellar: :any_skip_relocation, arm64_linux: "cc865c825b48420a738b98417c23cd81acc71771b06436838c0f393af78b3ab9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1a344e497e19cac1deeb248712b6e22d9ef3cbb21e0034d4a64002e46b3737ec" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "882da51089fe11c8637d96ceed0a54bdc5f5328dffdfe6fe1a717e12b9d82544" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "b2dd6fdd596d867d54a4bda3c81d0e446a569e9b8411910b6ae384ce3c28f27e" + sha256 cellar: :any_skip_relocation, ventura: "31fdb6beee34ab3f3c709ad37f529b849815be7df7c4d4b7929f7fe859dd59f1" + sha256 cellar: :any_skip_relocation, x86_64_linux: "5b4e1453df55214af8bb90fe3f2c1fdf3dfcb20850ddfca2bef8687bc710bb62" end depends_on "go" => :build def install - ldflags = "-s -w -X github.com/kptdev/kpt/run.version=#{version}" + ldflags = "-s -w -X github.com/GoogleContainerTools/kpt/run.version=#{version}" system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"kpt", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"kpt", "completion") end test do diff --git a/Formula/k/kube2pulumi.rb b/Formula/k/kube2pulumi.rb index 82851cc5ae..8b0dbd10f3 100644 --- a/Formula/k/kube2pulumi.rb +++ b/Formula/k/kube2pulumi.rb @@ -8,21 +8,22 @@ class Kube2pulumi < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "cc3e4e27fb63085c52248291ab48895fde62ed52008fd8e2bcaf55a6f52ee511" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "cc3e4e27fb63085c52248291ab48895fde62ed52008fd8e2bcaf55a6f52ee511" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cc3e4e27fb63085c52248291ab48895fde62ed52008fd8e2bcaf55a6f52ee511" - sha256 cellar: :any_skip_relocation, arm64_linux: "0f3a7d65ec9a211978cb6d5c0b75c429a531fd489765992818404df9ffe4721f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c51e99638b5f07e5184df79a98709e65d8c28c2d8ef98895d05fbadfac46718b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "397a33b6a2e41d806c38f8c1d0c0bec9fd7e32daa5fb9e171741a3f09f0e18c3" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d63678d88291753cb385e9dca29a37c2e7a4db95c8a9c7e7c059dde3bfde5974" + sha256 cellar: :any_skip_relocation, ventura: "c8006543a4dd7363f05d7e82794d27be478a36b49c6103604f836040bda1a4f9" + sha256 cellar: :any_skip_relocation, x86_64_linux: "55b5d464f19a880b584536729f748b1ce00cdf66a8a92a552932864c4e3efd4a" end depends_on "go" => :build def install - ldflags = "-s -w -X github.com/pulumi/kube2pulumi/pkg/version.Version=#{version}" + ldflags = %W[ + -s -w + -X github.com/pulumi/kube2pulumi/pkg/version.Version=#{version} + ] system "go", "build", *std_go_args(ldflags:), "./cmd/kube2pulumi" - generate_completions_from_executable(bin/"kube2pulumi", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"kube2pulumi", "completion") end test do diff --git a/Formula/k/kubedog.rb b/Formula/k/kubedog.rb deleted file mode 100644 index 86dcef1e6c..0000000000 --- a/Formula/k/kubedog.rb +++ /dev/null @@ -1,35 +0,0 @@ -# NOTE: Kubedog also includes a CLI, however it provides a minimal interface to access library functions. -# CLI was created to check library features and for debug purposes. Currently, we have no plans on further improvement of CLI. - -class Kubedog < Formula - desc "Watch and follow Kubernetes resources in CI/CD deploy pipelines" - homepage "https://github.com/werf/kubedog" - url "https://github.com/werf/kubedog/archive/refs/tags/v0.13.0.tar.gz" - sha256 "986847bf3ed7b778764da03114c12d50f7213edc1c5af76eaf39ac570fb3b7ea" - license "Apache-2.0" - head "https://github.com/werf/kubedog.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "07ad2b5e5d25248723385f7e0a817f767a9cbbf705f4fc01edaa4e740b021ab0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2eae69e078441af400ba4982e7545ecb776ed8448084d74514d45cb7ebc98cd4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c9276ada77605111dbad34a6b90672a2d5fb7162c064a182acfb567dc4a9e07f" - sha256 cellar: :any_skip_relocation, arm64_linux: "8bcd0b08840c52474f48dc99b617d264f12140cf76de6bf42aa56cbdd6e52b1e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "630095ea36043d856ceb261208eaa310e7ce2e8b37b97ceb3d65fec732288c83" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/werf/kubedog.Version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/kubedog" - - generate_completions_from_executable(bin/"kubedog", "completion", shells: [:bash, :zsh, :fish, :pwsh]) - end - - test do - assert_match version.to_s, shell_output("#{bin}/kubedog version") - output = shell_output("#{bin}/kubedog rollout track deployment 2>&1", 1) - assert_match "requires at least 1 arg(s)", output - end -end diff --git a/Formula/k/kubeseal-convert.rb b/Formula/k/kubeseal-convert.rb index 041059544b..55ad26908b 100644 --- a/Formula/k/kubeseal-convert.rb +++ b/Formula/k/kubeseal-convert.rb @@ -8,12 +8,10 @@ class KubesealConvert < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7cc55a8c31d9dbbb0ce8fd2a1786fc02e6637cf6dd4f9d553f623813a45e471e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7cc55a8c31d9dbbb0ce8fd2a1786fc02e6637cf6dd4f9d553f623813a45e471e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7cc55a8c31d9dbbb0ce8fd2a1786fc02e6637cf6dd4f9d553f623813a45e471e" - sha256 cellar: :any_skip_relocation, arm64_linux: "128faa69f618e1f1f626c636d07882a7bcf09b4bbfb01afb9bc36a80b3f33fde" - sha256 cellar: :any_skip_relocation, x86_64_linux: "24984ded1e69d0dcf3c182f20bfbd3ec30d9201be6e78fca62db4bde61cc6f21" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ac3f67f8fb602b70386d138ab719707ec17f9c3213188899cc8fb3f2ee242023" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "af47965efa0bd1d0eec709cfa6f304e5bc20f2b8620b1f8ae3530231a02d817d" + sha256 cellar: :any_skip_relocation, ventura: "98d741de2820f1cf7cd143b8174173a0dc54ddf18a52f0634a8a164e491b501f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "44e6be718fddb24b39d06319e9add190d6cc693fa1982c1083fc535135a0b483" end depends_on "go" => :build @@ -21,7 +19,7 @@ class KubesealConvert < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - generate_completions_from_executable(bin/"kubeseal-convert", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"kubeseal-convert", "completion") end test do diff --git a/Formula/k/kumo.rb b/Formula/k/kumo.rb deleted file mode 100644 index 43ec3026c3..0000000000 --- a/Formula/k/kumo.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Kumo < Formula - desc "Lightweight AWS service emulator written in Go" - homepage "https://github.com/sivchari/kumo" - url "https://github.com/sivchari/kumo/archive/refs/tags/v0.8.0.tar.gz" - sha256 "610a26a551e652521635b281ee9251829ed6566c20ed436bc57dde9189a0fcd0" - license "MIT" - head "https://github.com/sivchari/kumo.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "73948e7b9cc12cde72828c8c3ed77a2e787a932ec8c00c30e1b302ed76ad37b2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "73948e7b9cc12cde72828c8c3ed77a2e787a932ec8c00c30e1b302ed76ad37b2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "73948e7b9cc12cde72828c8c3ed77a2e787a932ec8c00c30e1b302ed76ad37b2" - sha256 cellar: :any_skip_relocation, arm64_linux: "c66c79dfcfc1b892024489bf934af4ff5bca12be104f9d0f1a3c72dae904324a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "44731234431891e1a1e804a4fb1b118938bd2f7806fefc5c7c83579ad6177695" - end - - depends_on "go" => :build - - def install - (var/"kumo").mkpath - - system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/kumo" - end - - service do - run [opt_bin/"kumo"] - keep_alive true - working_dir var/"kumo" - environment_variables KUMO_DATA_DIR: var/"kumo" - end - - test do - log_file = testpath/"kumo.log" - data_dir = testpath/"data" - - pid = spawn({ "KUMO_DATA_DIR" => data_dir.to_s }, - bin/"kumo", - [:out, :err] => log_file.to_s) - - begin - 15.times do - break if quiet_system "curl", "-fsS", "http://127.0.0.1:4566/health" - - sleep 1 - end - - assert_match '{"status":"healthy"}', shell_output("curl -fsS http://127.0.0.1:4566/health") - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/k/kure.rb b/Formula/k/kure.rb deleted file mode 100644 index 7f5bfd98d1..0000000000 --- a/Formula/k/kure.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Kure < Formula - desc "CLI password manager with sessions" - homepage "https://github.com/GGP1/kure" - url "https://github.com/GGP1/kure/archive/refs/tags/v1.3.0.tar.gz" - sha256 "e9e1fdd94fa152c0707e1526424d075e29840e5a53ad7b8b81ff28210fe98a48" - license "Apache-2.0" - head "https://github.com/GGP1/kure.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "435986ffb19fd6aae6bb90dcd949131d1f29d1b4045ae3a3b46584bbd0aa490f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "435986ffb19fd6aae6bb90dcd949131d1f29d1b4045ae3a3b46584bbd0aa490f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "435986ffb19fd6aae6bb90dcd949131d1f29d1b4045ae3a3b46584bbd0aa490f" - sha256 cellar: :any_skip_relocation, arm64_linux: "ef79f2a234ad96affcfcd374bfcdb5db8905a8b80dd079fc2771c2df4d580e64" - sha256 cellar: :any_skip_relocation, x86_64_linux: "73247f2c2f8b605733164585b3eea475e4d5d8f9e43f729a91d78aef9dbfb7c0" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - system bin/"kure", "--version" - assert_match "Password:", shell_output("#{bin}/kure gen -l 20") - end -end diff --git a/Formula/k/kyanos.rb b/Formula/k/kyanos.rb deleted file mode 100644 index 046ac92b86..0000000000 --- a/Formula/k/kyanos.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Kyanos < Formula - desc "Networking analysis tool using eBPF" - homepage "https://kyanos.io/" - url "https://github.com/hengyoush/kyanos/archive/refs/tags/v1.5.1.tar.gz" - sha256 "832976e747eeb6c86fb0fb1e031eeb3a6d3d020dc998c214cb8a31ffac5f4b08" - license "Apache-2.0" - head "https://github.com/hengyoush/kyanos.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "3891d9a99a02dfdbe32cc44447121dc2cee3770a6650104e0da823ea22f95ae0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7034d462c2beb91ffd92afab35e5203694c6b51c38671b16fb2c3c8478f2e328" - end - - depends_on "go" => :build - depends_on "llvm" => :build - depends_on "pkgconf" => :build - depends_on "elfutils" - depends_on :linux - depends_on "zlib-ng-compat" - - resource "libbpf" do - url "https://github.com/libbpf/libbpf/archive/e0554200338152aa5c9ffe635a5c312a0a0e86dc.tar.gz" - sha256 "1726ab89357fb41b575680e010f37f6ac1c3329c43aba63f9901fa8aea06d300" - end - - def install - ENV["CGO_ENABLED"] = "1" - ENV.prepend_path "PATH", Formula["llvm"].opt_bin - - # Workaround to avoid patchelf corruption when cgo is required - if OS.linux? && Hardware::CPU.arch == :arm64 - ENV["GO_EXTLINK_ENABLED"] = "1" - ENV.append "GOFLAGS", "-buildmode=pie" - end - - # Upstream expects generated eBPF objects to exist before `go build`. - resource("libbpf").stage buildpath/"libbpf" - system "make", "build-bpf", "CLANG=#{Formula["llvm"].opt_bin/"clang"}" - - ldflags = %W[ - -s -w - -X kyanos/version.Version=#{version} - -X kyanos/version.CommitID=#{tap.user} - -X kyanos/version.BuildTime=#{time.iso8601} - ] - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match "Version: #{version}", shell_output("#{bin}/kyanos version 2>&1") - assert_match "Filter HTTP messages based on method", shell_output("#{bin}/kyanos watch http --help 2>&1") - end -end diff --git a/Formula/k/kyma.rb b/Formula/k/kyma.rb deleted file mode 100644 index 4b466c5386..0000000000 --- a/Formula/k/kyma.rb +++ /dev/null @@ -1,48 +0,0 @@ -class Kyma < Formula - desc "Presentations from markdown in the terminal with fancy transition animations" - homepage "https://github.com/museslabs/kyma" - url "https://github.com/museslabs/kyma/archive/refs/tags/v0.2.0.tar.gz" - sha256 "ee2e3da492b51a352dda5c6ad9e3d6d0f8da212b1eaacce655ffb39c2986c36d" - license "GPL-3.0-only" - head "https://github.com/museslabs/kyma.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7758ed6765248967e7f3f43213f4a7e80093456d7c0850bfa2ee686199e9854d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7758ed6765248967e7f3f43213f4a7e80093456d7c0850bfa2ee686199e9854d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7758ed6765248967e7f3f43213f4a7e80093456d7c0850bfa2ee686199e9854d" - sha256 cellar: :any_skip_relocation, arm64_linux: "6787dde00f22f7b187aab8ea96c994427309ee9482e153450363704d184634e6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a93f884cbe38c3c67efea37948700fd26e6ef3c666585e81f8db59dadbc0a370" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/museslabs/kyma/cmd.version=#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/kyma version") - - # Skip test on Linux GitHub Actions runners due to TTY issues - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - (testpath/"test.md").write <<~EOS - # Slide 1 - --- - # Slide 2 - EOS - - output_log = testpath/"output.log" - pid = spawn bin/"kyma", "test.md", [:out, :err] => output_log.to_s - sleep 1 - output = output_log.read.gsub(%r{\e\[[0-9;?]*[ -/]*[@-~]}, "") # strip all ANSI escape codes - assert_match "# Slide 1", output - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/l/labcoat.rb b/Formula/l/labcoat.rb deleted file mode 100644 index 2c164de572..0000000000 --- a/Formula/l/labcoat.rb +++ /dev/null @@ -1,50 +0,0 @@ -class Labcoat < Formula - desc "NixOS system deployment TUI" - homepage "https://github.com/jhillyerd/labcoat" - url "https://github.com/jhillyerd/labcoat/archive/50b552e94be25c2cd60f854ae02f3d69f6f9142c.tar.gz" - version "0.0.1" - sha256 "060eb4b951dfe358a6512ef1caeb08e902afa3dffe67f2536b9e2b904750400d" - license "MIT" - head "https://github.com/jhillyerd/labcoat.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8921d122b1b4a4722a3db0d0bf64fb0ed2202de1631227aba7326f1d8b2c2092" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8921d122b1b4a4722a3db0d0bf64fb0ed2202de1631227aba7326f1d8b2c2092" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8921d122b1b4a4722a3db0d0bf64fb0ed2202de1631227aba7326f1d8b2c2092" - sha256 cellar: :any_skip_relocation, arm64_linux: "a462e09c9814ece78b8874cca1e36950f20d1fb607a593dbc483866c41f549b5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "30fac4abe3d366f8bd93927a9cb92f40dbb12b808c6cc201a804cc8d69dba2fa" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match <<~EOS, shell_output("#{bin}/labcoat -defaults") - # labcoat default configuration, only needed if you wish to make changes. - - [general] - pager = 'less' - - [commands] - # List of commands to run to display host status - status-cmds = ['uptime', 'uname -a', 'nixos-rebuild --no-build-nix list-generations', 'systemctl --failed', 'df -h -x tmpfs -x overlay'] - - # Host deployment configuration. Nix attrs typically start with 'flake' or 'target'. - [hosts] - # Appended after '.' to bare hostnames - default-ssh-domain = '' - default-ssh-user = 'root' - # Nix attr path for SSH deploy target hostname - deploy-host-attr = 'target.config.networking.fqdnOrHostName' - deploy-user-attr = '' - - [nix] - # Default [user@]host to run Nix builds on - default-build-host = 'localhost' - EOS - end -end diff --git a/Formula/l/lazycelery.rb b/Formula/l/lazycelery.rb deleted file mode 100644 index 0498fe39ce..0000000000 --- a/Formula/l/lazycelery.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Lazycelery < Formula - desc "High-performance TUI for Docker container management" - homepage "https://github.com/fguedes90/lazycelery" - url "https://github.com/Fguedes90/lazycelery/archive/refs/tags/v0.8.3.tar.gz" - sha256 "5e9ec7fa7285678eb07fdf88cd9147fb6ed0ec1e77df6f1204661e2275114966" - license "MIT" - head "https://github.com/Fguedes90/lazycelery.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c5edd804874a42a0cfff589aaaf2932543f8952a81b423adf4249fbf0b05b80a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b143851d6d13d9df60716a938559f3c940c12bd6f884ce65d85ecd43977f0310" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "197a73f993a3305e056f7dd413661142495bd2d714375d97d02022e5f5eaf9f1" - sha256 cellar: :any_skip_relocation, arm64_linux: "a01c9cf37c38bee11f8c29ec49cf18fc98869ceb62489b4990e6ef32e5821d20" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dc413b1dbc4a7247c1c90272a2d62058124451555ae7b9b7a3337a034344e84e" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/lazycelery --version") - assert_match "No configuration found.", shell_output("#{bin}/lazycelery config 2>&1") - end -end diff --git a/Formula/l/lazycli.rb b/Formula/l/lazycli.rb deleted file mode 100644 index 6ced1382d5..0000000000 --- a/Formula/l/lazycli.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Lazycli < Formula - desc "Turn static CLI commands into TUIs with ease" - homepage "https://github.com/jesseduffield/lazycli" - url "https://github.com/jesseduffield/lazycli/archive/refs/tags/v0.1.15.tar.gz" - sha256 "66f4c4c5bedf4d3ceb35aebc1d7f18663c7250ac47241fea18108c0741bf2019" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "990118766cfd3ec37e9c44f50d1c64b5330001e19fd1309c5d287c5eb2e9eb95" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "43e22c022fa5c60d9e73144e4f060b433304cabdbbaa3338d1cdfd59d771bd1b" - sha256 cellar: :any_skip_relocation, ventura: "a5404c8f84df2bde35819f09c52d3f8c718817c17d740fab8438b358fd91e27c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ef4af19ed42b1a37cacbb1daa9c8cdad4724d61c3471751c6b45334eab93db24" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.major_minor.to_s, shell_output("#{bin}/lazycli --version") - - # Fails in Linux CI with `No such device or address` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"lazycli", "--", "ls", "-l", testpath, [:out, :err] => output_log.to_s - sleep 1 - assert_match "No profile selected", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/l/lazycontainer.rb b/Formula/l/lazycontainer.rb new file mode 100644 index 0000000000..64053f6c93 --- /dev/null +++ b/Formula/l/lazycontainer.rb @@ -0,0 +1,36 @@ +class Lazycontainer < Formula + desc "Fancy terminal UI for Apple Containers" + homepage "https://github.com/andreybleme/lazycontainer" + url "https://github.com/andreybleme/lazycontainer/archive/refs/tags/v0.0.1.tar.gz" + sha256 "c674297ccb1c3897865e4dd14d64ce7346f04f66430c125ad6c8bdfff0ba4228" + license "MIT" + head "https://github.com/andreybleme/lazycontainer.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "fb7ab10c08497f6cba6233f6c1a37e9e8f270d89acd03d228271c2e4acffd2e0" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6d9da41054eabbdea8565e46352153b0f1b6dd643466a3885939c818a05fe238" + sha256 cellar: :any_skip_relocation, ventura: "0fb686c80852a7482f5cd61faa14b0175c7eee1199b2ee32fb95f27edad3c463" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c71649720553c8ccc545d5f7a6a5889b0f1361156d0801ba39577b1779ec5ec7" + end + + depends_on "go" => :build + + def install + system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd" + end + + test do + require "pty" + + PTY.spawn(bin/"lazycontainer") do |r, _w, pid| + out = r.readpartial(1024) + assert_match "Error listing containers", out + rescue Errno::EIO + # GNU/Linux raises EIO when read is done on closed pty + ensure + Process.kill("TERM", pid) + Process.wait(pid) + end + end +end diff --git a/Formula/l/lazyjira.rb b/Formula/l/lazyjira.rb deleted file mode 100644 index b3a94858ff..0000000000 --- a/Formula/l/lazyjira.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Lazyjira < Formula - desc "Fast, keyboard-driven terminal UI for Jira" - homepage "https://github.com/textfuel/lazyjira" - url "https://github.com/textfuel/lazyjira/archive/refs/tags/v2.10.2.tar.gz" - sha256 "dc0c515a73dc5ce3ead3e4484faf878e0d4b457b49ba22f92a41e3a17459726c" - license "MIT" - head "https://github.com/textfuel/lazyjira.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a2ee7ea1f04578e532005bec0f77d8282c686408a058d002c7078c923cd1545f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a2ee7ea1f04578e532005bec0f77d8282c686408a058d002c7078c923cd1545f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a2ee7ea1f04578e532005bec0f77d8282c686408a058d002c7078c923cd1545f" - sha256 cellar: :any_skip_relocation, arm64_linux: "2e5fb50f80e349af980ceeaaa620121439015a6ef384792023ee541d55cedaee" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d6a405893ff630609abc02f58c7447bd7ac84d22260176cacc767dea1706a8e6" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - ENV["GOFLAGS"] = "-buildvcs=false" - system "go", "build", *std_go_args(ldflags:), "./cmd/lazyjira" - end - - test do - assert_match version.to_s, shell_output("#{bin}/lazyjira --version") - end -end diff --git a/Formula/l/lazykiq.rb b/Formula/l/lazykiq.rb deleted file mode 100644 index fff568689a..0000000000 --- a/Formula/l/lazykiq.rb +++ /dev/null @@ -1,35 +0,0 @@ -class Lazykiq < Formula - desc "Rich terminal UI for Sidekiq" - homepage "https://kpumuk.github.io/lazykiq/" - url "https://github.com/kpumuk/lazykiq/archive/refs/tags/v0.1.0.tar.gz" - sha256 "ed90a5a0ba67b08fe1306c69ab3383e7db76394ab23ea2d6d3dbf9ee2b3ea7a1" - license "MIT" - head "https://github.com/kpumuk/lazykiq.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f2f3b06d7330395c23d81ee451ff12f862e905d5be9712baafbef7ee86cbbf9b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f2f3b06d7330395c23d81ee451ff12f862e905d5be9712baafbef7ee86cbbf9b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f2f3b06d7330395c23d81ee451ff12f862e905d5be9712baafbef7ee86cbbf9b" - sha256 cellar: :any_skip_relocation, arm64_linux: "c5f7dcb737152c30ac7143c814eb62d6a4e8d38b4150b9b1bdff3ca961077f3d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a288c23bbd8417cd558584b3a096dca48740011293844de3ec5a714fd6346fe3" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X main.Version=#{version} - -X main.BuiltBy=Homebrew - ] - - system "go", "build", *std_go_args(ldflags:), "./cmd/lazykiq" - end - - test do - assert_match version.to_s, shell_output("#{bin}/lazykiq --version") - output = shell_output("#{bin}/lazykiq --redis not-a-url 2>&1", 1) - assert_match "parse redis url", output - end -end diff --git a/Formula/l/lazymake.rb b/Formula/l/lazymake.rb deleted file mode 100644 index 3140c61a43..0000000000 --- a/Formula/l/lazymake.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Lazymake < Formula - desc "Terminal UI for browsing and running Makefile targets" - homepage "https://lazymake.vercel.app/" - url "https://github.com/rshelekhov/lazymake/archive/refs/tags/v0.4.1.tar.gz" - sha256 "49dc29635990385fef22717d23c986a62803dc2afeeb428e0a1910711b169c37" - license "MIT" - head "https://github.com/rshelekhov/lazymake.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2961317d772740cb5880be209571336077671aec95dde6be4783624ccfd86917" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2961317d772740cb5880be209571336077671aec95dde6be4783624ccfd86917" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2961317d772740cb5880be209571336077671aec95dde6be4783624ccfd86917" - sha256 cellar: :any_skip_relocation, arm64_linux: "75c0703c9c79a026ac11dd2c62452341e37a4dc97a2dd76183d56c783dcae553" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fbc998d1ee856f1ed39f91fd84352d74e4894850ab3ba3c7b789025002e904e9" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s - -w - -X github.com/rshelekhov/lazymake/version.Version=#{version} - ] - system "go", "build", *std_go_args(ldflags:), "./cmd/lazymake" - generate_completions_from_executable(bin/"lazymake", "completion", shell_parameter_format: :cobra) - end - - test do - assert_match "bash completion V2", shell_output("#{bin}/lazymake completion bash") - output = shell_output("#{bin}/lazymake __complete - 2>&1") - assert_match "--file", output - assert_match "ShellCompDirectiveNoFileComp", output - end -end diff --git a/Formula/l/lazynpm.rb b/Formula/l/lazynpm.rb deleted file mode 100644 index 52681c6e21..0000000000 --- a/Formula/l/lazynpm.rb +++ /dev/null @@ -1,27 +0,0 @@ -class Lazynpm < Formula - desc "TUI for npm" - homepage "https://github.com/jesseduffield/lazynpm" - url "https://github.com/jesseduffield/lazynpm/archive/refs/tags/v0.1.4.tar.gz" - sha256 "841583d686fa55872a4136627c0bed9d15edd6f87989a3a64ff7b28a0784254e" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c5cad900e82898feddd475d60b0e54653528b56a2fdea6ec9710e7c36187acea" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c761c834974ca3b280a237a10dbe7d22ba8c54709dede46332e583f50e2df6dc" - sha256 cellar: :any_skip_relocation, ventura: "585173f0a0c6bffd15e945d2a420da87614edaf809b1b1c59d57624f995787c3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9c25badce8fad153f2cfccdd1380ea0e062f97df3b66ce637e6fd5d8aa5e00f9" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601} -X main.buildSource=binaryRelease" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/lazynpm --version") - assert_match "gui", shell_output("#{bin}/lazynpm --config") - end -end diff --git a/Formula/l/lazytail.rb b/Formula/l/lazytail.rb deleted file mode 100644 index e8495b4f37..0000000000 --- a/Formula/l/lazytail.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Lazytail < Formula - desc "Terminal-based log viewer with live filtering" - homepage "https://github.com/raaymax/lazytail" - url "https://github.com/raaymax/lazytail/archive/refs/tags/v0.10.0.tar.gz" - sha256 "1bf691141abf77942c9a2d5347a865195f7080485fd48396c22de5564e75bc9d" - license "MIT" - head "https://github.com/raaymax/lazytail.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ea0e1c70eaac3c5bdb3aaa6600012e19f2ea7d76a1bf4ce99bc749aaf359b639" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1e0c082b52a8356695a10dc94a6f770df78ac4d16faeba377de92ac39eaf954c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "042115ffe993cc91bd465b904f80b003a17a19bbc1793ac3007506f4d31d63e5" - sha256 cellar: :any_skip_relocation, arm64_linux: "0ef1411685a42287994bfc26e0b06a4fa470db79c683c96efe1883a0f9504ad6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "87bbec61974ee31a675a6c00eff8891e287a9c0681f4274766ad3bb0dd9d3f1b" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/lazytail --version") - assert system("sh", "-c", "printf 'hello\\nwarn\\n' | #{bin}/lazytail -n test-source --raw >/dev/null") - - log_path = testpath/".config/lazytail/data/test-source.log" - assert_path_exists log_path - assert_equal "hello\nwarn\n", log_path.read - end -end diff --git a/Formula/l/lazyworktree.rb b/Formula/l/lazyworktree.rb deleted file mode 100644 index c1ed5359b8..0000000000 --- a/Formula/l/lazyworktree.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Lazyworktree < Formula - desc "TUI for managing Git worktrees" - homepage "https://github.com/chmouel/lazyworktree" - url "https://github.com/chmouel/lazyworktree/archive/refs/tags/v1.45.1.tar.gz" - sha256 "55ea155a20bf708fd267f3e64719693669b9330f6ced157e8cb7ad86a41eb004" - license "Apache-2.0" - head "https://github.com/chmouel/lazyworktree.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ab23f747775cf42549255f0ebd897b7b11de3ef2f52c96f7cb9059f160a1f165" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "ab23f747775cf42549255f0ebd897b7b11de3ef2f52c96f7cb9059f160a1f165" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ab23f747775cf42549255f0ebd897b7b11de3ef2f52c96f7cb9059f160a1f165" - sha256 cellar: :any_skip_relocation, arm64_linux: "9aad4594724895449742266ca20a46206e2201024d6823b711f3c5e5dcfb9cb8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4e8d4db6ae67cce4b882e88106f5592e4c6726ade7d2b9869f0a7291613ac0b8" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=homebrew -X main.builtBy=Homebrew" - system "go", "build", *std_go_args(ldflags:, output: bin/"lazyworktree"), "./cmd/lazyworktree" - - man1.install "lazyworktree.1" - generate_completions_from_executable(bin/"lazyworktree", "completion") - end - - test do - assert_match version.to_s, shell_output("#{bin}/lazyworktree --version") - - system "git", "init" - system "git", "config", "user.email", "test@example.com" - system "git", "config", "user.name", "Test User" - (testpath/"README.md").write "hello\n" - system "git", "add", "README.md" - system "git", "commit", "-m", "init" - - output = shell_output("#{bin}/lazyworktree list --main --json") - assert_match '"is_main": true', output - assert_match testpath.to_s, output - end -end diff --git a/Formula/l/leetgo.rb b/Formula/l/leetgo.rb new file mode 100644 index 0000000000..045b57e405 --- /dev/null +++ b/Formula/l/leetgo.rb @@ -0,0 +1,37 @@ +# framework: cobra +class Leetgo < Formula + desc "Best LeetCode friend for geek" + homepage "https://github.com/j178/leetgo" + url "https://github.com/j178/leetgo/archive/refs/tags/v1.4.13.tar.gz" + sha256 "b92f1708b1420e85c6b97e41f8a09b127a42c387918cba950543e1713195384d" + license "MIT" + head "https://github.com/j178/leetgo.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "61fd888f4a37b044755b3f6133290a768840d53333352f33c7b26a72fedce97e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "1ddd598ebabe53ea248f96ec717d57f3d88b392898eb955679c535a323505f58" + sha256 cellar: :any_skip_relocation, ventura: "732f73df656c002760bfdf88dd21c8ec2954d85214b2ce742336299e44fa480c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "0582299253932afab88de4ca80c8ce687273a791ae19e87a02550e5b6936f374" + end + + depends_on "go" => :build + + def install + ldflags = %W[ + -s -w + -X github.com/j178/leetgo/constants.Version=#{version} + -X github.com/j178/leetgo/constants.Commit=#{tap.user} + -X github.com/j178/leetgo/constants.BuildDate=#{time.iso8601} + + ] + system "go", "build", *std_go_args(ldflags:) + end + + test do + assert_match version.to_s, shell_output("#{bin}/leetgo --version") + + system bin/"leetgo", "init" + assert_match "Leetgo configuration file", (testpath/"leetgo.yaml").read + end +end diff --git a/Formula/l/lemonade.rb b/Formula/l/lemonade.rb index 51697b70a9..568249b881 100644 --- a/Formula/l/lemonade.rb +++ b/Formula/l/lemonade.rb @@ -3,50 +3,43 @@ class Lemonade < Formula desc "Your LLM Aide for Validation and Deployment" homepage "https://lemonade-server.ai/" - url "https://files.pythonhosted.org/packages/8f/9c/5f059e1b537760c5b6de0b1d4d3c36c545b57d3aafc055d032085eb8adab/lemonade_sdk-9.1.4.tar.gz" - sha256 "9266d9da948bb1534731e75791fa2dd674e01b605e848a4d80b55f1b61b132a0" + url "https://files.pythonhosted.org/packages/e5/aa/5b669e6691f169319566e42a23fea959c423b4ab331e32f22d6fe833ac0f/lemonade_sdk-8.1.8.tar.gz" + sha256 "3397b084a2259babd78b16e82a8e28cf54d9329942d990baed041d87513abf37" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "fbd1f39421bc20af345d9304e8f2cbbb263e26f374656b3fd1c4526cbae0a5fb" - sha256 cellar: :any, arm64_sequoia: "d617375a106080188119df6e551c0f1b6594d6e85b870d6b004c6c95423956f5" - sha256 cellar: :any, arm64_sonoma: "ad4db4bf3e55b60bc46177fd1fa0dd480dd55b351bc915312cfbdda5a9e1b372" - sha256 x86_64_linux: "5d0d4bdcb6957448e77af1ae0c2cc4e7dfe96aead06c69192966548d47646fd8" + sha256 cellar: :any, arm64_sequoia: "367b97e9407408c33ca096582c5dfa17d4aae5c90c7e4a9e784e13b6245e9961" + sha256 cellar: :any, arm64_sonoma: "0135b51593ff7dd52fc9bf5482e315b04a5d0459c3bc9d18febf372086ebea36" + sha256 cellar: :any, ventura: "1ab58cd5989637bab8403d97edaf1c8b932e064599a7536e4d765bd139654481" + sha256 x86_64_linux: "dbf1937cbd6b2d95ba6a4c6f31a9c3b49e306a69ce28352b2a9eff476547dfc0" end - depends_on "rust" => :build # for jitter - depends_on "certifi" => :no_linkage + depends_on "rust" => :build # for pydantic + depends_on "certifi" depends_on "libyaml" depends_on "numpy" - depends_on "pydantic" => :no_linkage depends_on "python@3.13" depends_on "sentencepiece" - on_macos do - depends_on "llvm" => :build if DevelopmentTools.clang_build_version <= 1699 - end - - pypi_packages exclude_packages: %w[certifi numpy pydantic sentencepiece] - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" end resource "anyio" do - url "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz" - sha256 "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "distro" do @@ -55,8 +48,8 @@ class Lemonade < Formula end resource "fastapi" do - url "https://files.pythonhosted.org/packages/52/08/8c8508db6c7b9aae8f7175046af41baad690771c9bcde676419965e338c7/fastapi-0.128.0.tar.gz" - sha256 "1cc179e1cef10a6be60ffe429f79b829dce99d8de32d7acb7e6c8dfdf7f2645a" + url "https://files.pythonhosted.org/packages/78/d7/6c8b3bfe33eeffa208183ec037fee0cce9f7f024089ab1c5d12ef04bd27c/fastapi-0.116.1.tar.gz" + sha256 "ed52cbf946abfd70c5a0dccb24673f0670deeb517a88b3544d03c2a6bf283143" end resource "fasteners" do @@ -65,13 +58,13 @@ class Lemonade < Formula end resource "filelock" do - url "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz" - sha256 "18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1" + url "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz" + sha256 "66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58" end resource "fsspec" do - url "https://files.pythonhosted.org/packages/d5/7d/5df2650c57d47c57232af5ef4b4fdbff182070421e405e0d62c6cdbfaa87/fsspec-2026.1.0.tar.gz" - sha256 "e987cb0496a0d81bba3a9d1cee62922fb395e7d4c3b575e57f547953334fe07b" + url "https://files.pythonhosted.org/packages/de/e0/bab50af11c2d75c9c4a2a26a5254573c0bd97cea152254401510950486fa/fsspec-2025.9.0.tar.gz" + sha256 "19fd429483d25d28b65ec68f9f4adc16c17ea2c7c7bf54ec61360d478fb19c19" end resource "gitdb" do @@ -80,8 +73,8 @@ class Lemonade < Formula end resource "gitpython" do - url "https://files.pythonhosted.org/packages/df/b5/59d16470a1f0dfe8c793f9ef56fd3826093fc52b3bd96d6b9d6c26c7e27b/gitpython-3.1.46.tar.gz" - sha256 "400124c7d0ef4ea03f7310ac2fbf7151e09ff97f2a3288d64a440c584a29c37f" + url "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz" + sha256 "85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c" end resource "h11" do @@ -90,8 +83,8 @@ class Lemonade < Formula end resource "hf-xet" do - url "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz" - sha256 "a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f" + url "https://files.pythonhosted.org/packages/23/0f/5b60fc28ee7f8cc17a5114a584fd6b86e11c3e0a6e142a7f97a161e9640a/hf_xet-1.1.9.tar.gz" + sha256 "c99073ce404462e909f1d5839b2d14a3827b8fe75ed8aed551ba6609c026c803" end resource "httpcore" do @@ -100,8 +93,8 @@ class Lemonade < Formula end resource "httptools" do - url "https://files.pythonhosted.org/packages/b5/46/120a669232c7bdedb9d52d4aeae7e6c7dfe151e99dc70802e2fc7a5e1993/httptools-0.7.1.tar.gz" - sha256 "abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9" + url "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz" + sha256 "4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c" end resource "httpx" do @@ -115,13 +108,13 @@ class Lemonade < Formula end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "invoke" do - url "https://files.pythonhosted.org/packages/de/bd/b461d3424a24c80490313fd77feeb666ca4f6a28c7e72713e3d9095719b4/invoke-2.2.1.tar.gz" - sha256 "515bf49b4a48932b79b024590348da22f39c4942dff991ad1fb8b8baea1be707" + url "https://files.pythonhosted.org/packages/f9/42/127e6d792884ab860defc3f4d80a8f9812e48ace584ffc5a346de58cdc6c/invoke-2.2.0.tar.gz" + sha256 "ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5" end resource "jinja2" do @@ -130,13 +123,13 @@ class Lemonade < Formula end resource "jiter" do - url "https://files.pythonhosted.org/packages/45/9d/e0660989c1370e25848bb4c52d061c71837239738ad937e83edca174c273/jiter-0.12.0.tar.gz" - sha256 "64dfcd7d5c168b38d3f9f8bba7fc639edb3418abcc74f22fdbe6b8938293f30b" + url "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz" + sha256 "07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500" end resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" + url "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz" + sha256 "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0" end resource "onnx" do @@ -145,8 +138,8 @@ class Lemonade < Formula end resource "openai" do - url "https://files.pythonhosted.org/packages/94/f4/4690ecb5d70023ce6bfcfeabfe717020f654bde59a775058ec6ac4692463/openai-2.15.0.tar.gz" - sha256 "42eb8cbb407d84770633f31bf727d4ffb4138711c670565a41663d9439174fba" + url "https://files.pythonhosted.org/packages/e0/c6/b8d66e4f3b95493a8957065b24533333c927dc23817abe397f13fe589c6e/openai-1.97.0.tar.gz" + sha256 "0be349569ccaa4fb54f97bb808423fd29ccaeb1246ee1be762e0c81a47bae0aa" end resource "packaging" do @@ -155,13 +148,13 @@ class Lemonade < Formula end resource "protobuf" do - url "https://files.pythonhosted.org/packages/53/b8/cda15d9d46d03d4aa3a67cb6bffe05173440ccf86a9541afaf7ac59a1b6b/protobuf-6.33.4.tar.gz" - sha256 "dc2e61bca3b10470c1912d166fe0af67bfc20eb55971dcef8dfa48ce14f0ed91" + url "https://files.pythonhosted.org/packages/c0/df/fb4a8eeea482eca989b51cffd274aac2ee24e825f0bf3cbce5281fa1567b/protobuf-6.32.0.tar.gz" + sha256 "a81439049127067fc49ec1d36e25c6ee1d1a2b7be930675f919258d03c04e7d2" end resource "psutil" do - url "https://files.pythonhosted.org/packages/73/cb/09e5184fb5fc0358d110fc3ca7f6b1d033800734d34cac10f4136cfac10e/psutil-7.2.1.tar.gz" - sha256 "f7583aec590485b43ca601dd9cea0dcd65bd7bb21d30ef4ddbf4ea6b5ed1bdd3" + url "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz" + sha256 "7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456" end resource "py-cpuinfo" do @@ -169,24 +162,19 @@ class Lemonade < Formula sha256 "3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690" end - resource "pyobjc-core" do - url "https://files.pythonhosted.org/packages/b8/b6/d5612eb40be4fd5ef88c259339e6313f46ba67577a95d86c3470b951fce0/pyobjc_core-12.1.tar.gz" - sha256 "2bb3903f5387f72422145e1466b3ac3f7f0ef2e9960afa9bcd8961c5cbf8bd21" + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" end - resource "pyobjc-framework-cocoa" do - url "https://files.pythonhosted.org/packages/02/a3/16ca9a15e77c061a9250afbae2eae26f2e1579eb8ca9462ae2d2c71e1169/pyobjc_framework_cocoa-12.1.tar.gz" - sha256 "5556c87db95711b985d5efdaaf01c917ddd41d148b1e52a0c66b1a2e2c5c1640" + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/78/96/804520d0850c7db98e5ccb70282e29208723f0964e88ffd9d0da2f52ea09/python_multipart-0.0.21.tar.gz" - sha256 "7137ebd4d3bbf70ea1622998f902b97a29434a9e8dc40eb203bbcf7c2a2cba92" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "pytz" do @@ -195,13 +183,13 @@ class Lemonade < Formula end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "regex" do - url "https://files.pythonhosted.org/packages/0b/86/07d5056945f9ec4590b518171c4254a5925832eb727b56d3c38a7476f316/regex-2026.1.15.tar.gz" - sha256 "164759aa25575cbc0651bef59a0b18353e54300d79ace8084c818ad8ac72b7d5" + url "https://files.pythonhosted.org/packages/b2/5a/4c63457fbcaf19d138d72b2e9b39405954f98c0349b31c601bfcb151582c/regex-2025.9.1.tar.gz" + sha256 "88ac07b38d20b54d79e704e38aa3bd2c0f8027432164226bdee201a1c0c9c9ff" end resource "requests" do @@ -209,14 +197,9 @@ class Lemonade < Formula sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" end - resource "rumps" do - url "https://files.pythonhosted.org/packages/b2/e2/2e6a47951290bd1a2831dcc50aec4b25d104c0cf00e8b7868cbd29cf3bfe/rumps-0.4.0.tar.gz" - sha256 "17fb33c21b54b1e25db0d71d1d793dc19dc3c0b7d8c79dc6d833d0cffc8b1596" - end - resource "safetensors" do - url "https://files.pythonhosted.org/packages/29/9c/6e74567782559a63bd040a236edca26fd71bc7ba88de2ef35d75df3bca5e/safetensors-0.7.0.tar.gz" - sha256 "07663963b67e8bd9f0b8ad15bb9163606cd27cc5a1b96235a50d8369803b96b0" + url "https://files.pythonhosted.org/packages/ac/cc/738f3011628920e027a11754d9cae9abec1aed00f7ae860abbf843755233/safetensors-0.6.2.tar.gz" + sha256 "43ff2aa0e6fa2dc3ea5524ac7ad93a9839256b8703761e76e2d0b2a3fa4f15d9" end resource "smmap" do @@ -230,8 +213,8 @@ class Lemonade < Formula end resource "starlette" do - url "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz" - sha256 "a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca" + url "https://files.pythonhosted.org/packages/15/b9/cc3017f9a9c9b6e27c5106cc10cc7904653c3eec0729793aec10479dd669/starlette-0.47.3.tar.gz" + sha256 "6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9" end resource "tabulate" do @@ -259,52 +242,58 @@ class Lemonade < Formula sha256 "3a7fd2dffb705d4d0efaed4306a704c89b9dee850b688f060a8b1615a79e5f74" end + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + end + resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/c3/d1/8f3c683c9561a4e6689dd3b1d345c815f10f86acd044ee1fb9a4dcd0b8c5/uvicorn-0.40.0.tar.gz" - sha256 "839676675e87e73694518b5574fd0f24c9d97b46bea16df7b8c05ea1a51071ea" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end resource "uvloop" do - url "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz" - sha256 "6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f" + url "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz" + sha256 "3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3" end resource "watchfiles" do - url "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz" - sha256 "a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2" + url "https://files.pythonhosted.org/packages/2a/9a/d451fcc97d029f5812e898fd30a53fd8c15c7bbd058fd75cfc6beb9bd761/watchfiles-1.1.0.tar.gz" + sha256 "693ed7ec72cbfcee399e92c895362b6e66d63dac6b91e2c11ae03d10d503e575" end resource "websockets" do - url "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz" - sha256 "5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5" + url "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz" + sha256 "82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee" + end + + resource "wmi" do + url "https://files.pythonhosted.org/packages/03/2d/cbf13257c0115bef37b6b743758411cec70c565405cbd08d0f7059bc715f/WMI-1.4.9.zip" + sha256 "192ccfad3d7bb3ef43116d753f4d5cf85c0a6b738f832cc131e928fd93cdd400" end resource "zstandard" do - url "https://files.pythonhosted.org/packages/fd/aa/3e0508d5a5dd96529cdc5a97011299056e14c6505b678fd58938792794b1/zstandard-0.25.0.tar.gz" - sha256 "7713e1179d162cf5c7906da876ec2ccb9c3a9dcbdffef0cc7f70c3667a205f0b" + url "https://files.pythonhosted.org/packages/09/1b/c20b2ef1d987627765dcd5bf1dadb8ef6564f00a87972635099bb76b7a05/zstandard-0.24.0.tar.gz" + sha256 "fe3198b81c00032326342d973e526803f183f97aa9e9a98e3f897ebafe21178f" end def install - if OS.mac? - # Help `pyobjc-framework-cocoa` pick correct SDK after removing -isysroot from Python formula - ENV.append_to_cflags "-isysroot #{MacOS.sdk_path}" - - # needed for pyobjc-core "-fdisable-block-signature-string" - ENV.llvm_clang if DevelopmentTools.clang_build_version <= 1699 - else - without = resources.filter_map { |r| r.name if r.name.start_with?("pyobjc") } - end - virtualenv_install_with_resources(without:) + virtualenv_install_with_resources end test do assert_match version.to_s, shell_output("#{bin}/lemonade-server-dev --version") assert_match "Server is not running", shell_output("#{bin}/lemonade-server-dev status") - assert_match "gpt-oss-120b-mxfp-GGUF", shell_output("#{bin}/lemonade-server-dev list") + assert_match "gpt-oss-120b-GGUF", shell_output("#{bin}/lemonade-server-dev list") end end diff --git a/Formula/l/librarian-mcp.rb b/Formula/l/librarian-mcp.rb deleted file mode 100644 index b3f035eb1c..0000000000 --- a/Formula/l/librarian-mcp.rb +++ /dev/null @@ -1,35 +0,0 @@ -class LibrarianMcp < Formula - desc "MCP server that gives Claude a librarian for your Obsidian vault" - homepage "https://github.com/ngmeyer/librarian-mcp" - url "https://github.com/ngmeyer/librarian-mcp/archive/refs/tags/v0.1.0.tar.gz" - sha256 "1e93fae534c93621f0e9f298f56241f0ca5998a08f4d25a0975298daadf6ce38" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "734736cddf081fa8b5589fdacc5abdb6b6dce9c48b9d6014d34794e84dcd3054" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "eadb559a8e3c328eb167d07f2af74cdf5526eccbd8023c96e90f33c7ff575eb4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2ea5ee60c6f7630e1cf906d94fde87321887e2789805d2c9de48924a746959e6" - sha256 cellar: :any_skip_relocation, arm64_linux: "1e5e8c0740e649775fe85dbbef529adab51b6b32e6a0cc975d6756a36f89dd7f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d9e663ffcaa71f77d505a3eb592676a1d5b5a55edad2ad6dfa4239f4c2162e13" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/librarian-mcp --version") - - json = <<~JSON - {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"Homebrew","version":"1.0"}}} - {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} - {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"cursor":null}} - JSON - - output = pipe_output("#{bin}/librarian-mcp #{testpath} 2>&1", json) - assert_match "library_search", output - end -end diff --git a/Formula/l/lightpanda-v8.rb b/Formula/l/lightpanda-v8.rb deleted file mode 100644 index ea0e950690..0000000000 --- a/Formula/l/lightpanda-v8.rb +++ /dev/null @@ -1,72 +0,0 @@ -class LightpandaV8 < Formula - desc "Fork-specific V8 archive and Zig module layout for Lightpanda" - homepage "https://github.com/lightpanda-io/zig-v8-fork" - url "https://github.com/lightpanda-io/zig-v8-fork/archive/refs/tags/v0.4.2.tar.gz" - sha256 "66f154a6fc8fa9bec266f8f9f47c18a6a955eb1fdd805e0fc47a137306bb07d3" - license "MIT" - head "https://github.com/lightpanda-io/zig-v8-fork.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8423c9d56453769f08b5f21491a10bea14bca811d4a69d85788ebc0968f7552d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3a8365b177b36758fb60d73e2fe6b49282fb8731d140fea5e6aaf9ea659c41b3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3bd8a3352d876e0f720a9bffb0214968ba59a65672496e4b6de140c0cbd237c3" - sha256 cellar: :any_skip_relocation, sequoia: "1c82bbe5bcf21b4793aa0491787e1e0eae59444a331709e70787464beb33aa3d" - sha256 cellar: :any_skip_relocation, arm64_linux: "5685faa75bb3bfd7852ac1ccfade735065762383c4a5453defde61c202858d38" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5d64edae38bc4033feb6c5e133ae0fd12f8458f48c2188f268468bbadeac0b5b" - end - - if OS.mac? && Hardware::CPU.arm? - resource "libc_v8" do - url "https://github.com/lightpanda-io/zig-v8-fork/releases/download/v0.3.3/libc_v8_14.0.365.4_macos_aarch64.a" - sha256 "c9fb1286e07447d097a704d5ff1b305172f359796e20aaf132deee2d502acca0" - end - elsif OS.mac? && Hardware::CPU.intel? - resource "libc_v8" do - url "https://github.com/lightpanda-io/zig-v8-fork/releases/download/v0.3.3/libc_v8_14.0.365.4_macos_x86_64.a" - sha256 "ea2037790c93bb45e8156219fb44638bb9f10ed6cbd988b62d88d39204b40167" - end - elsif OS.linux? && Hardware::CPU.arm? - resource "libc_v8" do - url "https://github.com/lightpanda-io/zig-v8-fork/releases/download/v0.3.3/libc_v8_14.0.365.4_linux_aarch64.a" - sha256 "1427c46de6da4918597640a720e2ba725410f41dcac57626291dd025a5968f69" - end - else - resource "libc_v8" do - url "https://github.com/lightpanda-io/zig-v8-fork/releases/download/v0.3.3/libc_v8_14.0.365.4_linux_x86_64.a" - sha256 "b875439b3df025a2da510388559fe66c4454ed660bc38101c54dd55af0b5d0c7" - end - end - - def install - module_root = pkgshare/"zig-v8-fork" - module_root.mkpath - cp_r Dir["*"] + Dir[".*"] - %w[. ..], module_root - - build_zon = module_root/"build.zig.zon" - build_zon_content = build_zon.read - unless build_zon_content.sub!( - / \.dependencies = \.\{\n.*? \},\n(?= \.paths = \.\{)/m, - " .dependencies = .{},\n", - ) - odie "Failed to rewrite zig-v8-fork dependency stanza" - end - build_zon_content.gsub!("\"README\",", "\"README.md\",") - build_zon.atomic_write build_zon_content - - lib.install resource("libc_v8").cached_download => "libc_v8.a" - end - - test do - module_root = pkgshare/"zig-v8-fork" - assert_path_exists module_root/"build.zig" - assert_path_exists module_root/"build.zig.zon" - assert_path_exists module_root/"src/v8.zig" - assert_path_exists lib/"libc_v8.a" - - build_zon = (module_root/"build.zig.zon").read - assert_match ".dependencies = .{},", build_zon - assert_match "\"README.md\",", build_zon - assert_match "current ar archive", shell_output("file #{lib}/libc_v8.a") - end -end diff --git a/Formula/l/lightpanda.rb b/Formula/l/lightpanda.rb deleted file mode 100644 index b9dc2c3fe4..0000000000 --- a/Formula/l/lightpanda.rb +++ /dev/null @@ -1,271 +0,0 @@ -class Lightpanda < Formula - desc "Headless browser designed for AI and automation" - homepage "https://github.com/lightpanda-io/browser" - url "https://github.com/lightpanda-io/browser/archive/refs/tags/v0.2.6.tar.gz" - sha256 "76e2476f105fd3f7fa1cba7f0a43ca264043733148b725f0e0f1f2385506c6a6" - license "AGPL-3.0-or-later" - head "https://github.com/lightpanda-io/browser.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "408058ed431697892c2cc2e4c73e6e643ac464d628de7ccc3aefcc7b53bad4b4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "abc1b4c70f5397c456a91bc383c374a2c96aef1b5de3d84cfdba5aa0fa782d80" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4ce973f58e3cb9a57241b396fc07d6250e2af55e3cedb819cb0f8e61c9f8e801" - sha256 cellar: :any_skip_relocation, arm64_linux: "11441a954699e3be16a339377860acc5710821a246fe91b415378a65c875f53b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7b253b711287327417b0d3206fc99dfce4433ac603d5c401483d0d486f399a3b" - end - - depends_on "rust" => :build - depends_on "zig" => :build - - resource "lightpanda-v8-source" do - url "https://github.com/lightpanda-io/zig-v8-fork/archive/refs/tags/v0.3.3.tar.gz" - sha256 "aab25cc9c479215afe21d2cb0007b6cdfcd6d8cb501441553f60b96bb2dba02b" - end - - if OS.mac? && Hardware::CPU.arm? - resource "libc_v8" do - url "https://github.com/lightpanda-io/zig-v8-fork/releases/download/v0.3.3/libc_v8_14.0.365.4_macos_aarch64.a" - sha256 "c9fb1286e07447d097a704d5ff1b305172f359796e20aaf132deee2d502acca0" - end - elsif OS.mac? && Hardware::CPU.intel? - resource "libc_v8" do - url "https://github.com/lightpanda-io/zig-v8-fork/releases/download/v0.3.3/libc_v8_14.0.365.4_macos_x86_64.a" - sha256 "ea2037790c93bb45e8156219fb44638bb9f10ed6cbd988b62d88d39204b40167" - end - elsif OS.linux? && Hardware::CPU.arm? - resource "libc_v8" do - url "https://github.com/lightpanda-io/zig-v8-fork/releases/download/v0.3.3/libc_v8_14.0.365.4_linux_aarch64.a" - sha256 "1427c46de6da4918597640a720e2ba725410f41dcac57626291dd025a5968f69" - end - else - resource "libc_v8" do - url "https://github.com/lightpanda-io/zig-v8-fork/releases/download/v0.3.3/libc_v8_14.0.365.4_linux_x86_64.a" - sha256 "b875439b3df025a2da510388559fe66c4454ed660bc38101c54dd55af0b5d0c7" - end - end - - ZIG_DEPS = { - "brotli" => { - url: "https://github.com/google/brotli/archive/028fb5a23661f123017c060daa546b55cf4bde29.tar.gz", - sha256: "0afe09a53c8bad9861c8dd1fc1284308d54f19d2979ba3541cfdcc9b05fe360f", - }, - "zlib" => { - url: "https://github.com/madler/zlib/releases/download/v1.3.2/zlib-1.3.2.tar.gz", - sha256: "bb329a0a2cd0274d05519d61c667c062e06990d72e125ee2dfa8de64f0119d16", - }, - "nghttp2" => { - url: "https://github.com/nghttp2/nghttp2/releases/download/v1.68.0/nghttp2-1.68.0.tar.gz", - sha256: "2c16ffc588ad3f9e2613c3fad72db48ecb5ce15bc362fcc85b342e48daf51013", - }, - "boringssl-zig" => { - url: "https://github.com/Syndica/boringssl-zig/archive/c53df00d06b02b755ad88bbf4d1202ed9687b096.tar.gz", - sha256: "60b25deedd68d5c424682db1160d2a192376c05f85b4d98a2ad1f3536dfd4037", - }, - "curl" => { - url: "https://github.com/curl/curl/releases/download/curl-8_18_0/curl-8.18.0.tar.gz", - sha256: "e9274a5f8ab5271c0e0e6762d2fce194d5f98acc568e4ce816845b2dcc0cf88f", - }, - }.freeze - - CARGO_CRATES = [ - ["autocfg", "1.4.0", "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"], - ["bitflags", "2.9.1", "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"], - ["cc", "1.2.39", "e1354349954c6fc9cb0deab020f27f783cf0b604e8bb754dc4658ecf0d29c35f"], - ["cfg-if", "1.0.0", "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"], - ["find-msvc-tools", "0.1.2", "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959"], - ["futf", "0.1.5", "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"], - ["html5ever", "0.35.0", "55d958c2f74b664487a2035fe1dadb032c48718a03b63f3ab0b8537db8549ed4"], - ["libc", "0.2.172", "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"], - ["lock_api", "0.4.13", "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"], - ["log", "0.4.27", "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"], - ["mac", "0.1.1", "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"], - ["markup5ever", "0.35.0", "311fe69c934650f8f19652b3946075f0fc41ad8757dbb68f1ca14e7900ecc1c3"], - ["match_token", "0.35.0", "ac84fd3f360fcc43dc5f5d186f02a94192761a080e8bc58621ad4d12296a58cf"], - ["new_debug_unreachable", "1.0.6", "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"], - ["parking_lot", "0.12.4", "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"], - ["parking_lot_core", "0.9.11", "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"], - ["paste", "1.0.15", "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"], - ["phf", "0.11.3", "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"], - ["phf_codegen", "0.11.3", "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"], - ["phf_generator", "0.11.3", "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"], - ["phf_shared", "0.11.3", "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"], - ["phf_shared", "0.13.1", "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266"], - ["precomputed-hash", "0.1.1", "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"], - ["proc-macro2", "1.0.95", "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"], - ["quote", "1.0.40", "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"], - ["rand", "0.8.5", "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"], - ["rand_core", "0.6.4", "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"], - ["redox_syscall", "0.5.12", "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"], - ["scopeguard", "1.2.0", "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"], - ["serde", "1.0.219", "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"], - ["serde_derive", "1.0.219", "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"], - ["shlex", "1.3.0", "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"], - ["siphasher", "1.0.1", "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"], - ["smallvec", "1.15.1", "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"], - ["string_cache", "0.8.9", "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f"], - ["string_cache", "0.9.0", "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901"], - ["string_cache_codegen", "0.5.4", "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0"], - ["syn", "2.0.101", "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"], - ["tendril", "0.4.3", "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"], - ["tikv-jemalloc-ctl", "0.6.0", "f21f216790c8df74ce3ab25b534e0718da5a1916719771d3fec23315c99e468b"], - ["tikv-jemalloc-sys", "0.6.0+5.3.0-1-ge13ca993e8ccb9b" \ - "a9847cc330696e02839f328f7", - "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d"], - ["tikv-jemallocator", "0.6.0", "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865"], - ["typed-arena", "2.0.2", "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"], - ["unicode-ident", "1.0.18", "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"], - ["utf-8", "0.7.6", "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"], - ["web_atoms", "0.1.3", "57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414"], - ["windows-targets", "0.52.6", "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"], - ["windows_aarch64_gnullvm", "0.52.6", "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"], - ["windows_aarch64_msvc", "0.52.6", "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"], - ["windows_i686_gnu", "0.52.6", "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"], - ["windows_i686_gnullvm", "0.52.6", "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"], - ["windows_i686_msvc", "0.52.6", "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"], - ["windows_x86_64_gnu", "0.52.6", "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"], - ["windows_x86_64_gnullvm", "0.52.6", "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"], - ["windows_x86_64_msvc", "0.52.6", "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"], - ["xml5ever", "0.35.0", "ee3f1e41afb31a75aef076563b0ad3ecc24f5bd9d12a72b132222664eb76b494"], - ].freeze - - ZIG_DEPS.each do |name, spec| - resource name do - url spec[:url] - sha256 spec[:sha256] - end - end - - CARGO_CRATES.each do |name, crate_version, checksum| - resource "#{name}-#{crate_version}" do - url "https://crates.io/api/v1/crates/#{name}/#{crate_version}/download" - sha256 checksum - end - end - - def install - deps_dir = buildpath/"deps" - deps_dir.mkpath - stage_lightpanda_v8(deps_dir) - stage_zig_dependencies(deps_dir) - vendor_cargo_dependencies - rewrite_build_zon - - ENV["CARGO_HOME"] = buildpath/"cargo-home" - ENV["CARGO_NET_OFFLINE"] = "true" - ENV["LIGHTPANDA_DISABLE_TELEMETRY"] = "true" - ENV["ZIG_GLOBAL_CACHE_DIR"] = buildpath/"zig-global-cache" - ENV["ZIG_LOCAL_CACHE_DIR"] = buildpath/"zig-local-cache" - - zig = Formula["zig"].opt_bin/"zig" - prebuilt_v8 = deps_dir/"v8/libc_v8.a" - snapshot_path = buildpath/"src/snapshot.bin" - - system zig, "build", "-Doptimize=ReleaseFast", - "-Dprebuilt_v8_path=#{prebuilt_v8}", - "snapshot_creator", "--", snapshot_path - system zig, "build", "-Doptimize=ReleaseFast", - "-Dsnapshot_path=#{snapshot_path}", - "-Dprebuilt_v8_path=#{prebuilt_v8}", - "-Dgit_commit=v#{version}" - - bin.install "zig-out/bin/lightpanda" - end - - def stage_lightpanda_v8(deps_dir) - resource("lightpanda-v8-source").stage do - target = deps_dir/"v8" - target.mkpath - cp_r Dir["*"] + Dir[".*"] - %w[. ..], target - - build_zon = target/"build.zig.zon" - build_zon_content = build_zon.read - unless build_zon_content.sub!( - / \.dependencies = \.\{\n.*? \},\n(?= \.paths = \.\{)/m, - " .dependencies = .{},\n", - ) - odie "Failed to rewrite zig-v8-fork dependency stanza" - end - build_zon_content.gsub!("\"README\",", "\"README.md\",") - build_zon.atomic_write build_zon_content - end - - cp resource("libc_v8").cached_download, deps_dir/"v8/libc_v8.a" - end - - def stage_zig_dependencies(deps_dir) - ZIG_DEPS.each_key do |name| - resource(name).stage do - target = deps_dir/name - target.mkpath - cp_r Dir["*"] + Dir[".*"] - %w[. ..], target - end - end - end - - def vendor_cargo_dependencies - vendor_dir = buildpath/"cargo-vendor" - vendor_dir.mkpath - - CARGO_CRATES.each do |name, crate_version, checksum| - resource("#{name}-#{crate_version}").stage do - target = vendor_dir/"#{name}-#{crate_version}" - target.mkpath - cp_r Dir["*"] + Dir[".*"] - %w[. ..], target - (target/".cargo-checksum.json").write <<~JSON - {"package":"#{checksum}","files":{}} - JSON - end - end - - cargo_config_dir = buildpath/".cargo" - cargo_config_dir.mkpath - (cargo_config_dir/"config.toml").write <<~TOML - [source.crates-io] - replace-with = "vendored-sources" - - [source.vendored-sources] - directory = "#{vendor_dir}" - TOML - end - - def rewrite_build_zon - (buildpath/"build.zig.zon").atomic_write <<~ZIG - .{ - .name = .browser, - .version = "0.0.0", - .fingerprint = 0xda130f3af836cea0, - .minimum_zig_version = "0.15.2", - .dependencies = .{ - .v8 = .{ .path = "deps/v8" }, - .brotli = .{ .path = "deps/brotli" }, - .zlib = .{ .path = "deps/zlib" }, - .nghttp2 = .{ .path = "deps/nghttp2" }, - .@"boringssl-zig" = .{ .path = "deps/boringssl-zig" }, - .curl = .{ .path = "deps/curl" }, - }, - .paths = .{""}, - } - ZIG - end - - test do - ENV["LIGHTPANDA_DISABLE_TELEMETRY"] = "true" - - assert_match version.to_s, shell_output("#{bin}/lightpanda version 2>&1") - - port = free_port - pid = fork do - exec bin/"lightpanda", "serve", "--host", "127.0.0.1", "--port", port.to_s, "--log_level", "info" - end - - begin - sleep 5 - version_json = shell_output("curl -s http://127.0.0.1:#{port}/json/version") - assert_match %r{"webSocketDebuggerUrl": "ws://127\.0\.0\.1:#{port}/"}, version_json - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/l/lin.rb b/Formula/l/lin.rb index 03c21342b9..db54b37d26 100644 --- a/Formula/l/lin.rb +++ b/Formula/l/lin.rb @@ -17,7 +17,7 @@ class Lin < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/l/lintnet.rb b/Formula/l/lintnet.rb index 78042d0548..cf79923b44 100644 --- a/Formula/l/lintnet.rb +++ b/Formula/l/lintnet.rb @@ -2,31 +2,26 @@ class Lintnet < Formula desc "General purpose linter for structured configuration data powered by Jsonnet" homepage "https://lintnet.github.io/" - url "https://github.com/lintnet/lintnet/archive/refs/tags/v1.0.0.tar.gz" - sha256 "c5286cc799333898c1fc74cc27c22a779a6679438fe669351f31236d485e312e" + url "https://github.com/lintnet/lintnet/archive/refs/tags/v0.4.11-2.tar.gz" + sha256 "622e80e8af2aafcef8be66823e23b09e748a666d2e73f88f98deb1e26a59863c" license "MIT" head "https://github.com/lintnet/lintnet.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d09a7901bc0a704968e96a2fc2b76fbb7c1d6626c844a931de361f1102ba9b18" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d09a7901bc0a704968e96a2fc2b76fbb7c1d6626c844a931de361f1102ba9b18" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d09a7901bc0a704968e96a2fc2b76fbb7c1d6626c844a931de361f1102ba9b18" - sha256 cellar: :any_skip_relocation, arm64_linux: "1064ab257f255e7e033d2d71009a8e1ddd8a14f2c47426514c6d8594156db265" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b1aecae7027fb4fe0ae581cbcefae5dd90985c4fb613f1d1605fc8b9a6787481" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "96f2e62c5d0a97c9eb3dd018ed2f699c1d3c97d600ed374c632298b5b595e230" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "23333d0ce051a3c40b30064801e827c6156b1790e352c13f3593daa0eafae82f" + sha256 cellar: :any_skip_relocation, ventura: "3baee84033a4e5dad880f7107b1aa77a067ffb843204f181f63833e778a1f8de" + sha256 cellar: :any_skip_relocation, x86_64_linux: "aaca4d81531e9135707ec48cc5ab9e320ca0ce8430da1fbfe39d5994414e11d3" end depends_on "go" => :build - # add completion compatibility patch - patch :DATA - def install ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" system "go", "build", *std_go_args(ldflags:), "./cmd/lintnet" - generate_completions_from_executable(bin/"lintnet", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"lintnet", "completion") end test do @@ -37,38 +32,3 @@ def install assert_match "A configuration file of lintnet", (testpath/"lintnet.jsonnet").read end end - -__END__ -diff --git a/pkg/cli/runner.go b/pkg/cli/runner.go -index 01bd584..65ab375 100644 ---- a/pkg/cli/runner.go -+++ b/pkg/cli/runner.go -@@ -13,6 +13,21 @@ type GlobalFlags struct { - Config string - } - -+// normalizeArgs rewrites "completion powershell" to "completion pwsh" for Homebrew compatibility. -+// Homebrew's generate_completions_from_executable calls "completion powershell", -+// but urfave/cli/v3 only recognizes "pwsh", not "powershell". -+// This function treats "powershell" as an alias for "pwsh". -+func normalizeArgs(args []string) []string { -+ // Check if args match: [, "completion", "powershell", ...] -+ if len(args) >= 3 && args[1] == "completion" && args[2] == "powershell" { -+ // Copy-on-write: create a new slice to avoid mutating the original -+ normalized := append([]string(nil), args...) -+ normalized[2] = "pwsh" -+ return normalized -+ } -+ return args -+} -+ - func Run(ctx context.Context, logger *slogutil.Logger, env *urfave.Env) error { - gFlags := &GlobalFlags{} - return urfave.Command(env, &cli.Command{ //nolint:wrapcheck -@@ -46,5 +61,5 @@ func Run(ctx context.Context, logger *slogutil.Logger, env *urfave.Env) error { - }).command(logger, gFlags), - (&newCommand{}).command(logger, gFlags), - }, -- }).Run(ctx, env.Args) -+ }).Run(ctx, normalizeArgs(env.Args)) - } diff --git a/Formula/l/lix.rb b/Formula/l/lix.rb index 58177d5eb2..7a3814a5b5 100644 --- a/Formula/l/lix.rb +++ b/Formula/l/lix.rb @@ -1,14 +1,17 @@ class Lix < Formula desc "Dependable package manager for your Haxe projects" homepage "https://github.com/lix-pm/lix.client" - url "https://registry.npmjs.org/lix/-/lix-16.0.2.tgz" - sha256 "02f513a86e07ed149d876459f2bc210dce136cf5b41b7e1f34eb99be120cc4e5" + url "https://registry.npmjs.org/lix/-/lix-15.12.4.tgz" + sha256 "4f2257276aba9f552b1b35237d33fbc1a0898039d8105ed6e8d1468e6c53a2fa" license "MIT" head "https://github.com/lix-pm/lix.client.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "74fbff9cd207eb2d2ee598d9397026845321672cc912c6c7f05d6d4c935c686b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "4ba75512470de526901eb3731910868ef379595fe1876eba7c776178330255dd" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "4290812b9ff7f233cff6b3ef29394018277c4a4f992a223f1306bdb51d4e66d1" + sha256 cellar: :any_skip_relocation, ventura: "a836ff154cac4eeddea30d33d83fefeae8f73de330e46f4df2024efe0e4717d7" + sha256 cellar: :any_skip_relocation, x86_64_linux: "190610747a01d4f0b1e9908136b99dede842cc5313c1c8bf3a660d8b783a1c56" end depends_on "node" diff --git a/Formula/l/llmswap.rb b/Formula/l/llmswap.rb index 1687f28077..264f9093a7 100644 --- a/Formula/l/llmswap.rb +++ b/Formula/l/llmswap.rb @@ -3,35 +3,27 @@ class Llmswap < Formula desc "Switch between Anthropic, OpenAI, Google, Ollama, Watsonx, etc" homepage "https://github.com/sreenathmmenon/llmswap" - url "https://files.pythonhosted.org/packages/70/60/7914d5e315a311a199d910c04e6c0bedabfeecc62aefba2ab32d875897e6/llmswap-5.5.6.tar.gz" - sha256 "16173f5abe9f4b3f39342c3a3dfd693599df8d2a1bac97abacff4f21bbd20162" + url "https://files.pythonhosted.org/packages/1f/d0/bf083b22de771de6233cad16d800b24d11f451ba8387611a89780d69a11b/llmswap-4.0.5.tar.gz" + sha256 "e0090fa17f25a8d020d78ab45318468ad10cd8fc30f26250b6cf52566d033591" license "MIT" - head "https://github.com/sreenathmmenon/llmswap.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "c572a7a9b4743afcf2de50ff480cc55d411260ae0ddc13a7998c7f38998afb23" - sha256 arm64_sequoia: "df09ce7067a55757c3f2c52a761722c282f94c6fc8d8e1064408267e4bcd00b1" - sha256 arm64_sonoma: "99c7be513f4a00e998689038be65d1c5dbd905873858cc8b0123106299139a27" - sha256 cellar: :any_skip_relocation, arm64_linux: "9c681a6dbd9f584807eff71bbc5c73011c29ff090fccbc17114f86ac90cb233c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3e93b987f27fcc00e4df8bca2b3c3c157fa58f296a6057f9be4bc5caf26c3ad9" + sha256 cellar: :any, arm64_sequoia: "4e933ae9cff41197197223f9c9c5c1efab6e08ed4663e763c9dc624d879be6d2" + sha256 cellar: :any, arm64_sonoma: "a8ce99e0534d52b4f879d1497b89af361978ab2884513e1541dcee5b3cf437a6" + sha256 cellar: :any, ventura: "f61e53f22b5893d0451af33194d77bb904a6abfb00d91551f32a54fb2a837456" + sha256 cellar: :any_skip_relocation, x86_64_linux: "1db468dfd9a86e444797cb03cb81bab53329c20332bc47413e5aec0a40b91940" end - depends_on "pkgconf" => :build - depends_on "rust" => :build # for jiter - depends_on "certifi" => :no_linkage - depends_on "libffi" + depends_on "rust" => :build # for pydantic + depends_on "certifi" depends_on "libyaml" depends_on "numpy" - depends_on "openssl@3" - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: %w[certifi numpy pydantic] + depends_on "python@3.13" resource "aiofiles" do - url "https://files.pythonhosted.org/packages/41/c3/534eac40372d8ee36ef40df62ec129bee4fdb5ad9706e58a29be53b2c970/aiofiles-25.1.0.tar.gz" - sha256 "a8d728f0a29de45dc521f18f07297428d56992a742f0cd2701ba86e44d23d5b2" + url "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz" + sha256 "22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c" end resource "aiohappyeyeballs" do @@ -40,8 +32,8 @@ class Llmswap < Formula end resource "aiohttp" do - url "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz" - sha256 "a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88" + url "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz" + sha256 "4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2" end resource "aiosignal" do @@ -49,54 +41,39 @@ class Llmswap < Formula sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" end - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" end resource "anthropic" do - url "https://files.pythonhosted.org/packages/db/e5/02cd2919ec327b24234abb73082e6ab84c451182cc3cc60681af700f4c63/anthropic-0.83.0.tar.gz" - sha256 "a8732c68b41869266c3034541a31a29d8be0f8cd0a714f9edce3128b351eceb4" + url "https://files.pythonhosted.org/packages/fa/50/daa51c035e6a941f7b8034705796c7643443a85f5381cb41a797757fc6d3/anthropic-0.66.0.tar.gz" + sha256 "5aa8b18da57dc27d83fc1d82c9fb860977e5adfae3e0c215d7ab2ebd70afb9cb" end resource "anyio" do - url "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz" - sha256 "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "blinker" do - url "https://files.pythonhosted.org/packages/21/28/9b3f50ce0e048515135495f198351908d99540d69bfdc8c1d15b73dc55ce/blinker-1.9.0.tar.gz" - sha256 "b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end - resource "cffi" do - url "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" - sha256 "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529" + resource "cachetools" do + url "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz" + sha256 "1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" end resource "cohere" do - url "https://files.pythonhosted.org/packages/9a/7c/415e9b150843d879427ad4760c2331443d3f4e6860d17a3c3b3841357898/cohere-5.20.6.tar.gz" - sha256 "96b53fafcca97d7345646b66caafb79d6d92fa144c44b6d7fd63fbeade2a5155" - end - - resource "cryptography" do - url "https://files.pythonhosted.org/packages/60/04/ee2a9e8542e4fa2773b81771ff8349ff19cdd56b7258a0cc442639052edb/cryptography-46.0.5.tar.gz" - sha256 "abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d" + url "https://files.pythonhosted.org/packages/8a/ea/0b4bfb4b7f0f445db97acc979308f80ed5ab31df3786b1951d6e48b30d27/cohere-5.17.0.tar.gz" + sha256 "70d2fb7bccf8c9de77b07e1c0b3d93accf6346242e3cdc6ce293b577afa74a63" end resource "distro" do @@ -104,39 +81,24 @@ class Llmswap < Formula sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" end - resource "docstring-parser" do - url "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz" - sha256 "583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912" - end - resource "fastavro" do - url "https://files.pythonhosted.org/packages/65/8b/fa2d3287fd2267be6261d0177c6809a7fa12c5600ddb33490c8dc29e77b2/fastavro-1.12.1.tar.gz" - sha256 "2f285be49e45bc047ab2f6bed040bb349da85db3f3c87880e4b92595ea093b2b" + url "https://files.pythonhosted.org/packages/cc/ec/762dcf213e5b97ea1733b27d5a2798599a1fa51565b70a93690246029f84/fastavro-1.12.0.tar.gz" + sha256 "a67a87be149825d74006b57e52be068dfa24f3bfc6382543ec92cd72327fe152" end resource "filelock" do - url "https://files.pythonhosted.org/packages/73/92/a8e2479937ff39185d20dd6a851c1a63e55849e447a55e798cc2e1f49c65/filelock-3.24.3.tar.gz" - sha256 "011a5644dc937c22699943ebbfc46e969cdde3e171470a6e40b9533e5a72affa" - end - - resource "flask" do - url "https://files.pythonhosted.org/packages/26/00/35d85dcce6c57fdc871f3867d465d780f302a175ea360f62533f12b27e2b/flask-3.1.3.tar.gz" - sha256 "0ef0e52b8a9cd932855379197dd8f94047b359ca0a78695144304cb45f87c9eb" - end - - resource "flask-cors" do - url "https://files.pythonhosted.org/packages/70/74/0fc0fa68d62f21daef41017dafab19ef4b36551521260987eb3a5394c7ba/flask_cors-6.0.2.tar.gz" - sha256 "6e118f3698249ae33e429760db98ce032a8bf9913638d085ca0f4c5534ad2423" + url "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz" + sha256 "66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58" end resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" + url "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz" + sha256 "2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f" end resource "fsspec" do - url "https://files.pythonhosted.org/packages/51/7c/f60c259dcbf4f0c47cc4ddb8f7720d2dcdc8888c8e5ad84c73ea4531cc5b/fsspec-2026.2.0.tar.gz" - sha256 "6544e34b16869f5aacd5b90bdf1a71acb37792ea3ddf6125ee69a22a53fb8bff" + url "https://files.pythonhosted.org/packages/de/e0/bab50af11c2d75c9c4a2a26a5254573c0bd97cea152254401510950486fa/fsspec-2025.9.0.tar.gz" + sha256 "19fd429483d25d28b65ec68f9f4adc16c17ea2c7c7bf54ec61360d478fb19c19" end resource "google-ai-generativelanguage" do @@ -145,43 +107,43 @@ class Llmswap < Formula end resource "google-api-core" do - url "https://files.pythonhosted.org/packages/09/cd/63f1557235c2440fe0577acdbc32577c5c002684c58c7f4d770a92366a24/google_api_core-2.25.2.tar.gz" - sha256 "1c63aa6af0d0d5e37966f157a77f9396d820fba59f9e43e9415bc3dc5baff300" + url "https://files.pythonhosted.org/packages/dc/21/e9d043e88222317afdbdb567165fdbc3b0aad90064c7e0c9eb0ad9955ad8/google_api_core-2.25.1.tar.gz" + sha256 "d2aaa0b13c78c61cb3f4282c464c046e45fbd75755683c9c525e6e8f7ed0a5e8" end resource "google-api-python-client" do - url "https://files.pythonhosted.org/packages/e4/8d/4ab3e3516b93bb50ed7814738ea61d49cba3f72f4e331dc9518ae2731e92/google_api_python_client-2.190.0.tar.gz" - sha256 "5357f34552e3724d80d2604c8fa146766e0a9d6bb0afada886fafed9feafeef6" + url "https://files.pythonhosted.org/packages/c2/96/5561a5d7e37781c880ca90975a70d61940ec1648b2b12e991311a9e39f83/google_api_python_client-2.181.0.tar.gz" + sha256 "d7060962a274a16a2c6f8fb4b1569324dbff11bfbca8eb050b88ead1dd32261c" end resource "google-auth" do - url "https://files.pythonhosted.org/packages/f9/e5/0f232ebec2089bf7bb9c2ee5ef115957dbc9a0eed795617ac063214f8fef/google_auth-2.49.0.dev0.tar.gz" - sha256 "8ebdc83d298b130bde4ded0e19cb983330f885736000348a83c161de23205e86" + url "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz" + sha256 "500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77" end resource "google-auth-httplib2" do - url "https://files.pythonhosted.org/packages/d5/ad/c1f2b1175096a8d04cf202ad5ea6065f108d26be6fc7215876bde4a7981d/google_auth_httplib2-0.3.0.tar.gz" - sha256 "177898a0175252480d5ed916aeea183c2df87c1f9c26705d74ae6b951c268b0b" + url "https://files.pythonhosted.org/packages/56/be/217a598a818567b28e859ff087f347475c807a5649296fb5a817c58dacef/google-auth-httplib2-0.2.0.tar.gz" + sha256 "38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05" end resource "google-generativeai" do - url "https://files.pythonhosted.org/packages/97/0f/ef33b5bb71437966590c6297104c81051feae95d54b11ece08533ef937d3/google_generativeai-0.8.6-py3-none-any.whl" - sha256 "37a0eaaa95e5bbf888828e20a4a1b2c196cc9527d194706e58a68ff388aeb0fa" + url "https://files.pythonhosted.org/packages/6e/40/c42ff9ded9f09ec9392879a8e6538a00b2dc185e834a3392917626255419/google_generativeai-0.8.5-py3-none-any.whl" + sha256 "22b420817fb263f8ed520b33285f45976d5b21e904da32b80d4fd20c055123a2" end resource "googleapis-common-protos" do - url "https://files.pythonhosted.org/packages/e5/7b/adfd75544c415c487b33061fe7ae526165241c1ea133f9a9125a56b39fd8/googleapis_common_protos-1.72.0.tar.gz" - sha256 "e55a601c1b32b52d7a3e65f43563e2aa61bcd737998ee672ac9b951cd49319f5" + url "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz" + sha256 "0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257" end resource "groq" do - url "https://files.pythonhosted.org/packages/3f/12/f4099a141677fcd2ed79dcc1fcec431e60c52e0e90c9c5d935f0ffaf8c0e/groq-1.0.0.tar.gz" - sha256 "66cb7bb729e6eb644daac7ce8efe945e99e4eb33657f733ee6f13059ef0c25a9" + url "https://files.pythonhosted.org/packages/f2/e9/f5d523ae8c78aa375addf44d1f64206271d43e6b42d4e5ce3dc76563a75b/groq-0.31.1.tar.gz" + sha256 "4d611e0100cb22732c43b53af37933a1b8a5c5a18fa96132fee14e6c15d737e6" end resource "grpcio" do - url "https://files.pythonhosted.org/packages/1f/de/de568532d9907552700f80dcec38219d8d298ad9e71f5e0a095abaf2761e/grpcio-1.78.1.tar.gz" - sha256 "27c625532d33ace45d57e775edf1982e183ff8641c72e4e91ef7ba667a149d72" + url "https://files.pythonhosted.org/packages/38/b4/35feb8f7cab7239c5b94bd2db71abb3d6adb5f335ad8f131abb6060840b6/grpcio-1.74.0.tar.gz" + sha256 "80d1f4fbb35b0742d3e3d3bb654b7381cd5f015f8497279a1e9c21ba623e01b1" end resource "grpcio-status" do @@ -195,8 +157,8 @@ class Llmswap < Formula end resource "hf-xet" do - url "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz" - sha256 "a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f" + url "https://files.pythonhosted.org/packages/23/0f/5b60fc28ee7f8cc17a5114a584fd6b86e11c3e0a6e142a7f97a161e9640a/hf_xet-1.1.9.tar.gz" + sha256 "c99073ce404462e909f1d5839b2d14a3827b8fe75ed8aed551ba6609c026c803" end resource "httpcore" do @@ -205,8 +167,8 @@ class Llmswap < Formula end resource "httplib2" do - url "https://files.pythonhosted.org/packages/c1/1f/e86365613582c027dda5ddb64e1010e57a3d53e99ab8a72093fa13d565ec/httplib2-0.31.2.tar.gz" - sha256 "385e0869d7397484f4eab426197a4c020b606edd43372492337c0b4010ae5d24" + url "https://files.pythonhosted.org/packages/5b/75/1d10a90b3411f707c10c226fa918cf4f5e0578113caa223369130f702b6b/httplib2-0.30.0.tar.gz" + sha256 "d5b23c11fcf8e57e00ff91b7008656af0f6242c8886fd97065c97509e4e548c5" end resource "httpx" do @@ -214,79 +176,94 @@ class Llmswap < Formula sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" end + resource "httpx-sse" do + url "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz" + sha256 "1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721" + end + resource "huggingface-hub" do - url "https://files.pythonhosted.org/packages/c4/fc/eb9bc06130e8bbda6a616e1b80a7aa127681c448d6b49806f61db2670b61/huggingface_hub-1.4.1.tar.gz" - sha256 "b41131ec35e631e7383ab26d6146b8d8972abc8b6309b963b306fbcca87f5ed5" + url "https://files.pythonhosted.org/packages/45/c9/bdbe19339f76d12985bc03572f330a01a93c04dffecaaea3061bdd7fb892/huggingface_hub-0.34.4.tar.gz" + sha256 "a4228daa6fb001be3f4f4bdaf9a0db00e1739235702848df00885c9b5742c85c" end - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + resource "ibm-cos-sdk" do + url "https://files.pythonhosted.org/packages/98/b8/b99f17ece72d4bccd7e75539b9a294d0f73ace5c6c475d8f2631afd6f65b/ibm_cos_sdk-2.14.3.tar.gz" + sha256 "643b6f2aa1683adad7f432df23407d11ae5adb9d9ad01214115bee77dc64364a" end - resource "itsdangerous" do - url "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz" - sha256 "e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173" + resource "ibm-cos-sdk-core" do + url "https://files.pythonhosted.org/packages/7e/45/80c23aa1e13175a9deefe43cbf8e853a3d3bfc8dfa8b6d6fe83e5785fe21/ibm_cos_sdk_core-2.14.3.tar.gz" + sha256 "85dee7790c92e8db69bf39dae4c02cac211e3c1d81bb86e64fa2d1e929674623" end - resource "jinja2" do - url "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" - sha256 "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" + resource "ibm-cos-sdk-s3transfer" do + url "https://files.pythonhosted.org/packages/f3/ff/c9baf0997266d398ae08347951a2970e5e96ed6232ed0252f649f2b9a7eb/ibm_cos_sdk_s3transfer-2.14.3.tar.gz" + sha256 "2251ebfc4a46144401e431f4a5d9f04c262a0d6f95c88a8e71071da056e55f72" end - resource "jiter" do - url "https://files.pythonhosted.org/packages/0d/5e/4ec91646aee381d01cdb9974e30882c9cd3b8c5d1079d6b5ff4af522439a/jiter-0.13.0.tar.gz" - sha256 "f2839f9c2c7e2dffc1bc5929a510e14ce0a946be9365fd1219e7ef342dae14f4" + resource "ibm-watsonx-ai" do + url "https://files.pythonhosted.org/packages/a7/e2/1698bcbd414de55f9c03cc01bdaffbb9893b804e5aff72651d0b6fbd37f6/ibm_watsonx_ai-1.3.37.tar.gz" + sha256 "f3470447a9e922a71d11917903d2f5a2862e444a23cc72e88888179aa94b7317" end - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" + resource "idna" do + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end - resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" + resource "jiter" do + url "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz" + sha256 "07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500" end - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" + resource "jmespath" do + url "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz" + sha256 "90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe" + end + + resource "lomond" do + url "https://files.pythonhosted.org/packages/c0/9e/ef7813c910d4a893f2bc763ce9246269f55cc68db21dc1327e376d6a2d02/lomond-0.3.3.tar.gz" + sha256 "427936596b144b4ec387ead99aac1560b77c8a78107d3d49415d3abbe79acbd3" end resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" + url "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz" + sha256 "d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd" end resource "openai" do - url "https://files.pythonhosted.org/packages/92/e5/3d197a0947a166649f566706d7a4c8f7fe38f1fa7b24c9bcffe4c7591d44/openai-2.21.0.tar.gz" - sha256 "81b48ce4b8bbb2cc3af02047ceb19561f7b1dc0d4e52d1de7f02abfd15aa59b7" + url "https://files.pythonhosted.org/packages/79/b6/1aff7d6b8e9f0c3ac26bfbb57b9861a6711d5d60bd7dd5f7eebbf80509b7/openai-1.106.1.tar.gz" + sha256 "5f575967e3a05555825c43829cdcd50be6e49ab6a3e5262f0937a3f791f917f1" end resource "packaging" do - url "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz" - sha256 "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4" + url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" + end + + resource "pandas" do + url "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz" + sha256 "4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667" end resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" + url "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz" + sha256 "20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168" end resource "proto-plus" do - url "https://files.pythonhosted.org/packages/3a/02/8832cde80e7380c600fbf55090b6ab7b62bd6825dbedde6d6657c15a1f8e/proto_plus-1.27.1.tar.gz" - sha256 "912a7460446625b792f6448bade9e55cd4e41e6ac10e27009ef71a7f317fa147" + url "https://files.pythonhosted.org/packages/f4/ac/87285f15f7cce6d4a008f33f1757fb5a13611ea8914eb58c3d0d26243468/proto_plus-1.26.1.tar.gz" + sha256 "21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012" end resource "protobuf" do - url "https://files.pythonhosted.org/packages/7e/57/394a763c103e0edf87f0938dafcd918d53b4c011dfc5c8ae80f3b0452dbb/protobuf-5.29.6.tar.gz" - sha256 "da9ee6a5424b6b30fd5e45c5ea663aef540ca95f9ad99d1e887e819cdf9b8723" + url "https://files.pythonhosted.org/packages/43/29/d09e70352e4e88c9c7a198d5645d7277811448d76c23b00345670f7c8a38/protobuf-5.29.5.tar.gz" + sha256 "bc1463bafd4b0929216c35f437a8e28731a2b7fe3d98bb77a600efced5a15c84" end resource "pyasn1" do - url "https://files.pythonhosted.org/packages/fe/b6/6e630dff89739fcd427e3f72b3d905ce0acb85a45d4ec3e2678718a3487f/pyasn1-0.6.2.tar.gz" - sha256 "9b59a2b25ba7e4f8197db7686c09fb33e658b98339fadb826e9512629017833b" + url "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz" + sha256 "6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034" end resource "pyasn1-modules" do @@ -294,29 +271,39 @@ class Llmswap < Formula sha256 "677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6" end - resource "pycparser" do - url "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz" - sha256 "600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29" + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" end - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end resource "pyparsing" do - url "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz" - sha256 "c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc" + url "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz" + sha256 "b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be" + end + + resource "python-dateutil" do + url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" + sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" + end + + resource "pytz" do + url "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz" + sha256 "360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3" end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "requests" do @@ -324,14 +311,14 @@ class Llmswap < Formula sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" end - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" + resource "rsa" do + url "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz" + sha256 "e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75" end - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" + resource "six" do + url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" + sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" end resource "sniffio" do @@ -339,29 +326,39 @@ class Llmswap < Formula sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" end + resource "tabulate" do + url "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz" + sha256 "0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c" + end + resource "tokenizers" do - url "https://files.pythonhosted.org/packages/73/6f/f80cfef4a312e1fb34baf7d85c72d4411afde10978d4657f8cdd811d3ccc/tokenizers-0.22.2.tar.gz" - sha256 "473b83b915e547aa366d1eee11806deaf419e17be16310ac0a14077f1e28f917" + url "https://files.pythonhosted.org/packages/5e/b4/c1ce3699e81977da2ace8b16d2badfd42b060e7d33d75c4ccdbf9dc920fa/tokenizers-0.22.0.tar.gz" + sha256 "2e33b98525be8453f355927f3cab312c36cd3e44f4d7e9e97da2fa94d0a49dcb" end resource "tqdm" do - url "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" - sha256 "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" + url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" + sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" end - resource "typer" do - url "https://files.pythonhosted.org/packages/5a/b6/3e681d3b6bb22647509bdbfdd18055d5adc0dce5c5585359fa46ff805fdc/typer-0.24.0.tar.gz" - sha256 "f9373dc4eff901350694f519f783c29b6d7a110fc0dcc11b1d7e353b85ca6504" + resource "types-requests" do + url "https://files.pythonhosted.org/packages/ed/b0/9355adb86ec84d057fea765e4c49cce592aaf3d5117ce5609a95a7fc3dac/types_requests-2.32.4.20250809.tar.gz" + sha256 "d8060de1c8ee599311f56ff58010fb4902f462a1470802cf9f6ed27bc46c4df3" end - resource "typer-slim" do - url "https://files.pythonhosted.org/packages/a7/a7/e6aecc4b4eb59598829a3b5076a93aff291b4fdaa2ded25efc4e1f4d219c/typer_slim-0.24.0.tar.gz" - sha256 "f0ed36127183f52ae6ced2ecb2521789995992c521a46083bfcdbb652d22ad34" + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" end - resource "types-requests" do - url "https://files.pythonhosted.org/packages/0f/f3/a0663907082280664d745929205a89d41dffb29e89a50f753af7d57d0a96/types_requests-2.32.4.20260107.tar.gz" - sha256 "018a11ac158f801bfa84857ddec1650750e393df8a004a8a9ae2a9bec6fcb24f" + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + end + + resource "tzdata" do + url "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz" + sha256 "b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9" end resource "uritemplate" do @@ -370,45 +367,22 @@ class Llmswap < Formula end resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "werkzeug" do - url "https://files.pythonhosted.org/packages/61/f1/ee81806690a87dab5f5653c1f146c92bc066d7f4cebc603ef88eb9e13957/werkzeug-3.1.6.tar.gz" - sha256 "210c6bede5a420a913956b4791a7f4d6843a43b6fcee4dfa08a65e93007d0d25" + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "yarl" do - url "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" - sha256 "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" + url "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz" + sha256 "d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac" end def install - # `tokenizers` and `hf-xet` build PyO3 extensions through maturin. - ENV.append_to_rustflags "-C link-arg=-Wl,-undefined,dynamic_lookup" - - venv = virtualenv_install_with_resources(without: "hf-xet") - - resource("hf-xet").stage do - # `hf-xet` sdist has an invalid Python source path in `pyproject.toml`. - # Upstream issue: https://github.com/huggingface/xet-core/issues/658 - inreplace "pyproject.toml", 'python-source = "hf_xet/python"', 'python-source = "."' - - # Disable sha2-asm on ARM which requires -march=armv8-a+crypto. - if ENV.effective_arch == :armv8 - inreplace "data/Cargo.toml", - 'sha2 = { workspace = true, features = ["asm"] }', - "sha2 = { workspace = true }" - end - - venv.pip_install Pathname.pwd - end + virtualenv_install_with_resources end test do ENV["ANTHROPIC_API_KEY"] = "test" assert_match version.to_s, shell_output("#{bin}/llmswap --version") - assert_match "API key appears invalid", shell_output("#{bin}/llmswap costs 2>&1", 1) + assert_match "💡 Cost Analysis & Optimization", shell_output("#{bin}/llmswap costs") end end diff --git a/Formula/l/llxprt-code.rb b/Formula/l/llxprt-code.rb deleted file mode 100644 index f1bd8405ac..0000000000 --- a/Formula/l/llxprt-code.rb +++ /dev/null @@ -1,47 +0,0 @@ -class LlxprtCode < Formula - desc "Open-source multi-provider AI assisted CLI development tool" - homepage "https://github.com/vybestack/llxprt-code" - url "https://registry.npmjs.org/@vybestack/llxprt-code/-/llxprt-code-0.9.3.tgz" - sha256 "fd673a16c4f9706936d8f181a7ec83347d764830237f3c842ae7e21f98bc271b" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "57df7f6951bd90d7d602103868f09108dbf1b1675274f4ab4e263088be752993" - sha256 cellar: :any, arm64_sequoia: "c08b11d3dc16e699d636ec5e9ed5612aae2e729af9c55927619808db5ec42955" - sha256 cellar: :any, arm64_sonoma: "0e0b46be156a57a2bee9a11caece1bb7fe7bf5d9145e2054a1165210489d94ea" - sha256 cellar: :any_skip_relocation, arm64_linux: "fd048d0c89d375c4f18767da45035337e64035427098ced6d4746fdbcef79b46" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ce8a54352ac1bdf57e4ce8abc34f861214f8a7d9aff69d516cc32fb43d4348f1" - end - - depends_on "tree-sitter-cli" => :build - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - - # Remove prebuilds for non-native architectures and problematic .so files - nm = libexec/"lib/node_modules/@vybestack/llxprt-code/node_modules" - if Hardware::CPU.arm? - nm.glob("**/prebuilds/darwin-x64").each(&:rmtree) - nm.glob("**/prebuilds/linux-x64").each(&:rmtree) - else - nm.glob("**/prebuilds/darwin-arm64").each(&:rmtree) - nm.glob("**/prebuilds/prebuild-macOS-ARM64").each(&:rmtree) - nm.glob("**/prebuilds/linux-arm64").each(&:rmtree) - end - %w[c cpp go java json python ruby rust].each do |language| - path = nm/"@ast-grep/lang-#{language}" - cd path do - system "tree-sitter", "build", "-o", "parser.so" - end - end - nm.glob("@ast-grep/lang-*/prebuilds").each { |path| rm_r path } - nm.glob("**/clipboardy/fallbacks/linux/xsel").each(&:rmtree) - end - - test do - assert_match version.to_s, shell_output("#{bin}/llxprt --version") - end -end diff --git a/Formula/l/lnko.rb b/Formula/l/lnko.rb deleted file mode 100644 index 99baacf746..0000000000 --- a/Formula/l/lnko.rb +++ /dev/null @@ -1,70 +0,0 @@ -class Lnko < Formula - desc "Simple stow-like dotfile linker" - homepage "https://github.com/luanvil/lnko" - url "https://github.com/luanvil/lnko/archive/refs/tags/v0.2.3.tar.gz" - sha256 "4eabc70767cd5cedd365113b81618d61566c10cbf3a7e8d15729d9a005cf641c" - license "GPL-3.0-only" - head "https://github.com/luanvil/lnko.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d4da7bbbce232b1f890e6727a1dafaff27bca6b4356fc0c7ab310a256dc93061" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e99f8b263b34cac0c4ba4611d0dab8acd21903851d2861d47df01d1e407528f8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8204e0d2e89cc987ac5c158385ae4363990dd4cad757da23618d66e748724655" - sha256 cellar: :any_skip_relocation, arm64_linux: "b60067eb6cc81c0c391309da891191e7599a120bbb618032f0c8c86a055b7fa9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a03baa78ebe8f36487583dd15034e85aafbef4ca5a27d24919ece316f9d07997" - end - - depends_on "lua@5.4" - - resource "luafilesystem" do - url "https://github.com/lunarmodules/luafilesystem/archive/refs/tags/v1_8_0.tar.gz" - sha256 "16d17c788b8093f2047325343f5e9b74cccb1ea96001e45914a58bbae8932495" - end - - def install - lua = Formula["lua@5.4"] - lua_version = lua.version.major_minor - lua_include = lua.opt_include - lua_libdir = libexec/"lib/lua/#{lua_version}" - - resource("luafilesystem").stage do - lib_option = - if OS.mac? - "-bundle -undefined dynamic_lookup" - else - "-shared" - end - - system "make", - "CC=#{ENV.cc}", - "LIB_OPTION=#{lib_option}", - "LUA_VERSION=#{lua_version}", - "LUA_LIBDIR=#{lua_libdir}", - "LUA_INC=-I#{lua_include}/lua -I#{lua_include}/lua#{lua_version}" - system "make", "install", "LUA_LIBDIR=#{lua_libdir}", "DESTDIR=" - end - - libexec.install "lnko" - (libexec/"bin").install "bin/lnko.lua" - - (bin/"lnko").write <<~SH - #!/bin/bash - export LUA_PATH="#{libexec}/?.lua;#{libexec}/?/init.lua;#{libexec}/lnko/?.lua;;" - export LUA_CPATH="#{lua_libdir}/?.so;;" - exec "#{lua.opt_bin}/lua" "#{libexec}/bin/lnko.lua" "$@" - SH - end - - test do - source = testpath/"dotfiles" - (source/"pkg").mkpath - (source/"pkg/.vimrc").write "set number\n" - target = testpath/"target" - target.mkpath - - system bin/"lnko", "link", "--dir", source, "--target", target, "pkg" - assert_predicate target/".vimrc", :symlink? - assert_equal "set number\n", (target/".vimrc").read - end -end diff --git a/Formula/l/lobtui.rb b/Formula/l/lobtui.rb deleted file mode 100644 index 737e79faf3..0000000000 --- a/Formula/l/lobtui.rb +++ /dev/null @@ -1,27 +0,0 @@ -class Lobtui < Formula - desc "TUI for lobste.rs website" - homepage "https://github.com/pythops/lobtui" - url "https://github.com/pythops/lobtui/archive/refs/tags/v0.3.1.tar.gz" - sha256 "b2c8b6b2c7acd7e0e91e013ae2ca8d1f96b70dedd7d5cda8b7af782396b3c2e1" - license "MIT" - head "https://github.com/pythops/lobtui.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "caba4a44543973f27a3f04cea2ac3e3473f9c41e7ab63e28b296e4bc2c49ce61" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fe6fe6a292a265be05ae8d8ee332a804b48700ce329f8c5c12c0318fa623eefb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "333ac62465a4b6a04fce5ca0bd68323152db0cd8b8c62ebdf0554b550b0deb3a" - sha256 cellar: :any_skip_relocation, arm64_linux: "2888c0f2e56f094839be9557b8fb5c351725954284e9e68c45f31fd379ad3595" - sha256 cellar: :any_skip_relocation, x86_64_linux: "32bd8855ffe067d4dd5664263c13e766ae80f374696c30cea71c665f2ce427ae" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/lobtui --version") - end -end diff --git a/Formula/l/locport.rb b/Formula/l/locport.rb deleted file mode 100644 index 977a4fb9ff..0000000000 --- a/Formula/l/locport.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Locport < Formula - desc "Manage local ports across projects" - homepage "https://github.com/klevo/locport" - url "https://github.com/klevo/locport/archive/refs/tags/v1.3.0.tar.gz" - sha256 "bbcf5132d77fc1f058df061881a8f098ad31f050298bb3d00d1ab59e75dcde37" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c169631562bd7c78236ed13d065f0cfbfb330aaa9ed62323c5879bda4185851a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c169631562bd7c78236ed13d065f0cfbfb330aaa9ed62323c5879bda4185851a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c169631562bd7c78236ed13d065f0cfbfb330aaa9ed62323c5879bda4185851a" - sha256 cellar: :any_skip_relocation, arm64_linux: "25e681b10888d0ddcf590be35163067224e38b61acfcfaca8b8cce717eeb6ff5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "25e681b10888d0ddcf590be35163067224e38b61acfcfaca8b8cce717eeb6ff5" - end - - depends_on "ruby" - - def install - ENV["BUNDLE_FORCE_RUBY_PLATFORM"] = "1" - ENV["BUNDLE_WITHOUT"] = "development test" - ENV["BUNDLE_VERSION"] = "system" # Avoid installing Bundler into the keg - ENV["GEM_HOME"] = libexec - ENV["NOKOGIRI_USE_SYSTEM_LIBRARIES"] = "1" - - system "bundle", "install" - system "gem", "build", "#{name}.gemspec" - system "gem", "install", "#{name}-#{version}.gem" - - bin.install libexec/"bin/#{name}" - bin.env_script_all_files(libexec/"bin", GEM_HOME: ENV["GEM_HOME"]) - end - - test do - assert_match "Index file", shell_output("#{bin}/locport info") - - system bin/"locport", "add", "myapp.localhost" - assert_match "myapp.localhost", shell_output("#{bin}/locport list") - end -end diff --git a/Formula/l/logfire-mcp.rb b/Formula/l/logfire-mcp.rb index 2600e8c755..a5d49510a6 100644 --- a/Formula/l/logfire-mcp.rb +++ b/Formula/l/logfire-mcp.rb @@ -3,56 +3,55 @@ class LogfireMcp < Formula desc "MCP server for Pydantic Logfire" homepage "https://github.com/pydantic/logfire-mcp" - url "https://files.pythonhosted.org/packages/77/31/e4f6c97c02e03b458594fe5a5ad9b3ddb131bdc126dddc35089b41d7d8d0/logfire_mcp-0.8.0.tar.gz" - sha256 "11c1e6a694dac405b266acb9a84d08f1672561fee5c5d5d4947c34f68da0fcd2" + url "https://files.pythonhosted.org/packages/70/1d/5c58144cd81d33d0db5bd73f63dd973ec4d39674259875911c00771ee401/logfire_mcp-0.5.1.tar.gz" + sha256 "e35d32c4cdb0905af761d49c5193f6ecaf1e836bc84b2c2989afdee30582c1a4" license "MIT" - head "https://github.com/pydantic/logfire-mcp.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "105ddd7dbaa15a1b904b671e267228bc5f2fe6ec36a5bc350d81df0dc482f82d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6e87b8cfa6c1daecf7c6dd48202cb318252cebeccdd79a0d8daeba865adbc0bc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0b1b47376474a6282b338eaebcfded469e8c418decbb5cf03aa90ab99f12c309" - sha256 cellar: :any_skip_relocation, arm64_linux: "b4be20ec6e9db871d7feaf0e277c7f41417c2310df29e9bfb29c694f28c75d0b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a6c251c689bb0175c944891a7392f7d4321d7d7e1ae7126d0dc6a7192ce35733" + sha256 cellar: :any, arm64_sequoia: "24aa3857d653f77eea880c543413f6d6ffe325155ca5d5bf00930927ddd6da25" + sha256 cellar: :any, arm64_sonoma: "f29d394199d85bfdf4d33177f3a8d30b4da9de55cdaae0bdee9879d4801c562c" + sha256 cellar: :any, ventura: "c42908849ac7526927ecaec8d9cab0bc871cd23a93411a07db3839e746bd22b7" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e37d554fcc9c8356d9369344f5694fc15f031a01657ee04925b8887b634a43c6" end - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage + depends_on "rust" => :build # for pydantic + depends_on "certifi" + depends_on "python@3.13" - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py] + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end resource "anyio" do - url "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz" - sha256 "73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz" + sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "executing" do - url "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz" - sha256 "3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4" + url "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz" + sha256 "5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755" end resource "googleapis-common-protos" do - url "https://files.pythonhosted.org/packages/e5/7b/adfd75544c415c487b33061fe7ae526165241c1ea133f9a9125a56b39fd8/googleapis_common_protos-1.72.0.tar.gz" - sha256 "e55a601c1b32b52d7a3e65f43563e2aa61bcd737998ee672ac9b951cd49319f5" + url "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz" + sha256 "0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257" end resource "h11" do @@ -71,43 +70,43 @@ class LogfireMcp < Formula end resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "importlib-metadata" do - url "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz" - sha256 "49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb" + url "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz" + sha256 "d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000" end resource "jsonschema" do - url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" - sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" + url "https://files.pythonhosted.org/packages/d5/00/a297a868e9d0784450faa7365c2172a7d6110c763e30ba861867c32ae6a9/jsonschema-4.25.0.tar.gz" + sha256 "e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f" end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end resource "logfire" do - url "https://files.pythonhosted.org/packages/e2/60/b8040db3598a55da64c45e3e689f2baa87389a4648a6f46ba80be3329f23/logfire-4.16.0.tar.gz" - sha256 "03a3ab8fdc13399309cb55d69cba7a6fcbad3526cfad85fc4f72e7d75e22b654" + url "https://files.pythonhosted.org/packages/e9/1d/6646ff0bbd2793d960facc05c29a599619e1a4f265d333f294f7292a6488/logfire-4.2.0.tar.gz" + sha256 "72ffe5b68dd97f386f691143a48cfe4e8e5aae261e111a5d5a852b4e23c1e1a8" end resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" + url "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz" + sha256 "e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb" end resource "mcp" do - url "https://files.pythonhosted.org/packages/d5/2d/649d80a0ecf6a1f82632ca44bec21c0461a9d9fc8934d38cb5b319f2db5e/mcp-1.25.0.tar.gz" - sha256 "56310361ebf0364e2d438e5b45f7668cbb124e158bb358333cd06e49e83a6802" + url "https://files.pythonhosted.org/packages/31/88/f6cb7e7c260cd4b4ce375f2b1614b33ce401f63af0f49f7141a2e9bf0a45/mcp-1.12.4.tar.gz" + sha256 "0765585e9a3a5916a3c3ab8659330e493adc7bd8b2ca6120c2d7a0c43e034ca5" end resource "mdurl" do @@ -116,38 +115,38 @@ class LogfireMcp < Formula end resource "opentelemetry-api" do - url "https://files.pythonhosted.org/packages/97/b9/3161be15bb8e3ad01be8be5a968a9237c3027c5be504362ff800fca3e442/opentelemetry_api-1.39.1.tar.gz" - sha256 "fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c" + url "https://files.pythonhosted.org/packages/27/d2/c782c88b8afbf961d6972428821c302bd1e9e7bc361352172f0ca31296e2/opentelemetry_api-1.36.0.tar.gz" + sha256 "9a72572b9c416d004d492cbc6e61962c0501eaf945ece9b5a0f56597d8348aa0" end resource "opentelemetry-exporter-otlp-proto-common" do - url "https://files.pythonhosted.org/packages/e9/9d/22d241b66f7bbde88a3bfa6847a351d2c46b84de23e71222c6aae25c7050/opentelemetry_exporter_otlp_proto_common-1.39.1.tar.gz" - sha256 "763370d4737a59741c89a67b50f9e39271639ee4afc999dadfe768541c027464" + url "https://files.pythonhosted.org/packages/34/da/7747e57eb341c59886052d733072bc878424bf20f1d8cf203d508bbece5b/opentelemetry_exporter_otlp_proto_common-1.36.0.tar.gz" + sha256 "6c496ccbcbe26b04653cecadd92f73659b814c6e3579af157d8716e5f9f25cbf" end resource "opentelemetry-exporter-otlp-proto-http" do - url "https://files.pythonhosted.org/packages/80/04/2a08fa9c0214ae38880df01e8bfae12b067ec0793446578575e5080d6545/opentelemetry_exporter_otlp_proto_http-1.39.1.tar.gz" - sha256 "31bdab9745c709ce90a49a0624c2bd445d31a28ba34275951a6a362d16a0b9cb" + url "https://files.pythonhosted.org/packages/25/85/6632e7e5700ba1ce5b8a065315f92c1e6d787ccc4fb2bdab15139eaefc82/opentelemetry_exporter_otlp_proto_http-1.36.0.tar.gz" + sha256 "dd3637f72f774b9fc9608ab1ac479f8b44d09b6fb5b2f3df68a24ad1da7d356e" end resource "opentelemetry-instrumentation" do - url "https://files.pythonhosted.org/packages/41/0f/7e6b713ac117c1f5e4e3300748af699b9902a2e5e34c9cf443dde25a01fa/opentelemetry_instrumentation-0.60b1.tar.gz" - sha256 "57ddc7974c6eb35865af0426d1a17132b88b2ed8586897fee187fd5b8944bd6a" + url "https://files.pythonhosted.org/packages/12/37/cf17cf28f945a3aca5a038cfbb45ee01317d4f7f3a0e5209920883fe9b08/opentelemetry_instrumentation-0.57b0.tar.gz" + sha256 "f2a30135ba77cdea2b0e1df272f4163c154e978f57214795d72f40befd4fcf05" end resource "opentelemetry-proto" do - url "https://files.pythonhosted.org/packages/49/1d/f25d76d8260c156c40c97c9ed4511ec0f9ce353f8108ca6e7561f82a06b2/opentelemetry_proto-1.39.1.tar.gz" - sha256 "6c8e05144fc0d3ed4d22c2289c6b126e03bcd0e6a7da0f16cedd2e1c2772e2c8" + url "https://files.pythonhosted.org/packages/fd/02/f6556142301d136e3b7e95ab8ea6a5d9dc28d879a99f3dd673b5f97dca06/opentelemetry_proto-1.36.0.tar.gz" + sha256 "0f10b3c72f74c91e0764a5ec88fd8f1c368ea5d9c64639fb455e2854ef87dd2f" end resource "opentelemetry-sdk" do - url "https://files.pythonhosted.org/packages/eb/fb/c76080c9ba07e1e8235d24cdcc4d125ef7aa3edf23eb4e497c2e50889adc/opentelemetry_sdk-1.39.1.tar.gz" - sha256 "cf4d4563caf7bff906c9f7967e2be22d0d6b349b908be0d90fb21c8e9c995cc6" + url "https://files.pythonhosted.org/packages/4c/85/8567a966b85a2d3f971c4d42f781c305b2b91c043724fa08fd37d158e9dc/opentelemetry_sdk-1.36.0.tar.gz" + sha256 "19c8c81599f51b71670661ff7495c905d8fdf6976e41622d5245b791b06fa581" end resource "opentelemetry-semantic-conventions" do - url "https://files.pythonhosted.org/packages/91/df/553f93ed38bf22f4b999d9be9c185adb558982214f33eae539d3b5cd0858/opentelemetry_semantic_conventions-0.60b1.tar.gz" - sha256 "87c228b5a0669b748c76d76df6c364c369c28f1c465e50f661e39737e84bc953" + url "https://files.pythonhosted.org/packages/7e/31/67dfa252ee88476a29200b0255bda8dfc2cf07b56ad66dc9a6221f7dc787/opentelemetry_semantic_conventions-0.57b0.tar.gz" + sha256 "609a4a79c7891b4620d64c7aac6898f872d790d75f22019913a660756f27ff32" end resource "packaging" do @@ -156,13 +155,23 @@ class LogfireMcp < Formula end resource "protobuf" do - url "https://files.pythonhosted.org/packages/34/44/e49ecff446afeec9d1a66d6bbf9adc21e3c7cea7803a920ca3773379d4f6/protobuf-6.33.2.tar.gz" - sha256 "56dc370c91fbb8ac85bc13582c9e373569668a290aa2e66a590c2a0d35ddb9e4" + url "https://files.pythonhosted.org/packages/52/f3/b9655a711b32c19720253f6f06326faf90580834e2e83f840472d752bc8b/protobuf-6.31.1.tar.gz" + sha256 "d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a" + end + + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/43/4b/ac7e0aae12027748076d72a8764ff1c9d82ca75a7a52622e67ed3f765c54/pydantic_settings-2.12.0.tar.gz" - sha256 "005538ef951e3c2a68e1c08b292b5f2e71490def8589d4221b95dab00dafcfd0" + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" end resource "pygments" do @@ -170,34 +179,34 @@ class LogfireMcp < Formula sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" end - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz" - sha256 "3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953" - end - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "python-multipart" do - url "https://files.pythonhosted.org/packages/78/96/804520d0850c7db98e5ccb70282e29208723f0964e88ffd9d0da2f52ea09/python_multipart-0.0.21.tar.gz" - sha256 "7137ebd4d3bbf70ea1622998f902b97a29434a9e8dc40eb203bbcf7c2a2cba92" + url "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz" + sha256 "8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13" end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz" + sha256 "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422" end resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" + url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" + sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" + end + + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/1e/d9/991a0dee12d9fc53ed027e26a26a64b151d77252ac477e22666b9688bc16/rpds_py-0.27.0.tar.gz" + sha256 "8b23cf252f180cda89220b378d917180f29d313cd6a07b2431c0d3b776aae86f" end resource "shellingham" do @@ -205,34 +214,49 @@ class LogfireMcp < Formula sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" end + resource "sniffio" do + url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" + sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" + end + resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/da/34/f5df66cb383efdbf4f2db23cabb27f51b1dcb737efaf8a558f6f1d195134/sse_starlette-3.1.2.tar.gz" - sha256 "55eff034207a83a0eb86de9a68099bd0157838f0b8b999a1b742005c71e33618" + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" end resource "starlette" do - url "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz" - sha256 "a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca" + url "https://files.pythonhosted.org/packages/04/57/d062573f391d062710d4088fa1369428c38d51460ab6fedff920efef932e/starlette-0.47.2.tar.gz" + sha256 "6ae9aa5db235e4846decc1e7b79c4f346adf41e9777aebeb49dfd09bbd7023d8" end resource "typer" do - url "https://files.pythonhosted.org/packages/85/30/ff9ede605e3bd086b4dd842499814e128500621f7951ca1e5ce84bbf61b1/typer-0.21.0.tar.gz" - sha256 "c87c0d2b6eee3b49c5c64649ec92425492c14488096dfbc8a0c2799b2f6f9c53" + url "https://files.pythonhosted.org/packages/c5/8c/7d682431efca5fd290017663ea4588bf6f2c6aad085c7f108c5dbc316e70/typer-0.16.0.tar.gz" + sha256 "af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz" + sha256 "38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" end resource "urllib3" do - url "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz" - sha256 "016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797" + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/c3/d1/8f3c683c9561a4e6689dd3b1d345c815f10f86acd044ee1fb9a4dcd0b8c5/uvicorn-0.40.0.tar.gz" - sha256 "839676675e87e73694518b5574fd0f24c9d97b46bea16df7b8c05ea1a51071ea" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end resource "wrapt" do - url "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz" - sha256 "f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0" + url "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz" + sha256 "41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3" end resource "zipp" do @@ -256,6 +280,6 @@ def install output = pipe_output("#{bin}/logfire-mcp --test 2>&1", json, 0) assert_match "testing Logfire MCP server", output - assert_match "logfire_read_token: `test...test` from environment variable", output + assert_match "Invalid token", output end end diff --git a/Formula/l/lstags.rb b/Formula/l/lstags.rb deleted file mode 100644 index 0c59f9ff72..0000000000 --- a/Formula/l/lstags.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Lstags < Formula - desc "Explore Docker registries and manipulate Docker images" - homepage "https://github.com/ivanilves/lstags" - url "https://github.com/ivanilves/lstags/archive/refs/tags/v1.2.23.tar.gz" - sha256 "43ecc6b925e85cb6656b0114cc1404611cb5a4c50e0eeda80bcf5727ebf8c187" - license "Apache-2.0" - head "https://github.com/ivanilves/lstags.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "48ccb35ac46890e6fef371cd9418b2ee905da36136c4b918f0bd2c8521a7f5d2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "28e60e1996ae2654d361d1c9f3160cbe0ad5f9c70efc5ad25147d0e21e461bb1" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7a718b885f6a517edb165b1070423bc2d1b2e9dd456e0ef2a4cd4b2001339ca4" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ca330fc96a6190f9c7cb6839df270f988dca63268f39ce1e2af0248144cd8bb3" - end - - depends_on "go" => :build - - def install - inreplace "version.go", "CURRENT", version.to_s - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match version.to_s, shell_output("#{bin}/lstags --version") - - output = shell_output("#{bin}/lstags --dry-run ghcr.io/linuxcontainers/alpine 2>&1") - assert_match "FETCHED ghcr.io/linuxcontainers/alpine", output - end -end diff --git a/Formula/l/lsv.rb b/Formula/l/lsv.rb deleted file mode 100644 index 55b491c84d..0000000000 --- a/Formula/l/lsv.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Lsv < Formula - desc "Three Pane Terminal File Viewer" - homepage "https://github.com/SecretDeveloper/lsv" - url "https://static.crates.io/crates/lsv/lsv-0.1.15.crate" - sha256 "d8a22aec62790b5940ec28a6ef648fbd21f2487005d98e4773c0c636fa1d1f2d" - license "MIT" - head "https://github.com/SecretDeveloper/lsv.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7e9adfc5323bdd538f78950d23de6067486bbc500b4266f1174583871403f5fe" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "764d3314cc392d1cbfa6b14c51a486dd08fa894e15e08f3b78b7f6ac9c6632fa" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6eaed3b9638e42218823decb8c4af6a5bdc199fecbc5c56efe56dea3553724cd" - sha256 cellar: :any_skip_relocation, arm64_linux: "efcb2243d1d2814f43674c3ea37264684ff4b94c5dfb963b163034322688f231" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c8273c2e4e4cf01bd77d2b8fea10f7f347663861dfcd313e7de41d13706609bf" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/lsv --version") - - output = pipe_output("#{bin}/lsv --init-config", "y\n", 0) - assert_match "This will create lsv config at: #{testpath}/.config/lsv", output - assert_match "About config.context passed to actions", (testpath/".config/lsv/init.lua").read - end -end diff --git a/Formula/lib/libdivide.rb b/Formula/lib/libdivide.rb new file mode 100644 index 0000000000..3aab86f9e3 --- /dev/null +++ b/Formula/lib/libdivide.rb @@ -0,0 +1,60 @@ +class Libdivide < Formula + desc "Optimized integer division" + homepage "https://libdivide.com" + url "https://github.com/ridiculousfish/libdivide/archive/refs/tags/v5.2.0.tar.gz" + sha256 "73ae910c4cdbda823b7df2c1e0e1e7427464ebc43fc770b1a30bb598cb703f49" + license any_of: ["Zlib", "BSL-1.0"] + head "https://github.com/ridiculousfish/libdivide.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ffea4910f7eb49c0df9d5b567a6c1923ee218e1676216caf98608e33d55507b5" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d51f987325923def362f7469e1dfb59505a9cd4ac10fc3002ae5a9538512754d" + sha256 cellar: :any_skip_relocation, ventura: "1a6c0c352d1e58c3bc7f72a378ee73e84361d9c8a50e4ef304aec6b4ccd3e8df" + sha256 cellar: :any_skip_relocation, x86_64_linux: "57ac2f5016adfea40feb2e91c28a347d4919802770bbd2e56ade8d1275f9dcf8" + end + + depends_on "cmake" => :build + + # include sanitisers for release build, upstream pr ref, https://github.com/ridiculousfish/libdivide/pull/129 + patch do + url "https://github.com/ridiculousfish/libdivide/commit/41c04ea14b9c661e891ef35b122c5cce74837c8a.patch?full_index=1" + sha256 "e431c9dd5163d1636dc53e689b33d27f38f9dce674532f8e1df1ff90ae112efc" + end + + def install + # Skip `cmake --build`, as this is only for building tests. + system "cmake", "-S", ".", "-B", "build", "-DLIBDIVIDE_BUILD_TESTS=OFF", *std_cmake_args + system "cmake", "--install", "build" + end + + test do + (testpath/"libdivide-test.c").write <<~C + #include "libdivide.h" + #include + + int sum_of_quotients(const int *numbers, size_t count, int d) { + int result = 0; + struct libdivide_s32_t fast_d = libdivide_s32_gen(d); + for (size_t i = 0; i < count; i++) + result += libdivide_s32_do(numbers[i], &fast_d); + return result; + } + + int main(void) { + const int numbers[] = {2, 4, 6, 8, 10}; + size_t count = sizeof(numbers) / sizeof(int); + int d = 2; + int result = sum_of_quotients(numbers, count, d); + assert(result == 15); + return 0; + } + C + + macro_suffix = Hardware::CPU.arm? ? "NEON" : "SSE2" + ENV.append_to_cflags "-I#{include} -DLIBDIVIDE_#{macro_suffix}" + + system "make", "libdivide-test" + system "./libdivide-test" + end +end diff --git a/Formula/m/macime.rb b/Formula/m/macime.rb deleted file mode 100644 index 5e43d1f48d..0000000000 --- a/Formula/m/macime.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Macime < Formula - desc "Blazingly fast IME switcher for macOS" - homepage "https://github.com/riodelphino/macime" - url "https://github.com/riodelphino/macime/archive/refs/tags/v4.4.2.tar.gz" - sha256 "f9257fe9ac84a9650533645290f99e3d7e7d928de9a88afa280037e779f84794" - license "MIT" - head "https://github.com/riodelphino/macime.git", branch: "4.x" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5eeaa20e11534ed122147ab3da966ea5405a7ce3bcb16394cfb781cb66a13695" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "73e3db362ce0e911cb13aae8583ea1ab246725aec5d3fbaa48b417855f16efd6" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fdf36779135b2770f5258f211ee92fa98c3b44f3f95f2796d1460f336a15ddec" - sha256 cellar: :any_skip_relocation, sequoia: "dd3d63f524848aa07999e91eaf51250b228af768e5011e5ba837e0ca01d5c0da" - end - - depends_on :macos - - def install - system "swift", "build", "--disable-sandbox", "-c", "release" - bin.install ".build/release/macime", ".build/release/macimed" - end - - service do - run [opt_bin/"macimed"] - keep_alive true - end - - test do - assert_match version.to_s, shell_output("#{bin}/macime --version") - assert_match version.to_s, shell_output("#{bin}/macimed --version") - assert_match "Invalid log level", shell_output("#{bin}/macimed --log-level nope 2>&1", 1) - end -end diff --git a/Formula/m/mail-deduplicate.rb b/Formula/m/mail-deduplicate.rb new file mode 100644 index 0000000000..39ee69c5ef --- /dev/null +++ b/Formula/m/mail-deduplicate.rb @@ -0,0 +1,162 @@ +class MailDeduplicate < Formula + include Language::Python::Virtualenv + + desc "CLI to deduplicate mails from mail boxes" + homepage "https://kdeldycke.github.io/mail-deduplicate/" + url "https://files.pythonhosted.org/packages/47/ea/693d0357055dbacef0838419646819cb69eada05ea502088cc34e91175ae/mail_deduplicate-7.6.2.tar.gz" + sha256 "20368c6e048be51368eeaf73ba2cccaa3396009e77c8766d2f137dd6e1d2a48f" + license "GPL-2.0-or-later" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "481cf3c7ea2ff996e57a21c253e38ad54bc569de82b9828f9e78e35d104f1fc7" + sha256 cellar: :any, arm64_sonoma: "9aafab550d476332954ae8742df4714b9f59f5ab1f0c3a7f73a77bf974eb402a" + sha256 cellar: :any, ventura: "6b55f355e63e280e1fe68493338f329c5009eb7437986589c70500b1532bc680" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e11f2c23aa8b473a621b755d4c9e9db7433766b1e7d4a7c9a8164f40fbe6388b" + end + + depends_on "certifi" + depends_on "libyaml" + depends_on "python@3.13" + + resource "arrow" do + url "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz" + sha256 "d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85" + end + + resource "boltons" do + url "https://files.pythonhosted.org/packages/63/54/71a94d8e02da9a865587fb3fff100cb0fc7aa9f4d5ed9ed3a591216ddcc7/boltons-25.0.0.tar.gz" + sha256 "e110fbdc30b7b9868cb604e3f71d4722dd8f4dcb4a5ddd06028ba8f1ab0b5ace" + end + + resource "bracex" do + url "https://files.pythonhosted.org/packages/d6/6c/57418c4404cd22fe6275b8301ca2b46a8cdaa8157938017a9ae0b3edf363/bracex-2.5.post1.tar.gz" + sha256 "12c50952415bfa773d2d9ccb8e79651b8cdb1f31a42f6091b804f6ba2b4a66b6" + end + + resource "certifi" do + url "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz" + sha256 "3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651" + end + + resource "charset-normalizer" do + url "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz" + sha256 "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3" + end + + resource "click" do + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" + end + + resource "click-extra" do + url "https://files.pythonhosted.org/packages/a8/21/f9dbd25024266effdfee7dc608b0b76ea757184a07de5e96b347c1ed2439/click_extra-4.15.0.tar.gz" + sha256 "20184fdb1791853cf5b68ab9f43c01cffd05f0d37c0295676bb4e0f20aee25fc" + end + + resource "cloup" do + url "https://files.pythonhosted.org/packages/86/c9/3c621e0b7898403556e807244104095df1132a6094384f80c272bba4e4e4/cloup-3.0.7.tar.gz" + sha256 "c852e0a0541aa433c6ab31a9b8b503f63d9881e91ddaf0384d6927965f2b421c" + end + + resource "distro" do + url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" + sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" + end + + resource "extra-platforms" do + url "https://files.pythonhosted.org/packages/3b/79/47d9a71e0f97172c5c4b63c3aae66af4cc8e2b4a81473c840b1aa6e18da5/extra_platforms-3.1.0.tar.gz" + sha256 "60b6da2d0976aae1f88e6176516d46a5230861b24b5d20c14d1dee788c801690" + end + + resource "idna" do + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" + end + + resource "mergedeep" do + url "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz" + sha256 "0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8" + end + + resource "python-dateutil" do + url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" + sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" + end + + resource "pyyaml" do + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" + end + + resource "requests" do + url "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz" + sha256 "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760" + end + + resource "six" do + url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" + sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" + end + + resource "tabulate" do + url "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz" + sha256 "0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c" + end + + resource "types-python-dateutil" do + url "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz" + sha256 "18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb" + end + + resource "urllib3" do + url "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz" + sha256 "414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466" + end + + resource "wcmatch" do + url "https://files.pythonhosted.org/packages/41/ab/b3a52228538ccb983653c446c1656eddf1d5303b9cb8b9aef6a91299f862/wcmatch-10.0.tar.gz" + sha256 "e72f0de09bba6a04e0de70937b0cf06e55f36f37b3deb422dfaf854b867b840a" + end + + resource "wcwidth" do + url "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz" + sha256 "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" + end + + resource "xmltodict" do + url "https://files.pythonhosted.org/packages/50/05/51dcca9a9bf5e1bce52582683ce50980bcadbc4fa5143b9f2b19ab99958f/xmltodict-0.14.2.tar.gz" + sha256 "201e7c28bb210e374999d1dde6382923ab0ed1a8a5faeece48ab525b7810a553" + end + + def install + virtualenv_install_with_resources + + generate_completions_from_executable(bin/"mdedup", shells: [:fish, :zsh], shell_parameter_format: :click) + end + + test do + assert_match version.to_s, shell_output("#{bin}/mdedup --version") + + (testpath/"test_mail1.eml").write <<~EOS + From: sender1@example.com + To: recipient@example.com + Subject: Test Email 1 + + This is a test email 1. + EOS + + (testpath/"test_mail2.eml").write <<~EOS + From: sender2@example.com + To: recipient@example.com + Subject: Test Email 2 + + This is a test email 2. + EOS + + # Run mail-deduplicate to check functionality + output = shell_output("#{bin}/mdedup --dry-run " \ + "--export=#{testpath}/deduped_mail.mbox test_mail1.eml test_mail2.eml 2>&1") + assert_match "No mail selected to perform action on", output + end +end diff --git a/Formula/m/mamediff.rb b/Formula/m/mamediff.rb index 3f5f8a8562..90acf98b0b 100644 --- a/Formula/m/mamediff.rb +++ b/Formula/m/mamediff.rb @@ -1,18 +1,17 @@ class Mamediff < Formula desc "TUI editor for managing unstaged and staged Git diffs" homepage "https://github.com/sile/mamediff" - url "https://github.com/sile/mamediff/archive/refs/tags/v0.5.1.tar.gz" - sha256 "9ec2412b6d472b9f122218a2f82c1a098f9b484c4970e69dfd3e71e92ea4eb0c" + url "https://github.com/sile/mamediff/archive/refs/tags/v0.5.0.tar.gz" + sha256 "32fa4d3f914464261143da3a61859af586348cef2476128da7a4bdbafbcdee64" license "MIT" head "https://github.com/sile/mamediff.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9e3fa2109bc6dcdc89d181ca050cb1a6dcdf18f4158711266bfead395abf848c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a650fa41a1b7618e78a8d9c96777593d2fd843bbe77346ed839d550ff89b802e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "371adab6dd6e313cb9cdee84d35c1389c38fd55bc8480bf76c39ae38a8e85e8a" - sha256 cellar: :any_skip_relocation, arm64_linux: "3e037faaf78360d5e87dc9c99bd052fc15f55eddeee80a1160f6f641644b5350" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ea55f9a5bee6bc08fc28eef1b428d2af5033e7a5eb4d4f10fc845b5bfae4e86b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "6b2155de77fbc581b9b4f4f51bf10d324ba52cbaf24da35cc313066ddf77e875" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f8755b150091d1684b270e2b3a41c4a680b863006835304e40baef0d32edec2b" + sha256 cellar: :any_skip_relocation, ventura: "0e325cac0c327a10a4bc7857dcece70474b1e6365f2fdbf91270ffb80aa55b89" + sha256 cellar: :any_skip_relocation, x86_64_linux: "3adbeabbeaf31113a9f9ba7343cab33dc1575734efbd99863f2b671e44457693" end depends_on "rust" => :build diff --git a/Formula/m/marchat.rb b/Formula/m/marchat.rb index 6123618f11..af6745770f 100644 --- a/Formula/m/marchat.rb +++ b/Formula/m/marchat.rb @@ -1,17 +1,16 @@ class Marchat < Formula desc "Terminal chat with WebSockets, E2E encryption, plugins, and file sharing" homepage "https://github.com/Cod-e-Codes/marchat" - url "https://github.com/Cod-e-Codes/marchat/archive/refs/tags/v1.0.0.tar.gz" - sha256 "fcd8439949a4671c6f452f1e90fc3b02e0dc61ebd9794a46fe6531f0166f8018" + url "https://github.com/Cod-e-Codes/marchat/archive/refs/tags/v0.6.0-beta.3.tar.gz" + sha256 "37741caa85abdffe83d8f4097099394777b1ee5ee2c915b5e641c2cb915539f8" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "30b91041fd360463bf7769a39fe80e2d48b5ec80a8a5610976c69f2eb538d937" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "30b91041fd360463bf7769a39fe80e2d48b5ec80a8a5610976c69f2eb538d937" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "30b91041fd360463bf7769a39fe80e2d48b5ec80a8a5610976c69f2eb538d937" - sha256 cellar: :any_skip_relocation, arm64_linux: "f59bed8001016e879b11a6ba66e5be3ad224a81c2379587b96449d5f05cbc85a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c6ca06e57aa89cd19176b0ded17fef368cc51aebf7cb58d9b42cfd245d4ca011" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "db6cb7d96085408f47f9db29deb5fbb7463487cf5cbfa5941b9218b657b6dc03" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "eaba7d98e2658cfeeb79275d0ad1716355f2a38b0e162dcbdf53520de1cf3de4" + sha256 cellar: :any_skip_relocation, ventura: "885470a2bb885a05222aadfe7f26f10b2dbbc41c9cd1c76085dd05aeda9fb5c2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "99d7df95e8a52e6ff6c6288a74b4c3cf48668ab2353e7b7b8edf7e803f79d44f" end depends_on "go" => :build @@ -35,7 +34,7 @@ def install pid = spawn bin/"marchat", testpath, [:out, :err] => output_log.to_s sleep 1 assert_match version.to_s, output_log.read - assert_match "TLS: Disabled", output_log.read + assert_match "Starting server without TLS on :8080", output_log.read ensure Process.kill("TERM", pid) Process.wait(pid) diff --git a/Formula/m/markdownify.rb b/Formula/m/markdownify.rb deleted file mode 100644 index e3593741f1..0000000000 --- a/Formula/m/markdownify.rb +++ /dev/null @@ -1,66 +0,0 @@ -class Markdownify < Formula - include Language::Python::Virtualenv - - desc "Convert HTML to Markdown" - homepage "https://github.com/matthewwithanm/python-markdownify" - url "https://files.pythonhosted.org/packages/3f/bc/c8c8eea5335341306b0fa7e1cb33c5e1c8d24ef70ddd684da65f41c49c92/markdownify-1.2.2.tar.gz" - sha256 "b274f1b5943180b031b699b199cbaeb1e2ac938b75851849a31fd0c3d6603d09" - license "MIT" - head "https://github.com/matthewwithanm/python-markdownify.git", branch: "develop" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "fe6c488f7bb77c01976c156d83f5ac5d1a1a4319634ff64d1950a03e1c4f3047" - end - - depends_on "python@3.14" - - resource "beautifulsoup4" do - url "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz" - sha256 "6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "soupsieve" do - url "https://files.pythonhosted.org/packages/89/23/adf3796d740536d63a6fbda113d07e60c734b6ed5d3058d1e47fc0495e47/soupsieve-2.8.1.tar.gz" - sha256 "4cf733bc50fa805f5df4b8ef4740fc0e0fa6218cf3006269afd3f9d6d80fd350" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - def install - virtualenv_install_with_resources - end - - test do - (testpath/"test.html").write <<~HTML - - Test Page - -

Hello, World!

-

This is a test page.

- - - HTML - - expected_markdown = <<~MARKDOWN - Test Page - - - Hello, World! - ============= - - This is a **test** page. - MARKDOWN - - output = shell_output("#{bin}/markdownify #{testpath}/test.html") - assert_equal expected_markdown, output - end -end diff --git a/Formula/m/matcha.rb b/Formula/m/matcha.rb index 110f42d41c..86765409c2 100644 --- a/Formula/m/matcha.rb +++ b/Formula/m/matcha.rb @@ -1,18 +1,17 @@ class Matcha < Formula - desc "Terminal email client built with Bubble Tea" - homepage "https://matcha.floatpane.com/" - url "https://github.com/floatpane/matcha/archive/refs/tags/v0.17.0.tar.gz" - sha256 "8b20f7c92e48c5a5c5c8a5e4dbd8baa5152820124382f0547d583afe294b8fe9" + desc "Daily Digest Reader" + homepage "https://github.com/piqoni/matcha" + url "https://github.com/piqoni/matcha/archive/refs/tags/v0.7.1.tar.gz" + sha256 "a24de22ba5614be70563a8eeda579f16479af7f809373fe15b0eb869e1c174db" license "MIT" - head "https://github.com/floatpane/matcha.git", branch: "master" + head "https://github.com/piqoni/matcha.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "dbce59ec5a13033966dcf1002f86d2bdea7bac2f638997a93e4141cb57d5afd1" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "dbce59ec5a13033966dcf1002f86d2bdea7bac2f638997a93e4141cb57d5afd1" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "dbce59ec5a13033966dcf1002f86d2bdea7bac2f638997a93e4141cb57d5afd1" - sha256 cellar: :any_skip_relocation, arm64_linux: "208aaaadea149986e290fe1f749ce566adc09bad8a6bf002f0eb2e24fe285817" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f09bf1df69dfc4312133ac920807682cc875e6e79155ed80b3c118abb1ef30e6" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "b3f4bede60b719c3787c1bf4aea90d429e8fb91d95f4c533eac588673ca7eb18" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c47adf5a2174ce60efb686952a6608f645e51e95803883409f77ae6ca30771d2" + sha256 cellar: :any_skip_relocation, ventura: "c7cef9206053bf4726fd17105b1e316cd298bfd1fb40c7aadb9043b490864957" + sha256 cellar: :any_skip_relocation, x86_64_linux: "21b9db48ee8d8a22f68a82626c2ac9fcc758dfee23b4bfab17daa1331ba7bb4a" end depends_on "go" => :build @@ -22,18 +21,7 @@ def install end test do - output_file = testpath/"matcha-test.log" - pid = fork do - Process.setsid - $stdin.reopen(File::NULL) - $stdout.reopen(output_file, "w") - $stderr.reopen(output_file, "a") - exec bin/"matcha" - end - Process.wait(pid) - - output = output_file.read - assert_match "Alas, there's been an error", output - assert_match "/dev/tty", output + system bin/"matcha" + assert_match "markdown_dir_path", (testpath/"config.yaml").read end end diff --git a/Formula/m/mcdu.rb b/Formula/m/mcdu.rb deleted file mode 100644 index c88f878df1..0000000000 --- a/Formula/m/mcdu.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Mcdu < Formula - desc "Modern disk usage analyzer and developer cleanup tool" - homepage "https://github.com/mikalv/mcdu" - url "https://github.com/mikalv/mcdu/archive/refs/tags/v0.5.0.tar.gz" - sha256 "d6c9ccdee5840ab23191a733f7575449760cfcc668d94961e641c1c042796e92" - license "MIT" - head "https://github.com/mikalv/mcdu.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3d1e4dd05ffd8e5901017fcc262457af04ec9734bbbee74849213829672aa38b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fe7598ba2b9e93e5bcac2355fa717c3d2e462e0faabde205e5c93020babdbbae" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4bc9bbe133ea4e1c6b489de5e495e609a56a8702948451ebd2d7d5cd46135d88" - sha256 cellar: :any_skip_relocation, arm64_linux: "2fc87d6655b0d8d53e487842ad9cc14bd5ee6c644b190a5f639fd73df52a9cb4" - sha256 cellar: :any_skip_relocation, x86_64_linux: "84eecabef1e31f505b5f6b3d9dc9dd4179141887b57bd0b9fe9e1ed2312ea473" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: "crates/mcdu") - end - - test do - assert_match version.to_s, shell_output("#{bin}/mcdu --version") - output = shell_output("#{bin}/mcdu #{testpath}/missing 2>&1", 1) - assert_match "Path does not exist", output - end -end diff --git a/Formula/m/mcp-alchemy.rb b/Formula/m/mcp-alchemy.rb index 29f6bde119..abbcca43e0 100644 --- a/Formula/m/mcp-alchemy.rb +++ b/Formula/m/mcp-alchemy.rb @@ -6,39 +6,37 @@ class McpAlchemy < Formula url "https://files.pythonhosted.org/packages/7e/6f/de1d71b68798a4ceccd397818510e475eed427f4d6d0833bd58ee22e5b37/mcp_alchemy-2025.8.15.91819.tar.gz" sha256 "13632a2eb8dfd62453c7ef1f9d8aded6b7ef9c1478d447cc1192dd9cbc2460e4" license "MPL-2.0" - head "https://github.com/runekaagaard/mcp-alchemy.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0d2513cba9857d346e059752561c1c0318b45018b3dd91c2225afe9c8084afa7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a75b35ba735a5710f539e6d940241d1249798e42e1ff3f902c6259caca0d3306" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "996e918993439086b0806e69a26e71e1f148eee6b912a19fce8137a76f52a9b4" - sha256 cellar: :any_skip_relocation, arm64_linux: "f76deb4cb8f3c6b6c05f72200585aaacfbd8ec8c53fbd05c215632284e26fdae" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fa0bef61add52c7e8378e9d4f26dcbfae49edaf58dadea6ce669efba68ec8821" + sha256 cellar: :any, arm64_sequoia: "2922f62219639c9f6e917450046bbf5774adb519c981fbc90a3bfb37538380eb" + sha256 cellar: :any, arm64_sonoma: "47ee1b68fef29aa1324b4c675f1237c213477baf7997a701c6914d2632fec183" + sha256 cellar: :any, ventura: "f528392b6c3cb1bb1a332fb4e4188de09e185a0e3008bd06146ec7d9a8438175" + sha256 cellar: :any_skip_relocation, x86_64_linux: "eac23eddb541b44813f3e47ccd9dc709c92e35be1a040c9ea5931591ee2648df" end - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage + depends_on "rust" => :build # for pydantic + depends_on "certifi" + depends_on "python@3.13" - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py] + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "h11" do @@ -57,13 +55,13 @@ class McpAlchemy < Formula end resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jsonschema" do @@ -72,8 +70,8 @@ class McpAlchemy < Formula end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end resource "markdown-it-py" do @@ -82,8 +80,8 @@ class McpAlchemy < Formula end resource "mcp" do - url "https://files.pythonhosted.org/packages/a3/a2/c5ec0ab38b35ade2ae49a90fada718fbc76811dc5aa1760414c6aaa6b08a/mcp-1.22.0.tar.gz" - sha256 "769b9ac90ed42134375b19e777a2858ca300f95f2e800982b3e2be62dfc0ba01" + url "https://files.pythonhosted.org/packages/66/3c/82c400c2d50afdac4fbefb5b4031fd327e2ad1f23ccef8eee13c5909aa48/mcp-1.13.1.tar.gz" + sha256 "165306a8fd7991dc80334edd2de07798175a56461043b7ae907b279794a834c5" end resource "mdurl" do @@ -91,9 +89,19 @@ class McpAlchemy < Formula sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" end + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" + end + resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/43/4b/ac7e0aae12027748076d72a8764ff1c9d82ca75a7a52622e67ed3f765c54/pydantic_settings-2.12.0.tar.gz" - sha256 "005538ef951e3c2a68e1c08b292b5f2e71490def8589d4221b95dab00dafcfd0" + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" end resource "pygments" do @@ -101,14 +109,9 @@ class McpAlchemy < Formula sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" end - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz" - sha256 "3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953" - end - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "python-multipart" do @@ -117,13 +120,18 @@ class McpAlchemy < Formula end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" end resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" + url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" + sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" + end + + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/1e/d9/991a0dee12d9fc53ed027e26a26a64b151d77252ac477e22666b9688bc16/rpds_py-0.27.0.tar.gz" + sha256 "8b23cf252f180cda89220b378d917180f29d313cd6a07b2431c0d3b776aae86f" end resource "shellingham" do @@ -137,28 +145,38 @@ class McpAlchemy < Formula end resource "sqlalchemy" do - url "https://files.pythonhosted.org/packages/f0/f2/840d7b9496825333f532d2e3976b8eadbf52034178aac53630d09fe6e1ef/sqlalchemy-2.0.44.tar.gz" - sha256 "0ae7454e1ab1d780aee69fd2aae7d6b8670a581d8847f2d1e0f7ddfbf47e5a22" + url "https://files.pythonhosted.org/packages/d7/bc/d59b5d97d27229b0e009bd9098cd81af71c2fa5549c580a0a67b9bed0496/sqlalchemy-2.0.43.tar.gz" + sha256 "788bfcef6787a7764169cfe9859fe425bf44559619e1d9f56f5bddf2ebf6f417" end resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/db/3c/fa6517610dc641262b77cc7bf994ecd17465812c1b0585fe33e11be758ab/sse_starlette-3.0.3.tar.gz" - sha256 "88cfb08747e16200ea990c8ca876b03910a23b547ab3bd764c0d8eb81019b971" + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" end resource "starlette" do - url "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz" - sha256 "a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca" + url "https://files.pythonhosted.org/packages/15/b9/cc3017f9a9c9b6e27c5106cc10cc7904653c3eec0729793aec10479dd669/starlette-0.47.3.tar.gz" + sha256 "6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9" end resource "typer" do - url "https://files.pythonhosted.org/packages/8f/28/7c85c8032b91dbe79725b6f17d2fffc595dff06a35c7a30a37bef73a1ab4/typer-0.20.0.tar.gz" - sha256 "1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37" + url "https://files.pythonhosted.org/packages/43/78/d90f616bf5f88f8710ad067c1f8705bf7618059836ca084e5bb2a0855d75/typer-0.16.1.tar.gz" + sha256 "d358c65a464a7a90f338e3bb7ff0c74ac081449e53884b12ba658cbd72990614" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/cb/ce/f06b84e2697fef4688ca63bdb2fdf113ca0a3be33f94488f2cadb690b0cf/uvicorn-0.38.0.tar.gz" - sha256 "fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end def install diff --git a/Formula/m/mcp-gsuite.rb b/Formula/m/mcp-gsuite.rb deleted file mode 100644 index 33e7d443ce..0000000000 --- a/Formula/m/mcp-gsuite.rb +++ /dev/null @@ -1,271 +0,0 @@ -class McpGsuite < Formula - include Language::Python::Virtualenv - - desc "MCP Server to interact with Google GSuite services" - homepage "https://github.com/MarkusPfundstein/mcp-gsuite" - url "https://files.pythonhosted.org/packages/0d/c5/d06a7ce35acab0aadc1492c43d3f545d04a7cff9771a54097167e8f97eaa/mcp_gsuite-0.4.1.tar.gz" - sha256 "9cd14f316de78cf49d604321119871aa8097f82ea652ea258a16a1587f90032f" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "b64ea2fe7e15f00ba1a55a595e1b3054cf180467ca50ae86f4b47aa1612b9280" - sha256 cellar: :any, arm64_sequoia: "008419d43ca48dbc0f6b76928caa10c842209640f62800b1b2b0980954f24734" - sha256 cellar: :any, arm64_sonoma: "8ee9343f3c890d0ab09de596feada6ec29701787af6169faa8e73964279b8861" - sha256 cellar: :any_skip_relocation, arm64_linux: "28ab7f58cdd350e28f9576a6c3a64de74dcef118d9fcece34699f3ae9decc81e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ce7e4b2564077cb874655703efe825376ab9b2a8c96b22582a5bde40a83d76d5" - end - - depends_on "rust" => :build # for rpds-py - depends_on "certifi" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.13" - - pypi_packages exclude_packages: %w[certifi pydantic pydantic-core] - - resource "annotated-types" do - url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" - sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" - sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" - end - - resource "beautifulsoup4" do - url "https://files.pythonhosted.org/packages/77/e9/df2358efd7659577435e2177bfa69cba6c33216681af51a707193dec162a/beautifulsoup4-4.14.2.tar.gz" - sha256 "2a98ab9f944a11acee9cc848508ec28d9228abfd522ef0fad6a02a72e0ded69e" - end - - resource "cachetools" do - url "https://files.pythonhosted.org/packages/9d/61/e4fad8155db4a04bfb4734c7c8ff0882f078f24294d42798b3568eb63bff/cachetools-6.2.0.tar.gz" - sha256 "38b328c0889450f05f5e120f56ab68c8abaf424e1275522b138ffc93253f7e32" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" - sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" - end - - resource "google-api-core" do - url "https://files.pythonhosted.org/packages/09/cd/63f1557235c2440fe0577acdbc32577c5c002684c58c7f4d770a92366a24/google_api_core-2.25.2.tar.gz" - sha256 "1c63aa6af0d0d5e37966f157a77f9396d820fba59f9e43e9415bc3dc5baff300" - end - - resource "google-api-python-client" do - url "https://files.pythonhosted.org/packages/7c/30/8b3a626ccf84ca43da62d77e2d40d70bedc6387951cc5104011cddce34e0/google_api_python_client-2.184.0.tar.gz" - sha256 "ef2a3330ad058cdfc8a558d199c051c3356f6ed012436c3ad3d08b67891b039f" - end - - resource "google-auth" do - url "https://files.pythonhosted.org/packages/a8/af/5129ce5b2f9688d2fa49b463e544972a7c82b0fdb50980dafee92e121d9f/google_auth-2.41.1.tar.gz" - sha256 "b76b7b1f9e61f0cb7e88870d14f6a94aeef248959ef6992670efee37709cbfd2" - end - - resource "google-auth-httplib2" do - url "https://files.pythonhosted.org/packages/56/be/217a598a818567b28e859ff087f347475c807a5649296fb5a817c58dacef/google-auth-httplib2-0.2.0.tar.gz" - sha256 "38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05" - end - - resource "googleapis-common-protos" do - url "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz" - sha256 "0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httplib2" do - url "https://files.pythonhosted.org/packages/52/77/6653db69c1f7ecfe5e3f9726fdadc981794656fcd7d98c4209fecfea9993/httplib2-0.31.0.tar.gz" - sha256 "ac7ab497c50975147d4f7b1ade44becc7df2f8954d42b38b3d69c515f531135c" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" - sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" - sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" - sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "mcp" do - url "https://files.pythonhosted.org/packages/3d/a1/b1f328da3b153683d2ec34f849b4b6eac2790fb240e3aef06ff2fab3df9d/mcp-1.16.0.tar.gz" - sha256 "39b8ca25460c578ee2cdad33feeea122694cfdf73eef58bee76c42f6ef0589df" - end - - resource "oauth2client" do - url "https://files.pythonhosted.org/packages/a6/7b/17244b1083e8e604bf154cf9b716aecd6388acd656dd01893d0d244c94d9/oauth2client-4.1.3.tar.gz" - sha256 "d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6" - end - - resource "proto-plus" do - url "https://files.pythonhosted.org/packages/f4/ac/87285f15f7cce6d4a008f33f1757fb5a13611ea8914eb58c3d0d26243468/proto_plus-1.26.1.tar.gz" - sha256 "21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012" - end - - resource "protobuf" do - url "https://files.pythonhosted.org/packages/fa/a4/cc17347aa2897568beece2e674674359f911d6fe21b0b8d6268cd42727ac/protobuf-6.32.1.tar.gz" - sha256 "ee2469e4a021474ab9baafea6cd070e5bf27c7d29433504ddea1a4ee5850f68d" - end - - resource "pyasn1" do - url "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz" - sha256 "6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034" - end - - resource "pyasn1-modules" do - url "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz" - sha256 "677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz" - sha256 "d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180" - end - - resource "pyparsing" do - url "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz" - sha256 "2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" - sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz" - sha256 "8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13" - end - - resource "pytz" do - url "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz" - sha256 "360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" - sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rpds-py" do - url "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz" - sha256 "26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8" - end - - resource "rsa" do - url "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz" - sha256 "e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "soupsieve" do - url "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz" - sha256 "e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f" - end - - resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" - sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/a7/a5/d6f429d43394057b67a6b5bbe6eae2f77a6bf7459d961fdb224bf206eee6/starlette-0.48.0.tar.gz" - sha256 "7e8cee469a8ab2352911528110ce9088fdc6a37d9876926e73da7ce4aa4c7a46" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "typing-inspection" do - url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" - sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" - end - - resource "uritemplate" do - url "https://files.pythonhosted.org/packages/98/60/f174043244c5306c9988380d2cb10009f91563fc4b31293d27e17201af56/uritemplate-4.2.0.tar.gz" - sha256 "480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/71/57/1616c8274c3442d802621abf5deb230771c7a0fec9414cb6763900eb3868/uvicorn-0.37.0.tar.gz" - sha256 "4115c8add6d3fd536c8ee77f0e14a7fd2ebba939fed9b02583a97f80648f9e13" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match "--gauth-file", shell_output("#{bin}/mcp-gsuite --help") - - (testpath/"accounts.json").write <<~JSON - {"accounts":[{"email":"test@example.com","account_type":"gmail","extra_info":"homebrew test"}]} - JSON - - system libexec/"bin/python", "-c", <<~PY - import sys - sys.argv = ["mcp-gsuite", "--accounts-file", "accounts.json"] - from mcp_gsuite import gauth - accounts = gauth.get_account_info() - assert accounts[0].email == "test@example.com" - assert "homebrew test" in accounts[0].to_description() - PY - end -end diff --git a/Formula/m/mcp-manager.rb b/Formula/m/mcp-manager.rb deleted file mode 100644 index 76da7765ab..0000000000 --- a/Formula/m/mcp-manager.rb +++ /dev/null @@ -1,81 +0,0 @@ -class McpManager < Formula - include Language::Python::Virtualenv - - desc "Manage Model Context Protocol servers across local clients" - homepage "https://github.com/nstebbins/mcp-manager" - url "https://github.com/nstebbins/mcp-manager/archive/refs/tags/v0.2.8.tar.gz" - sha256 "9fa1ac9184148d9eef1364bb48220c4ece912442d9ffa68c6266fd18b9691c80" - license "GPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "e1441722a7414475dafb7c1bba410dd3792ae11c8eef67749d3bea3a47496602" - end - - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: "pydantic" - - resource "click" do - url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" - sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz" - sha256 "439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "tabulate" do - url "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz" - sha256 "0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/6c/89/c527e6c848739be8ceb5c44eb8208c52ea3515c6cf6406aa61932887bf58/typer-0.15.4.tar.gz" - sha256 "89507b104f9b6a0730354f27c39fae5b63ccd0c95b1ce1f1a6ba0cfd329997c3" - end - - def install - virtualenv_install_with_resources - end - - test do - claude_config = Pathname.new(Dir.home)/"Library/Application Support/Claude/claude_desktop_config.json" - claude_config.dirname.mkpath - claude_config.write <<~JSON - {"mcpServers": {}} - JSON - - output = shell_output("#{bin}/mcp-manager config path") - normalized_output = output.gsub(/\s+/, " ") - assert_match "Current claude-desktop config path:", output - assert_match claude_config.to_s.gsub(/\s+/, " "), normalized_output - assert_match "Config exists: True", output - - assert_match "memory", shell_output("#{bin}/mcp-manager search memory") - assert_match "filesystem", shell_output("#{bin}/mcp-manager info filesystem") - assert_match "No MCP servers are currently installed", shell_output("#{bin}/mcp-manager list") - end -end diff --git a/Formula/m/mcp-obsidian.rb b/Formula/m/mcp-obsidian.rb index bf01d0c742..c8a96e8fbe 100644 --- a/Formula/m/mcp-obsidian.rb +++ b/Formula/m/mcp-obsidian.rb @@ -1,45 +1,47 @@ class McpObsidian < Formula include Language::Python::Virtualenv - desc "MCP server for interacting with Obsidian via its REST API plugin" - homepage "https://github.com/MarkusPfundstein/mcp-obsidian" + desc "CLI for MCP clients with secure execution and customizable security policies" + homepage "https://github.com/mladensu/cli-mcp-server" url "https://files.pythonhosted.org/packages/61/29/b97c3c8d9ca60ab13b960d53ed152bfe99024e62a71cda36a9adc6b15097/mcp_obsidian-0.2.2.tar.gz" sha256 "1a0e8240056fcc3b10e90ab76267bc29a7191048cbaaaeb9eb941aa617ec3cda" license "MIT" - head "https://github.com/MarkusPfundstein/mcp-obsidian.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, all: "5c9c2ddfa66b90a15a87ae6f2cf18c2cd8307437aa4465ba8a581e8460843f30" + sha256 cellar: :any, arm64_sequoia: "87ceb893b094f228bb68302a8e1d10e1e9772a801a34936a58ee34c633fd3e79" + sha256 cellar: :any, arm64_sonoma: "253358636c151e87c010130edde483a3f4f41cc001b15abd7e3d33ad421f3c21" + sha256 cellar: :any, ventura: "f9746cd91a7cda693362fcb308e9b193538187c40674defc72e93eb437b84d8f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f1f463d5f2a9f261a20a2226704aa1228aa7df677f1564406ca86a0d9c6d8c8b" end - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage + depends_on "rust" => :build # for pydantic + depends_on "certifi" + depends_on "python@3.13" - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py] + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "h11" do @@ -58,13 +60,13 @@ class McpObsidian < Formula end resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jsonschema" do @@ -73,28 +75,33 @@ class McpObsidian < Formula end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end resource "mcp" do - url "https://files.pythonhosted.org/packages/a3/a2/c5ec0ab38b35ade2ae49a90fada718fbc76811dc5aa1760414c6aaa6b08a/mcp-1.22.0.tar.gz" - sha256 "769b9ac90ed42134375b19e777a2858ca300f95f2e800982b3e2be62dfc0ba01" + url "https://files.pythonhosted.org/packages/66/3c/82c400c2d50afdac4fbefb5b4031fd327e2ad1f23ccef8eee13c5909aa48/mcp-1.13.1.tar.gz" + sha256 "165306a8fd7991dc80334edd2de07798175a56461043b7ae907b279794a834c5" end - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/43/4b/ac7e0aae12027748076d72a8764ff1c9d82ca75a7a52622e67ed3f765c54/pydantic_settings-2.12.0.tar.gz" - sha256 "005538ef951e3c2a68e1c08b292b5f2e71490def8589d4221b95dab00dafcfd0" + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz" - sha256 "3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953" + resource "pydantic-settings" do + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "python-multipart" do @@ -103,8 +110,8 @@ class McpObsidian < Formula end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" end resource "requests" do @@ -112,19 +119,34 @@ class McpObsidian < Formula sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" end + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/1e/d9/991a0dee12d9fc53ed027e26a26a64b151d77252ac477e22666b9688bc16/rpds_py-0.27.0.tar.gz" + sha256 "8b23cf252f180cda89220b378d917180f29d313cd6a07b2431c0d3b776aae86f" + end + resource "sniffio" do url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" end resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/db/3c/fa6517610dc641262b77cc7bf994ecd17465812c1b0585fe33e11be758ab/sse_starlette-3.0.3.tar.gz" - sha256 "88cfb08747e16200ea990c8ca876b03910a23b547ab3bd764c0d8eb81019b971" + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" end resource "starlette" do - url "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz" - sha256 "a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca" + url "https://files.pythonhosted.org/packages/15/b9/cc3017f9a9c9b6e27c5106cc10cc7904653c3eec0729793aec10479dd669/starlette-0.47.3.tar.gz" + sha256 "6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" end resource "urllib3" do @@ -133,8 +155,8 @@ class McpObsidian < Formula end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/cb/ce/f06b84e2697fef4688ca63bdb2fdf113ca0a3be33f94488f2cadb690b0cf/uvicorn-0.38.0.tar.gz" - sha256 "fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end def install diff --git a/Formula/m/mcp-remote.rb b/Formula/m/mcp-remote.rb deleted file mode 100644 index abb3a231ab..0000000000 --- a/Formula/m/mcp-remote.rb +++ /dev/null @@ -1,24 +0,0 @@ -class McpRemote < Formula - desc "Bridge stdio-only MCP clients to remote servers with auth" - homepage "https://github.com/geelen/mcp-remote" - url "https://registry.npmjs.org/mcp-remote/-/mcp-remote-0.1.38.tgz" - sha256 "d8e7034ed4ddf1f1b5efd928b74e7165ab427f7b21ab86ce79bcb82a4d9560aa" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "56a5ad83177ab2bb712a0d3640c5591b17c4f890bb0902f3b0b1daa7cc81180d" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - output = shell_output("#{bin}/mcp-remote https://example.com/v1/sse/stream 2>&1", 1) - assert_match "Streamable HTTP error: Error POSTing to endpoint", output - end -end diff --git a/Formula/m/mcp-server-airbnb.rb b/Formula/m/mcp-server-airbnb.rb deleted file mode 100644 index faebef7310..0000000000 --- a/Formula/m/mcp-server-airbnb.rb +++ /dev/null @@ -1,30 +0,0 @@ -class McpServerAirbnb < Formula - desc "Search Airbnb using your AI Agent" - homepage "https://www.openbnb.org/" - url "https://registry.npmjs.org/@openbnb/mcp-server-airbnb/-/mcp-server-airbnb-0.1.4.tgz" - sha256 "2d1cbfb4ac0c15b942fdcd10e2daa392268eb4f018da936557490de32b878378" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "02042cc629412ca395d1292cfd704acc54201aba0a9515499b1e966e874b4d94" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - json = <<~JSON - {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} - {"jsonrpc":"2.0","id":2,"method":"tools/list"} - JSON - - output = pipe_output("#{bin}/mcp-server-airbnb 2>&1", json, 0) - assert_match version.to_s, output - assert_match "Location to search for (city, state, etc.)", output - end -end diff --git a/Formula/m/mcp-server-chart.rb b/Formula/m/mcp-server-chart.rb new file mode 100644 index 0000000000..40dabebfc9 --- /dev/null +++ b/Formula/m/mcp-server-chart.rb @@ -0,0 +1,32 @@ +class McpServerChart < Formula + desc "MCP with 25+ @antvis charts for visualization, generation, and analysis" + homepage "https://github.com/antvis/mcp-server-chart" + url "https://registry.npmjs.org/@antv/mcp-server-chart/-/mcp-server-chart-0.8.3.tgz" + sha256 "c39dde8ac6244b27ec68fd8d7108b8c9b50ccef3c3e69890b954e3d346aaae6a" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1906fe9a58638e17e07971162f3805ceb121dddd953c0c082fe42763eb534735" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d5c85afa79b7fb848344c2ea80bd5d1fe2003bec360a0682bb6611e69fa4ff9b" + sha256 cellar: :any_skip_relocation, ventura: "a1f0e58500040692b57cdda94e8bcf284b7664d4727a6f56696490d366c007e0" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ba52d602b6d9f9904b267d19f57f7ee875b374385d066017a3b900e58870c2de" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink Dir["#{libexec}/bin/*"] + end + + test do + json = <<~JSON + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} + {"jsonrpc":"2.0","id":2,"method":"tools/list"} + JSON + + output = pipe_output("#{bin}/mcp-server-chart 2>&1", json, 0) + assert_match "Background color of the chart, such as, '#fff'", output + end +end diff --git a/Formula/m/mcp-server-cloudflare.rb b/Formula/m/mcp-server-cloudflare.rb index c6b1f5c1e8..3708a5a2e2 100644 --- a/Formula/m/mcp-server-cloudflare.rb +++ b/Formula/m/mcp-server-cloudflare.rb @@ -17,7 +17,7 @@ class McpServerCloudflare < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/m/mcp-server-tester.rb b/Formula/m/mcp-server-tester.rb index 8440aa7c2d..443132b4ef 100644 --- a/Formula/m/mcp-server-tester.rb +++ b/Formula/m/mcp-server-tester.rb @@ -1,24 +1,23 @@ class McpServerTester < Formula desc "CLI-based tester for verifying that MCP servers" homepage "https://github.com/steviec/mcp-server-tester" - url "https://registry.npmjs.org/mcp-server-tester/-/mcp-server-tester-1.4.1.tgz" - sha256 "5941077555e91ae5cb21dcec7d7cb9b9e03e07bc24f62c7c4384400b1a5d43fb" + url "https://registry.npmjs.org/mcp-server-tester/-/mcp-server-tester-1.4.0.tgz" + sha256 "ac195741b7eccbaeaf23590c401b548024c6beb95bf1c3ccf0d5c1dec1e45786" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "22969bc70ace702a9b5b127a223b2dd4d93fbed6d8e7ef0b2aacd9902a078437" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9dfd0460220b8de30dae5e7801d58232c05f21734f9f6c7ead1d295162cc114e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fd95711dc97aaec04c7a314ad0c0ec8ac1ccdfbdcedb99918e29163f58161897" - sha256 cellar: :any_skip_relocation, x86_64_linux: "41edc75d887fc1d1baa1b79a22ac1a2406740b86ff3ebb29d059458d63ff9bc3" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "0c874b459e31beefdda22cabae87a325e1acd5a72a3675a30a64270ea2c6739d" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "fc750f0919d0b5edbb97678d5b74e77ac1f005d0686b4db6cbbbda6425725d5f" + sha256 cellar: :any_skip_relocation, ventura: "76d1d99d4d6676abb5db556a6d891d5e36ec5665253c0ee2f392b1e3d73f0abe" + sha256 cellar: :any_skip_relocation, x86_64_linux: "fc8e633a5aae7dd3320f6d372f1688ce139cdab3eadc719120ba3b6b6aeec2f8" end - depends_on "patch-package" => :build depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/m/mcp-use.rb b/Formula/m/mcp-use.rb deleted file mode 100644 index 74500c4fc2..0000000000 --- a/Formula/m/mcp-use.rb +++ /dev/null @@ -1,83 +0,0 @@ -class McpUse < Formula - desc "CLI for mcp-use" - homepage "https://mcp-use.com/" - url "https://registry.npmjs.org/@mcp-use/cli/-/cli-3.1.0.tgz" - sha256 "114c07c4bc594e11cbb30cf10de4f34cc92a33c467ba753411751764bbae1571" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "046b9109e8c032fdcde6f86440e4ce3a8f0d69155d4e571162ce9f841b37fcca" - sha256 arm64_sequoia: "976bc3cd9d211e714a1e0b5d9287a5224b2855505a1a768520876a84f5bfa41e" - sha256 arm64_sonoma: "976bc3cd9d211e714a1e0b5d9287a5224b2855505a1a768520876a84f5bfa41e" - sha256 cellar: :any_skip_relocation, arm64_linux: "183034534524966f3f0d9112459ae753f2e369b0297d2b85d935d412f9d145e5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3639625393f1fd317e5eb104cee2479cb6c05291d5ad690136137ddb4ca48e9e" - end - - depends_on "typescript" => :test - depends_on "node" - - def install - system "npm", "install", *std_npm_args - - if OS.linux? - # ext-apps vendors Bun platform packages; keep glibc builds but remove - # musl variants to satisfy linkage checks on Homebrew Linux runners. - libexec.glob("lib/node_modules/**/@oven/bun-linux-*-musl*").each(&:rmtree) - end - - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/mcp-use --version") - - (testpath/"tsconfig.json").write <<~JSON - { - "compilerOptions": { - "target": "ES2020", - "module": "ESNext", - "moduleResolution": "bundler", - "outDir": "./dist", - "rootDir": "./src", - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true - }, - "include": ["src/**/*"], - "exclude": ["node_modules"] - } - JSON - - (testpath/"src/index.ts").write <<~TYPESCRIPT - import { MCPServer } from "mcp-use/server"; - - const server = new MCPServer({ - name: "test-mcp-server", - version: "1.0.0", - }); - - export default server; - TYPESCRIPT - - (testpath/"package.json").write <<~JSON - { - "name": "test-mcp-use", - "version": "1.0.0", - "description": "Test project for mcp-use", - "main": "dist/index.js", - "type": "module", - "devDependencies": { - "mcp-use": "^1.21.2", - "typescript": "^5.0.0" - } - } - JSON - - system "npm", "install", *std_npm_args(prefix: false) - system bin/"mcp-use", "build" - - assert_path_exists testpath/"dist/index.js" - assert_match "test-mcp-server", (testpath/"dist/index.js").read - end -end diff --git a/Formula/m/mcpc.rb b/Formula/m/mcpc.rb deleted file mode 100644 index 911bddd9a1..0000000000 --- a/Formula/m/mcpc.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Mcpc < Formula - desc "Universal CLI client for MCP" - homepage "https://github.com/apify/mcp-cli" - url "https://registry.npmjs.org/@apify/mcpc/-/mcpc-0.2.6.tgz" - sha256 "4a97a72b7094ae0890a6a6409185983e9f3672beea28928e6d23c6b072f39cd6" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "0c37a6c7433f47268781990c6b149f120245065f4e6a0bb730283841cc328ed9" - sha256 cellar: :any, arm64_sequoia: "1f9dc90e6af4d8f511d52152ec9da18f7ce38f4a6d605ae2b28c7df76345fc07" - sha256 cellar: :any, arm64_sonoma: "1f9dc90e6af4d8f511d52152ec9da18f7ce38f4a6d605ae2b28c7df76345fc07" - sha256 cellar: :any_skip_relocation, arm64_linux: "48fee7f7ceb87df73fc365ea2e2488bdb91830209ca8e08776e8184db20734c9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e8cf6b173623672352ceff99b3e3650d57a28021e2a1748209291db8d3f6450a" - end - - depends_on "pkgconf" => :build - depends_on "node" - - on_linux do - depends_on "glib" - depends_on "libsecret" - end - - def install - system "npm", "install", *std_npm_args(ignore_scripts: false) - bin.install_symlink Dir["#{libexec}/bin/*"] - end - - test do - assert_match version.to_s, shell_output("#{bin}/mcpc --version") - connect_output = shell_output("#{bin}/mcpc connect https://tools-list.invalid @test 2>&1") - assert_match "Session @test created", connect_output - - output = shell_output("#{bin}/mcpc @test tools-list 2>&1", 1) - assert_match "@test", output - assert_match "tools-list.invalid", output - assert_match(/Failed to connect|Connection closed/, output) - end -end diff --git a/Formula/m/mcpd.rb b/Formula/m/mcpd.rb index bdb2b3f78a..dad1584a98 100644 --- a/Formula/m/mcpd.rb +++ b/Formula/m/mcpd.rb @@ -1,18 +1,17 @@ class Mcpd < Formula desc "Declaratively manage Model Context Protocol (MCP) servers" homepage "https://mozilla-ai.github.io/mcpd/" - url "https://github.com/mozilla-ai/mcpd/archive/refs/tags/v0.3.0.tar.gz" - sha256 "c99c9d02799782a2dd7a9b2082c805f363a1a75535fffed05743ce33e19491c9" + url "https://github.com/mozilla-ai/mcpd/archive/refs/tags/v0.0.7.tar.gz" + sha256 "2b84d8f68983764593b0b7cd305b0b118c79e401d47ecc165848e746390dcd5f" license "MIT" head "https://github.com/mozilla-ai/mcpd.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "de70290730eec044ffce93a849fc74b263c612b37fa94a4ad7c3db9418f52590" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "de70290730eec044ffce93a849fc74b263c612b37fa94a4ad7c3db9418f52590" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "de70290730eec044ffce93a849fc74b263c612b37fa94a4ad7c3db9418f52590" - sha256 cellar: :any_skip_relocation, arm64_linux: "55afa7e8ecb8e5de1f4d4c3474f2a2ff04f06d1112f88c2e765a809d0e5dd7a4" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9eca73009a8c1f03b4ba04ef783e77007f2af058d719940a692e24b1bdc75377" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "029b4b7383d007609d829bacd0938474bdbd1155d7e609abcb615f44e21eb1eb" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "b614bc267d070f94c4583eba9989d9e4183543c3555015912026951b81e65b72" + sha256 cellar: :any_skip_relocation, ventura: "df70511c3c673c56622f52c88a5b3b68ed6311883ef98ddb8a1aa93b2e1bb57d" + sha256 cellar: :any_skip_relocation, x86_64_linux: "4cb3e19201fc0eeb8afd3d9723599a3706bf3c0fdd5535554a4fb2299870bb74" end depends_on "go" => :build @@ -20,9 +19,9 @@ class Mcpd < Formula def install ldflags = %W[ -s -w - -X github.com/mozilla-ai/mcpd/internal/cmd.version=#{version} - -X github.com/mozilla-ai/mcpd/internal/cmd.commit=#{tap.user} - -X github.com/mozilla-ai/mcpd/internal/cmd.date=#{time.iso8601} + -X github.com/mozilla-ai/mcpd/v2/internal/cmd.version=#{version} + -X github.com/mozilla-ai/mcpd/v2/internal/cmd.commit=#{tap.user} + -X github.com/mozilla-ai/mcpd/v2/internal/cmd.date=#{time.iso8601} ] system "go", "build", *std_go_args(ldflags:) end diff --git a/Formula/m/mdns-scanner.rb b/Formula/m/mdns-scanner.rb deleted file mode 100644 index 86ee09cb1a..0000000000 --- a/Formula/m/mdns-scanner.rb +++ /dev/null @@ -1,28 +0,0 @@ -class MdnsScanner < Formula - desc "Scan networks for IPs and hostnames, including mDNS aliases" - homepage "https://github.com/CramBL/mdns-scanner" - url "https://github.com/CramBL/mdns-scanner/archive/refs/tags/v0.27.1.tar.gz" - sha256 "36e4b242778bf66776ae7488f7a2dc0762fa16150e9a70a773e4235bb60b0280" - license "MIT" - head "https://github.com/CramBL/mdns-scanner.git", branch: "trunk" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "57894e094d0a9f0dddd821a2e12cf9f9021341bd60ded987485ac3f99466bbbe" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d6d580cd6855494c4a1dbe770cab6d41be83300a07aa10fcfe93b7071ef465a1" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bed3c31ff7d314de1e61d85ff75c869c41261955a68ae99b01a805cddb01ee27" - sha256 cellar: :any_skip_relocation, arm64_linux: "41c384d1898b530810bda8425c1e706239a51b9c1cfe86978b119950e8c97751" - sha256 cellar: :any_skip_relocation, x86_64_linux: "76caefee3fb65246c45ba6d6eb7e3ffccd352c7c91ef8a2897ff26bccf133af4" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/mdns-scanner --version") - assert_match "# mdns-scanner configuration file", shell_output("#{bin}/mdns-scanner dump-default-config") - end -end diff --git a/Formula/m/mdsf.rb b/Formula/m/mdsf.rb index 75428cadd2..29659b80fb 100644 --- a/Formula/m/mdsf.rb +++ b/Formula/m/mdsf.rb @@ -2,19 +2,17 @@ class Mdsf < Formula desc "Format, and lint, markdown code snippets using your favorite tools" homepage "https://github.com/hougesen/mdsf" - url "https://github.com/hougesen/mdsf/archive/refs/tags/v0.12.0.tar.gz" - sha256 "dde37767de63cca26b3ac8f7a8aafe06545cf4248d4a011fa1f26b68d4db34fb" + url "https://github.com/hougesen/mdsf/archive/refs/tags/v0.10.6.tar.gz" + sha256 "87ed459b94ee5ccd9ee28362035c6256b0ed43fb8333b0e47860f2828c170263" license "MIT" head "https://github.com/hougesen/mdsf.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8236926c33a4a9a795f9a80e24435c375daa62dc545815197d2eca050d20583d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "29c178e53759c9d541789af7abbc365d44c4b979f251c94815006e1322ccc7a0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "38208eb87d8478850549bfe11eb248ea5557496ab896b2325919cb166c2f0236" - sha256 cellar: :any_skip_relocation, arm64_linux: "04f2c2d6e4f438b41fd9163e1dd9b89b907aaee3d51173b72db8e3ee6aa46f47" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f1d897fefd909a5969352134c3f7a51a5778b14f7b0c76aadb130d6ad7b295a5" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "b069732e0c5fa4e64017b579d023dd8490d170bec00e1ed35b8f187c72daddb4" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5d87cf7111a8a5bddae748f18b43dd6f6decf232ba8576550b9cefeb7e6ef3f7" + sha256 cellar: :any_skip_relocation, ventura: "fa741a924c24bb559f96f3a324ea7b79c102e0d21bb6384552f72f257c00c3ac" + sha256 cellar: :any_skip_relocation, x86_64_linux: "bd43741182aa5c8612fda3cf15f57b9ab2adcea87c971dc323a49b5f6f8641fe" end depends_on "rust" => :build @@ -22,17 +20,26 @@ class Mdsf < Formula def install system "cargo", "install", *std_cargo_args(path: "mdsf") - [bash_completion/"mdsf", fish_completion/"mdsf.fish", zsh_completion/"_mdsf"].each do |completion_file| - rm completion_file if completion_file.exist? - end generate_completions_from_executable(bin/"mdsf", "completions") end test do assert_match version.to_s, shell_output("#{bin}/mdsf --version") - output = shell_output("#{bin}/mdsf completions bash") - assert_match "_mdsf()", output - assert_match "mdsf__format)", output + (testpath/"test.md").write <<~MARKDOWN + ```python + print( "Hello, World!" ) + ``` + MARKDOWN + + system bin/"mdsf", "format", "test.md" + + expected_content = <<~MARKDOWN + ```python + print( "Hello, World!" ) + ``` + MARKDOWN + + assert_equal expected_content, (testpath/"test.md").read end end diff --git a/Formula/m/mdslw.rb b/Formula/m/mdslw.rb index 9843edc672..b609ab7524 100644 --- a/Formula/m/mdslw.rb +++ b/Formula/m/mdslw.rb @@ -2,18 +2,17 @@ class Mdslw < Formula desc "Prepare your markdown for easy diff'ing" homepage "https://github.com/razziel89/mdslw" - url "https://github.com/razziel89/mdslw/archive/refs/tags/0.17.1.tar.gz" - sha256 "4dadf34036002909b1c2e547facb88b37a3a3ac0cc102d9a924fcc0161db1637" + url "https://github.com/razziel89/mdslw/archive/refs/tags/0.15.2.tar.gz" + sha256 "4bfd409054c20a403d9f8e7b4b3f11dabf421752507ed5da4381bc3515caa39f" license "GPL-3.0-or-later" head "https://github.com/razziel89/mdslw.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "78ac4b7941ef6aa80ebf9acee681903ecd5b887a42570e6e0efa882b882a9102" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1030256f7fb3db349d9da4ac1e0234f552981e6cfe967e7e852d3316cca3eabf" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6a0dd03fafeb3f5a12b5591a287c4c802795c994090454031bd97358fe3dc53b" - sha256 cellar: :any_skip_relocation, arm64_linux: "f3573755a914fd54de3f56b6996980209e8e1f8a55cffb4735761d6efaee0514" - sha256 cellar: :any_skip_relocation, x86_64_linux: "74b9046dedfa1d13bc65d9b3ce440014bc7ed71ec75643a3d649d155a77dbc44" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "90bdb497dbb85c1fd20e0da3d76acb1bfcaa9559583301f5ff86611b334f9cd5" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "27b0e356b1925d512f9ff73ed4d5a1389b2ead0c345c5eacf2e45be700b94e56" + sha256 cellar: :any_skip_relocation, ventura: "b1e0216e051346d006f06fd121224e08db8212a1b9b582f963fd22b0afcef438" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7cd56ce932088a442fb8067b7d0e7c991ad19a04d0196bea9898bee6352375aa" end depends_on "pkgconf" => :build diff --git a/Formula/m/memora.rb b/Formula/m/memora.rb deleted file mode 100644 index ffa67aeaa0..0000000000 --- a/Formula/m/memora.rb +++ /dev/null @@ -1,210 +0,0 @@ -class Memora < Formula - include Language::Python::Virtualenv - - desc "Lightweight MCP server for semantic memory storage" - homepage "https://github.com/agentic-mcp-tools/memora" - url "https://github.com/agentic-mcp-tools/memora/archive/refs/tags/v0.2.27.tar.gz" - sha256 "8783bdace90ea53b191cc110a421602695789719774a1febf9ca36460e79aca1" - license "MIT" - head "https://github.com/agentic-mcp-tools/memora.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "f5fad8dabc89c1a1c743a962517562a5e412c109bfc50430efc88f393751f73d" - sha256 cellar: :any, arm64_sequoia: "780b4c72d71027c953af9804c39d285937e8a3a909eeb639612d48b685f4ef0b" - sha256 cellar: :any, arm64_sonoma: "3bea6ebe5f1869f4ae61896d805835cf5c096ed72078c68a04ae1aa0c9e4db0b" - sha256 cellar: :any_skip_relocation, arm64_linux: "632952447f4d9b6aa1a48ba7fa6c3b96c4352f8fa02a1c1ab84b1fa712dc4f7b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7c261cf88286d4c8b9f6bb81b249838525614d6cff24b27b60d6357ec325b725" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pillow" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage - - on_linux do - depends_on "openssl@3" - end - - pypi_packages exclude_packages: %w[certifi cryptography pillow pydantic rpds-py] - - resource "anyio" do - url "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz" - sha256 "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "boto3" do - url "https://files.pythonhosted.org/packages/4f/53/2e0a325e080bd83f5dfd8f964b70b93badc284bcb5680bee75327771ad4a/boto3-1.42.54.tar.gz" - sha256 "fe3d8ec586c39a0c96327fd317c77ca601ec5f991e9ba7211cacae8db4c07a73" - end - - resource "botocore" do - url "https://files.pythonhosted.org/packages/be/9a/5ab14330e5d1c3489e91f32f6ece40f3b58cf82d2aafe1e4a61711f616b0/botocore-1.42.54.tar.gz" - sha256 "ab203d4e57d22913c8386a695d048e003b7508a8a4a7a46c9ddf4ebd67a20b69" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "filelock" do - url "https://files.pythonhosted.org/packages/73/92/a8e2479937ff39185d20dd6a851c1a63e55849e447a55e798cc2e1f49c65/filelock-3.24.3.tar.gz" - sha256 "011a5644dc937c22699943ebbfc46e969cdde3e171470a6e40b9533e5a72affa" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "jiter" do - url "https://files.pythonhosted.org/packages/0d/5e/4ec91646aee381d01cdb9974e30882c9cd3b8c5d1079d6b5ff4af522439a/jiter-0.13.0.tar.gz" - sha256 "f2839f9c2c7e2dffc1bc5929a510e14ce0a946be9365fd1219e7ef342dae14f4" - end - - resource "jmespath" do - url "https://files.pythonhosted.org/packages/d3/59/322338183ecda247fb5d1763a6cbe46eff7222eaeebafd9fa65d4bf5cb11/jmespath-1.1.0.tar.gz" - sha256 "472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" - sha256 "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "mcp" do - url "https://files.pythonhosted.org/packages/fc/6d/62e76bbb8144d6ed86e202b5edd8a4cb631e7c8130f3f4893c3f90262b10/mcp-1.26.0.tar.gz" - sha256 "db6e2ef491eecc1a0d93711a76f28dec2e05999f93afd48795da1c1137142c66" - end - - resource "openai" do - url "https://files.pythonhosted.org/packages/92/e5/3d197a0947a166649f566706d7a4c8f7fe38f1fa7b24c9bcffe4c7591d44/openai-2.21.0.tar.gz" - sha256 "81b48ce4b8bbb2cc3af02047ceb19561f7b1dc0d4e52d1de7f02abfd15aa59b7" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz" - sha256 "b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025" - end - - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/5c/5a/b46fa56bf322901eee5b0454a34343cdbdae202cd421775a8ee4e42fd519/pyjwt-2.11.0.tar.gz" - sha256 "35f95c1f0fbe5d5ba6e43f00271c275f7a1a4db1dab27bf708073b75318ea623" - end - - resource "python-dateutil" do - url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3/python_multipart-0.0.22.tar.gz" - sha256 "7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" - end - - resource "s3transfer" do - url "https://files.pythonhosted.org/packages/05/04/74127fc843314818edfa81b5540e26dd537353b123a4edc563109d8f17dd/s3transfer-0.16.0.tar.gz" - sha256 "8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/8b/8d/00d280c03ffd39aaee0e86ec81e2d3b9253036a0f93f51d10503adef0e65/sse_starlette-3.2.0.tar.gz" - sha256 "8127594edfb51abe44eac9c49e59b0b01f1039d0c7461c6fd91d4e03b70da422" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/c4/68/79977123bb7be889ad680d79a40f339082c1978b5cfcf62c2d8d196873ac/starlette-0.52.1.tar.gz" - sha256 "834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" - sha256 "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/32/ce/eeb58ae4ac36fe09e3842eb02e0eb676bf2c53ae062b98f1b2531673efdd/uvicorn-0.41.0.tar.gz" - sha256 "09d11cf7008da33113824ee5a1c6422d89fbc2ff476540d69a34c87fab8b571a" - end - - def install - virtualenv_install_with_resources - end - - test do - python = libexec/"bin/python" - version_output = shell_output( - "#{python} -c \"import importlib.metadata as m; print(m.version('memora-mcp'))\"", - ) - assert_match version.to_s, version_output - - ENV["MEMORA_DB_PATH"] = testpath/"memories.db" - output = shell_output("#{bin}/memora-server info") - assert_match "\"backend_type\": \"local_sqlite\"", output - end -end diff --git a/Formula/m/mermaid-cli.rb b/Formula/m/mermaid-cli.rb new file mode 100644 index 0000000000..ce4cb90c9c --- /dev/null +++ b/Formula/m/mermaid-cli.rb @@ -0,0 +1,45 @@ +class MermaidCli < Formula + desc "CLI for Mermaid library" + homepage "https://github.com/mermaid-js/mermaid-cli" + url "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-11.6.0.tgz" + sha256 "931a41e109b7d33d0da4881a4cef673f6d77b30219543f7496c5c003c64866df" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "83a2bfc8ea080ec1f5b2ac653270dfcafb4503780c2728d3f422e0e8c22f15b0" + sha256 cellar: :any, arm64_sonoma: "8ef3cd85c1f01e7fdfa95cf7048b547deeedbcb52e4efe0e6b5a59545915dada" + sha256 cellar: :any, ventura: "746b9f5d97610e14f970c9e6ee23e83ad5d1dc5943bb3da0261ff0e868df5186" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a313e675c64944b1e585f4dd334965dafed08999533ecf62b3565a86545ee7c1" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink Dir["#{libexec}/bin/*"] + + node_modules = libexec/"lib/node_modules/@mermaid-js/mermaid-cli/node_modules" + + # Remove incompatible pre-built `bare-fs`/`bare-os` binaries + os = OS.kernel_name.downcase + arch = Hardware::CPU.intel? ? "x64" : Hardware::CPU.arch.to_s + node_modules.glob("{bare-fs,bare-os}/prebuilds/*") + .each { |dir| rm_r(dir) if dir.basename.to_s != "#{os}-#{arch}" } + end + + test do + assert_match version.to_s, shell_output("#{bin}/mmdc --version") + + (testpath/"diagram.mmd").write <<~EOS + graph TD; + A-->B; + A-->C; + B-->D; + C-->D; + EOS + + output = shell_output("#{bin}/mmdc -i diagram.mmd -o diagram.svg 2>&1", 1) + assert_match "Could not find Chrome", output + end +end diff --git a/Formula/m/meteor.rb b/Formula/m/meteor.rb index 8c68c73bae..994afa6351 100644 --- a/Formula/m/meteor.rb +++ b/Formula/m/meteor.rb @@ -2,18 +2,17 @@ class Meteor < Formula desc "Highly configurable CLI tool for writing conventional commits" homepage "https://github.com/stefanlogue/meteor" - url "https://github.com/stefanlogue/meteor/archive/refs/tags/v0.31.0.tar.gz" - sha256 "8c6b5e56ebb31a1ffa94adfa226c970415bae61352699d8849e34773f7e42f91" + url "https://github.com/stefanlogue/meteor/archive/refs/tags/v0.28.2.tar.gz" + sha256 "fa87a800d45194cf46de313eed8ca7bfaa1d4bbf49f3c63ac0753f3ee193af18" license "MIT" head "https://github.com/stefanlogue/meteor.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fe313c17ce5c73195ac74df7ee975da19038a155818e47a4e9ca571ee33bc112" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fe313c17ce5c73195ac74df7ee975da19038a155818e47a4e9ca571ee33bc112" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fe313c17ce5c73195ac74df7ee975da19038a155818e47a4e9ca571ee33bc112" - sha256 cellar: :any_skip_relocation, arm64_linux: "4e1ae24ad8b8dcb1765f669c75f3125588229065aad179ceeb562b7cece244de" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e85ff946a561abcb30ff751054f5d271edf37880b9d0af164d50e7eede3c3048" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "89b7c051c826ad6287d605a07e6b337ccea2f32e7a7dff322038df6d4a66ae0b" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "bb7b929d98fc9d047ba2146dbebc66f48595febcdda838b7a0aba5a62b154cb7" + sha256 cellar: :any_skip_relocation, ventura: "de7a2b56f37e597210feac42873d4efebf3ac4009ced3c10e9b979e4aff05bcc" + sha256 cellar: :any_skip_relocation, x86_64_linux: "bcd9da36343b69c9ee72aa425c160e34f7315ad8c957a948148e9630ff015d61" end depends_on "go" => :build diff --git a/Formula/m/mfa.rb b/Formula/m/mfa.rb index f4c61e1af8..046d1adac0 100644 --- a/Formula/m/mfa.rb +++ b/Formula/m/mfa.rb @@ -2,18 +2,17 @@ class Mfa < Formula desc "Generate TOTP(Time-based One-time Password) token with CLI" homepage "https://github.com/k-saiki/mfa" - url "https://github.com/k-saiki/mfa/archive/refs/tags/v0.0.13.tar.gz" - sha256 "70a5366bafb84ac3c9b554613fdd6ae1da9d5d035695060c9b64c791b684bb1c" + url "https://github.com/k-saiki/mfa/archive/refs/tags/v0.0.10.tar.gz" + sha256 "a20ac0d18903477da46c240d8e61f71a9964da7d93692267dc9394e200d0df75" license "MIT" head "https://github.com/k-saiki/mfa.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3b860e340a8ae8f1f2f0717a8a22fe763973533a703c50cd33a7ab3dc25f52ce" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3b860e340a8ae8f1f2f0717a8a22fe763973533a703c50cd33a7ab3dc25f52ce" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3b860e340a8ae8f1f2f0717a8a22fe763973533a703c50cd33a7ab3dc25f52ce" - sha256 cellar: :any_skip_relocation, arm64_linux: "55013170d069b03bb28140385d4868c8db10878281485fd17c7970f88fb4adde" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2e8ef09ae687e8d1d2f4c2d70eab1f524a2c6cf433d622bef1226c00cb1d4924" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "92e204f591fd3b429f0800371dacd869dfd842a5da05ea01bc49d90f48df72c6" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "3cdd6f79aa3619bf04844069eb4e19bb94833b39ae02a9d546cca47605ca069b" + sha256 cellar: :any_skip_relocation, ventura: "8340d527533b73543475427376e08d710c66e138d36910d81dda9d58f00eeab7" + sha256 cellar: :any_skip_relocation, x86_64_linux: "1446e797e148b34c4ef32a1f84d9454e7a079c3cc9b5c10c8412be447983d8cc" end depends_on "go" => :build @@ -26,7 +25,7 @@ def install ] system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"mfa", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"mfa", "completion") end test do diff --git a/Formula/m/minisign.rb b/Formula/m/minisign.rb new file mode 100644 index 0000000000..652ec93359 --- /dev/null +++ b/Formula/m/minisign.rb @@ -0,0 +1,64 @@ +class Minisign < Formula + desc "Tool to sign files and verify digital signatures" + homepage "https://github.com/jedisct1/minisign" + url "https://github.com/jedisct1/minisign/archive/108ea640ba92f1486841e747573017c282df7280.tar.gz" + version "0.12" + sha256 "2096baebd41025fb2407b37411c90343ee6029acd2e7b283c4ef6f15cb9efd07" + license "ISC" + revision 1 + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "91bdc168d229371e4b8aaf1902e46848d5126756f0d0ea41105c157f7d8dbf31" + sha256 cellar: :any, arm64_sonoma: "15dde59c4d2588c521b8158d6286f8c4ea8040837e3cfea25de2a05d2b2abef4" + sha256 cellar: :any, ventura: "4e5203ce8a9af450e1367cc50d159e7e6ef1aaa14365dd7d80a6f6cc36bd2b1d" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e9bb2e029701d02fad0023c641bd634ae03dc412951b47f24109deba3816d094" + end + + depends_on "pkgconf" => :build + depends_on "zig" => :build + depends_on "libsodium" + + def install + # Fix illegal instruction errors when using bottles on older CPUs. + # https://github.com/Homebrew/homebrew-core/issues/92282 + cpu = case Hardware.oldest_cpu + when :arm_vortex_tempest then "apple_m1" # See `zig targets`. + else Hardware.oldest_cpu + end + + args = %W[ + --prefix #{prefix} + -Doptimize=ReleaseSafe + -Dstatic=false + ] + + args << "-Dcpu=#{cpu}" if build.bottle? + system "zig", "build", *args + end + + test do + assert_match version.to_s, shell_output("#{bin}/minisign -v") + + (testpath/"testfile.txt").write "Hello from minisign test!" + + # Generate a new key pair (disable passphrase with -W). + system bin/"minisign", "-G", + "-p", testpath/"public.key", + "-s", testpath/"secret.key", + "-W" + + # Sign the test file with our newly generated secret key. + system bin/"minisign", "-S", + "-m", testpath/"testfile.txt", + "-x", testpath/"testfile.sig", + "-s", testpath/"secret.key", + "-W" + + # Verify the signature using our newly generated public key. + system bin/"minisign", "-V", + "-m", testpath/"testfile.txt", + "-x", testpath/"testfile.sig", + "-p", testpath/"public.key" + end +end diff --git a/Formula/m/ministack.rb b/Formula/m/ministack.rb deleted file mode 100644 index cc41e0e26e..0000000000 --- a/Formula/m/ministack.rb +++ /dev/null @@ -1,120 +0,0 @@ -class Ministack < Formula - include Language::Python::Virtualenv - - desc "Local AWS service emulator and LocalStack replacement" - homepage "https://github.com/ministackorg/ministack" - url "https://files.pythonhosted.org/packages/f0/20/d82246fa09c1e23babb019d4ac060f8d0230c5f68d8db36d76c9b4344ce3/ministack-1.3.15.tar.gz" - sha256 "6b4cdcbf6e4b1976caa3bc49795e4a067cfa1d63966d7fc663ecefff8a57ee96" - license "MIT" - head "https://github.com/ministackorg/ministack.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d6b8c05203b6dbf1dfadc5b7cff56cbc468fb2d66d2ecdbbe0a586eef80cdcff" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9bb249d03f6ebcd4fe9c37bcfc0f8e1932824576ffc17bb6e02eb85aa397c46c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "241dfb605138e6d7aefb5f94a6db5ce01244730566420c479d020145cac1b9ac" - sha256 cellar: :any_skip_relocation, arm64_linux: "3b94d621eb5a1663d91676797012094524cb4de7c93726874581aa376d72c4af" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0cb68a10593d5232f3c91e9364e3b1e9b2b68802d98fdafa1aba81bf1f23ee25" - end - - depends_on "libyaml" - depends_on "python@3.14" - - resource "defusedxml" do - url "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz" - sha256 "1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "h2" do - url "https://files.pythonhosted.org/packages/1d/17/afa56379f94ad0fe8defd37d6eb3f89a25404ffc71d4d848893d270325fc/h2-4.3.0.tar.gz" - sha256 "6c59efe4323fa18b47a632221a1888bd7fde6249819beda254aeca909f221bf1" - end - - resource "hpack" do - url "https://files.pythonhosted.org/packages/2c/48/71de9ed269fdae9c8057e5a4c0aa7402e8bb16f2c6e90b3aa53327b113f8/hpack-4.1.0.tar.gz" - sha256 "ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca" - end - - resource "hypercorn" do - url "https://files.pythonhosted.org/packages/44/01/39f41a014b83dd5c795217362f2ca9071cf243e6a75bdcd6cd5b944658cc/hypercorn-0.18.0.tar.gz" - sha256 "d63267548939c46b0247dc8e5b45a9947590e35e64ee73a23c074aa3cf88e9da" - end - - resource "hyperframe" do - url "https://files.pythonhosted.org/packages/02/e7/94f8232d4a74cc99514c13a9f995811485a6903d48e5d952771ef6322e30/hyperframe-6.1.0.tar.gz" - sha256 "f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08" - end - - resource "priority" do - url "https://files.pythonhosted.org/packages/f5/3c/eb7c35f4dcede96fca1842dac5f4f5d15511aa4b52f3a961219e68ae9204/priority-2.0.0.tar.gz" - sha256 "c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "wsproto" do - url "https://files.pythonhosted.org/packages/c7/79/12135bdf8b9c9367b8701c2c19a14c913c120b882d50b014ca0d38083c2c/wsproto-1.3.2.tar.gz" - sha256 "b86885dcf294e15204919950f666e06ffc6c7c114ca900b060d6e16293528294" - end - - def install - (var/"ministack").mkpath - (var/"ministack/state").mkpath - (var/"ministack/s3").mkpath - - venv = virtualenv_create(libexec, "python3.14") - venv.pip_install resources - venv.pip_install_and_link buildpath - end - - service do - run [opt_bin/"ministack"] - keep_alive true - working_dir var/"ministack" - environment_variables GATEWAY_PORT: "4566", - MINISTACK_HOST: "localhost", - PERSIST_STATE: "1", - S3_DATA_DIR: var/"ministack/s3", - S3_PERSIST: "1", - STATE_DIR: var/"ministack/state" - end - - test do - port = free_port - log = testpath/"ministack.log" - state_dir = testpath/"state" - s3_dir = testpath/"s3" - - pid = spawn({ "GATEWAY_PORT" => port.to_s, - "MINISTACK_HOST" => "127.0.0.1", - "PERSIST_STATE" => "1", - "S3_DATA_DIR" => s3_dir.to_s, - "S3_PERSIST" => "1", - "STATE_DIR" => state_dir.to_s }, - bin/"ministack", - [:out, :err] => log.to_s) - - begin - 20.times do - break if quiet_system "curl", "-fsS", "http://127.0.0.1:#{port}/_ministack/health" - - sleep 1 - end - - output = shell_output("curl -fsS http://127.0.0.1:#{port}/_ministack/health") - assert_match "\"edition\": \"light\"", output - assert_match "\"s3\": \"available\"", output - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/m/mitex.rb b/Formula/m/mitex.rb index c036d9c3c5..cb225f98bf 100644 --- a/Formula/m/mitex.rb +++ b/Formula/m/mitex.rb @@ -12,12 +12,10 @@ class Mitex < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c704517439a8624af23b900bd93117667dcd66ac3a28ac11a34bd87794a6736b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7e72f94062bd855f2f588c69fb42118b35fd69f8ec3960ae78b7763bda3e0f87" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "38b45ed3a0fe4fa7e55f7c2e97ad3b6c1d1480979539e543ce2922b897151473" - sha256 cellar: :any_skip_relocation, arm64_linux: "a92ffda1cd21a351b6bb79c28f466e19f6538887adda67fe4cc87be806e22129" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a36e12df2713e67dd4324e83083731479d58839f1b0ac417aafe923de42ec129" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9cee75e8bd5abc217ace2223c28fbdd4ce893957646ace1dc079217067c54bf7" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "dc877355fa90fc2451f0307aea43df091816169ac826e9c0afef28a3cdbfad2f" + sha256 cellar: :any_skip_relocation, ventura: "7c52e1ef7c1065c0046e291d96d2900594b75243939f3439ffe6c81396f6f792" + sha256 cellar: :any_skip_relocation, x86_64_linux: "fec5daed2578b21fc0f88b6d5cbf2cb9e429b4f2ca95f181df63a651e1cea646" end depends_on "rust" => :build @@ -34,9 +32,6 @@ def install system "cargo", "install", *std_cargo_args(path: "crates/mitex-cli") - [bash_completion/"mitex", fish_completion/"mitex.fish", zsh_completion/"_mitex"].each do |completion_file| - rm completion_file if completion_file.exist? - end generate_completions_from_executable(bin/"mitex", "completion") system bin/"mitex", "manual", man1 end diff --git a/Formula/m/mlbt.rb b/Formula/m/mlbt.rb deleted file mode 100644 index 6566a6f694..0000000000 --- a/Formula/m/mlbt.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Mlbt < Formula - desc "TUI for MLB stats API" - homepage "https://github.com/mlb-rs/mlbt" - url "https://github.com/mlb-rs/mlbt/archive/refs/tags/v0.3.1.tar.gz" - sha256 "a0ff8d51c1294c05a3fa7bed81f80f44562fb344020d88fc0c7ed94711934da1" - license "MIT" - head "https://github.com/mlb-rs/mlbt.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6bce2f4489f58d7c81fe5a0d03d6cdbbd7640bcc1600f11ef8a566c8e59f1c89" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b001a800a803ac37b1a0a390eff2cb6f56324a388cd9eff2a48a151e077341cb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "18f6a8385b4148bef9188270b2aadac2fb55b21f5bab4afc11340c7d0a5f6c2c" - sha256 cellar: :any_skip_relocation, arm64_linux: "0660f4004c5ba4f7efb383046e17955e649f4d7d320c54a502d7ac66f672ba35" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6eca503b710aa0d788511fccbdef34de69c3c62017429198ed9bd06175959996" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # failed with Linux CI, `No such device or address (os error 6)` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"mlbt", testpath, [:out, :err] => output_log.to_s - sleep 1 - assert_match "Gameday │ Stats │ Standings", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/m/mlx-audio.rb b/Formula/m/mlx-audio.rb deleted file mode 100644 index 3bf6788520..0000000000 --- a/Formula/m/mlx-audio.rb +++ /dev/null @@ -1,226 +0,0 @@ -class MlxAudio < Formula - include Language::Python::Virtualenv - - desc "Run audio models on Apple silicon with MLX" - homepage "https://github.com/Blaizzy/mlx-audio" - url "https://files.pythonhosted.org/packages/9d/76/a74893a84caf7f36e401bedd5ccc5342299849a21a6fdf5ef68805d330bd/mlx_audio-0.4.2.tar.gz" - sha256 "f728221c9664dbe33bd13560c710a2bdb2e6898af4a4682c6358f1128aab1086" - license "MIT" - head "https://github.com/Blaizzy/mlx-audio.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "150191095a60868f22c259eb4c479b9401f969400feb87b0daf4616c561e4560" - sha256 arm64_sequoia: "78a0d575daf048edf7aba274710ae5a65f127ec9969665e1c78e4669d80671fb" - sha256 arm64_sonoma: "5734f87e6ac73b08119f310514cbe00c1100bcedb23f892473c91a7e84d56db8" - end - - depends_on "cmake" => :build - depends_on "pkgconf" => :build - depends_on arch: :arm64 - depends_on "certifi" => :no_linkage - depends_on "gcc" # for gfortran - depends_on "libomp" - depends_on "libsndfile" - depends_on "llvm@20" - depends_on macos: :sonoma - depends_on :macos - depends_on "mlx" - depends_on "mlx-lm" - depends_on "numpy" - depends_on "openblas" - depends_on "protobuf" - depends_on "python@3.14" - - pypi_packages exclude_packages: %w[ - certifi - fastapi - mlx - mlx-lm - numpy - protobuf - uvicorn - ] - - resource "audioop-lts" do - url "https://files.pythonhosted.org/packages/38/53/946db57842a50b2da2e0c1e34bd37f36f5aadba1a929a3971c5d7841dbca/audioop_lts-0.2.2.tar.gz" - sha256 "64d0c62d88e67b98a1a5e71987b7aa7b5bcffc7dcee65b635823dbdd0a8dbbd0" - end - - resource "audioread" do - url "https://files.pythonhosted.org/packages/a1/4a/874ecf9b472f998130c2b5e145dcdb9f6131e84786111489103b66772143/audioread-3.1.0.tar.gz" - sha256 "1c4ab2f2972764c896a8ac61ac53e261c8d29f0c6ccd652f84e18f08a4cab190" - end - - resource "cffi" do - url "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" - sha256 "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz" - sha256 "1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6" - end - - resource "decorator" do - url "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz" - sha256 "65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360" - end - - resource "joblib" do - url "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz" - sha256 "8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3" - end - - resource "lazy-loader" do - url "https://files.pythonhosted.org/packages/49/ac/21a1f8aa3777f5658576777ea76bfb124b702c520bbe90edf4ae9915eafa/lazy_loader-0.5.tar.gz" - sha256 "717f9179a0dbed357012ddad50a5ad3d5e4d9a0b8712680d4e687f5e6e6ed9b3" - end - - resource "librosa" do - url "https://files.pythonhosted.org/packages/64/36/360b5aafa0238e29758729e9486c6ed92a6f37fa403b7875e06c115cdf4a/librosa-0.11.0.tar.gz" - sha256 "f5ed951ca189b375bbe2e33b2abd7e040ceeee302b9bbaeeffdfddb8d0ace908" - end - - resource "llvmlite" do - url "https://files.pythonhosted.org/packages/74/cd/08ae687ba099c7e3d21fe2ea536500563ef1943c5105bf6ab4ee3829f68e/llvmlite-0.46.0.tar.gz" - sha256 "227c9fd6d09dce2783c18b754b7cd9d9b3b3515210c46acc2d3c5badd9870ceb" - - # Fix for setuptools error > 81 - # PR ref: https://github.com/numba/llvmlite/pull/1400 - patch do - url "https://github.com/numba/llvmlite/commit/e6a4cf1bd9b1ac213124ef125cae44896ed9885c.patch?full_index=1" - sha256 "9d23e9490600eb9076a12c808e3222a5b5c25fef200b4e97703d8fea069fd6d3" - end - end - - resource "miniaudio" do - url "https://files.pythonhosted.org/packages/55/fa/96d4cc7ada283357117f7890418ac065a0a6d81ec59e681cd965a403aba3/miniaudio-1.61.tar.gz" - sha256 "e88e97837d031f0fb6982394218b6487de02eaa382ad273b8fca37791a2b4b15" - end - - resource "msgpack" do - url "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz" - sha256 "3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e" - end - - resource "numba" do - url "https://files.pythonhosted.org/packages/23/c9/a0fb41787d01d621046138da30f6c2100d80857bf34b3390dd68040f27a3/numba-0.64.0.tar.gz" - sha256 "95e7300af648baa3308127b1955b52ce6d11889d16e8cfe637b4f85d2fca52b1" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" - sha256 "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934" - end - - resource "pooch" do - url "https://files.pythonhosted.org/packages/83/43/85ef45e8b36c6a48546af7b266592dc32d7f67837a6514d111bced6d7d75/pooch-1.9.0.tar.gz" - sha256 "de46729579b9857ffd3e741987a2f6d5e0e03219892c167c6578c0091fb511ed" - end - - resource "pycparser" do - url "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz" - sha256 "600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29" - end - - resource "pyloudnorm" do - url "https://files.pythonhosted.org/packages/23/00/f915eaa75326f4209941179c2b93ac477f2040e4aeff5bb21d16eb8058f9/pyloudnorm-0.2.0.tar.gz" - sha256 "8bf597658ea4e1975c275adf490f6deb5369ea409f2901f939915efa4b681b16" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz" - sha256 "18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" - end - - resource "scikit-learn" do - url "https://files.pythonhosted.org/packages/0e/d4/40988bf3b8e34feec1d0e6a051446b1f66225f8529b9309becaeef62b6c4/scikit_learn-1.8.0.tar.gz" - sha256 "9bccbb3b40e3de10351f8f5068e105d0f4083b1a65fa07b6634fbc401a6287fd" - end - - resource "scipy" do - url "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz" - sha256 "95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0" - end - - resource "sounddevice" do - url "https://files.pythonhosted.org/packages/4e/4f/28e734898b870db15b6474453f19813d3c81b91c806d9e6f867bd6e4dd03/sounddevice-0.5.3.tar.gz" - sha256 "cbac2b60198fbab84533697e7c4904cc895ec69d5fb3973556c9eb74a4629b2c" - end - - resource "soundfile" do - url "https://files.pythonhosted.org/packages/e1/41/9b873a8c055582859b239be17902a85339bec6a30ad162f98c9b0288a2cc/soundfile-0.13.1.tar.gz" - sha256 "b2c68dab1e30297317080a5b43df57e302584c49e2942defdde0acccc53f0e5b" - end - - resource "soxr" do - url "https://files.pythonhosted.org/packages/42/7e/f4b461944662ad75036df65277d6130f9411002bfb79e9df7dff40a31db9/soxr-1.0.0.tar.gz" - sha256 "e07ee6c1d659bc6957034f4800c60cb8b98de798823e34d2a2bba1caa85a4509" - end - - resource "standard-aifc" do - url "https://files.pythonhosted.org/packages/c4/53/6050dc3dde1671eb3db592c13b55a8005e5040131f7509cef0215212cb84/standard_aifc-3.13.0.tar.gz" - sha256 "64e249c7cb4b3daf2fdba4e95721f811bde8bdfc43ad9f936589b7bb2fae2e43" - end - - resource "standard-chunk" do - url "https://files.pythonhosted.org/packages/43/06/ce1bb165c1f111c7d23a1ad17204d67224baa69725bb6857a264db61beaf/standard_chunk-3.13.0.tar.gz" - sha256 "4ac345d37d7e686d2755e01836b8d98eda0d1a3ee90375e597ae43aaf064d654" - end - - resource "standard-sunau" do - url "https://files.pythonhosted.org/packages/66/e3/ce8d38cb2d70e05ffeddc28bb09bad77cfef979eb0a299c9117f7ed4e6a9/standard_sunau-3.13.0.tar.gz" - sha256 "b319a1ac95a09a2378a8442f403c66f4fd4b36616d6df6ae82b8e536ee790908" - end - - resource "threadpoolctl" do - url "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz" - sha256 "8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - def install - ENV["LLVMLITE_SHARED"] = "1" - - venv = virtualenv_create(libexec, "python3.14") - venv.pip_install resources - venv.pip_install_and_link buildpath - - mlx_lm_site_packages = Language::Python.site_packages(venv.root/"bin/python3") - pth_contents = "import site; site.addsitedir('#{Formula["mlx-lm"].opt_libexec/mlx_lm_site_packages}')\n" - (venv.site_packages/"homebrew-mlx-lm.pth").write pth_contents - - unsupported_bins = [ - bin/"mlx_audio.server", - libexec/"bin/mlx_audio.server", - bin/"mlx_audio.sts.generate", - libexec/"bin/mlx_audio.sts.generate", - bin/"mlx_audio.tts.generate", - libexec/"bin/mlx_audio.tts.generate", - ].select(&:exist?) - rm unsupported_bins unless unsupported_bins.empty? - end - - test do - assert_match "Convert HuggingFace model (TTS, STT, or STS) to MLX format", - shell_output("#{bin}/mlx_audio.convert --help") - assert_match "Generate transcriptions from audio files", - shell_output("#{bin}/mlx_audio.stt.generate --help") - - (testpath/"test.py").write <<~PYTHON - from importlib.metadata import version - from mlx_audio.stt.generate import format_timestamp, format_vtt_timestamp - - assert version("mlx-audio") == "0.4.2" - assert format_timestamp(61.234) == "00:01:01,234" - assert format_vtt_timestamp(61.234) == "00:01:01.234" - PYTHON - - system libexec/"bin/python", "test.py" - end -end diff --git a/Formula/m/mlx-tune.rb b/Formula/m/mlx-tune.rb deleted file mode 100644 index 6df782a609..0000000000 --- a/Formula/m/mlx-tune.rb +++ /dev/null @@ -1,164 +0,0 @@ -class MlxTune < Formula - include Language::Python::Virtualenv - - desc "Fine-tune LLMs on Apple Silicon with MLX" - homepage "https://github.com/ARahim3/mlx-tune" - url "https://files.pythonhosted.org/packages/d0/5a/01718660a6b8c3de4662809da9bac2c3baffddb4c04a140b0b4f6c2fe362/mlx_tune-0.4.3.tar.gz" - sha256 "e2d23b9cb0a77b27fdf4a4da31b6b6718a69ffa2390e4ede8d29a6a4c65e483e" - license "Apache-2.0" - head "https://github.com/ARahim3/mlx-tune.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "2275b942167533187d939ec1a4517e200c8d527efde66d9e62c5fa48c0578085" - sha256 cellar: :any, arm64_sequoia: "1bc28ce4e3d05945bbafabfb2388d245a9f072821636489e2900f467782f30f0" - sha256 cellar: :any, arm64_sonoma: "80ed53298cac0d2608880a192a368b0c35e190d790fb815a36f6531c4c655fc4" - end - - depends_on arch: :arm64 - depends_on "certifi" => :no_linkage - depends_on macos: :sonoma - depends_on :macos - depends_on "mlx" - depends_on "mlx-lm" - depends_on "numpy" - depends_on "pillow" - depends_on "python@3.14" - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz" - sha256 "a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz" - sha256 "1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6" - end - - resource "datasets" do - url "https://files.pythonhosted.org/packages/d7/02/741da3bed890bdf9720eb1b24780a58456bfdde49c4c78237953bb08abae/datasets-4.8.2.tar.gz" - sha256 "c6ad7e6c28c7436a9c6c23f817d1a450d395c771df881252dfe63697297cbcdf" - end - - resource "dill" do - url "https://files.pythonhosted.org/packages/81/e1/56027a71e31b02ddc53c7d65b01e68edf64dea2932122fe7746a516f75d5/dill-0.4.1.tar.gz" - sha256 "423092df4182177d4d8ba8290c8a5b640c66ab35ec7da59ccfa00f6fa3eea5fa" - end - - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" - end - - resource "multiprocess" do - url "https://files.pythonhosted.org/packages/a2/f2/e783ac7f2aeeed14e9e12801f22529cc7e6b7ab80928d6dcce4e9f00922d/multiprocess-0.70.19.tar.gz" - sha256 "952021e0e6c55a4a9fe4cd787895b86e239a40e76802a789d6305398d3975897" - end - - resource "pandas" do - url "https://files.pythonhosted.org/packages/72/3a/5b39b51c64159f470f1ca3b1c2a87da290657ca022f7cd11442606f607d1/pandas-3.0.1-cp314-cp314-macosx_11_0_arm64.whl" - sha256 "3b66857e983208654294bb6477b8a63dee26b37bdd0eb34d010556e91261784f" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" - end - - resource "pyarrow" do - url "https://files.pythonhosted.org/packages/8d/1b/6da9a89583ce7b23ac611f183ae4843cd3a6cf54f079549b0e8c14031e73/pyarrow-23.0.1-cp314-cp314-macosx_12_0_arm64.whl" - sha256 "5df1161da23636a70838099d4aaa65142777185cc0cdba4037a18cee7d8db9ca" - end - - resource "python-dateutil" do - url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "xxhash" do - url "https://files.pythonhosted.org/packages/02/84/30869e01909fb37a6cc7e18688ee8bf1e42d57e7e0777636bd47524c43c7/xxhash-3.6.0.tar.gz" - sha256 "f0162a78b13a0d7617b2845b90c763339d1f1d82bb04a4b07f4ab535cc5e05d6" - end - - resource "yarl" do - url "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" - sha256 "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" - end - - def install - wheel_resources = %w[pandas pyarrow] - venv = virtualenv_create(libexec, "python3.14") - - venv.pip_install resources.reject { |resource| wheel_resources.include?(resource.name) } - - wheel_resources.each do |resource_name| - wheel_resource = resource(resource_name) - wheel_resource.stage do - venv.pip_install Pathname.pwd/wheel_resource.downloader.basename - end - end - - venv.pip_install_and_link buildpath - - # `mlx-lm` installs its Python package into its own venv, so link that venv in explicitly. - mlx_lm_site_packages = Language::Python.site_packages(venv.root/"bin/python3") - pth_contents = "import site; site.addsitedir('#{Formula["mlx-lm"].opt_libexec/mlx_lm_site_packages}')\n" - (venv.site_packages/"homebrew-mlx-lm.pth").write pth_contents - end - - test do - (testpath/"test.py").write <<~PYTHON - from datasets import Dataset - from importlib.metadata import version - from mlx_tune import apply_column_mapping, detect_dataset_format, get_template_for_model - - assert version("mlx-tune") == "0.4.3" - - dataset = Dataset.from_dict({"question": ["Hello"], "answer": ["World"]}) - mapped = apply_column_mapping(dataset, {"instruction": "question", "output": "answer"}) - - assert mapped.column_names == ["instruction", "output"] - assert mapped[0]["instruction"] == "Hello" - assert mapped[0]["output"] == "World" - assert detect_dataset_format(mapped[0]) == "alpaca" - assert get_template_for_model("meta-llama/Llama-3.2-1B-Instruct") == "llama-3.1" - PYTHON - - system libexec/"bin/python", "test.py" - end -end diff --git a/Formula/m/mlx-vlm.rb b/Formula/m/mlx-vlm.rb deleted file mode 100644 index 8f8c1de949..0000000000 --- a/Formula/m/mlx-vlm.rb +++ /dev/null @@ -1,124 +0,0 @@ -class MlxVlm < Formula - include Language::Python::Virtualenv - - desc "Run vision language models on Apple silicon with MLX" - homepage "https://github.com/Blaizzy/mlx-vlm" - url "https://files.pythonhosted.org/packages/94/ec/108aec30efb159940ea29d133d5d8ec14840edbec914869b46eaafac5552/mlx_vlm-0.4.4.tar.gz" - sha256 "3197e277c1be9ed1712ea04624df029e486f7747ad93e40e7bd1c9c771f8b179" - license "MIT" - head "https://github.com/Blaizzy/mlx-vlm.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "819fea8fe5ca7c6d6c0e19f08feef4ea7a725fe5bf030d7eb5c4e211040aa281" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8c95b6892fbef42d7e9b9a24102af5c113e8e161338b3502a7c348241589f382" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "dbbc78c0ab00fe8cf7e6eee7cef80347157e4b2b4f8758cfee39bc05ee4741b5" - end - - depends_on arch: :arm64 - depends_on "certifi" => :no_linkage - depends_on "libsndfile" - depends_on macos: :sonoma - depends_on :macos - depends_on "mlx" - depends_on "mlx-lm" - depends_on "numpy" - depends_on "opencv" - depends_on "pillow" - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: %w[ - certifi - datasets - mlx - mlx-lm - numpy - opencv-python - pillow - pydantic - ] - - resource "cffi" do - url "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" - sha256 "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz" - sha256 "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" - end - - resource "fastapi" do - url "https://files.pythonhosted.org/packages/f7/e6/7adb4c5fa231e82c35b8f5741a9f2d055f520c29af5546fd70d3e8e1cd2e/fastapi-0.135.3.tar.gz" - sha256 "bd6d7caf1a2bdd8d676843cdcd2287729572a1ef524fc4d65c17ae002a1be654" - end - - resource "miniaudio" do - url "https://files.pythonhosted.org/packages/55/fa/96d4cc7ada283357117f7890418ac065a0a6d81ec59e681cd965a403aba3/miniaudio-1.61.tar.gz" - sha256 "e88e97837d031f0fb6982394218b6487de02eaa382ad273b8fca37791a2b4b15" - end - - resource "pycparser" do - url "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz" - sha256 "600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz" - sha256 "18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz" - sha256 "6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/62/f2/368268300fb8af33743508d738ef7bb4d56afdb46c6d9c0fa3dd515df171/uvicorn-0.43.0.tar.gz" - sha256 "ab1652d2fb23abf124f36ccc399828558880def222c3cb3d98d24021520dc6e8" - end - - def install - venv = virtualenv_install_with_resources - - mlx_lm_site_packages = Language::Python.site_packages(venv.root/"bin/python3") - pth_contents = "import site; site.addsitedir('#{Formula["mlx-lm"].opt_libexec/mlx_lm_site_packages}')\n" - (venv.site_packages/"homebrew-mlx-lm.pth").write pth_contents - - unsupported_bins = [bin/"mlx_vlm.chat_ui", libexec/"bin/mlx_vlm.chat_ui"].select(&:exist?) - rm unsupported_bins unless unsupported_bins.empty? - end - - test do - assert_match "Generate text from an image using a model", - shell_output("#{bin}/mlx_vlm.generate --help") - assert_match "MLX VLM Http Server.", - shell_output("#{bin}/mlx_vlm.server --help") - - (testpath/"test.py").write <<~PYTHON - import importlib.util - import pathlib - from importlib.metadata import version - - module_path = pathlib.Path("#{libexec}") / "lib/python3.14/site-packages/mlx_vlm/prompt_utils.py" - spec = importlib.util.spec_from_file_location("mlx_vlm_prompt_utils", module_path) - prompt_utils = importlib.util.module_from_spec(spec) - spec.loader.exec_module(prompt_utils) - - assert version("mlx-vlm") == "#{version}" - content = [ - {"type": "text", "text": "Describe this image"}, - {"type": "image_url", "image_url": {"url": "https://example.com/image.png"}}, - ] - assert prompt_utils.extract_text_from_content(content) == "Describe this image" - PYTHON - - system libexec/"bin/python", "test.py" - end -end diff --git a/Formula/m/mmemoji.rb b/Formula/m/mmemoji.rb index 406adc19bc..5fce1d550a 100644 --- a/Formula/m/mmemoji.rb +++ b/Formula/m/mmemoji.rb @@ -3,53 +3,34 @@ class Mmemoji < Formula desc "Custom Emoji manager command-line for Mattermost" homepage "https://github.com/maxbrunet/mmemoji" - url "https://files.pythonhosted.org/packages/64/51/fd2951b782fc9017e1f6358514e97c1c4a510c37b2a0aa06112ea46c4554/mmemoji-0.7.0.tar.gz" - sha256 "407270433eb7ce8cac9924256e51fac6217f7238aa4730198e93771e7c42bf4f" + url "https://files.pythonhosted.org/packages/07/bd/26a107eb89de7b272f04b486b35564582a909d2c02c50c6e6e10ff8b23a0/mmemoji-0.6.0.tar.gz" + sha256 "767db07a08f44dc3aae4989d1046a820d89fc49be643402879bf813ca3af4e8f" license "GPL-3.0-or-later" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9434a9620c3833daedb7c06f8ecba16d862ddd5fcf22581a24bb8e5ed7cdf0d6" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "bfb2af02b9ffe267cb95bed81de39fcc126ea3d8d9152362a70e3160a6f3f341" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "297144345882836170e8ca2af93fdedb92483530c36d8664d9d62905591dd030" - sha256 cellar: :any_skip_relocation, sequoia: "5ca3cccf300eede349dc09a83b9c997d622de31a17c65a08ea54302793b0505b" - sha256 cellar: :any_skip_relocation, arm64_linux: "4a725fb1210b5252ec0ae250b6da4883598ad81437180f4f6812153e259f49b1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8082d335eef1d9c72abe9e87f079314cb787e5595f5192582f2c37b48ae148a6" + rebuild 1 + sha256 cellar: :any_skip_relocation, arm64_sequoia: "5682c00177539b3eaa9a8d8130f3cc43a2520850861e3e98f97075c3262e58df" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5aad7c818231e5e98f643f411a28494526773c0d963490ad7fa3ec5102237c6c" + sha256 cellar: :any_skip_relocation, ventura: "2c0b81e135238600f847f14e6322afaec6221f330c7444392987ce7471856b46" + sha256 cellar: :any_skip_relocation, x86_64_linux: "8f143af23950ad2328b9fc98405e50f5bd00bc63279a382e06df8f4678b2f6b4" end - depends_on "certifi" => :no_linkage - depends_on "python@3.14" + depends_on "python@3.13" - pypi_packages exclude_packages: "certifi" - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz" - sha256 "40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" + resource "certifi" do + url "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz" + sha256 "3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651" end - resource "anyio" do - url "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz" - sha256 "73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + resource "charset-normalizer" do + url "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz" + sha256 "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" end resource "filetype" do @@ -57,44 +38,19 @@ class Mmemoji < Formula sha256 "66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb" end - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end - resource "mattermostautodriver" do - url "https://files.pythonhosted.org/packages/54/e9/6c73ea5c9bb78d1042611f7e3c4319c19b86e504056768a9a7f3a4224f8d/mattermostautodriver-11.1.1.tar.gz" - sha256 "18cc4799dd3324ae5dd828b3e69a1449237442bff458950990f035d5873df30e" + resource "mattermostdriver" do + url "https://files.pythonhosted.org/packages/b7/01/3a62b245848e95eda10525dd47b50cc97f6171a6902fbff95f7d182afea6/mattermostdriver-7.3.2.tar.gz" + sha256 "2e4d7b4a17d3013e279c6f993746ea18cd60b45d8fa3be24f47bc2de22b9b3b4" end - resource "multidict" do - url "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" - sha256 "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" + resource "requests" do + url "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz" + sha256 "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760" end resource "tabulate" do @@ -103,13 +59,18 @@ class Mmemoji < Formula end resource "unidecode" do - url "https://files.pythonhosted.org/packages/94/7d/a8a765761bbc0c836e397a2e48d498305a865b70a8600fd7a942e85dcf63/Unidecode-1.4.0.tar.gz" - sha256 "ce35985008338b676573023acc382d62c264f307c8f7963733405add37ea2b23" + url "https://files.pythonhosted.org/packages/f7/89/19151076a006b9ac0dd37b1354e031f5297891ee507eb624755e58e10d3e/Unidecode-1.3.8.tar.gz" + sha256 "cfdb349d46ed3873ece4586b96aa75258726e2fa8ec21d6f00a591d98806c2f4" + end + + resource "urllib3" do + url "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz" + sha256 "f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" end - resource "yarl" do - url "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" - sha256 "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" + resource "websockets" do + url "https://files.pythonhosted.org/packages/2e/7a/8bc4d15af7ff30f7ba34f9a172063bfcee9f5001d7cef04bee800a658f33/websockets-15.0.tar.gz" + sha256 "ca36151289a15b39d8d683fd8b7abbe26fc50be311066c5f8dcf3cb8cee107ab" end def install diff --git a/Formula/m/mnamer.rb b/Formula/m/mnamer.rb index f1927734bb..d227e8d20a 100644 --- a/Formula/m/mnamer.rb +++ b/Formula/m/mnamer.rb @@ -3,24 +3,21 @@ class Mnamer < Formula desc "Media file renaming and organizing tool" homepage "https://github.com/jkwill87/mnamer" - url "https://files.pythonhosted.org/packages/80/92/0c8dddccbbca6df0ceade9d595c3bfec2f5de47110b40ad5f008be44a814/mnamer-2.6.0.tar.gz" - sha256 "0af4f0fa681f59a43fabbc0f7fcf488b6bd8ed120ae0d52d2eb72be3d066a993" + url "https://files.pythonhosted.org/packages/7c/27/8cbd8e1565d6ec3f312a6b29f4cae55aa36d7e24927c0da408176f99f90c/mnamer-2.5.5.tar.gz" + sha256 "c3905b7fc03e07b5b22d92f29ce9c80cc2c2788cebe35e2297fe9f3a4ce7fbf3" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "fc374ddf42f4ec984e277135ed9485ed4f607ae96e8735f86772e98ecf128b42" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "fc374ddf42f4ec984e277135ed9485ed4f607ae96e8735f86772e98ecf128b42" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fc374ddf42f4ec984e277135ed9485ed4f607ae96e8735f86772e98ecf128b42" - sha256 cellar: :any_skip_relocation, sequoia: "22d19574e484fe916bcf760df976658ce01f6f7a0dabf22a009552bba7517a95" - sha256 cellar: :any_skip_relocation, arm64_linux: "22d19574e484fe916bcf760df976658ce01f6f7a0dabf22a009552bba7517a95" - sha256 cellar: :any_skip_relocation, x86_64_linux: "22d19574e484fe916bcf760df976658ce01f6f7a0dabf22a009552bba7517a95" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "319a2eacfadbb4d396bc1c48b4bf6aa3a1cc32fb69109e0f64165467cbe28218" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ecbc0d99957eaf0ffd67b7d8540947c4a09ebfd3544c5e4bd8ad73c9d72d8971" + sha256 cellar: :any_skip_relocation, ventura: "afa98ef7825e95d947220b42a7c829d375a8af716df13f87301bd488c5d9e9bf" + sha256 cellar: :any_skip_relocation, x86_64_linux: "5528eac87bf2dc78ed494d9121c735344c242727f088859f74a844eab0012ef8" end - depends_on "certifi" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: "certifi" + depends_on "pkgconf" => :build + depends_on "rust" => :build + depends_on "python@3.13" resource "appdirs" do url "https://files.pythonhosted.org/packages/d7/d8/05696357e0311f5b5c316d7b95f46c669dd9c15aaeecbb48c7d0aeb88c40/appdirs-1.4.4.tar.gz" @@ -28,8 +25,8 @@ class Mnamer < Formula end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz" + sha256 "1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e" end resource "babelfish" do @@ -38,28 +35,33 @@ class Mnamer < Formula end resource "cattrs" do - url "https://files.pythonhosted.org/packages/6e/00/2432bb2d445b39b5407f0a90e01b9a271475eea7caf913d7a86bcb956385/cattrs-25.3.0.tar.gz" - sha256 "1ac88d9e5eda10436c4517e390a4142d88638fe682c436c93db7ce4a277b884a" + url "https://files.pythonhosted.org/packages/64/65/af6d57da2cb32c076319b7489ae0958f746949d407109e3ccf4d115f147c/cattrs-24.1.2.tar.gz" + sha256 "8028cfe1ff5382df59dd36474a86e02d817b06eaf8af84555441bac915d2ef85" + end + + resource "certifi" do + url "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz" + sha256 "3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz" + sha256 "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3" end resource "guessit" do - url "https://files.pythonhosted.org/packages/d0/07/5a88020bfe2591af2ffc75841200b2c17ff52510779510346af5477e64cd/guessit-3.8.0.tar.gz" - sha256 "6619fcbbf9a0510ec8c2c33744c4251cad0507b1d573d05c875de17edc5edbed" + url "https://files.pythonhosted.org/packages/96/5f/64304acee35bac703cee51656a5caf37bd18c9490561fbff225922f41d39/guessit-3.7.1.tar.gz" + sha256 "2c18d982ee6db30db5d59557add0324a2b49bf3940a752947510632a2b58a3c1" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "packaging" do - url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" - sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" + url "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz" + sha256 "c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f" end resource "python-dateutil" do @@ -73,8 +75,8 @@ class Mnamer < Formula end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz" + sha256 "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760" end resource "requests-cache" do @@ -83,13 +85,13 @@ class Mnamer < Formula end resource "setuptools" do - url "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz" - sha256 "f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c" + url "https://files.pythonhosted.org/packages/d1/53/43d99d7687e8cdef5ab5f9ec5eaf2c0423c2b35133a2b7e7bc276fc32b21/setuptools-75.8.2.tar.gz" + sha256 "4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2" end resource "setuptools-scm" do - url "https://files.pythonhosted.org/packages/7b/b1/19587742aad604f1988a8a362e660e8c3ac03adccdb71c96d86526e5eb62/setuptools_scm-9.2.2.tar.gz" - sha256 "1c674ab4665686a0887d7e24c03ab25f24201c213e82ea689d2f3e169ef7ef57" + url "https://files.pythonhosted.org/packages/98/12/2c1e579bb968759fc512391473340d0661b1a8c96a59fb7c65b02eec1321/setuptools_scm-7.1.0.tar.gz" + sha256 "6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27" end resource "six" do @@ -103,18 +105,18 @@ class Mnamer < Formula end resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + url "https://files.pythonhosted.org/packages/3c/8b/0111dd7d6c1478bf83baa1cab85c686426c7a6274119aceb2bd9d35395ad/typing_extensions-4.7.1.tar.gz" + sha256 "b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2" end resource "url-normalize" do - url "https://files.pythonhosted.org/packages/80/31/febb777441e5fcdaacb4522316bf2a527c44551430a4873b052d545e3279/url_normalize-2.2.1.tar.gz" - sha256 "74a540a3b6eba1d95bdc610c24f2c0141639f3ba903501e61a52a8730247ff37" + url "https://files.pythonhosted.org/packages/ec/ea/780a38c99fef750897158c0afb83b979def3b379aaac28b31538d24c4e8f/url-normalize-1.4.3.tar.gz" + sha256 "d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2" end resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" + url "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz" + sha256 "f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" end def install diff --git a/Formula/m/models.rb b/Formula/m/models.rb deleted file mode 100644 index 2a28fb9a4a..0000000000 --- a/Formula/m/models.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Models < Formula - desc "CLI and TUI for browsing AI models and coding agents" - homepage "https://github.com/arimxyer/models" - url "https://github.com/arimxyer/models/archive/refs/tags/v0.11.3.tar.gz" - sha256 "d4c78bb34bd04389122ba1bc4a3b29c2d803a47c7224616e0f850182189f3921" - license "MIT" - head "https://github.com/arimxyer/models.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "796e5c9e17a2782302558c68eecd672b20ea358a8ad0f44f21cc5b96602a7659" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "dbc90f007748ede3d929ca4f56559a74ae8724db16a1f1417b6ddc9e7e928b57" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "98919cc0d4ed78bb025f03c75eda162f515c9e61b7a5428d7bcb8e3226fcb8ba" - sha256 cellar: :any_skip_relocation, arm64_linux: "f4953a19279d67a8a1f3cfcf4a5be0976f18aa4ebf4fd5fd8e2fdeb56599b6bf" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3538780ee116cf64372f738c799f72d1da5f7bd9c1feb8a26b049f1a83e63fe2" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - bin.install_symlink bin/"models" => "agents" - end - - test do - assert_match version.to_s, shell_output("#{bin}/models --version") - - output = shell_output("#{bin}/agents list-sources") - assert_match "Claude Code", output - assert_match "Codex", output - end -end diff --git a/Formula/m/molotov.rb b/Formula/m/molotov.rb index 1a1d9366ac..e163d76dcc 100644 --- a/Formula/m/molotov.rb +++ b/Formula/m/molotov.rb @@ -9,17 +9,14 @@ class Molotov < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ac78047b93b4368ffff8614d126207e12b05cae2169d262de3e4f9638179c404" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "83c9e88f6ad2b8fa4bc7134b8de9005f5b70fd9845c0342ab3d65f838471ce74" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "399579654ca180fa94bd0abe1ab0f246fd05d2b3184cc0a3d12a3189f47f19e1" - sha256 cellar: :any_skip_relocation, sequoia: "68902258e9ebb3b47813cd0cb365786df03190fb9d428f356f24f4e7cd8a444a" - sha256 cellar: :any_skip_relocation, arm64_linux: "6ace3eda1df55664cefb4694459c559920c87686948f099145f593b1fe15438d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "db90959a5c49c1958cfaacd0876c4804fc543f7465d831f16d2725fc7c6757bd" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "6a6e6baf5948e63275f6c0fd39e6dfd4ed825562083ff52d1774c378b70ef3b0" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5c39e26d90f0335fef34ec630efc52f146388a70a301d94cba4f57cc873a6c39" + sha256 cellar: :any_skip_relocation, ventura: "ff5f2bd92ddae9bbd1f4b63ce123393d8c49f28d7629707cf991cc890a4e3c2b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "90f9675918b9b86a791de0d484f1aa23a108de6e25c260afa04e183db5934dbd" end depends_on "python-setuptools" - depends_on "python@3.14" + depends_on "python@3.13" resource "aiodogstatsd" do url "https://files.pythonhosted.org/packages/8d/ea/d2d79661f213f09df0e9f56d25dbae41501880822e5c85a0a6d6857baa55/aiodogstatsd-0.16.0.post0.tar.gz" @@ -32,18 +29,18 @@ class Molotov < Formula end resource "aiohttp" do - url "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz" - sha256 "40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca" + url "https://files.pythonhosted.org/packages/93/6b/850a842871ab7be0d00686750d0ee9d8fb8e7be981e4e5700bb6c88f1b8f/aiohttp-3.12.11.tar.gz" + sha256 "a5149ae1b11ce4cf8b122846bfa3d7c5f29fe3bfe6745ab21b3eea9615bc5564" end resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" + url "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz" + sha256 "a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "dill" do @@ -52,23 +49,23 @@ class Molotov < Formula end resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" + url "https://files.pythonhosted.org/packages/5b/bf/a812e2fe6cb3f6c6cfc8d0303bf1742f2286004e5ec41ac8c89cf68cdb54/frozenlist-1.6.2.tar.gz" + sha256 "effc641518696471cf4962e8e32050133bc1f7b2851ae8fd0cb8797dd70dc202" end resource "humanize" do - url "https://files.pythonhosted.org/packages/b6/43/50033d25ad96a7f3845f40999b4778f753c3901a11808a584fed7c00d9f5/humanize-4.14.0.tar.gz" - sha256 "2fa092705ea640d605c435b1ca82b2866a1b601cdf96f076d70b79a855eba90d" + url "https://files.pythonhosted.org/packages/22/d1/bbc4d251187a43f69844f7fd8941426549bbe4723e8ff0a7441796b0789f/humanize-4.12.3.tar.gz" + sha256 "8430be3a615106fdfceb0b2c1b41c4c98c6b0fc5cc59663a5539b111dd325fb0" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "multidict" do - url "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" - sha256 "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5" + url "https://files.pythonhosted.org/packages/91/2f/a3470242707058fe856fe59241eee5635d79087100b7042a867368863a27/multidict-6.4.4.tar.gz" + sha256 "69ee9e6ba214b5245031b76233dd95408a0fd57fdb019ddcc1ead4790932a8e8" end resource "multiprocess" do @@ -77,23 +74,23 @@ class Molotov < Formula end resource "prompt-toolkit" do - url "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz" - sha256 "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" + url "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz" + sha256 "931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed" end resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" + url "https://files.pythonhosted.org/packages/07/c8/fdc6686a986feae3541ea23dcaa661bd93972d3940460646c6bb96e21c40/propcache-0.3.1.tar.gz" + sha256 "40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf" end resource "wcwidth" do - url "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz" - sha256 "4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605" + url "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz" + sha256 "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" end resource "yarl" do - url "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" - sha256 "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" + url "https://files.pythonhosted.org/packages/62/51/c0edba5219027f6eab262e139f73e2417b0f4efffa23bf562f6e18f76ca5/yarl-1.20.0.tar.gz" + sha256 "686d51e51ee5dfe62dec86e4866ee0e9ed66df700d55c828a615640adc885307" end def install diff --git a/Formula/m/moltbook-tui.rb b/Formula/m/moltbook-tui.rb deleted file mode 100644 index 6f8fbb7d68..0000000000 --- a/Formula/m/moltbook-tui.rb +++ /dev/null @@ -1,37 +0,0 @@ -class MoltbookTui < Formula - desc "TUI client for Moltbook, the social network for AI Agents" - homepage "https://terminaltrove.com/moltbook-tui/" - url "https://github.com/terminaltrove/moltbook-tui/archive/refs/tags/v1.0.0.tar.gz" - sha256 "b970101d47776b976ef848424454742a047fcaf1b4fb24f4d0bc4bfdc5b954b7" - license "MIT" - revision 1 - head "https://github.com/terminaltrove/moltbook-tui.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "675aef58c095808c2b5a095d7ccafc742724c9951d6d90b4c82757068517bf32" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "259d19bd55546817539b80f5f022e2608e8634d79a562568576780ec7b03f81e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "863599e371cb359327b3098dadca5465c72b16d854e16230b2812b19c1924539" - sha256 cellar: :any_skip_relocation, arm64_linux: "b266a9b56ea3fdbbda7f6d937a15154b4b9a9be1c0d5e0c6ff3a641ea45dbb5c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fa0b43be778504094a68663399c97800f564bbd9b85d335b4c97562bec415472" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/moltbook --version") - - ENV["TERM"] = "xterm" - cmd = if OS.mac? - "printf 'q' | script -q /dev/null #{bin}/moltbook --no-refresh" - else - "printf 'q' | script -q -c '#{bin}/moltbook --no-refresh' /dev/null" - end - - assert system(cmd) - end -end diff --git a/Formula/m/moltis.rb b/Formula/m/moltis.rb deleted file mode 100644 index c8accdf20a..0000000000 --- a/Formula/m/moltis.rb +++ /dev/null @@ -1,57 +0,0 @@ -class Moltis < Formula - desc "Local-first personal AI gateway with plugin-driven channels" - homepage "https://moltis.org/" - url "https://github.com/moltis-org/moltis/archive/refs/tags/v0.10.18.tar.gz" - sha256 "93ba8daee48bfd3a3782144a5d816ead7b9e2adac6b5a975f60e0fb69380f8ff" - license "MIT" - head "https://github.com/moltis-org/moltis.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b8c56529d6991c58d0b3938be92a5f492e95526c10fdd8cbbf47ee9c20a84723" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a7d44b10539dd1d02d0e75660982c5ed1797b24edf92eab7ded787378061288d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e3cdb148bb90de7f90d759134a361550595ab17217881d49d3c39d30ec71b5ca" - sha256 cellar: :any_skip_relocation, arm64_linux: "5b4ab12e751fbe1e66f25d44e714276c3cf054c213e64334fc6fc2d0b1ff742c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b75a699b843e6971d21ae4f5c1b70ca4daba8c6c9080e43e243f9c9027ee1045" - end - - depends_on "cmake" => :build - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "openssl@3" - - on_linux do - depends_on "llvm" => :build - depends_on "zlib-ng-compat" - end - - def install - ENV["RUSTC_BOOTSTRAP"] = "1" - # Avoid compiling embedded WASM tools on unsupported build targets. - inreplace "Cargo.toml", - 'moltis-tools = { path = "crates/tools" }', - 'moltis-tools = { default-features = false, path = "crates/tools" }' - - if OS.linux? - zlib = Formula["zlib-ng-compat"] - ENV["LIBCLANG_PATH"] = Formula["llvm"].opt_lib.to_s - ENV["ZLIB_ROOT"] = zlib.opt_prefix.to_s - ENV.append_path "PKG_CONFIG_PATH", zlib.opt_lib/"pkgconfig" - ENV.append "LDFLAGS", "-L#{zlib.opt_lib}" - ENV.append "CPPFLAGS", "-I#{zlib.opt_include}" - end - - system "cargo", "install", "--no-default-features", "--features", "lightweight", - *std_cargo_args(path: "crates/cli") - end - - service do - run [opt_bin/"moltis", "gateway"] - keep_alive true - end - - test do - assert_match version.to_s, shell_output("#{bin}/moltis --version") - assert_match "No issues found.", shell_output("#{bin}/moltis config check 2>&1") - end -end diff --git a/Formula/m/mongodb-mcp-server.rb b/Formula/m/mongodb-mcp-server.rb index c2a839c4ee..094b5c8693 100644 --- a/Formula/m/mongodb-mcp-server.rb +++ b/Formula/m/mongodb-mcp-server.rb @@ -1,47 +1,39 @@ class MongodbMcpServer < Formula - desc "MCP Server to connect to MongoDB databases and MongoDB Atlas Clusters" - homepage "https://github.com/mongodb-js/mongodb-mcp-server" - url "https://registry.npmjs.org/mongodb-mcp-server/-/mongodb-mcp-server-1.10.0.tgz" - sha256 "3e9e5701117352c579329332a659bbd7776d12f4ce0d068551c6c9600a517924" + desc "Self-testing CLI documentation tool that generates interactive demos" + homepage "https://deepguide.ai/" + url "https://registry.npmjs.org/mongodb-mcp-server/-/mongodb-mcp-server-0.3.0.tgz" + sha256 "73f3f0fe3db4f5ac7ea618350f86a69a22fa1feb8981e96b218bb3cf5bceede9" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "a81bbb126dc249c2bef3cb5638a24a28e9c0e7f5780eaaf745bc6ed6c49de8e8" - sha256 arm64_sequoia: "53d69398c1c79bdc06991ca20459bbb7511b53c4462dbd5b30bd69234f21fa45" - sha256 arm64_sonoma: "53d69398c1c79bdc06991ca20459bbb7511b53c4462dbd5b30bd69234f21fa45" - sha256 cellar: :any_skip_relocation, arm64_linux: "c78709bb72524ebfd7dbc53bc5067475dd04f5c36fa6c1bf9bdc21104dbb1fdc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "afd9e6d16db4edf0434b54afb9db7b7a3441acc3b0031e172567b8fb909d304d" + sha256 arm64_sequoia: "0a74d8fe5b4ba526e2c8ef8be5bdee7f410a8a8450fb6ef666ee6b1f3be9dcf3" + sha256 arm64_sonoma: "35603e7d271d3994548a09da1646dab7b88a11936e662a83aa2841236eae94d5" + sha256 ventura: "6f4f2a345f76a82026382da45a0b4cabd7a218cf97b2732e89e583daa752d65f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7cfa19f2ec11545eda518f53795e9e9808f03dad77ef6899f056cd10bf59e164" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - - if OS.linux? - # ext-apps vendors Bun platform packages; keep glibc builds but remove - # musl variants to satisfy linkage checks on Homebrew Linux runners. - libexec.glob("lib/node_modules/**/@oven/bun-linux-*-musl*").each(&:rmtree) - end + bin.install_symlink Dir["#{libexec}/bin/*"] end test do assert_match version.to_s, shell_output("#{bin}/mongodb-mcp-server --version") - # TODO: re-enable the json-rpc test - # json = <<~JSON - # {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} - # {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} - # {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}} - # JSON + json = <<~JSON + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} + {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} + {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}} + JSON - # ENV["MDB_MCP_CONNECTION_STRING"] = "mongodb://localhost:27017/myDatabase" - # ENV["MDB_MCP_READ_ONLY"] = "true" + ENV["MDB_MCP_CONNECTION_STRING"] = "mongodb://localhost:27017/myDatabase" + ENV["MDB_MCP_READ_ONLY"] = "true" - # output = pipe_output("#{bin}/mongodb-mcp-server 2>&1", json, 1) - # assert_match "Failed to connect to MongoDB instance using the connection string", output - # assert_match "List all collections for a given database", output + output = pipe_output("#{bin}/mongodb-mcp-server 2>&1", json, 1) + assert_match "Failed to connect to MongoDB instance using the connection string", output + assert_match "List all collections for a given database", output end end diff --git a/Formula/m/monitui.rb b/Formula/m/monitui.rb deleted file mode 100644 index d976b80670..0000000000 --- a/Formula/m/monitui.rb +++ /dev/null @@ -1,56 +0,0 @@ -class Monitui < Formula - desc "Delightfully minimal TUI for wrangling Hyprland monitors" - homepage "https://github.com/nathaniel-fargo/monitui" - url "https://github.com/nathaniel-fargo/monitui/archive/8d69ac3f437073ef181866c2a20aac345bf27718.tar.gz" - version "0.2.3" - sha256 "c9323d8b6fefa739e9aeba9a07fe6c15b3133ff475f6cb2d837c31ea5c4e3129" - license "MIT" - head "https://github.com/nathaniel-fargo/monitui.git", branch: "main" - - livecheck do - skip "no tagged releases" - end - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "26383a4ef0c055352385b1997222737ccf25ec08928904d8da75d5177e275fef" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2c824557421ea50b2f17f6c4e1245f3dccc42c5e421e183047787fba930ab87a" - end - - depends_on "rust" => :build - depends_on :linux - - def install - system "cargo", "install", *std_cargo_args(path: ".") - end - - test do - assert_match version.to_s, shell_output("#{bin}/monitui --help") - - monitor_json = testpath/"monitors.json" - monitor_json.write <<~JSON - [ - {"id":0,"name":"eDP-1","description":"Built-in","make":"Apple","model":"Display","serial":"1","width":1728,"height":1117,"refreshRate":60.0,"x":0,"y":0,"activeWorkspace":{"id":1,"name":"1"},"specialWorkspace":{"id":0,"name":""},"reserved":[0,0,0,0],"scale":2.0,"transform":0,"focused":true,"dpmsStatus":true,"vrr":false,"activelyTearing":false,"disabled":false,"currentFormat":"XRGB8888","availableModes":["1728x1117@60"]}, - {"id":1,"name":"HDMI-A-1","description":"External","make":"Dell","model":"U2720Q","serial":"2","width":3840,"height":2160,"refreshRate":60.0,"x":1728,"y":0,"activeWorkspace":{"id":2,"name":"2"},"specialWorkspace":{"id":0,"name":""},"reserved":[0,0,0,0],"scale":1.0,"transform":0,"focused":false,"dpmsStatus":true,"vrr":false,"activelyTearing":false,"disabled":true,"currentFormat":"XRGB8888","availableModes":["3840x2160@60"]} - ] - JSON - - (testpath/"bin").mkpath - (testpath/"bin/hyprctl").write <<~SH - #!/bin/sh - if [ "$1" = "-j" ] && [ "$2" = "monitors" ] && [ "$3" = "all" ]; then - cat "#{monitor_json}" - else - echo "unexpected hyprctl args: $*" >&2 - exit 1 - fi - SH - chmod 0755, testpath/"bin/hyprctl" - - assert_match "\"name\":\"eDP-1\"", shell_output("#{testpath}/bin/hyprctl -j monitors all") - - output = shell_output("env PATH=#{testpath}/bin:#{ENV.fetch("PATH")} #{bin}/monitui --list") - assert_match "eDP-1 - enabled", output - assert_match "HDMI-A-1 - DISABLED", output - end -end diff --git a/Formula/m/motus.rb b/Formula/m/motus.rb deleted file mode 100644 index b4c7836f61..0000000000 --- a/Formula/m/motus.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Motus < Formula - desc "Dead simple password generator" - homepage "https://github.com/oleiade/motus" - url "https://github.com/oleiade/motus/archive/refs/tags/v0.4.0.tar.gz" - sha256 "eaa547e0821906cba7553ff7a51309cc39d450b215748a907bd7db1614ce0c85" - license "AGPL-3.0-only" - head "https://github.com/oleiade/motus.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7598c46b813e3705d78fbc6c9b53ed0d97d4ee3519c51e8518a3aa65af26a6c4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "234192f8f44bec41f461c85594d342c69529d10f911b4f0224832d2c8431dc04" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "208ed5ebe18819c514e08f7b8a54d5dd789b64dd2801020a586caf2a99ff35e8" - sha256 cellar: :any_skip_relocation, arm64_linux: "b94fecef2102a730443f6abc46f498fdc11fdaad599b40413db7e5524402e0b4" - sha256 cellar: :any_skip_relocation, x86_64_linux: "646350e598b76a31fea15fdf4b7306b25f71e5053fe45f0d18a746fbd5274e20" - end - - depends_on "rust" => :build - - def install - # The clipboard feature pulls in GUI-specific X11 clipboard support on Linux. - system "cargo", "install", *std_cargo_args(path: "crates/motus-cli"), "--no-default-features" - end - - test do - expected = '{"kind":"random","password":"BC6%!vMSga9A"}' - output = shell_output("#{bin}/motus --seed 42 --output json random -c 12 -n -s").strip - assert_equal expected, output - end -end diff --git a/Formula/m/mqtt-cli.rb b/Formula/m/mqtt-cli.rb index cf0ecb0fc0..2be62a65bf 100644 --- a/Formula/m/mqtt-cli.rb +++ b/Formula/m/mqtt-cli.rb @@ -1,154 +1,56 @@ class MqttCli < Formula desc "CLI for connecting various MQTT clients supporting MQTT 5.0 and 3.1.1" homepage "https://hivemq.github.io/mqtt-cli/" - url "https://github.com/hivemq/mqtt-cli/archive/refs/tags/v4.50.0.tar.gz" - sha256 "8f938ca1e01b24f3162888c6ede68295391af10a888f177906cf04706e794516" + url "https://github.com/hivemq/mqtt-cli/archive/refs/tags/v4.43.0.tar.gz" + sha256 "620ae91e25f2b26339dd1950ef91b4c0562bb1d39fe07313aded55e424297ac4" license "Apache-2.0" head "https://github.com/hivemq/mqtt-cli.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "78086e80a4697244f2f5bd23f4df3f383c65745dced375ca872e3f15d4683a4f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "78086e80a4697244f2f5bd23f4df3f383c65745dced375ca872e3f15d4683a4f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "78086e80a4697244f2f5bd23f4df3f383c65745dced375ca872e3f15d4683a4f" - sha256 cellar: :any_skip_relocation, arm64_linux: "ca83f6db27065c2c5f145f242829193f7bdd5a512a5f22ed630db4919b5cb965" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ca83f6db27065c2c5f145f242829193f7bdd5a512a5f22ed630db4919b5cb965" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "0ca0349f7c50d2ed25704f051cf11545abdc3cb704417afeb7c5627f467474dd" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ddc586e88d0f210fd45fcdee3cddb041a5986ab5da76e5147844d148810ce603" + sha256 cellar: :any_skip_relocation, ventura: "89c57c01ab29c7c1a8a2711ba13dbb2b33ea14c549e66662f1e82a350fa3a0b4" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b8c6a1ae1f84e9f2174ec336dc6060bd94e1b36f408c16518caa80bd4c61c259" end - depends_on "openjdk@21" + depends_on "openjdk" - # Normalize toolchain to Java 21 for Homebrew's openjdk@21 runtime. + # update toolchain to Java 24 patch :DATA def install - ENV["JAVA_HOME"] = Formula["openjdk@21"].opt_prefix + ENV["JAVA_HOME"] = Formula["openjdk"].opt_prefix system "./gradlew", "shadowJar", "--no-daemon", "-x", "test" libexec.install "build/libs/mqtt-cli-#{version}.jar" => "mqtt-cli.jar" - java = Formula["openjdk@21"].opt_bin/"java" - (bin/"mqtt").write <<~SH - #!/bin/bash - exec "#{java}" -jar "#{libexec}/mqtt-cli.jar" "$@" - SH + bin.write_jar_script libexec/"mqtt-cli.jar", "mqtt" end test do assert_match version.to_s, shell_output("#{bin}/mqtt --version") - require "socket" + require "timeout" + output = "" + io = IO.popen("#{bin}/mqtt sub -t test/brewtest -h test.mosquitto.org") + begin + sleep 1 - decode_remaining_length = lambda do |io| - multiplier = 1 - value = 0 - bytes = [] + system bin/"mqtt", "pub", "--verbose", "-t", "test/brewtest", "-m", "Hello, World!", "-h", "test.mosquitto.org" - loop do - byte = io.read(1)&.ord - raise "Failed to read MQTT remaining length" if byte.nil? - - bytes << byte - value += (byte & 0x7f) * multiplier - break if byte.nobits?(0x80) - - multiplier *= 128 - end - - [value, bytes] - end - - read_packet = lambda do |io| - header = io.read(1) - raise "Failed to read MQTT packet type" if header.nil? - - remaining_length, remaining_length_bytes = decode_remaining_length.call(io) - payload = io.read(remaining_length) - raise "Failed to read complete MQTT packet" if payload.nil? || payload.bytesize != remaining_length - - header + remaining_length_bytes.pack("C*") + payload - end - - parse_connect_protocol_level = lambda do |packet| - index = 1 - loop do - byte = packet.getbyte(index) - index += 1 - break if byte.nobits?(0x80) - end - - protocol_name_length = packet.byteslice(index, 2).unpack1("n") - index += 2 + protocol_name_length - packet.getbyte(index) - end - - parse_publish_packet = lambda do |packet, protocol_level| - index = 1 - loop do - byte = packet.getbyte(index) - index += 1 - break if byte.nobits?(0x80) - end - - topic_length = packet.byteslice(index, 2).unpack1("n") - index += 2 - topic = packet.byteslice(index, topic_length) - index += topic_length - qos = (packet.getbyte(0) >> 1) & 0x03 - index += 2 if qos.positive? - - if protocol_level == 5 - property_length = 0 - multiplier = 1 - - loop do - byte = packet.getbyte(index) - index += 1 - property_length += (byte & 0x7f) * multiplier - break if byte.nobits?(0x80) - - multiplier *= 128 + Timeout.timeout(5) do + while (line = io.gets) + output << line + break if output.include?("Hello, World!") end - - index += property_length - end - - payload = packet.byteslice(index, packet.bytesize - index) - - [topic, payload] - end - - server = TCPServer.new("127.0.0.1", 0) - port = server.addr[1] - published_packet = nil - protocol_level = nil - - server_thread = Thread.new do - client = server.accept - connect_packet = read_packet.call(client) - protocol_level = parse_connect_protocol_level.call(connect_packet) - connack = if protocol_level == 5 - [0x20, 0x03, 0x00, 0x00, 0x00].pack("C*") - else - [0x20, 0x02, 0x00, 0x00].pack("C*") end - client.write(connack) - published_packet = read_packet.call(client) ensure - client&.close - server.close unless server.closed? + # Terminate the subscriber process + Process.kill("TERM", io.pid) + io.close end - message = "hello-from-brew" - shell_output("#{bin}/mqtt pub -h 127.0.0.1 -p #{port} -t test/brewtest -m #{message}") - - server_thread.join(15) || raise("Timed out waiting for mqtt-cli to publish") - server_thread.value - - refute_nil published_packet - assert_equal 3, published_packet.getbyte(0) >> 4 - - topic, payload = parse_publish_packet.call(published_packet, protocol_level) - assert_equal "test/brewtest", topic - assert_equal message, payload + assert_match "Hello, World!", output end end @@ -162,14 +64,14 @@ def install java { toolchain { - languageVersion = JavaLanguageVersion.of(21) -+ languageVersion = JavaLanguageVersion.of(21) ++ languageVersion = JavaLanguageVersion.of(24) } } tasks.compileJava { javaCompiler = javaToolchains.compilerFor { - languageVersion = JavaLanguageVersion.of(11) -+ languageVersion = JavaLanguageVersion.of(21) ++ languageVersion = JavaLanguageVersion.of(24) } } @@ -182,6 +84,6 @@ def install java { toolchain { - languageVersion = JavaLanguageVersion.of(11) -+ languageVersion = JavaLanguageVersion.of(21) ++ languageVersion = JavaLanguageVersion.of(24) } } diff --git a/Formula/m/msgvault.rb b/Formula/m/msgvault.rb deleted file mode 100644 index 7f624c8342..0000000000 --- a/Formula/m/msgvault.rb +++ /dev/null @@ -1,47 +0,0 @@ -class Msgvault < Formula - desc "Offline email archive with fast search and analytics" - homepage "https://msgvault.io" - url "https://github.com/wesm/msgvault/archive/refs/tags/v0.14.1.tar.gz" - sha256 "d4e97b8098ad3eaeb85b11ec157619045118d36fc14b1761921b67013d410f09" - license "MIT" - head "https://github.com/wesm/msgvault.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c60d8fc9dfc2c8f94f96088458341da96b7b9d9c7cc02a0017ccad8b136fa320" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3f481690f69b1a2bf15f24149be1e263b1b1b945e9c3b3e8de4b9b75eaf2c965" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8a43a63877761ba8926fa54d16e039b2383fea605a2324830c0942b89105f39e" - sha256 cellar: :any_skip_relocation, arm64_linux: "a013175b254ccca80193cb29a38766a321771cd318c52c6ecf5a59c18c639e99" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d60580e90f938a63394b1f2c8649983d380933b7da768bf3a51bfc627939a4e0" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/wesm/msgvault/cmd/msgvault/cmd.Version=#{version} - -X github.com/wesm/msgvault/cmd/msgvault/cmd.Commit=homebrew - -X github.com/wesm/msgvault/cmd/msgvault/cmd.BuildDate=#{time.iso8601} - ] - - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - system "go", "build", *std_go_args(ldflags:), "-tags", "fts5", "./cmd/msgvault" - - ENV["MSGVAULT_HOME"] = buildpath/".msgvault" - generate_completions_from_executable(bin/"msgvault", "completion") - end - - test do - ENV["MSGVAULT_HOME"] = testpath.to_s - - assert_match version.to_s, shell_output("#{bin}/msgvault version") - - init_output = shell_output("#{bin}/msgvault init-db") - assert_match "Database:", init_output - assert_match "Messages: 0", init_output - - stats_output = shell_output("#{bin}/msgvault stats --local") - assert_match "Accounts: 0", stats_output - end -end diff --git a/Formula/m/mtef.rb b/Formula/m/mtef.rb deleted file mode 100644 index 5ab2d0be50..0000000000 --- a/Formula/m/mtef.rb +++ /dev/null @@ -1,145 +0,0 @@ -class Mtef < Formula - include Language::Python::Virtualenv - - desc "CLI for deploying and managing mcp-tef" - homepage "https://github.com/StacklokLabs/mcp-tef/tree/main/cli" - url "https://github.com/StacklokLabs/mcp-tef/releases/download/cli-v0.0.3/mcp_tef_cli-0.0.3.tar.gz" - sha256 "ca7e7d771731e587f0c8160b06f21a26404cab134decd598af595c86c1fd6d8a" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "eab54fb9e30fbbd304d339494b92997fee17289c15c6398fca75faaf452a202e" - sha256 cellar: :any, arm64_sequoia: "9113256b6625bd63411a6cb91e2263e5baa0d003a08c9e40be1d481e23594518" - sha256 cellar: :any, arm64_sonoma: "65d8382d689c8d5324c005221b3a9593b51f770525420420474a0deb40cb9436" - sha256 cellar: :any_skip_relocation, arm64_linux: "8bb95a8c1dc343fb2875241eb89e319359c9061ff31d954e1eea2582a2ecb593" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0121e3145acef60309487090e2e8f9a23803af6480de83cf4efac20b9c1dd463" - end - - depends_on "rust" => :build - depends_on "python@3.13" - - resource "annotated-types" do - url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" - sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz" - sha256 "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz" - sha256 "ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "docker" do - url "https://files.pythonhosted.org/packages/91/9b/4a2ea29aeba62471211598dac5d96825bb49348fa07e906ea930394a83ce/docker-7.1.0.tar.gz" - sha256 "ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "pydantic" do - url "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz" - sha256 "4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49" - end - - resource "pydantic-core" do - url "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz" - sha256 "08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz" - sha256 "b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "typing-inspection" do - url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" - sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - def install - # Upstream hardcodes 0.1.0 in source; align CLI output to the tagged release version. - inreplace "src/mcp_tef_cli/__init__.py", '__version__ = "0.1.0"', "__version__ = \"#{version}\"" - - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/mtef --version") - - output = shell_output("#{bin}/mtef test-case create --from-file test-cases.json --set BAD 2>&1", 10) - assert_match "Invalid --set format", output - end -end diff --git a/Formula/m/mult.rb b/Formula/m/mult.rb deleted file mode 100644 index 169c3223a6..0000000000 --- a/Formula/m/mult.rb +++ /dev/null @@ -1,67 +0,0 @@ -class Mult < Formula - desc "Run a command multiple times and glance at the outputs" - homepage "https://github.com/dhth/mult" - url "https://github.com/dhth/mult/archive/refs/tags/v0.3.0.tar.gz" - sha256 "b8115600e51155a8b2f639c90a4f50c1a019b3551e80b9c9843a729fd711b453" - license "MIT" - head "https://github.com/dhth/mult.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "13a0b1a1b73dacb092e1ffc2a418d3871cc57b75763e83a547f9d7d17f9b6039" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "13a0b1a1b73dacb092e1ffc2a418d3871cc57b75763e83a547f9d7d17f9b6039" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "13a0b1a1b73dacb092e1ffc2a418d3871cc57b75763e83a547f9d7d17f9b6039" - sha256 cellar: :any_skip_relocation, arm64_linux: "dee538d1687fad7a4bebfa05b19ccc18d537f5a89f25a723412572a9c6701d08" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ce9338ddeefb6d8b95ca39a12e76678108265c0dfd80a954e04da9c613d22c42" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match "Run a command multiple times", shell_output("#{bin}/mult --help") - - output = +"" - require "pty" - - PTY.spawn(bin/"mult", "-s", "-n", "2", "--", "sh", "-c", "printf 'hi\\n'") do |r, w, pid| - deadline = Time.now + 5 - while Time.now < deadline - next unless r.wait_readable(0.2) - - begin - output << r.read_nonblock(4096) - rescue IO::WaitReadable - next - rescue EOFError, Errno::EIO - break - end - - break if output.include?("average time:") - end - - w.write "q" - w.close - - Timeout.timeout(5) do - loop do - output << r.read_nonblock(4096) - rescue IO::WaitReadable - r.wait_readable(0.2) - retry - rescue EOFError, Errno::EIO - break - end - ensure - Process.wait(pid) - end - end - - assert_match "2 runs", output - assert_match "finished after", output - assert_match "average time:", output - end -end diff --git a/Formula/m/mush.rb b/Formula/m/mush.rb deleted file mode 100644 index f92d31dfc7..0000000000 --- a/Formula/m/mush.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Mush < Formula - desc "Build system for shell packages" - homepage "https://github.com/javanile/mush" - url "https://github.com/javanile/mush/archive/refs/tags/0.2.0.tar.gz" - sha256 "131beca689a347402f8cc67d54208c93e8abd7d79207d8d964e93ebd2b37bc48" - license "MIT" - head "https://github.com/javanile/mush.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "5539a76807ea357c72c787dea0955f7daa017b57f4da32792ae7229612381943" - end - - depends_on "bash" - - def install - inreplace "bin/mush", - "#!/usr/bin/env bash", - "#!#{Formula["bash"].opt_bin}/bash" - inreplace "bin/mush", - 'VERSION="Mush 0.1.1 (2023-11-03)"', - 'VERSION="Mush 0.2.0"' - - bin.install "bin/mush" - end - - test do - system bin/"mush", "new", "demo" - - assert_match "0.2.0", shell_output("#{bin}/mush --version") - assert_path_exists testpath/"demo/Manifest.toml" - assert_path_exists testpath/"demo/src/main.sh" - end -end diff --git a/Formula/m/mynav.rb b/Formula/m/mynav.rb deleted file mode 100644 index e3ecc7878b..0000000000 --- a/Formula/m/mynav.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Mynav < Formula - desc "Workspace and session management TUI" - homepage "https://github.com/GianlucaP106/mynav" - url "https://github.com/GianlucaP106/mynav/archive/refs/tags/v2.2.0.tar.gz" - sha256 "323a1461f90adc233a6778f32b6829b1ed366de39e34477f7c852afaa25facad" - license "MIT" - head "https://github.com/GianlucaP106/mynav.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "151f6d60cbfb129253eb809cf883673a4c5e33740d3d8d8a0afd4097380eb294" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2777bcb6aa28fb7bc01fa8c8be30649361c1c5bc92a18e5f428292209acce261" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "752b66f53fa965f964962169e6585cc44aa85e4f8845314def6305a5228c4e45" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e28d6e379027f568b00e4621d2e192250c06bb0541caa09a2a5fd85b66863952" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match version.to_s, shell_output("#{bin}/mynav -version") - - begin - output_log = testpath/"output.log" - pid = spawn bin/"mynav", "-path", testpath, [:out, :err] => output_log.to_s - sleep 1 - assert_match "failed to initialize tcell screen", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/n/namespace-cli.rb b/Formula/n/namespace-cli.rb deleted file mode 100644 index 364c4e5ecd..0000000000 --- a/Formula/n/namespace-cli.rb +++ /dev/null @@ -1,32 +0,0 @@ -class NamespaceCli < Formula - desc "Command-line interface for the Namespaces platform" - homepage "https://github.com/namespacelabs/foundation" - url "https://github.com/namespacelabs/foundation.git", - tag: "v0.0.504", - revision: "f94516f555611409d7b19d38982edd76efe32263" - license "Apache-2.0" - head "https://github.com/HarishChandran3304/better-env.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "72c83f370e2fd2150f0509d3c984c04620a8d503238556e9cb2a59ffae5aa078" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "72c83f370e2fd2150f0509d3c984c04620a8d503238556e9cb2a59ffae5aa078" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "72c83f370e2fd2150f0509d3c984c04620a8d503238556e9cb2a59ffae5aa078" - sha256 cellar: :any_skip_relocation, arm64_linux: "508d41188cba28a23fcd99752c72b7048daa0f79df3f0a02adc29254b65d2668" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6fe0a2d7a3afb36454b2d6c4ae759996b37c0650a3aef63f45e84a2ba4faaf64" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X namespacelabs.dev/foundation/internal/cli/version.Tag=#{version}" - system "go", "build", *std_go_args(ldflags:, output: bin/"nsc"), "./cmd/nsc" - end - - test do - assert_match version.to_s, shell_output("#{bin}/nsc version") - - assert_match "not logged in", shell_output("#{bin}/nsc list 2>&1", 1) - assert_match "failed to get authentication token", shell_output("#{bin}/nsc registry list 2>&1", 1) - end -end diff --git a/Formula/n/nanoclaw.rb b/Formula/n/nanoclaw.rb deleted file mode 100644 index 9db1098aa0..0000000000 --- a/Formula/n/nanoclaw.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Nanoclaw < Formula - desc "Personal Claude assistant with container-isolated agents" - homepage "https://nanoclaw.dev" - url "https://github.com/qwibitai/nanoclaw/archive/226b520131fbdbdbd2758fbf6ae4b1a2b7cf680f.tar.gz" - version "1.1.0" - sha256 "006a3ed9365f587fde1ba28482893a283a3e204e4c7eab2e6043bd128b14e012" - license "MIT" - head "https://github.com/qwibitai/nanoclaw.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "5eed76b3f8cdf7cca0448192aef923f4c14c8bb94d3cd1273724e57ea39c4059" - sha256 cellar: :any, arm64_sequoia: "ee56c0175da9b9654fa642ddee01abf044666ba6552c825f9890978272ae6ae5" - sha256 cellar: :any, arm64_sonoma: "3bc56d3a37c14ef206542bf2c6cb285abfbce0b71aaa948a90fe80782c1800bd" - sha256 cellar: :any_skip_relocation, arm64_linux: "dca19e1d8898a9ebc948cf2b024e217b50e761e06007d256d752d371bf0c9832" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ed3e9959a2488037028f8ad7888cf8b8372644384a3dc4ac0f3e76a1510cfbca" - end - - depends_on "node@24" - - def install - npm = Formula["node@24"].opt_bin/"npm" - system npm, "ci" - system npm, "run", "build" - system npm, "prune", "--omit=dev" - rm_r Dir["node_modules/@img/*linuxmusl*"] - - libexec.install Dir["*"] - - (bin/"nanoclaw").write <<~SH - #!/bin/bash - if [[ "$1" == "--version" || "$1" == "version" ]]; then - echo "#{version}" - exit 0 - fi - - exec "#{Formula["node@24"].opt_bin}/node" "#{libexec}/dist/index.js" "$@" - SH - chmod 0755, bin/"nanoclaw" - end - - test do - assert_match version.to_s, shell_output("#{bin}/nanoclaw --version") - - node_eval = <<~EOS - import('#{libexec}/dist/index.js').then(() => console.log('load-ok')) - EOS - - output = shell_output( - "#{Formula["node@24"].opt_bin}/node -e \"#{node_eval}\"", - ) - assert_match "load-ok", output - end -end diff --git a/Formula/n/nbcat.rb b/Formula/n/nbcat.rb deleted file mode 100644 index 3a13d76080..0000000000 --- a/Formula/n/nbcat.rb +++ /dev/null @@ -1,171 +0,0 @@ -class Nbcat < Formula - include Language::Python::Virtualenv - - desc "Preview Jupyter notebooks directly in your terminal" - homepage "https://github.com/akopdev/nbcat" - url "https://files.pythonhosted.org/packages/7a/f0/928e7337b2c9c5f38426c592608d21b5fba19cacb7fc6c76e40a7ac4c176/nbcat-1.0.0.tar.gz" - sha256 "6b039b7d75ea0da3deee8796e3f30b4a1b4c3cf3d5decac197b201e0090b5b6d" - license "MIT" - head "https://github.com/akopdev/nbcat.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4d3f9fb8441fc8f54d44ce82b9d89cc1aff096a16ad2c57bda34ce7278e1fd1f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4d3f9fb8441fc8f54d44ce82b9d89cc1aff096a16ad2c57bda34ce7278e1fd1f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4d3f9fb8441fc8f54d44ce82b9d89cc1aff096a16ad2c57bda34ce7278e1fd1f" - sha256 cellar: :any_skip_relocation, arm64_linux: "44c74ea1b9dde51c32ff84da019b1a8f58d3f25fcdb9af1df1ec42c2f57d8d35" - sha256 cellar: :any_skip_relocation, x86_64_linux: "44c74ea1b9dde51c32ff84da019b1a8f58d3f25fcdb9af1df1ec42c2f57d8d35" - end - - depends_on "pillow" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: %w[pillow pydantic] - - resource "hatchling" do - url "https://files.pythonhosted.org/packages/cf/9c/b4cfe330cd4f49cff17fd771154730555fa4123beb7f292cf0098b4e6c20/hatchling-1.29.0.tar.gz" - sha256 "793c31816d952cee405b83488ce001c719f325d9cda69f1fc4cd750527640ea6" - end - - resource "argcomplete" do - url "https://files.pythonhosted.org/packages/38/61/0b9ae6399dd4a58d8c1b1dc5a27d6f2808023d0b5dd3104bb99f45a33ff6/argcomplete-3.6.3.tar.gz" - sha256 "62e8ed4fd6a45864acc8235409461b72c9a28ee785a2011cc5eb78318786c89c" - end - - resource "beautifulsoup4" do - url "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz" - sha256 "6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz" - sha256 "e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz" - sha256 "1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "markdownify" do - url "https://files.pythonhosted.org/packages/3f/bc/c8c8eea5335341306b0fa7e1cb33c5e1c8d24ef70ddd684da65f41c49c92/markdownify-1.2.2.tar.gz" - sha256 "b274f1b5943180b031b699b199cbaeb1e2ac938b75851849a31fd0c3d6603d09" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" - sha256 "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "soupsieve" do - url "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz" - sha256 "3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/72/23/8c709655c5f2208ee82ab81b8104802421865535c278a7649b842b129db1/textual-8.1.1.tar.gz" - sha256 "eef0256a6131f06a20ad7576412138c1f30f92ddeedd055953c08d97044bc317" - end - - resource "textual-image" do - url "https://files.pythonhosted.org/packages/1a/64/e5e49b639794f0ae426f6c19ca541af55b24a30e96df3b03e086688b8ec1/textual_image-0.8.5.tar.gz" - sha256 "43d4c0026a4f21fa255f41eac7b0fc1f7410a4c7bc9bf95b908bec901b0a8c3a" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - def install - virtualenv_install_with_resources - end - - test do - (testpath/"sample.ipynb").write <<~JSON - { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": ["# Sample Notebook\\n", "Notebook preview works.\\n"] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": ["hello from nbcat\\n"] - } - ], - "source": ["print('hello from nbcat')\\n"] - } - ], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 5 - } - JSON - - assert_match version.to_s, shell_output("#{bin}/nbcat --version") - - output = shell_output("#{bin}/nbcat #{testpath/"sample.ipynb"}") - assert_match "Sample Notebook", output - assert_match "Notebook preview works.", output - assert_match "hello from nbcat", output - end -end diff --git a/Formula/n/needle.rb b/Formula/n/needle.rb deleted file mode 100644 index 1c1ceaf9a4..0000000000 --- a/Formula/n/needle.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Needle < Formula - desc "TUI that highlights the GitHub PRs that need you" - homepage "https://github.com/cesarferreira/needle" - url "https://github.com/cesarferreira/needle/archive/refs/tags/v0.14.1.tar.gz" - sha256 "e9489a789dc45ef11783b451da215b932bd1f8d76da2287e9a5c536d09ae88a2" - license "MIT" - head "https://github.com/cesarferreira/needle.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "108f095af6555df8bbad494de938bd8716ad896656625b866e3e14f7a3633949" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "05d428bc8e832e19603918facf0ef69c22427f71b5042d17ad91f53724d9bd63" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "394748d75cf7d696c7c53ee5c88113dedd9673e5b0ac6b32666b158c2dbb69be" - sha256 cellar: :any_skip_relocation, arm64_linux: "0b4f536f5aa16e1e7200e64f76e9ca9b7cb51d709e5935480e05fcbe330aaf3e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fe4a77b820db58b3def5d82108d7de13f44b3bc10c3eaeb9606ba1212de65a46" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/needle --version") - - output = shell_output("#{bin}/needle --demo 2>&1", 1) - assert_match "Not a TTY", output - end -end diff --git a/Formula/n/needs.rb b/Formula/n/needs.rb deleted file mode 100644 index 5b1118dd2d..0000000000 --- a/Formula/n/needs.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Needs < Formula - desc "Checks if bin(s) are installed, oh and the version too" - homepage "https://github.com/NQMVD/needs" - url "https://github.com/NQMVD/needs/archive/refs/tags/v0.8.0.tar.gz" - sha256 "0b20957fd5cfd926ec9e20bb26316322dac73f1788d59d95256cc14f69b13d1c" - license "GPL-3.0-or-later" - head "https://github.com/NQMVD/needs.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "910a2bdf293156b018c5d8dc5ff961051296215a0a26deb271b9928becb46772" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "ded303c7f7fa535b3d37e99d61dce86cae019498a779fff55bb9b2731487d741" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6036ced1c72bb87375d2ca88acc73a2513d84baf62fac23c48a3b450f4df8aa5" - sha256 cellar: :any_skip_relocation, arm64_linux: "ec1ec6512aec303224f471bb6560d9ea338f9540b51346ab66cafbeac0100095" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b97d747350db17494c2847dd5aa200022cd094005ddd2db11aef851efae16155" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/needs --version") - - assert_match "curl", shell_output("#{bin}/needs curl") - assert_match "go not found", shell_output("#{bin}/needs go") - end -end diff --git a/Formula/n/nest-cli.rb b/Formula/n/nest-cli.rb index cfdac7fc18..248fe19c31 100644 --- a/Formula/n/nest-cli.rb +++ b/Formula/n/nest-cli.rb @@ -1,26 +1,23 @@ class NestCli < Formula desc "CLI tool for Nest applications" homepage "https://nestjs.com/" - url "https://registry.npmjs.org/@nestjs/cli/-/cli-11.0.21.tgz" - sha256 "6369d793e7030952c9ade4af42a12304935bfca4c50af1edd321d13ecb6e570c" + url "https://registry.npmjs.org/@nestjs/cli/-/cli-11.0.10.tgz" + sha256 "df35a72fc1e58679877feb45ecb6be0866ebbcd0c6bd5c46208985780705b2b2" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "e28317b95ecf1b625573463f41f8845331bfe72934404f1bd97a2249b3bb6afd" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9cb2988167a1beba3477abb6033ce23318f1ca6ae01c952b9bdc426d0b575196" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "7bf5608ba84f440895e35aeab1be567bde6673c8c25b0801f9613edea2d366e2" + sha256 cellar: :any_skip_relocation, ventura: "d7393d535c01f5075be996bc6638f3d0130d9627c055574f67ce0d204c9b1696" + sha256 cellar: :any_skip_relocation, x86_64_linux: "10a854e556295d4585a74732197ba2db4ddde6be03e6abf1fd36a3e828141189" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - - # Remove incompatible pre-built binaries - os = OS.kernel_name.downcase - arch = Hardware::CPU.intel? ? "x64" : Hardware::CPU.arch.to_s - libexec.glob("lib/node_modules/@nestjs/cli/nest-app/node_modules/{@napi-rs,@swc}/*") - .each { |dir| rm_r(dir) unless dir.basename.to_s.include?("#{os}-#{arch}") } + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/n/netscanner.rb b/Formula/n/netscanner.rb new file mode 100644 index 0000000000..43f4457ce9 --- /dev/null +++ b/Formula/n/netscanner.rb @@ -0,0 +1,32 @@ +class Netscanner < Formula + desc "Network scanner with features like WiFi scanning, packetdump and more" + homepage "https://github.com/Chleba/netscanner" + url "https://github.com/Chleba/netscanner/archive/refs/tags/v0.6.3.tar.gz" + sha256 "ad2df332bb347eac96c0a5d22e9477f9a7fe4b05d565b90009cc1c3fb598b29f" + license "MIT" + head "https://github.com/Chleba/netscanner.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "fff5ff7c63929451365347808c9bd408fc56735b79f5838e6e8a2c903aa5ee91" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "dc0f6b4a6ea9cea9074e1ab194afafbb1b6199af98defd26e91e218720d60e09" + sha256 cellar: :any_skip_relocation, ventura: "9063088a83abb6929d8d90dbcc00db039806515dda9e62a2c152cd202a6f7515" + sha256 cellar: :any_skip_relocation, x86_64_linux: "15b15ce1ba472deb6c6722394d1c05902186d991061f00ba3f07867e3bc5b523" + end + + depends_on "rust" => :build + + def install + system "cargo", "install", *std_cargo_args + end + + test do + assert_match version.to_s, shell_output("#{bin}/netscanner --version") + + # Fails in Linux CI with `No such device or address (os error 6)` + return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] + + # Requires elevated privileges for network access + assert_match "Unable to create datalink channel", shell_output("#{bin}/netscanner 2>&1") + end +end diff --git a/Formula/n/newsnow-mcp-server.rb b/Formula/n/newsnow-mcp-server.rb index a83d4858c7..a3bdc68f93 100644 --- a/Formula/n/newsnow-mcp-server.rb +++ b/Formula/n/newsnow-mcp-server.rb @@ -1,20 +1,23 @@ class NewsnowMcpServer < Formula desc "MCP server for NewsNow" homepage "https://github.com/ourongxing/newsnow-mcp-server" - url "https://registry.npmjs.org/newsnow-mcp-server/-/newsnow-mcp-server-0.0.11.tgz" - sha256 "c0d6d7baf25f4450d1faf135ef925fe8d743b3976d382ae46644651e4a5046aa" + url "https://registry.npmjs.org/newsnow-mcp-server/-/newsnow-mcp-server-0.0.10.tgz" + sha256 "b35f06401bba08bdf359db390c21053d8c2e1497bdaaae9c8ced908d8e9a0301" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "faccc2986ad97824b9390a373e9cd7e8b3813c89afea851e6e33362fde9c7c30" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d290d5d7915f533d60b903650069a9a6d96d5ec0d687f335fd3fc1df364df31e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "cd199f52c62fe2b4a5896e538c0cc783f0a02215240b10d234ccba8e1b8a2c26" + sha256 cellar: :any_skip_relocation, ventura: "d93e8ad5abe05e03faed15b6caa049b1b01b30a1119fcfe4dde83eb8073d3d4e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "197ca5c47a269c1f5b4c46fbd0ccab7081b3c10aa796a073ec2d5db034ac2d9b" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do @@ -25,7 +28,6 @@ def install {"jsonrpc":"2.0","id":2,"method":"tools/list"} JSON - output = pipe_output("#{bin}/newsnow-mcp-server 2>&1", json, 1) - assert_match "Server does not support completions", output + assert_match "get hottest or latest news from source", pipe_output(bin/"newsnow-mcp-server", json, 0) end end diff --git a/Formula/n/nexus.rb b/Formula/n/nexus.rb deleted file mode 100644 index ec3b00b8ec..0000000000 --- a/Formula/n/nexus.rb +++ /dev/null @@ -1,37 +0,0 @@ -class Nexus < Formula - desc "Terminal-based HTTP client for REST and gRPC APIs" - homepage "https://github.com/pranav-cs-1/nexus" - url "https://github.com/pranav-cs-1/nexus/archive/0906a0fd7799058a35adaf58160d5e2027a59e83.tar.gz" - version "0.2.1" - sha256 "e5ca698629a915f4b988c8b91d79059c4ac7ff245ef86cbd24235bd96eedf349" - license "MIT" - head "https://github.com/pranav-cs-1/nexus.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "684edf8f054d17ed74e075172fff6da8e5ee3e0f3a65b7478960dacf8985b303" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "697e068cdc19e969310de5497e1e39f56d7ea6ec7ae617e10e4b99c2dd2a5f97" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d1093efce05af232806f162f3bf19cc1f75b7b57175488b0161cc7af65777ae0" - sha256 cellar: :any_skip_relocation, arm64_linux: "a01caddec29d265dc5b8ec7fdf5a528e96b3ad82c9dc7aeafde3ff97424a31b4" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4b31bafd31fef1527b764109ccd8c5bfa925cb0184bf665cb53c1819022209f1" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - if OS.mac? - system "sh", "-c", "printf 'qq' | script -q /dev/null #{bin}/nexus >/dev/null 2>&1" - else - system "sh", "-c", "printf 'qq' | script -q -c '#{bin}/nexus' /dev/null >/dev/null 2>&1" - end - end -end diff --git a/Formula/n/nhost.rb b/Formula/n/nhost.rb index a6cea3f87c..3658f68b12 100644 --- a/Formula/n/nhost.rb +++ b/Formula/n/nhost.rb @@ -1,8 +1,8 @@ class Nhost < Formula desc "Developing locally with the Nhost CLI" homepage "https://docs.nhost.io/platform/cli/overview#cli-overview" - url "https://github.com/nhost/cli/archive/refs/tags/v1.31.3.tar.gz" - sha256 "adb9cf2e6d2fabc81687c97559f1ab62e7373947667b582f1dc5ff93bc972713" + url "https://github.com/nhost/cli/archive/refs/tags/v1.31.1.tar.gz" + sha256 "2d28fd4079b807d5619f9a748860fc81329dc65470785dc274dc4543e58af7f2" license "MIT" head "https://github.com/nhost/cli.git", branch: "main" @@ -13,9 +13,10 @@ class Nhost < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "27ce18990ee03de34f2000f6d320e67062304236905500b3eb993b78ce12137f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1b27f51c2fffaf34c14dfaa2e78c55c3b0145ba5827e13708e2d96994b90bf7b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "df63bddff0988ef8f6171346f1e07ce4d754e820f192b3e6e484439adaabaf48" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "6d9c8cc2a88cb727efedf8ace07149df7da732ab9ee07723350f15c262dfae3b" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "de88f0cad3a8bdd7f67224b957ba5fa39cf4842cd79f56dd35e315a232693080" + sha256 cellar: :any_skip_relocation, ventura: "efcf0ba64ab39633c5d84534f45dda16a027f3dd658688c21daaea6b551016d1" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a44cf45295c6b99bd8bb962fd6d691fee1e726de38e3aa90bf47ea022c0fde84" end depends_on "go" => :build diff --git a/Formula/n/ni.rb b/Formula/n/ni.rb new file mode 100644 index 0000000000..948424b0a6 --- /dev/null +++ b/Formula/n/ni.rb @@ -0,0 +1,37 @@ +class Ni < Formula + desc "Use the right package manager" + homepage "https://github.com/sindresorhus/ni" + url "https://registry.npmjs.org/@antfu/ni/-/ni-25.0.0.tgz" + sha256 "286539e8266320af65eae40059ceb83885a8df5bfc530c7c025e19c593558984" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "52211ba97226cb0eca3d4c01e50ec1b6e91d587bddf4cc17703be3b7629affb4" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "3301a96027d440113680b4db9b09f75c11e65a000791c4320c04b7cf24742f2e" + sha256 cellar: :any_skip_relocation, ventura: "a7cd9bc4a08d76aff73ad1c7e3fbd4c4b8cf205ad936947c23d76bd2e38875eb" + sha256 cellar: :any_skip_relocation, x86_64_linux: "18dc99f568f6e067f9ce990a2cd0287170774a91dcaf936d75b61270892973ee" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink libexec/"bin/ni" + end + + test do + assert_match version.to_s, shell_output("#{bin}/ni --version") + + (testpath/"package.json").write <<~EOS + { + "name": "test", + "version": "1.0.0" + } + EOS + + output = pipe_output("#{bin}/ni", "npm\n", 0) + assert_match "found 0 vulnerabilities", output + assert_path_exists testpath/"package-lock.json" + end +end diff --git a/Formula/n/nibble.rb b/Formula/n/nibble.rb deleted file mode 100644 index c1714b7566..0000000000 --- a/Formula/n/nibble.rb +++ /dev/null @@ -1,70 +0,0 @@ -class Nibble < Formula - desc "Scan local networks from a terminal user interface" - homepage "https://github.com/backendsystems/nibble" - url "https://github.com/backendsystems/nibble/archive/refs/tags/v0.8.3.tar.gz" - sha256 "5c7bc47d86847009f686adf3f7db27e9589ebe31f567c4dcbcf64834f4975910" - license "MIT" - head "https://github.com/backendsystems/nibble.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6881f72ce891c010d6236b79c6b7accf9ad27b80c293fd030a69498736aff08f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6881f72ce891c010d6236b79c6b7accf9ad27b80c293fd030a69498736aff08f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6881f72ce891c010d6236b79c6b7accf9ad27b80c293fd030a69498736aff08f" - sha256 cellar: :any_skip_relocation, arm64_linux: "81f8087cc1f7a8ffccc6e214f7ae6dc5973c02cf7e4c75e6c843ed474fe8b11f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2ca1123784c0980aee51e6819cd18be63907999ecebd394ea5e21c16e72bf7bb" - end - - depends_on "go" => :build - depends_on "ruby" => :test - - def install - system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - end - - test do - assert_equal version.to_s, shell_output("#{bin}/nibble --version").strip - - (testpath/"run_demo.rb").write <<~RUBY - require "pty" - require "timeout" - - status = nil - PTY.spawn("#{bin}/nibble --demo") do |r, w, pid| - sleep 1 - w.write("\\r") - - begin - Timeout.timeout(20) do - loop { r.readpartial(4096) } - end - rescue EOFError, Errno::EIO - rescue Timeout::Error - Process.kill("TERM", pid) rescue nil - raise "timed out waiting for nibble demo scan to finish" - ensure - w.close rescue nil - _, status = Process.wait2(pid) - end - end - - exit status.exitstatus - RUBY - - system "ruby", testpath/"run_demo.rb" - - history_root = if OS.mac? - Pathname(Dir.home)/"Library/Application Support/nibble/history" - else - Pathname(Dir.home)/".config/nibble/history" - end - - scan = history_root.glob("**/scan_*.json").first - assert_path_exists scan - - saved_scan = scan.read - assert_match '"interface_name": "eth0"', saved_scan - assert_match '"target_cidr": "192.168.1.100/24"', saved_scan - assert_match '"hosts_found": 4', saved_scan - end -end diff --git a/Formula/n/night-watch-cli.rb b/Formula/n/night-watch-cli.rb deleted file mode 100644 index 3c3da37882..0000000000 --- a/Formula/n/night-watch-cli.rb +++ /dev/null @@ -1,52 +0,0 @@ -class NightWatchCli < Formula - desc "Async execution layer for PRDs and queued engineering work" - homepage "https://github.com/jonit-dev/night-watch-cli" - url "https://registry.npmjs.org/@jonit-dev/night-watch-cli/-/night-watch-cli-1.8.11.tgz" - sha256 "d74e91a8f46c222a6946015bcc5fb79177668e21f6c7b2b9069cfdb1d07233ac" - license "MIT" - head "https://github.com/jonit-dev/night-watch-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "45e31ba25e3fb9ec280dffaf55c92600662ea66994778820621831a953f19952" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "45e31ba25e3fb9ec280dffaf55c92600662ea66994778820621831a953f19952" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "45e31ba25e3fb9ec280dffaf55c92600662ea66994778820621831a953f19952" - sha256 cellar: :any_skip_relocation, arm64_linux: "e1021d6770ade2910f2342f78fde76c29dd5bf6adf04682dda20065ad1102ba7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e1021d6770ade2910f2342f78fde76c29dd5bf6adf04682dda20065ad1102ba7" - end - - depends_on "node" - - on_macos do - depends_on "llvm" => :build if DevelopmentTools.clang_build_version < 1700 - end - - fails_with :clang do - build 1699 - cause "better-sqlite3 fails to build" - end - - def install - ENV["npm_config_build_from_source"] = "true" - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/night-watch --version") - - (testpath/"test-bin").mkpath - (testpath/"test-bin/codex").write <<~SH - #!/bin/sh - echo "codex stub" - SH - chmod 0755, testpath/"test-bin/codex" - - system "git", "init", "-q" - - ENV.prepend_path "PATH", testpath/"test-bin" - output = shell_output("#{bin}/night-watch run --dry-run --provider codex") - assert_match "Dry Run: PRD Executor", output - assert_match "Provider CLI", output - end -end diff --git a/Formula/n/ninjabot.rb b/Formula/n/ninjabot.rb deleted file mode 100644 index 316b8cad5d..0000000000 --- a/Formula/n/ninjabot.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Ninjabot < Formula - desc "Fast cryptocurrency trading bot implemented in Go" - homepage "https://rodrigo-brito.github.io/ninjabot/" - url "https://github.com/rodrigo-brito/ninjabot/archive/refs/tags/v0.4.1.tar.gz" - sha256 "e5342594f25c06a27b6d892d6b96f0c4b17bd1a1841fd19f79a57bf58984495f" - license "MIT" - head "https://github.com/rodrigo-brito/ninjabot.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1595a85737f1ed805d68987be2519f976f00bbc8cb4e6dcf7b45725434926cef" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1595a85737f1ed805d68987be2519f976f00bbc8cb4e6dcf7b45725434926cef" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1595a85737f1ed805d68987be2519f976f00bbc8cb4e6dcf7b45725434926cef" - sha256 cellar: :any_skip_relocation, arm64_linux: "ba988d57f59265ec893482776f1a60b25f0d4db4d1d3d5a9862d04c212e1994c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a66805f02726c85c7856eb214055de3d2d9fa74ea0d8ca201ad5df80d5e48c8a" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/ninjabot" - end - - test do - output_file = testpath/"btc.csv" - output = shell_output("#{bin}/ninjabot download -p BTCUSDT -t 1h -d 1 -o #{output_file} 2>&1", 1) - assert_match "Service unavailable from a restricted location", output - end -end diff --git a/Formula/n/nino.rb b/Formula/n/nino.rb deleted file mode 100644 index 5e17b74c61..0000000000 --- a/Formula/n/nino.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Nino < Formula - desc "Terminal-based text editor inspired by kilo" - homepage "https://evanlin96069.github.io/nino-editor/" - url "https://github.com/evanlin96069/nino/archive/c2098041b9839dd793c9c75ac1d4c914f7875510.tar.gz" - version "0.0.5" - sha256 "151167c8716c25aa1280b845e34a1f4dc3e7631fda1faa110622688592214370" - license "BSD-2-Clause" - head "https://github.com/evanlin96069/nino.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "de9aa301536678f629bccba6d853d9ed1fc6a305aad45945bf7733d7ac59953a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6f9b9327b424ddbd9244a702c3266bd9ab0cb5eeb9d9856a0974dfd976689693" - sha256 cellar: :any_skip_relocation, x86_64_linux: "06403802565cdd70a4d8bc87ec142247ee09f684f86aaa03b9ba2c859c2ce6bb" - end - - depends_on "cmake" => :build - - def install - system "cmake", "-S", ".", "-B", "build", *std_cmake_args - system "cmake", "--build", "build" - system "cmake", "--install", "build" - end - - test do - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"nino", testpath, [:out, :err] => output_log.to_s - sleep 1 - assert_match "src/terminal.c: 419: getWindowSize", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/n/nkv.rb b/Formula/n/nkv.rb deleted file mode 100644 index 5328381a96..0000000000 --- a/Formula/n/nkv.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Nkv < Formula - desc "Share your state between services using persisted key value storage" - homepage "https://github.com/nkval/nkv" - url "https://github.com/nkval/nkv/archive/refs/tags/0.0.6.tar.gz" - sha256 "55d558442f7464f3b5e33d5fb6c66e94d80f56e3c76a1939db313531f5ff8d34" - license "Apache-2.0" - head "https://github.com/nkval/nkv.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "58f0495dd201b3e2e2e4ad264202a5d7a06c17ad928dd2d58165dee8b4544d52" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "cbca07e0293f8fc88bfd2f0f370e97355d6bb58522a5e1586d10207568c23fce" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "86b611d96d8b687d4b4a285ee364d9d6c7f4a8ae7734667f554a4e84a1a6644f" - sha256 cellar: :any_skip_relocation, arm64_linux: "0175125e5b35d6aa6f51a8053825dce3a76b8b88241039823368323810f7394e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f85170088bb82162af91c606d3a40c852235f2b7ecbba3984247a074bd34324d" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # assert_match version.to_s, shell_output("#{bin}/nkv-client --version") - system bin/"nkv-client", "--version" - - output_log = testpath/"output.log" - pid = spawn bin/"nkv-server", "--level", "debug", [:out, :err] => output_log.to_s - sleep 1 - assert_match "nkv_server\e[0m\e[2m:\e[0m log level is DEBUG logs will be saved to: logs", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/n/nosy.rb b/Formula/n/nosy.rb deleted file mode 100644 index 3371ac6a3d..0000000000 --- a/Formula/n/nosy.rb +++ /dev/null @@ -1,35 +0,0 @@ -class Nosy < Formula - desc "CLI to summarize various types of content" - homepage "https://github.com/ynqa/nosy" - url "https://github.com/ynqa/nosy/archive/refs/tags/v0.1.0.tar.gz" - sha256 "5f830d6398868540a0168aa3f0fbf38c2b85657f3d2af27ccaa51128b817f646" - license "MIT" - head "https://github.com/ynqa/nosy.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "851f4d879134f7b328afbe7f246f30a3119d714200b7c6700442bac9758790d5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2d8bd6955c05c589775b3ba5c45174ad24f8c07c9afa983b1aa2774c176dd0c7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f77157387a27761c5d222238c7271353501d9796237276bd00afd886a10e467f" - sha256 cellar: :any_skip_relocation, arm64_linux: "caac0e6a9c676091ba43acaadfb871d88bcce2ecf6b9a9f9136e2ef52eac8ee2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3d3f33e836c3cd66563399055246de99046fb5cbfcf034af0dcfeedfcb50c721" - end - - depends_on "cmake" => :build - depends_on "rust" => :build - on_linux do - depends_on "llvm" => :build - end - - def install - ENV["LIBCLANG_PATH"] = Formula["llvm"].opt_lib if OS.linux? - - system "cargo", "install", *std_cargo_args - generate_completions_from_executable(bin/"nosy", "completion") - end - - test do - assert_match version.to_s, shell_output("#{bin}/nosy --version") - assert_match "nosy", shell_output("#{bin}/nosy completion bash") - end -end diff --git a/Formula/n/npm-np.rb b/Formula/n/npm-np.rb index e1d56a3e74..0ae5069170 100644 --- a/Formula/n/npm-np.rb +++ b/Formula/n/npm-np.rb @@ -1,37 +1,22 @@ class NpmNp < Formula desc "Better `npm publish`" homepage "https://github.com/sindresorhus/np" - url "https://registry.npmjs.org/np/-/np-11.2.0.tgz" - sha256 "816d99f8e7fa5c0b7aba35f146f8c3b82a5093cd0fba099693470ade05f9e57d" + url "https://registry.npmjs.org/np/-/np-10.2.0.tgz" + sha256 "e89644fe0a2100f468f3159f402256fa4392cd5782f28fa174b42e5fd46d30ee" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0661740ad56d7b5b68f4b0186af7acfff6cf5e6b4a4b4c0131217ae0086132cf" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0661740ad56d7b5b68f4b0186af7acfff6cf5e6b4a4b4c0131217ae0086132cf" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0661740ad56d7b5b68f4b0186af7acfff6cf5e6b4a4b4c0131217ae0086132cf" - sha256 cellar: :any_skip_relocation, arm64_linux: "54b2a62094dc2d28702a16750615fdb3a0ed60273b44d9a27c50297db8716b0f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "54b2a62094dc2d28702a16750615fdb3a0ed60273b44d9a27c50297db8716b0f" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e24a914c884dacb60056579dabab20d93b2c71604cc92dbedfc73ad04f4de340" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "fe86e72bb4d31053ab0c9f9cf6174a44250ea9f04c419c375d736a5fb10e5f64" + sha256 cellar: :any_skip_relocation, ventura: "6e55b25ee7d1b6519c5b1192bcf8c0168e5880aca9f33d05be5c4f977d2ea459" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9a8453ccd9e9441780b06afa0e9ea44a4295cdcffcaced89a57d5257fe59163a" end depends_on "node" - on_linux do - depends_on "xsel" - end - def install system "npm", "install", *std_npm_args - - clipboardy_fallbacks_dir = libexec/"lib/node_modules/np/node_modules/clipboardy/fallbacks" - rm_r(clipboardy_fallbacks_dir) # remove pre-built binaries - if OS.linux? - linux_dir = clipboardy_fallbacks_dir/"linux" - linux_dir.mkpath - # Replace the vendored pre-built xsel with one we build ourselves. - ln_sf (Formula["xsel"].opt_bin/"xsel").relative_path_from(linux_dir), linux_dir - end - bin.install_symlink libexec/"bin/np" end diff --git a/Formula/n/nvrs.rb b/Formula/n/nvrs.rb index f03cc4ba69..d06cd815b4 100644 --- a/Formula/n/nvrs.rb +++ b/Formula/n/nvrs.rb @@ -1,19 +1,18 @@ # framework: clap class Nvrs < Formula desc "Fast new version checker for software releases" - homepage "https://nvrs.koi.rip/" - url "https://github.com/koibtw/nvrs/archive/refs/tags/v0.1.10.tar.gz" - sha256 "67305ede8d833c1c7d449863c904c485ed3cf9ae32b9f976bfaee5108ad244b8" + homepage "https://nvrs.adamperkowski.dev/" + url "https://github.com/adamperkowski/nvrs/archive/refs/tags/v0.1.8.tar.gz" + sha256 "d306d520d76d84826e267c1baa58e497b9f14d7bd1d9b651f07e7f598dd7821d" license "MIT" - head "https://github.com/koibtw/nvrs.git", branch: "main" + head "https://github.com/adamperkowski/nvrs.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "23998dc3d80bc579e28f517d4121c9d38f250c242e9629eb4d6f194e47d07cf9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e2e1363e21305be81da97c65b45e1b031bde492b3303fcb6c51a08c7d0bbd2ca" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "69779a140205e8d7b3f5c493b26e8c75cc6b7b04ce9e25033a0311ca3291068b" - sha256 cellar: :any_skip_relocation, arm64_linux: "13c51fe4691a3af6c541ab759dbcbc27c89f4703d988341214f0561a871eeae3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e73691424c8d674c387b731f154f66e2d69de3cc2ba5606d9e391507fcf1f034" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "5bec39e09115b9d296dfab0e53fed2dcd932b09c95e4114f2ec79836fdf5ec54" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6c3c11627fc55c8943d9a077456b7d1288097350051cf67559d57e2559b94340" + sha256 cellar: :any_skip_relocation, ventura: "b8df8dff79093f75510ab302cf69cb1b5b735047ee7dfe019596d7df065798b5" + sha256 cellar: :any_skip_relocation, x86_64_linux: "3e3316f33c8bf08102df01c6e3b2407dbbec2303e716b92d41aca6e8e4611330" end depends_on "pkgconf" => :build @@ -38,7 +37,7 @@ def install keys = ["dummy_value"] EOS - output = shell_output(bin/"nvrs") + output = shell_output("#{bin}/nvrs") assert_match "comlink NONE -> 0.1.1", output end end diff --git a/Formula/o/oatmeal.rb b/Formula/o/oatmeal.rb deleted file mode 100644 index 268a4dad00..0000000000 --- a/Formula/o/oatmeal.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Oatmeal < Formula - desc "TUI to chat with large language models" - homepage "https://github.com/dustinblackman/oatmeal" - url "https://github.com/dustinblackman/oatmeal/archive/refs/tags/v0.13.0.tar.gz" - sha256 "dee11f69eabc94adeb58edc5ecf5b51556bd4dec3a6a3d66c3a5e603aa8a0256" - license "MIT" - head "https://github.com/dustinblackman/oatmeal.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b2a972aa9e987bdfbc9be55b2a6719f3224276feeb9dec85f7999adab96c1787" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c27d86cd2dfb43b6a9513e51da145ab4c9e7185da3da872f9fc2b50ddd13a8e5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2029a5faa8ca7ee8cc9de8ea3d8014bde83f4185e946c9329997d5a6a93a389b" - sha256 cellar: :any_skip_relocation, arm64_linux: "43013c19bae88ffe2557f5c0cbdd2a7cf32ea4356f2091caaf8382bb36e0a6bb" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2166e10f4be1a059455d1158c53e297bc0ec4801b426396b9f97708189b39d2d" - end - - depends_on "rust" => :build - - def install - system "cargo", "update", "-p", "time" - system "cargo", "install", *std_cargo_args - - generate_completions_from_executable(bin/"oatmeal", "completions", "--shell") - (man1/"oatmeal.1").write Utils.safe_popen_read(bin/"oatmeal", "manpages") - end - - test do - assert_match version.to_s, shell_output("#{bin}/oatmeal --version") - output = shell_output("#{bin}/oatmeal config default") - assert_match "# The initial backend hosting a model to connect to", output - end -end diff --git a/Formula/o/octelium.rb b/Formula/o/octelium.rb index 248b4d5cfe..9ba60ea899 100644 --- a/Formula/o/octelium.rb +++ b/Formula/o/octelium.rb @@ -1,18 +1,17 @@ class Octelium < Formula desc "Next-gen FOSS zero-trust platform—self-hosted VPN, ZTNA, API gateway & homelab" homepage "https://octelium.com/docs/octelium/latest/overview/intro" - url "https://github.com/octelium/octelium/archive/refs/tags/v0.30.0.tar.gz" - sha256 "7dc4ebf51b0f875af05415ba95193ea5b3a7b385960a49c8ffdf7aefc49f4da7" + url "https://github.com/octelium/octelium/archive/refs/tags/v0.17.1.tar.gz" + sha256 "c0b3cc44e3b1df97f7a2ec4859b9ace6f4bcab73c0aeeb4bfe20efae9c40dae8" license "Apache-2.0" head "https://github.com/octelium/octelium.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "68a1474f150c040df76882e3aee4bdaefa06a8fd34026ddd42039991ef9cbd91" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "68a1474f150c040df76882e3aee4bdaefa06a8fd34026ddd42039991ef9cbd91" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "68a1474f150c040df76882e3aee4bdaefa06a8fd34026ddd42039991ef9cbd91" - sha256 cellar: :any_skip_relocation, arm64_linux: "f596c05b518389d3f63b6f2d414b609c2ded036b43af165d693efe183d682553" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6dc3cda36a5b4204e3d8dbfa771396c05df5a37ff5347ee411caad8d9bd99d91" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "556b03a63ff42ca743c8ec89b6d7a8210b663347a2071c329475bffb975fa613" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "188e50879a11ba8509f9fb0d1936945a7b3c56746801cde2ec6f30beb30f987b" + sha256 cellar: :any_skip_relocation, ventura: "945c342b7f6f7c4f18a31131547f27eb1909754a2737a15b5d5b83498e2b34c2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "777df2be536d5ef3b13d98a08f999ead28ee2b7f94d4eda05021a44843011722" end depends_on "go" => :build @@ -28,7 +27,7 @@ def install %w[octelium octeliumctl octops].each do |cli| system "go", "build", *std_go_args(ldflags:, output: bin/cli), "./client/#{cli}" - generate_completions_from_executable(bin/cli, shell_parameter_format: :cobra) + generate_completions_from_executable(bin/cli, "completion", shells: [:bash, :zsh, :fish, :pwsh]) end end diff --git a/Formula/o/octotype.rb b/Formula/o/octotype.rb deleted file mode 100644 index e0ac8604ff..0000000000 --- a/Formula/o/octotype.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Octotype < Formula - desc "TUI typing trainer inspired by monkeytype with a focus on customization" - homepage "https://github.com/mahlquistj/octotype" - url "https://github.com/mahlquistj/octotype/archive/refs/tags/v0.8.0.tar.gz" - sha256 "5015c5e9a53609ce5554f98c814b37f6dde0e3b3c515b453bfc1e7999d6a66bc" - license "MIT" - head "https://github.com/mahlquistj/octotype.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c2d699e1f498c55296f6d1079b457665c9db95de5a1da95923df3fe35e20e46d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "674ea32cbe8296db0ef01c289bda3a6c92965d9bfd880841ccfff053916ab405" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "134e6efb10f46849cd6e211ab79910fb0168a03d23e3f129924b8ced768fc468" - sha256 cellar: :any_skip_relocation, arm64_linux: "1913a94c68007c1659b05134508609c31e0b552dab5da06647be980ca67484ac" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7a5979724b72595ac9228727e315fa2a153587289f3f1ef19bf9da8ab68a756a" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/octotype --version") - - output = shell_output("#{bin}/octotype --print-config") - assert_match "disable_ghost_fade = false", output - end -end diff --git a/Formula/o/oeis-tui.rb b/Formula/o/oeis-tui.rb deleted file mode 100644 index 3f67637d8f..0000000000 --- a/Formula/o/oeis-tui.rb +++ /dev/null @@ -1,30 +0,0 @@ -class OeisTui < Formula - desc "TUI and CLI for exploring the On-Line Encyclopedia of Integer Sequences (OEIS)" - homepage "https://github.com/hako/oeis-tui" - url "https://github.com/hako/oeis-tui/archive/refs/tags/1.0.0.tar.gz" - sha256 "68bd20b731e17ef54708f7c26cdc901488e0948056bd5d519e16fd720f3c0d58" - license "MIT" - head "https://github.com/hako/oeis-tui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2d222e916ffa8f58a6f2219073c74fd37bedfaf733f7665886b35be21be8bd7e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "bb5fd2e917bb3dcd0a55cdf7cb93affac8f32ccc6aa329b5391fc396bb60be48" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e6b0846d4e523589ee1b7076983c671fd9dee20a23cfbc74599e33dbfd1910e6" - sha256 cellar: :any_skip_relocation, arm64_linux: "2b92fb1aa8835daabb51a90476beb4fa4299ba0ac056586dc12a6004ad5e9652" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f24df548103ce53702886ec909b26c130d5617b25c397ff91c24e8005fc7d5c6" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/oeis --version") - - output = shell_output("#{bin}/oeis fetch foo 2>&1", 1) - assert_match "Invalid A-number format", output - end -end diff --git a/Formula/o/offpunk.rb b/Formula/o/offpunk.rb deleted file mode 100644 index 86cb192830..0000000000 --- a/Formula/o/offpunk.rb +++ /dev/null @@ -1,154 +0,0 @@ -class Offpunk < Formula - include Language::Python::Virtualenv - - desc "Offline-first Gemini, Web, Gopher, and RSS terminal browser" - homepage "https://offpunk.net/" - url "https://git.sr.ht/~lioploum/offpunk/archive/v3.1.tar.gz" - sha256 "3eb9e61d6bc591326fecb8b8c02737e58e1fb061f96a9269cd085f7614f27ff1" - license "AGPL-3.0-or-later" - head "https://git.sr.ht/~lioploum/offpunk", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "774f83295e237fad60b5521f62d0fcddd9cb51713850c71d9ae378bb37e14fc2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "facc58ffad213e0518c229e61220964f388a7f6555de0e91e761cc1335b1a445" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "381110f8c3d72ef9b92fdc8ef7975616bd06fa5217832c836a3bf21ec3f105a5" - sha256 cellar: :any_skip_relocation, arm64_linux: "cae1bbf83d568265252b58f5e298dcebf7cf582c5893b66a9e5a585cacb23e54" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fb3da53a81237c610cecc63a47d4c8586995689b881af20ef1dcc9069e3a5051" - end - - depends_on "gettext" => :build - depends_on "python@3.13" - - uses_from_macos "libxml2" - uses_from_macos "libxslt" - - resource "hatchling" do - url "https://files.pythonhosted.org/packages/cf/9c/b4cfe330cd4f49cff17fd771154730555fa4123beb7f292cf0098b4e6c20/hatchling-1.29.0.tar.gz" - sha256 "793c31816d952cee405b83488ce001c719f325d9cda69f1fc4cd750527640ea6" - end - - resource "hatch-requirements-txt" do - url "https://files.pythonhosted.org/packages/7c/04/3703d3caa354fd7148a5453724de70577a6010234d1e1f3ff6b98a4d3242/hatch_requirements_txt-0.4.1.tar.gz" - sha256 "2c686e5758fd05bb55fa7d0c198fdd481f8d3aaa3c693260f5c0d74ce3547d20" - end - - resource "beautifulsoup4" do - url "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz" - sha256 "6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz" - sha256 "e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/1d/35/02daf95b9cd686320bb622eb148792655c9412dbb9b67abb5694e5910a24/charset_normalizer-3.4.5.tar.gz" - sha256 "95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644" - end - - resource "cssselect" do - url "https://files.pythonhosted.org/packages/ec/2e/cdfd8b01c37cbf4f9482eefd455853a3cf9c995029a46acd31dfaa9c1dd6/cssselect-1.4.0.tar.gz" - sha256 "fdaf0a1425e17dfe8c5cf66191d211b357cf7872ae8afc4c6762ddd8ac47fc92" - end - - resource "feedparser" do - url "https://files.pythonhosted.org/packages/dc/79/db7edb5e77d6dfbc54d7d9df72828be4318275b2e580549ff45a962f6461/feedparser-6.0.12.tar.gz" - sha256 "64f76ce90ae3e8ef5d1ede0f8d3b50ce26bcce71dd8ae5e82b1cd2d4a5f94228" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "lxml" do - url "https://files.pythonhosted.org/packages/aa/88/262177de60548e5a2bfc46ad28232c9e9cbde697bd94132aeb80364675cb/lxml-6.0.2.tar.gz" - sha256 "cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62" - end - - resource "lxml-html-clean" do - url "https://files.pythonhosted.org/packages/9a/a4/5c62acfacd69ff4f5db395100f5cfb9b54e7ac8c69a235e4e939fd13f021/lxml_html_clean-0.4.4.tar.gz" - sha256 "58f39a9d632711202ed1d6d0b9b47a904e306c85de5761543b90e3e3f736acfb" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz" - sha256 "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4" - end - - resource "pathspec" do - url "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz" - sha256 "0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645" - end - - resource "pluggy" do - url "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" - sha256 "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" - end - - resource "readability-lxml" do - url "https://files.pythonhosted.org/packages/55/3e/dc87d97532ddad58af786ec89c7036182e352574c1cba37bf2bf783d2b15/readability_lxml-0.8.4.1.tar.gz" - sha256 "9d2924f5942dd7f37fb4da353263b22a3e877ccf922d0e45e348e4177b035a53" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "setproctitle" do - url "https://files.pythonhosted.org/packages/8d/48/49393a96a2eef1ab418b17475fb92b8fcfad83d099e678751b05472e69de/setproctitle-1.3.7.tar.gz" - sha256 "bc2bc917691c1537d5b9bca1468437176809c7e11e5694ca79a9ca12345dcb9e" - end - - resource "sgmllib3k" do - url "https://files.pythonhosted.org/packages/9e/bd/3704a8c3e0942d711c1299ebf7b9091930adae6675d7c8f476a7ce48653c/sgmllib3k-1.0.0.tar.gz" - sha256 "7868fb1c8bfa764c1ac563d3cf369c381d1325d36124933a726f29fcdaa812e9" - end - - resource "soupsieve" do - url "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz" - sha256 "3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349" - end - - resource "trove-classifiers" do - url "https://files.pythonhosted.org/packages/d8/43/7935f8ea93fcb6680bc10a6fdbf534075c198eeead59150dd5ed68449642/trove_classifiers-2026.1.14.14.tar.gz" - sha256 "00492545a1402b09d4858605ba190ea33243d361e2b01c9c296ce06b5c3325f3" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - def install - build_resources = %w[ - packaging - pathspec - pluggy - trove-classifiers - hatchling - hatch-requirements-txt - ] - - venv = virtualenv_create(libexec, "python3.13") - venv.pip_install build_resources.map { |r| resource(r) } - venv.pip_install resources.reject { |r| build_resources.include?(r.name) } - venv.pip_install_and_link buildpath, build_isolation: false - end - - test do - assert_match version.to_s, shell_output("#{bin}/offpunk --version") - assert_match ".pem", shell_output("#{libexec}/bin/python -c 'import certifi; print(certifi.where())'") - output = pipe_output("#{bin}/ansicat --format plaintext", "# Heading\n\n=> gemini://example.org Example\n") - assert_match "Heading", output - assert_match "gemini://example.org Example", output - end -end diff --git a/Formula/o/oh-my-claude.rb b/Formula/o/oh-my-claude.rb deleted file mode 100644 index 029a205c19..0000000000 --- a/Formula/o/oh-my-claude.rb +++ /dev/null @@ -1,37 +0,0 @@ -class OhMyClaude < Formula - desc "Teams-first multi-agent orchestration for Claude Code" - homepage "https://github.com/Yeachan-Heo/oh-my-claudecode" - url "https://registry.npmjs.org/oh-my-claude-sisyphus/-/oh-my-claude-sisyphus-4.13.4.tgz" - sha256 "1db582e77924b0a6d87cb61fe01505f78464940ba39a992196956115429f46b4" - license "MIT" - head "https://github.com/Yeachan-Heo/oh-my-claudecode.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "1ba5e7edfb486ea6036874b0f56c902c2e7e2752e34020c29b1ed4179ad736e0" - sha256 cellar: :any, arm64_sequoia: "9456a1505fc88f50537ab49867c0d945a46f1d723440365fdeb92559d5371485" - sha256 cellar: :any, arm64_sonoma: "9456a1505fc88f50537ab49867c0d945a46f1d723440365fdeb92559d5371485" - sha256 cellar: :any_skip_relocation, arm64_linux: "57b4b5858952151c2566d24f413fd08be97fdceffcf90354992af04b95dc2166" - sha256 cellar: :any_skip_relocation, x86_64_linux: "31d5fadd8461e924352602777c1fcb5879a2e99e1e1080d7c3a49f3d7d58a21c" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - - # Remove vendored prebuilt ripgrep binaries that cause Mach-O relocation failures - vendor_dir = libexec/"lib/node_modules/oh-my-claude-sisyphus/node_modules" \ - "/@anthropic-ai/claude-agent-sdk/vendor" - rm_r(vendor_dir) if vendor_dir.exist? - end - - test do - pkg = libexec/"lib/node_modules/oh-my-claude-sisyphus/package.json" - assert_match version.to_s, shell_output("node -p \"require('#{pkg}').version\"").strip - - output = shell_output("#{bin}/omc --help 2>&1") - assert_match "omc", output - end -end diff --git a/Formula/o/oh-my-codex.rb b/Formula/o/oh-my-codex.rb deleted file mode 100644 index 8a82eba187..0000000000 --- a/Formula/o/oh-my-codex.rb +++ /dev/null @@ -1,31 +0,0 @@ -class OhMyCodex < Formula - desc "Multi-agent orchestration layer for OpenAI Codex CLI" - homepage "https://github.com/Yeachan-Heo/oh-my-codex" - url "https://registry.npmjs.org/oh-my-codex/-/oh-my-codex-0.15.0.tgz" - sha256 "216dd96cf0c014719aeb29b68449fadc9f4b442986d6675bb8a7c7b5a7b0191a" - license "MIT" - head "https://github.com/Yeachan-Heo/oh-my-codex.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e39b7ea924780e92d4867cc3fc6c8383a19e19c6e28fb434ae4794feaf107901" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e39b7ea924780e92d4867cc3fc6c8383a19e19c6e28fb434ae4794feaf107901" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e39b7ea924780e92d4867cc3fc6c8383a19e19c6e28fb434ae4794feaf107901" - sha256 cellar: :any_skip_relocation, arm64_linux: "d5c9760af21530e1004bf5044d10ca7316bccbdd002d6746090e2bf2e8c66577" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d5c9760af21530e1004bf5044d10ca7316bccbdd002d6746090e2bf2e8c66577" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - pkg = libexec/"lib/node_modules/oh-my-codex/package.json" - assert_match version.to_s, shell_output("node -p \"require('#{pkg}').version\"").strip - - assert_match "oh-my-codex", shell_output("#{bin}/omx --help") - end -end diff --git a/Formula/o/olla.rb b/Formula/o/olla.rb deleted file mode 100644 index b3fca1b435..0000000000 --- a/Formula/o/olla.rb +++ /dev/null @@ -1,59 +0,0 @@ -class Olla < Formula - desc "Lightweight & fast AI inference proxy for self-hosted LLMs backends" - homepage "https://thushan.github.io/olla/" - url "https://github.com/thushan/olla/archive/refs/tags/v0.0.27.tar.gz" - sha256 "86d15d1f5dd333f49284edf3a0677e57736cbcc2364852621a997801ed4d56cb" - license "Apache-2.0" - head "https://github.com/thushan/olla.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "482cd7a10712757d496691757e0431e31723c97a6f6da362eaa3a33972da86eb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "482cd7a10712757d496691757e0431e31723c97a6f6da362eaa3a33972da86eb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "482cd7a10712757d496691757e0431e31723c97a6f6da362eaa3a33972da86eb" - sha256 cellar: :any_skip_relocation, arm64_linux: "73a3550e609147f5a1a35cad0598027fd5f8e5513fdc1470d939779d739320c2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "afb4682c713e6fbc1369c8f57bfd95909204b1a1401c9e36d92b8c730de61fe4" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/thushan/olla/internal/version.Version=v#{version} - -X github.com/thushan/olla/internal/version.Commit=#{tap.user} - -X github.com/thushan/olla/internal/version.Date=#{time.iso8601} - -X github.com/thushan/olla/internal/version.User=#{tap.user} - ] - system "go", "build", *std_go_args(ldflags:) - end - - service do - run [opt_bin/"olla", "serve"] - keep_alive true - working_dir var - log_path var/"log/olla.log" - error_log_path var/"log/olla.log" - end - - test do - assert_match version.to_s, shell_output("#{bin}/olla --version 2>&1") - - port = free_port - (testpath/"config.yaml").write <<~YAML - server: - host: "127.0.0.1" - port: #{port} - YAML - - pid = spawn bin/"olla", "serve", "-c", testpath/"config.yaml" - - sleep 1 - begin - assert_match "healthy", shell_output("curl -s localhost:#{port}/internal/health") - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/o/omekasy.rb b/Formula/o/omekasy.rb new file mode 100644 index 0000000000..3187a75ade --- /dev/null +++ b/Formula/o/omekasy.rb @@ -0,0 +1,29 @@ +# framework: clap +class Omekasy < Formula + desc "Converts alphanumeric input to various Unicode styles" + homepage "https://github.com/ikanago/omekasy" + url "https://github.com/ikanago/omekasy/archive/refs/tags/v1.3.3.tar.gz" + sha256 "0def519ad64396aa12b341dee459049fb54a3cfae265ae739da5e65ca1d7e377" + license "MIT" + head "https://github.com/ikanago/omekasy.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "520e9d2db115aa858fb4f32eb5e432b4c04d0f139c010df41ed4e2dab2bea70e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c52d051161b9a87e3abbd20dac17fb0e38f812d47f36b2c98e3c613203693ad4" + sha256 cellar: :any_skip_relocation, ventura: "b24f0c09642e5c1f1b7b273dded09da20d20509b4196361f0342c3c8920f7490" + sha256 cellar: :any_skip_relocation, x86_64_linux: "eb410d9f1e825c1784c78f3d580cf486b2780e8c5e67b2eed84cf9418b5dfa81" + end + + depends_on "rust" => :build + + def install + system "cargo", "install", *std_cargo_args + end + + test do + assert_match version.to_s, shell_output("#{bin}/omekasy --version") + output = shell_output("#{bin}/omekasy -f monospace Hello") + assert_match "𝙷𝚎𝚕𝚕𝚘", output + end +end diff --git a/Formula/o/omni-cache.rb b/Formula/o/omni-cache.rb deleted file mode 100644 index 23b8149805..0000000000 --- a/Formula/o/omni-cache.rb +++ /dev/null @@ -1,36 +0,0 @@ -class OmniCache < Formula - desc "Sidecar for your caching needs in CI" - homepage "https://github.com/cirruslabs/omni-cache" - url "https://github.com/cirruslabs/omni-cache/archive/refs/tags/v1.3.0.tar.gz" - sha256 "adb2b16e27a632f71a69b3c8aec03ce175f796a9daf79c2e1b0ae278c4f8b767" - license "Apache-2.0" - head "https://github.com/cirruslabs/omni-cache.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "54f47cca9cc7ebbedfd15d6ea443b51b2cd941d469ef2491457148810cc9d431" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7402248acd58c4398995cf257a4f8faab56eabf924338940813ba4e50596e48c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "dbe865be5646715b19332b826bccc00f2d0ff429bb86f0b3e96d2faffb622016" - sha256 cellar: :any_skip_relocation, arm64_linux: "175b6143ac079e3c8d38b337679f68985608217fabfc09e9d8b047ae01e6600f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1d50edf628c9d7d4bc828d76c4563fa02ff410638c698eb8fb492bc354238cf3" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/cirruslabs/omni-cache/internal/version.Version=#{version} - -X github.com/cirruslabs/omni-cache/internal/version.Commit=homebrew - ] - - system "go", "build", *std_go_args(ldflags:), "./cmd/omni-cache" - end - - test do - assert_match version.to_s, shell_output("#{bin}/omni-cache --version") - - output = shell_output("#{bin}/omni-cache sidecar 2>&1", 1) - assert_match "missing required bucket", output - end -end diff --git a/Formula/o/omnictl.rb b/Formula/o/omnictl.rb index ad6ca63692..930dcc574c 100644 --- a/Formula/o/omnictl.rb +++ b/Formula/o/omnictl.rb @@ -1,18 +1,17 @@ class Omnictl < Formula desc "CLI for the Sidero Omni Kubernetes management platform" homepage "https://omni.siderolabs.com/" - url "https://github.com/siderolabs/omni/archive/refs/tags/v1.7.1.tar.gz" - sha256 "1739fdf188c623af85e01e20e61400e3848824200ded8be28fe6de7afe824494" + url "https://github.com/siderolabs/omni/archive/refs/tags/v1.1.3.tar.gz" + sha256 "08b5639f57fe5a664f69a7617d82b91500f79920e87c9dca7fe743f0a2d24200" # license "BSL-1.1" head "https://github.com/siderolabs/omni.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0f59891a1ac1a8a9ac0113df36d78ce565e1ac538e33889b5cd602f157533c22" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "13ad65860e32efa406e4a4ee012c1c26963403bb88d3a955382be3cf92848307" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e50b39ce1a75bea39f9688aceec1d48fed1a86f95c09fc036c9e7d69ea9c2873" - sha256 cellar: :any_skip_relocation, arm64_linux: "3b889a2e501c28b3ddf023b0bb9780a21ff7e02e1ec42ac058fb2ada86e41f27" - sha256 cellar: :any_skip_relocation, x86_64_linux: "aee5d2cf0f613df0615d63fdbe2dde331a1a2fbe27448d382a5da293b102d397" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "7999dc2227b0aec82d3ed18f60a9add51593211b11ba2c08207332de742e68f3" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "e61446901736f7702a9b4a746ab8edd699ca4c94eec44202a9fad23b73253341" + sha256 cellar: :any_skip_relocation, ventura: "e66ff1aec53b44f72941562443a167610981f2d87715854eba23ae0eb246e6f8" + sha256 cellar: :any_skip_relocation, x86_64_linux: "1824fd25a9703de02c11d9aa309afec625576d1d49e2bd875bd31a57e0d9b4d1" end depends_on "go" => :build @@ -20,7 +19,7 @@ class Omnictl < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/omnictl" - generate_completions_from_executable(bin/"omnictl", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"omnictl", "completion") end test do diff --git a/Formula/o/omp-manager.rb b/Formula/o/omp-manager.rb deleted file mode 100644 index 72cb0bc0aa..0000000000 --- a/Formula/o/omp-manager.rb +++ /dev/null @@ -1,37 +0,0 @@ -class OmpManager < Formula - desc "TUI manager for Oh My Posh themes, fonts, and shell setup" - homepage "https://github.com/marlocarlo/omp-manager" - url "https://github.com/marlocarlo/omp-manager/archive/refs/tags/v0.1.2.tar.gz" - sha256 "c65be58e47d2e8348385c4c7df8569375dda2b9797845779cedb7d55447937bc" - license "MIT" - head "https://github.com/marlocarlo/omp-manager.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a999439e6846437c106f0df3bf39ab184af32db2c8c34d3271e750c066250c99" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "46688134f26fa31b6610d4b70f9061542047df205c71d33832bfecd6b58b221a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "727011f2a3a4211d2a5682778c4a43f70fd2905a23c76af11504b283219dfca5" - sha256 cellar: :any_skip_relocation, arm64_linux: "169759900df1a26d4b5cbcdcd773a4c93f929aa211865eb009de187e036fc394" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9494d8f856868446f0895bfecb63ebc087c667010cb2ed45b2f58b22b5f09140" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - ENV["TERM"] = "xterm-256color" - - cmd = if OS.mac? - "printf 'q' | script -q /dev/null #{bin}/omp-manager" - else - "printf 'q' | script -q -c '#{bin}/omp-manager' /dev/null" - end - - output = shell_output(cmd) - assert_match(/\e\[\?1049h/, output) - assert_match(/\e\[\?1049l/, output) - end -end diff --git a/Formula/o/opamui.rb b/Formula/o/opamui.rb deleted file mode 100644 index f3cb361730..0000000000 --- a/Formula/o/opamui.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Opamui < Formula - desc "TUI for OPAM packages" - homepage "https://github.com/nlamirault/opamui" - url "https://github.com/nlamirault/opamui/archive/refs/tags/v0.2.0.tar.gz" - sha256 "7e92c70119216c482d488e4ed88f56e9a7e9f994c4ff6359e90d5088f0d04607" - license "Apache-2.0" - head "https://github.com/nlamirault/opamui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "cb40cdafbd7f8b725324d640951c1a9e9a811cc40297ac7fba5e397c19973c48" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e10a37950d63c241be5ec23767f296e3cec79dd72fa2addf591cf680c4ff0503" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d12c658a5bf2a826d035de6f1a1bb08035e5c34da31df8ab5715b4bba1f10f10" - sha256 arm64_linux: "6ba52c26393fe1a279617dd5bf815a3ea5d159742e24cb21e3e323ded11c7d35" - sha256 x86_64_linux: "87d788098ece68202e093deebf74e4516ffb8d9acef6d081b713caff1c822501" - end - - depends_on "dune" => :build - depends_on "ocamlbuild" => :build - depends_on "opam" => :build - depends_on "ocaml@4" - - def install - ENV.prepend_path "PATH", Formula["ocaml@4"].opt_bin - ENV["OPAMROOT"] = buildpath/".opam" - ENV["OPAMYES"] = "1" - - system "opam", "init", "--compiler=ocaml-system", "--disable-sandboxing", "--no-setup" - system "opam", "install", ".", "--deps-only", "--yes", "--no-depexts" - system "opam", "exec", "--", "dune", "build", "@install" - system "opam", "exec", "--", "dune", "install", "--prefix=#{prefix}", "--mandir=#{man}" - end - - test do - output = shell_output("#{bin}/opamui 2>&1") - assert_match "Loading OPAM packages...", output - assert_match "No packages found", output - end -end diff --git a/Formula/o/openharness.rb b/Formula/o/openharness.rb deleted file mode 100644 index e36bb23521..0000000000 --- a/Formula/o/openharness.rb +++ /dev/null @@ -1,364 +0,0 @@ -class Openharness < Formula - include Language::Python::Virtualenv - - desc "Open-source AI-powered CLI coding assistant" - homepage "https://github.com/HKUDS/OpenHarness" - url "https://files.pythonhosted.org/packages/ab/bc/44a0389aed5e65d51b579f9b05d2e0fbbee6227f0328c8137f1d60eb1ac4/openharness_ai-0.1.7.tar.gz" - sha256 "77b2c37c95280ec86da757b5f9c9b1e5540fe6d0184e99081ae70ffe4d48c77d" - license "MIT" - head "https://github.com/HKUDS/OpenHarness.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "dffca18747d7a926b73e5e0140dbadcaad8c9096248c252c1656b3a7300c1374" - sha256 cellar: :any, arm64_sequoia: "ebed9383961f0c7260d5311d576ea1694817ef3055019edfdb11b8ec93ce1ddc" - sha256 cellar: :any, arm64_sonoma: "fc9fe3c66781009e31cc47fbddf31177fb0e23fd463fe3fca925eea86c66c65d" - sha256 cellar: :any_skip_relocation, arm64_linux: "12d283b8cef04bcc098391b2e8854abc9ead106a6cf62768d9e1b734441cff93" - sha256 cellar: :any_skip_relocation, x86_64_linux: "520038fa0a96da6b76de3e9fcdc6534c618627531350948a16d92a1b98d1bca5" - end - - depends_on "rust" => :build - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "libyaml" - depends_on "pydantic" => :no_linkage - depends_on "python@3.13" - depends_on "rpds-py" => :no_linkage - - pypi_packages exclude_packages: %w[certifi cryptography pydantic pydantic-core rpds-py] - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz" - sha256 "9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" - end - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" - end - - resource "anthropic" do - url "https://files.pythonhosted.org/packages/b9/7e/672f533dee813028d2c699bfd2a7f52c9118d7353680d9aa44b9e23f717f/anthropic-0.96.0.tar.gz" - sha256 "9de947b737f39452f68aa520f1c2239d44119c9b73b0fb6d4e6ca80f00279ee6" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" - end - - resource "audioop-lts" do - url "https://files.pythonhosted.org/packages/38/53/946db57842a50b2da2e0c1e34bd37f36f5aadba1a929a3971c5d7841dbca/audioop_lts-0.2.2.tar.gz" - sha256 "64d0c62d88e67b98a1a5e71987b7aa7b5bcffc7dcee65b635823dbdd0a8dbbd0" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz" - sha256 "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/57/75/31212c6bf2503fdf920d87fee5d7a86a2e3bcf444984126f13d8e4016804/click-8.3.2.tar.gz" - sha256 "14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5" - end - - resource "croniter" do - url "https://files.pythonhosted.org/packages/df/de/5832661ed55107b8a09af3f0a2e71e0957226a59eb1dcf0a445cce6daf20/croniter-6.2.2.tar.gz" - sha256 "ba60832a5ec8e12e51b8691c3309a113d1cf6526bdf1a48150ce8ec7a532d0ab" - end - - resource "discord-py" do - url "https://files.pythonhosted.org/packages/ef/57/9a2d9abdabdc9db8ef28ce0cf4129669e1c8717ba28d607b5ba357c4de3b/discord_py-2.7.1.tar.gz" - sha256 "24d5e6a45535152e4b98148a9dd6b550d25dc2c9fb41b6d670319411641249da" - end - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "docstring-parser" do - url "https://files.pythonhosted.org/packages/e0/4d/f332313098c1de1b2d2ff91cf2674415cc7cddab2ca1b01ae29774bd5fdf/docstring_parser-0.18.0.tar.gz" - sha256 "292510982205c12b1248696f44959db3cdd1740237a968ea1e2e7a900eeb2015" - end - - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "jiter" do - url "https://files.pythonhosted.org/packages/6e/c1/0cddc6eb17d4c53a99840953f95dd3accdc5cfc7a337b0e9b26476276be9/jiter-0.14.0.tar.gz" - sha256 "e8a39e66dac7153cf3f964a12aad515afa8d74938ec5cc0018adcdae5367c79e" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" - sha256 "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "lark-oapi" do - url "https://files.pythonhosted.org/packages/bf/ff/2ece5d735ebfa2af600a53176f2636ae47af2bf934e08effab64f0d1e047/lark_oapi-1.5.3-py3-none-any.whl" - sha256 "fda6b32bb38d21b6bdaae94979c600b94c7c521e985adade63a54e4b3e20cc36" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mcp" do - url "https://files.pythonhosted.org/packages/8b/eb/c0cfc62075dc6e1ec1c64d352ae09ac051d9334311ed226f1f425312848a/mcp-1.27.0.tar.gz" - sha256 "d3dc35a7eec0d458c1da4976a48f982097ddaab87e278c5511d5a4a56e852b83" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" - end - - resource "openai" do - url "https://files.pythonhosted.org/packages/ed/59/bdcc6b759b8c42dd73afaf5bf8f902c04b37987a5514dbc1c64dba390fef/openai-2.32.0.tar.gz" - sha256 "c54b27a9e4cb8d51f0dd94972ffd1a04437efeb259a9e60d8922b8bd26fe55e0" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz" - sha256 "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" - end - - resource "prompt-toolkit" do - url "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz" - sha256 "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" - end - - resource "pycryptodome" do - url "https://files.pythonhosted.org/packages/8e/a6/8452177684d5e906854776276ddd34eca30d1b1e15aa1ee9cefc289a33f5/pycryptodome-3.23.0.tar.gz" - sha256 "447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz" - sha256 "b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/c2/27/a3b6e5bf6ff856d2509292e95c8f57f0df7017cf5394921fc4e4ef40308a/pyjwt-2.12.1.tar.gz" - sha256 "c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b" - end - - resource "pyperclip" do - url "https://files.pythonhosted.org/packages/e8/52/d87eba7cb129b81563019d1679026e7a112ef76855d6159d24754dbd2a51/pyperclip-1.11.0.tar.gz" - sha256 "244035963e4428530d9e3a6101a1ef97209c6825edab1567beac148ccc1db1b6" - end - - resource "python-dateutil" do - url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/88/71/b145a380824a960ebd60e1014256dbb7d2253f2316ff2d73dfd8928ec2c3/python_multipart-0.0.26.tar.gz" - sha256 "08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17" - end - - resource "python-telegram-bot" do - url "https://files.pythonhosted.org/packages/e4/25/2258161b1069e66d6c39c0a602dbe57461d4767dc0012539970ea40bc9d6/python_telegram_bot-22.7.tar.gz" - sha256 "784b59ea3852fe4616ad63b4a0264c755637f5d725e87755ecdee28300febf61" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "questionary" do - url "https://files.pythonhosted.org/packages/f6/45/eafb0bba0f9988f6a2520f9ca2df2c82ddfa8d67c95d6625452e97b204a5/questionary-2.1.1.tar.gz" - sha256 "3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz" - sha256 "18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" - end - - resource "requests-toolbelt" do - url "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz" - sha256 "7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" - sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "slack-sdk" do - url "https://files.pythonhosted.org/packages/22/35/fc009118a13187dd9731657c60138e5a7c2dea88681a7f04dc406af5da7d/slack_sdk-3.41.0.tar.gz" - sha256 "eb61eb12a65bebeca9cb5d36b3f799e836ed2be21b456d15df2627cfe34076ca" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/26/8c/f9290339ef6d79badbc010f067cd769d6601ec11a57d78569c683fb4dd87/sse_starlette-3.3.4.tar.gz" - sha256 "aaf92fc067af8a5427192895ac028e947b484ac01edbc3caf00e7e7137c7bef1" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz" - sha256 "6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/cf/2f/d44f0f12b3ddb1f0b88f7775652e99c6b5a43fd733badf4ce064bdbfef4a/textual-8.2.3.tar.gz" - sha256 "beea7b86b03b03558a2224f0cc35252e60ef8b0c4353b117b2f40972902d976a" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" - sha256 "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/f5/24/cb09efec5cc954f7f9b930bf8279447d24618bb6758d4f6adf2574c41780/typer-0.24.1.tar.gz" - sha256 "e39b4732d65fbdcde189ae76cf7cd48aeae72919dea1fdfc16593be016256b45" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/5e/da/6eee1ff8b6cbeed47eeb5229749168e81eb4b7b999a1a15a7176e51410c9/uvicorn-0.44.0.tar.gz" - sha256 "6c942071b68f07e178264b9152f1f16dfac5da85880c4ce06366a96d70d4f31e" - end - - resource "watchfiles" do - url "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz" - sha256 "a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2" - end - - resource "wcwidth" do - url "https://files.pythonhosted.org/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz" - sha256 "cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159" - end - - resource "websockets" do - url "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz" - sha256 "5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5" - end - - resource "yarl" do - url "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" - sha256 "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/oh --version") - assert_match "Auth sources:", shell_output("#{bin}/oh auth status") - assert_match "claude-api", shell_output("#{bin}/oh provider list") - end -end diff --git a/Formula/o/opensnitch-tui.rb b/Formula/o/opensnitch-tui.rb deleted file mode 100644 index d704788952..0000000000 --- a/Formula/o/opensnitch-tui.rb +++ /dev/null @@ -1,28 +0,0 @@ -class OpensnitchTui < Formula - desc "TUI for OpenSnitch" - homepage "https://github.com/amalbansode/opensnitch-tui" - url "https://github.com/amalbansode/opensnitch-tui/archive/ae25dc68fe30d6ae5fdf89162c29653ef9947e4f.tar.gz" - version "0.0.1" - sha256 "0bf7c9ce5651dee93ff2022d0f046adca03d08717fec3f8803d184f33e54e8e0" - license "GPL-3.0-only" - head "https://github.com/amalbansode/opensnitch-tui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "4668c4fcb20dbed60b6ba77e42f3846b71831e29a6571b0c754a66a22984a4bd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8246c5c6ffcd41f1ceb0a62172e1a3512b3c26302780a08f9b41b3b86ad0a105" - end - - depends_on "protobuf" => :build - depends_on "rust" => :build - depends_on :linux - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # opensnitch-tui is a TUI application - assert_match version.to_s, shell_output("#{bin}/opensnitch-tui --version") - end -end diff --git a/Formula/o/openspec.rb b/Formula/o/openspec.rb deleted file mode 100644 index 5fadc832d3..0000000000 --- a/Formula/o/openspec.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Openspec < Formula - desc "AI-native system for spec-driven development" - homepage "https://github.com/Fission-AI/OpenSpec" - url "https://registry.npmjs.org/@fission-ai/openspec/-/openspec-1.2.0.tgz" - sha256 "2aceda94693f1db0b0d2ea3c750a2a418737eab30d026d1d066629945cde98ba" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "27cb87fdcb2f3bdc156a481df473865839bc883f2b5ed64957cd75ab96bfcc2c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "27cb87fdcb2f3bdc156a481df473865839bc883f2b5ed64957cd75ab96bfcc2c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "27cb87fdcb2f3bdc156a481df473865839bc883f2b5ed64957cd75ab96bfcc2c" - sha256 cellar: :any_skip_relocation, arm64_linux: "158d71e73e2b339c07044f47653eebbfcd1c71e6be66025c6b3b0991d82e77ff" - sha256 cellar: :any_skip_relocation, x86_64_linux: "158d71e73e2b339c07044f47653eebbfcd1c71e6be66025c6b3b0991d82e77ff" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/openspec --version") - - output = shell_output("#{bin}/openspec init --tools codex") - assert_match "OpenSpec structure created", output - assert_path_exists testpath/"openspec/specs" - assert_path_exists testpath/".codex/skills/openspec-propose/SKILL.md" - end -end diff --git a/Formula/o/optimizt.rb b/Formula/o/optimizt.rb deleted file mode 100644 index ad40a918e5..0000000000 --- a/Formula/o/optimizt.rb +++ /dev/null @@ -1,45 +0,0 @@ -class Optimizt < Formula - desc "CLI image optimization tool" - homepage "https://github.com/343dev/optimizt" - url "https://registry.npmjs.org/@343dev/optimizt/-/optimizt-12.1.1.tgz" - sha256 "eb7fbfe1cacbc61eecf9fa598d4e09d25448827246e00a999553da779ba4d1d2" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "c4e73326dbf149667b1f3c71915c81fe06af45dc2a6d3b5c76c5c4ad152e47fa" - sha256 cellar: :any, arm64_sequoia: "7d427c5c4e44b5e0674fd8c21ce21991c2b3c380eb5c0c308965c0828adf6bd8" - sha256 cellar: :any, arm64_sonoma: "7d427c5c4e44b5e0674fd8c21ce21991c2b3c380eb5c0c308965c0828adf6bd8" - sha256 cellar: :any_skip_relocation, arm64_linux: "8d6ee49f8237d55234244320114f6314181afadee17afd0ff10cb9ed4a71d400" - sha256 cellar: :any_skip_relocation, x86_64_linux: "70f5be2bb3106d9b2b945a7df97977b98e8e7bc43f821521d36fac4eabecc982" - end - - depends_on "gifsicle" - depends_on "guetzli" - depends_on "node" - - def install - system "npm", "install", *std_npm_args - - node_modules = libexec/"lib/node_modules/@343dev/optimizt/node_modules" - { - "@343dev/gifsicle" => Formula["gifsicle"].opt_bin/"gifsicle", - "@343dev/guetzli" => Formula["guetzli"].opt_bin/"guetzli", - }.each do |package_name, binary_path| - package_dir = node_modules/package_name - rm package_dir/"index.js" - (package_dir/"index.js").write "export default #{binary_path.to_s.inspect};\n" - rm_r package_dir/"vendor" - end - - bin.install_symlink Dir["#{libexec}/bin/*"] - end - - test do - assert_match version.to_s, shell_output("#{bin}/optimizt --version") - - cp test_fixtures("test.png"), testpath/"test.png" - output = shell_output("#{bin}/optimizt test.png") - assert_match "Optimizing 1 image (lossy)...", output - end -end diff --git a/Formula/o/oracle.rb b/Formula/o/oracle.rb deleted file mode 100644 index 38548907c0..0000000000 --- a/Formula/o/oracle.rb +++ /dev/null @@ -1,70 +0,0 @@ -class Oracle < Formula - desc "Ask GPT-5 Pro with custom context and files" - homepage "https://askoracle.dev" - url "https://github.com/steipete/oracle/archive/refs/tags/v1.3.0.tar.gz" - sha256 "90b976087e2632aa0da82db75a1d1dae8a986ff449917c731153355e9f05ad22" - license "MIT" - head "https://github.com/steipete/oracle.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c5b5e1de5656e94294e6794fba935d8873333e5370987052c6b88b5fa91ce336" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8150a56e0a061ad75108e1dd9e5202078a72191e1ff4fe20eed27a77058479ba" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e7c3f427840321ad5a4a6bd25e2535a899121cae05d5b3fa795d811f0cee00bf" - sha256 cellar: :any_skip_relocation, arm64_linux: "6d4363bd711cd2f3a3b6cae8a528d7921bea077876ff582f52f92a27ec784d67" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b9a1fd734c422fbdcf62124ef39653823df6b71b182edc54dd09f825a0a24eba" - end - - depends_on "pkgconf" => :build - depends_on "pnpm" => :build - depends_on "node" - - on_macos do - depends_on "terminal-notifier" - end - - on_linux do - # node-gyp 8 imports distutils while building sqlite3. - depends_on "python-setuptools" => :build - depends_on "glib" - depends_on "libsecret" - end - - def install - ENV["npm_config_build_from_source"] = "true" - - system "pnpm", "install", "--frozen-lockfile" - system "pnpm", "run", "build" - system "pnpm", "prune", "--prod", "--ignore-scripts" - - toasted_notifier = Dir["node_modules/.pnpm/toasted-notifier@*/node_modules/toasted-notifier"].first - if OS.mac? - bundled_notifier = "path.join( __dirname, '../vendor/mac.noindex/" \ - "terminal-notifier.app/Contents/MacOS/terminal-notifier' )" - inreplace "#{toasted_notifier}/notifiers/notificationcenter.js", - bundled_notifier, - "'#{Formula["terminal-notifier"].opt_bin/"terminal-notifier"}'" - end - rm_r "#{toasted_notifier}/vendor" - - libexec.install "assets-oracle-icon.png", "dist", "node_modules", "package.json" - chmod 0755, libexec/"dist/bin/oracle-cli.js" - chmod 0755, libexec/"dist/bin/oracle-mcp.js" - - bin.install_symlink libexec/"dist/bin/oracle-cli.js" => "oracle" - bin.install_symlink libexec/"dist/bin/oracle-mcp.js" => "oracle-mcp" - end - - test do - assert_match version.to_s, shell_output("#{bin}/oracle --version") - - oracle_home = testpath/".oracle" - output = with_env(ORACLE_HOME_DIR: oracle_home.to_s) do - shell_output("#{bin}/oracle --prompt 'Homebrew smoke' --dry-run summary") - end - - assert_match "[preview] Oracle (#{version})", output - assert_match "No files attached", output - refute_path_exists oracle_home/"sessions" - end -end diff --git a/Formula/o/orla.rb b/Formula/o/orla.rb deleted file mode 100644 index dae474189a..0000000000 --- a/Formula/o/orla.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Orla < Formula - desc "High-performance execution engine for open-source agents" - homepage "https://github.com/dorcha-inc/orla" - url "https://github.com/dorcha-inc/orla/archive/refs/tags/v1.2.15.tar.gz" - sha256 "1af6cf9f4b04f3d1a75cae0269e917e833c24093e8b903bf11b4768c7410f5fc" - license "MIT" - head "https://github.com/dorcha-inc/orla.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "57387d5f6ec46dc97b85bea007e0eaeca147f77b42070f7d849cf644c138414f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b0451baa2b9ddf1740fcdfe4c4a72ddd8d3262bceda5bec46c3718fd092735be" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "36158a6a371cc91a6d9ca5dd361410154a7fcd74e134b035de033995f14ed0c3" - sha256 cellar: :any_skip_relocation, arm64_linux: "01157fbc9e30bb6e9c2bc9314d0f40a6bcb3e889a14d69349c8dfb9d5dd90e91" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c1b5f435fee865c7ae71b2e23976bd94e27c52be15341f5600b479bfbec2858d" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/orla" - - generate_completions_from_executable(bin/"orla", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/orla --version") - assert_match "Start orla's agent engine as a service", shell_output("#{bin}/orla serve --help") - end -end diff --git a/Formula/o/osintui.rb b/Formula/o/osintui.rb deleted file mode 100644 index 2794a9389f..0000000000 --- a/Formula/o/osintui.rb +++ /dev/null @@ -1,37 +0,0 @@ -class Osintui < Formula - desc "Open Source Intelligence Terminal User Interface" - homepage "https://docs.rs/crate/osintui/latest" - url "https://static.crates.io/crates/osintui/osintui-0.1.1.crate" - sha256 "732444225882845e6148e0fcc1ab4351454180014eb605f2133c490a1314b703" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ef25b21fade83dab585835cf9d125855aef60416e44b2e05256497f815e006db" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "25b47941171513d26b4dbb1f9138f01c7c5c2a03582a122067ee1cb9c73f898a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cd41c0884965e6763babe2941eb88b1db99b654148212d47af8aa81ae1a71a72" - sha256 cellar: :any_skip_relocation, arm64_linux: "14ab6854e6aff4a587296aa684451cdae0be05e7f139221db61abac2939e3a97" - sha256 cellar: :any_skip_relocation, x86_64_linux: "81dae5c17fd1ebc3f9cbe05c9cf021ae33ae557b93244176a7036a669b81a971" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - output_log = testpath/"output.log" - pid = spawn bin/"osintui", [:out, :err] => output_log.to_s - sleep 1 - assert_match "Config will be saved to", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/o/otel-tui.rb b/Formula/o/otel-tui.rb deleted file mode 100644 index c20f5bae5f..0000000000 --- a/Formula/o/otel-tui.rb +++ /dev/null @@ -1,32 +0,0 @@ -class OtelTui < Formula - desc "Terminal OpenTelemetry viewer" - homepage "https://github.com/ymtdzzz/otel-tui" - url "https://github.com/ymtdzzz/otel-tui/archive/refs/tags/v0.7.1.tar.gz" - sha256 "d6b270a4d0943047218eb008803bd2add106f95884facf9b64716e293154035f" - license "Apache-2.0" - head "https://github.com/ymtdzzz/otel-tui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9f4a79bce75544466651e0bf3cf75ca18f4780c33fa61975cf91f1d19eeb62b9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7fdccd8573fc67e69e5e504f05e9d66fcd831ec1c0a2c5a39c7736a01f1057d9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cc3bc76cebc428dbd3d65a2162e4c7da89e25c49caf2d284aa81ea0439e5b7f7" - sha256 cellar: :any_skip_relocation, arm64_linux: "3e42e8979432c8974886511e0777bdd4ff15360128966d65c0f3b5caab86bda7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d311a9ab6e4ed9fb6ba119141f41c0e0adf9ea838b6f48245d324e6ead185d0d" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X main.version=#{version} - ] - ENV["GOWORK"] = "off" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/otel-tui --version") - end -end diff --git a/Formula/o/outside.rb b/Formula/o/outside.rb deleted file mode 100644 index e0f91de578..0000000000 --- a/Formula/o/outside.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Outside < Formula - desc "Multi-purpose weather client for your terminal" - homepage "https://github.com/BaconIsAVeg/outside" - url "https://github.com/BaconIsAVeg/outside/archive/refs/tags/v0.5.0.tar.gz" - sha256 "012cde0c824c044a15dd3a053b3a84c3d7aeb08f922215e50d70b0e426478de4" - license "AGPL-3.0-or-later" - head "https://github.com/BaconIsAVeg/outside.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "aede5b378815d3f2d1d43fabed32212aeff90e6578562d8d6515cbe1a0b351bd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "52c5e0f2dba46dace5f17a91c8ca1c556807bb94e234b4ce128b62a654d6bc3a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0d61c0acded3799a2b9e2a1807bc214b4096f120262c8831dbb0915c592a9f0e" - sha256 cellar: :any_skip_relocation, arm64_linux: "e18e691261282637c6631b341a61093a745bf25064f20d42c2286c2d123e3f2f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a5de99b0823671cd83808cfd9cfa67a113afc226fd221516ef85b34ea28b664a" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "openssl@3" - - uses_from_macos "curl" - - on_linux do - depends_on "zlib-ng-compat" - end - - def install - inreplace "Cargo.toml", 'openssl = { version = "0.10", features = ["vendored"] }', 'openssl = "0.10"' - - ENV["OPENSSL_DIR"] = Formula["openssl@3"].opt_prefix - - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/outside --version") - - output = shell_output("#{bin}/outside --stream --output tui 2>&1", 1) - assert_match "TUI mode cannot be used with streaming mode", output - end -end diff --git a/Formula/o/owlex.rb b/Formula/o/owlex.rb deleted file mode 100644 index 89e77556e1..0000000000 --- a/Formula/o/owlex.rb +++ /dev/null @@ -1,142 +0,0 @@ -class Owlex < Formula - include Language::Python::Virtualenv - - desc "MCP server for Codex CLI and Gemini CLI integration with Claude Code" - homepage "https://github.com/agentic-mcp-tools/owlex" - url "https://github.com/agentic-mcp-tools/owlex/archive/refs/tags/v0.1.10.tar.gz" - sha256 "6e67d07aa3b3dafee9d7a5b271c3c94e7e507d4deb241891b755cef000ed3c20" - license "MIT" - head "https://github.com/agentic-mcp-tools/owlex.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "a2b187852be0b01809ad234ae6f88c8748f340d515b6993dfa95a4693ada716b" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage - - on_linux do - depends_on "openssl@3" - end - - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py] - - resource "anyio" do - url "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz" - sha256 "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" - sha256 "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "mcp" do - url "https://files.pythonhosted.org/packages/fc/6d/62e76bbb8144d6ed86e202b5edd8a4cb631e7c8130f3f4893c3f90262b10/mcp-1.26.0.tar.gz" - sha256 "db6e2ef491eecc1a0d93711a76f28dec2e05999f93afd48795da1c1137142c66" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz" - sha256 "b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025" - end - - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/5c/5a/b46fa56bf322901eee5b0454a34343cdbdae202cd421775a8ee4e42fd519/pyjwt-2.11.0.tar.gz" - sha256 "35f95c1f0fbe5d5ba6e43f00271c275f7a1a4db1dab27bf708073b75318ea623" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3/python_multipart-0.0.22.tar.gz" - sha256 "7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" - end - - resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/8b/8d/00d280c03ffd39aaee0e86ec81e2d3b9253036a0f93f51d10503adef0e65/sse_starlette-3.2.0.tar.gz" - sha256 "8127594edfb51abe44eac9c49e59b0b01f1039d0c7461c6fd91d4e03b70da422" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/c4/68/79977123bb7be889ad680d79a40f339082c1978b5cfcf62c2d8d196873ac/starlette-0.52.1.tar.gz" - sha256 "834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/32/ce/eeb58ae4ac36fe09e3842eb02e0eb676bf2c53ae062b98f1b2531673efdd/uvicorn-0.41.0.tar.gz" - sha256 "09d11cf7008da33113824ee5a1c6422d89fbc2ff476540d69a34c87fab8b571a" - end - - def install - virtualenv_install_with_resources - end - - test do - python = libexec/"bin/python" - version_output = shell_output( - "#{python} -c \"import importlib.metadata as m; print(m.version('owlex'))\"", - ) - assert_match version.to_s, version_output - - status_output = shell_output( - "#{python} -c \"import json; from owlex.server import get_council_status; " \ - "status = json.loads(get_council_status()); print(status['running_count']); print(status['total_count'])\"", - ) - assert_equal "0\n0\n", status_output - end -end diff --git a/Formula/o/oxicord.rb b/Formula/o/oxicord.rb deleted file mode 100644 index 77248b0d01..0000000000 --- a/Formula/o/oxicord.rb +++ /dev/null @@ -1,35 +0,0 @@ -class Oxicord < Formula - desc "Lightweight, secure Discord terminal client written in Rust" - homepage "https://github.com/linuxmobile/oxicord" - url "https://github.com/linuxmobile/oxicord/archive/refs/tags/v0.1.9.tar.gz" - sha256 "eea5dcd301c14667167c31eeff83a97aba7132c76abd4cd72952693d79584369" - license "GPL-3.0-only" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "66974ad71cca8d9c5da70bdaa9ae43bc4b57a12b7b6c2820efc89ef669a9a7f3" - sha256 arm64_sequoia: "6d4368d39416c225ac3038fc086f1199c0f7c66e6dbda07fcdd72f2f26a2f4d1" - sha256 arm64_sonoma: "549f6c973bca83e6788a36919063d633428f9370b1098aaeced083ce13f86b8d" - sha256 cellar: :any_skip_relocation, arm64_linux: "08bd2fc43e6e3636c1e718f80f9f69ce93be849651fb30ca27a88d2e46d9ef41" - sha256 cellar: :any_skip_relocation, x86_64_linux: "01cbba8f0581d16d1ca79357cdaa071dd9406a658d134e5f4a685d44e53a6003" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "chafa" - depends_on "gettext" - depends_on "glib" - - on_linux do - depends_on "dbus" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # oxicord is a TUI app, so just verify the version output - assert_match version.to_s, shell_output("#{bin}/oxicord --version") - end -end diff --git a/Formula/o/oxylabs-mcp.rb b/Formula/o/oxylabs-mcp.rb index f876648420..ea55025203 100644 --- a/Formula/o/oxylabs-mcp.rb +++ b/Formula/o/oxylabs-mcp.rb @@ -3,106 +3,80 @@ class OxylabsMcp < Formula desc "MCP server for Oxylabs" homepage "https://github.com/oxylabs/oxylabs-mcp" - url "https://files.pythonhosted.org/packages/e6/ed/7653e23465cbaa26f8d68183e2199424fb06af588626e8f02648a65d626e/oxylabs_mcp-0.8.1.tar.gz" - sha256 "0381aa87493a3f23cd036863a5ec89d59dcaad50d0309a187d42f064eabd675d" + url "https://files.pythonhosted.org/packages/99/bc/e4315fbfb4af4ecac4c521a5397f5dea27ec61ff221a76092f3f00177bef/oxylabs_mcp-0.6.2.tar.gz" + sha256 "95fb30a373d6388c7222b2c481193c7a53827d1d1db8c8f0d65c0dd3a09a259a" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "fd26847071bd3c68031e2a9fb753329084a846ccc2a48394779e38044fd689b3" - sha256 cellar: :any, arm64_sequoia: "3a1fae211d4fdc1fa924107c7e5428bddf4fb3dbb9b7b9b83351ef45a9a1ba04" - sha256 cellar: :any, arm64_sonoma: "36d8a661d972c96c19b4674a05b83cebd07b28a0f3dd7061f66cef70a801a458" - sha256 cellar: :any_skip_relocation, arm64_linux: "c2710d68e5c60b9ec99994d40c54f99482ef316512718cf5b0abc0cd52595837" - sha256 cellar: :any_skip_relocation, x86_64_linux: "76021a462d829ec5cff3442b39a876b3134542f3c18a3dd9495bf315b69f8958" + sha256 cellar: :any, arm64_sequoia: "b851bac812d589bcfa58e412c947125856bb4c37a592f7a8c6160fa152373788" + sha256 cellar: :any, arm64_sonoma: "691a16e76b64dc01bc41ca3eb117d1498a6dbdb065e951b3cd2885beb65daeeb" + sha256 cellar: :any, ventura: "5c0c7f1a77eb28f662f3ac904d488b9ffd0200b54f77a39cbae6586a0cc24ee1" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ed173705342a9dd463fa1f37a90b5e7ef49627b8c6f84eb6eb55177228e0bfd0" end - depends_on "rust" => :build # for uv-build - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "libffi" + depends_on "rust" => :build # for pydantic + depends_on "certifi" + depends_on "cryptography" depends_on "libyaml" - depends_on "pydantic" => :no_linkage depends_on "python@3.13" - depends_on "rpds-py" => :no_linkage uses_from_macos "libxml2", since: :ventura uses_from_macos "libxslt" - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py] - - resource "aiofile" do - url "https://files.pythonhosted.org/packages/67/e2/d7cb819de8df6b5c1968a2756c3cb4122d4fa2b8fc768b53b7c9e5edb646/aiofile-3.9.0.tar.gz" - sha256 "e5ad718bb148b265b6df1b3752c4d1d83024b93da9bd599df74b9d9ffcf7919b" - end - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" end resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" - end - - resource "art" do - url "https://files.pythonhosted.org/packages/d4/7d/7d80509bbd19fb747edef94ba487dbadd2747944774ccc0528ad0d005a36/art-6.5.tar.gz" - sha256 "a98d77b42c278697ec6cf4b5bdcdfd997f6b2425332da078d4e31e31377d1844" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "authlib" do - url "https://files.pythonhosted.org/packages/d9/82/4d0603f30c1b4629b1f091bb266b0d7986434891d6940a8c87f8098db24e/authlib-1.7.0.tar.gz" - sha256 "b3e326c9aa9cc3ea95fe7d89fd880722d3608da4d00e8a27e061e64b48d801d5" - end - - resource "beartype" do - url "https://files.pythonhosted.org/packages/c7/94/1009e248bbfbab11397abca7193bea6626806be9a327d399810d523a07cb/beartype-0.22.9.tar.gz" - sha256 "8f82b54aa723a2848a56008d18875f91c1db02c32ef6a62319a002e3e25a975f" + url "https://files.pythonhosted.org/packages/5d/c6/d9a9db2e71957827e23a34322bde8091b51cb778dcc38885b84c772a1ba9/authlib-1.6.3.tar.gz" + sha256 "9f7a982cc395de719e4c2215c5707e7ea690ecf84f1ab126f28c053f4219e610" end resource "beautifulsoup4" do - url "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz" - sha256 "6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86" + url "https://files.pythonhosted.org/packages/85/2e/3e5079847e653b1f6dc647aa24549d68c6addb4c595cc0d902d1b19308ad/beautifulsoup4-4.13.5.tar.gz" + sha256 "5e70131382930e7c3de33450a2f54a63d5e4b19386eab43a5b34d594268f3695" end - resource "cachetools" do - url "https://files.pythonhosted.org/packages/76/7b/1755ed2c6bfabd1d98b37ae73152f8dcf94aa40fee119d163c19ed484704/cachetools-7.0.6.tar.gz" - sha256 "e5d524d36d65703a87243a26ff08ad84f73352adbeafb1cde81e207b456aaf24" - end - - resource "caio" do - url "https://files.pythonhosted.org/packages/92/88/b8527e1b00c1811db339a1df8bd1ae49d146fcea9d6a5c40e3a80aaeb38d/caio-0.9.25.tar.gz" - sha256 "16498e7f81d1d0f5a4c0ad3f2540e65fe25691376e0a5bd367f558067113ed10" + resource "charset-normalizer" do + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" end resource "click" do - url "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz" - sha256 "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "cyclopts" do - url "https://files.pythonhosted.org/packages/f9/fa/eff8f1abae783bade9b5e9bafafd0040d4dbf51988f9384bfdc0326ba1fc/cyclopts-4.11.0.tar.gz" - sha256 "1ffcb9990dbd56b90da19980d31596de9e99019980a215a5d76cf88fe452e94d" + url "https://files.pythonhosted.org/packages/40/8b/87b309117bb0892233d279dc402603c1d44c13912baf54d0a9eb8d6205ce/cyclopts-3.23.0.tar.gz" + sha256 "e8e28386b600c12a6db8916f2191bfdb4518260fbbceb16177f0fecae7ac7996" end resource "dnspython" do - url "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz" - sha256 "181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f" + url "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz" + sha256 "ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1" end resource "docstring-parser" do - url "https://files.pythonhosted.org/packages/e0/4d/f332313098c1de1b2d2ff91cf2674415cc7cddab2ca1b01ae29774bd5fdf/docstring_parser-0.18.0.tar.gz" - sha256 "292510982205c12b1248696f44959db3cdd1740237a968ea1e2e7a900eeb2015" + url "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz" + sha256 "583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912" end resource "docutils" do - url "https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz" - sha256 "4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968" + url "https://files.pythonhosted.org/packages/e9/86/5b41c32ecedcfdb4c77b28b6cb14234f252075f8cdb254531727a35547dd/docutils-0.22.tar.gz" + sha256 "ba9d57750e92331ebe7c08a1bbf7a7f8143b86c476acd51528b042216a6aad0f" end resource "email-validator" do @@ -111,18 +85,13 @@ class OxylabsMcp < Formula end resource "exceptiongroup" do - url "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz" - sha256 "8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219" + url "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz" + sha256 "b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88" end resource "fastmcp" do - url "https://files.pythonhosted.org/packages/9c/13/29544fbc6dfe45ea38046af0067311e0bad7acc7d1f2ad38bb08f2409fe2/fastmcp-3.2.4.tar.gz" - sha256 "083ecb75b44a4169e7fc0f632f94b781bdb0ff877c6b35b9877cbb566fd4d4d1" - end - - resource "griffelib" do - url "https://files.pythonhosted.org/packages/9d/82/74f4a3310cdabfbb10da554c3a672847f1ed33c6f61dd472681ce7f1fe67/griffelib-2.0.2.tar.gz" - sha256 "3cf20b3bc470e83763ffbf236e0076b1211bac1bc67de13daf494640f2de707e" + url "https://files.pythonhosted.org/packages/06/80/13aec687ec21727b0fe6d26c6fe2febb33ae24e24c980929a706db3a8bc2/fastmcp-2.11.3.tar.gz" + sha256 "e8e3834a3e0b513712b8e63a6f0d4cbe19093459a1da3f7fbf8ef2810cfd34e3" end resource "h11" do @@ -141,73 +110,48 @@ class OxylabsMcp < Formula end resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" end resource "idna" do - url "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz" - sha256 "585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242" - end - - resource "importlib-metadata" do - url "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz" - sha256 "49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb" - end - - resource "jaraco-classes" do - url "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz" - sha256 "47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd" - end - - resource "jaraco-context" do - url "https://files.pythonhosted.org/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz" - sha256 "f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3" - end - - resource "jaraco-functools" do - url "https://files.pythonhosted.org/packages/0f/27/056e0638a86749374d6f57d0b0db39f29509cce9313cf91bdc0ac4d91084/jaraco_functools-4.4.0.tar.gz" - sha256 "da21933b0417b89515562656547a77b4931f98176eb173644c0d35032a33d6bb" - end - - resource "joserfc" do - url "https://files.pythonhosted.org/packages/de/c6/de8fdbdfa75c8ca04fead38a82d573df8a82906e984c349d58665f459558/joserfc-1.6.4.tar.gz" - sha256 "34ce5f499bfcc5e9ad4cc75077f9278ab3227b71da9aaf28f9ab705f8a560d3c" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end - resource "jsonref" do - url "https://files.pythonhosted.org/packages/aa/0d/c1f3277e90ccdb50d33ed5ba1ec5b3f0a242ed8c1b1a85d3afeb68464dca/jsonref-1.1.0.tar.gz" - sha256 "32fe8e1d85af0fdefbebce950af85590b22b60f9e95443176adbde4e1ecea552" + resource "isodate" do + url "https://files.pythonhosted.org/packages/54/4d/e940025e2ce31a8ce1202635910747e5a87cc3a6a6bb2d00973375014749/isodate-0.7.2.tar.gz" + sha256 "4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6" end resource "jsonschema" do - url "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" - sha256 "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" + url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" + sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" end resource "jsonschema-path" do - url "https://files.pythonhosted.org/packages/5b/8a/7e6102f2b8bdc6705a9eb5294f8f6f9ccd3a8420e8e8e19671d1dd773251/jsonschema_path-0.4.5.tar.gz" - sha256 "c6cd7d577ae290c7defd4f4029e86fdb248ca1bd41a07557795b3c95e5144918" + url "https://files.pythonhosted.org/packages/6e/45/41ebc679c2a4fced6a722f624c18d658dee42612b83ea24c1caf7c0eb3a8/jsonschema_path-0.3.4.tar.gz" + sha256 "8365356039f16cc65fddffafda5f58766e34bebab7d6d105616ab52bc4297001" end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end - resource "keyring" do - url "https://files.pythonhosted.org/packages/43/4b/674af6ef2f97d56f0ab5153bf0bfa28ccb6c3ed4d1babf4305449668807b/keyring-25.7.0.tar.gz" - sha256 "fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b" + resource "lazy-object-proxy" do + url "https://files.pythonhosted.org/packages/08/a2/69df9c6ba6d316cfd81fe2381e464db3e6de5db45f8c43c6a23504abf8cb/lazy_object_proxy-1.12.0.tar.gz" + sha256 "1f5a462d92fd0cfb82f1fab28b51bfb209fabbe6aabf7f0d51472c0c124c0c61" end resource "lxml" do - url "https://files.pythonhosted.org/packages/28/30/9abc9e34c657c33834eaf6cd02124c61bdf5944d802aa48e69be8da3585d/lxml-6.1.0.tar.gz" - sha256 "bfd57d8008c4965709a919c3e9a98f76c2c7cb319086b3d26858250620023b13" + url "https://files.pythonhosted.org/packages/76/3d/14e82fc7c8fb1b7761f7e748fd47e2ec8276d137b6acfe5a4bb73853e08f/lxml-5.4.0.tar.gz" + sha256 "d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd" end resource "lxml-html-clean" do - url "https://files.pythonhosted.org/packages/9a/a4/5c62acfacd69ff4f5db395100f5cfb9b54e7ac8c69a235e4e939fd13f021/lxml_html_clean-0.4.4.tar.gz" - sha256 "58f39a9d632711202ed1d6d0b9b47a904e306c85de5761543b90e3e3f736acfb" + url "https://files.pythonhosted.org/packages/79/b6/466e71db127950fb8d172026a8f0a9f0dc6f64c8e78e2ca79f252e5790b8/lxml_html_clean-0.4.2.tar.gz" + sha256 "91291e7b5db95430abf461bc53440964d58e06cc468950f9e47db64976cebcb3" end resource "markdown-it-py" do @@ -216,13 +160,18 @@ class OxylabsMcp < Formula end resource "markdownify" do - url "https://files.pythonhosted.org/packages/3f/bc/c8c8eea5335341306b0fa7e1cb33c5e1c8d24ef70ddd684da65f41c49c92/markdownify-1.2.2.tar.gz" - sha256 "b274f1b5943180b031b699b199cbaeb1e2ac938b75851849a31fd0c3d6603d09" + url "https://files.pythonhosted.org/packages/83/1b/6f2697b51eaca81f08852fd2734745af15718fea10222a1d40f8a239c4ea/markdownify-1.2.0.tar.gz" + sha256 "f6c367c54eb24ee953921804dfe6d6575c5e5b42c643955e7242034435de634c" + end + + resource "markupsafe" do + url "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz" + sha256 "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0" end resource "mcp" do - url "https://files.pythonhosted.org/packages/8b/eb/c0cfc62075dc6e1ec1c64d352ae09ac051d9334311ed226f1f425312848a/mcp-1.27.0.tar.gz" - sha256 "d3dc35a7eec0d458c1da4976a48f982097ddaab87e278c5511d5a4a56e852b83" + url "https://files.pythonhosted.org/packages/66/3c/82c400c2d50afdac4fbefb5b4031fd327e2ad1f23ccef8eee13c5909aa48/mcp-1.13.1.tar.gz" + sha256 "165306a8fd7991dc80334edd2de07798175a56461043b7ae907b279794a834c5" end resource "mdurl" do @@ -231,8 +180,13 @@ class OxylabsMcp < Formula end resource "more-itertools" do - url "https://files.pythonhosted.org/packages/a2/f7/139d22fef48ac78127d18e01d80cf1be40236ae489769d17f35c3d425293/more_itertools-11.0.2.tar.gz" - sha256 "392a9e1e362cbc106a2457d37cabf9b36e5e12efd4ebff1654630e76597df804" + url "https://files.pythonhosted.org/packages/ce/a0/834b0cebabbfc7e311f30b46c8188790a37f89fc8d756660346fe5abfd09/more_itertools-10.7.0.tar.gz" + sha256 "9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3" + end + + resource "openapi-core" do + url "https://files.pythonhosted.org/packages/b1/35/1acaa5f2fcc6e54eded34a2ec74b479439c4e469fc4e8d0e803fda0234db/openapi_core-0.19.5.tar.gz" + sha256 "421e753da56c391704454e66afe4803a290108590ac8fa6f4a4487f4ec11f2d3" end resource "openapi-pydantic" do @@ -240,89 +194,99 @@ class OxylabsMcp < Formula sha256 "ff6835af6bde7a459fb93eb93bb92b8749b754fc6e51b2f1590a19dc3005ee0d" end - resource "opentelemetry-api" do - url "https://files.pythonhosted.org/packages/47/8e/3778a7e87801d994869a9396b9fc2a289e5f9be91ff54a27d41eace494b0/opentelemetry_api-1.41.0.tar.gz" - sha256 "9421d911326ec12dee8bc933f7839090cad7a3f13fcfb0f9e82f8174dc003c09" + resource "openapi-schema-validator" do + url "https://files.pythonhosted.org/packages/8b/f3/5507ad3325169347cd8ced61c232ff3df70e2b250c49f0fe140edb4973c6/openapi_schema_validator-0.6.3.tar.gz" + sha256 "f37bace4fc2a5d96692f4f8b31dc0f8d7400fd04f3a937798eaf880d425de6ee" + end + + resource "openapi-spec-validator" do + url "https://files.pythonhosted.org/packages/82/af/fe2d7618d6eae6fb3a82766a44ed87cd8d6d82b4564ed1c7cfb0f6378e91/openapi_spec_validator-0.7.2.tar.gz" + sha256 "cc029309b5c5dbc7859df0372d55e9d1ff43e96d678b9ba087f7c56fc586f734" end resource "oxylabs-ai-studio" do - url "https://files.pythonhosted.org/packages/e6/f3/be85d45068d7c63a5b0dfdcb49eb67050c6dad7db8a5a83bdec81ece5edc/oxylabs_ai_studio-0.2.20.tar.gz" - sha256 "4a5e699b840b90a02fab9f610695f2be8ddd52d92fc838bb828335381cef4221" + url "https://files.pythonhosted.org/packages/75/40/d22e4c3eb3372b72cad3a0d18c32f5646c1c952f2c33d1b1409656baf468/oxylabs_ai_studio-0.2.12.tar.gz" + sha256 "631162a1e9e0ef28720866e7b22617352ffbf86597c9168a9e40d9f39aaccb92" end - resource "packaging" do - url "https://files.pythonhosted.org/packages/df/de/0d2b39fb4af88a0258f3bac87dfcbb48e73fbdea4a2ed0e2213f9a4c2f9a/packaging-26.1.tar.gz" - sha256 "f042152b681c4bfac5cae2742a55e103d27ab2ec0f3d88037136b6bfe7c9c5de" + resource "parse" do + url "https://files.pythonhosted.org/packages/4f/78/d9b09ba24bb36ef8b83b71be547e118d46214735b6dfb39e4bfde0e9b9dd/parse-1.20.2.tar.gz" + sha256 "b41d604d16503c79d81af5165155c0b20f6c8d6c559efa66b4b695c3e5a0a0ce" end resource "pathable" do - url "https://files.pythonhosted.org/packages/72/55/b748445cb4ea6b125626f15379be7c96d1035d4fa3e8fee362fa92298abf/pathable-0.5.0.tar.gz" - sha256 "d81938348a1cacb525e7c75166270644782c0fb9c8cecc16be033e71427e0ef1" + url "https://files.pythonhosted.org/packages/67/93/8f2c2075b180c12c1e9f6a09d1a985bc2036906b13dff1d8917e395f2048/pathable-0.4.4.tar.gz" + sha256 "6905a3cd17804edfac7875b5f6c9142a218c7caef78693c2dbbbfbac186d88b2" end - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz" - sha256 "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" end - resource "py-key-value-aio" do - url "https://files.pythonhosted.org/packages/04/3c/0397c072a38d4bc580994b42e0c90c5f44f679303489e4376289534735e5/py_key_value_aio-0.4.4.tar.gz" - sha256 "e3012e6243ed7cc09bb05457bd4d03b1ba5c2b1ca8700096b3927db79ffbbe55" + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/42/98/c8345dccdc31de4228c039a98f6467a941e39558da41c1744fbe29fa5666/pydantic_settings-2.14.0.tar.gz" - sha256 "24285fd4b0e0c06507dd9fdfd331ee23794305352aaec8fc4eb92d4047aeb67d" + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" end resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/c2/27/a3b6e5bf6ff856d2509292e95c8f57f0df7017cf5394921fc4e4ef40308a/pyjwt-2.12.1.tar.gz" - sha256 "c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b" + url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" + sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" end resource "pyperclip" do - url "https://files.pythonhosted.org/packages/e8/52/d87eba7cb129b81563019d1679026e7a112ef76855d6159d24754dbd2a51/pyperclip-1.11.0.tar.gz" - sha256 "244035963e4428530d9e3a6101a1ef97209c6825edab1567beac148ccc1db1b6" + url "https://files.pythonhosted.org/packages/30/23/2f0a3efc4d6a32f3b63cdff36cd398d9701d26cda58e3ab97ac79fb5e60d/pyperclip-1.9.0.tar.gz" + sha256 "b7de0142ddc81bfc5c7507eea19da920b92252b548b96186caf94a5e2527d310" end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "python-multipart" do - url "https://files.pythonhosted.org/packages/88/71/b145a380824a960ebd60e1014256dbb7d2253f2316ff2d73dfd8928ec2c3/python_multipart-0.0.26.tar.gz" - sha256 "08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17" + url "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz" + sha256 "8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13" end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" + end + + resource "requests" do + url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" + sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + end + + resource "rfc3339-validator" do + url "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz" + sha256 "138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b" end resource "rich" do - url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" - sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" + url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" + sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" end resource "rich-rst" do - url "https://files.pythonhosted.org/packages/bc/6d/a506aaa4a9eaa945ed8ab2b7347859f53593864289853c5d6d62b77246e0/rich_rst-1.3.2.tar.gz" - sha256 "a1196fdddf1e364b02ec68a05e8ff8f6914fee10fbca2e6b6735f166bb0da8d4" + url "https://files.pythonhosted.org/packages/b0/69/5514c3a87b5f10f09a34bb011bc0927bc12c596c8dae5915604e71abc386/rich_rst-1.3.1.tar.gz" + sha256 "fad46e3ba42785ea8c1785e2ceaa56e0ffa32dbe5410dec432f37e4107c4f383" end - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz" + sha256 "26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8" end resource "six" do @@ -330,64 +294,49 @@ class OxylabsMcp < Formula sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" end - resource "smithery" do - url "https://files.pythonhosted.org/packages/1e/75/d0b0fc1a5c10a20f3e01cefd98276ccbe7b44d74eeb6551bd2f42d8b4768/smithery-0.4.4.tar.gz" - sha256 "18ae19af8405e6476ca4984036d4460822ec1647ad2262addb4909d03387d671" + resource "sniffio" do + url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" + sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" end resource "soupsieve" do - url "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz" - sha256 "3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349" + url "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz" + sha256 "e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f" end resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/26/8c/f9290339ef6d79badbc010f067cd769d6601ec11a57d78569c683fb4dd87/sse_starlette-3.3.4.tar.gz" - sha256 "aaf92fc067af8a5427192895ac028e947b484ac01edbc3caf00e7e7137c7bef1" + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" end resource "starlette" do - url "https://files.pythonhosted.org/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz" - sha256 "6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149" - end - - resource "tenacity" do - url "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz" - sha256 "adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a" + url "https://files.pythonhosted.org/packages/15/b9/cc3017f9a9c9b6e27c5106cc10cc7904653c3eec0729793aec10479dd669/starlette-0.47.3.tar.gz" + sha256 "6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9" end - resource "toml" do - url "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz" - sha256 "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" end - resource "typer" do - url "https://files.pythonhosted.org/packages/83/b8/9ebb531b6c2d377af08ac6746a5df3425b21853a5d2260876919b58a2a4a/typer-0.24.2.tar.gz" - sha256 "ec070dcfca1408e85ee203c6365001e818c3b7fffe686fd07ff2d68095ca0480" + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" end - resource "uncalled-for" do - url "https://files.pythonhosted.org/packages/e1/68/35c1d87e608940badbcfeb630347aa0509897284684f61fab6423d02b253/uncalled_for-0.3.1.tar.gz" - sha256 "5e412ac6708f04b56bef5867b5dcf6690ebce4eb7316058d9c50787492bb4bca" + resource "urllib3" do + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/1f/93/041fca8274050e40e6791f267d82e0e2e27dd165627bd640d3e0e378d877/uvicorn-0.46.0.tar.gz" - sha256 "fb9da0926999cc6cb22dc7cd71a94a632f078e6ae47ff683c5c420750fb7413d" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end - resource "watchfiles" do - url "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz" - sha256 "a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2" - end - - resource "websockets" do - url "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz" - sha256 "5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5" - end - - resource "zipp" do - url "https://files.pythonhosted.org/packages/30/21/093488dfc7cc8964ded15ab726fad40f25fd3d788fd741cc1c5a17d78ee8/zipp-3.23.1.tar.gz" - sha256 "32120e378d32cd9714ad503c1d024619063ec28aad2248dc6672ad13edfa5110" + resource "werkzeug" do + url "https://files.pythonhosted.org/packages/32/af/d4502dc713b4ccea7175d764718d5183caf8d0867a4f0190d5d4a45cea49/werkzeug-3.1.1.tar.gz" + sha256 "8cd39dfbdfc1e051965f156163e2974e52c210f130810e9ad36858f0fd3edad4" end def install @@ -397,7 +346,13 @@ def install test do ENV["OXYLABS_AI_STUDIO_API_KEY"] = "test" - output = pipe_output("#{bin}/oxylabs-mcp --version 2>&1", "", 0) - assert_match "Starting MCP server 'oxylabs_mcp'", output + json = <<~JSON + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}} + {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} + {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"cursor":null}} + JSON + + output = pipe_output("#{bin}/oxylabs-mcp 2>&1", json, 0) + assert_match "Tool useful for crawling a website from starting url", output end end diff --git a/Formula/o/oyo.rb b/Formula/o/oyo.rb deleted file mode 100644 index b1437c594f..0000000000 --- a/Formula/o/oyo.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Oyo < Formula - desc "Step-through diff viewer" - homepage "https://github.com/ahkohd/oyo" - url "https://github.com/ahkohd/oyo/archive/refs/tags/v0.1.30.tar.gz" - sha256 "9454a46fb1b7189151c3d264df88e6b0569df965f560d47dadc931e861158c2f" - license "MIT" - head "https://github.com/ahkohd/oyo.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5bb3cc343b6eebdcedeb7408ea5bf7676e1fd8d746e45dfdffdfd95412e6a5ad" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "29530d8adb5f7349972fc58ff903568f1e80a709cc082567145a48e56a841c9c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "71992799ff4cb43fb2f0f7c8ade7ad100a9b52d69223e0ead900efdf242f420b" - sha256 cellar: :any_skip_relocation, arm64_linux: "fcbe16434b26ded1eabc240a3bce3771d834cd0d7687e5efbedcb776d10ae142" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7f4a9d436cace4d37f063b300aff4fba546a43a9ab57fd97d7aead0578868fb6" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "oniguruma" - - def install - system "cargo", "install", *std_cargo_args(path: "crates/oyo") - end - - test do - assert_match version.to_s, shell_output("#{bin}/oy --version") - assert_match "github", shell_output("#{bin}/oy themes") - end -end diff --git a/Formula/o/plutov-oq.rb b/Formula/o/plutov-oq.rb deleted file mode 100644 index b7eaa2aa21..0000000000 --- a/Formula/o/plutov-oq.rb +++ /dev/null @@ -1,29 +0,0 @@ -class PlutovOq < Formula - desc "Terminal OpenAPI Spec viewer" - homepage "https://github.com/plutov/oq" - url "https://github.com/plutov/oq/archive/refs/tags/v0.0.22.tar.gz" - sha256 "4b4b3f294482bdd45a044c5a20f0ebf5db47c6eb7906584e927ca48f3c14ecd6" - license "MIT" - head "https://github.com/plutov/oq.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "675fb776654f57413074f2b422bf973e58f5bc407962c13cb70cefe1235def69" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "675fb776654f57413074f2b422bf973e58f5bc407962c13cb70cefe1235def69" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "675fb776654f57413074f2b422bf973e58f5bc407962c13cb70cefe1235def69" - sha256 cellar: :any_skip_relocation, arm64_linux: "3a2ad51f54f8c1b9778d6b6b3751138e36d5ea0b396b9c3f864f6c2bc748e6d7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "446e957d0967425e9005a922653dcc09d3bdb994a7ab771167b86a4ccf750b55" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w", output: bin/"oq") - end - - test do - (testpath/"openapi.yaml").write "not: [valid\n" - output = shell_output("#{bin}/oq #{testpath}/openapi.yaml 2>&1", 1) - assert_match "unable to parse specification", output - end -end diff --git a/Formula/p/packemon.rb b/Formula/p/packemon.rb deleted file mode 100644 index c24c6c9793..0000000000 --- a/Formula/p/packemon.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Packemon < Formula - desc "Terminal tool for generating and monitoring packets" - homepage "https://github.com/ddddddO/packemon" - url "https://github.com/ddddddO/packemon/archive/refs/tags/v1.8.21.tar.gz" - sha256 "843acc971cf5191fd7d06266a582444f478372a2232e77497dc3e73be23b2b77" - license "BSD-2-Clause" - head "https://github.com/ddddddO/packemon.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0065efa4c202077bc12b925452e422a6152bfb43fdb000fbed0a2efc0486a9f3" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "23c312fa724e0a37dbfcff6e3f73a79f6b65b71053e1298c7a1692d97ce7d4f6" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1d50f6de3bc1355f224f8445d67a5abdcc6735db3f6b406a33b6ac793c2ef758" - sha256 cellar: :any_skip_relocation, arm64_linux: "8ded1ed5d7c3ad64b4b411f05994e83dd55f92675db5007c40e8880934751904" - sha256 cellar: :any_skip_relocation, x86_64_linux: "943cdf8a42a33549c9e068d77b389d47de72503f0048af5ced1cd353dc77f2d0" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.Version=#{version} -X main.Revision=brew" - system "go", "build", *std_go_args(ldflags:), "./cmd/packemon" - end - - test do - assert_match version.to_s, shell_output("#{bin}/packemon version") - - interfaces = JSON.parse(shell_output("#{bin}/packemon interfaces --json")) - assert_kind_of Array, interfaces - refute_empty interfaces - assert_kind_of Hash, interfaces.first - assert interfaces.first.key?("InterfaceName") - end -end diff --git a/Formula/p/pal-mcp-server.rb b/Formula/p/pal-mcp-server.rb deleted file mode 100644 index 38267f5f72..0000000000 --- a/Formula/p/pal-mcp-server.rb +++ /dev/null @@ -1,221 +0,0 @@ -class PalMcpServer < Formula - include Language::Python::Virtualenv - - desc "AI-powered MCP server with multiple model providers" - homepage "https://github.com/BeehiveInnovations/pal-mcp-server" - url "https://github.com/BeehiveInnovations/pal-mcp-server/releases/download/v9.8.2/pal_mcp_server-9.8.2.tar.gz" - sha256 "6c26eb859a918f59ab0d7121851a4d7f68173da672fe7cb8b8d4d06ee67ca208" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "0ea5594c28aed277ede6a06869abdf8c8f2a978c5682c88466f9da3de23ba743" - sha256 cellar: :any, arm64_sequoia: "8a73a4303e5a6afed0456427efb147b9d8f7c66c302d25b2b74c6f30bed16207" - sha256 cellar: :any, arm64_sonoma: "9a2405533f522b157f8d75b6ad670bbad9cd723f958c9ab460c162250b2585cc" - sha256 cellar: :any_skip_relocation, arm64_linux: "5cdcf7c798b09050cb5b4961463f6571871f1f96c055f46fb70e8845c105abd2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6b55108161b725ed8a8a50f1409f877377bff6c313f9aed4ad94177cf4403390" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build # for jiter - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.13" - depends_on "rpds-py" => :no_linkage - - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py] - - resource "anyio" do - url "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz" - sha256 "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "google-auth" do - url "https://files.pythonhosted.org/packages/0c/41/242044323fbd746615884b1c16639749e73665b718209946ebad7ba8a813/google_auth-2.48.0.tar.gz" - sha256 "4f7e706b0cd3208a3d940a19a822c37a476ddba5450156c3e6624a71f7c841ce" - end - - resource "google-genai" do - url "https://files.pythonhosted.org/packages/46/d7/07ec5dadd0741f09e89f3ff5f0ce051ce2aa3a76797699d661dc88def077/google_genai-1.63.0.tar.gz" - sha256 "dc76cab810932df33cbec6c7ef3ce1538db5bef27aaf78df62ac38666c476294" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "jiter" do - url "https://files.pythonhosted.org/packages/0d/5e/4ec91646aee381d01cdb9974e30882c9cd3b8c5d1079d6b5ff4af522439a/jiter-0.13.0.tar.gz" - sha256 "f2839f9c2c7e2dffc1bc5929a510e14ce0a946be9365fd1219e7ef342dae14f4" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" - sha256 "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "mcp" do - url "https://files.pythonhosted.org/packages/fc/6d/62e76bbb8144d6ed86e202b5edd8a4cb631e7c8130f3f4893c3f90262b10/mcp-1.26.0.tar.gz" - sha256 "db6e2ef491eecc1a0d93711a76f28dec2e05999f93afd48795da1c1137142c66" - end - - resource "openai" do - url "https://files.pythonhosted.org/packages/92/e5/3d197a0947a166649f566706d7a4c8f7fe38f1fa7b24c9bcffe4c7591d44/openai-2.21.0.tar.gz" - sha256 "81b48ce4b8bbb2cc3af02047ceb19561f7b1dc0d4e52d1de7f02abfd15aa59b7" - end - - resource "pyasn1" do - url "https://files.pythonhosted.org/packages/fe/b6/6e630dff89739fcd427e3f72b3d905ce0acb85a45d4ec3e2678718a3487f/pyasn1-0.6.2.tar.gz" - sha256 "9b59a2b25ba7e4f8197db7686c09fb33e658b98339fadb826e9512629017833b" - end - - resource "pyasn1-modules" do - url "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz" - sha256 "677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/96/a1/ae859ffac5a3338a66b74c5e29e244fd3a3cc483c89feaf9f56c39898d75/pydantic_settings-2.13.0.tar.gz" - sha256 "95d875514610e8595672800a5c40b073e99e4aae467fa7c8f9c263061ea2e1fe" - end - - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/5c/5a/b46fa56bf322901eee5b0454a34343cdbdae202cd421775a8ee4e42fd519/pyjwt-2.11.0.tar.gz" - sha256 "35f95c1f0fbe5d5ba6e43f00271c275f7a1a4db1dab27bf708073b75318ea623" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3/python_multipart-0.0.22.tar.gz" - sha256 "7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rsa" do - url "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz" - sha256 "e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/8b/8d/00d280c03ffd39aaee0e86ec81e2d3b9253036a0f93f51d10503adef0e65/sse_starlette-3.2.0.tar.gz" - sha256 "8127594edfb51abe44eac9c49e59b0b01f1039d0c7461c6fd91d4e03b70da422" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/c4/68/79977123bb7be889ad680d79a40f339082c1978b5cfcf62c2d8d196873ac/starlette-0.52.1.tar.gz" - sha256 "834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933" - end - - resource "tenacity" do - url "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz" - sha256 "adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" - sha256 "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/32/ce/eeb58ae4ac36fe09e3842eb02e0eb676bf2c53ae062b98f1b2531673efdd/uvicorn-0.41.0.tar.gz" - sha256 "09d11cf7008da33113824ee5a1c6422d89fbc2ff476540d69a34c87fab8b571a" - end - - resource "websockets" do - url "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz" - sha256 "82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee" - end - - def install - virtualenv_install_with_resources - end - - test do - ENV["GEMINI_API_KEY"] = "test" - ENV["DISABLED_TOOLS"] = "analyze,refactor,testgen,secaudit,docgen,tracer" - ENV["DEFAULT_MODEL"] = "auto" - - json = <<~JSON - {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} - {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} - {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"cursor":null}} - JSON - - output = pipe_output("#{bin}/pal-mcp-server 2>&1", json, 0) - # "Your question or idea for collaborative thinking to be sent to the external model. - # Provide detailed context, including your goal, what you've tried, and any specific challenges. - # WARNING: Large inline code must NOT be shared in prompt. - # Provide full-path to files on disk as separate parameter." - assert_match "Your question or idea for collaborative thinking to be sent to the external model", output - end -end diff --git a/Formula/p/pam.rb b/Formula/p/pam.rb deleted file mode 100644 index de16437657..0000000000 --- a/Formula/p/pam.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Pam < Formula - desc "Minimal CLI tool for managing and executing SQL queries with a TUI" - homepage "https://github.com/eduardofuncao/squix" - url "https://github.com/eduardofuncao/squix/archive/refs/tags/v0.3.0-beta.tar.gz" - sha256 "32dd9ab000f8c498427ab7ed715b33166ab19b4fcb850479da709b684a037760" - license "MIT" - revision 1 - head "https://github.com/eduardofuncao/squix.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5371b035cff26bb7f019a16114e4427219f053becd1aad5635fc86249f5dd1c6" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2a5bb0421f7671d2ee4897a2f7fb25179a38b4f727151301b81c34d7e8521826" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f209ee20577b45d96acf15a8b1f6df920830491aff4e368eb7b6adf828a18aae" - sha256 cellar: :any_skip_relocation, arm64_linux: "bffd043d4c244bdba3eb1bb19977f29399b76926ac369ae394fc7d2963afa2bd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "69f44376666d2c2f23fea37f7db03a78da660383b7eb3808fea4b385a448c766" - end - - depends_on "go" => :build - - def install - # Upstream renamed the project from pam to squix; keep a pam shim for this tap formula name. - system "go", "build", *std_go_args(output: bin/"squix", ldflags: "-s -w"), "./cmd/squix" - bin.install_symlink "squix" => "pam" - end - - test do - output = shell_output("HOME=#{testpath} #{bin}/pam list connections") - assert_match "No connections configured", output - assert_equal shell_output("#{bin}/squix --version").strip, shell_output("#{bin}/pam --version").strip - end -end diff --git a/Formula/p/papis.rb b/Formula/p/papis.rb new file mode 100644 index 0000000000..153027d0ab --- /dev/null +++ b/Formula/p/papis.rb @@ -0,0 +1,225 @@ +class Papis < Formula + include Language::Python::Virtualenv + + desc "Powerful command-line document and bibliography manager" + homepage "https://papis.readthedocs.io/en/latest/" + url "https://files.pythonhosted.org/packages/7a/d3/2b346625aa3803e47b9faa82b1a66a824e91c43cf45e5b228009060fb666/papis-0.14.1.tar.gz" + sha256 "1970e549d8931d560b283bdc883a744f1634afbf23bad8eb244dfa967f66ba78" + license "GPL-3.0-or-later" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "efe2defd9396c18b5e6c08f86acf2c32776ad511d2acf481a3a5a654c6d11789" + sha256 cellar: :any, arm64_sonoma: "d627fe970eb10c8dc03750a95c44e6825d98b10c0ec37bf44b5de565e4feabcf" + sha256 cellar: :any, ventura: "1f56d7a074b8ed1884c9ed06f11b75b74c6963aec37e8ce967b12bb0f420bce6" + sha256 cellar: :any_skip_relocation, x86_64_linux: "35ed302677d371d64f3e06ec25e445895b9714df731546a65eb0ea18f039c1dc" + end + + depends_on "libyaml" + depends_on "python@3.13" + + uses_from_macos "libxml2" + uses_from_macos "libxslt" + + resource "anyio" do + url "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz" + sha256 "1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a" + end + + resource "arxiv" do + url "https://files.pythonhosted.org/packages/fe/59/fe41f54bdfed776c2e9bcd6289e4c71349eb938241d89b4c97d0f33e8013/arxiv-2.1.3.tar.gz" + sha256 "32365221994d2cf05657c1fadf63a26efc8ccdec18590281ee03515bfef8bc4e" + end + + resource "beautifulsoup4" do + url "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz" + sha256 "1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b" + end + + resource "bibtexparser" do + url "https://files.pythonhosted.org/packages/92/8d/e296c7af03757debd8fc80df2898cbed4fb69fc61ed2c9b4a1d42e923a9e/bibtexparser-1.4.3.tar.gz" + sha256 "a9c7ded64bc137720e4df0b1b7f12734edc1361185f1c9097048ff7c35af2b8f" + end + + resource "certifi" do + url "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz" + sha256 "3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651" + end + + resource "charset-normalizer" do + url "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz" + sha256 "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3" + end + + resource "click" do + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" + end + + resource "colorama" do + url "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" + sha256 "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" + end + + resource "dominate" do + url "https://files.pythonhosted.org/packages/fb/f3/1c8088ff19a0fcd9c3234802a0ee47006ea64bd8852f1019194f0e3583ff/dominate-2.9.1.tar.gz" + sha256 "558284687d9b8aae1904e3d6051ad132dd4a8c0cf551b37ea4e7e42a31d19dc4" + end + + resource "feedparser" do + url "https://files.pythonhosted.org/packages/ff/aa/7af346ebeb42a76bf108027fe7f3328bb4e57a3a96e53e21fd9ef9dd6dd0/feedparser-6.0.11.tar.gz" + sha256 "c9d0407b64c6f2a065d0ebb292c2b35c01050cc0dc33757461aaabdc4c4184d5" + end + + resource "filetype" do + url "https://files.pythonhosted.org/packages/bb/29/745f7d30d47fe0f251d3ad3dc2978a23141917661998763bebb6da007eb1/filetype-1.2.0.tar.gz" + sha256 "66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb" + end + + resource "h11" do + url "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz" + sha256 "8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d" + end + + resource "habanero" do + url "https://files.pythonhosted.org/packages/c6/7a/c015a6b009aa1c15732300ad2f255a728f90c33f1f57fd5545e852b2eb2f/habanero-2.2.0.tar.gz" + sha256 "18c5c3b59b8db1887811da6de8bd976ac4077d61a25a058f3a67044e8bcab8eb" + end + + resource "httpcore" do + url "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz" + sha256 "8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c" + end + + resource "httpx" do + url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" + sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" + end + + resource "idna" do + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" + end + + resource "isbnlib" do + url "https://files.pythonhosted.org/packages/9e/6d/55b9ee89fdfb3aacb92b975a60357c7aa547db358817e16be3b6f8f5d781/isbnlib-3.10.14.tar.gz" + sha256 "96f90864c77b01f55fa11e5bfca9fd909501d9842f3bc710d4eab85195d90539" + end + + resource "lxml" do + url "https://files.pythonhosted.org/packages/ef/f6/c15ca8e5646e937c148e147244817672cf920b56ac0bf2cc1512ae674be8/lxml-5.3.1.tar.gz" + sha256 "106b7b5d2977b339f1e97efe2778e2ab20e99994cbb0ec5e55771ed0795920c8" + end + + resource "packaging" do + url "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz" + sha256 "c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f" + end + + resource "pbr" do + url "https://files.pythonhosted.org/packages/01/d2/510cc0d218e753ba62a1bc1434651db3cd797a9716a0a66cc714cb4f0935/pbr-6.1.1.tar.gz" + sha256 "93ea72ce6989eb2eed99d0f75721474f69ad88128afdef5ac377eb797c4bf76b" + end + + resource "platformdirs" do + url "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz" + sha256 "357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907" + end + + resource "prompt-toolkit" do + url "https://files.pythonhosted.org/packages/a1/e1/bd15cb8ffdcfeeb2bdc215de3c3cffca11408d829e4b8416dcfe71ba8854/prompt_toolkit-3.0.50.tar.gz" + sha256 "544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab" + end + + resource "pygments" do + url "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz" + sha256 "61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f" + end + + resource "pyparsing" do + url "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz" + sha256 "61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a" + end + + resource "python-doi" do + url "https://files.pythonhosted.org/packages/fd/03/b71a3b7f4deba34b60b2d65342facaf916c5dcb62e31494dc4356d153550/python-doi-0.2.0.tar.gz" + sha256 "2e01e56fb319bd219ea8586baa43a1fc794dfe45a83156ac70242c4ce961fd9a" + end + + resource "python-slugify" do + url "https://files.pythonhosted.org/packages/87/c7/5e1547c44e31da50a460df93af11a535ace568ef89d7a811069ead340c4a/python-slugify-8.0.4.tar.gz" + sha256 "59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856" + end + + resource "pyyaml" do + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" + end + + resource "requests" do + url "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz" + sha256 "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760" + end + + resource "setuptools" do + url "https://files.pythonhosted.org/packages/d1/53/43d99d7687e8cdef5ab5f9ec5eaf2c0423c2b35133a2b7e7bc276fc32b21/setuptools-75.8.2.tar.gz" + sha256 "4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2" + end + + resource "sgmllib3k" do + url "https://files.pythonhosted.org/packages/9e/bd/3704a8c3e0942d711c1299ebf7b9091930adae6675d7c8f476a7ce48653c/sgmllib3k-1.0.0.tar.gz" + sha256 "7868fb1c8bfa764c1ac563d3cf369c381d1325d36124933a726f29fcdaa812e9" + end + + resource "sniffio" do + url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" + sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" + end + + resource "soupsieve" do + url "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz" + sha256 "e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb" + end + + resource "stevedore" do + url "https://files.pythonhosted.org/packages/28/3f/13cacea96900bbd31bb05c6b74135f85d15564fc583802be56976c940470/stevedore-5.4.1.tar.gz" + sha256 "3135b5ae50fe12816ef291baff420acb727fcd356106e3e9cbfa9e5985cd6f4b" + end + + resource "text-unidecode" do + url "https://files.pythonhosted.org/packages/ab/e2/e9a00f0ccb71718418230718b3d900e71a5d16e701a3dae079a21e9cd8f8/text-unidecode-1.3.tar.gz" + sha256 "bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93" + end + + resource "tqdm" do + url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" + sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz" + sha256 "1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" + end + + resource "urllib3" do + url "https://files.pythonhosted.org/packages/e2/cc/abf6746cc90bc52df4ba730f301b89b3b844d6dc133cb89a01cfe2511eb9/urllib3-2.2.0.tar.gz" + sha256 "051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20" + end + + resource "wcwidth" do + url "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz" + sha256 "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" + end + + def install + virtualenv_install_with_resources + + generate_completions_from_executable(bin/"papis", shells: [:fish, :zsh], shell_parameter_format: :click) + end + + test do + assert_match version.to_s, shell_output("#{bin}/papis --version") + + assert_match "No documents retrieved", shell_output("#{bin}/papis list 2>&1") + end +end diff --git a/Formula/p/paq.rb b/Formula/p/paq.rb index 80469ce1c2..5b28d3e5be 100644 --- a/Formula/p/paq.rb +++ b/Formula/p/paq.rb @@ -1,18 +1,17 @@ class Paq < Formula desc "Fast Hashing of File or Directory" homepage "https://github.com/gregl83/paq" - url "https://github.com/gregl83/paq/archive/refs/tags/v1.4.1.tar.gz" - sha256 "7015036560793f644fb37315da92eccf49768480703ecb47f8abc455644b1209" + url "https://github.com/gregl83/paq/archive/refs/tags/v1.2.0.tar.gz" + sha256 "8c1bb3d59e3346551d81b07818adf62dcc12d0373295ac004360cf977522ce19" license "MIT" head "https://github.com/gregl83/paq.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0b1b2898ed560c4e00aeea0db8992325511acb8935a12c7eb823fb2158f07bb2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "eae15b2a8da3811c3df5bb6a47d7fcc36ed7fea4123488c386082925c87034fd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c97bf8e38c62b50a968d8c63aefe378781c21d3c85b13afe89afc1df4205326d" - sha256 cellar: :any_skip_relocation, arm64_linux: "c67a87621a98a0a51b29bcc9317acf5c95f81ec115bb4c81d9becdefac35a026" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9925b68f7459e33afa46f56a6dc893153eb697fc2c2d67105a6ff7d5bfbe1fb4" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "8dfdd922f8d83f986b377cb8b08eeb5c9605f5ad2fd978f5ea447c7a55d779f9" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "e7349a612ed55f3a217856fc53793afbfd5b91df6af59a80245407a7d775a7ac" + sha256 cellar: :any_skip_relocation, ventura: "1a80ed13cada3f3f958b1b6a730dc9381bb34ad32ff4163645c93fb85ecfe819" + sha256 cellar: :any_skip_relocation, x86_64_linux: "fae5a99c1d6f437365ef8eecb9e473ca12ba855abf7d620300ab517997f47933" end depends_on "rust" => :build diff --git a/Formula/p/parm.rb b/Formula/p/parm.rb deleted file mode 100644 index 1af6fb0395..0000000000 --- a/Formula/p/parm.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Parm < Formula - desc "Cross-platform package manager for GitHub Releases" - homepage "https://github.com/alxrw/parm" - url "https://github.com/alxrw/parm/archive/refs/tags/v0.1.6.tar.gz" - sha256 "04c782bd4d12410314720bc40fa91410447d1176270c2eed425cc677d138facd" - license "GPL-3.0-only" - head "https://github.com/alxrw/parm.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e50be298202b624738d5ebe6f25fa275d22ebf029c68ed2cbe4082a68e543ed4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c77c77675ba72fda0671b750fcb71aab81aaa0ca2d119848589cb96129261092" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "685e703ca5890063801fee44d4eafa3d4fdbc21b5230a38675897761a66c09a3" - sha256 cellar: :any_skip_relocation, arm64_linux: "988d9ee21e894a804edb30e3805ef9ec7aa036a671d3180ddc552fa8a486a479" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9750e08e56e93f6c45e5d85947a47a11a105bc4bd771e2d38ef207d9b763300b" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X parm/parmver.StringVersion=v#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - ENV["XDG_CONFIG_HOME"] = testpath - - assert_match version.to_s, shell_output("#{bin}/parm --version") - assert_match "Total: 0 packages installed.", shell_output("#{bin}/parm list") - end -end diff --git a/Formula/p/parqv.rb b/Formula/p/parqv.rb deleted file mode 100644 index 72306fca62..0000000000 --- a/Formula/p/parqv.rb +++ /dev/null @@ -1,127 +0,0 @@ -class Parqv < Formula - include Language::Python::Virtualenv - - desc "TUI for visualizing and analyzing files with multiple formats" - homepage "https://github.com/sanspareilsmyn/parqv" - url "https://files.pythonhosted.org/packages/07/f6/5f96e7d0d808b6eeac264fd11b233fb9cb4f9f9444e218d12397620eb6c6/parqv-0.3.0.tar.gz" - sha256 "28599e3050eeac98080849cd925363c1b9fa29a40bb5342846da24a3e4de1dab" - license "Apache-2.0" - head "https://github.com/sanspareilsmyn/parqv.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "f7df9632e48550d38f51c687c817f3a2afc7add6e65de7ff52cbab0dca9c57a6" - sha256 cellar: :any, arm64_sequoia: "9477c4f179d54da37c2ee39af10af1897be5e0253215dd5a660b2f17e214c02b" - sha256 cellar: :any, arm64_sonoma: "388af71fee1be190a09deb8fc25fa618d05b30d00983d784435bfb1143c7469e" - sha256 arm64_linux: "223f314402c42904424117ac967f1ffebae540ecf6f0c57f5cd8bc188c5b2849" - sha256 x86_64_linux: "41cb892e307a768b594bee045436c06b6203065d63720bad4ba84a96c0c776c1" - end - - depends_on "cmake" => :build # for pyarrow - depends_on "ninja" => :build # for pyarrow - depends_on "apache-arrow" - depends_on "numpy" - depends_on "python@3.14" - - on_linux do - depends_on "patchelf" => :build # for pyarrow - end - - pypi_packages exclude_packages: "numpy" - - resource "duckdb" do - url "https://files.pythonhosted.org/packages/81/99/ac6c105118751cc3ccae980b12e44847273f3402e647ec3197aff2251e23/duckdb-1.4.2.tar.gz" - sha256 "df81acee3b15ecb2c72eb8f8579fb5922f6f56c71f5c8892ea3bc6fab39aa2c4" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "pandas" do - url "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz" - sha256 "e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" - end - - resource "pyarrow" do - url "https://files.pythonhosted.org/packages/30/53/04a7fdc63e6056116c9ddc8b43bc28c12cdd181b85cbeadb79278475f3ae/pyarrow-22.0.0.tar.gz" - sha256 "3d600dc583260d845c7d8a6db540339dd883081925da2bd1c5cb808f720b3cd9" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "python-dateutil" do - url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" - end - - resource "pytz" do - url "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz" - sha256 "360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/f6/2f/f0b408f227edca21d1996c1cd0b65309f0cbff44264aa40aded3ff9ce2e1/textual-6.6.0.tar.gz" - sha256 "53345166d6b0f9fd028ed0217d73b8f47c3a26679a18ba3b67616dcacb470eec" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "tzdata" do - url "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz" - sha256 "b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - def install - virtualenv_install_with_resources - end - - test do - output = shell_output("#{bin}/parqv nonexistent.csv 2>&1", 1) - - assert_match "File not found or is not a regular file", output - assert_match ".parquet, .json, .ndjson, .csv", output - end -end diff --git a/Formula/p/pass-cli.rb b/Formula/p/pass-cli.rb deleted file mode 100644 index 7070fc177d..0000000000 --- a/Formula/p/pass-cli.rb +++ /dev/null @@ -1,50 +0,0 @@ -class PassCli < Formula - desc "Secure CLI password manager with local encrypted storage" - homepage "https://github.com/ari1110/pass-cli" - url "https://github.com/ari1110/pass-cli/archive/refs/tags/v0.17.21.tar.gz" - sha256 "f6192fc62cbc2789289e444327af1071292d0d25fe7edb0d9e6517aaabc1d7a6" - license "Apache-2.0" - head "https://github.com/ari1110/pass-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "419c5306d548525ef048090cd89c9c091b0a0a6fe6775610490dbc8fff27862b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "419c5306d548525ef048090cd89c9c091b0a0a6fe6775610490dbc8fff27862b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "419c5306d548525ef048090cd89c9c091b0a0a6fe6775610490dbc8fff27862b" - sha256 cellar: :any_skip_relocation, arm64_linux: "9320490be9df9e612ec654d64617a3d502c9690286acd227d6ec4a159a363a56" - sha256 cellar: :any_skip_relocation, x86_64_linux: "14ddd5f10875474155681dc1118b053328e2d12013c21fb9ac10ddfb57525778" - end - - depends_on "go" => :build - - def install - ldflags = [ - "-s", - "-w", - "-X github.com/arimxyer/pass-cli/cmd.version=#{version}", - "-X github.com/arimxyer/pass-cli/cmd.commit=homebrew", - "-X github.com/arimxyer/pass-cli/cmd.date=unknown", - ].join(" ") - - system "go", "build", *std_go_args(ldflags:, output: bin/"pass-cli"), "." - end - - test do - assert_match version.to_s, shell_output("#{bin}/pass-cli version") - - init_cmd = [ - "HOME=#{testpath}", - "PASS_CLI_TEST=1", - bin/"pass-cli", - "init", - "--no-sync", - "--no-recovery", - "--no-audit", - "--use-keychain=false", - "2>&1", - ].join(" ") - output = pipe_output(init_cmd, "StrongPass1!\nStrongPass1!\n") - assert_match "Initializing new password vault", output - assert_path_exists testpath/".pass-cli"/"vault.enc" - end -end diff --git a/Formula/p/passepartui.rb b/Formula/p/passepartui.rb deleted file mode 100644 index 67b31b79d7..0000000000 --- a/Formula/p/passepartui.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Passepartui < Formula - desc "TUI for pass" - homepage "https://github.com/kardwen/passepartui" - url "https://github.com/kardwen/passepartui/archive/refs/tags/v0.1.7.tar.gz" - sha256 "a0f518ff699a88f721ac9d90646aa3e8c82f99acdb58d915dada317d8fd1fa95" - license "GPL-3.0-only" - head "https://github.com/kardwen/passepartui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "23c9f743a3758f88d6e760517ba670db6c598cb2e8f8aea02e8f4eae06683203" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "590c9c6fbf9d4e0d91f446f9dc0de8b4a545666efc8ae9e6e7af1003e65f6d87" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "21b8e2e3c2278dbf3920e66f4d4d63e80ca56848daa67c7c50659e2e4c2cb04d" - sha256 cellar: :any_skip_relocation, arm64_linux: "eed7ddab649012cf405241a247c6b1ec50ad6054cd85e22fe6349423d3782ad5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "74d4122cecca8d0f10036f036d01a22e1a9829afb48049cc684587db94ac8b5a" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "gpgme" - depends_on "libgpg-error" - depends_on "pass" - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # failed with Linux CI, `No such device or address` error - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"passepartui", [:out, :err] => output_log.to_s - sleep 1 - assert_match "Password file", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/p/perch.rb b/Formula/p/perch.rb deleted file mode 100644 index c43b3141da..0000000000 --- a/Formula/p/perch.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Perch < Formula - desc "Terminal social client for Mastodon and Bluesky" - homepage "https://perch.ricardodantas.me/" - url "https://github.com/ricardodantas/perch/archive/refs/tags/v0.3.3.tar.gz" - sha256 "c4a6b6212f16c6ddd4d37d131235997da0cdb9334977fd2c45326726c158736d" - license "GPL-3.0-or-later" - revision 1 - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "045b9f89fe9817a382f38b1c4355169519d43d0c124474e5922a061737e1a6f7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3895c0aa0628bb36aebc98932c628e319980289e2fff4bc8f40bd26dee5480cb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b84c820a1c0b38bfbe0c2894b425eebe99548b3471f0fa9876407931d1dfe432" - sha256 cellar: :any_skip_relocation, arm64_linux: "c27b9a8b2060de7887ee61a68996df77c6d8966bb12780ef1e7232724e48d128" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d86019c719b1785cc52b54dfe26238c8fb80fce18df2f69afb3b5fb2f4472361" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("HOME=#{testpath} #{bin}/perch --version") - assert_match "No accounts configured.", shell_output("HOME=#{testpath} #{bin}/perch accounts") - end -end diff --git a/Formula/p/percollate.rb b/Formula/p/percollate.rb index 86c5c76f1a..57428f107e 100644 --- a/Formula/p/percollate.rb +++ b/Formula/p/percollate.rb @@ -17,7 +17,7 @@ class Percollate < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/p/pgterm.rb b/Formula/p/pgterm.rb deleted file mode 100644 index ba47762cd2..0000000000 --- a/Formula/p/pgterm.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Pgterm < Formula - desc "Terminal-based interface for PostgreSQL" - homepage "https://github.com/nabsk911/pgterm" - url "https://github.com/nabsk911/pgterm/archive/566f9525e821b4f05ef7c31bb4dc293e28a90f9b.tar.gz" - version "0.0.0" - sha256 "0d6f6b8c0171c7b4e0bbb39b20e41cefa62bec7407577c16433d18c3c7f4ed77" - license :cannot_represent - head "https://github.com/nabsk911/pgterm.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6a8f10333e5b833e34b420bb8c18eda195c04e4f8ad8d42e73b299868e81aba8" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6a8f10333e5b833e34b420bb8c18eda195c04e4f8ad8d42e73b299868e81aba8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6a8f10333e5b833e34b420bb8c18eda195c04e4f8ad8d42e73b299868e81aba8" - sha256 cellar: :any_skip_relocation, arm64_linux: "6885461b51213a6f3e9eb448b7de5a4a7ba03825104eab3bcf227ef69b4a689c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "58eb3166c73c69ddafef4d4c0ab040bf99b98f2b31551322cbba27c6bcbc7aa1" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - output = shell_output("#{bin}/pgterm 2>&1") - assert_match "Error running the app:", output - assert_match(%r{(/dev/tty|terminal not cursor addressable)}, output) - end -end diff --git a/Formula/p/phpinsights.rb b/Formula/p/phpinsights.rb index acce1daede..2236467d21 100644 --- a/Formula/p/phpinsights.rb +++ b/Formula/p/phpinsights.rb @@ -1,13 +1,16 @@ class Phpinsights < Formula desc "Instant PHP quality checks from your console" homepage "https://github.com/nunomaduro/phpinsights" - url "https://github.com/nunomaduro/phpinsights/archive/refs/tags/v2.14.2.tar.gz" - sha256 "a58f38633e83ac342afdc736f91dfe88ff505e1cf13e9711f0faa2189f0dadb4" + url "https://github.com/nunomaduro/phpinsights/archive/refs/tags/v2.13.1.tar.gz" + sha256 "27d5c2c84c6bb04b9c0dd0228073c40a79e206734a645a546dabcbc53a3fb8ab" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "687a0e2b4f903975cc48ebafecba64ddaa3e63446242e69f74c65a9d16764aa1" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "79ba611fbcd6ec5d603a25e9891bc7a874bf2f0bf472e6c03b38f1f1f3f05a92" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "83a8ec7895dc19bc213cb46aaa175bb50dac72cb68472689f8d737942e8667dd" + sha256 cellar: :any_skip_relocation, ventura: "5841e53580d97bc9a8ebfbedde4214a5237f98cfb7014a0c32b692fab5047536" + sha256 cellar: :any_skip_relocation, x86_64_linux: "08c45a3a35c34f509b663ed27daf7cbed2705b03bb929ba263f238d1394b52a0" end depends_on "composer" => :build diff --git a/Formula/p/pikpaktui.rb b/Formula/p/pikpaktui.rb deleted file mode 100644 index 0833150eea..0000000000 --- a/Formula/p/pikpaktui.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Pikpaktui < Formula - desc "TUI and CLI client for PikPak cloud storage" - homepage "https://github.com/Bengerthelorf/pikpaktui" - url "https://github.com/Bengerthelorf/pikpaktui/archive/refs/tags/v0.0.55.tar.gz" - sha256 "fa84351e3c6759dbce5965d7d6bd8900a925651997ce43497e59b910cc201720" - license "Apache-2.0" - head "https://github.com/Bengerthelorf/pikpaktui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "77dbd07c3d20d44fff04cf82a6adf7eb38c04895b552080a5416c06301084d70" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f1eb3723105df826f38c2945ddd3c0be3b03ecafc0825735237dcd10c5af3698" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "abe7e1f8369fd986a0d7e2b59de2fd9eade979cd318cd37700a1598093c678c8" - sha256 cellar: :any_skip_relocation, arm64_linux: "8c445f88e5f2c1034934dbe987933a2a89841a76a21d5e2ee0a3b926ae9270d9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fb5e7abdb26f2c350fd35d88c8457d4f97ff936fb77bf4ab993262ec83916f04" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - generate_completions_from_executable(bin/"pikpaktui", "completions", "zsh", shells: [:zsh]) - end - - test do - assert_match version.to_s, shell_output("#{bin}/pikpaktui --version") - assert_match "#compdef pikpaktui", shell_output("#{bin}/pikpaktui completions zsh") - - output = shell_output("#{bin}/pikpaktui ls / 2>&1", 1) - assert_match "Run `pikpaktui` (TUI) to login first", output - end -end diff --git a/Formula/p/pinme.rb b/Formula/p/pinme.rb deleted file mode 100644 index b98566df4d..0000000000 --- a/Formula/p/pinme.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Pinme < Formula - desc "Deploy Your Frontend in a Single Command" - homepage "https://pinme.eth.limo/" - url "https://registry.npmjs.org/pinme/-/pinme-2.0.1.tgz" - sha256 "28ec3e233662369043af8b62c3c8dbd2f1479785a5fee249227a3a7c27c50f0b" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "b203d24de6527271834805e29d5d4998911f5be974dc2524b3bc7fafc8d0c40f" - sha256 cellar: :any, arm64_sequoia: "42db69377a42901b33ab48392a852722eeaf88a82ce08ba8dfa9d030f12e23ce" - sha256 cellar: :any, arm64_sonoma: "42db69377a42901b33ab48392a852722eeaf88a82ce08ba8dfa9d030f12e23ce" - sha256 cellar: :any_skip_relocation, arm64_linux: "4326ecc835bc13dcd139afe47b3310dfb583fefbc6bd722fcc27f2c2031c5be3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5df73325319433ba7125286f36245619799e2a3051d7aa2dfd7bac472c77f79a" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - - node_modules = libexec/"lib/node_modules/pinme/node_modules" - - # Remove incompatible pre-built `bare-fs`/`bare-os`/`bare-url` binaries. - os = OS.kernel_name.downcase - arch = Hardware::CPU.intel? ? "x64" : Hardware::CPU.arch.to_s - node_modules.glob("{bare-fs,bare-os,bare-url}/prebuilds/*") - .each { |dir| rm_r(dir) if dir.basename.to_s != "#{os}-#{arch}" } - - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/pinme --version") - assert_match "Failed to fetch domains: Auth not set", shell_output("#{bin}/pinme domain") - assert_match "No upload history found", shell_output("#{bin}/pinme ls") - end -end diff --git a/Formula/p/pitaya.rb b/Formula/p/pitaya.rb index 0242708cc5..d6a96f93ac 100644 --- a/Formula/p/pitaya.rb +++ b/Formula/p/pitaya.rb @@ -2,40 +2,40 @@ class Pitaya < Formula include Language::Python::Virtualenv desc "Orchestrator of AI coding agents with pluggable and custom strategies" - homepage "https://github.com/tact-lang/pitaya" - url "https://files.pythonhosted.org/packages/7d/14/650710972e7a780331afde7f45d6eec3903e1e1e472d0d35393a871dfa3b/pitaya-0.3.0.tar.gz" - sha256 "e0859b6342ce733a3058dcaafffcf7fdadb50b84f6bb6aabaf9da36f738886fa" + homepage "https://github.com/bdcht/amoco" + url "https://files.pythonhosted.org/packages/a4/37/d9452bc7b9dd4e0532a79d685b941267ebb8535b4023fe37affa6a456e3e/pitaya-0.2.0.tar.gz" + sha256 "0c7f205e8cef790e6624eaaada858607d9a50ea5552c2aa6a5930f767aa76da3" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7e54053764fdc83e2747e4587bab547ddf1a2a8096e4e2fc778455ff3774d20f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2394d8865e9b86847a8a52843aa2f437ed6d06c2dc7d0949cd339ac9fb300829" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "23d7ad14366e888f68b3972f699d53db83e8c204e1391ce131008ed88dd7d0dc" - sha256 cellar: :any_skip_relocation, arm64_linux: "bce69c977d57f9898b741b252252ff0eafa04f1546e60274024d5daec57d3755" - sha256 cellar: :any_skip_relocation, x86_64_linux: "435ca161c63ecaf4889e5ac64bd1ffe8a3b1e447861cc95230ccd673af1a1f18" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "86ba7e0d79c188ff7b5599fb3f6e934c30111622c5b1ba185d42b9d0fe2db69e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5b5461164eb668dbf457deac01fb32b17f48ee80ebc18c4838f7f35bba45f3cd" + sha256 cellar: :any_skip_relocation, ventura: "a6a523846e5ca9c06225ef19dbb34986058fc8e0c38a1e45104065b3b457668b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "eea73f638af13a5d97f75f355f98d482c75b46f53fafbb970777925a1a4243cd" end - depends_on "certifi" => :no_linkage depends_on "libyaml" - depends_on "python@3.13" # see https://github.com/tact-lang/pitaya/blob/main/pyproject.toml#L6 - - pypi_packages exclude_packages: "certifi" + depends_on "python@3.13" resource "aiofiles" do - url "https://files.pythonhosted.org/packages/41/c3/534eac40372d8ee36ef40df62ec129bee4fdb5ad9706e58a29be53b2c970/aiofiles-25.1.0.tar.gz" - sha256 "a8d728f0a29de45dc521f18f07297428d56992a742f0cd2701ba86e44d23d5b2" + url "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz" + sha256 "22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c" + end + + resource "certifi" do + url "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz" + sha256 "e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" end resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "docker" do @@ -44,8 +44,8 @@ class Pitaya < Formula end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "markdown-it-py" do @@ -64,13 +64,13 @@ class Pitaya < Formula end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "requests" do @@ -79,8 +79,8 @@ class Pitaya < Formula end resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" + url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" + sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" end resource "typing-extensions" do @@ -106,7 +106,7 @@ def install ENV["DOCKER_HOST"] = "unix://#{testpath}/invalid.sock" assert_match version.to_s, shell_output("#{bin}/pitaya --version") - assert_match "No runs found", shell_output("#{bin}/pitaya --list-runs 2>&1") + assert_match "cannot connect to docker daemon", shell_output("#{bin}/pitaya --list-runs 2>&1", 1) assert_match "import_conflict_policy: fail (defaults)", shell_output("#{bin}/pitaya config print") end end diff --git a/Formula/p/pixeli.rb b/Formula/p/pixeli.rb deleted file mode 100644 index 10e76ca4c8..0000000000 --- a/Formula/p/pixeli.rb +++ /dev/null @@ -1,45 +0,0 @@ -class Pixeli < Formula - desc "Merge images into customizable grid layouts" - homepage "https://github.com/pakdad-mousavi/pixeli" - url "https://github.com/pakdad-mousavi/pixeli/archive/refs/tags/v1.0.4.tar.gz" - sha256 "91de06b777e62d561495a14c660b1fbfca3c4039feba291be983030db80fa490" - license "MIT" - head "https://github.com/pakdad-mousavi/pixeli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "ad4d1cf356d2ffc0d8f7cc83be5a48cb3e728d83cfeb68b3d985f6e3ea2f89a2" - sha256 cellar: :any, arm64_sequoia: "113535aee3a78b0cdef0f2fdd1103c3d41e904304f977657f9901bc9a6994dd7" - sha256 cellar: :any, arm64_sonoma: "113535aee3a78b0cdef0f2fdd1103c3d41e904304f977657f9901bc9a6994dd7" - sha256 cellar: :any_skip_relocation, arm64_linux: "254362531007b2bf7689d703c4a990ffb5a8bb502e81178b6c6cc08794f11bff" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3ebd74f5ecf8a1d4a05146c23608d10a35717b07811de90dc768c924bda3cbfb" - end - - depends_on "node" - - def install - system "npm", "ci", "--no-audit", "--no-fund" - system "npm", "run", "build" - system "npm", "install", *std_npm_args - - bin.install_symlink libexec/"bin/pixeli" - pkgshare.install "src/tests/test-images/small-image.jpg", - "src/tests/test-images/large-image.jpg" - end - - test do - output = testpath/"out.png" - - assert_match version.to_s, shell_output("#{bin}/pixeli --version") - system bin/"pixeli", "grid", - pkgshare/"small-image.jpg", - pkgshare/"large-image.jpg", - "-o", output, - "-c", "2", - "-w", "100", - "--gap", "0" - - assert_path_exists output - assert_operator output.size, :>, 0 - end -end diff --git a/Formula/p/pixelle.rb b/Formula/p/pixelle.rb deleted file mode 100644 index 7cabf96ef1..0000000000 --- a/Formula/p/pixelle.rb +++ /dev/null @@ -1,914 +0,0 @@ -class Pixelle < Formula - include Language::Python::Virtualenv - - desc "Open-Source Multimodal AIGC Solution based on ComfyUI + MCP + LLM" - homepage "https://pixelle.ai/" - url "https://files.pythonhosted.org/packages/cf/6a/77b094ee9f63901e6eeb9adfe3d9e659f8c83586ef3f84c80f5249138045/pixelle-0.1.16.tar.gz" - sha256 "d40534b739bcb76cb7266530ba65824a6ca73964d7b59b5d97b0d42722fbb0ff" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any, arm64_tahoe: "ea2005982078bfdeb838526e07d5bc460d36528003b943709a01751838308442" - sha256 cellar: :any, arm64_sequoia: "666e09a36cae955a4c1c47ad1661b60d8fa7db34766fd30dc111a02bb91cac37" - sha256 cellar: :any, arm64_sonoma: "8c6e70b10d681fe2116d1a786db6e2b7b515d49a856cab41de222b6c9be48704" - sha256 cellar: :any_skip_relocation, x86_64_linux: "94279600a3e0e08d8d4c533f35de4c086ea3dad1f4c583a534ccbbc42043d541" - end - - depends_on "rust" => :build # for tiktoken - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "libyaml" - depends_on "pillow" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.13" - depends_on "rpds-py" => :no_linkage - - pypi_packages exclude_packages: %w[certifi cryptography pillow pydantic rpds-py] - - resource "aiofiles" do - url "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz" - sha256 "22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c" - end - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz" - sha256 "40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" - end - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/d7/a6/dc46877b911e40c00d395771ea710d5e77b6de7bacd5fdcd78d70cc5a48f/annotated_doc-0.0.3.tar.gz" - sha256 "e18370014c70187422c33e945053ff4c286f453a984eba84d0dbfa0c935adeda" - end - - resource "anthropic" do - url "https://files.pythonhosted.org/packages/49/07/61f3ca8e69c5dcdaec31b36b79a53ea21c5b4ca5e93c7df58c71f43bf8d8/anthropic-0.72.0.tar.gz" - sha256 "8971fe76dcffc644f74ac3883069beb1527641115ae0d6eb8fa21c1ce4082f7a" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" - end - - resource "asyncer" do - url "https://files.pythonhosted.org/packages/6b/41/71af52c036f3e38f3d90f50efd0bc5175b2283d32b2e8a3da11b4b0db84a/asyncer-0.0.10.tar.gz" - sha256 "8ae3e569d4c0af2882be0822f848adf59712cc52aa5da6ead53473869c90d98e" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "audioop-lts" do - url "https://files.pythonhosted.org/packages/38/53/946db57842a50b2da2e0c1e34bd37f36f5aadba1a929a3971c5d7841dbca/audioop_lts-0.2.2.tar.gz" - sha256 "64d0c62d88e67b98a1a5e71987b7aa7b5bcffc7dcee65b635823dbdd0a8dbbd0" - end - - resource "authlib" do - url "https://files.pythonhosted.org/packages/cd/3f/1d3bbd0bf23bdd99276d4def22f29c27a914067b4cf66f753ff9b8bbd0f3/authlib-1.6.5.tar.gz" - sha256 "6aaf9c79b7cc96c900f0b284061691c5d4e61221640a948fe690b556a6d6d10b" - end - - resource "backoff" do - url "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz" - sha256 "03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba" - end - - resource "beartype" do - url "https://files.pythonhosted.org/packages/a6/09/9003e5662691056e0e8b2e6f57c799e71875fac0be0e785d8cb11557cd2a/beartype-0.22.5.tar.gz" - sha256 "516a9096cc77103c96153474fa35c3ebcd9d36bd2ec8d0e3a43307ced0fa6341" - end - - resource "bidict" do - url "https://files.pythonhosted.org/packages/9a/6e/026678aa5a830e07cd9498a05d3e7e650a4f56a42f267a53d22bcda1bdc9/bidict-0.23.1.tar.gz" - sha256 "03069d763bc387bbd20e7d49914e75fc4132a41937fa3405417e1a5a2d006d71" - end - - resource "boto3" do - url "https://files.pythonhosted.org/packages/56/36/65d292d14261aedbb9a22e5bf194d84c119c889135b42448db646d06d76b/boto3-1.40.69.tar.gz" - sha256 "5273f6bac347331a87db809dff97d8736c50c3be19f2bb36ad08c5131c408976" - end - - resource "botocore" do - url "https://files.pythonhosted.org/packages/e2/73/42499b183ca5cef25c35338ad2636368b0ae2193654642756492e96ee906/botocore-1.40.69.tar.gz" - sha256 "df310ddc4d2de5543ba3df4e4b5f9907a2951896d63a9fbae115c26ca0976951" - end - - resource "cachetools" do - url "https://files.pythonhosted.org/packages/cc/7e/b975b5814bd36faf009faebe22c1072a1fa1168db34d285ef0ba071ad78c/cachetools-6.2.1.tar.gz" - sha256 "3f391e4bd8f8bf0931169baf7456cc822705f4e2a31f840d218f445b9a854201" - end - - resource "chainlit" do - url "https://files.pythonhosted.org/packages/13/67/ead4f2ef893915f421f3f5bdc1309666304ef66c5826941475994001c147/chainlit-2.9.0.tar.gz" - sha256 "1c6ab1aa24b4ab9203d04806455eeab8ef3cf1fbbb6c71d364621ed5db268fff" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - end - - resource "chevron" do - url "https://files.pythonhosted.org/packages/15/1f/ca74b65b19798895d63a6e92874162f44233467c9e7c1ed8afd19016ebe9/chevron-0.14.0.tar.gz" - sha256 "87613aafdf6d77b6a90ff073165a61ae5086e21ad49057aa0e53681601800ebf" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" - sha256 "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" - end - - resource "colorama" do - url "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" - sha256 "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" - end - - resource "cuid" do - url "https://files.pythonhosted.org/packages/55/ca/d323556e2bf9bfb63219fbb849ce61bb830cc42d1b25b91cde3815451b91/cuid-0.4.tar.gz" - sha256 "74eaba154916a2240405c3631acee708c263ef8fa05a86820b87d0f59f84e978" - end - - resource "cyclopts" do - url "https://files.pythonhosted.org/packages/8a/51/a67b17fac2530d22216a335bd10f48631412dd824013ea559ec236668f76/cyclopts-4.2.1.tar.gz" - sha256 "49bb4c35644e7a9658f706ade4cf1a9958834b2dca4425e2fafecf8a0537fac7" - end - - resource "dataclasses-json" do - url "https://files.pythonhosted.org/packages/64/a4/f71d9cf3a5ac257c993b5ca3f93df5f7fb395c725e7f1e6479d2514173c3/dataclasses_json-0.6.7.tar.gz" - sha256 "b6b3e528266ea45b9535223bc53ca645f5208833c29229e847b3f26a1cc55fc0" - end - - resource "deprecated" do - url "https://files.pythonhosted.org/packages/49/85/12f0a49a7c4ffb70572b6c2ef13c90c88fd190debda93b23f026b25f9634/deprecated-1.3.1.tar.gz" - sha256 "b1b50e0ff0c1fddaa5708a2c6b0a6588bb09b892825ab2b214ac9ea9d92a5223" - end - - resource "diskcache" do - url "https://files.pythonhosted.org/packages/3f/21/1c1ffc1a039ddcc459db43cc108658f32c57d271d7289a2794e401d0fdb6/diskcache-5.6.3.tar.gz" - sha256 "2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc" - end - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "dnspython" do - url "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz" - sha256 "181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f" - end - - resource "docstring-parser" do - url "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz" - sha256 "583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912" - end - - resource "docutils" do - url "https://files.pythonhosted.org/packages/d9/02/111134bfeb6e6c7ac4c74594e39a59f6c0195dc4846afbeac3cba60f1927/docutils-0.22.3.tar.gz" - sha256 "21486ae730e4ca9f622677b1412b879af1791efcfba517e4c6f60be543fc8cdd" - end - - resource "email-validator" do - url "https://files.pythonhosted.org/packages/f5/22/900cb125c76b7aaa450ce02fd727f452243f2e91a61af068b40adba60ea9/email_validator-2.3.0.tar.gz" - sha256 "9fc05c37f2f6cf439ff414f8fc46d917929974a82244c20eb10231ba60c54426" - end - - resource "exceptiongroup" do - url "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz" - sha256 "b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88" - end - - resource "fastapi" do - url "https://files.pythonhosted.org/packages/6b/a4/29e1b861fc9017488ed02ff1052feffa40940cb355ed632a8845df84ce84/fastapi-0.121.1.tar.gz" - sha256 "b6dba0538fd15dab6fe4d3e5493c3957d8a9e1e9257f56446b5859af66f32441" - end - - resource "fastmcp" do - url "https://files.pythonhosted.org/packages/1b/74/584a152bcd174c99ddf3cfdd7e86ec4a6c696fb190a907c2a2ec9056bda2/fastmcp-2.13.0.2.tar.gz" - sha256 "d35386561b6f3cde195ba2b5892dc89b8919a721e6b39b98e7a16f9a7c0b8e8b" - end - - resource "fastuuid" do - url "https://files.pythonhosted.org/packages/c3/7d/d9daedf0f2ebcacd20d599928f8913e9d2aea1d56d2d355a93bfa2b611d7/fastuuid-0.14.0.tar.gz" - sha256 "178947fc2f995b38497a74172adee64fdeb8b7ec18f2a5934d037641ba265d26" - end - - resource "filelock" do - url "https://files.pythonhosted.org/packages/58/46/0028a82567109b5ef6e4d2a1f04a583fb513e6cf9527fcdd09afd817deeb/filelock-3.20.0.tar.gz" - sha256 "711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4" - end - - resource "filetype" do - url "https://files.pythonhosted.org/packages/bb/29/745f7d30d47fe0f251d3ad3dc2978a23141917661998763bebb6da007eb1/filetype-1.2.0.tar.gz" - sha256 "66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb" - end - - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "fsspec" do - url "https://files.pythonhosted.org/packages/24/7f/2747c0d332b9acfa75dc84447a066fdf812b5a6b8d30472b74d309bfe8cb/fsspec-2025.10.0.tar.gz" - sha256 "b6789427626f068f9a83ca4e8a3cc050850b6c0f71f99ddb4f542b8266a26a59" - end - - resource "googleapis-common-protos" do - url "https://files.pythonhosted.org/packages/e5/7b/adfd75544c415c487b33061fe7ae526165241c1ea133f9a9125a56b39fd8/googleapis_common_protos-1.72.0.tar.gz" - sha256 "e55a601c1b32b52d7a3e65f43563e2aa61bcd737998ee672ac9b951cd49319f5" - end - - resource "grpcio" do - url "https://files.pythonhosted.org/packages/b6/e0/318c1ce3ae5a17894d5791e87aea147587c9e702f24122cc7a5c8bbaeeb1/grpcio-1.76.0.tar.gz" - sha256 "7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "hf-xet" do - url "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz" - sha256 "a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" - end - - resource "huggingface-hub" do - url "https://files.pythonhosted.org/packages/b8/63/eeea214a6b456d8e91ac2ea73ebb83da3af9aa64716dfb6e28dd9b2e6223/huggingface_hub-1.1.2.tar.gz" - sha256 "7bdafc432dc12fa1f15211bdfa689a02531d2a47a3cc0d74935f5726cdbcab8e" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "importlib-metadata" do - url "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz" - sha256 "d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000" - end - - resource "inflection" do - url "https://files.pythonhosted.org/packages/e1/7e/691d061b7329bc8d54edbf0ec22fbfb2afe61facb681f9aaa9bff7a27d04/inflection-0.5.1.tar.gz" - sha256 "1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417" - end - - resource "jaraco-classes" do - url "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz" - sha256 "47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd" - end - - resource "jaraco-context" do - url "https://files.pythonhosted.org/packages/df/ad/f3777b81bf0b6e7bc7514a1656d3e637b2e8e15fab2ce3235730b3e7a4e6/jaraco_context-6.0.1.tar.gz" - sha256 "9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3" - end - - resource "jaraco-functools" do - url "https://files.pythonhosted.org/packages/f7/ed/1aa2d585304ec07262e1a83a9889880701079dde796ac7b1d1826f40c63d/jaraco_functools-4.3.0.tar.gz" - sha256 "cfd13ad0dd2c47a3600b439ef72d8615d482cedcff1632930d6f28924d92f294" - end - - resource "jinja2" do - url "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" - sha256 "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" - end - - resource "jiter" do - url "https://files.pythonhosted.org/packages/45/9d/e0660989c1370e25848bb4c52d061c71837239738ad937e83edca174c273/jiter-0.12.0.tar.gz" - sha256 "64dfcd7d5c168b38d3f9f8bba7fc639edb3418abcc74f22fdbe6b8938293f30b" - end - - resource "jmespath" do - url "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz" - sha256 "90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" - sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" - end - - resource "jsonschema-path" do - url "https://files.pythonhosted.org/packages/6e/45/41ebc679c2a4fced6a722f624c18d658dee42612b83ea24c1caf7c0eb3a8/jsonschema_path-0.3.4.tar.gz" - sha256 "8365356039f16cc65fddffafda5f58766e34bebab7d6d105616ab52bc4297001" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "keyring" do - url "https://files.pythonhosted.org/packages/70/09/d904a6e96f76ff214be59e7aa6ef7190008f52a0ab6689760a98de0bf37d/keyring-25.6.0.tar.gz" - sha256 "0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66" - end - - resource "lazify" do - url "https://files.pythonhosted.org/packages/24/2c/b55c4a27a56dd9a00bb2812c404b57f8b7aec0cdbff9fdc61acdd73359bc/Lazify-0.4.0.tar.gz" - sha256 "7102bfe63e56de2ab62b3bc661a7190c4056771a8624f04a8b785275c3dd1f9b" - end - - resource "litellm" do - url "https://files.pythonhosted.org/packages/c3/0a/587c3f895f5d6c842d6cd630204c8bf7de677fc69ce2bd26e812c02b6e0b/litellm-1.79.3.tar.gz" - sha256 "4da4716f8da3e1b77838262c36d3016146860933e0489171658a9d4a3fd59b1b" - end - - resource "literalai" do - url "https://files.pythonhosted.org/packages/7e/c1/7bd34ad0ae6cfd99512f8a40b28b9624c3b1f4e1d40c9038eabc2f870b15/literalai-0.1.201.tar.gz" - sha256 "29e4ccadd9d68bfea319a7f0b4fc32611b081990d9195f98e5e97a14d24d3713" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" - end - - resource "marshmallow" do - url "https://files.pythonhosted.org/packages/ab/5e/5e53d26b42ab75491cda89b871dab9e97c840bf12c63ec58a1919710cd06/marshmallow-3.26.1.tar.gz" - sha256 "e6d8affb6cb61d39d26402096dc0aee12d5a26d490a121f118d2e81dc0719dc6" - end - - resource "mcp" do - url "https://files.pythonhosted.org/packages/33/54/dd2330ef4611c27ae59124820863c34e1d3edb1133c58e6375e2d938c9c5/mcp-1.21.0.tar.gz" - sha256 "bab0a38e8f8c48080d787233343f8d301b0e1e95846ae7dead251b2421d99855" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "monotonic" do - url "https://files.pythonhosted.org/packages/ea/ca/8e91948b782ddfbd194f323e7e7d9ba12e5877addf04fb2bf8fca38e86ac/monotonic-1.6.tar.gz" - sha256 "3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7" - end - - resource "more-itertools" do - url "https://files.pythonhosted.org/packages/ea/5d/38b681d3fce7a266dd9ab73c66959406d565b3e85f21d5e66e1181d93721/more_itertools-10.8.0.tar.gz" - sha256 "f638ddf8a1a0d134181275fb5d58b086ead7c6a72429ad725c67503f13ba30bd" - end - - resource "multidict" do - url "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" - sha256 "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5" - end - - resource "mypy-extensions" do - url "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz" - sha256 "52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558" - end - - resource "nest-asyncio" do - url "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz" - sha256 "6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe" - end - - resource "openai" do - url "https://files.pythonhosted.org/packages/51/a2/f4023c1e0c868a6a5854955b3374f17153388aed95e835af114a17eac95b/openai-2.7.1.tar.gz" - sha256 "df4d4a3622b2df3475ead8eb0fbb3c27fd1c070fa2e55d778ca4f40e0186c726" - end - - resource "openapi-pydantic" do - url "https://files.pythonhosted.org/packages/02/2e/58d83848dd1a79cb92ed8e63f6ba901ca282c5f09d04af9423ec26c56fd7/openapi_pydantic-0.5.1.tar.gz" - sha256 "ff6835af6bde7a459fb93eb93bb92b8749b754fc6e51b2f1590a19dc3005ee0d" - end - - resource "opentelemetry-api" do - url "https://files.pythonhosted.org/packages/08/d8/0f354c375628e048bd0570645b310797299754730079853095bf000fba69/opentelemetry_api-1.38.0.tar.gz" - sha256 "f4c193b5e8acb0912b06ac5b16321908dd0843d75049c091487322284a3eea12" - end - - resource "opentelemetry-exporter-otlp" do - url "https://files.pythonhosted.org/packages/c2/2d/16e3487ddde2dee702bd746dd41950a8789b846d22a1c7e64824aac5ebea/opentelemetry_exporter_otlp-1.38.0.tar.gz" - sha256 "2f55acdd475e4136117eff20fbf1b9488b1b0b665ab64407516e1ac06f9c3f9d" - end - - resource "opentelemetry-exporter-otlp-proto-common" do - url "https://files.pythonhosted.org/packages/19/83/dd4660f2956ff88ed071e9e0e36e830df14b8c5dc06722dbde1841accbe8/opentelemetry_exporter_otlp_proto_common-1.38.0.tar.gz" - sha256 "e333278afab4695aa8114eeb7bf4e44e65c6607d54968271a249c180b2cb605c" - end - - resource "opentelemetry-exporter-otlp-proto-grpc" do - url "https://files.pythonhosted.org/packages/a2/c0/43222f5b97dc10812bc4f0abc5dc7cd0a2525a91b5151d26c9e2e958f52e/opentelemetry_exporter_otlp_proto_grpc-1.38.0.tar.gz" - sha256 "2473935e9eac71f401de6101d37d6f3f0f1831db92b953c7dcc912536158ebd6" - end - - resource "opentelemetry-exporter-otlp-proto-http" do - url "https://files.pythonhosted.org/packages/81/0a/debcdfb029fbd1ccd1563f7c287b89a6f7bef3b2902ade56797bfd020854/opentelemetry_exporter_otlp_proto_http-1.38.0.tar.gz" - sha256 "f16bd44baf15cbe07633c5112ffc68229d0edbeac7b37610be0b2def4e21e90b" - end - - resource "opentelemetry-instrumentation" do - url "https://files.pythonhosted.org/packages/04/ed/9c65cd209407fd807fa05be03ee30f159bdac8d59e7ea16a8fe5a1601222/opentelemetry_instrumentation-0.59b0.tar.gz" - sha256 "6010f0faaacdaf7c4dff8aac84e226d23437b331dcda7e70367f6d73a7db1adc" - end - - resource "opentelemetry-instrumentation-alephalpha" do - url "https://files.pythonhosted.org/packages/43/5d/3e783b635e77e7489110c5c1b3b447e164df9b67c9d38a023beb8c533c1c/opentelemetry_instrumentation_alephalpha-0.47.5.tar.gz" - sha256 "ca5ec9685dd057f2b12855bbe2f2947439d7fc2438f3b87bf1fd8211e9c1230c" - end - - resource "opentelemetry-instrumentation-anthropic" do - url "https://files.pythonhosted.org/packages/09/85/a2fc2cdc7633aabe85f9c644f0c2b9824c4d0e6ad7da35dfdd1ef5b5dcce/opentelemetry_instrumentation_anthropic-0.47.5.tar.gz" - sha256 "087470be96bb00b2c9229aa3be1b177b5e81e3a7454988847f3f06418a23d106" - end - - resource "opentelemetry-instrumentation-bedrock" do - url "https://files.pythonhosted.org/packages/88/f4/d98ff19c38093609dfc18c936b99e7e4de8d0690f093ed436b90f7c91db7/opentelemetry_instrumentation_bedrock-0.47.5.tar.gz" - sha256 "779fa422179f17c1d164cf6338e8e6064bcabffb347ef8df2be7a7ff39650f4b" - end - - resource "opentelemetry-instrumentation-chromadb" do - url "https://files.pythonhosted.org/packages/e5/6b/d5fb1e2812b5143f2d10e79ce8beaae0bdc0461fdafe70ad927317c03571/opentelemetry_instrumentation_chromadb-0.47.5.tar.gz" - sha256 "102ab80d5b567ec3407304f2266c44bc1d6fc1396c295cd1fac3542d1f81dd81" - end - - resource "opentelemetry-instrumentation-cohere" do - url "https://files.pythonhosted.org/packages/d3/18/ecf5fb8d9db0ace1bed271a20999d68ff63ca25a5b8479637242cd65535d/opentelemetry_instrumentation_cohere-0.47.5.tar.gz" - sha256 "3127ef07b4ab2b50fb5ab6ac6a5bec86ff4e99c37c23b44587894ee630b21906" - end - - resource "opentelemetry-instrumentation-crewai" do - url "https://files.pythonhosted.org/packages/19/b9/d8a2c6bad56516941d6aba683fbb9d4187c8f4f897bb857256ea142136cd/opentelemetry_instrumentation_crewai-0.47.5.tar.gz" - sha256 "5965924923364b2f5ebe3365be083c60602737052db0f8996e60c74392987431" - end - - resource "opentelemetry-instrumentation-google-generativeai" do - url "https://files.pythonhosted.org/packages/28/27/dc8125b4e4ed7d14b018f5b83e467c99b2908726787c4901be55f5ed8940/opentelemetry_instrumentation_google_generativeai-0.47.5.tar.gz" - sha256 "248cf101ebb3bf4a8641e693650276c877274032ca2cee49e69db09c727ac4a8" - end - - resource "opentelemetry-instrumentation-groq" do - url "https://files.pythonhosted.org/packages/e2/b4/ce00b908e5324169e7197adbc723835271c126e9018c66f969d42c223d60/opentelemetry_instrumentation_groq-0.47.5.tar.gz" - sha256 "e5ed4b2666fe884ef7690cd8b1d439d4665aa280161113f6b72c8f7940cc0d2c" - end - - resource "opentelemetry-instrumentation-haystack" do - url "https://files.pythonhosted.org/packages/a9/4b/bcef0b44a61730fd037add48016932c58902e69edb923d7b760c786b08d4/opentelemetry_instrumentation_haystack-0.47.5.tar.gz" - sha256 "28d5a9429c508d26f57f0ca63daffdbc211bda889a27a8d21477e5c758a2181a" - end - - resource "opentelemetry-instrumentation-lancedb" do - url "https://files.pythonhosted.org/packages/43/1c/409594efd6da67fcb7ec32ea6b2fcee64af20344dfff4309b46176d0e40c/opentelemetry_instrumentation_lancedb-0.47.5.tar.gz" - sha256 "ce4dc51dec36c5eaa783c83a9c343ae4dffb87066fab7c521c832a0de4d44d8b" - end - - resource "opentelemetry-instrumentation-langchain" do - url "https://files.pythonhosted.org/packages/09/3d/bf5aa4d587cc8bcc01939daf2ad5244fac1043c77206d5597322612da117/opentelemetry_instrumentation_langchain-0.47.5.tar.gz" - sha256 "720c5fc0bc0d060a28bea91045feaf8bb459f9d1f4361fea8ae2afdcdcf4dd3c" - end - - resource "opentelemetry-instrumentation-llamaindex" do - url "https://files.pythonhosted.org/packages/55/88/32730585c65426567ae9aa8cb19722d41ef5b32797b885af0dcef7966c73/opentelemetry_instrumentation_llamaindex-0.47.5.tar.gz" - sha256 "29eb4c1b306bb1327d9a68846b0f1e8adef896e43e8e55ca5daa3fe2410ddbf4" - end - - resource "opentelemetry-instrumentation-logging" do - url "https://files.pythonhosted.org/packages/be/88/9c5f70fa8b8d96d30be378fc6eb1776e13aea456db15009f4eaef4928847/opentelemetry_instrumentation_logging-0.59b0.tar.gz" - sha256 "1b51116444edc74f699daf9002ded61529397100c9bc903c8b9aaa75a5218c76" - end - - resource "opentelemetry-instrumentation-marqo" do - url "https://files.pythonhosted.org/packages/d5/17/fcaf6a64c7c4d5fd1fd5129189f7f45ecd06a08e61ab40cecd516d67e6da/opentelemetry_instrumentation_marqo-0.47.5.tar.gz" - sha256 "7a5c112284dac61371712830c024a4ce7c91b3b7a9f1432336814bfa18ead2ed" - end - - resource "opentelemetry-instrumentation-mcp" do - url "https://files.pythonhosted.org/packages/51/44/ede68cfc4c3d262dd82088763c7bebd019ef57438adc815c15e1aa82bf27/opentelemetry_instrumentation_mcp-0.47.5.tar.gz" - sha256 "dc873754a35dff09eff2737322afbd999da4517138a62e8f29ffd668e4d885e8" - end - - resource "opentelemetry-instrumentation-milvus" do - url "https://files.pythonhosted.org/packages/5d/b2/e4bd7659fb9eb0b1e9b590e072184b18a996ef80026992bb446ed369722d/opentelemetry_instrumentation_milvus-0.47.5.tar.gz" - sha256 "cbd234a8e23dd623a73a40813c8c71e3d7d3671cab6ad14d64dd32545891c7a6" - end - - resource "opentelemetry-instrumentation-mistralai" do - url "https://files.pythonhosted.org/packages/04/d7/b380859e4ef73a320230171c5974ba6a390e8eb07f1bececae1d8a35e219/opentelemetry_instrumentation_mistralai-0.47.5.tar.gz" - sha256 "116682cfce1c83be5ce05bbc971bebddbc126f5312fa55a7f25eab3a6f6d0c82" - end - - resource "opentelemetry-instrumentation-ollama" do - url "https://files.pythonhosted.org/packages/bd/cc/366c14c19cc96f5401eae5739586195fb3eb709eed15406645064dd3cdb5/opentelemetry_instrumentation_ollama-0.47.5.tar.gz" - sha256 "1533f6d36b1327772053e4a39b520eda3c960382c19c38569291d5e0a21ecdcd" - end - - resource "opentelemetry-instrumentation-openai" do - url "https://files.pythonhosted.org/packages/e2/db/3786ddc4de92e9b44ef7416a3786549b28f8a797fdf90e0dd265e6f9fb4d/opentelemetry_instrumentation_openai-0.47.5.tar.gz" - sha256 "0073613d1b586111aa40098d44d6a910b4edbe5d8df455fe778e85f50814e421" - end - - resource "opentelemetry-instrumentation-openai-agents" do - url "https://files.pythonhosted.org/packages/df/de/b38a887163db474c5db4b39541b412bfcd95a78017b752c922a42271a0fa/opentelemetry_instrumentation_openai_agents-0.47.5.tar.gz" - sha256 "89ef8e6e75aaa0aae39383a3bab153f5676240d3d2fed44bcd8eb311c32df6f9" - end - - resource "opentelemetry-instrumentation-pinecone" do - url "https://files.pythonhosted.org/packages/f8/bc/fdce123537b140aadc79b975aefc14fe96cabb156f9f94dfcc886f05b787/opentelemetry_instrumentation_pinecone-0.47.5.tar.gz" - sha256 "23838254d2851782b3fcfb70f82ee60c4e73929c85e63275779a35f0707bbc39" - end - - resource "opentelemetry-instrumentation-qdrant" do - url "https://files.pythonhosted.org/packages/50/08/6f3f6da00097a6b40e47621a59a919fd6e751b16722cec102646656477e2/opentelemetry_instrumentation_qdrant-0.47.5.tar.gz" - sha256 "2ece450b726b9556fa5b2dcd34df1c7e87d7a5aca716f84bc7894f3d96a4825e" - end - - resource "opentelemetry-instrumentation-redis" do - url "https://files.pythonhosted.org/packages/7f/f8/58bf83b10a97f67c7f06505bc4c4accbea7d961dec653a8c9e91fb65887e/opentelemetry_instrumentation_redis-0.59b0.tar.gz" - sha256 "d7f1c7c55ab57e10e0155c4c65d028a7e436aec7ccc7ccbf1d77e8cd12b55abd" - end - - resource "opentelemetry-instrumentation-replicate" do - url "https://files.pythonhosted.org/packages/9e/be/516c136042608c94c1acf9b1b667971b76fd7af02156a49bec62846dbd31/opentelemetry_instrumentation_replicate-0.47.5.tar.gz" - sha256 "e136d8ca5d45edb906536c70ce5af54620dc579c47773c8fe4ec555bb1f5c93c" - end - - resource "opentelemetry-instrumentation-requests" do - url "https://files.pythonhosted.org/packages/49/01/31282a46b09684dfc636bc066deb090bae6973e71e85e253a8c74e727b1f/opentelemetry_instrumentation_requests-0.59b0.tar.gz" - sha256 "9af2ffe3317f03074d7f865919139e89170b6763a0251b68c25e8e64e04b3400" - end - - resource "opentelemetry-instrumentation-sagemaker" do - url "https://files.pythonhosted.org/packages/b5/7c/41f605a268c53cffdf4184b2f1a2d8f7897638366fd72fb6b76d3ed6534e/opentelemetry_instrumentation_sagemaker-0.47.5.tar.gz" - sha256 "7ba6bfb5c714ae1b10d6b51f326a2bddce48f9e9ff02ac27b0a25fe5290b8745" - end - - resource "opentelemetry-instrumentation-sqlalchemy" do - url "https://files.pythonhosted.org/packages/b9/00/c5222a5e0521772aa530008c6c9c67f453e2b00e97d91fd799e8159aecf5/opentelemetry_instrumentation_sqlalchemy-0.59b0.tar.gz" - sha256 "7647b1e63497deebd41f9525c414699e0d49f19efcadc8a0642b715897f62d32" - end - - resource "opentelemetry-instrumentation-threading" do - url "https://files.pythonhosted.org/packages/82/7a/84e97d8992808197006e607ae410c2219bdbbc23d1289ba0c244d3220741/opentelemetry_instrumentation_threading-0.59b0.tar.gz" - sha256 "ce5658730b697dcbc0e0d6d13643a69fd8aeb1b32fa8db3bade8ce114c7975f3" - end - - resource "opentelemetry-instrumentation-together" do - url "https://files.pythonhosted.org/packages/62/53/89b0fea8080c37f37fc948cfb7c6ea0e744f0835545f843db71c2e820240/opentelemetry_instrumentation_together-0.47.5.tar.gz" - sha256 "ab07cfce3ceec31f7c9bff44b9e5e37b7193a9529ca535b85049c7fa85cb331c" - end - - resource "opentelemetry-instrumentation-transformers" do - url "https://files.pythonhosted.org/packages/59/57/6e573307ab2c0e0abf4e417813f85d108b99c68e6d6d0ee2437714798ed6/opentelemetry_instrumentation_transformers-0.47.5.tar.gz" - sha256 "770bb1f3b59a7effe46ddcfaac8ac534255e17738f891626ecdf8452f957bfac" - end - - resource "opentelemetry-instrumentation-urllib3" do - url "https://files.pythonhosted.org/packages/94/53/ff93665911808933b1af6fbbb1be2eb83c0c46e3b5f24b0b04c094b5b719/opentelemetry_instrumentation_urllib3-0.59b0.tar.gz" - sha256 "2de8d53a746bba043be1bc8f3246e1b131ebb6e94fe73601edd8b2bd91fe35b8" - end - - resource "opentelemetry-instrumentation-vertexai" do - url "https://files.pythonhosted.org/packages/62/b0/4500df0dc5ab3aa10e83a8f14d54a5e132f9ae385811b166266063f3bfd6/opentelemetry_instrumentation_vertexai-0.47.5.tar.gz" - sha256 "c575438e97409f88751f75e4045de4490cec291dc30347867dad030d72bad0b8" - end - - resource "opentelemetry-instrumentation-watsonx" do - url "https://files.pythonhosted.org/packages/67/73/afa4c50f4bdf1d23664ee920f0f7839c81f475477923faed51fdae29f651/opentelemetry_instrumentation_watsonx-0.47.5.tar.gz" - sha256 "9bbae585b6af17663964fc6f13914638aec6e7fc7ebb6a81e600a48cc128f0d6" - end - - resource "opentelemetry-instrumentation-weaviate" do - url "https://files.pythonhosted.org/packages/0a/90/82163ae891da35380a2176923dbaf1cad0b7b228c19d7ba040d332ebe01c/opentelemetry_instrumentation_weaviate-0.47.5.tar.gz" - sha256 "5dc25066df61f4dfd9b8ae4799b8a589da44960ce639d32590a806e0bfdb5217" - end - - resource "opentelemetry-instrumentation-writer" do - url "https://files.pythonhosted.org/packages/5f/08/5418adb9ae9263e9d86d7204bde812a0ca0404a0ed417a8125030e08b322/opentelemetry_instrumentation_writer-0.47.5.tar.gz" - sha256 "5a41a1e253674e7840130205fe4618fa6f4033b02d14febe3769be9ad389e3a2" - end - - resource "opentelemetry-proto" do - url "https://files.pythonhosted.org/packages/51/14/f0c4f0f6371b9cb7f9fa9ee8918bfd59ac7040c7791f1e6da32a1839780d/opentelemetry_proto-1.38.0.tar.gz" - sha256 "88b161e89d9d372ce723da289b7da74c3a8354a8e5359992be813942969ed468" - end - - resource "opentelemetry-sdk" do - url "https://files.pythonhosted.org/packages/85/cb/f0eee1445161faf4c9af3ba7b848cc22a50a3d3e2515051ad8628c35ff80/opentelemetry_sdk-1.38.0.tar.gz" - sha256 "93df5d4d871ed09cb4272305be4d996236eedb232253e3ab864c8620f051cebe" - end - - resource "opentelemetry-semantic-conventions" do - url "https://files.pythonhosted.org/packages/40/bc/8b9ad3802cd8ac6583a4eb7de7e5d7db004e89cb7efe7008f9c8a537ee75/opentelemetry_semantic_conventions-0.59b0.tar.gz" - sha256 "7a6db3f30d70202d5bf9fa4b69bc866ca6a30437287de6c510fb594878aed6b0" - end - - resource "opentelemetry-semantic-conventions-ai" do - url "https://files.pythonhosted.org/packages/ba/e6/40b59eda51ac47009fb47afcdf37c6938594a0bd7f3b9fadcbc6058248e3/opentelemetry_semantic_conventions_ai-0.4.13.tar.gz" - sha256 "94efa9fb4ffac18c45f54a3a338ffeb7eedb7e1bb4d147786e77202e159f0036" - end - - resource "opentelemetry-util-http" do - url "https://files.pythonhosted.org/packages/34/f7/13cd081e7851c42520ab0e96efb17ffbd901111a50b8252ec1e240664020/opentelemetry_util_http-0.59b0.tar.gz" - sha256 "ae66ee91be31938d832f3b4bc4eb8a911f6eddd38969c4a871b1230db2a0a560" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" - sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" - end - - resource "pathable" do - url "https://files.pythonhosted.org/packages/67/93/8f2c2075b180c12c1e9f6a09d1a985bc2036906b13dff1d8917e395f2048/pathable-0.4.4.tar.gz" - sha256 "6905a3cd17804edfac7875b5f6c9142a218c7caef78693c2dbbbfbac186d88b2" - end - - resource "pathvalidate" do - url "https://files.pythonhosted.org/packages/fa/2a/52a8da6fe965dea6192eb716b357558e103aea0a1e9a8352ad575a8406ca/pathvalidate-3.3.1.tar.gz" - sha256 "b18c07212bfead624345bb8e1d6141cdcf15a39736994ea0b94035ad2b1ba177" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" - end - - resource "posthog" do - url "https://files.pythonhosted.org/packages/85/a9/ec3bbc23b6f3c23c52e0b5795b1357cca74aa5cfb254213f1e471fef9b4d/posthog-3.25.0.tar.gz" - sha256 "9168f3e7a0a5571b6b1065c41b3c171fbc68bfe72c3ac0bfd6e3d2fcdb7df2ca" - end - - resource "prompt-toolkit" do - url "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz" - sha256 "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" - end - - resource "protobuf" do - url "https://files.pythonhosted.org/packages/19/ff/64a6c8f420818bb873713988ca5492cba3a7946be57e027ac63495157d97/protobuf-6.33.0.tar.gz" - sha256 "140303d5c8d2037730c548f8c7b93b20bb1dc301be280c378b82b8894589c954" - end - - resource "psutil" do - url "https://files.pythonhosted.org/packages/e1/88/bdd0a41e5857d5d703287598cbf08dad90aed56774ea52ae071bae9071b6/psutil-7.1.3.tar.gz" - sha256 "6c86281738d77335af7aec228328e944b30930899ea760ecf33a4dba66be5e74" - end - - resource "py-key-value-aio" do - url "https://files.pythonhosted.org/packages/ca/35/65310a4818acec0f87a46e5565e341c5a96fc062a9a03495ad28828ff4d7/py_key_value_aio-0.2.8.tar.gz" - sha256 "c0cfbb0bd4e962a3fa1a9fa6db9ba9df812899bd9312fa6368aaea7b26008b36" - end - - resource "py-key-value-shared" do - url "https://files.pythonhosted.org/packages/26/79/05a1f9280cfa0709479319cbfd2b1c5beb23d5034624f548c83fb65b0b61/py_key_value_shared-0.2.8.tar.gz" - sha256 "703b4d3c61af124f0d528ba85995c3c8d78f8bd3d2b217377bd3278598070cc1" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz" - sha256 "d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz" - sha256 "3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953" - end - - resource "pyperclip" do - url "https://files.pythonhosted.org/packages/e8/52/d87eba7cb129b81563019d1679026e7a112ef76855d6159d24754dbd2a51/pyperclip-1.11.0.tar.gz" - sha256 "244035963e4428530d9e3a6101a1ef97209c6825edab1567beac148ccc1db1b6" - end - - resource "python-dateutil" do - url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" - end - - resource "python-engineio" do - url "https://files.pythonhosted.org/packages/c9/d8/63e5535ab21dc4998ba1cfe13690ccf122883a38f025dca24d6e56c05eba/python_engineio-4.12.3.tar.gz" - sha256 "35633e55ec30915e7fc8f7e34ca8d73ee0c080cec8a8cd04faf2d7396f0a7a7a" - end - - resource "python-multipart" do - url "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz" - sha256 "8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13" - end - - resource "python-socketio" do - url "https://files.pythonhosted.org/packages/c0/3f/02f5970c82285bd015ec433078bfc3275580b03715ed6024607dbe0f1966/python_socketio-5.14.3.tar.gz" - sha256 "cd8da5e0666e741b4be19e07882e880f57a4751d1645f92c2bc746c95f23b1eb" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "questionary" do - url "https://files.pythonhosted.org/packages/f6/45/eafb0bba0f9988f6a2520f9ca2df2c82ddfa8d67c95d6625452e97b204a5/questionary-2.1.1.tar.gz" - sha256 "3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" - sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" - end - - resource "regex" do - url "https://files.pythonhosted.org/packages/cc/a9/546676f25e573a4cf00fe8e119b78a37b6a8fe2dc95cda877b30889c9c45/regex-2025.11.3.tar.gz" - sha256 "1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "rich-rst" do - url "https://files.pythonhosted.org/packages/bc/6d/a506aaa4a9eaa945ed8ab2b7347859f53593864289853c5d6d62b77246e0/rich_rst-1.3.2.tar.gz" - sha256 "a1196fdddf1e364b02ec68a05e8ff8f6914fee10fbca2e6b6735f166bb0da8d4" - end - - resource "s3transfer" do - url "https://files.pythonhosted.org/packages/62/74/8d69dcb7a9efe8baa2046891735e5dfe433ad558ae23d9e3c14c633d1d58/s3transfer-0.14.0.tar.gz" - sha256 "eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "simple-websocket" do - url "https://files.pythonhosted.org/packages/b0/d4/bfa032f961103eba93de583b161f0e6a5b63cebb8f2c7d0c6e6efe1e3d2e/simple_websocket-1.1.0.tar.gz" - sha256 "7939234e7aa067c534abdab3a9ed933ec9ce4691b0713c78acb195560aa52ae4" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/db/3c/fa6517610dc641262b77cc7bf994ecd17465812c1b0585fe33e11be758ab/sse_starlette-3.0.3.tar.gz" - sha256 "88cfb08747e16200ea990c8ca876b03910a23b547ab3bd764c0d8eb81019b971" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/de/1a/608df0b10b53b0beb96a37854ee05864d182ddd4b1156a22f1ad3860425a/starlette-0.49.3.tar.gz" - sha256 "1c14546f299b5901a1ea0e34410575bc33bbd741377a10484a54445588d00284" - end - - resource "syncer" do - url "https://files.pythonhosted.org/packages/8d/dd/d4dd75843692690d81f0a4b929212a1614b25d4896aa7c72f4c3546c7e3d/syncer-2.0.3.tar.gz" - sha256 "4340eb54b54368724a78c5c0763824470201804fe9180129daf3635cb500550f" - end - - resource "tenacity" do - url "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz" - sha256 "1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb" - end - - resource "tiktoken" do - url "https://files.pythonhosted.org/packages/7d/ab/4d017d0f76ec3171d469d80fc03dfbb4e48a4bcaddaa831b31d526f05edc/tiktoken-0.12.0.tar.gz" - sha256 "b18ba7ee2b093863978fcb14f74b3707cdc8d4d4d3836853ce7ec60772139931" - end - - resource "tokenizers" do - url "https://files.pythonhosted.org/packages/1c/46/fb6854cec3278fbfa4a75b50232c77622bc517ac886156e6afbfa4d8fc6e/tokenizers-0.22.1.tar.gz" - sha256 "61de6522785310a309b3407bac22d99c4db5dba349935e99e4d15ea2226af2d9" - end - - resource "tomli" do - url "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz" - sha256 "64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" - sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" - end - - resource "traceloop-sdk" do - url "https://files.pythonhosted.org/packages/3c/b0/e77687b935fbf980b52a99984dc264f2e44cde7824a3b44f28a742611900/traceloop_sdk-0.47.5.tar.gz" - sha256 "b592d331800b36c104316d17b1352212e3e3dbcfb37589daf2c2f3e90e84ddfe" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/8f/28/7c85c8032b91dbe79725b6f17d2fffc595dff06a35c7a30a37bef73a1ab4/typer-0.20.0.tar.gz" - sha256 "1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37" - end - - resource "typer-slim" do - url "https://files.pythonhosted.org/packages/8e/45/81b94a52caed434b94da65729c03ad0fb7665fab0f7db9ee54c94e541403/typer_slim-0.20.0.tar.gz" - sha256 "9fc6607b3c6c20f5c33ea9590cbeb17848667c51feee27d9e314a579ab07d1a3" - end - - resource "typing-inspect" do - url "https://files.pythonhosted.org/packages/dc/74/1789779d91f1961fa9438e9a8710cdae6bd138c80d7303996933d117264a/typing_inspect-0.9.0.tar.gz" - sha256 "b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/cb/ce/f06b84e2697fef4688ca63bdb2fdf113ca0a3be33f94488f2cadb690b0cf/uvicorn-0.38.0.tar.gz" - sha256 "fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d" - end - - resource "watchfiles" do - url "https://files.pythonhosted.org/packages/c8/27/2ba23c8cc85796e2d41976439b08d52f691655fdb9401362099502d1f0cf/watchfiles-0.24.0.tar.gz" - sha256 "afb72325b74fa7a428c009c1b8be4b4d7c2afedafb2982827ef2156646df2fe1" - end - - resource "wcwidth" do - url "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz" - sha256 "4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605" - end - - resource "websockets" do - url "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz" - sha256 "82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee" - end - - resource "wrapt" do - url "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz" - sha256 "f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0" - end - - resource "wsproto" do - url "https://files.pythonhosted.org/packages/c9/4a/44d3c295350d776427904d73c189e10aeae66d7f555bb2feee16d1e4ba5a/wsproto-1.2.0.tar.gz" - sha256 "ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065" - end - - resource "yarl" do - url "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" - sha256 "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" - end - - resource "zipp" do - url "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz" - sha256 "a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166" - end - - def install - virtualenv_install_with_resources - end - - test do - output = shell_output("#{bin}/pixelle status") - assert_match "Pixelle Version: #{version}", output - assert_match "Checking Pixelle MCP service status...", output - end -end diff --git a/Formula/p/pj.rb b/Formula/p/pj.rb deleted file mode 100644 index 8a3244abd3..0000000000 --- a/Formula/p/pj.rb +++ /dev/null @@ -1,44 +0,0 @@ -class Pj < Formula - desc "Fast project directory finder" - homepage "https://github.com/josephschmitt/pj" - url "https://github.com/josephschmitt/pj/archive/refs/tags/v1.14.0.tar.gz" - sha256 "7c08277c6cae5c5193400c2fbe2f2b87a68c79502278e088285ec45abe2b1bd5" - license "MIT" - head "https://github.com/josephschmitt/pj.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4643a8108a5466016e939fb668104ac2d6f5baad199b172f25de49a13a233040" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4643a8108a5466016e939fb668104ac2d6f5baad199b172f25de49a13a233040" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4643a8108a5466016e939fb668104ac2d6f5baad199b172f25de49a13a233040" - sha256 cellar: :any_skip_relocation, arm64_linux: "0ad00ce01ece0ed0913ce03f63c3bb020a26a50fd8dfee95a6f1a5156ec5f5f3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9801ba6d0bf4bee70e46caca5b848032a14e9018b1058a439ffa0896ad742720" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s - -w - -X main.version=#{version} - ] - - system "go", "build", *std_go_args(ldflags:) - end - - test do - (testpath/"demo").mkpath - (testpath/"demo/go.mod").write <<~EOS - module example.com/demo - - go 1.22 - EOS - - output = shell_output( - "#{bin}/pj --path #{testpath} --marker go.mod --max-depth 2 --no-cache --format %P", - ) - assert_equal "#{testpath}/demo\n", output - assert_match version.to_s, shell_output("#{bin}/pj --version") - end -end diff --git a/Formula/p/plandex.rb b/Formula/p/plandex.rb index 28f3d8f7cb..183c8b4ebe 100644 --- a/Formula/p/plandex.rb +++ b/Formula/p/plandex.rb @@ -13,12 +13,10 @@ class Plandex < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "af8cf992b4958c42afbb7975d7d0be544f938e73bb741a105e42c6bc419dc5c4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "af8cf992b4958c42afbb7975d7d0be544f938e73bb741a105e42c6bc419dc5c4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "af8cf992b4958c42afbb7975d7d0be544f938e73bb741a105e42c6bc419dc5c4" - sha256 cellar: :any_skip_relocation, arm64_linux: "d73e12b876c647cc9c5405a169b81daacbe3bd8fc0da62db560d41c64884d5a1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7d742bf6c0c1a0f93b9c1359ca2fdc0a3133e43aaf7c980fbdcb23a8d32d39ca" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "33ffaa83f8f5271040291bb7249d7714ff61c1536fb4e4ce1f6a3da69232e1ec" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ccebe8e4c20b92555deff0e29eb52c8c92a723ce0895d56160915c8345ca63c4" + sha256 cellar: :any_skip_relocation, ventura: "26fb909f1479027050bedd39e6c5ac61a5653939c22b4e656cb8b41a9d0bf165" + sha256 cellar: :any_skip_relocation, x86_64_linux: "89dcb288a789652ad2c3ea3530dd55cb0f04c11be418ad1c0fd924af3cd5711a" end depends_on "go" => :build @@ -26,7 +24,7 @@ class Plandex < Formula def install cd "app/cli" do system "go", "build", *std_go_args(ldflags: "-s -w -X plandex-cli/version.Version=#{version}") - generate_completions_from_executable(bin/"plandex", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"plandex", "completion") end end diff --git a/Formula/p/play.rb b/Formula/p/play.rb deleted file mode 100644 index bd99cc89bf..0000000000 --- a/Formula/p/play.rb +++ /dev/null @@ -1,46 +0,0 @@ -class Play < Formula - desc "TUI playground for grep, sed, awk, jq, and yq" - homepage "https://github.com/paololazzari/play" - url "https://github.com/paololazzari/play/archive/refs/tags/v0.4.0.tar.gz" - sha256 "7abe1745099e9b4d66e5fc62a1180f2170e8351953d0c6978dfc4719591cd00e" - license "Apache-2.0" - head "https://github.com/paololazzari/play.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "dfaefe5c82199bf64d4a6a969e6ab8af565f8a4d531d911b48d57601e43b3195" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "dfaefe5c82199bf64d4a6a969e6ab8af565f8a4d531d911b48d57601e43b3195" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "dfaefe5c82199bf64d4a6a969e6ab8af565f8a4d531d911b48d57601e43b3195" - sha256 cellar: :any_skip_relocation, arm64_linux: "81c940526e253fbbdce3a1d6900aedc38978e16e9ebbbf1ba3882a1dafa7b9cc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6cf6d67230e72d706780c806ae63f640b34b6f1c7b7b2e51b4150aa17bbb3bd4" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/play version") - - output_log = testpath/"play.log" - with_env TERM: "xterm-256color" do - pid = if OS.mac? - spawn "script", "-q", File::NULL, bin/"play", "grep", [:out, :err] => output_log.to_s - else - spawn "script", "-q", "-c", "#{bin}/play grep", File::NULL, [:out, :err] => output_log.to_s - end - sleep 2 - assert Process.kill(0, pid) - Process.kill("TERM", pid) - Process.wait(pid) - end - output = output_log.read - assert_match "\e[?1049h", output - refute_match "grep not found", output - refute_match "No such device or address", output - rescue Errno::ESRCH - flunk "play exited before it could be terminated" - end -end diff --git a/Formula/p/playwright-mcp.rb b/Formula/p/playwright-mcp.rb new file mode 100644 index 0000000000..a1b17236d3 --- /dev/null +++ b/Formula/p/playwright-mcp.rb @@ -0,0 +1,34 @@ +class PlaywrightMcp < Formula + desc "MCP server for Playwright" + homepage "https://github.com/microsoft/playwright-mcp" + url "https://registry.npmjs.org/@playwright/mcp/-/mcp-0.0.36.tgz" + sha256 "a78fe0fb7924c8db54ff476a91c452bbc49ee0838b4b17c311348f3095155036" + license "Apache-2.0" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "f1418986cc8a3086eb92e694335868b4217b216cea05a045ca48f12fb3e35570" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "befdd96bd4c30e548ef6895f6ede00231d4eb4f14f0243991b58a5889b0d28fc" + sha256 cellar: :any_skip_relocation, ventura: "6bf5d032a6e2e4e1de132ec9354d20bda8eea67bdaf2f47768cf1ea690b1df9c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "3453798b2923030973d6b272710a14bb4ab2245aca3b582118a0516367539cc6" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink Dir["#{libexec}/bin/*"] + end + + test do + assert_match version.to_s, shell_output("#{bin}/mcp-server-playwright --version") + + json = <<~JSON + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"homebrew","version":"#{version}"}}} + {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} + {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}} + JSON + + assert_match "browser_close", pipe_output(bin/"mcp-server-playwright", json, 0) + end +end diff --git a/Formula/p/pls.rb b/Formula/p/pls.rb index e421ef3a35..a4030ee94a 100644 --- a/Formula/p/pls.rb +++ b/Formula/p/pls.rb @@ -12,19 +12,15 @@ class Pls < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "286760b4e9dd852f2fc46796005adc6ca57dc3494c34cd94a8aa92f855839603" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3eff5d5190d27d2382205640f0c9640baed85720309de96dd4aeed9a03476854" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d2a30c7cf3e3dbfdacd9255f5951e734101e330f12b327b46f1acb492b952de2" - sha256 cellar: :any_skip_relocation, arm64_linux: "96484dafbd99eaf19cac69d82785b60bc69c57476e3937643cf0f5358fb028de" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9b21bc2ee0f3599323e58879307113fe1bc52aa2967b60ecb87d0cc28cd49b77" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "efd5ac22d746a8161ec5032b8c40739f40c4a2ce129a89f51a910a82fe26a489" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c8611f96a5f6270658b08fc26767a46537c17f5506121074b318f1939d93ce1c" + sha256 cellar: :any_skip_relocation, ventura: "5153126f221acd8b360d35f0ed19e217420fec7314096dc549c7a713274a87fd" + sha256 cellar: :any_skip_relocation, x86_64_linux: "dbcab0d216cfd82b019700a4c31bdb90501457dbb12ca0d8f6c38d22c61d5ce9" end depends_on "rust" => :build - on_linux do - depends_on "zlib-ng-compat" - end + uses_from_macos "zlib" def install system "cargo", "install", *std_cargo_args diff --git a/Formula/p/pluqqy.rb b/Formula/p/pluqqy.rb deleted file mode 100644 index 7bf4bb5f19..0000000000 --- a/Formula/p/pluqqy.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Pluqqy < Formula - desc "Terminal-based context management for AI driven development" - homepage "https://pluqqy.com/" - url "https://github.com/pluqqy/pluqqy-terminal/archive/refs/tags/v0.1.0.tar.gz" - sha256 "ea69eefa597a87f715f57cfbee3cf82cb7cd8e74ba0517b8194affefa3a55e2f" - license "MIT" - head "https://github.com/pluqqy/pluqqy-terminal.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "abb88c7712b7bc0df96329675a6e49c6d0c41db71b2b2ab2ac3ec2dc1fc39e7c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8ae2a49b7039bcc55dde1262f778cd17114ff8a93282e73b21baccd9ad954676" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "52847b8663d84a1241418e6546b20cff6d5f7334d199b14110a556dc9105e2e8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "982b56f56c37bde3253eaa68fbf7fac84121434cc87ae13fdaac03c168b48d5b" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}"), "./cmd/pluqqy" - end - - test do - assert_match version.to_s, shell_output("#{bin}/pluqqy version") - - output = shell_output("#{bin}/pluqqy init") - assert_match "Initializing Pluqqy project in #{testpath}", output - assert_path_exists testpath/".pluqqy" - - assert_match "No items found", shell_output("#{bin}/pluqqy list") - end -end diff --git a/Formula/p/pluralith.rb b/Formula/p/pluralith.rb index e03edd66a1..0fb38a7faa 100644 --- a/Formula/p/pluralith.rb +++ b/Formula/p/pluralith.rb @@ -9,12 +9,10 @@ class Pluralith < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3548dbf1f3c610fb2ce572348c50bd8a48d04dd5373caa6477d89564a6e9ad06" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3548dbf1f3c610fb2ce572348c50bd8a48d04dd5373caa6477d89564a6e9ad06" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3548dbf1f3c610fb2ce572348c50bd8a48d04dd5373caa6477d89564a6e9ad06" - sha256 cellar: :any_skip_relocation, arm64_linux: "68a7181bc9f8d5b569d17110964a9cd3f28926d0a73f62801aedd56403d07334" - sha256 cellar: :any_skip_relocation, x86_64_linux: "015cf9b35876d0bc6ddda474e44d203899205b2ddc64764cab0fc4977cb9474d" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "dcf44646d73cd9f1436479e7ebf6ae6aed37ccdbe3d6f2df91e6b49358ae5e2a" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5f17b58cb40d7c1cb6f4bb9814b62cc462685eb83717a2f2f378fd6974d27b1c" + sha256 cellar: :any_skip_relocation, ventura: "a71c9f50ca91d20a850fd12e9219f5afcfc3ed25963872cd6a63eedde450089a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f32aaa1530c7a9007062c76e1c4474e922182c24f88d60792b1f165129a7e9ab" end depends_on "go" => :build @@ -23,7 +21,7 @@ def install cd "app" do system "go", "build", *std_go_args(ldflags: "-s -w") - generate_completions_from_executable(bin/"pluralith", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"pluralith", "completion") end end diff --git a/Formula/p/pmx.rb b/Formula/p/pmx.rb index bf40050132..125485df62 100644 --- a/Formula/p/pmx.rb +++ b/Formula/p/pmx.rb @@ -7,12 +7,10 @@ class Pmx < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a5aaa885f54333960315cef37d5442a0bd9b27a6030525f86770c47115125e1f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c9c223d9e19656088dcd09bb11fb6011f7b1abb1c02a9cbcf4631c2f591c8b1e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "915b603d6153219f3ad0263cae3658be864f184eb9aa34c2c6256ebb019901a6" - sha256 cellar: :any_skip_relocation, arm64_linux: "cf0503974e7d4f21e59d2d66b2c70bfc4af588fc3b0644334a3fb553256a68d2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "77aa8af6e220095501b231113882510fbbe1dd56bac6ab2fb6ffc4f4a0bd06b3" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "32cd06caf8c3e0e4517738a818023a38509c9fcf82cfc84ebbe00e50a5cc20bf" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "2ac0e3a10bab8dd1937c13a9e81f8759d043d97ec5317012cefca61e0d026a4c" + sha256 cellar: :any_skip_relocation, ventura: "4e93c2aa522aa71ea66455096cd688cb3004a864bb568433f7f714affcaff350" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a3462645573465d072b8c7075e5435397745fda76dbb84667cb37396d788163e" end depends_on "rust" => :build @@ -20,8 +18,6 @@ class Pmx < Formula def install system "cargo", "install", *std_cargo_args - completion_file = zsh_completion/"_pmx" - rm completion_file if completion_file.exist? generate_completions_from_executable(bin/"pmx", "completion", shells: [:zsh]) end diff --git a/Formula/p/podcli.rb b/Formula/p/podcli.rb deleted file mode 100644 index 3f6f63b0c7..0000000000 --- a/Formula/p/podcli.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Podcli < Formula - desc "CLI for podinfo" - homepage "https://github.com/stefanprodan/podinfo" - url "https://github.com/stefanprodan/podinfo/archive/refs/tags/6.11.2.tar.gz" - sha256 "a7ff15d25d1e758ed0db695371df93eb578166af1bf32af9546ce78ac1ca605d" - license "Apache-2.0" - head "https://github.com/stefanprodan/podinfo.git", branch: "dev" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3e682f5fb0c7fed18efcdaaed9b940c47f6b3fbcf83c0c21f8dc5a9e1355d06c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3e682f5fb0c7fed18efcdaaed9b940c47f6b3fbcf83c0c21f8dc5a9e1355d06c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3e682f5fb0c7fed18efcdaaed9b940c47f6b3fbcf83c0c21f8dc5a9e1355d06c" - sha256 cellar: :any_skip_relocation, arm64_linux: "529362c7db2aaf82c2af4e99061a7c5c01eb4de9bede5bedb287bf15fbf5a90f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bafda4bfbb773d7223dfe4a1d78b6f98bbedadf376cadf559a102a1647b7b8f6" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/stefanprodan/podinfo/pkg/version.REVISION=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/podcli" - - generate_completions_from_executable(bin/"podcli", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/podcli version") - - output = shell_output("#{bin}/podcli check http https://httpbin.org 2>&1") - assert_match "check succeed", output - end -end diff --git a/Formula/p/polymaster.rb b/Formula/p/polymaster.rb deleted file mode 100644 index 5ad6dc8503..0000000000 --- a/Formula/p/polymaster.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Polymaster < Formula - desc "Monitor large transactions on Polymarket and Kalshi prediction markets" - homepage "https://github.com/neur0map/polymaster" - url "https://github.com/neur0map/polymaster/archive/95277b34c66eaa307d169cec45320ffa9f2403a0.tar.gz" - version "0.2.0" - sha256 "235e3078ee8a9a348d9d75389e7c6f5837c0f4dbd6b748c03b3c9b49b88f8fa7" - license :cannot_represent - head "https://github.com/neur0map/polymaster.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8df909db810273fb46ff2e6a22adb47575ae382a60ceb304385ea48ede0c28dd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "631f3027549fa9a19edf0ad8c09aac6f7e3d9187c7e0a6f908b2550d295c4acd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2635686458b9a1aaf0abb0c73873b092e4ea2d2875016d647f88afa7c97e8abc" - sha256 cellar: :any_skip_relocation, arm64_linux: "e431d023e3887cfa6b0c81f231e0fa7959b8a052b0e3d989d4349b3841a18c53" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e6ba8099f84d9e4feeab5f5eba7816c609c6361d2316fec7d8efdfaf6195b60a" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match "Usage:", shell_output("#{bin}/wwatcher --help") - assert_match "WHALE WATCHER STATUS", shell_output("#{bin}/wwatcher status") - end -end diff --git a/Formula/p/pomo.rb b/Formula/p/pomo.rb deleted file mode 100644 index feae9795e1..0000000000 --- a/Formula/p/pomo.rb +++ /dev/null @@ -1,41 +0,0 @@ -class Pomo < Formula - desc "Terminal Pomodoro Timer" - homepage "https://github.com/Bahaaio/pomo" - url "https://github.com/Bahaaio/pomo/archive/refs/tags/v1.2.1.tar.gz" - sha256 "d13a059310f7d8b07c7b29f378e5d3cab7082f4addafd224c8ee8d9ededa6f0a" - license "MIT" - head "https://github.com/Bahaaio/pomo.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6462c657510a2bb4601f6096b18b8713245cfdbad365232402dcd75e24698217" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6462c657510a2bb4601f6096b18b8713245cfdbad365232402dcd75e24698217" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6462c657510a2bb4601f6096b18b8713245cfdbad365232402dcd75e24698217" - sha256 cellar: :any_skip_relocation, arm64_linux: "2355a559a707e4798416431eb7ce56211f7dcded1f92e2118c8416bbf3a4da84" - sha256 cellar: :any_skip_relocation, x86_64_linux: "31505e8ef549cc94eb4502881bf9e715b021c02d2e22d1d713f7626b27c4f218" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - generate_completions_from_executable(bin/"pomo", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/pomo --version") - - # Fails in Linux CI with `/dev/tty: no such device or address` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"pomo", [:out, :err] => output_log.to_s - sleep 1 - assert_match "work session", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/p/pomossh.rb b/Formula/p/pomossh.rb deleted file mode 100644 index a315583a06..0000000000 --- a/Formula/p/pomossh.rb +++ /dev/null @@ -1,48 +0,0 @@ -class Pomossh < Formula - desc "Terminal pomodoro timer with optional SSH mode" - homepage "https://github.com/sairash/pomossh" - url "https://github.com/sairash/pomossh/archive/refs/tags/0.1.1.tar.gz" - sha256 "0ac8aa75f03f6098138d5322d901ebf8dfff3c7e069d9f35394868032ed252df" - license "AGPL-3.0-only" - head "https://github.com/sairash/pomossh.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8b08152683bbe167c32dc520c1e6cdfcb3818859af41f8166e2081aa6e277223" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8b08152683bbe167c32dc520c1e6cdfcb3818859af41f8166e2081aa6e277223" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8b08152683bbe167c32dc520c1e6cdfcb3818859af41f8166e2081aa6e277223" - sha256 cellar: :any_skip_relocation, arm64_linux: "4d7e5533d48d228b0eaae25cecf9c1918e50af4fba63e91bbf51ba1f8096448d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9cd577ce7b3ca337e74d23ffcffe97c89571e7dbaf28052ccf72ff77cca70247" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args - end - - test do - require "socket" - - log = testpath/"server.log" - pid = nil - pid = spawn(bin/"pomossh", "-ssh", out: log.to_s, err: log.to_s) - - port_open = false - 10.times do - TCPSocket.new("127.0.0.1", 13234).close - port_open = true - break - rescue Errno::ECONNREFUSED - sleep 1 - end - - assert port_open, "pomossh SSH server did not start" - assert_match "Starting SSH server", log.read - ensure - if pid - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/p/pphack.rb b/Formula/p/pphack.rb index 21bfae97d4..4334ec7898 100644 --- a/Formula/p/pphack.rb +++ b/Formula/p/pphack.rb @@ -1,18 +1,17 @@ class Pphack < Formula desc "Client-Side Prototype Pollution Scanner" homepage "https://github.com/edoardottt/pphack" - url "https://github.com/edoardottt/pphack/archive/refs/tags/v0.1.3.tar.gz" - sha256 "a5cd2233d62a32573aedb32496fb841e06bc92c8bdee2b242cbefe536d198299" + url "https://github.com/edoardottt/pphack/archive/refs/tags/v0.1.0.tar.gz" + sha256 "1e7006f6834da2a511a2b375aa7c56d0559afea30fcc4bc63a7d5237aadfb30f" license "MIT" head "https://github.com/edoardottt/pphack.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "636d8421dd4ec72791ba83f3c5531df1706e3df6e6f92d0a17209cb612b86de2" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "636d8421dd4ec72791ba83f3c5531df1706e3df6e6f92d0a17209cb612b86de2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "636d8421dd4ec72791ba83f3c5531df1706e3df6e6f92d0a17209cb612b86de2" - sha256 cellar: :any_skip_relocation, arm64_linux: "8b4700ade4d3ea1d1b2d08bf7ad25b21dfbe9bacb1fc0734a5bb217bb372a068" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ac9c9c3d67cd5b41adf1f1445313cefabed7a310f0b515270174ff132e9bdaf7" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "4a1ee0c35d2d86cc22bc9e7285372998a025ca10c41fde9cf4d2bfd2e559d29b" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "513965d438e36c82848c4fcf1c9dd7a9274f2856d34760f4011d65eca90595ad" + sha256 cellar: :any_skip_relocation, ventura: "c7b802811f6861b02f66c75a4c393e8fc935dadad2fcdae8cfe501b1fb8b7e02" + sha256 cellar: :any_skip_relocation, x86_64_linux: "1ba867feff32e93c2984c437d361b05447abe3caccda7fe48cf440bf46c3ff7d" end depends_on "go" => :build diff --git a/Formula/p/pproftui.rb b/Formula/p/pproftui.rb deleted file mode 100644 index ccf4d0cba4..0000000000 --- a/Formula/p/pproftui.rb +++ /dev/null @@ -1,57 +0,0 @@ -class Pproftui < Formula - desc "TUI for Go pprof data" - homepage "https://github.com/Oloruntobi1/pproftui" - url "https://github.com/Oloruntobi1/pproftui/archive/d94a02c55dcdfc0bd2617acc9a1b98079bf990d8.tar.gz" - version "0.0.1" - sha256 "1538131099b317c33c7b0864aee888dd2c8af18e330734a751d3b22d0c81c379" - license "MIT" - head "https://github.com/Oloruntobi1/pproftui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "25c3fb18edd058546efef9406060aac9d3df6266a9e896b9bc99f4819f2a109f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "25c3fb18edd058546efef9406060aac9d3df6266a9e896b9bc99f4819f2a109f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "25c3fb18edd058546efef9406060aac9d3df6266a9e896b9bc99f4819f2a109f" - sha256 cellar: :any_skip_relocation, arm64_linux: "d64a4cf7fd6e7fd3a04ad0246017f80150ca6eda5cca47908ba9871d6408edc9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b938a312c73a373f47853c0533cf14154ddcf00f55a610e1f84b7bcffa9e809f" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match "Usage of", shell_output("#{bin}/pproftui -h 2>&1") - - resource "test_profile" do - url "https://github.com/parca-dev/parca/raw/refs/heads/main/pkg/symbolizer/testdata/normal-cpu.stripped.pprof" - sha256 "6e6087cf6a592f40a669aa7f96c38a2220cf5fc4006d6f89848666a859dad39b" - end - - testpath.install resource("test_profile") - - output_log = testpath/"output.log" - pid = if OS.mac? - spawn "script", "-q", File::NULL, - bin/"pproftui", testpath/"normal-cpu.stripped.pprof", - [:out, :err] => output_log.to_s - else - spawn "script", "-q", "-c", "#{bin}/pproftui #{testpath}/normal-cpu.stripped.pprof", File::NULL, - [:out, :err] => output_log.to_s - end - - sleep 2 - Process.kill("TERM", pid) if Process.waitpid(pid, Process::WNOHANG).nil? - Process.wait(pid) - - output = output_log.read - assert_match "\e[?1049h", output - refute_match "No such device or address", output - rescue Errno::ESRCH - output = output_log.exist? ? output_log.read : "" - assert_match "\e[?1049h", output - refute_match "No such device or address", output - end -end diff --git a/Formula/p/pr-desc-cli.rb b/Formula/p/pr-desc-cli.rb deleted file mode 100644 index 22bd94cd71..0000000000 --- a/Formula/p/pr-desc-cli.rb +++ /dev/null @@ -1,25 +0,0 @@ -class PrDescCli < Formula - desc "AI-powered PR description generator" - homepage "https://github.com/chalet-dev/chalet" - url "https://registry.npmjs.org/pr-desc-cli/-/pr-desc-cli-2.0.3.tgz" - sha256 "59cb6fbe61187b100db447ebc550f933c527f543245aedbcbf8379b1ee4bce78" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "cb158fc5e9492a39515577b402cc578c6a390b54a144065ce1f4ab3860b6b7ef" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/pr-desc --version") - output = shell_output("#{bin}/pr-desc models") - assert_match "llama-3.3-70b-versatile", output - end -end diff --git a/Formula/p/precompress.rb b/Formula/p/precompress.rb index 4f8f2e03d2..46a2ad862d 100644 --- a/Formula/p/precompress.rb +++ b/Formula/p/precompress.rb @@ -1,13 +1,16 @@ class Precompress < Formula desc "CLI to compress files to gzip and brotli" homepage "https://github.com/silverwind/precompress" - url "https://registry.npmjs.org/precompress/-/precompress-13.0.6.tgz" - sha256 "c4923f50fd1701cb1cbc84273ba1be05902c6b2bbb3fe2e48f81aad9fdc2597c" + url "https://registry.npmjs.org/precompress/-/precompress-12.0.7.tgz" + sha256 "9b9dc0c631c2dd3683fe9b0adfd78df5408c263bc07236e00f8ce0eb8c66697d" license "BSD-2-Clause" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "0a545e030de846aa94f9eb6cb5017ac90a7bcd8cbb341dd9085f29996ed7f1b2" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "75ab76bb0926eba633db6dd341b2358cc2245508bbe103a575e3b1c8aadac45e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "042950002d42207a4ff4e168e75eb5593b3f3d1958f5e2da15250f00fffa1a9b" + sha256 cellar: :any_skip_relocation, ventura: "c73523b6a33fe64ba741f84e21d0b24f941f9bb9200fcd76a466ff663e84f12e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f62cfe4711d98fe51c915dc33920c4585bbb557415cda9e979871c2bfc85a1a7" end depends_on "node" diff --git a/Formula/p/process-compose.rb b/Formula/p/process-compose.rb deleted file mode 100644 index 0871439b8a..0000000000 --- a/Formula/p/process-compose.rb +++ /dev/null @@ -1,40 +0,0 @@ -class ProcessCompose < Formula - desc "Flexible scheduler for non-containerized applications" - homepage "https://f1bonacc1.github.io/process-compose/" - url "https://github.com/F1bonacc1/process-compose/archive/refs/tags/v1.103.0.tar.gz" - sha256 "d61f0382d2b4f4f3b05adb5d2a289b068ceb1697f77c76ca0e1e94fe9acc4fac" - license "Apache-2.0" - head "https://github.com/F1bonacc1/process-compose.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "26667148ac35fa1b646e90fd8b9d3679627609634bc550ebf1b748f85b6dea52" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6d82bb04a96e3f1bbbcb2368e04333d607b182b91960f34ce64f1e221b79bc44" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2112d1debc9b205919caaaeeaac0dfcd3209f6af643ba601895231f5254e2ba1" - sha256 cellar: :any_skip_relocation, arm64_linux: "3cc4a4dcc1fedf044e33daba6d5648d92650cd54df092bed45ba0768087ab234" - sha256 cellar: :any_skip_relocation, x86_64_linux: "159d5710529df6d0fb3fef21a47b695c61b2cd8ceef748e11fe750f32508bdfb" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/f1bonacc1/process-compose/src/config.Version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./" - - generate_completions_from_executable(bin/"process-compose", shell_parameter_format: :cobra) - end - - test do - (testpath/"process-compose.yaml").write <<~YAML - version: "0.5" - processes: - hello: - command: /usr/bin/printf 'hello' - YAML - - assert_match version.to_s, shell_output("#{bin}/process-compose version --short") - - output = shell_output("#{bin}/process-compose -f #{testpath/"process-compose.yaml"} --dry-run 2>&1") - assert_match "Validated 1 configured processes", output - end -end diff --git a/Formula/p/procmux.rb b/Formula/p/procmux.rb deleted file mode 100644 index 1188a7595c..0000000000 --- a/Formula/p/procmux.rb +++ /dev/null @@ -1,108 +0,0 @@ -class Procmux < Formula - include Language::Python::Virtualenv - - desc "Terminal multiplexer for processes" - homepage "https://github.com/napisani/procmux" - url "https://files.pythonhosted.org/packages/c1/c8/93ea9e5ffbede1999e96bb7bf6ad7d48870b8438ce55b4f3863ec9688ad8/procmux-2.0.3.tar.gz" - sha256 "e91faee78f1411e5dd87e1dc363338e5e6307f1c144c12dad1c659b97f0c2271" - license "MIT" - head "https://github.com/napisani/procmux.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "13c4489bc3d60400a9558fc24b712246c5bbbcff0e2e3518ead85427535351b7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b55972bc286463ec0074b7dc9acfee221948ee3a96f3ab977bd60969f6cc77fb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fdd4125376c848ad56353de30085d692a16533bc148ad65f79725d929e30e70e" - sha256 cellar: :any_skip_relocation, arm64_linux: "c0c6f64cc6f17627d0ea66318790d675bf79c36cd00e9ba923fbc55063b0a36c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ffaf321615a635bac45d3b8690f3d278cb27bd37be5fffe96cb0774695627560" - end - - depends_on "libyaml" - depends_on "python@3.14" - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "iniconfig" do - url "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz" - sha256 "c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" - sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" - end - - resource "pluggy" do - url "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" - sha256 "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" - end - - resource "prompt-toolkit" do - url "https://files.pythonhosted.org/packages/0c/37/7ad3bf3c6dbe96facf9927ddf066fdafa0f86766237cff32c3c7355d3b7c/prompt_toolkit-2.0.10.tar.gz" - sha256 "f15af68f66e664eaa559d4ac8a928111eebd5feda0c11738b5998045224829db" - end - - resource "ptterm" do - url "https://files.pythonhosted.org/packages/3c/23/792677e3a8a68e86849ac116ceb9bcfa70f83681f491934f99d04f663968/ptterm-0.2.tar.gz" - sha256 "a4f846fbf5d9f302a5442c8607d29b31beab08adb72ab34605085a7c55eb117a" - end - - resource "py" do - url "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz" - sha256 "51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719" - end - - resource "pyte" do - url "https://files.pythonhosted.org/packages/9f/60/442cdc1cba83710770672ef61e186be8746f419a12b2c84ba36e9a96276d/pyte-0.8.1.tar.gz" - sha256 "b9bfd1b781759e7572a6e553c010cc93eef58a19d8d1590446d84c19b1b097b0" - end - - resource "pytest" do - url "https://files.pythonhosted.org/packages/a4/a7/8c63a4966935b0d0b039fd67ebf2e1ae00f1af02ceb912d838814d772a9a/pytest-7.1.3.tar.gz" - sha256 "4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" - sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "tomli" do - url "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz" - sha256 "64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549" - end - - resource "wcwidth" do - url "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz" - sha256 "4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605" - end - - def install - virtualenv_install_with_resources - end - - test do - (testpath/"procmux.yaml").write <<~YAML - signal_server: - enable: false - host: localhost - port: 9792 - procs: - "echo test": - shell: "echo 'Hello, Homebrew!'" - autostart: false - description: "test process" - YAML - - output = shell_output("#{bin}/procmux signal-stop-running 2>&1", 1) - assert_match "Signal server is not enabled in config", output - end -end diff --git a/Formula/p/projectable.rb b/Formula/p/projectable.rb new file mode 100644 index 0000000000..2fcb0f650b --- /dev/null +++ b/Formula/p/projectable.rb @@ -0,0 +1,65 @@ +class Projectable < Formula + desc "TUI file manager built for projects" + homepage "https://dzfrias.dev/blog/projectable" + url "https://github.com/dzfrias/projectable/archive/refs/tags/1.3.2.tar.gz" + sha256 "8677aa186b50e28ae1addaa9178b65de9e07b3fcd54056fd92464b49c9f71312" + license "MIT" + head "https://github.com/dzfrias/projectable.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + rebuild 1 + sha256 cellar: :any, arm64_sequoia: "87abbe736e8eb659f23106320031ac62c99d52cd4503704533d10a34df9e53b3" + sha256 cellar: :any, arm64_sonoma: "a1900dc08da1b6e06064649b1bd70c859c82f7ca72a96f991e3823646caab4e1" + sha256 cellar: :any, ventura: "3a0dc21c30496092425cb791e3512d7de24879287d7232aec4b790c750a4d07c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "bb6306f8d78cf9d7728266c472ac15588a74a6b7e619a58cbbdcd715c27d9acb" + end + + depends_on "pkgconf" => :build + depends_on "rust" => :build + + depends_on "libgit2" + depends_on "libssh2" + depends_on "openssl@3" + + uses_from_macos "zlib" + + def install + ENV["LIBGIT2_NO_VENDOR"] = "1" + ENV["LIBSSH2_SYS_USE_PKG_CONFIG"] = "1" + # Ensure that the `openssl` crate picks up the intended library. + ENV["OPENSSL_DIR"] = Formula["openssl@3"].opt_prefix + ENV["OPENSSL_NO_VENDOR"] = "1" + + system "cargo", "install", *std_cargo_args + end + + test do + require "utils/linkage" + + system bin/"prj", "--version" + + # Fails in Linux CI with "No such device or address (os error 6)" + return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] + + begin + output_log = testpath/"output.log" + pid = spawn bin/"prj", testpath, [:out, :err] => output_log.to_s + sleep 1 + assert_match "output.log", output_log.read + ensure + Process.kill("TERM", pid) + Process.wait(pid) + end + + [ + Formula["libgit2"].opt_lib/shared_library("libgit2"), + Formula["libssh2"].opt_lib/shared_library("libssh2"), + Formula["openssl@3"].opt_lib/shared_library("libcrypto"), + Formula["openssl@3"].opt_lib/shared_library("libssl"), + ].each do |library| + assert Utils.binary_linked_to_library?(bin/"prj", library), + "No linkage with #{library.basename}! Cargo is likely using a vendored version." + end + end +end diff --git a/Formula/p/projscan.rb b/Formula/p/projscan.rb deleted file mode 100644 index 8c5d06a78b..0000000000 --- a/Formula/p/projscan.rb +++ /dev/null @@ -1,57 +0,0 @@ -class Projscan < Formula - desc "Instant codebase insights for any repository" - homepage "https://github.com/abhiyoheswaran1/projscan" - url "https://github.com/abhiyoheswaran1/projscan/archive/refs/tags/v0.14.0.tar.gz" - sha256 "7b4a8b0a2b9fafdeb9d5b8b2ce5c6891fb0b4676f243616e0fa419ce8fa3551f" - license "MIT" - head "https://github.com/abhiyoheswaran1/projscan.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "5652c93a2257d126f2a137b512417f04b149db0f8ae11f9e560e99aa4ea5247c" - sha256 arm64_sequoia: "c3a8980162ab36cb58e7e3f4ef90514c0dadd84feb5f6ed932ec98d72180e1f7" - sha256 arm64_sonoma: "6b394e28023e39ad3e3973973717e4f4193106fbb911954f32b99bf410e2ba15" - sha256 cellar: :any_skip_relocation, arm64_linux: "88980c3bb9c5dd84495ccdeb92e7ab6dac8da8762e2f36888fa0b2bbe993422f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "06f58532cf3cd1959ee5458ba4e4130c358467c1b8ed174399b6155706874f9f" - end - - depends_on "pkgconf" => :build - depends_on "node" - depends_on "vips" - - def install - # Use Homebrew's Node headers instead of letting node-gyp fetch them during builds. - ENV["npm_config_nodedir"] = Formula["node"].opt_prefix - ENV["SHARP_FORCE_GLOBAL_LIBVIPS"] = "1" - - system "npm", "install", "--include=dev", *std_npm_args(prefix: false, ignore_scripts: false) - system "npm", "run", "build" - system "npm", "install", *std_npm_args - - node_modules = libexec/"lib/node_modules/projscan/node_modules" - cd libexec/"lib/node_modules/projscan" do - system "npm", "rebuild", "tree-sitter-go", "tree-sitter-java", - "tree-sitter-python", "tree-sitter-ruby", "--build-from-source" - end - rm_r node_modules.glob("tree-sitter-*/prebuilds") - - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/projscan --version") - - (testpath/"package.json").write <<~JSON - { - "name": "projscan-test", - "version": "1.0.0" - } - JSON - (testpath/"src").mkpath - (testpath/"src/index.js").write "console.log('hello');\n" - - output = shell_output("cd #{testpath} && #{bin}/projscan doctor --format json") - assert_match "\"health\"", output - assert_match "\"score\"", output - end -end diff --git a/Formula/p/protodep.rb b/Formula/p/protodep.rb index b70694b13b..13b3091e0b 100644 --- a/Formula/p/protodep.rb +++ b/Formula/p/protodep.rb @@ -7,12 +7,10 @@ class Protodep < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1fd211e495e92aac44aecbae393438c951ef3366fcefbe71e8d8b746b55daeeb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1fd211e495e92aac44aecbae393438c951ef3366fcefbe71e8d8b746b55daeeb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1fd211e495e92aac44aecbae393438c951ef3366fcefbe71e8d8b746b55daeeb" - sha256 cellar: :any_skip_relocation, arm64_linux: "9e1337613c632f412c15120e2700d54b41d89923be4225014b27303bcbd050bc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "72fce7ed955ed81c0d3d7341dcdb62dcf1f5be3c49ed9d499d895ac257112f3b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "6ffb701c7fc8d041d2e20990b3a7b6d891d8ea31110b7d8dbff84ed60786b43e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "00de15ca4cce4708369b303681146e21df1d79d84ff8a301e0b6782a1fafca8f" + sha256 cellar: :any_skip_relocation, ventura: "5403f3af0bd42e59feab3a238b1544faae26ef9d41d79414da2d4502a27ee299" + sha256 cellar: :any_skip_relocation, x86_64_linux: "74b100e1dcdd457a8a19e52205ec3c5b3a31bd589e5afdadbf2293a40f52b5a1" end depends_on "go" => :build @@ -27,7 +25,7 @@ def install ] system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"protodep", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"protodep", "completion") end test do diff --git a/Formula/p/prpm.rb b/Formula/p/prpm.rb deleted file mode 100644 index 147c70b860..0000000000 --- a/Formula/p/prpm.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Prpm < Formula - desc "Universal registry for AI coding tools" - homepage "https://prpm.dev/" - url "https://registry.npmjs.org/prpm/-/prpm-2.1.38.tgz" - sha256 "bd4384e4dd1c14db392d898311d82299e5413d32565335cc08ae49e013cc5d38" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "921fe35cfd10111f86665cfc8a8e1076f49baa018f0fcb33602c6e491a4746c9" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/prpm --version") - - system bin/"prpm", "init", "--yes" - assert_path_exists testpath/"prpm.json" - assert_match "A PRPM package", (testpath/"README.md").read - - assert_match "No packages installed", shell_output("#{bin}/prpm list") - end -end diff --git a/Formula/p/psq.rb b/Formula/p/psq.rb deleted file mode 100644 index e63d270b50..0000000000 --- a/Formula/p/psq.rb +++ /dev/null @@ -1,37 +0,0 @@ -class Psq < Formula - desc "Lightweight postgres monitor for the terminal" - homepage "https://github.com/benjaminsanborn/psq" - url "https://github.com/benjaminsanborn/psq/archive/refs/tags/v1.9.3.tar.gz" - sha256 "cc1b41192a21d16352d93c012682176723da0551080f1bd5e3d77b8b7aed3da1" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d3dc67d2e57f163aeae61992e199bff8d796b4f146e4123bfdc5853ad371bd72" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d3dc67d2e57f163aeae61992e199bff8d796b4f146e4123bfdc5853ad371bd72" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d3dc67d2e57f163aeae61992e199bff8d796b4f146e4123bfdc5853ad371bd72" - sha256 cellar: :any_skip_relocation, arm64_linux: "e24d4033959017ab55de1d80d540ce457dc2d921eece04de5afa500fc05b5413" - sha256 cellar: :any_skip_relocation, x86_64_linux: "292dd4e1a540b9cdf0ba1aaf236be5078486e7786016c5b7e76a19b2bef6def1" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - # Fails in Linux CI with `/dev/tty: no such device or address` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"psq", testpath, [:out, :err] => output_log.to_s - sleep 1 - assert_match "Initializing", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/p/pwdsafety.rb b/Formula/p/pwdsafety.rb deleted file mode 100644 index 68599a16f6..0000000000 --- a/Formula/p/pwdsafety.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Pwdsafety < Formula - desc "CLI checking password safety" - homepage "https://github.com/edoardottt/pwdsafety" - url "https://github.com/edoardottt/pwdsafety/archive/refs/tags/v0.4.2.tar.gz" - sha256 "6676f7ccc1ad32e8c68b889426b563d69080a69c1f9212b32d79fccc2e70b79f" - license "GPL-3.0-only" - head "https://github.com/edoardottt/pwdsafety.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "704a29e204a3ef89a534dfcbabb794b9172196afee42471bcd6c6f5098258be9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "704a29e204a3ef89a534dfcbabb794b9172196afee42471bcd6c6f5098258be9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "704a29e204a3ef89a534dfcbabb794b9172196afee42471bcd6c6f5098258be9" - sha256 cellar: :any_skip_relocation, arm64_linux: "e23248ca2f5ff39e154f40de309c6a1f985eb730401d372bdb93ebad3d830911" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9cc85f8c575b9e4853a99e0ea07197a2cec7d1e57e0720db9060b6f2bafcb30e" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/pwdsafety" - end - - test do - output = pipe_output("#{bin}/pwdsafety 2>&1", "123\n", 1) - assert_match "Hey....Do you know what password cracking is?", output - end -end diff --git a/Formula/p/pygitzen.rb b/Formula/p/pygitzen.rb deleted file mode 100644 index df03de315b..0000000000 --- a/Formula/p/pygitzen.rb +++ /dev/null @@ -1,90 +0,0 @@ -class Pygitzen < Formula - include Language::Python::Virtualenv - - desc "Python native terminal based Git client" - homepage "https://github.com/SunnyTamang/pygitzen" - url "https://files.pythonhosted.org/packages/10/88/769cb5eb4f5705cd4fa36a50bbd7f6e7fc0640ae2bdf16307b4966881d5e/pygitzen-0.2.7.tar.gz" - sha256 "9ceb24c6fca0ad3b6c1822934ffbad5fcb0f8a9e9057c4d3b1606a439de71cf5" - license "MIT" - head "https://github.com/SunnyTamang/pygitzen.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4db528f0e2abf5a437888f182338cf45ba10321aa0613aa96e64726f345855fa" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0b471d7347e78a93ed82b2b5410a5ed0304a938ac7e82735cb886f77fb3469ed" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "20002df353d5f0cbe75323e803cfa3cebf80fdcb7a4726e38b166601622eecb2" - sha256 cellar: :any_skip_relocation, sequoia: "7549bd8f1251b28a60df5798034cc060d393b654cde0fe5ead7ac80276f24b28" - sha256 cellar: :any_skip_relocation, arm64_linux: "a9a1a082ca9ddf7d74a8b08df1c4f59e5a4da3a90b8dee54c9b48d78c9fb2390" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3ffa9181398af7e2dbf0612c17088f7c5c5ed8e7895831da69ce00e095711811" - end - - depends_on "python@3.14" - - resource "dulwich" do - url "https://files.pythonhosted.org/packages/ee/df/4178b6465e118e6e74fd78774b451953dd53c09fdec18f2c4b3319dd0485/dulwich-1.0.0.tar.gz" - sha256 "3d07104735525f22bfec35514ac611cf328c89b7acb059316a4f6e583c8f09bc" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" - sha256 "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/74/99/a4cab2acbb884f80e558b0771e97e21e939c5dfb460f488d19df485e8298/rich-14.3.2.tar.gz" - sha256 "e712f11c1a562a11843306f5ed999475f09ac31ffb64281f73ab29ffdda8b3b8" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/9f/38/7d169a765993efde5095c70a668bf4f5831bb7ac099e932f2783e9b71abf/textual-7.5.0.tar.gz" - sha256 "c730cba1e3d704e8f1ca915b6a3af01451e3bca380114baacf6abf87e9dac8b6" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match "The directory you specified is not a Git repository", shell_output("#{bin}/pygitzen 2>&1", 1) - end -end diff --git a/Formula/p/pyink.rb b/Formula/p/pyink.rb index fce01ae777..c3dd724b0a 100644 --- a/Formula/p/pyink.rb +++ b/Formula/p/pyink.rb @@ -3,36 +3,40 @@ class Pyink < Formula desc "Python formatter, forked from Black with a few different formatting behaviors" homepage "https://github.com/google/pyink" - url "https://files.pythonhosted.org/packages/31/45/5940abea3a364768b267ff4c73d898f7d692f649540e613a8fe67089abcc/pyink-25.12.0.tar.gz" - sha256 "930a913fed2824ffbbd3c10847fad1171c2b075dd709a13dc435caea851de7b8" + url "https://files.pythonhosted.org/packages/d1/a1/e5e28626fca4266a94c2e1c9264fbf915b9e83e94f52e965190e48fd0cbf/pyink-24.10.1.tar.gz" + sha256 "5ec4339aa4953f796e88d90bcac3e3472161e4c36dbde203d80f5f76721ac718" license "MIT" head "https://github.com/google/pyink.git", branch: "pyink" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "5606b309b887ed38ebe58de2921d3f6553d918838068a92b62e7ab6deae95096" + rebuild 2 + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3a3070d43519adbc4c6a96ff44ef903e7316b68928d02d5276d2665cef90b6bf" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f5b52f43541939b5c8a65ab1a321fde52402bdbc17bca6fac6127148af0b3f93" + sha256 cellar: :any_skip_relocation, ventura: "ea66a77d779471461fec5b165367ed22ff67749f17ab7396a1a64c0e6513d876" + sha256 cellar: :any_skip_relocation, x86_64_linux: "44f3df5203136e8769ce9632bf414084c784dca4c0f65b18dc789078200d37b2" end depends_on "python@3.13" resource "black" do - url "https://files.pythonhosted.org/packages/c4/d9/07b458a3f1c525ac392b5edc6b191ff140b596f9d77092429417a54e249d/black-25.12.0.tar.gz" - sha256 "8d3dd9cea14bff7ddc0eb243c811cdb1a011ebb4800a5f0335a01a68654796a7" + url "https://files.pythonhosted.org/packages/d8/0d/cc2fb42b8c50d80143221515dd7e4766995bd07c56c9a3ed30baf080b6dc/black-24.10.0.tar.gz" + sha256 "846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" end resource "mypy-extensions" do - url "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz" - sha256 "52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558" + url "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz" + sha256 "75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782" end resource "packaging" do - url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" - sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" + url "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz" + sha256 "c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f" end resource "pathspec" do @@ -41,13 +45,8 @@ class Pyink < Formula end resource "platformdirs" do - url "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" - sha256 "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda" - end - - resource "pytokens" do - url "https://files.pythonhosted.org/packages/4e/8d/a762be14dae1c3bf280202ba3172020b2b0b4c537f94427435f19c413b72/pytokens-0.3.0.tar.gz" - sha256 "2f932b14ed08de5fcf0b391ace2642f858f1394c0857202959000b68ed7a458a" + url "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz" + sha256 "357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907" end def install diff --git a/Formula/p/pyp.rb b/Formula/p/pyp.rb new file mode 100644 index 0000000000..2dd22bb41e --- /dev/null +++ b/Formula/p/pyp.rb @@ -0,0 +1,28 @@ +class Pyp < Formula + include Language::Python::Virtualenv + + desc "Easily run Python at the shell! Magical, but never mysterious" + homepage "https://github.com/hauntsaninja/pyp" + url "https://files.pythonhosted.org/packages/0c/65/c275ff380e4412438577eab23810dd7a1ba2cf54a6ba558a3d22cf0fb68b/pypyp-1.3.0.tar.gz" + sha256 "97c78f8fd6d4550bf67bb5001a4c5c1fa58184d9bd8256abac3e240fa38aa05c" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9096db6fe924b85b313efe7294261e7178e6785822bf940a13fcd5a10f2f4fc7" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "44a4c14d6893527f92c9822ec1350a19d84b9523f1a74ad635f444515895bdda" + sha256 cellar: :any_skip_relocation, ventura: "ed93f9425d3032ede19a48f13ad59d2177fb9e39d12c954f12a750049b3b85d1" + sha256 cellar: :any_skip_relocation, x86_64_linux: "003725a544558684dee1cdd930f08ab833527b5904a83aaa5473e5e59a081dfa" + end + + depends_on "python@3.13" + + def install + virtualenv_install_with_resources + end + + test do + assert_match version.to_s, shell_output("#{bin}/pyp --version") + assert_match "Hello, world!", shell_output("#{bin}/pyp 'print(\"Hello, world!\")'") + end +end diff --git a/Formula/p/pysentation.rb b/Formula/p/pysentation.rb deleted file mode 100644 index 55e2fa7633..0000000000 --- a/Formula/p/pysentation.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Pysentation < Formula - include Language::Python::Virtualenv - - desc "TUI for displaying Python presentations" - homepage "https://github.com/mimseyedi/pysentation" - url "https://files.pythonhosted.org/packages/51/51/ec0508b25edd1d91707b835035195676708d1d03ef80518ea32cfa1b42b9/pysentation-1.0.0.tar.gz" - sha256 "996b2d8569e4fbf9376b73e695ffb8133cbbf1a37a146c7f396e4dd53245a8d0" - license "GPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "f69553984a691495d2fa02dc6be75c2cfa703ec817f8e47c1d8a63651ce1e418" - end - - depends_on "python@3.14" - - resource "click" do - url "https://files.pythonhosted.org/packages/59/87/84326af34517fca8c58418d148f2403df25303e02736832403587318e9e8/click-8.1.3.tar.gz" - sha256 "7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e" - end - - resource "getkey" do - url "https://files.pythonhosted.org/packages/74/f2/3312ea94369f410967667eeca61d261cdf3037df6ea827078ac7c5321150/getkey-0.6.5.tar.gz" - sha256 "68c7c702c3b34deacf427f6c0f1fd66c5c2aa12d7801aa32442fc1a71c8ce059" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/e4/c0/59bd6d0571986f72899288a95d9d6178d0eebd70b6650f1bb3f0da90f8f7/markdown-it-py-2.2.0.tar.gz" - sha256 "7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/02/97/0046b5e3c6a5057b5817e5e6c51a776d410b953e6a9c67ae249dafdd2999/rich-13.4.1.tar.gz" - sha256 "76f6b65ea7e5c5d924ba80e322231d7cb5b5981aa60bfc1e694f1bc097fe6fe1" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/pysentation --version") - end -end diff --git a/Formula/q/qmassa.rb b/Formula/q/qmassa.rb deleted file mode 100644 index cb8ae1be6b..0000000000 --- a/Formula/q/qmassa.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Qmassa < Formula - desc "TUI for displaying GPUs usage stats on Linux" - homepage "https://github.com/ulissesf/qmassa" - url "https://github.com/ulissesf/qmassa/archive/refs/tags/v1.3.0.tar.gz" - sha256 "54130e61b7f3494cf741c2fc0d8f2418d8bfc3c97bbc3da236c49d0e8f6cf564" - license "Apache-2.0" - head "https://github.com/ulissesf/qmassa.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "ad1f4de97407f64b94182ee6e68c2abeca225d924cbd6dc35e2ce69e2d0a07d3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "553fbd39381d202066f2a31e35418cc4fe49d427ed08612501da8253a20c6a4a" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on :linux - depends_on "systemd" # for `libudev` - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/qmassa --version") - - # Fails in Linux CI with `No such device or address` error - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - assert_match "Error: No DRM devices found", shell_output("#{bin}/qmassa 2>&1", 1) - end -end diff --git a/Formula/q/que.rb b/Formula/q/que.rb deleted file mode 100644 index 00a0d7b572..0000000000 --- a/Formula/q/que.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Que < Formula - desc "Pipe-able DevOps assistant" - homepage "https://github.com/njenia/que" - url "https://github.com/njenia/que/archive/refs/tags/v1.0.6.tar.gz" - sha256 "7a409b65f7d8cb5bb978f53a91a790cc47582c100a1b207752ee805e31755d02" - license "MIT" - head "https://github.com/njenia/que.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8bd515e9a2eb2211941e18904327e5a6d2613aa5544f28a48c4d70c4a568d010" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8bd515e9a2eb2211941e18904327e5a6d2613aa5544f28a48c4d70c4a568d010" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8bd515e9a2eb2211941e18904327e5a6d2613aa5544f28a48c4d70c4a568d010" - sha256 cellar: :any_skip_relocation, arm64_linux: "adb8bc7572261cfa21d1a213c3b656f9d3bbb541523712f3901ddc667d1a7705" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e48d2706855b939bb308c484ecea6bfe5ae068faa4f481b2487944323176f075" - end - - depends_on "go" => :build - - def install - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - - # Workaround to avoid patchelf corruption when cgo is required - if OS.linux? && Hardware::CPU.arch == :arm64 - ENV["GO_EXTLINK_ENABLED"] = "1" - ENV.append "GOFLAGS", "-buildmode=pie" - end - - system "go", "build", *std_go_args(ldflags: "-s -w -X main.Version=#{version}"), "./cmd/que" - end - - test do - assert_match version.to_s, shell_output("#{bin}/que --version") - - (testpath/"test.txt").write("Hello, Que!") - output = pipe_output("#{bin}/que --dry-run 2>&1", (testpath/"test.txt").read) - assert_match "Would query LLM API (skipped in dry-run mode)", output - end -end diff --git a/Formula/q/qwe.rb b/Formula/q/qwe.rb deleted file mode 100644 index f703474c4e..0000000000 --- a/Formula/q/qwe.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Qwe < Formula - desc "File-first atomic version control system" - homepage "https://mainak55512.github.io/qwe/" - url "https://github.com/mainak55512/qwe/archive/refs/tags/v0.3.2.tar.gz" - sha256 "d5637bcb59f2c7f1a1b831c95b8d9f7edde99ca1920be94623109949d60c5b3c" - license "MIT" - head "https://github.com/mainak55512/qwe.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e4ef8e39810cea7b9ed479f8e0cbdf44ba0d6c483873e72a08709d2b7f1d3dae" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e4ef8e39810cea7b9ed479f8e0cbdf44ba0d6c483873e72a08709d2b7f1d3dae" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e4ef8e39810cea7b9ed479f8e0cbdf44ba0d6c483873e72a08709d2b7f1d3dae" - sha256 cellar: :any_skip_relocation, arm64_linux: "4055028b1da1bfa3d0b494f16a111d7174385e8a9a22736efef3944da00473a7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "740f64f1e1de7b8b13755283b9734416c3e26f57ba6b52835140a73efc27de03" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args, "." - end - - test do - system bin/"qwe", "init" - assert_path_exists testpath/".qwe" - assert_path_exists testpath/".qwe/_tracker.qwe" - assert_path_exists testpath/".qwe/_group_tracker.qwe" - end -end diff --git a/Formula/r/railway-mcp-server.rb b/Formula/r/railway-mcp-server.rb index 56cbed808e..7db4f3d943 100644 --- a/Formula/r/railway-mcp-server.rb +++ b/Formula/r/railway-mcp-server.rb @@ -1,15 +1,16 @@ class RailwayMcpServer < Formula desc "MCP server for Railway" homepage "https://github.com/railwayapp/railway-mcp-server" - url "https://registry.npmjs.org/@railway/mcp-server/-/mcp-server-0.1.8.tgz" - sha256 "e8d082bd431abd6b57e9d4ac13764d44fcd081ebdcd6b1a3b271e5d6935b74a8" + url "https://registry.npmjs.org/@railway/mcp-server/-/mcp-server-0.1.1.tgz" + sha256 "d640576a98f2938b83b3608fa5c4ec7fd72e35c136ee03769016202cf66c4870" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "43c051f4dfffee1fa65dd61ca47fac64e24f4f1534b23157833ef98ecc9f821a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a034c0a271d613f82040b4a21ce2b24025218c08b17573a7ed558fbcc4921385" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f5da0613357790ebe02b192567599707e0ca00befd55303fbaa6efc75f2c432b" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "12d8e063e8bb64617ae8be72c20252640ee323cf283e04b0788ae523d10e1a37" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "cdfd6e72d2733e449d4584dcb0b22ea037d9b59798372e4c75548d7e06891645" + sha256 cellar: :any_skip_relocation, ventura: "0da3f56e73bdcc43ed1055aa23d00ae7328eeccaa2f4249b3550877b02cb4532" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9b48a7beabb9335442b35a92535d821f3099ed3787be24b4dedd45ceca38b9c6" end depends_on "node" @@ -17,7 +18,7 @@ class RailwayMcpServer < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/r/raiz.rb b/Formula/r/raiz.rb index 2ddf21e84c..4e4bf47acf 100644 --- a/Formula/r/raiz.rb +++ b/Formula/r/raiz.rb @@ -9,28 +9,24 @@ class Raiz < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "07a1663c92c9d8d2ff00764d3c968066f952edf162b40bcfc763b2eb9964fd23" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1a93dec024aac8ded59eb5bb57f62a696306a0fa9985901963a35e5388fafe09" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cabbc8efeac185a05892a5c54e2dcee9e37de53f6ffdcb3964f8405097d8afbe" - sha256 cellar: :any_skip_relocation, arm64_linux: "4b42f584688828dd0d4d26a6edf95029e81550c37195adee1faa51c410351e40" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9c5b7dd23edd3fe7113f4662d6d85f15ec7fb9c432d91407d50b830d3a3f2103" + sha256 cellar: :any, arm64_sequoia: "ef1937a7351238f4348dcb1761345a83ef2ea5a3a1f251e431b2df49f0a4e580" + sha256 cellar: :any, arm64_sonoma: "ae6d081fa6ce743387f8c442517106a8275c2762b8ebafba90dc483bb8887489" + sha256 cellar: :any, ventura: "01bc65f7ea134092acdcb58ada882f672fa773ee348aa7e8f5de1a575a0b6316" + sha256 cellar: :any_skip_relocation, x86_64_linux: "28a3221417d12a880b2646c45651f0fd458c79d1c70c03c60c2338817d8bd461" end + depends_on "rust" => :build # for rpds-py depends_on "libyaml" - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage - - pypi_packages exclude_packages: "rpds-py" + depends_on "python@3.13" resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "jsonpath-ng" do @@ -39,13 +35,13 @@ class Raiz < Formula end resource "jsonschema" do - url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" - sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" + url "https://files.pythonhosted.org/packages/d5/00/a297a868e9d0784450faa7365c2172a7d6110c763e30ba861867c32ae6a9/jsonschema-4.25.0.tar.gz" + sha256 "e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f" end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end resource "markdown-it-py" do @@ -69,18 +65,18 @@ class Raiz < Formula end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" end resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" + url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" + sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" end resource "robotframework" do @@ -93,19 +89,24 @@ class Raiz < Formula sha256 "000ac2e53c7f96e3b749c6b5595fcec87d5291b4afc03fb252470356a7d5da1f" end + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/1e/d9/991a0dee12d9fc53ed027e26a26a64b151d77252ac477e22666b9688bc16/rpds_py-0.27.0.tar.gz" + sha256 "8b23cf252f180cda89220b378d917180f29d313cd6a07b2431c0d3b776aae86f" + end + resource "shellingham" do url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" end resource "typer" do - url "https://files.pythonhosted.org/packages/8f/28/7c85c8032b91dbe79725b6f17d2fffc595dff06a35c7a30a37bef73a1ab4/typer-0.20.0.tar.gz" - sha256 "1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37" + url "https://files.pythonhosted.org/packages/c5/8c/7d682431efca5fd290017663ea4588bf6f2c6aad085c7f108c5dbc316e70/typer-0.16.0.tar.gz" + sha256 "af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b" end resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + url "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz" + sha256 "38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36" end def install diff --git a/Formula/r/rallies-cli.rb b/Formula/r/rallies-cli.rb index 7f9fd2f1bb..80a17b4652 100644 --- a/Formula/r/rallies-cli.rb +++ b/Formula/r/rallies-cli.rb @@ -9,36 +9,35 @@ class RalliesCli < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any, arm64_tahoe: "1584a9c05df328a8dd2ca3f66bd7e096fcd38d6c6989a6cc8ac5e382ab5bd23b" - sha256 cellar: :any, arm64_sequoia: "16ad8be3dbf6df6da7a5dc3dcb1b8bed9f5dc37ba14778e9845cd2b4db4fb1c3" - sha256 cellar: :any, arm64_sonoma: "2bc0e3210261204f8a7f73955fbca1ee2065f4c832b1498be2179161d0be5a09" - sha256 cellar: :any_skip_relocation, arm64_linux: "277209e9015329ef4bc9bcbaa38b8bfe1bacb170a262709b10966291dd3a40b7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "cca0c5b5a3c301994e2bf13f0626e11f19027a7ab7109673fbe04d038b0672e3" + sha256 cellar: :any, arm64_sequoia: "7568f67bce81507a06238794a30d9e7c7004eebae5d0e1996805f4417fe42f09" + sha256 cellar: :any, arm64_sonoma: "190700fddfa19a0c77ee8b4cd7f0960d287ef007e25120fba03e42cd0f19a8f6" + sha256 cellar: :any, ventura: "15151ba15a6b4965fb540e9bda6d77dcda4b4f7c89f3a8abc1b476e6419bda53" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ca6d65abaa4afe7743c14b0e4c14af740f196d62a502b47445d82c2ad7593202" end depends_on "rust" => :build # for pydantic-core - depends_on "certifi" => :no_linkage - depends_on "numpy" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" + depends_on "certifi" + depends_on "numpy" + depends_on "python@3.13" - pypi_packages package_name: "rallies", - exclude_packages: %w[certifi numpy pydantic] + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz" + sha256 "673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028" end resource "blessed" do - url "https://files.pythonhosted.org/packages/33/cd/eed8b82f1fabcb817d84b24d0780b86600b5c3df7ec4f890bcbb2371b0ad/blessed-1.25.0.tar.gz" - sha256 "606aebfea69f85915c7ca6a96eb028e0031d30feccc5688e13fd5cec8277b28d" + url "https://files.pythonhosted.org/packages/0c/5e/3cada2f7514ee2a76bb8168c71f9b65d056840ebb711962e1ec08eeaa7b0/blessed-1.21.0.tar.gz" + sha256 "ece8bbc4758ab9176452f4e3a719d70088eb5739798cd5582c9e05f2a28337ec" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz" + sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" end resource "distro" do @@ -67,8 +66,8 @@ class RalliesCli < Formula end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "inquirer" do @@ -77,13 +76,13 @@ class RalliesCli < Formula end resource "jiter" do - url "https://files.pythonhosted.org/packages/45/9d/e0660989c1370e25848bb4c52d061c71837239738ad937e83edca174c273/jiter-0.12.0.tar.gz" - sha256 "64dfcd7d5c168b38d3f9f8bba7fc639edb3418abcc74f22fdbe6b8938293f30b" + url "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz" + sha256 "07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500" end resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" + url "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz" + sha256 "e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb" end resource "mdurl" do @@ -92,8 +91,18 @@ class RalliesCli < Formula end resource "openai" do - url "https://files.pythonhosted.org/packages/d5/e4/42591e356f1d53c568418dc7e30dcda7be31dd5a4d570bca22acb0525862/openai-2.8.1.tar.gz" - sha256 "cb1b79eef6e809f6da326a7ef6038719e35aa944c42d081807bfa1be8060f15f" + url "https://files.pythonhosted.org/packages/d8/9d/52eadb15c92802711d6b6cf00df3a6d0d18b588f4c5ba5ff210c6419fc03/openai-1.98.0.tar.gz" + sha256 "3ee0fcc50ae95267fd22bd1ad095ba5402098f3df2162592e68109999f685427" + end + + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end resource "pygments" do @@ -107,18 +116,18 @@ class RalliesCli < Formula end resource "regex" do - url "https://files.pythonhosted.org/packages/cc/a9/546676f25e573a4cf00fe8e119b78a37b6a8fe2dc95cda877b30889c9c45/regex-2025.11.3.tar.gz" - sha256 "1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01" + url "https://files.pythonhosted.org/packages/0b/de/e13fa6dc61d78b30ba47481f99933a3b49a57779d625c392d8036770a60d/regex-2025.7.34.tar.gz" + sha256 "9ead9765217afd04a86822dfcd4ed2747dfe426e887da413b15ff0ac2457e21a" end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz" + sha256 "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422" end resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" + url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" + sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" end resource "runs" do @@ -132,8 +141,8 @@ class RalliesCli < Formula end resource "tiktoken" do - url "https://files.pythonhosted.org/packages/7d/ab/4d017d0f76ec3171d469d80fc03dfbb4e48a4bcaddaa831b31d526f05edc/tiktoken-0.12.0.tar.gz" - sha256 "b18ba7ee2b093863978fcb14f74b3707cdc8d4d4d3836853ce7ec60772139931" + url "https://files.pythonhosted.org/packages/ea/cf/756fedf6981e82897f2d570dd25fa597eb3f4459068ae0572d7e888cfd6f/tiktoken-0.9.0.tar.gz" + sha256 "d02a5ca6a938e0490e1ff957bc48c8b078c88cb83977be1625b1fd8aac792c5d" end resource "tqdm" do @@ -141,14 +150,24 @@ class RalliesCli < Formula sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" end + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz" + sha256 "38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + end + resource "urllib3" do url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "wcwidth" do - url "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz" - sha256 "4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605" + url "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz" + sha256 "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" end resource "xmod" do diff --git a/Formula/r/ralph-tui.rb b/Formula/r/ralph-tui.rb deleted file mode 100644 index 10bdc84258..0000000000 --- a/Formula/r/ralph-tui.rb +++ /dev/null @@ -1,63 +0,0 @@ -class RalphTui < Formula - desc "AI agent loop orchestrator" - homepage "https://ralph-tui.com" - url "https://github.com/subsy/ralph-tui/archive/refs/tags/v0.11.0.tar.gz" - sha256 "aa532de1fab2a8e7ebb0cf575e26fdf2a4ad5d3454459a7e7487f1912ec1dc5a" - license "MIT" - head "https://github.com/subsy/ralph-tui.git", branch: "main" - - depends_on "oven-sh/bun/bun" => :build - - def install - bun = Formula["oven-sh/bun/bun"].opt_bin/"bun" - platform = OS.mac? ? "darwin" : "linux" - arch = Hardware::CPU.arm? ? "arm64" : "x64" - libopentui = "libopentui.#{OS.mac? ? "dylib" : "so"}" - opentui_dir = buildpath/"node_modules/@opentui/core-#{platform}-#{arch}" - webgpu_dir = buildpath/"node_modules/bun-webgpu-#{platform}-#{arch}" - notifier_dir = buildpath/"node_modules/node-notifier/vendor/mac.noindex" - - system bun, "install", "--frozen-lockfile" - system bun, "run", "build" - - mv opentui_dir/libopentui, opentui_dir/"#{libopentui}.raw" - system "gzip", "-9", opentui_dir/"#{libopentui}.raw" - mv opentui_dir/"#{libopentui}.raw.gz", opentui_dir/"#{libopentui}.gz" - rm opentui_dir/"index.ts" - (opentui_dir/"index.ts").write <<~TS - import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs"; - import { dirname, join } from "node:path"; - import { fileURLToPath } from "node:url"; - import { gunzipSync } from "node:zlib"; - - const moduleDir = dirname(fileURLToPath(import.meta.url)); - const archivePath = join(moduleDir, "#{libopentui}.gz"); - const cacheRoot = process.env.XDG_CACHE_HOME || join(process.env.HOME || moduleDir, ".cache"); - const cacheDir = join(cacheRoot, "ralph-tui", "opentui"); - const dylibPath = join(cacheDir, "#{libopentui}"); - - if (!existsSync(dylibPath)) { - mkdirSync(cacheDir, { recursive: true }); - writeFileSync(dylibPath, gunzipSync(readFileSync(archivePath))); - } - - export default dylibPath; - TS - rm_r webgpu_dir if webgpu_dir.exist? - rm_r notifier_dir if notifier_dir.exist? - - libexec.install "dist", "node_modules", "package.json" - - rm bin/"ralph-tui" if (bin/"ralph-tui").exist? - (bin/"ralph-tui").write <<~SHELL - #!/bin/bash - exec "#{bun}" "#{libexec}/dist/cli.js" "$@" - SHELL - end - - test do - assert_match version.to_s, shell_output("#{bin}/ralph-tui --version") - output = shell_output("#{bin}/ralph-tui status --json --cwd #{testpath} 2>&1", 2) - assert_match "\"status\": \"no-session\"", output - end -end diff --git a/Formula/r/rawhide.rb b/Formula/r/rawhide.rb deleted file mode 100644 index e5fb284441..0000000000 --- a/Formula/r/rawhide.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Rawhide < Formula - desc "Find files using pretty C expressions" - homepage "https://raf.org/rawhide/" - url "https://github.com/raforg/rawhide/releases/download/v3.3/rawhide-3.3.tar.gz" - sha256 "a51a1360ce4763838b29a548a8e49dcf47a93a922bf1df05c8b7d50ecb9ab09d" - license "GPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ab9e07333a57f46f1fd34ad3b0fce4aa26526a85c72bcf09c6a80466974cd3f7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "bdbfab762c066b652d38aaca99730605f12bcd5a7f72213520772000f4b83776" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1aac640030b8adcd20450b85965579a2422034aaeb1a4abb4dd6f6c324b069d5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "38131efb65f82f8381a5d0a1a56fd837b18a78cce52a8d42275cf6dcd1efed34" - end - - on_linux do - depends_on "pcre2" - end - - def install - system "./configure", "--prefix=#{prefix}" - - inreplace "Makefile" do |s| - s.gsub!(/^PREFIX\s*=\s*.*$/, "PREFIX = #{prefix}") - s.gsub!(/^ETCDIR\s*=\s*.*$/, "ETCDIR = #{etc}") - end - - system "make" - system "make", "install-bin" - system "make", "install-man" - end - - test do - assert_match version.to_s, shell_output("#{bin}/rh --version") - end -end diff --git a/Formula/r/rbac-lookup.rb b/Formula/r/rbac-lookup.rb deleted file mode 100644 index 02a4ec69d2..0000000000 --- a/Formula/r/rbac-lookup.rb +++ /dev/null @@ -1,34 +0,0 @@ -class RbacLookup < Formula - desc "Find roles and cluster roles for Kubernetes users, groups, and service accounts" - homepage "https://github.com/FairwindsOps/rbac-lookup" - url "https://github.com/FairwindsOps/rbac-lookup/archive/refs/tags/v0.10.3.tar.gz" - sha256 "fdabf6a6c5b2e57662ffb583c4e549ce556ea8474679b49dd7f64a79b2043d12" - license "Apache-2.0" - head "https://github.com/FairwindsOps/rbac-lookup.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "be21a8b8b0a6745fbcf829a1d46797d8b073bd52759a406df764555c2e2153b9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "be21a8b8b0a6745fbcf829a1d46797d8b073bd52759a406df764555c2e2153b9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "be21a8b8b0a6745fbcf829a1d46797d8b073bd52759a406df764555c2e2153b9" - sha256 cellar: :any_skip_relocation, arm64_linux: "99e1856614c0f46287436e3717771f46a51d2680b2a2ddd77cbb298cfa61fe18" - sha256 cellar: :any_skip_relocation, x86_64_linux: "90da988885e2b68fe5e19c9f7d60941221be27a09f674be37f41f436f7ed28bc" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user}" - system "go", "build", *std_go_args(ldflags:) - - generate_completions_from_executable(bin/"rbac-lookup", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/rbac-lookup version") - - output = shell_output("#{bin}/rbac-lookup 2>&1", 1) - assert_match "try setting KUBERNETES_MASTER environment variable", output - end -end diff --git a/Formula/r/readmeai.rb b/Formula/r/readmeai.rb index 29a75e0a8d..5d786dc936 100644 --- a/Formula/r/readmeai.rb +++ b/Formula/r/readmeai.rb @@ -9,21 +9,15 @@ class Readmeai < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any, arm64_tahoe: "46eb9b82f9268e1cb008857727c41b706e38e7ec28587977e26dd97a26d20671" - sha256 cellar: :any, arm64_sequoia: "ab30b76d6c551425dc2b9f18cf11f64ce8e6a77ffbfae5a369b013c16947824c" - sha256 cellar: :any, arm64_sonoma: "de869993e3b3e3e79a9b8fb96256dffba038f17cba887b44b8c3035f703abb37" - sha256 cellar: :any_skip_relocation, arm64_linux: "5c1b7d896080b4097fbc556433ee32da195aea3dc99a1b6e4854013038ee312c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "993ed8682e43d66043e78eb66e59b0a5a5bec9c249675f66d58db4e1e3e127e1" + sha256 cellar: :any, arm64_sequoia: "f3d5182935297c8db3ee28d1c7961c4241df20dc38ddef00fe49d78df8cc210d" + sha256 cellar: :any, arm64_sonoma: "bb00437ca76e1f9dd2229cb5b7d28edbf2abc223c458fd04f449780b918d61a9" + sha256 cellar: :any, ventura: "0be54afa57632b8ae94fefa14191631a3f7bf05e0ce7b35a3cc58b27a5eac149" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f87386fe5fb0d187c05d43dfef3c4a7272f9dbdcd6ea09116b76dd7588a586c0" end - depends_on "rust" => :build # for jiter - depends_on "certifi" => :no_linkage + depends_on "rust" => :build # for pydantic-core depends_on "libyaml" - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: %w[certifi pydantic] + depends_on "python@3.13" resource "aiohappyeyeballs" do url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" @@ -31,33 +25,43 @@ class Readmeai < Formula end resource "aiohttp" do - url "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz" - sha256 "40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca" + url "https://files.pythonhosted.org/packages/42/6e/ab88e7cb2a4058bed2f7870276454f85a7c56cd6da79349eb314fc7bbcaa/aiohttp-3.12.13.tar.gz" + sha256 "47e2da578528264a12e4e3dd8dd72a7289e5f812758fe086473fab037a10fcce" end resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" + url "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz" + sha256 "a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54" + end + + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" end resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz" + sha256 "673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" + end + + resource "certifi" do + url "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz" + sha256 "d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz" + sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "distro" do @@ -66,8 +70,8 @@ class Readmeai < Formula end resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" + url "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz" + sha256 "2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f" end resource "gitdb" do @@ -76,8 +80,8 @@ class Readmeai < Formula end resource "gitpython" do - url "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz" - sha256 "85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c" + url "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz" + sha256 "c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269" end resource "h11" do @@ -96,58 +100,68 @@ class Readmeai < Formula end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jiter" do - url "https://files.pythonhosted.org/packages/45/9d/e0660989c1370e25848bb4c52d061c71837239738ad937e83edca174c273/jiter-0.12.0.tar.gz" - sha256 "64dfcd7d5c168b38d3f9f8bba7fc639edb3418abcc74f22fdbe6b8938293f30b" + url "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz" + sha256 "07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500" end resource "multidict" do - url "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" - sha256 "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5" + url "https://files.pythonhosted.org/packages/46/b5/59f27b4ce9951a4bce56b88ba5ff5159486797ab18863f2b4c1c5e8465bd/multidict-6.5.0.tar.gz" + sha256 "942bd8002492ba819426a8d7aefde3189c1b87099cdf18aaaefefcf7f3f7b6d2" end resource "openai" do - url "https://files.pythonhosted.org/packages/d5/e4/42591e356f1d53c568418dc7e30dcda7be31dd5a4d570bca22acb0525862/openai-2.8.1.tar.gz" - sha256 "cb1b79eef6e809f6da326a7ef6038719e35aa944c42d081807bfa1be8060f15f" + url "https://files.pythonhosted.org/packages/0f/e2/a22f2973b729eff3f1f429017bdf717930c5de0fbf9e14017bae330e4e7a/openai-1.91.0.tar.gz" + sha256 "d6b07730d2f7c6745d0991997c16f85cddfc90ddcde8d569c862c30716b9fc90" end resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" + url "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz" + sha256 "20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168" + end + + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" end resource "pydantic-extra-types" do - url "https://files.pythonhosted.org/packages/3a/10/fb64987804cde41bcc39d9cd757cd5f2bb5d97b389d81aa70238b14b8a7e/pydantic_extra_types-2.10.6.tar.gz" - sha256 "c63d70bf684366e6bbe1f4ee3957952ebe6973d41e7802aea0b770d06b116aeb" + url "https://files.pythonhosted.org/packages/7e/ba/4178111ec4116c54e1dc7ecd2a1ff8f54256cdbd250e576882911e8f710a/pydantic_extra_types-2.10.5.tar.gz" + sha256 "1dcfa2c0cf741a422f088e0dbb4690e7bfadaaf050da3d6f80d6c3cf58a2bad8" end resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/43/4b/ac7e0aae12027748076d72a8764ff1c9d82ca75a7a52622e67ed3f765c54/pydantic_settings-2.12.0.tar.gz" - sha256 "005538ef951e3c2a68e1c08b292b5f2e71490def8589d4221b95dab00dafcfd0" + url "https://files.pythonhosted.org/packages/c2/ef/3d61472b7801c896f9efd9bb8750977d9577098b05224c5c41820690155e/pydantic_settings-2.10.0.tar.gz" + sha256 "7a12e0767ba283954f3fd3fefdd0df3af21b28aa849c40c35811d52d682fa876" end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "regex" do - url "https://files.pythonhosted.org/packages/cc/a9/546676f25e573a4cf00fe8e119b78a37b6a8fe2dc95cda877b30889c9c45/regex-2025.11.3.tar.gz" - sha256 "1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01" + url "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz" + sha256 "7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519" end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz" + sha256 "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422" end resource "smmap" do @@ -180,14 +194,24 @@ class Readmeai < Formula sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" end + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz" + sha256 "8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + end + resource "urllib3" do url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "yarl" do - url "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" - sha256 "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" + url "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz" + sha256 "d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac" end # version patch diff --git a/Formula/r/recall.rb b/Formula/r/recall.rb deleted file mode 100644 index 59678cfaf4..0000000000 --- a/Formula/r/recall.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Recall < Formula - desc "Search and resume Claude Code and Codex CLI conversations" - homepage "https://github.com/zippoxer/recall" - url "https://github.com/zippoxer/recall/archive/refs/tags/v0.5.0.tar.gz" - sha256 "9defdf83adfe7ee4b3fec8c84d7b1c9037ae57abce8be14f5771142cfa61acbf" - license "MIT" - head "https://github.com/zippoxer/recall.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7bc397bfe969d8309f1dc82a2810d1f4c0ba358e2d15fce21a35dc80cc3a8571" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6691d039d019781397c801a3e1765a380b68bdb8ccaebf57b98a1d2048e89d37" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "411df93c61ec4bbe89fd4fe066173099fecec583481f6a056febb7c011fe9992" - sha256 cellar: :any_skip_relocation, arm64_linux: "f6f041fe783be84e265239b71371146d05470499879efe991e5c702662efe3a8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "77feaa36c751ade680d678851649b09dced402f4721fb33e10aa187ab5517979" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - session_dir = testpath/".codex/sessions/2026/01/01" - session_dir.mkpath - - (session_dir/"rollout-test.jsonl").write <<~JSONL - {"type":"session_meta","timestamp":"2026-01-01T00:00:00Z","payload":{"id":"test-codex-123","cwd":"/tmp/project","git":{"branch":"main"}}} - {"type":"response_item","timestamp":"2026-01-01T00:00:01Z","payload":{"role":"user","content":[{"type":"input_text","text":"find my homebrew tap migration notes"}]}} - JSONL - - ENV["RECALL_HOME_OVERRIDE"] = testpath.to_s - command = "#{bin}/recall search homebrew --source codex --limit 5" - output = shell_output(command) - parsed = JSON.parse(output) - - assert_equal "homebrew", parsed["query"] - assert_equal "test-codex-123", parsed["results"].first["session_id"] - assert_equal "codex", parsed["results"].first["source"] - end -end diff --git a/Formula/r/reformat-gherkin.rb b/Formula/r/reformat-gherkin.rb index ec184d6b56..bba1c5ca1e 100644 --- a/Formula/r/reformat-gherkin.rb +++ b/Formula/r/reformat-gherkin.rb @@ -9,20 +9,19 @@ class ReformatGherkin < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b86a19115c0beb48514c929cca12b699e1dd7088202c41903716bef074ef7ce0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f99a305373ddce511f93c4b27dbf70bd9db5d094789efc2c33cd8ec22d7a57e7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3b179416b1392f5952c0ab4d0ed6d68438fc6e8d9ffa9f5de0553a1ae3f0083c" - sha256 cellar: :any_skip_relocation, arm64_linux: "bb570c3c0d42ccb6f4ac2fff1331441b294446d5d95913f58c714ce37bfb67c8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8e6fc7ca952190d890a6b4fdb12d94ad7e0ca350288226bbc2a56e4a583e895c" + rebuild 1 + sha256 cellar: :any, arm64_sequoia: "26b1847b70e24413fb8dba0e424551c60aa94299ae781cb5f3b2953611393cd4" + sha256 cellar: :any, arm64_sonoma: "b60f966d6a213e479710c22d837f93a89e56e1b3adf3151fd66fa26b9d6a7b18" + sha256 cellar: :any, ventura: "db3dcb64b53ee45c1f8e85d2296f9366675d05c9827a965f45c4f29ab84cf2c2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "6328c6f43909ce98af15cbcf5d278f7252bc8e56c1904c29c9ffa5801ef7e4ef" end depends_on "libyaml" - depends_on "python@3.14" + depends_on "python@3.13" resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz" + sha256 "1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e" end resource "cattrs" do @@ -31,8 +30,8 @@ class ReformatGherkin < Formula end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" end resource "gherkin-official" do @@ -41,13 +40,13 @@ class ReformatGherkin < Formula end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "wcwidth" do - url "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz" - sha256 "4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605" + url "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz" + sha256 "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" end def install diff --git a/Formula/r/refurb.rb b/Formula/r/refurb.rb index d8cf7943fd..5a704a96e6 100644 --- a/Formula/r/refurb.rb +++ b/Formula/r/refurb.rb @@ -3,30 +3,23 @@ class Refurb < Formula desc "Tool for refurbishing and modernizing Python codebases" homepage "https://github.com/dosisod/refurb" - url "https://files.pythonhosted.org/packages/48/90/572837d7ec45cb9385b85b751bd5f317294a938e1600b2b7190618a2929b/refurb-2.3.1.tar.gz" - sha256 "8605ef2cf40804403340396b9cf51b13bd5d0f5f6a84f8b4447484b7ba94bc79" + url "https://files.pythonhosted.org/packages/1d/fe/34715ea7799daedfd8ef20fd8fbba23aa2aaa2039a94b41e63ee203e202d/refurb-2.1.0.tar.gz" + sha256 "4fb41a3a6523a035c2379792776d4c28ddb291c7fcb8348725cc01749a98e32c" license "GPL-3.0-only" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8a06cdc0e330b94da5acbeef2cf9633359bd1a480118fb67adf61c5a08c0f29f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2ff62e7912dd8ffe00218032c7391f2c41d069b84aca6574c1946593267a4f47" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "26846944de616848e43b9ab61bbb5d3c61ee8224f4671b3aea5aa9eec0512e37" - sha256 cellar: :any_skip_relocation, sequoia: "25af157699af8e142617e8d46a7b730d08d99e0c37aa01edd016e16aef68acb4" - sha256 cellar: :any_skip_relocation, arm64_linux: "f39c20783dc41f6a3bceee65de1ca7e310b290aee33aa8469d2c19af1b454200" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6de502cdd823daee1144fe8950f525873476f279d8544ca023371220527c2e02" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "957642dd6f18829f3d27a4a9a5e23e040280504f45c3fb2fe1f1f3c266287b3b" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "39cc144b7163e86edc9e7d98b4a08ae9745e647dab83e4b89669abfdc682d69c" + sha256 cellar: :any_skip_relocation, ventura: "12199863f2a2ed9bdad6c65b15aa4b317b727196dbcdb6cec05c115c7d542930" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f34828098bb93b3a2c55b3b7c098569f6f256906e930ac834c0b10d86d2ea4f5" end - depends_on "python@3.14" - - resource "librt" do - url "https://files.pythonhosted.org/packages/56/9c/b4b0c54d84da4a94b37bd44151e46d5e583c9534c7e02250b961b1b6d8a8/librt-0.8.1.tar.gz" - sha256 "be46a14693955b3bd96014ccbdb8339ee8c9346fbe11c1b78901b55125f14c73" - end + depends_on "python@3.13" resource "mypy" do - url "https://files.pythonhosted.org/packages/f8/5c/b0089fe7fef0a994ae5ee07029ced0526082c6cfaaa4c10d40a10e33b097/mypy-1.20.0.tar.gz" - sha256 "eb96c84efcc33f0b5e0e04beacf00129dd963b67226b01c00b9dfc8affb464c3" + url "https://files.pythonhosted.org/packages/ce/43/d5e49a86afa64bd3839ea0d5b9c7103487007d728e1293f52525d6d5486a/mypy-1.15.0.tar.gz" + sha256 "404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43" end resource "mypy-extensions" do @@ -34,14 +27,9 @@ class Refurb < Formula sha256 "52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558" end - resource "pathspec" do - url "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz" - sha256 "0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645" - end - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + url "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz" + sha256 "e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef" end def install diff --git a/Formula/r/relay.rb b/Formula/r/relay.rb deleted file mode 100644 index 2d27f0cfad..0000000000 --- a/Formula/r/relay.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Relay < Formula - desc "Simple tunneling with random 3-word subdomains; a self-hosted ngrok alternative" - homepage "https://github.com/talyuk/relay" - url "https://registry.npmjs.org/@talyuk/relay/-/relay-1.0.4.tgz" - sha256 "ca49e43fe8f334a037448ab8bdcc7bb0351aee7fceebc9eac8fde6807be2049b" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "4f6e5c5a5d31928598490d37c12a32039ded3a4e34e0c7d6adddb304198526ed" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/relay --version") - - output_log = testpath/"output.log" - pid = spawn bin/"relay", "3000", "--server", "tunnel.example.com", - "--secret", "your-secret", [:out, :err] => output_log.to_s - sleep 1 - assert_match "WebSocket error: getaddrinfo ENOTFOUND tunnel.example.com", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/r/rendy.rb b/Formula/r/rendy.rb deleted file mode 100644 index e582592272..0000000000 --- a/Formula/r/rendy.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Rendy < Formula - desc "Terminal-based ASCII renderer for 3D models" - homepage "https://github.com/tokyohardrock/rendy" - url "https://github.com/tokyohardrock/rendy/archive/fad82c6f7934ab07b663285e77c6499f445232a8.tar.gz" - version "0.0.0" - sha256 "dbc0af17151f183f8f4b4bb446301ec1cbd9b45d653b760c29e4fd1d5cbfd221" - license "MIT" - head "https://github.com/tokyohardrock/rendy.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6e40d00ecc7a8c545da9bbf53641560aeb9482f746fdcbcd21e82be00880a8f1" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6e40d00ecc7a8c545da9bbf53641560aeb9482f746fdcbcd21e82be00880a8f1" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6e40d00ecc7a8c545da9bbf53641560aeb9482f746fdcbcd21e82be00880a8f1" - sha256 cellar: :any_skip_relocation, arm64_linux: "d4fc8807b5c4d31f9cd860ea3ce184c11ad6bca81dfdabb490716cfbbd9a8deb" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4e79a1c93eb783fb510af844d64ec929b04c44f9eeb17d237b7c8ad8d7555356" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args - end - - test do - output = shell_output("#{bin}/rendy 2>&1", 1) - assert_match "open models/gun.obj", output - end -end diff --git a/Formula/r/renux.rb b/Formula/r/renux.rb deleted file mode 100644 index 5f16368feb..0000000000 --- a/Formula/r/renux.rb +++ /dev/null @@ -1,89 +0,0 @@ -class Renux < Formula - include Language::Python::Virtualenv - - desc "Terminal-based bulk file renamer with a TUI" - homepage "https://github.com/andrianllmm/renux" - url "https://files.pythonhosted.org/packages/72/a3/a6810b1ef414c009d863005cbdec1047b95ba951f7686585e3659f141850/renux-0.1.2.tar.gz" - sha256 "568e8e9501a28b5e53b34162dfc57d41a6eea357994252cd9ac932be2d993b2c" - license "MIT" - head "https://github.com/andrianllmm/renux.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "241baa4ed5222e206abbc64e4a930469340b4ff7aa5301c127e8ced4c39b7094" - end - - depends_on "python@3.14" - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "python-slugify" do - url "https://files.pythonhosted.org/packages/87/c7/5e1547c44e31da50a460df93af11a535ace568ef89d7a811069ead340c4a/python-slugify-8.0.4.tar.gz" - sha256 "59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "text-unidecode" do - url "https://files.pythonhosted.org/packages/ab/e2/e9a00f0ccb71718418230718b3d900e71a5d16e701a3dae079a21e9cd8f8/text-unidecode-1.3.tar.gz" - sha256 "bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/af/83/c99c252c3fad2f7010ceb476a31af042eec71da441ffeef75bb590bc2e9e/textual-3.7.1.tar.gz" - sha256 "a76ba0c8a6c194ef24fd5c3681ebfddca55e7127c064a014128c84fbd7f5d271" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - def install - # hatch does not support a SOURCE_DATE_EPOCH before 1980. - # Remove after https://github.com/pypa/hatch/pull/1999 is released. - ENV["SOURCE_DATE_EPOCH"] = "1451574000" - - virtualenv_install_with_resources - end - - test do - assert_match "Directory `invalid_dir` does not exist.", shell_output("#{bin}/renux invalid_dir Test Sample") - end -end diff --git a/Formula/r/repeater.rb b/Formula/r/repeater.rb deleted file mode 100644 index 53077a563f..0000000000 --- a/Formula/r/repeater.rb +++ /dev/null @@ -1,48 +0,0 @@ -class Repeater < Formula - desc "Spaced repetition for the terminal" - homepage "https://github.com/shaankhosla/repeater" - url "https://github.com/shaankhosla/repeater/archive/refs/tags/v0.1.7.tar.gz" - sha256 "fd66bcb2c74c596b133b80b5a136adb6c1ffd241543766cfdbf404f75e110c23" - license "Apache-2.0" - head "https://github.com/shaankhosla/repeater.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "30ef0aa4c672a7a3e02f995c1fb6b82de27b404a9244eaf4049c1a565fd51c29" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2e5be71f526fc7ee653451dba6021b59e3e93e7452a921b8f6381976fbfeaf05" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "025e5d9a4007f61ab589c4e62e1bd410ff439d8e1415d19ed599ab3b381a744f" - sha256 cellar: :any_skip_relocation, arm64_linux: "47a20627f756b23a53cac9ab2393eb98eb1db7dfb6fcedffed4db52ec6d93aba" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4548e5a05481f15540a66f68574b7bc3a903502edd70edf96f7d933105d138ea" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - (testpath/"cards.md").write <<~MARKDOWN - Q: What does a synaptic vesicle store? - A: Neurotransmitters awaiting release. - - --- - - C: Speech is [produced] in [Broca's] area. - MARKDOWN - - assert_match version.to_s, shell_output("#{bin}/repeater --version") - - output = shell_output("#{bin}/repeater check --plain #{testpath/"cards.md"}") - assert_match "Collection Summary", output - assert_match "Cards found:", output - assert_match "2 cards", output - - data_dir = if OS.mac? - testpath/"Library/Application Support/repeater" - else - testpath/".local/share/repeater" - end - assert_path_exists data_dir/"cards.db" - end -end diff --git a/Formula/r/repology.rb b/Formula/r/repology.rb deleted file mode 100644 index b51231157d..0000000000 --- a/Formula/r/repology.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Repology < Formula - desc "Command-line interface for Repology.org" - homepage "https://github.com/ibara/repology" - url "https://github.com/ibara/repology/releases/download/v1.9.0/repology-1.9.0.tar.gz" - sha256 "ed07a54b380522e2c28d70a92ae41dc2a0402bcf46d92a2adf4c19ebb9773f5e" - license "ISC" - head "https://github.com/ibara/repology.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0fd47ba1124fa91872d5490f078d8ab79a396a99e30ccdd58e4c57160ee7ac57" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "80f86287084b9b8ebcdee3293ab69da653706fe571b7ddb34801d5056b8810cf" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e6e668bb54e070597e77492c322ce3f1b7c90c38b65111cfed33207107427c58" - sha256 cellar: :any_skip_relocation, arm64_linux: "0ce2e2827d3dd333c98a27474ac44d832787bfffef1d86c7c17ee1801ed0e69d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3cf7cabe083cd20aae08720dcbd67c4dd9d23fb886a1752cb8921a54a3cf964f" - end - - depends_on "ldc" => :build - - def install - system "./configure", "--prefix=#{prefix}", "--mandir=#{man}" - system "make" - - bin.install "repology" - man1.install "repology.1" - end - - test do - assert_match version.to_s, shell_output("#{bin}/repology --version", 1) - end -end diff --git a/Formula/r/repos.rb b/Formula/r/repos.rb deleted file mode 100644 index 573c35575c..0000000000 --- a/Formula/r/repos.rb +++ /dev/null @@ -1,48 +0,0 @@ -class Repos < Formula - desc "Manage multiple Git repositories with an interactive terminal UI" - homepage "https://github.com/epilande/repos" - url "https://github.com/epilande/repos/archive/refs/tags/v1.0.2.tar.gz" - sha256 "83084c251e9ad14547e3bd3ee8d1975b9887ef31e85383657d97460aaa2b3027" - license "MIT" - head "https://github.com/epilande/repos.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "3f23bfdbc5cb79a2ce8e837182a1febc77a2f513083191ee63800c06633d83af" - sha256 arm64_sequoia: "bf45a4f87909fdda2e28fd2aa1787afa1c93ceaef5e932e37671030298170899" - sha256 arm64_sonoma: "2711869e1289c0051b1416016bad3a7e1547fef3020f326dec2668f62aa1e5a6" - sha256 cellar: :any_skip_relocation, arm64_linux: "cadb16457a80c8f3b575facc0438728b161ebcbf3a517ca3830ac7242eb81dc0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bc21802ae2af630b76f9885f6d2daf27ee82fa4cf7edd60e9ff8c4e38841d0ad" - end - - depends_on "chenrui333/tap/bun" => :build - depends_on "gh" - - def install - system "bun", "install", "--frozen-lockfile" - system "bun", "run", "build" - - bin.install "repos" - end - - test do - version_output = shell_output("#{bin}/repos --version").strip - assert_equal version.to_s, version_output - - repo_root = testpath/"workspace" - repo = repo_root/"demo" - repo.mkpath - system "git", "-C", repo, "init" - - output = if OS.mac? - shell_output("cd #{repo_root} && script -q /dev/null #{bin}/repos status --summary") - else - shell_output("cd #{repo_root} && script -qec '#{bin}/repos status --summary' /dev/null") - end - - cleaned = output.gsub(%r{\e\[[0-9;?]*[ -/]*[@-~]}, "").delete("\r").delete("\b") - assert_match "Repository Status Summary", cleaned - assert_match "Total: 1 repositories", cleaned - assert_match "Clean: 1", cleaned - end -end diff --git a/Formula/r/resto.rb b/Formula/r/resto.rb deleted file mode 100644 index e40407ad76..0000000000 --- a/Formula/r/resto.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Resto < Formula - desc "Send pretty HTTP & API requests with TUI" - homepage "https://github.com/abdfnx/resto" - url "https://github.com/abdfnx/resto/archive/refs/tags/v0.1.6.tar.gz" - sha256 "6d5a1f773b8f21926af786123f436753c80bbea2e2970a96775c4996fd63760a" - license "MIT" - head "https://github.com/abdfnx/resto.git", branch: "dev" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d94930dfd67384b2ff28a124e950edfc3a19f2bf25fb2ab053df2f1a3c8f35d8" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d94930dfd67384b2ff28a124e950edfc3a19f2bf25fb2ab053df2f1a3c8f35d8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d94930dfd67384b2ff28a124e950edfc3a19f2bf25fb2ab053df2f1a3c8f35d8" - sha256 cellar: :any_skip_relocation, arm64_linux: "ae1fb92c20100044a6e199bdb590ef607f41fb4fb2f15dfdca91677e66688bae" - sha256 cellar: :any_skip_relocation, x86_64_linux: "037029a2f037a524cd6caeba1e88a15f4a575bb6a1ffbe57697467d4c3fa0e12" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=v#{version} -X main.versionDate=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:) - - generate_completions_from_executable(bin/"resto", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/resto version") - output = shell_output("#{bin}/resto settings") - assert_match "Update Resto settings like enable mouse or change editor theme", output - end -end diff --git a/Formula/r/revanced-cli.rb b/Formula/r/revanced-cli.rb index 6c9f2ef5c4..67a5b9bbf2 100644 --- a/Formula/r/revanced-cli.rb +++ b/Formula/r/revanced-cli.rb @@ -1,13 +1,16 @@ class RevancedCli < Formula desc "CLI for Revanced" homepage "https://revanced.app/" - url "https://github.com/ReVanced/revanced-cli/releases/download/v6.0.0/revanced-cli-6.0.0-all.jar" - sha256 "c25549bc17d59d2eb94fa5f86e60e9b77a02772ca88f7050f8f1276f923a9958" + url "https://github.com/ReVanced/revanced-cli/releases/download/v5.0.1/revanced-cli-5.0.1-all.jar" + sha256 "b6af8349600f56ea51d96d49aa4d2f288e28c79cd649349ba70c8b72ce045daf" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "10be9e8fdb56ef526c2f66ed4d3f20e6dcf7a1caf8aa26037a01c7e4a1159a3f" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "5b9ac4805e3d33efc5b31612ec5334dd4f0707480d71d9db3ea3695d1912ce55" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "0f7a67ec3dd3ca7ff4b65eb519619162a28917768671365f03c264e9fd7ba9f6" + sha256 cellar: :any_skip_relocation, ventura: "da6f819f45b115e1cdc5f4124c546aa1d2e15629ec021fad3ed556e952aa2f2b" + sha256 cellar: :any_skip_relocation, x86_64_linux: "0b6bc3e3453b44c0a055c76f7e6095fe92baa3cf2277d3f7f47a2df6277818ae" end depends_on "openjdk" @@ -21,13 +24,12 @@ def install assert_match version.to_s, shell_output("#{bin}/revanced-cli --version") resource "patches_rvp" do - url "https://github.com/ReVanced/revanced-patches/releases/download/v6.1.0/patches-6.1.0.rvp" - sha256 "5ef9f18359a04c3bebd731cf6185b7171719aa64dbdfcd91e1d141371706ce92" + url "https://github.com/ReVanced/revanced-patches/releases/download/v5.13.0-dev.11/patches-5.13.0-dev.11.rvp" + sha256 "e162eacc07587336848fdfee949ba5941d0e939448d83a40b467ce826b54cea7" end testpath.install resource("patches_rvp") - output = shell_output("#{bin}/revanced-cli list-patches -b -p patches-6.1.0.rvp") - assert_match "Index: 0", output - assert_match "Name: Export all activities", output + output = shell_output("#{bin}/revanced-cli list-patches patches-5.13.0-dev.11.rvp") + assert_match "Index: 203\nName: Unlock premium\nDescription: null\nEnabled: true", output end end diff --git a/Formula/r/rfc_reader.rb b/Formula/r/rfc_reader.rb deleted file mode 100644 index b954876f21..0000000000 --- a/Formula/r/rfc_reader.rb +++ /dev/null @@ -1,33 +0,0 @@ -class RfcReader < Formula - desc "RFC viewer with TUI" - homepage "https://github.com/ozan2003/rfc_reader" - url "https://github.com/ozan2003/rfc_reader/archive/refs/tags/v0.11.2.tar.gz" - sha256 "e58ccf29dc272bcc199c7a9d9418cc6c8aaea78cc7e8680581a5653d17e38350" - license "MIT" - head "https://github.com/ozan2003/rfc_reader.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8d9d861f1b238816578cf18b601497f644b319f941886cc5b986b45a9bbbfd89" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6b7a4563f337cc1e37425548f3196954d99c6d637c7df7b2838457dbeecaecc5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7dce7ff303b7fe44205c380b8af6b7265a321e05fbc5c937db469b47ae961804" - sha256 cellar: :any_skip_relocation, arm64_linux: "a4c58669d2e98377f370ee2932f3310eaf81f94f33ec3d7d535073681f9efd94" - sha256 cellar: :any_skip_relocation, x86_64_linux: "418d48ea5f8ac1756a38671c85f96ce54e691f5a675d8515cffd6d70b782d363" - end - - depends_on "rust" => :build - - on_linux do - depends_on "pkg-config" => :build - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/rfc_reader --version") - assert_match "Cache cleared", shell_output("#{bin}/rfc_reader --clear-cache") - end -end diff --git a/Formula/r/rgx.rb b/Formula/r/rgx.rb deleted file mode 100644 index 4c3f6609d4..0000000000 --- a/Formula/r/rgx.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Rgx < Formula - desc "Terminal regex tester with real-time matching and multi-engine support" - homepage "https://github.com/brevity1swos/rgx" - url "https://github.com/brevity1swos/rgx/archive/refs/tags/v0.12.1.tar.gz" - sha256 "0598513279859e2832272d5a3c7f5961a334c59dacf649a9d180a3fb79c53b71" - license any_of: ["MIT", "Apache-2.0"] - head "https://github.com/brevity1swos/rgx.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c95b9a8b04b6cfa3b9136b64370eb120e2f92eb7084c9290e7de34ab445198a0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f8e99d3f57e970b6fa232ea8d4e04dd06e31b08734a01a8aede0db18c269c406" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c6d79bbfd35f9da2a77b601445fbb979097c58b447a6ad39bac5586830863766" - sha256 cellar: :any_skip_relocation, arm64_linux: "0a22a8fcc52212ab5e9ec3693fb989b00124a64255694f650051e56d414ec893" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d7bec50cd6be9f55bfc9cb9144caaec2bfc94c9d41115690768e0c62171e98ce" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: ".") - generate_completions_from_executable(bin/"rgx", "--completions") - end - - test do - assert_equal "42\n99\n", shell_output("#{bin}/rgx -p -t 'hello 42 world 99' '\\d+'") - assert_equal "3\n", shell_output("#{bin}/rgx -p -c -t 'a1 b2 c3' '\\d+'") - end -end diff --git a/Formula/r/rip.rb b/Formula/r/rip.rb deleted file mode 100644 index ec47adddd8..0000000000 --- a/Formula/r/rip.rb +++ /dev/null @@ -1,41 +0,0 @@ -class Rip < Formula - desc "Fuzzy find and kill processes from the terminal" - homepage "https://github.com/cesarferreira/rip" - url "https://github.com/cesarferreira/rip/archive/refs/tags/v0.7.0.tar.gz" - sha256 "c0e57126bb07a11352bccf30e067b35cb9a3928d458789f77157ca2ae038603b" - license "MIT" - head "https://github.com/cesarferreira/rip.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b31e43c8193ccaae28cefc97ca3ac9423cdd3c8e69fc67ef8406e85d258b56d9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "293d60a32277332ad8ca2d5e12af5f37c4b5e45d516c1773db6bebc6d1378631" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7c86e8359e8eeee8570fc8dc58d6a30e67b74703397f57a14c3294f90a584bb3" - sha256 cellar: :any_skip_relocation, arm64_linux: "0511103d2f3f40799115d0c3cb3bb022b24d806384f8654d9f57abe028d446a6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d0b5c3c8084087a33acbec4a85927730c46253b5a2f3b71a29fc5bfe085e4b34" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/rip --version") - - port = free_port - ruby = RbConfig.ruby - pid = spawn( - ruby, "-e", - "require 'socket'; server = TCPServer.new('127.0.0.1', #{port}); sleep 60" - ) - sleep 2 - - output = shell_output("#{bin}/rip --port #{port} --confirm-nuke") - assert_match "Killed", output - - Process.wait(pid) - assert_predicate $CHILD_STATUS, :signaled? - end -end diff --git a/Formula/r/rkik.rb b/Formula/r/rkik.rb index 9ce9a0410a..dfd533f2e7 100644 --- a/Formula/r/rkik.rb +++ b/Formula/r/rkik.rb @@ -1,18 +1,17 @@ class Rkik < Formula desc "Rusty Klock Inspection Kit - Simple NTP Client" homepage "https://github.com/aguacero7/rkik" - url "https://github.com/aguacero7/rkik/archive/refs/tags/v2.1.0.tar.gz" - sha256 "02233cb51bf1c50a96bd665dc6611ce0fe9c86700c91a9a2e15b4c3a556f2758" + url "https://github.com/aguacero7/rkik/archive/refs/tags/v1.0.0.tar.gz" + sha256 "21cb29f504bc9c6e671b35535c0fe97de0dec99fc80a04ea664b1ef694d79c86" license "MIT" head "https://github.com/aguacero7/rkik.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "faee62a164d04e3539462869404a0308886fa055be22ce956c737abb4a406a8a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5dd71c876423ed853c9a01eb63854089bbbe501b15d67a1be5c551f8f8cfe688" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "66604b5c62995721b6eb841011d87ba373b8c58ee3fcdb7f5e2a77b552e946fc" - sha256 cellar: :any_skip_relocation, arm64_linux: "c747f5752c0815baf6e9c2ea799b854ec5af81b15df3ad9a738a3effd7d97087" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1dd2df9ce4560ee5b54101d6118f590ea1bca7ac3b40b36021865f27d386f196" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "deca30ecd3ad78a2dbb1fef05bc5478c2b520c4b591586db6582fb033e685b14" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "814b23b08e3f0343191f24c518510fc90efd5a84ebd6cb0d40e8c0020c7f4ee2" + sha256 cellar: :any_skip_relocation, ventura: "5267a72af482cd91bbf9bb426e646b3d14a6405d42e446b929ed12f229d43346" + sha256 cellar: :any_skip_relocation, x86_64_linux: "57d51eb8f27d01941662cab1cc0bef7ed5de98e2afce9077f4ba32716d1c7d1d" end depends_on "rust" => :build diff --git a/Formula/r/rovr.rb b/Formula/r/rovr.rb deleted file mode 100644 index 10de0f698a..0000000000 --- a/Formula/r/rovr.rb +++ /dev/null @@ -1,191 +0,0 @@ -class Rovr < Formula - include Language::Python::Virtualenv - - desc "Post-modern terminal file explorer" - homepage "https://github.com/NSPC911/rovr" - url "https://github.com/NSPC911/rovr/archive/refs/tags/v0.8.1.tar.gz" - sha256 "a0b68aca5b99b68a79c38342355608abb90df015678179e18216cad3bf3dd5e1" - license "MIT" - head "https://github.com/NSPC911/rovr.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "d664d41b157aa4d8b6e2f74eb2d4db035b642f33f630bd3e1354c48533182977" - sha256 cellar: :any, arm64_sequoia: "0d0b6b01830c6f5dd24d35a7cf1f2b3f1807e400ac29dde030a6a9314c836315" - sha256 cellar: :any, arm64_sonoma: "e328f6c7159ff68ec1aa384d94db29420834c85e02fdf51a1abdecd1cc583f62" - sha256 cellar: :any_skip_relocation, arm64_linux: "fa774b04244b52b7ffc57efc24eaabf7d8624e292f60d6590cd80983928fc9c5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e9d8e15cb40e4ea7cd9675323d522ed49b2ea232991155dae29aa92cf5011f88" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "jpeg-turbo" - depends_on "python@3.13" - - on_linux do - depends_on "zlib-ng-compat" - end - - resource "backports-zstd" do - url "https://files.pythonhosted.org/packages/f4/b1/36a5182ce1d8ef9ef32bff69037bd28b389bbdb66338f8069e61da7028cb/backports_zstd-1.3.0.tar.gz" - sha256 "e8b2d68e2812f5c9970cabc5e21da8b409b5ed04e79b4585dbffa33e9b45ebe2" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "fastjsonschema" do - url "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz" - sha256 "b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de" - end - - resource "humanize" do - url "https://files.pythonhosted.org/packages/ba/66/a3921783d54be8a6870ac4ccffcd15c4dc0dd7fcce51c6d63b8c63935276/humanize-4.15.0.tar.gz" - sha256 "1dd098483eb1c7ee8e32eb2e99ad1910baefa4b75c3aff3a82f4d78688993b10" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "natsort" do - url "https://files.pythonhosted.org/packages/e2/a9/a0c57aee75f77794adaf35322f8b6404cbd0f89ad45c87197a937764b7d0/natsort-8.4.0.tar.gz" - sha256 "45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581" - end - - resource "pathvalidate" do - url "https://files.pythonhosted.org/packages/fa/2a/52a8da6fe965dea6192eb716b357558e103aea0a1e9a8352ad575a8406ca/pathvalidate-3.3.1.tar.gz" - sha256 "b18c07212bfead624345bb8e1d6141cdcf15a39736994ea0b94035ad2b1ba177" - end - - resource "pillow" do - url "https://files.pythonhosted.org/packages/1f/42/5c74462b4fd957fcd7b13b04fb3205ff8349236ea74c7c375766d6c82288/pillow-12.1.1.tar.gz" - sha256 "9ad8fa5937ab05218e2b6a4cff30295ad35afd2f83ac592e68c0d871bb0fdbc4" - end - - resource "pdf2image" do - url "https://files.pythonhosted.org/packages/00/d8/b280f01045555dc257b8153c00dee3bc75830f91a744cd5f84ef3a0a64b1/pdf2image-1.17.0.tar.gz" - sha256 "eaa959bc116b420dd7ec415fcae49b98100dda3dd18cd2fdfa86d09f112f6d57" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" - sha256 "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934" - end - - resource "psutil" do - url "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz" - sha256 "0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372" - end - - resource "puremagic" do - url "https://files.pythonhosted.org/packages/dd/7f/9998706bc516bdd664ccf929a1da6c6e5ee06e48f723ce45aae7cf3ff36e/puremagic-1.30.tar.gz" - sha256 "f9ff7ac157d54e9cf3bff1addfd97233548e75e685282d84ae11e7ffee1614c9" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rarfile" do - url "https://files.pythonhosted.org/packages/26/3f/3118a797444e7e30e784921c4bfafb6500fb288a0c84cb8c32ed15853c16/rarfile-4.2.tar.gz" - sha256 "8e1c8e72d0845ad2b32a47ab11a719bc2e41165ec101fd4d3fe9e92aa3f469ef" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "rich-click" do - url "https://files.pythonhosted.org/packages/04/27/091e140ea834272188e63f8dd6faac1f5c687582b687197b3e0ec3c78ebf/rich_click-1.9.7.tar.gz" - sha256 "022997c1e30731995bdbc8ec2f82819340d42543237f033a003c7b1f843fc5dc" - end - - resource "send2trash" do - url "https://files.pythonhosted.org/packages/c5/f0/184b4b5f8d00f2a92cf96eec8967a3d550b52cf94362dad1100df9e48d57/send2trash-2.1.0.tar.gz" - sha256 "1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/9f/38/7d169a765993efde5095c70a668bf4f5831bb7ac099e932f2783e9b71abf/textual-7.5.0.tar.gz" - sha256 "c730cba1e3d704e8f1ca915b6a3af01451e3bca380114baacf6abf87e9dac8b6" - end - - resource "textual-autocomplete" do - url "https://files.pythonhosted.org/packages/1e/3a/80411bc7b94969eb116ad1b18db90f8dce8a1de441278c4a81fee55a27ca/textual_autocomplete-4.0.6.tar.gz" - sha256 "2ba2f0d767be4480ecacb3e4b130cf07340e033c3500fc424fed9125d27a4586" - end - - resource "textual-image" do - url "https://files.pythonhosted.org/packages/1a/64/e5e49b639794f0ae426f6c19ca541af55b24a30e96df3b03e086688b8ec1/textual_image-0.8.5.tar.gz" - sha256 "43d4c0026a4f21fa255f41eac7b0fc1f7410a4c7bc9bf95b908bec901b0a8c3a" - end - - resource "textual-speedups" do - url "https://files.pythonhosted.org/packages/d4/73/bba3e9feae9ca730c32122306ddac61278a8bc47633346eddad9d52a435d/textual_speedups-0.2.1.tar.gz" - sha256 "72cf0f7bdeede015367b59b70bcf724ba2c3080a8641ebc5eb94b36ad1536824" - end - - resource "tomli" do - url "https://files.pythonhosted.org/packages/82/30/31573e9457673ab10aa432461bee537ce6cef177667deca369efb79df071/tomli-2.4.0.tar.gz" - sha256 "aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "ujson" do - url "https://files.pythonhosted.org/packages/43/d9/3f17e3c5773fb4941c68d9a37a47b1a79c9649d6c56aefbed87cc409d18a/ujson-5.11.0.tar.gz" - sha256 "e204ae6f909f099ba6b6b942131cee359ddda2b6e4ea39c12eb8b991fe2010e0" - end - - def install - ENV.append "CPPFLAGS", "-I#{Formula["jpeg-turbo"].opt_include}" - ENV.append "LDFLAGS", "-L#{Formula["jpeg-turbo"].opt_lib}" - - if OS.linux? - ENV.append "CPPFLAGS", "-I#{Formula["zlib-ng-compat"].opt_include}" - ENV.append "LDFLAGS", "-L#{Formula["zlib-ng-compat"].opt_lib}" - end - - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/rovr --version") - - output = JSON.parse(shell_output("#{bin}/rovr --config-path --config-folder=#{testpath}")) - assert_equal %w[custom_config custom_styles logs persistent_state pinned_folders], output.keys.sort - assert_equal "config.toml", File.basename(output["custom_config"]) - assert_equal "pins.json", File.basename(output["pinned_folders"]) - assert_equal "style.tcss", File.basename(output["custom_styles"]) - assert_equal "state.toml", File.basename(output["persistent_state"]) - end -end diff --git a/Formula/r/rshell.rb b/Formula/r/rshell.rb index b6e7be3bb8..25d2f1bae1 100644 --- a/Formula/r/rshell.rb +++ b/Formula/r/rshell.rb @@ -9,11 +9,13 @@ class Rshell < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, all: "ff1cf4fefe9f79e2beb7c64f6abdd4a56e07825014d9275bc372a4a7a02e0c03" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "67da65ed8100858373afefac209b5a11e64b35313f052969a50fb9401cf9d4b7" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "8eb3932d31247bce16245ad40849aec8e393dc466f52439b1914b8a7063995d7" + sha256 cellar: :any_skip_relocation, ventura: "a3cc110de01312ffc3aa2bc540380434a479e9eb19b12bf27288b87dfa06abef" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c9b82a7384824707a8de0ddc328a01a2f646566faeaf048b1548c260296e3ba7" end - depends_on "python@3.14" + depends_on "python@3.13" resource "pyserial" do url "https://files.pythonhosted.org/packages/1e/7d/ae3f0a63f41e4d2f6cb66a5b57197850f919f59e558159a4dd3a818f5082/pyserial-3.5.tar.gz" @@ -21,8 +23,8 @@ class Rshell < Formula end resource "pyudev" do - url "https://files.pythonhosted.org/packages/5e/1d/8bdbf651de1002e8b58fbe817bee22b1e8bfcdd24341d42c3238ce9a75f4/pyudev-0.24.4.tar.gz" - sha256 "e788bb983700b1a84efc2e88862b0a51af2a995d5b86bc9997546505cf7b36bc" + url "https://files.pythonhosted.org/packages/c4/5c/6cc034da13830e3da123ccf9a30910bc868fa16670362f004e4b788d0df1/pyudev-0.24.3.tar.gz" + sha256 "2e945427a21674893bb97632401db62139d91cea1ee96137cc7b07ad22198fc7" end def install diff --git a/Formula/r/rt.rb b/Formula/r/rt.rb deleted file mode 100644 index ad6a9bbf43..0000000000 --- a/Formula/r/rt.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Rt < Formula - desc "Run tasks interactively across different task runners" - homepage "https://github.com/unvalley/rt" - url "https://github.com/unvalley/rt/archive/refs/tags/v0.1.9.tar.gz" - sha256 "16eec7218a0c4cc0bee7734a54e3629df85dac6011c9caf070caeaa3db61487c" - license "MIT" - head "https://github.com/unvalley/rt.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "aff078ab614ce072182f276fa2f3fc3d3b6a183f347842a556009108dc97fddb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3080e124558840799be3800339ae31b4d8196145374bbc0f305495b72e23b14b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4e79a555f2ec1fa803810db54d280f7cc0166af007b9dbe11ad9ab960179f096" - sha256 cellar: :any_skip_relocation, arm64_linux: "873af0aff1ffa79dca70712640ee0d6e7f4a8f532e21e592f7e16b5542cbcba9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ceb493b563e2d06e4ea0a6dc282636b1aad684775605646b9ed201a35bbe51cb" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/rt --version") - - (testpath/"Makefile").write <<~MAKEFILE - hello: - @echo from-rt - MAKEFILE - - assert_match "from-rt", shell_output("#{bin}/rt hello") - end -end diff --git a/Formula/r/rum.rb b/Formula/r/rum.rb deleted file mode 100644 index 59ed27ef9c..0000000000 --- a/Formula/r/rum.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Rum < Formula - desc "TUI to list, search and run package.json scripts" - homepage "https://github.com/thekarel/rum" - url "https://github.com/thekarel/rum/archive/refs/tags/v1.2.8.tar.gz" - sha256 "ede17ed43f6a76f94f2571a6c2c2a19b433db440d5d8efcb65ca2f31c2ffc0ea" - license "MIT" - head "https://github.com/thekarel/rum.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2b1a3551ac24dd129bf0797dc9d7c2d38fea98356380d19af361e1c45ea6897a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2b1a3551ac24dd129bf0797dc9d7c2d38fea98356380d19af361e1c45ea6897a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2b1a3551ac24dd129bf0797dc9d7c2d38fea98356380d19af361e1c45ea6897a" - sha256 cellar: :any_skip_relocation, arm64_linux: "2a99d90c31c4e578ef87a5541d9a7def3a09ef44b11dad888e900f759029b18e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "133b9b559d879d15e263b03abe8cb5428e8b7e339e943ffebc4f1af922a1ba10" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - (testpath/"package.json").write <<~JSON - { - "name": "test-package", - "version": "1.0.0", - "scripts": { - "start": "echo Starting", - "test": "echo Testing" - } - } - JSON - - output = shell_output("#{bin}/rum -l #{testpath}/package.json") - assert_match "start echo Starting", output - end -end diff --git a/Formula/r/run.rb b/Formula/r/run.rb deleted file mode 100644 index 1a79018216..0000000000 --- a/Formula/r/run.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Run < Formula - desc "Universal multi-language runner and smart REPL written in Rust" - homepage "https://run.esubalew.et/" - url "https://github.com/Esubaalew/run/archive/refs/tags/v0.1.1.tar.gz" - sha256 "c4b0e68e60e8ffe643830bf3e1c6abc735d0cc5fe6ca37263eca47c6e4d0dd66" - license "Apache-2.0" - head "https://github.com/Esubaalew/run.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c09101cd9545d6d33cf04e7f62bbc4b9fb200a9f0c45736bc1fdb241bb4db790" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "15d4a044f9189b03239f02e2bd697038c854d564eb709f39fc143f577e0e6e78" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ac95a034bc8dae0d26bc9db3e2c2ea45de4e7f8f5af069241577e7c4b20211af" - sha256 cellar: :any_skip_relocation, x86_64_linux: "73767818c17903ba7e225e3db5a1f37a6f2f76e37e0d7fbcd3fdb656a8b9b380" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/run --version") - - output = shell_output("#{bin}/run -l python -c 'print(\"Hello, Homebrew!\")'") - assert_match "Hello, Homebrew!", output - end -end diff --git a/Formula/r/rusticon.rb b/Formula/r/rusticon.rb deleted file mode 100644 index 25d47140a3..0000000000 --- a/Formula/r/rusticon.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Rusticon < Formula - desc "Mouse driven SVG favicon editor for your terminal" - homepage "https://github.com/ronilan/rusticon" - url "https://github.com/ronilan/rusticon/archive/refs/tags/v0.2.3.tar.gz" - sha256 "afd41b39d965d9d0fd8d2c8dc4c1e82a453ffa83c3a8c6f031c15918f790e5af" - license "CC-BY-NC-ND-4.0" - head "https://github.com/ronilan/rusticon.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c4cd3d33a47473c572d81f48a48551755d1cbd4792b0f246a4ea965c45770d74" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8d66665f1092559c179c8e26cb9381ccc5de2aa13c00086db9eef7c0b7657b6a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a384f3ff875d4985798c9c9a79f96fa9f624d3e7abcbb58e4f52ca28ca1479ab" - sha256 cellar: :any_skip_relocation, arm64_linux: "d18cbd5822fb3c44fa55935e79733c47bb6a7b27d9e4d34499e1d25a76bd9185" - sha256 cellar: :any_skip_relocation, x86_64_linux: "77cbd331df5e613ae9b88c822234522becb7a852eceb28962042a41e66b1dabc" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # Fails in Linux CI with `No such device or address` error - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"rusticon", testpath, [:out, :err] => output_log.to_s - sleep 1 - assert_match "An icon editor for the terminal", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/r/rustnet.rb b/Formula/r/rustnet.rb deleted file mode 100644 index fc1c2aeffa..0000000000 --- a/Formula/r/rustnet.rb +++ /dev/null @@ -1,46 +0,0 @@ -class Rustnet < Formula - desc "Cross-platform network monitoring TUI" - homepage "https://github.com/domcyrus/rustnet" - url "https://github.com/domcyrus/rustnet/archive/refs/tags/v1.2.0.tar.gz" - sha256 "b91d41bc715f74453a8cd9ac2cd91e2b3808f01f959e8a92cb65c1f2f717312d" - license "Apache-2.0" - head "https://github.com/domcyrus/rustnet.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "69429659a9d6b9bd5375ed48b131dea54fe29297fa6de8ffecbda88ba855bf86" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6ca843298aa573640e3d7169677272943ca8fdeeaa951cc24360405258d28a34" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0ac1ce92d2bf7431ee071693e3aa6a805abd3348a29a8fe65375c4538e87b60a" - sha256 cellar: :any_skip_relocation, arm64_linux: "8ee68d9de465c50b2753fc61a9dca7ff1b6be295a589d0b9320f19a0cfd44329" - sha256 cellar: :any_skip_relocation, x86_64_linux: "aafa8a0cb26240b5d76a8cd0256d44d7275708623eb840b3fe6cda8e69f4780f" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "libpcap" - end - - def install - asset_dir = buildpath/"build-assets" - asset_dir.mkpath - ENV["RUSTNET_ASSET_DIR"] = asset_dir - - args = std_cargo_args - args << "--no-default-features" if OS.linux? - - system "cargo", "install", *args - - man1.install asset_dir/"rustnet.1" - bash_completion.install asset_dir/"rustnet.bash" - fish_completion.install asset_dir/"rustnet.fish" - zsh_completion.install asset_dir/"_rustnet" - end - - test do - assert_match version.to_s, shell_output("#{bin}/rustnet --version") - output = shell_output("#{bin}/rustnet --refresh-interval nope 2>&1", 2) - assert_match "invalid value", output - end -end diff --git a/Formula/r/rustormy.rb b/Formula/r/rustormy.rb deleted file mode 100644 index 81d820e669..0000000000 --- a/Formula/r/rustormy.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Rustormy < Formula - desc "Minimal neofetch-like weather CLI" - homepage "https://github.com/Tairesh/rustormy" - url "https://github.com/Tairesh/rustormy/archive/refs/tags/v0.4.4.tar.gz" - sha256 "d5934a381c3c8fdea69e51296ef1ecf428e30466edf781e3824753a029e27cea" - license "MIT" - head "https://github.com/Tairesh/rustormy.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "85d722f80aeb8df3b406c1c92c020292c081adbc9bc5bed651e0ae1099f5a25b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a3211b5d3b54ca6f1e8384dc8546d6e3dbc025e7024d1c3cd2a2337e6c2c5e21" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "67aee9f9cb477d8751176ec3ac151b1d2aca214d04a2ba6e5fef0c4d43b03c15" - sha256 cellar: :any_skip_relocation, arm64_linux: "6d24b8fbc2674daf1bf9ecedc992f845cc2405e2dcdc27261112d195dc92432d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f6955d59398dd6197b82c793475c9bb71a608ba3d90a8cd8eb291d234216941a" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/rustormy --version") - assert_match "Cache cleared successfully.", shell_output("#{bin}/rustormy --clear-cache") - end -end diff --git a/Formula/s/sarif-tools.rb b/Formula/s/sarif-tools.rb new file mode 100644 index 0000000000..003941b490 --- /dev/null +++ b/Formula/s/sarif-tools.rb @@ -0,0 +1,147 @@ +class SarifTools < Formula + include Language::Python::Virtualenv + + desc "Set of command-line tools and Python library for working with SARIF files" + homepage "https://github.com/microsoft/sarif-tools" + url "https://files.pythonhosted.org/packages/16/3c/68e41db88aa15124175936017928e99182b3df8e6913c5e194c67d641996/sarif_tools-3.0.5.tar.gz" + sha256 "52d09c101121231fb3489ad8c7af56896b8a95415cef726a6db5e7d74c6834d2" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "4577a739edb60db3387c229fc7bde289d59454d5563aceb00e0a767706541543" + sha256 cellar: :any, arm64_sonoma: "351133c157512baaffcefb571677ba1fafd46b482459a46a438214d19b8e03c5" + sha256 cellar: :any, ventura: "4012d7442079ac8fe7e4d6585578f1294937bcbb3b6966eb6deef24c18c59596" + sha256 cellar: :any_skip_relocation, x86_64_linux: "8e02e021d326d24f1c5d642249fbbb835a42f622a70ae0c1668718344a5c4c22" + end + + depends_on "cmake" => :build + depends_on "meson" => :build + depends_on "ninja" => :build + depends_on "pkgconf" => :build + + depends_on "libyaml" + depends_on "numpy" + depends_on "pillow" + depends_on "python@3.13" + + uses_from_macos "libxml2", since: :ventura + uses_from_macos "libxslt" + + resource "contourpy" do + url "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz" + sha256 "b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54" + end + + resource "cycler" do + url "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz" + sha256 "88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c" + end + + resource "fonttools" do + url "https://files.pythonhosted.org/packages/8a/27/ec3c723bfdf86f34c5c82bf6305df3e0f0d8ea798d2d3a7cb0c0a866d286/fonttools-4.59.0.tar.gz" + sha256 "be392ec3529e2f57faa28709d60723a763904f71a2b63aabe14fee6648fe3b14" + end + + resource "jinja2" do + url "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" + sha256 "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" + end + + resource "jsonpath-ng" do + url "https://files.pythonhosted.org/packages/6d/86/08646239a313f895186ff0a4573452038eed8c86f54380b3ebac34d32fb2/jsonpath-ng-1.7.0.tar.gz" + sha256 "f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c" + end + + resource "kiwisolver" do + url "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz" + sha256 "23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e" + end + + resource "lxml" do + url "https://files.pythonhosted.org/packages/c5/ed/60eb6fa2923602fba988d9ca7c5cdbd7cf25faa795162ed538b527a35411/lxml-6.0.0.tar.gz" + sha256 "032e65120339d44cdc3efc326c9f660f5f7205f3a535c1fdbf898b29ea01fb72" + end + + resource "markupsafe" do + url "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz" + sha256 "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0" + end + + resource "matplotlib" do + url "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz" + sha256 "2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0" + end + + resource "numpy" do + url "https://files.pythonhosted.org/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz" + sha256 "1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b" + end + + resource "packaging" do + url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" + end + + resource "pillow" do + url "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz" + sha256 "3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523" + end + + resource "ply" do + url "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz" + sha256 "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3" + end + + resource "pyparsing" do + url "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz" + sha256 "b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be" + end + + resource "python-dateutil" do + url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" + sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" + end + + resource "python-docx" do + url "https://files.pythonhosted.org/packages/a9/f7/eddfe33871520adab45aaa1a71f0402a2252050c14c7e3009446c8f4701c/python_docx-1.2.0.tar.gz" + sha256 "7bc9d7b7d8a69c9c02ca09216118c86552704edc23bac179283f2e38f86220ce" + end + + resource "pyyaml" do + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" + end + + resource "six" do + url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" + sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz" + sha256 "38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36" + end + + def install + # The source doesn't have a valid SOURCE_DATE_EPOCH, so here we set default. + ENV["SOURCE_DATE_EPOCH"] = "1451574000" + + virtualenv_install_with_resources + end + + test do + assert_match version.to_s, shell_output("#{bin}/sarif --version") + + (testpath/"test.sarif").write <<~EOS + { + "$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json", + "version": "2.1.0", + "runs": [] + } + EOS + + output = shell_output("#{bin}/sarif summary test.sarif") + assert_match "error: 0\n\nwarning: 0\n\nnote: 0", output + end +end diff --git a/Formula/s/sato.rb b/Formula/s/sato.rb index e36e3c7bc2..a4eed275fa 100644 --- a/Formula/s/sato.rb +++ b/Formula/s/sato.rb @@ -2,24 +2,23 @@ class Sato < Formula desc "Tool to convert ARM or CFN into Terraform" homepage "https://github.com/JamesWoolfenden/sato" - url "https://github.com/JamesWoolfenden/sato/archive/refs/tags/v0.1.49.tar.gz" - sha256 "ce8390f210a8a90340bc27c612f9cf2bfb1597bd33a5976c37f8776a4faa2e10" + url "https://github.com/JamesWoolfenden/sato/archive/refs/tags/v0.1.34.tar.gz" + sha256 "6e9be240d6fbdd747886ec4cdcc02677cf5e36a725e3f642e89696cca7152902" license "Apache-2.0" head "https://github.com/JamesWoolfenden/sato.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "368c815862cb89f53b91b0b7e921595247195afc00c02ec79d9a7d1e4abf8f29" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "368c815862cb89f53b91b0b7e921595247195afc00c02ec79d9a7d1e4abf8f29" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "368c815862cb89f53b91b0b7e921595247195afc00c02ec79d9a7d1e4abf8f29" - sha256 cellar: :any_skip_relocation, arm64_linux: "f8b3b76cefff824210beb54b9f7b39348bd3b84bf38ee10fd317d31215a8afe1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dedd1a23963aaa4a3ae7e55c79e3799dd0a9c6a9772eb8a995642fa7892259c8" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "718f16fc8d688922c136d5c9d23f35c865c1e091e6c0be548238186c176248f4" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "2e2d1fb4f1ebe056755daf28f7a8919278061136efcf410f2b52fec9f66a0b73" + sha256 cellar: :any_skip_relocation, ventura: "1c1bcc5df2206d3e1dd165564deeb68c7cf06287902c2f308e70ff6ce17eae78" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b8510feccce79d0f0c6692c1d5192ea783945c1d2d71786c20d8c1ae323de4ed" end depends_on "go" => :build def install - inreplace "src/version/version.go", "var Version = \"dev\"", "var Version = \"#{version}\"" + inreplace "src/version/version.go", "Version = \"9.9.9\"", "Version = \"#{version}\"" system "go", "build", *std_go_args(ldflags: "-s -w") pkgshare.install "examples" diff --git a/Formula/s/satty.rb b/Formula/s/satty.rb index da4b0d31dc..c7aff11840 100644 --- a/Formula/s/satty.rb +++ b/Formula/s/satty.rb @@ -1,17 +1,16 @@ class Satty < Formula desc "Modern Screenshot Annotation" homepage "https://github.com/gabm/Satty" - url "https://github.com/gabm/Satty/archive/refs/tags/v0.20.1.tar.gz" - sha256 "86e85e8abdcfee925f0b95d424bd9eed9ad78aeb537707132e77ccb63133ac97" + url "https://github.com/gabm/Satty/archive/refs/tags/v0.19.0.tar.gz" + sha256 "03244dd0d181dfccb6b88c199ae1eef9f1197af5cc421c4ead955f80493c4491" license "MPL-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b2dc1f536f560fd7eb2c4f8615786be5b4f0df4d530af8189240dc19583b6ffd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c56fab3be0f8a2c51e892d71c93750c7e930af34fee10d7849b14a0df10da7f8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0da269bab59fdd8732130444d1a14ac8a532a0cdf4586adc829460fb3c6fa888" - sha256 cellar: :any_skip_relocation, arm64_linux: "5eeda71c68578ab4f1c3333b021f7bad79c21f8ce81b02a80aeb2b8d33903f3f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "5b589e04915e3981d992c8416aabc15566e64cabe70f5a75d1c0905d6f582498" + sha256 cellar: :any, arm64_sequoia: "433fd90d9456bf936cd6719b7388fc2068236888ed877bc9aa0645dfd0bd54c2" + sha256 cellar: :any, arm64_sonoma: "9dbd499be07e34c243202847b3aeabe816ac1b464f95971daa3249bcfd99466c" + sha256 cellar: :any, ventura: "e393f783a0d41f937d56c1020ae184dce6f618849b9a27290aada8a72c675d75" + sha256 cellar: :any_skip_relocation, x86_64_linux: "bf5bc0f5277caa72059628069a73d91f1f205d063a2ac3a62a4b6cfe86229545" end depends_on "pkgconf" => :build diff --git a/Formula/s/satview.rb b/Formula/s/satview.rb deleted file mode 100644 index 1e964e652b..0000000000 --- a/Formula/s/satview.rb +++ /dev/null @@ -1,49 +0,0 @@ -class Satview < Formula - desc "Terminal-based real-time satellite tracking and orbit prediction application" - homepage "https://github.com/ShenMian/tracker" - url "https://github.com/ShenMian/tracker/archive/refs/tags/v0.1.20.tar.gz" - sha256 "9a5ff9f12230b6821805a07a76e61420d52f0ed60ee4a5da2cc37917abdebebf" - license "Apache-2.0" - head "https://github.com/ShenMian/tracker.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "bc3d510c1a82733d45a2ec50345f8efd73091a29b6c5789a1203115636545f96" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "91059b8f3e8cb412a7e4dcc43f32abd6a6123de5f6157c2b7a43544eb51938ca" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "fa08d595d3af588b1e1c8cf3a3f7f5bfd8c6fb7cddbead4206287745a6756862" - sha256 cellar: :any_skip_relocation, arm64_linux: "1febc5eff86adff402e6a1919e1eeaa96607ec4ba793d158abf7a2bab3d4af04" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fbca8d14f1b68528591849185995e3af65e97566441e551191d8f1fe470d638b" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args # artifact would still be `tracker` - end - - test do - assert_match version.to_s, shell_output("#{bin}/tracker --version") - - output_log = testpath/"tracker.log" - pid = if OS.mac? - spawn "script", "-q", File::NULL, bin/"tracker", [:out, :err] => output_log.to_s - else - spawn "script", "-q", "-c", bin/"tracker", File::NULL, [:out, :err] => output_log.to_s - end - sleep 2 - Process.kill("TERM", pid) - Process.wait(pid) - output = output_log.read - assert_match "\e[?1049h", output - refute_match "No such device or address", output - rescue Errno::ESRCH - output = output_log.exist? ? output_log.read : "" - assert_match "\e[?1049h", output - refute_match "No such device or address", output - end -end diff --git a/Formula/s/sbomlyze.rb b/Formula/s/sbomlyze.rb deleted file mode 100644 index 4a85436506..0000000000 --- a/Formula/s/sbomlyze.rb +++ /dev/null @@ -1,35 +0,0 @@ -class Sbomlyze < Formula - desc "SBOM diff and analysis tool for software supply-chain security" - homepage "https://rezmoss.github.io/sbomlyze/" - url "https://github.com/rezmoss/sbomlyze/archive/refs/tags/v0.3.1.tar.gz" - sha256 "5d6bc53b5f5ffd5885b7e9295ff92fce8058e19b01b8690366f9e11636eb186c" - license "Apache-2.0" - head "https://github.com/rezmoss/sbomlyze.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0b18f64f47ec9b584c8185cfe8e49ffac894ccdba6328e8af649db64d30c6310" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0b18f64f47ec9b584c8185cfe8e49ffac894ccdba6328e8af649db64d30c6310" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0b18f64f47ec9b584c8185cfe8e49ffac894ccdba6328e8af649db64d30c6310" - sha256 cellar: :any_skip_relocation, arm64_linux: "0cfb4705ffe6b7377dcb02468f06e7da2834e047daa7cb126e47a483897bfa80" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4704532c2535e6385700cb47d16c0b5bb183dbef07e455a1c0140f4bb8aa72d3" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/rezmoss/sbomlyze/internal/version.Version=#{version} - ] - system "go", "build", *std_go_args(ldflags:), "./cmd/sbomlyze" - end - - test do - (testpath/"empty.json").write("{}") - - assert_match version.to_s, shell_output("#{bin}/sbomlyze --version") - output = shell_output("#{bin}/sbomlyze #{testpath}/empty.json --no-pager") - assert_match "SBOM Statistics", output - end -end diff --git a/Formula/s/scanify.rb b/Formula/s/scanify.rb deleted file mode 100644 index 2746040790..0000000000 --- a/Formula/s/scanify.rb +++ /dev/null @@ -1,76 +0,0 @@ -class Scanify < Formula - desc "Transform PDFs to look like scanned documents" - homepage "https://github.com/Francium-Tech/scanify" - url "https://github.com/Francium-Tech/scanify/archive/refs/tags/v1.1.0.tar.gz" - sha256 "c451e64ee496acdf562def65beaf6aadbde293471326bb6d3269ce46a7e10522" - license "MIT" - head "https://github.com/Francium-Tech/scanify.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b5bfe8eb147bc81b2f62b49e9c3e3c04209dd1ed7b83fceeb831d3e6f9027c5a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6de84816007dbebb0ff67e894c5981dac4cb89a4dc56cab5b361db3ad4c7fe48" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3f8965aa1098f6081a89923ffdaa117259910d1156fae88b4583ab8035564929" - sha256 cellar: :any_skip_relocation, sequoia: "2b70033de6a471a55153a7b92da07864583e1e4105720c6b7b2e1251b12e92c5" - sha256 arm64_linux: "8a0611e0384424ff1728caf6cb92f6512f049aa989d25a9e31ef0eb470523b55" - sha256 x86_64_linux: "4045f1f438d41f25008fe5565aaf39a63c09a0bccd2593b554a8b15691f91cdf" - end - - on_linux do - depends_on "imagemagick" - depends_on "poppler" - depends_on "swift" - end - - def install - system "swift", "build", "-c", "release", "--disable-sandbox" - bin.install ".build/release/scanify" - end - - test do - (testpath/"input.pdf").write <<~PDF - %PDF-1.1 - 1 0 obj - << /Type /Catalog /Pages 2 0 R >> - endobj - 2 0 obj - << /Type /Pages /Kids [3 0 R] /Count 1 >> - endobj - 3 0 obj - << /Type /Page /Parent 2 0 R /MediaBox [0 0 300 144] /Contents 4 0 R /Resources << /Font << /F1 5 0 R >> >> >> - endobj - 4 0 obj - << /Length 44 >> - stream - BT - /F1 24 Tf - 72 72 Td - (Hello Scanify) Tj - ET - endstream - endobj - 5 0 obj - << /Type /Font /Subtype /Type1 /BaseFont /Helvetica >> - endobj - xref - 0 6 - 0000000000 65535 f - 0000000010 00000 n - 0000000062 00000 n - 0000000117 00000 n - 0000000243 00000 n - 0000000337 00000 n - trailer - << /Root 1 0 R /Size 6 >> - startxref - 407 - %%EOF - PDF - - assert_match version.to_s, shell_output("#{bin}/scanify --version") - - system bin/"scanify", "input.pdf", "output.pdf" - assert_path_exists testpath/"output.pdf" - assert_operator (testpath/"output.pdf").size, :>, 0 - end -end diff --git a/Formula/s/scrt.rb b/Formula/s/scrt.rb index eaab00ee89..2230e4920e 100644 --- a/Formula/s/scrt.rb +++ b/Formula/s/scrt.rb @@ -8,12 +8,10 @@ class Scrt < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "19f4fb4673c0c4b3b4e57ebc20e0799d5457eee94ec10bd450604f289134c7f7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "19f4fb4673c0c4b3b4e57ebc20e0799d5457eee94ec10bd450604f289134c7f7" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "19f4fb4673c0c4b3b4e57ebc20e0799d5457eee94ec10bd450604f289134c7f7" - sha256 cellar: :any_skip_relocation, arm64_linux: "3d1076aec4994a7b1e5bdee1f2e96061fac61b76f69bd56ccf36485086c190a8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f1e456d55146aa5b86ea1d15d8122391beacd136419f2c1c58395b76d2930310" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2f15ff0de532e8d76120c86c18a5250f37365818613bfc418fb0af105cc5f9f8" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "dba88e41b6091032fdf79f42eb439c98bc19bf91fa27ea7c2db33ded7e0003e6" + sha256 cellar: :any_skip_relocation, ventura: "d6f8764dbe8bcd1d7b958f040d6710a4406e8447a930dca8a986267e3219c4f5" + sha256 cellar: :any_skip_relocation, x86_64_linux: "1eb6a8698e92a116649508d799f2a87f0d821cda8ab7fac413bd4c8cb2b5488b" end depends_on "go" => :build @@ -22,7 +20,7 @@ def install system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") # upstream bug report, https://github.com/loderunner/scrt/issues/1048 - # generate_completions_from_executable(bin/"scrt", shell_parameter_format: :cobra) + # generate_completions_from_executable(bin/"scrt", "completion") end test do diff --git a/Formula/s/sdl_mixer.rb b/Formula/s/sdl_mixer.rb index ab99cfda48..f9e98ecc6f 100644 --- a/Formula/s/sdl_mixer.rb +++ b/Formula/s/sdl_mixer.rb @@ -36,7 +36,7 @@ def install inreplace "SDL_mixer.pc.in", "@prefix@", HOMEBREW_PREFIX - args = %w[ + args = %W[ --enable-music-ogg --enable-music-flac --disable-music-ogg-shared @@ -58,6 +58,6 @@ def install "-o", "playwave" Utils.safe_popen_read({ "SDL_VIDEODRIVER" => "dummy", "SDL_AUDIODRIVER" => "disk" }, "./playwave", test_fixtures("test.wav")) - assert_path_exists testpath/"sdlaudio.raw" + assert_predicate testpath/"sdlaudio.raw", :exist? end end diff --git a/Formula/s/secco.rb b/Formula/s/secco.rb index 3b1f59d7ba..0355c3ae56 100644 --- a/Formula/s/secco.rb +++ b/Formula/s/secco.rb @@ -1,15 +1,16 @@ class Secco < Formula desc "Local package testing made easy" homepage "https://secco.lekoarts.de/" - url "https://registry.npmjs.org/secco/-/secco-3.1.2.tgz" - sha256 "54c7b9e12cff9abc0f33405780c5f54d49e20b940456e01430ba2f336615c2bc" + url "https://registry.npmjs.org/secco/-/secco-3.0.1.tgz" + sha256 "8cb5b124d194773dfecfe687e958a7143de5c8af3610db6e81af835c126809da" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "bda34125a9c3f566aecfaa13ae10a1fa72eca67264824baaff11cc0807246fbc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c2b3e3be46610e927059dcf88fac26d3659b3587ea576a7f49c9504f16a324d7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4cf0abb1945ebaaa2ffa6e552db3da7cdf8e3e5cab882719b511ca9048bed2b3" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "a6d51998e4b94d9d6ea08231be6eb9fcd2e2ad87dea82083f8227bfa0d9207c2" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "6ad73c6ec834997982d72ea3e1b116a5a12b1493f3ee5c98cb79e2cddb303781" + sha256 cellar: :any_skip_relocation, ventura: "adaede800d38a88e24caeaa6e269ea894ad3ec0c299ddd23cdd21e22e91fcfd0" + sha256 cellar: :any_skip_relocation, x86_64_linux: "1942180ab44f3870c19980817e03049eab1fc5b1ae1067a98108364ab17c2304" end depends_on "node" @@ -39,7 +40,7 @@ def install (testpath/".seccorc").write "source.path=\"#{testpath}\"" - output = shell_output("#{bin}/secco test 2>&1", 1) + output = shell_output("#{bin}/secco test 2>&1") assert_match "You haven't got any source dependencies in your current `package.json`", output end end diff --git a/Formula/s/sem-cli.rb b/Formula/s/sem-cli.rb deleted file mode 100644 index 7735401eb4..0000000000 --- a/Formula/s/sem-cli.rb +++ /dev/null @@ -1,54 +0,0 @@ -class SemCli < Formula - desc "Semantic version control CLI with entity-level diffs" - homepage "https://github.com/Ataraxy-Labs/sem" - url "https://github.com/Ataraxy-Labs/sem/archive/refs/tags/v0.3.10.tar.gz" - sha256 "97fcceab5745204001526220f6e207925466e49489d3af4cc76b9219a59b5a97" - license any_of: ["MIT", "Apache-2.0"] - head "https://github.com/Ataraxy-Labs/sem.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "02eaf8eb9481db9ef41167fdedad2a41ed17372149300f076a287897f0d9191e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "db1f2988265e088f0d4a00c4730c5468913216fd5421f61d8f215b2636a270e4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "dd3459f8f9de46045087959953005ebeadbfc1da68ae1558dd0dc7b0454fbad8" - sha256 cellar: :any_skip_relocation, arm64_linux: "45d08c78ffbe18ab4397f367aa07a49b7c096f1fcc310fb0eb593ef5f4e329ab" - sha256 cellar: :any_skip_relocation, x86_64_linux: "cd6259df2d96b4724eb6576edb28e2c5690f48049988ee76e7af5363f51c39f7" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - depends_on "libssh2" - depends_on "openssl@3" - - on_linux do - depends_on "zlib-ng-compat" - end - - conflicts_with "parallel", because: "both install a sem executable" - - def install - ENV["OPENSSL_DIR"] = Formula["openssl@3"].opt_prefix - ENV["OPENSSL_NO_VENDOR"] = "1" - - system "cargo", "install", *std_cargo_args(path: "crates/sem-cli") - end - - test do - system "git", "init" - system "git", "config", "user.email", "test@example.com" - system "git", "config", "user.name", "Test User" - (testpath/"hello.py").write <<~PYTHON - def greet(): - print("hello") - PYTHON - system "git", "add", "hello.py" - system "git", "commit", "-m", "init" - - output = shell_output("#{bin}/sem diff --commit HEAD --format json") - json = JSON.parse(output) - assert_equal 1, json["changes"].length - assert_equal "function", json["changes"][0]["entityType"] - assert_equal "greet", json["changes"][0]["entityName"] - end -end diff --git a/Formula/s/semaphore.rb b/Formula/s/semaphore.rb deleted file mode 100644 index adacdc872b..0000000000 --- a/Formula/s/semaphore.rb +++ /dev/null @@ -1,41 +0,0 @@ -class Semaphore < Formula - desc "Modern UI and powerful API for Ansible, Terraform/OpenTofu/Terragrunt" - homepage "https://filebrowser.org/" - url "https://github.com/semaphoreui/semaphore/archive/refs/tags/v2.17.38.tar.gz" - sha256 "63183a86947de5c1cb81efeacf5232a17d7780eb83112a4778daf9f8be779669" - license "MIT" - head "https://github.com/semaphoreui/semaphore.git", branch: "develop" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a2e03acc9642cc2bc01720fc3011d658513dfa2929a775d8fb8f5f0c9d60f441" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a2e03acc9642cc2bc01720fc3011d658513dfa2929a775d8fb8f5f0c9d60f441" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a2e03acc9642cc2bc01720fc3011d658513dfa2929a775d8fb8f5f0c9d60f441" - sha256 cellar: :any_skip_relocation, arm64_linux: "ce602473dd5c81f7d5110197b7464eaa6fcc67da14b69c13ba54c7f68beb0eba" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6881013aa0eba9375bd2048f2542c51b6b4d74de2a4a6f18a7e1428d7de5a261" - end - - depends_on "go" => :build - depends_on "go-task" => :build - depends_on "node" => :build - - def install - system "task", "deps:fe", "build:fe" - - ldflags = %W[ - -s -w - -X github.com/semaphoreui/semaphore/util.Ver=#{version} - -X github.com/semaphoreui/semaphore/util.Commit=#{tap.user} - ] - system "go", "build", *std_go_args(ldflags:, tags: "netgo"), "./cli" - - generate_completions_from_executable(bin/"semaphore", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/semaphore version") - - output = shell_output("#{bin}/semaphore users list 2>&1", 1) - assert_match "Cannot Find configuration", output - end -end diff --git a/Formula/s/sgpt.rb b/Formula/s/sgpt.rb index b13389929e..bf6a08ccec 100644 --- a/Formula/s/sgpt.rb +++ b/Formula/s/sgpt.rb @@ -1,18 +1,17 @@ class Sgpt < Formula desc "CLI tool to query OpenAI and generate shell commands and code" homepage "https://github.com/tbckr/sgpt" - url "https://github.com/tbckr/sgpt/archive/refs/tags/v2.20.0.tar.gz" - sha256 "a57259f28ad5fec62b2b2e8171768e368aa43577ef7de049e63b2f3f63b2bf1a" + url "https://github.com/tbckr/sgpt/archive/refs/tags/v2.17.0.tar.gz" + sha256 "eed6d5b641c95c2fbc614790e97c43ed17f630043b1bb483c1253ce9acfc2967" license "Apache-2.0" head "https://github.com/tbckr/sgpt.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "28d63c69a903c864592bdc7ec6f95a94fcc7f2cc2e41dbf02cae5a5e0d689d5d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "28d63c69a903c864592bdc7ec6f95a94fcc7f2cc2e41dbf02cae5a5e0d689d5d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "28d63c69a903c864592bdc7ec6f95a94fcc7f2cc2e41dbf02cae5a5e0d689d5d" - sha256 cellar: :any_skip_relocation, arm64_linux: "0f3c9162418584151ca7eadc5de8467fe4266ec92c54eb1fef763322a32a37e6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "54262e92c41aee344f3247931f6521f110603a7dbd637f259608242ef148c559" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2a0fa82ebecf8524e78b17afb79a124ac52773325e14aa6634b4ec7a5e59abd3" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "155b08b8695383aaa24fe869b5b9d996c5eafc5aa6986f17d6812e9a18874fbc" + sha256 cellar: :any_skip_relocation, ventura: "3ecb88e222ef0f79122cc46cdb7e4911c6ad18e1bcaeed49bc879430f5f6dd3a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "08b3182df0af9392e84e7f704bc5e63685fbecea4c69166eb4d435ae32ed59df" end depends_on "go" => :build @@ -27,7 +26,7 @@ def install system "go", "build", *std_go_args(ldflags:), "./cmd/sgpt" - generate_completions_from_executable(bin/"sgpt", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"sgpt", "completion") end test do diff --git a/Formula/s/shadcn-ui-mcp-server.rb b/Formula/s/shadcn-ui-mcp-server.rb index 07bc1fa98a..cf808a966a 100644 --- a/Formula/s/shadcn-ui-mcp-server.rb +++ b/Formula/s/shadcn-ui-mcp-server.rb @@ -1,20 +1,23 @@ class ShadcnUiMcpServer < Formula desc "MCP server for Shadcn UI v4" homepage "https://github.com/jpisnice/shadcn-ui-mcp-server" - url "https://registry.npmjs.org/@jpisnice/shadcn-ui-mcp-server/-/shadcn-ui-mcp-server-2.0.0.tgz" - sha256 "f8a0337d22b6c5bdcf4ed8524605509ded814ffa6620013ef3677f9b43d4f1b7" + url "https://registry.npmjs.org/@jpisnice/shadcn-ui-mcp-server/-/shadcn-ui-mcp-server-1.1.0.tgz" + sha256 "4aeb3400a746f1e37c9b5960b605adf978fee1f84cb8262ccd2aa9f4e79740e9" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "3fc396ed670e3be98f7f1629ba54d0300ebdaf77e198cd0b1e4baa106d081db5" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d361aa38c1e4cdce6c3572fcb3a5c0a90db39604eb1ab4f157fcba94d3a5d8bc" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "08d6911b877e565edd923788518f88a9df9a21cdefd0a1b0a302351a4275674b" + sha256 cellar: :any_skip_relocation, ventura: "079852ce17585df177887f963658874f3e3469b00b885fb4f0b8de3c3401e52c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "fdef32102a261fd88db2601d2af3e05d230cecd46bce21b59afc09949164fd7f" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink libexec/"bin/shadcn-mcp" => "shadcn-ui-mcp-server" end test do @@ -23,7 +26,7 @@ def install {"jsonrpc":"2.0","id":2,"method":"tools/list"} JSON - output = pipe_output("#{bin}/shadcn-mcp 2>&1", json, 0) + output = pipe_output("#{bin}/shadcn-ui-mcp-server 2>&1", json, 0) assert_match "No GitHub API key provided. Rate limited to 60 requests/hour", output assert_match "Get the source code for a specific shadcn/ui v4 component", output end diff --git a/Formula/s/shimmy.rb b/Formula/s/shimmy.rb new file mode 100644 index 0000000000..d0f47a3db6 --- /dev/null +++ b/Formula/s/shimmy.rb @@ -0,0 +1,37 @@ +class Shimmy < Formula + desc "Small local inference server with OpenAI-compatible GGUF endpoints" + homepage "https://github.com/Michael-A-Kuykendall/shimmy" + url "https://github.com/Michael-A-Kuykendall/shimmy/archive/refs/tags/v0.1.2.tar.gz" + sha256 "203989da63ae2cbe518a61eb417131e1d875d284e7aefd4daeb34b01d1105c3c" + license "MIT" + head "https://github.com/Michael-A-Kuykendall/shimmy.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "461d0dd780841c418236c71124bb210f9942defbcfee1eac2edc8fe9fbb3ee15" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "648538523db789ed1fdd9a2646be53683dc9cb7093a073d490fc1f286e2e8ed0" + sha256 cellar: :any_skip_relocation, ventura: "e613c7ae6f99376e98303ac6a6c03574a11a146762e37a329cf778be38acce7e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "71bf9ab0659a0e7ec647e5962782c2ecf2016dcb362c687c928961fe4fa09cff" + end + + depends_on "rust" => :build + + def install + # patch version + inreplace "Cargo.toml", "0.1.0", version.to_s + system "cargo", "install", *std_cargo_args + end + + service do + run [opt_bin/"shimmy", "serve", "--bind", "127.0.0.1:11435"] + keep_alive true + log_path var/"log/shimmy.log" + error_log_path var/"log/shimmy.error.log" + end + + test do + assert_match version.to_s, shell_output("#{bin}/shimmy --version") + output = shell_output("#{bin}/shimmy list") + assert_match "Total available models: 1", output + end +end diff --git a/Formula/s/shopify-cli.rb b/Formula/s/shopify-cli.rb index eadd9373b7..f3f4100e39 100644 --- a/Formula/s/shopify-cli.rb +++ b/Formula/s/shopify-cli.rb @@ -1,17 +1,16 @@ class ShopifyCli < Formula desc "CLI which helps you build against the Shopify platform faster" homepage "https://shopify.dev/" - url "https://registry.npmjs.org/@shopify/cli/-/cli-3.94.1.tgz" - sha256 "bb6e8e1ce442e6a52a628c7049d48a515a6a23060e4db443990a650f24398bae" + url "https://registry.npmjs.org/@shopify/cli/-/cli-3.84.1.tgz" + sha256 "0f4ebe3296ca3957b801a5815795c40dc69051de4859f8c89d8e3ff1447e9979" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "9e4f8154f4965585b6a2882119005c7407cb650d60f0b922021b35880dd1f404" - sha256 cellar: :any, arm64_sequoia: "6d1b009b22309b4037cadd37c66be148e286c4ec0d1e6fb107182a6c46833ceb" - sha256 cellar: :any, arm64_sonoma: "6d1b009b22309b4037cadd37c66be148e286c4ec0d1e6fb107182a6c46833ceb" - sha256 cellar: :any_skip_relocation, arm64_linux: "939aa63c96c7a81a4bad0eff492683e6b0073f1d2d751f2fa07dbe10eacdb98e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "24ce72f9a3a4cb1df61bdd2b128c404db0bfed0fad286dad134cbe5fd0adb192" + sha256 cellar: :any, arm64_sequoia: "10eab79b9602a7ac5f0ebba65f884b0441e668711f89a2c5c083dfb3d9e8b82a" + sha256 cellar: :any, arm64_sonoma: "a23da4af2472ccedf9119ea92b713b2cbc85e42a5ad18e64421cb298752feb2c" + sha256 cellar: :any, ventura: "421e2f13a85b09c5fbb19e76502d506705a621095bf6976a09af059d29a1c4a6" + sha256 cellar: :any_skip_relocation, x86_64_linux: "8d72ad78da609ce4ead88857ec889f8a1d05c0f07d599d980f6ed35afa390d17" end depends_on "node" diff --git a/Formula/s/shuk.rb b/Formula/s/shuk.rb deleted file mode 100644 index 9e37b4515c..0000000000 --- a/Formula/s/shuk.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Shuk < Formula - desc "Filesharing command-line application that uses Amazon S3" - homepage "https://github.com/darko-mesaros/shuk" - url "https://github.com/darko-mesaros/shuk/archive/refs/tags/v0.4.8.tar.gz" - sha256 "9f17c0e2a77edd25f15a8de6d2cfbe45c8231db22c88e265a894442895456fd9" - license any_of: ["Apache-2.0", "MIT"] - head "https://github.com/darko-mesaros/shuk.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "20aeb8c2aa141e6d423573a58ea8bc7bbf4eeec1165e0de8b6ea4361cfa6cabb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6d151c4cdfd764abbd0f69318bfe77ed7571e44757d67bfe5c71c2b10223d572" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "40a02ff6b35f46198ddcb650ba3562f4ad5c97d96ad26a485c9afcafd4a9d9f6" - sha256 cellar: :any_skip_relocation, arm64_linux: "4ee19dc7d746fc39ba39d2e24d499b21792b06b311481fa07d3577c3f805523a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "89095239fafa1f8fd02edc2cdd419f1b0bb7a0b38c22ff05e0ed6bf720864d99" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/shuk --version") - - output = shell_output("#{bin}/shuk test_file 2>&1", 1) - assert_match "Could not read config file", output - end -end diff --git a/Formula/s/sidecar.rb b/Formula/s/sidecar.rb deleted file mode 100644 index 54368df649..0000000000 --- a/Formula/s/sidecar.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Sidecar < Formula - desc "Terminal UI for diffs, file trees, conversation history, and tasks" - homepage "https://github.com/marcus/sidecar" - url "https://github.com/marcus/sidecar/archive/refs/tags/v0.84.0.tar.gz" - sha256 "43b7c821d9787297e09e61e1f5d3389d3c6f2c4000c7b7b5fb991b0cbe7db198" - license "MIT" - head "https://github.com/marcus/sidecar.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2a7b3e226843e75acf258c147d1cc8cf13515328ff5c464db22a1be8c62b9f39" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f55ee42bd567b18024f2d5a99c1a9657548367fb73cda3080a7564149f85275c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "78cf730bd13f8dd64b08eea08e406dbde88499a4f099d1b1e6ff154311452391" - sha256 cellar: :any_skip_relocation, arm64_linux: "f6a0bef86bfba2020b78e66eaef0d5fb5b11c0f8cc2c9bc312bab78a0ee2b382" - sha256 cellar: :any_skip_relocation, x86_64_linux: "904d2b30aee63e5c968600fb4940336a621ac588da0feb36486a13d265f8791b" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.Version=#{version}" - - system "go", "build", *std_go_args(ldflags:, output: bin/"sidecar"), "./cmd/sidecar" - end - - test do - assert_match version.to_s, shell_output("#{bin}/sidecar --version") - assert_match "sidecar requires an interactive terminal", - shell_output("#{bin}/sidecar --project #{testpath} 2>&1", 1) - end -end diff --git a/Formula/s/siggy.rb b/Formula/s/siggy.rb deleted file mode 100644 index 1f799aeae2..0000000000 --- a/Formula/s/siggy.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Siggy < Formula - desc "Terminal-based Signal messenger client with vim keybindings" - homepage "https://github.com/johnsideserf/siggy" - url "https://github.com/johnsideserf/siggy/archive/refs/tags/v1.7.1.tar.gz" - sha256 "aabedbb5d6f9c58551e66ab572b20093d3d3c0e09f161f12c128ca372495be84" - license "GPL-3.0-only" - head "https://github.com/johnsideserf/siggy.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6beb98914c1406c81e8756d7e5e5354843861cbfbd9b5113e5a1b03eef4354f7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c335563f1af319c3fbf30df88d76d59d60b0ea896eed06c2bac09b99d57e418a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c407b88815d738a47222bef27fe3d38a58837fd97e4f76525b333a15d55406c1" - sha256 cellar: :any_skip_relocation, arm64_linux: "1a609ff729fc661bc35cbd5f2d08f85da5c56378d7c65609e072a17f55b6ed96" - sha256 cellar: :any_skip_relocation, x86_64_linux: "49774b7e1a13bee7fda999e2fc98a25ded3675cda69e0c12a9344cfd9fddfd8b" - end - - depends_on "rust" => :build - depends_on "signal-cli" - - on_linux do - depends_on "pkgconf" => :build - depends_on "dbus" - depends_on "libxcb" - depends_on "libxkbcommon" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - output = shell_output("#{bin}/siggy --help 2>&1") - assert_match "siggy - Terminal Signal client", output - assert_match "--demo", output - - log = testpath/"siggy-demo.log" - in_r, in_w = IO.pipe - script_args = if OS.mac? - ["script", "-q", log, bin/"siggy", "--demo"] - else - ["script", "-q", "-c", "#{bin}/siggy --demo", log] - end - - pid = spawn({ "TERM" => "xterm-256color" }, *script_args, in: in_r, out: File::NULL, err: File::NULL) - in_r.close - sleep 2 - in_w.write("\u0003") - in_w.close - Process.wait(pid) - - assert_match "siggy (4)", log.read - end -end diff --git a/Formula/s/silver-surfer.rb b/Formula/s/silver-surfer.rb deleted file mode 100644 index c18f5597a6..0000000000 --- a/Formula/s/silver-surfer.rb +++ /dev/null @@ -1,27 +0,0 @@ -class SilverSurfer < Formula - desc "Kubernetes objects api-version compatibility checker" - homepage "https://devtron.ai/" - url "https://github.com/devtron-labs/silver-surfer/archive/refs/tags/v0.1.4.tar.gz" - sha256 "3ce8a7fe5754078a9d34f7018a0f99cccca37f423a0b9719d3f33570e58130b7" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "824f9641d763487393d27de9ee7ba457bd96a8ad1fbff87aeb3644e24763baad" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "824f9641d763487393d27de9ee7ba457bd96a8ad1fbff87aeb3644e24763baad" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "824f9641d763487393d27de9ee7ba457bd96a8ad1fbff87aeb3644e24763baad" - sha256 cellar: :any_skip_relocation, arm64_linux: "d7680840f933a78d9c4b62edbec0ad92c72eabe31332cd69835bd7be89132cd5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6ff73b7e663fefefff804fb015637db0a2499547677f1d3c796922e2ed717550" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/silver-surfer --version") - end -end diff --git a/Formula/s/simdjzon.rb b/Formula/s/simdjzon.rb index 7abec66276..16d1bc58b3 100644 --- a/Formula/s/simdjzon.rb +++ b/Formula/s/simdjzon.rb @@ -1,15 +1,14 @@ class Simdjzon < Formula desc "Simdjson ported to zig" homepage "https://github.com/travisstaloch/simdjzon" - url "https://github.com/travisstaloch/simdjzon/archive/refs/tags/0.15.2.tar.gz" - sha256 "7b68cb42656e0389b6db3d966e26790e193e9d27f8221e93a0bdaa91bae449ef" + url "https://github.com/travisstaloch/simdjzon/archive/refs/tags/0.15.1.tar.gz" + sha256 "680cc168dce2c5351af94820eae55e982898e36ecba818c6ce78e67863f2da17" license "Apache-2.0" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2800362cb789422607117b38066e90382b19c5e04e6495a196e084351082fc18" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "cb670a9bf4e0b6f45f78fc426efbd38427a816b03f5693b7111a02e0a79a6d4b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3f4f8199f4eae4347d7e0cfe3754dad7a6daecf52491d4f9efc13cd92fb6adb2" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "f448fb49de1811e237feba4d801d33c78013c799ed599f1bac7894eb6f938c76" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "5057352a99714ca76780613eac42d4b4d6bfdff1b9fff70d77f185ec8a14fb05" end depends_on "zig" => :build diff --git a/Formula/s/sish.rb b/Formula/s/sish.rb deleted file mode 100644 index 317c26e1e1..0000000000 --- a/Formula/s/sish.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Sish < Formula - desc "HTTP(S)/WS(S)/TCP Tunnels to localhost using only SSH" - homepage "https://docs.ssi.sh/" - url "https://github.com/antoniomika/sish/archive/refs/tags/v2.22.1.tar.gz" - sha256 "f23def84d89d9ae0fd52dd997aaeb4311c4c36144b2435e68f8543fdc762bc3a" - license "MIT" - head "https://github.com/antoniomika/sish.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2215dda94f913bc4eb3df804a31f30ad8e70bd7f8548913c70ce1f94219a3759" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2215dda94f913bc4eb3df804a31f30ad8e70bd7f8548913c70ce1f94219a3759" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2215dda94f913bc4eb3df804a31f30ad8e70bd7f8548913c70ce1f94219a3759" - sha256 cellar: :any_skip_relocation, arm64_linux: "d7facec36be91a66eb471240d2c2680539f6032660b36e20da6c2187c8c0ce90" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bc2962ea14837ea116cc3f3b6c9f7b88df96273353182632632434f8f80da22b" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/antoniomika/sish/cmd.Version=#{version} - -X github.com/antoniomika/sish/cmd.Commit=#{tap.user} - ] - - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/sish --version") - end -end diff --git a/Formula/s/sloctl.rb b/Formula/s/sloctl.rb index 3a1f3b86c3..5fd7325c2e 100644 --- a/Formula/s/sloctl.rb +++ b/Formula/s/sloctl.rb @@ -1,18 +1,17 @@ class Sloctl < Formula desc "CLI for Nobl9 to manage SLOs, Projects or Alert Policies" homepage "https://docs.nobl9.com/sloctl-user-guide/" - url "https://github.com/nobl9/sloctl/archive/refs/tags/v0.22.0.tar.gz" - sha256 "4d3e40ecdf32da44287a51c6ea8b14b33cf3a11ce3bc7acc586ca2757576ffcf" + url "https://github.com/nobl9/sloctl/archive/refs/tags/v0.16.0.tar.gz" + sha256 "69d90960e0c4aedb95c1cc9d8c1828fb102412048f9f3d82f2e17cf2decb82da" license "MPL-2.0" head "https://github.com/nobl9/sloctl.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f349ff878b44e4dca6960e4ef4623893e6226a20696c5f0a5e8256f307ecc5ab" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f349ff878b44e4dca6960e4ef4623893e6226a20696c5f0a5e8256f307ecc5ab" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f349ff878b44e4dca6960e4ef4623893e6226a20696c5f0a5e8256f307ecc5ab" - sha256 cellar: :any_skip_relocation, arm64_linux: "1a70612948feaa74b4a8dde370371195b06e3da851ba448c2390d5963b022864" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ccb3297cc0a5cb4220d4e0e7eff6ae17fdb917605dfa82a5ba152562134b1e03" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "43d0053fefab1a58b7ba8cced6ed28095e1f87f04c3f0745fe563007140dc961" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "bad4b040a7cb87f067fda08377da7b8710d017a6a4b9beb72f72f891ed7b865b" + sha256 cellar: :any_skip_relocation, ventura: "a5dd51546a83b31bffc88b46c92074a4657c444fedb453bc118ad964bf29a5c5" + sha256 cellar: :any_skip_relocation, x86_64_linux: "55c720c36dcf99124edf143a302d324666fe5c0cccd56209eb95b3b1cab17077" end depends_on "go" => :build @@ -26,13 +25,13 @@ def install ] system "go", "build", *std_go_args(ldflags:), "./cmd/sloctl" - generate_completions_from_executable(bin/"sloctl", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"sloctl", "completion") end test do assert_match version.to_s, shell_output("#{bin}/sloctl version") - assert_match "default", shell_output("#{bin}/sloctl config get-contexts") + assert_match "[default]", shell_output("#{bin}/sloctl config get-contexts") output = shell_output("#{bin}/sloctl get agents 2>&1", 1) assert_match "Both client id and client secret must be provided", output end diff --git a/Formula/s/sls.rb b/Formula/s/sls.rb deleted file mode 100644 index a48fbe381f..0000000000 --- a/Formula/s/sls.rb +++ /dev/null @@ -1,50 +0,0 @@ -class Sls < Formula - desc "Fuzzy CLI selector for SSH config hosts" - homepage "https://github.com/JinmuGo/sls" - url "https://github.com/JinmuGo/sls/archive/refs/tags/v1.2.1.tar.gz" - sha256 "473b5be5bc86998e748ee430180350d866097b46af9118eb6c0b1cdd498da1fc" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "39ad18e93e607d62297a3ad509c72f58e8dc94a337d47903893d3469e836c124" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "39ad18e93e607d62297a3ad509c72f58e8dc94a337d47903893d3469e836c124" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "39ad18e93e607d62297a3ad509c72f58e8dc94a337d47903893d3469e836c124" - sha256 cellar: :any_skip_relocation, arm64_linux: "4a4c851a0544f64178f5c684869d98e6e0f8025ea410adb61b08bc8bea22f35c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "879e6bc90a131e2a7f598faf2ac5db6d11950b59fc3ac7bf101a7203e25b9abf" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s - -w - -X github.com/jinmugo/sls/cmd.version=#{version} - -X github.com/jinmugo/sls/cmd.commit=Homebrew - -X github.com/jinmugo/sls/cmd.date=unknown - -X github.com/jinmugo/sls/cmd.builtBy=Homebrew - ] - - system "go", "build", *std_go_args(ldflags:, output: bin/"sls") - with_env(PULSE_DISABLED: "1") do - generate_completions_from_executable(bin/"sls", shell_parameter_format: :cobra) - end - end - - test do - ssh_dir = testpath/".ssh" - ssh_dir.mkpath - (ssh_dir/"config").write <<~CONFIG - Host demo - HostName example.com - User alice - Port 2222 - CONFIG - - with_env(PULSE_DISABLED: "1") do - assert_equal "demo", shell_output("#{bin}/sls config list").strip - assert_match version.to_s, shell_output("#{bin}/sls version") - end - end -end diff --git a/Formula/s/smassh.rb b/Formula/s/smassh.rb deleted file mode 100644 index d9a75f720a..0000000000 --- a/Formula/s/smassh.rb +++ /dev/null @@ -1,104 +0,0 @@ -class Smassh < Formula - include Language::Python::Virtualenv - - desc "TUI based typing test application" - homepage "https://github.com/kraanzu/smassh" - url "https://files.pythonhosted.org/packages/ea/7e/59d87252c2d63dcdd0e12af1eff18ffa4dcba092c3f86689c2ad9c92687f/smassh-3.2.1.tar.gz" - sha256 "941bdce3d8ba93114c91b436dca65baa932aec36722413cc62fc50be90aa7cb4" - license "GPL-3.0-only" - head "https://github.com/kraanzu/smassh.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "c8430d84fd539cb9d11ff49e86780cdbfab4d01b2fde9f02775545eab474d9a7" - end - - depends_on "certifi" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: "certifi" - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/f6/2f/f0b408f227edca21d1996c1cd0b65309f0cbff44264aa40aded3ff9ce2e1/textual-6.6.0.tar.gz" - sha256 "53345166d6b0f9fd028ed0217d73b8f47c3a26679a18ba3b67616dcacb470eec" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/smassh --version") - assert_match "Language pack doesnt exist!", shell_output("#{bin}/smassh add test") - end -end diff --git a/Formula/s/snip.rb b/Formula/s/snip.rb deleted file mode 100644 index 737eab01ec..0000000000 --- a/Formula/s/snip.rb +++ /dev/null @@ -1,96 +0,0 @@ -class Snip < Formula - include Language::Python::Virtualenv - - desc "Terminal snippet manager for storing, searching, and copying code" - homepage "https://github.com/phlx0/snip" - url "https://github.com/phlx0/snip/releases/download/v0.7.0/snip_tui-0.7.0.tar.gz" - sha256 "36ed24a8e134a6fc2b7a54d814fa8e5fb335dee599777e83d40c50ffb8741225" - license "MIT" - head "https://github.com/phlx0/snip.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "5bdf0ae4b4d167055cf3c2d183553d50149c06c25860b2471a5adbd31a45be2e" - end - - depends_on "python@3.14" - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" - sha256 "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "pyperclip" do - url "https://files.pythonhosted.org/packages/e8/52/d87eba7cb129b81563019d1679026e7a112ef76855d6159d24754dbd2a51/pyperclip-1.11.0.tar.gz" - sha256 "244035963e4428530d9e3a6101a1ef97209c6825edab1567beac148ccc1db1b6" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/72/23/8c709655c5f2208ee82ab81b8104802421865535c278a7649b842b129db1/textual-8.1.1.tar.gz" - sha256 "eef0256a6131f06a20ad7576412138c1f30f92ddeedd055953c08d97044bc317" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - def install - virtualenv_install_with_resources - - generate_completions_from_executable(bin/"snip", "init", shells: [:bash, :zsh]) - end - - test do - snippet_dir = testpath/"snippets" - source_file = testpath/"hello.py" - source_file.write "print(\"hello\")\n" - - system bin/"snip", "--db", snippet_dir, "--add", source_file - - assert_match version.to_s, shell_output("#{bin}/snip --version") - assert_equal "hello", shell_output("#{bin}/snip --db #{snippet_dir} --list").strip - - snippet_json = shell_output("#{bin}/snip --db #{snippet_dir} --json hello") - assert_match "\"title\": \"hello\"", snippet_json - assert_match "\"language\": \"python\"", snippet_json - - export_json = shell_output("#{bin}/snip --db #{snippet_dir} --export") - assert_match "\"content\": \"print(\\\"hello\\\")\\n\"", export_json - end -end diff --git a/Formula/s/snipt.rb b/Formula/s/snipt.rb deleted file mode 100644 index 1f60c2b216..0000000000 --- a/Formula/s/snipt.rb +++ /dev/null @@ -1,37 +0,0 @@ -class Snipt < Formula - desc "Powerful text snippet expansion tool" - homepage "https://github.com/snipt/snipt" - url "https://github.com/snipt/snipt/archive/refs/tags/v0.1.0.tar.gz" - sha256 "a83d47c564e69c5805d4d99c3daa09ddee342d19c6df69f40e0fb6deb8647ade" - license "MIT" - head "https://github.com/snipt/snipt.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "378f31ee8af8f9e145e2cfc6f57ec09dfd85563304a3e52a4ba9b1e05b80a14b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "98a68b23d5df305214fb8498383b0387af19526948131c290d9bb4c6350bb691" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2761f232e421cba0ae648ea35f4bcf7fb6e1c2eb3b070d9069e0b83d7a0de31a" - sha256 cellar: :any_skip_relocation, arm64_linux: "f543404f3592e889a65f0267629765c9cc87ab8af506ce1b00c56464a8b2cb9a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7b41ab2d47a5513c3ee6fbcc4bdbcf03b7ceea050eb30fd4dfac9cb90449ecad" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "libx11" - depends_on "libxi" - depends_on "libxtst" - depends_on "xdotool" - end - - def install - system "cargo", "install", *std_cargo_args(path: "crates/snipt-cli") - end - - test do - assert_match version.to_s, shell_output("#{bin}/snipt --version") - assert_match "snipt daemon is not running", shell_output("#{bin}/snipt status") - assert_match "Database not found", shell_output("#{bin}/snipt list 2>&1", 1) - end -end diff --git a/Formula/s/sonar.rb b/Formula/s/sonar.rb deleted file mode 100644 index bb25164276..0000000000 --- a/Formula/s/sonar.rb +++ /dev/null @@ -1,41 +0,0 @@ -class Sonar < Formula - desc "CLI tool for inspecting and managing localhost ports" - homepage "https://github.com/raskrebs/sonar" - url "https://github.com/raskrebs/sonar/archive/refs/tags/v0.3.0.tar.gz" - sha256 "9e987cc9f4c538a202add26817e2396e697a88f73bcb1b76fa1aa6d501a4f4e2" - license "MIT" - head "https://github.com/raskrebs/sonar.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9fcf7fc4752001903d2e43f31ca7670d2f4d07c12e0fb1583559fd7da2bc5e51" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9fcf7fc4752001903d2e43f31ca7670d2f4d07c12e0fb1583559fd7da2bc5e51" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9fcf7fc4752001903d2e43f31ca7670d2f4d07c12e0fb1583559fd7da2bc5e51" - sha256 cellar: :any_skip_relocation, arm64_linux: "a841bbdff78f9f846e843562e98af84bc694c0c3f9453c37f9a19244d4fb06ed" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0db476d4aeee38e0cc47e197ab6b0b9b6164be9d874c3e3d0d4a5051ed0163b0" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/raskrebs/sonar/internal/selfupdate.Version=v#{version}" - - system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"sonar", - shell_parameter_format: :cobra, - shells: [:bash, :zsh, :fish]) - end - - test do - require "socket" - - server = TCPServer.new("127.0.0.1", 0) - port = server.addr[1] - - assert_match version.to_s, shell_output("#{bin}/sonar version") - - system bin/"sonar", "wait", port.to_s, "--quiet", "--timeout", "1s" - ensure - server&.close - end -end diff --git a/Formula/s/sot.rb b/Formula/s/sot.rb deleted file mode 100644 index 68e11a6471..0000000000 --- a/Formula/s/sot.rb +++ /dev/null @@ -1,99 +0,0 @@ -class Sot < Formula - include Language::Python::Virtualenv - - desc "Command-line System Observation Tool" - homepage "https://github.com/anistark/sot" - url "https://files.pythonhosted.org/packages/a6/4a/0dd99d933389166e665b9bcc42e84302866d981155e18833c844ae4e43a6/sot-6.0.1.tar.gz" - sha256 "bdfe41b91a53258d43798eb5cd5a034af0589f0d960c637211b5a9e29cca9cda" - license "MIT" - head "https://github.com/anistark/sot.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "525463039fd4e1ce9ff45f549de58f9b9b1c50d30408fd5769cdfe49e2686cb4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "84962e89b164f1d889c8f8c12956342abdfbb32f5fac5953284d449f36b5ed06" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9002171d8b6db3a7d2b8e3a0cb79a535f366c7d14c1adb461e4bf12d439c0a4f" - sha256 cellar: :any_skip_relocation, sequoia: "2060842928c5acc53378d8678229fb9be5dced3fa6fc3041473e175cbd0a4dde" - sha256 cellar: :any_skip_relocation, arm64_linux: "519173bd0420c13958a956dea1accaab9572a731c56dd47b60ebdbce90739bf0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "207593b52e3775fa64847978d595003c19004bf6f62723df3293e3521ff2c9c3" - end - - depends_on "python@3.14" - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz" - sha256 "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" - end - - resource "psutil" do - url "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz" - sha256 "0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372" - end - - resource "py-cpuinfo" do - url "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz" - sha256 "3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" - sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/19/89/bec5709fb759f9c784bbcb30b2e3497df3f901691d13c2b864dbf6694a17/textual-8.2.4.tar.gz" - sha256 "d4e2b2ddd7157191d00b228592b7c739ea080b7d792fd410f23ca75f05ea76c4" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/sot --version") - - output = shell_output("#{bin}/sot info") - assert_match "OS", output - assert_match "Kernel", output - end -end diff --git a/Formula/s/soundscope.rb b/Formula/s/soundscope.rb index 0d6b8a7f77..b2164bb761 100644 --- a/Formula/s/soundscope.rb +++ b/Formula/s/soundscope.rb @@ -1,18 +1,17 @@ class Soundscope < Formula desc "TUI app for analyzing audio data such as frequencies and loudness (LUFS)" homepage "https://github.com/bananaofhappiness/soundscope" - url "https://github.com/bananaofhappiness/soundscope/archive/refs/tags/v1.9.0.tar.gz" - sha256 "6d4d454c52f048a334538e542fda1eb98e662e74a8b597607cc2b99194cb8890" + url "https://github.com/bananaofhappiness/soundscope/archive/refs/tags/v1.0.2.tar.gz" + sha256 "0a2eedcc78da188dbf5fd785587293c4b0dfc6831e40d19310503826e6f0e1e3" license "MIT" head "https://github.com/bananaofhappiness/soundscope.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9e3fc79f646a2958c70042a61f668b389719a6e3e64918db60f8681454b4827b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4e52503d726859b92178edf43271f2c88ced5f726c0686d0fcc3f56a959a6108" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cebb339543e4f3f435974f8a8f7ffb1cd015d81f5b710b1a4e182bd4ff8afdc9" - sha256 cellar: :any_skip_relocation, arm64_linux: "9c65bd58844cda0da16e08a90d8d4348eaf84b0d90eca3b339d254f425f3fa7d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "241742c54aa96f22b3762a7a4328bde68c0862cdd2d896faf3dca0d116d652ec" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ee62f07d345fe20cdcbf48665501254c910c2104828e92beea9c1d179297f1c0" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "84bb435089a2170f6e783d5e1e2827e9caef4dd173959e478b0c1346fd0def37" + sha256 cellar: :any_skip_relocation, ventura: "707206b71f01a5dac21bddb00457819aefe7369921a035f1d3ce8612a68bffc2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "223666da582965d03bafd2ec93715d1ff9fb59d361da9fef1fbe1329c804538e" end depends_on "pkgconf" => :build diff --git a/Formula/s/sourcerer-mcp.rb b/Formula/s/sourcerer-mcp.rb deleted file mode 100644 index 3c71ce1e28..0000000000 --- a/Formula/s/sourcerer-mcp.rb +++ /dev/null @@ -1,33 +0,0 @@ -class SourcererMcp < Formula - desc "MCP for semantic code search & navigation that reduces token waste" - homepage "https://github.com/st3v3nmw/sourcerer-mcp" - url "https://github.com/st3v3nmw/sourcerer-mcp/archive/refs/tags/v0.5.5.tar.gz" - sha256 "f63dbacaa0ad4a6b2e42f9df2454830234d86deac689d2f5784945120cb7740c" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "dd2893223213a3e90c7b12863c13602b54ef953fb32444e1795b7965f8a87ab0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b75ad1ae8195a88ec24c3bedaed05288dafa648e77b4234e6c1b102c84baab3d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ac11afb05940d0bb2fccfa838dffaf25483b6c0f08d4c8b044d7e3301ee9846f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e081ed82ae1db7bbc149b560db286aab016278077b9bdbf97db9df852fdc810b" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w", output: bin/"sourcerer"), "./cmd/sourcerer" - end - - test do - ENV["OPENAI_API_KEY"] = "test" - ENV["SOURCERER_WORKSPACE_ROOT"] = testpath - - pid = spawn bin/"sourcerer" - sleep 1 - assert_path_exists testpath/".sourcerer/db" - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/s/spacelift-intent.rb b/Formula/s/spacelift-intent.rb deleted file mode 100644 index d657a85971..0000000000 --- a/Formula/s/spacelift-intent.rb +++ /dev/null @@ -1,84 +0,0 @@ -class SpaceliftIntent < Formula - desc "Provision and manage cloud infrastructure using natural language" - homepage "https://spacelift.io/intent" - url "https://github.com/spacelift-io/spacelift-intent/archive/refs/tags/v0.2.0.tar.gz" - sha256 "4562ea20d2a2234890127b6ba235c07cefcfac6dbbe743defd1234f2cd89bc9f" - license "Apache-2.0" - head "https://github.com/spacelift-io/spacelift-intent.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7d483c1cb92f28258fb69416b20cf8db6c223ec89b4aaf98ca8ae1d5b4854296" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f15cc72c2d01c6c993aea72bcd46119b811e5dfbefe4874279d6a6c3574afc95" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5135ecd0a552fcc733e88eecad0e5bb7c33a5b1e31c76753281664df8bd7fad0" - sha256 cellar: :any_skip_relocation, arm64_linux: "599f60214b069a217fe0e846b3e37a794cde9a0e5f3bca629022be8ee8e51ce1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dcd230e4f2eb791ef2c832ef947589fa9be371d8a5e6452d4bd8e473ba6de828" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/spacelift-intent" - end - - test do - require "json" - require "open3" - - messages = [ - { - jsonrpc: "2.0", - id: 1, - method: "initialize", - params: { - protocolVersion: "2025-03-26", - capabilities: {}, - clientInfo: { - name: "brew-test", - version: "1.0", - }, - }, - }, - { - jsonrpc: "2.0", - method: "notifications/initialized", - params: {}, - }, - { - jsonrpc: "2.0", - id: 2, - method: "tools/list", - params: {}, - }, - ] - - output = +"" - Open3.popen2e(bin/"spacelift-intent") do |stdin, stdout_err, wait_thread| - messages.each { |message| stdin.puts JSON.generate(message) } - stdin.flush - - deadline = Time.now + 10 - until output.include?("# Infrastructure Management - Essential Instructions") || Time.now > deadline - next unless stdout_err.wait_readable(0.5) - - begin - output << stdout_err.readpartial(4096) - rescue EOFError - break - end - end - - stdin.close unless stdin.closed? - if wait_thread.alive? - begin - Process.kill("TERM", wait_thread.pid) - rescue Errno::ESRCH - nil - end - wait_thread.join - end - end - - assert_match "# Infrastructure Management - Essential Instructions", output - end -end diff --git a/Formula/s/specfact-cli.rb b/Formula/s/specfact-cli.rb deleted file mode 100644 index 58e78743c4..0000000000 --- a/Formula/s/specfact-cli.rb +++ /dev/null @@ -1,380 +0,0 @@ -class SpecfactCli < Formula - include Language::Python::Virtualenv - - desc "Reverse Engineer Legacy Python into Enforceable Contracts" - homepage "https://specfact.com/" - url "https://files.pythonhosted.org/packages/af/9a/9b381e4cc069b185f1f8b240e902b02b787fc997bef9263ba8771926dca3/specfact_cli-0.41.0.tar.gz" - sha256 "8da8d733edce39301b2178b6cffc0f8c4c4cf6affd2e6291a68bd647adc47afd" - license "Apache-2.0" - head "https://github.com/nold-ai/specfact-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "901f9fbd2169143b809a6a83759702696457325a535f4c418bd50ea2fbcc97ab" - sha256 cellar: :any, arm64_sequoia: "89e79b76f969808bb99bbb431831f70e5cb021cbb88c329dd7648b713f249604" - sha256 cellar: :any, arm64_sonoma: "c56d10a8a0feed255fff11a454446c213458d82a56a0e6d1524a554aed0d1cad" - sha256 arm64_linux: "7f6daa8c96568a4570ffde0f710d5786c35e99c45c1a36c0b405db02318e208d" - sha256 x86_64_linux: "268de81720c8c3d6ea7670e370bad77c1702d2b544b998b9ada369978dffd79b" - end - - depends_on "gcc" => :build if OS.linux? - depends_on "rust" => :build - depends_on "certifi" => :no_linkage - depends_on "libffi" - depends_on "libyaml" - depends_on "openssl@3" - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage - depends_on "ruff" => :no_linkage - - pypi_packages exclude_packages: %w[certifi pydantic rpds-py ruff] - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" - end - - resource "asttokens" do - url "https://files.pythonhosted.org/packages/45/1d/f03bcb60c4a3212e15f99a56085d93093a497718adf828d050b9d675da81/asttokens-2.4.1.tar.gz" - sha256 "b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" - end - - resource "azure-core" do - url "https://files.pythonhosted.org/packages/00/fe/5c7710bc611a4070d06ba801de9a935cc87c3d4b689c644958047bdf2cba/azure_core-1.38.2.tar.gz" - sha256 "67562857cb979217e48dc60980243b61ea115b77326fa93d83b729e7ff0482e7" - end - - resource "azure-identity" do - url "https://files.pythonhosted.org/packages/c2/3a/439a32a5e23e45f6a91f0405949dc66cfe6834aba15a430aebfc063a81e7/azure_identity-1.25.2.tar.gz" - sha256 "030dbaa720266c796221c6cdbd1999b408c079032c919fef725fcc348a540fe9" - end - - resource "beartype" do - url "https://files.pythonhosted.org/packages/c7/94/1009e248bbfbab11397abca7193bea6626806be9a327d399810d523a07cb/beartype-0.22.9.tar.gz" - sha256 "8f82b54aa723a2848a56008d18875f91c1db02c32ef6a62319a002e3e25a975f" - end - - resource "cattrs" do - url "https://files.pythonhosted.org/packages/a0/ec/ba18945e7d6e55a58364d9fb2e46049c1c2998b3d805f19b703f14e81057/cattrs-26.1.0.tar.gz" - sha256 "fa239e0f0ec0715ba34852ce813986dfed1e12117e209b816ab87401271cdd40" - end - - resource "cffi" do - url "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" - sha256 "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/1d/35/02daf95b9cd686320bb622eb148792655c9412dbb9b67abb5694e5910a24/charset_normalizer-3.4.5.tar.gz" - sha256 "95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "crosshair-tool" do - url "https://files.pythonhosted.org/packages/7c/bd/3afb64fe1579be13b3199b659276c7c5be4303e0c578afa9c0ba1d6720f2/crosshair_tool-0.0.102.tar.gz" - sha256 "665aed0492618d9ae61a7f17d5d32ea2a7182c04d5a39ae81b5e3e519a7869ba" - end - - resource "cryptography" do - url "https://files.pythonhosted.org/packages/60/04/ee2a9e8542e4fa2773b81771ff8349ff19cdd56b7258a0cc442639052edb/cryptography-46.0.5.tar.gz" - sha256 "abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d" - end - - resource "gitdb" do - url "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz" - sha256 "5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571" - end - - resource "gitpython" do - url "https://files.pythonhosted.org/packages/df/b5/59d16470a1f0dfe8c793f9ef56fd3826093fc52b3bd96d6b9d6c26c7e27b/gitpython-3.1.46.tar.gz" - sha256 "400124c7d0ef4ea03f7310ac2fbf7151e09ff97f2a3288d64a440c584a29c37f" - end - - resource "googleapis-common-protos" do - url "https://files.pythonhosted.org/packages/99/96/a0205167fa0154f4a542fd6925bdc63d039d88dab3588b875078107e6f06/googleapis_common_protos-1.73.0.tar.gz" - sha256 "778d07cd4fbeff84c6f7c72102f0daf98fa2bfd3fa8bea426edc545588da0b5a" - end - - resource "graphviz" do - url "https://files.pythonhosted.org/packages/f8/b3/3ac91e9be6b761a4b30d66ff165e54439dcd48b83f4e20d644867215f6ca/graphviz-0.21.tar.gz" - sha256 "20743e7183be82aaaa8ad6c93f8893c923bd6658a04c32ee115edb3c8a835f78" - end - - resource "hypothesis" do - url "https://files.pythonhosted.org/packages/19/e1/ef365ff480903b929d28e057f57b76cae51a30375943e33374ec9a165d9c/hypothesis-6.151.9.tar.gz" - sha256 "2f284428dda6c3c48c580de0e18470ff9c7f5ef628a647ee8002f38c3f9097ca" - end - - resource "icontract" do - url "https://files.pythonhosted.org/packages/41/93/8a7d5850d848cba73aa094b961459d8101b7c96837b2e8dc91083adcf7ae/icontract-2.7.3.tar.gz" - sha256 "df37a43d86d532407bc6b84dea29dd9f7ece794b73211769fa8a33a76b8ed145" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "importlib-metadata" do - url "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz" - sha256 "49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb" - end - - resource "importlib-resources" do - url "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz" - sha256 "185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c" - end - - resource "jinja2" do - url "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" - sha256 "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" - end - - resource "jsonschema" do - url "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" - sha256 "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" - end - - resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" - end - - resource "lsprotocol" do - url "https://files.pythonhosted.org/packages/e9/26/67b84e6ec1402f0e6764ef3d2a0aaf9a79522cc1d37738f4e5bb0b21521a/lsprotocol-2025.0.0.tar.gz" - sha256 "e879da2b9301e82cfc3e60d805630487ac2f7ab17492f4f5ba5aaba94fe56c29" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "msal" do - url "https://files.pythonhosted.org/packages/3c/aa/5a646093ac218e4a329391d5a31e5092a89db7d2ef1637a90b82cd0b6f94/msal-1.35.1.tar.gz" - sha256 "70cac18ab80a053bff86219ba64cfe3da1f307c74b009e2da57ef040eb1b5656" - end - - resource "msal-extensions" do - url "https://files.pythonhosted.org/packages/01/99/5d239b6156eddf761a636bded1118414d161bd6b7b37a9335549ed159396/msal_extensions-1.3.1.tar.gz" - sha256 "c5b0fd10f65ef62b5f1d62f4251d51cbcaf003fcedae8c91b040a488614be1a4" - end - - resource "mypy-extensions" do - url "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz" - sha256 "52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558" - end - - resource "networkx" do - url "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz" - sha256 "26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509" - end - - resource "opentelemetry-api" do - url "https://files.pythonhosted.org/packages/2c/1d/4049a9e8698361cc1a1aa03a6c59e4fa4c71e0c0f94a30f988a6876a2ae6/opentelemetry_api-1.40.0.tar.gz" - sha256 "159be641c0b04d11e9ecd576906462773eb97ae1b657730f0ecf64d32071569f" - end - - resource "opentelemetry-exporter-otlp-proto-common" do - url "https://files.pythonhosted.org/packages/51/bc/1559d46557fe6eca0b46c88d4c2676285f1f3be2e8d06bb5d15fbffc814a/opentelemetry_exporter_otlp_proto_common-1.40.0.tar.gz" - sha256 "1cbee86a4064790b362a86601ee7934f368b81cd4cc2f2e163902a6e7818a0fa" - end - - resource "opentelemetry-exporter-otlp-proto-http" do - url "https://files.pythonhosted.org/packages/2e/fa/73d50e2c15c56be4d000c98e24221d494674b0cc95524e2a8cb3856d95a4/opentelemetry_exporter_otlp_proto_http-1.40.0.tar.gz" - sha256 "db48f5e0f33217588bbc00274a31517ba830da576e59503507c839b38fa0869c" - end - - resource "opentelemetry-proto" do - url "https://files.pythonhosted.org/packages/4c/77/dd38991db037fdfce45849491cb61de5ab000f49824a00230afb112a4392/opentelemetry_proto-1.40.0.tar.gz" - sha256 "03f639ca129ba513f5819810f5b1f42bcb371391405d99c168fe6937c62febcd" - end - - resource "opentelemetry-sdk" do - url "https://files.pythonhosted.org/packages/58/fd/3c3125b20ba18ce2155ba9ea74acb0ae5d25f8cd39cfd37455601b7955cc/opentelemetry_sdk-1.40.0.tar.gz" - sha256 "18e9f5ec20d859d268c7cb3c5198c8d105d073714db3de50b593b8c1345a48f2" - end - - resource "opentelemetry-semantic-conventions" do - url "https://files.pythonhosted.org/packages/6d/c0/4ae7973f3c2cfd2b6e321f1675626f0dab0a97027cc7a297474c9c8f3d04/opentelemetry_semantic_conventions-0.61b0.tar.gz" - sha256 "072f65473c5d7c6dc0355b27d6c9d1a679d63b6d4b4b16a9773062cb7e31192a" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz" - sha256 "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4" - end - - resource "prompt-toolkit" do - url "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz" - sha256 "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" - end - - resource "protobuf" do - url "https://files.pythonhosted.org/packages/ba/25/7c72c307aafc96fa87062aa6291d9f7c94836e43214d43722e86037aac02/protobuf-6.33.5.tar.gz" - sha256 "6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c" - end - - resource "pycparser" do - url "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz" - sha256 "600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29" - end - - resource "pygls" do - url "https://files.pythonhosted.org/packages/1b/94/cce3560f6c7296be43bd67ba342f8972b8adddfe407b62b25d1fb90c514b/pygls-2.0.1.tar.gz" - sha256 "2f774a669fbe2ece977d302786f01f9b0c5df7d0204ea0fa371ecb08288d6b86" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/5c/5a/b46fa56bf322901eee5b0454a34343cdbdae202cd421775a8ee4e42fd519/pyjwt-2.11.0.tar.gz" - sha256 "35f95c1f0fbe5d5ba6e43f00271c275f7a1a4db1dab27bf708073b75318ea623" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "questionary" do - url "https://files.pythonhosted.org/packages/f6/45/eafb0bba0f9988f6a2520f9ca2df2c82ddfa8d67c95d6625452e97b204a5/questionary-2.1.1.tar.gz" - sha256 "3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d" - end - - resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/1d/d6/9773d48804d085962c4f522db96f6a9ea9bd2e0480b3959a929176d92f01/rich-13.5.3.tar.gz" - sha256 "87b43e0543149efa1253f485cd845bb7ee54df16c9617b8a893650ab84b4acb6" - end - - resource "ruamel-yaml" do - url "https://files.pythonhosted.org/packages/c7/3b/ebda527b56beb90cb7652cb1c7e4f91f48649fbcd8d2eb2fb6e77cd3329b/ruamel_yaml-0.19.1.tar.gz" - sha256 "53eb66cd27849eff968ebf8f0bf61f46cdac2da1d1f3576dd4ccee9b25c31993" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "smmap" do - url "https://files.pythonhosted.org/packages/1f/ea/49c993d6dfdd7338c9b1000a0f36817ed7ec84577ae2e52f890d1a4ff909/smmap-5.0.3.tar.gz" - sha256 "4d9debb8b99007ae47165abc08670bd74cb74b5227dda7f643eccc4e9eb5642c" - end - - resource "sortedcontainers" do - url "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz" - sha256 "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/f5/24/cb09efec5cc954f7f9b930bf8279447d24618bb6758d4f6adf2574c41780/typer-0.24.1.tar.gz" - sha256 "e39b4732d65fbdcde189ae76cf7cd48aeae72919dea1fdfc16593be016256b45" - end - - resource "typeshed-client" do - url "https://files.pythonhosted.org/packages/71/34/e9fcb7ebbace96b6ab0f397df47dad7e42d8819aa091bc6c4ea1e7f9226b/typeshed_client-2.9.0.tar.gz" - sha256 "9c2659a4ba11a9d8597d63770416b42c69861189bf861809f6443d329c84be3a" - end - - resource "typing-inspect" do - url "https://files.pythonhosted.org/packages/dc/74/1789779d91f1961fa9438e9a8710cdae6bd138c80d7303996933d117264a/typing_inspect-0.9.0.tar.gz" - sha256 "b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - resource "watchdog" do - url "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz" - sha256 "9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282" - end - - resource "wcwidth" do - url "https://files.pythonhosted.org/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz" - sha256 "cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159" - end - - # z3-solver 4.16.0.0 fails to build on macOS arm64 with Apple clang. - resource "z3-solver" do - url "https://files.pythonhosted.org/packages/8a/8e/0c8f17309549d2e5cde9a3ccefa6365437f1e7bafe71878eaf9478e47b18/z3_solver-4.15.4.0.tar.gz" - sha256 "928c29b58c4eb62106da51c1914f6a4a55d0441f8f48a81b9da07950434a8946" - end - - resource "zipp" do - url "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz" - sha256 "a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166" - end - - def install - if OS.linux? - gcc = Formula["gcc"] - major = gcc.version.major.to_s - ENV["CC"] = (gcc.opt_bin/"gcc-#{major}").to_s - ENV["CXX"] = (gcc.opt_bin/"g++-#{major}").to_s - end - - ENV["OPENSSL_DIR"] = Formula["openssl@3"].opt_prefix.to_s - ENV["OPENSSL_LIB_DIR"] = Formula["openssl@3"].opt_lib.to_s - ENV["OPENSSL_INCLUDE_DIR"] = Formula["openssl@3"].opt_include.to_s - ENV.append_path "PKG_CONFIG_PATH", Formula["openssl@3"].opt_lib/"pkgconfig" - # Upstream sdist omits optional module directories referenced by force-include. - pyproject = buildpath/"pyproject.toml" - pyproject_content = pyproject.read - pyproject_content.gsub!(%r{^\s*"modules/backlog-core"\s*=.*\n}, "") - pyproject_content.gsub!(%r{^\s*"modules/bundle-mapper"\s*=.*\n}, "") - File.write(pyproject, pyproject_content) - - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/specfact --version") - assert_match "IDE Initialization Complete", shell_output("#{bin}/specfact init ide") - end -end diff --git a/Formula/s/speedscope.rb b/Formula/s/speedscope.rb index b65a51d812..b9291bd7b7 100644 --- a/Formula/s/speedscope.rb +++ b/Formula/s/speedscope.rb @@ -1,20 +1,23 @@ class Speedscope < Formula desc "Fast, interactive web-based viewer for performance profiles" homepage "https://www.speedscope.app/" - url "https://registry.npmjs.org/speedscope/-/speedscope-1.25.0.tgz" - sha256 "2831f1e0d26df914b477e522d78b8485511495a6af81a0b88158f8b48f9e0d03" + url "https://registry.npmjs.org/speedscope/-/speedscope-1.23.1.tgz" + sha256 "399319ce48f37746e4b48cdefa81e0dc41744ab2079204727c6aececf3cbe633" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "a993dfa3efcf30e5a395a14f757ca0fb1fc2c81066893548dd515cab7c08b715" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "2d60ecbc1f7afb0330908f06ab021413ddd96b9108174075a759aefa390aca63" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "131f832186f6d526954bba457215c547e0e90fe9630cd9c07c056bb4e8b7f16f" + sha256 cellar: :any_skip_relocation, ventura: "0dad33090fef9f527ea7fbe62b7ca9087592b21c87d982db209a1a44a5d49e49" + sha256 cellar: :any_skip_relocation, x86_64_linux: "dc748c538e3e56842746aaba9e2cba85835580b0365cacb32d4d5a8a549de3e3" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/s/spiffe-spike.rb b/Formula/s/spiffe-spike.rb deleted file mode 100644 index 3bb74ace4f..0000000000 --- a/Formula/s/spiffe-spike.rb +++ /dev/null @@ -1,48 +0,0 @@ -class SpiffeSpike < Formula - desc "Lightweight secrets store using SPIFFE as its identity control plane" - homepage "https://spike.ist/" - url "https://github.com/spiffe/spike/archive/refs/tags/v0.8.0.tar.gz" - sha256 "6cc31ed9b8b9890e83deb280065ed5d247562aab6b7e88e659bd66548ced5b4a" - license "Apache-2.0" - head "https://github.com/spiffe/spike.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5692410c7b18eff28856aa4b2d68ff9bf082c792eb5e6642e95c8c9debc7823e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0f9dae4b3b409709615b48439c41f222ff1cd9772373498b58deec0ddb4f84e5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1784fd98b7888101a9c7645d3b70fb0e940902b155460d744df946fc6b6a36fb" - sha256 cellar: :any_skip_relocation, arm64_linux: "e075f7812922178ca476ccadd847d6e0bd5cc94a3504e1528295630dd118f8d9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "420e6e596dcd1a2f77800cce9e3b6bc80a0b009587b27c677c95966e424b1927" - end - - depends_on "go" => :build - uses_from_macos "sqlite" - - def install - # cgo for sqlite dependency - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - ENV["GOFIPS140"] = "v1.0.0" - - # Workaround to avoid patchelf corruption when cgo is required - if OS.linux? && Hardware::CPU.arch == :arm64 - ENV["GO_EXTLINK_ENABLED"] = "1" - ENV.append "GOFLAGS", "-buildmode=pie" - end - - %w[keeper nexus spike].each do |cmd| - ldflags = "-s -w" - system "go", "build", *std_go_args(ldflags:, output: bin/cmd), "./app/#{cmd}/cmd/main.go" - end - end - - test do - output_log = testpath/"output.log" - pid = spawn bin/"keeper", [:out, :err] => output_log.to_s - sleep 1 - assert_match "SPIKE: Secure your secrets with SPIFFE", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/s/splitrail.rb b/Formula/s/splitrail.rb deleted file mode 100644 index 6c16cdd112..0000000000 --- a/Formula/s/splitrail.rb +++ /dev/null @@ -1,26 +0,0 @@ -class Splitrail < Formula - desc "Real-time token usage tracker and cost monitor for CLI coding agents" - homepage "https://github.com/Piebald-AI/splitrail" - url "https://github.com/Piebald-AI/splitrail/archive/refs/tags/v3.5.2.tar.gz" - sha256 "0195a600e30ba92e861468123c061bb456469fea55319cb83f3cb10852875ec3" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "cd8406751098ad72c1b3b94910fecd78748db846cc2a0bd4676b85669db99776" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c36ed71597f1aa13cdb042576711b15603bbf3bef83880e4ef38ea6a3956991a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "48f5f055e60361298b16121052a6b304890f8689f99ab063229438550c9e8d30" - sha256 cellar: :any_skip_relocation, arm64_linux: "86e64e4bdff8c7f32e8221052bfd2d7f4f625b54fe75bee3259efbd7fba8f9fc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9614b1808ddbef185b14c80bcea0233fe3fac044eefeb4457d4964c2e5555635" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/splitrail --version") - end -end diff --git a/Formula/s/spotiflac-cli.rb b/Formula/s/spotiflac-cli.rb deleted file mode 100644 index de2c06d482..0000000000 --- a/Formula/s/spotiflac-cli.rb +++ /dev/null @@ -1,49 +0,0 @@ -class SpotiflacCli < Formula - desc "Spotify downloader with playlist sync in mind" - homepage "https://github.com/Superredstone/spotiflac-cli" - url "https://github.com/Superredstone/spotiflac-cli/archive/refs/tags/v1.0.0.tar.gz" - sha256 "f79863279d61978ddc1f2dc3b8214c017aaf49b06c37ff315858c1c98d355e9c" - license "MIT" - head "https://github.com/Superredstone/spotiflac-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a682efb063603a3a28ffc2f44949f5fdeeb85ab44d25785b9261e572e9ecbe99" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a682efb063603a3a28ffc2f44949f5fdeeb85ab44d25785b9261e572e9ecbe99" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a682efb063603a3a28ffc2f44949f5fdeeb85ab44d25785b9261e572e9ecbe99" - sha256 cellar: :any_skip_relocation, arm64_linux: "289f46ec05476ebdc340569f40d90ff2dbf172759cf173f7a76a535de6dda88e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c8d321bd7baec62a2e00d885221b53115226d911a6cad033a466e3d2fbc37b70" - end - - depends_on "go" => :build - depends_on "ffmpeg" - - resource "spotiflac-backend" do - url "https://github.com/afkarxyz/SpotiFLAC/archive/refs/tags/v7.0.9.tar.gz" - sha256 "61bd2ec5590ad28c0c7f933d1e189d71fba7f596ca523e14d477e43e0e4afbb1" - end - - def install - resource("spotiflac-backend").stage(buildpath/"SpotiFLAC") - - rm_r "lib", force: true - rm_r "app", force: true - - cp_r "SpotiFLAC/backend", "lib" - (buildpath/"app").mkpath - cp "SpotiFLAC/app.go", "app/app.go" - - inreplace "app/app.go", "package main", "package app" - inreplace "app/app.go", '"spotiflac/backend"', 'backend "github.com/Superredstone/spotiflac-cli/lib"' - Dir["lib/*.go"].each do |file| - inreplace file, "package backend", "package lib" - end - - system "go", "build", *std_go_args - end - - test do - assert_match "Spotify downloader with playlist sync in mind.", shell_output("#{bin}/spotiflac-cli --help") - assert_match "Invalid URL.", shell_output("#{bin}/spotiflac-cli download 2>&1", 1) - end -end diff --git a/Formula/s/sprofile.rb b/Formula/s/sprofile.rb deleted file mode 100644 index bbafb82fda..0000000000 --- a/Formula/s/sprofile.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Sprofile < Formula - desc "Blazingly fast TUI application for viewing your Spotify listening activity" - homepage "https://github.com/GoodBoyNeon/sprofile" - url "https://github.com/GoodBoyNeon/sprofile/archive/refs/tags/v0.2.0.tar.gz" - sha256 "453464c1b1a7d25bf4e75ea7222e5cf2aab766469adb0afab8d8f5d999ea50c6" - license "MIT" - head "https://github.com/GoodBoyNeon/sprofile.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0a2af951bd5a4333b8e4f665e68536b081d9d20725894cdf67b61d5098dd018d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "52fb26bd7a27983c97f9eca0d5be919db196ce9300987be53bb5a5a084456904" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "335ca40e7d16a733a1f765ac47fe43b410939b80cfef270b0b87a23db0919401" - sha256 cellar: :any_skip_relocation, arm64_linux: "2d0f1de7b604cd625290c37acfe19e212752106cd5ab194668c3eee17a09e816" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d57762e867cb3893d0379e7646698fa20d331c8359c75a701dc4c8a64a9b0b37" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - output_log = testpath/"output.log" - - pid = spawn bin/"sprofile", [:out, :err] => output_log.to_s - sleep 1 - assert_match "* * Welcome to Sprofile! * *", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/s/sqd.rb b/Formula/s/sqd.rb deleted file mode 100644 index a48c3f1aa4..0000000000 --- a/Formula/s/sqd.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Sqd < Formula - desc "SQL-like document editor" - homepage "https://github.com/albertoboccolini/sqd" - url "https://github.com/albertoboccolini/sqd/archive/refs/tags/v0.2.0.tar.gz" - sha256 "7a761802a8e80d9a613a149a9feaf8243ed85160e04e451791f975dc7d2bd5c2" - license "MIT" - head "https://github.com/albertoboccolini/sqd.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a3fb17d694f8ffc53d36d5b38818a6f8f801a3bfd9e1298acc356359f0e0039b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a3fb17d694f8ffc53d36d5b38818a6f8f801a3bfd9e1298acc356359f0e0039b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a3fb17d694f8ffc53d36d5b38818a6f8f801a3bfd9e1298acc356359f0e0039b" - sha256 cellar: :any_skip_relocation, arm64_linux: "a2cedde3ee441194ab874005406d2a4a85c592ad1a5ede1c164952be4576184d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8e7ebe19644edae15b55de0dc580d49b41a73f693a59d0490cf8f7b009e6e380" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args, "." - end - - test do - (testpath/"sample.txt").write("alpha\nbeta\n") - output = shell_output("#{bin}/sqd \"SELECT content FROM *.txt WHERE content = 'alpha'\"") - assert_match "alpha", output - assert_match version.to_s, shell_output("#{bin}/sqd --version") - end -end diff --git a/Formula/s/sqlit.rb b/Formula/s/sqlit.rb deleted file mode 100644 index e8711de7c9..0000000000 --- a/Formula/s/sqlit.rb +++ /dev/null @@ -1,286 +0,0 @@ -class Sqlit < Formula - include Language::Python::Virtualenv - - desc "User friendly TUI for SQL databases" - homepage "https://github.com/Maxteabag/sqlit" - url "https://files.pythonhosted.org/packages/bb/9e/8ff4e1c7e7cf90828b7ef0c6afddfc54443b8f3dd7e4c8275d9ea7d9f3d1/sqlit_tui-1.4.0.tar.gz" - sha256 "fc100bb5527aedc14f5d0bbfc46a27bbbacde6e7ff602bc57dd8bbefbe7f68c4" - license "MIT" - head "https://github.com/Maxteabag/sqlit.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "fdaed22bb1199ceea191caad71a27e3a3839a127f591e339ef3f3f1cd1e98051" - sha256 cellar: :any, arm64_sequoia: "5b2cf50eb5c770a789602d524996ef008afa6bc2aefc622316158fbd8bb40701" - sha256 cellar: :any, arm64_sonoma: "405dc13cded6af6f63d87b3810fe7d18e340158a35446046c135492aab86473a" - sha256 arm64_linux: "37899c19110ed55a95c3d9bcbe99f26b79a89b1741ea65941eef7c1539a0c776" - sha256 x86_64_linux: "7cda814d31860aa3518a1d947e37ce15681b9106fbd65d77a56525749de91aa2" - end - - depends_on "cmake" => :build # for pyarrow - depends_on "ninja" => :build # for pyarrow - depends_on "apache-arrow" - depends_on "numpy" - depends_on "openblas" - depends_on "python@3.14" - - on_linux do - depends_on "patchelf" => :build # for pyarrow - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz" - sha256 "e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz" - sha256 "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" - end - - resource "docker" do - url "https://files.pythonhosted.org/packages/91/9b/4a2ea29aeba62471211598dac5d96825bb49348fa07e906ea930394a83ce/docker-7.1.0.tar.gz" - sha256 "ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "jaraco-classes" do - url "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz" - sha256 "47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd" - end - - resource "jaraco-context" do - url "https://files.pythonhosted.org/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz" - sha256 "f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3" - end - - resource "jaraco-functools" do - url "https://files.pythonhosted.org/packages/0f/27/056e0638a86749374d6f57d0b0db39f29509cce9313cf91bdc0ac4d91084/jaraco_functools-4.4.0.tar.gz" - sha256 "da21933b0417b89515562656547a77b4931f98176eb173644c0d35032a33d6bb" - end - - resource "keyring" do - url "https://files.pythonhosted.org/packages/43/4b/674af6ef2f97d56f0ab5153bf0bfa28ccb6c3ed4d1babf4305449668807b/keyring-25.7.0.tar.gz" - sha256 "fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "more-itertools" do - url "https://files.pythonhosted.org/packages/a2/f7/139d22fef48ac78127d18e01d80cf1be40236ae489769d17f35c3d425293/more_itertools-11.0.2.tar.gz" - sha256 "392a9e1e362cbc106a2457d37cabf9b36e5e12efd4ebff1654630e76597df804" - end - - resource "numpy" do - url "https://files.pythonhosted.org/packages/d7/9f/b8cef5bffa569759033adda9481211426f12f53299629b410340795c2514/numpy-2.4.4.tar.gz" - sha256 "2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0" - end - - resource "pandas" do - url "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz" - sha256 "e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz" - sha256 "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" - end - - resource "pyarrow" do - url "https://files.pythonhosted.org/packages/88/22/134986a4cc224d593c1afde5494d18ff629393d74cc2eddb176669f234a4/pyarrow-23.0.1.tar.gz" - sha256 "b8c5873e33440b2bc2f4a79d2b47017a89c5a24116c055625e6f2ee50523f019" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "pyperclip" do - url "https://files.pythonhosted.org/packages/e8/52/d87eba7cb129b81563019d1679026e7a112ef76855d6159d24754dbd2a51/pyperclip-1.11.0.tar.gz" - sha256 "244035963e4428530d9e3a6101a1ef97209c6825edab1567beac148ccc1db1b6" - end - - resource "python-dateutil" do - url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" - end - - resource "pytz" do - url "https://files.pythonhosted.org/packages/56/db/b8721d71d945e6a8ac63c0fc900b2067181dbb50805958d4d4661cf7d277/pytz-2026.1.post1.tar.gz" - sha256 "3378dde6a0c3d26719182142c56e60c7f9af7e968076f31aae569d72a0358ee1" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz" - sha256 "18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" - sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "sqlparse" do - url "https://files.pythonhosted.org/packages/90/76/437d71068094df0726366574cf3432a4ed754217b436eb7429415cf2d480/sqlparse-0.5.5.tar.gz" - sha256 "e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/cf/2f/d44f0f12b3ddb1f0b88f7775652e99c6b5a43fd733badf4ce064bdbfef4a/textual-8.2.3.tar.gz" - sha256 "beea7b86b03b03558a2224f0cc35252e60ef8b0c4353b117b2f40972902d976a" - end - - resource "textual-fastdatatable" do - url "https://files.pythonhosted.org/packages/1e/ec/8cc2204560200dcc80abc432a61eb6f99672049aecfd0860472cfc3f82fe/textual_fastdatatable-0.14.0.tar.gz" - sha256 "cb99e208fb96c7eb5cfb7f225a280da950bd8cfb29d685a49071787c80218901" - end - - resource "tree-sitter" do - url "https://files.pythonhosted.org/packages/66/7c/0350cfc47faadc0d3cf7d8237a4e34032b3014ddf4a12ded9933e1648b55/tree-sitter-0.25.2.tar.gz" - sha256 "fe43c158555da46723b28b52e058ad444195afd1db3ca7720c59a254544e9c20" - end - - resource "tree-sitter-bash" do - url "https://github.com/tree-sitter/tree-sitter-bash/archive/refs/tags/v0.25.1.tar.gz" - sha256 "2e785a761225b6c433410ef9c7b63cfb0a4e83a35a19e0f2aec140b42c06b52d" - end - - resource "tree-sitter-css" do - url "https://github.com/tree-sitter/tree-sitter-css/archive/refs/tags/v0.25.0.tar.gz" - sha256 "03965344d8c0435dc54fb45b281578420bb7db8b99df4d34e7e74105a274cb79" - end - - resource "tree-sitter-go" do - url "https://github.com/tree-sitter/tree-sitter-go/archive/refs/tags/v0.25.0.tar.gz" - sha256 "2dc241b97872c53195e01b86542b411a3c1a6201d9c946c78d5c60c063bba1ef" - end - - resource "tree-sitter-html" do - url "https://github.com/tree-sitter/tree-sitter-html/archive/refs/tags/v0.23.2.tar.gz" - sha256 "21fa4f2d4dcb890ef12d09f4979a0007814f67f1c7294a9b17b0108a09e45ef7" - end - - resource "tree-sitter-java" do - url "https://github.com/tree-sitter/tree-sitter-java/archive/refs/tags/v0.23.5.tar.gz" - sha256 "cb199e0faae4b2c08425f88cbb51c1a9319612e7b96315a174a624db9bf3d9f0" - end - - resource "tree-sitter-javascript" do - url "https://github.com/tree-sitter/tree-sitter-javascript/archive/refs/tags/v0.25.0.tar.gz" - sha256 "9712fc283d3dc01d996d20b6392143445d05867a7aad76fdd723824468428b86" - end - - resource "tree-sitter-json" do - url "https://github.com/tree-sitter/tree-sitter-json/archive/refs/tags/v0.24.8.tar.gz" - sha256 "acf6e8362457e819ed8b613f2ad9a0e1b621a77556c296f3abea58f7880a9213" - end - - resource "tree-sitter-markdown" do - url "https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/refs/tags/v0.5.1.tar.gz" - sha256 "acaffe5a54b4890f1a082ad6b309b600b792e93fc6ee2903d022257d5b15e216" - end - - resource "tree-sitter-python" do - url "https://github.com/tree-sitter/tree-sitter-python/archive/refs/tags/v0.25.0.tar.gz" - sha256 "4609a3665a620e117acf795ff01b9e965880f81745f287a16336f4ca86cf270c" - end - - resource "tree-sitter-regex" do - url "https://github.com/tree-sitter/tree-sitter-regex/archive/refs/tags/v0.25.0.tar.gz" - sha256 "853200795c4cf856eba9de3f4f9abb370d22aef4fb32e8911e210bb7e4253087" - end - - resource "tree-sitter-rust" do - url "https://github.com/tree-sitter/tree-sitter-rust/archive/refs/tags/v0.24.2.tar.gz" - sha256 "061e90a539a55a6aa65dceb0ad6425c50ab1a6e3e6d4ba430e2795ed4550f10e" - end - - resource "tree-sitter-sql" do - url "https://github.com/DerekStride/tree-sitter-sql/releases/download/v0.3.11/tree-sitter-sql-v0.3.11.tar.gz" - sha256 "a97a324eae9c81ed68f6e162b9b33f8911fc6442caa2950e57c498e2460d1387" - end - - resource "tree-sitter-toml" do - url "https://github.com/tree-sitter-grammars/tree-sitter-toml/archive/refs/tags/v0.7.0.tar.gz" - sha256 "7d52a7d4884f307aabc872867c69084d94456d8afcdc63b0a73031a8b29036dc" - end - - resource "tree-sitter-xml" do - url "https://github.com/tree-sitter-grammars/tree-sitter-xml/archive/refs/tags/v0.7.0.tar.gz" - sha256 "4330a6b3685c2f66d108e1df0448eb40c468518c3a66f2c1607a924c262a3eb9" - end - - resource "tree-sitter-yaml" do - url "https://github.com/tree-sitter-grammars/tree-sitter-yaml/archive/refs/tags/v0.7.2.tar.gz" - sha256 "aeaff5731bb8b66c7054c8aed33cd5edea5f4cd2ac71654f3f6c2ba2073d8fac" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "tzdata" do - url "https://files.pythonhosted.org/packages/19/f5/cd531b2d15a671a40c0f66cf06bc3570a12cd56eef98960068ebbad1bf5a/tzdata-2026.1.tar.gz" - sha256 "67658a1903c75917309e753fdc349ac0efd8c27db7a0cb406a25be4840f87f98" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - def install - # pandas 2.3.x metadata generation is incompatible with Meson 1.11. - (buildpath/"constraints.txt").write "meson<1.11\n" - ENV["PIP_CONSTRAINT"] = buildpath/"constraints.txt" - - venv = virtualenv_create(libexec, "python3.14") - venv.pip_install resources - venv.pip_install_and_link buildpath - end - - test do - db_path = testpath/"sample.db" - - system bin/"sqlit", "connections", "add", "sqlite", - "--name", "local", - "--file-path", db_path.to_s - - output = shell_output("#{bin}/sqlit query --connection local --query 'SELECT 1 AS n' --format json") - assert_match "\"n\": 1", output - end -end diff --git a/Formula/s/squads-cli.rb b/Formula/s/squads-cli.rb deleted file mode 100644 index 082966a940..0000000000 --- a/Formula/s/squads-cli.rb +++ /dev/null @@ -1,23 +0,0 @@ -class SquadsCli < Formula - desc "Open source CLI for AI agent coordination with domain-aligned squads" - homepage "https://github.com/agents-squads/squads-cli" - url "https://registry.npmjs.org/squads-cli/-/squads-cli-0.3.1.tgz" - sha256 "aefca827b0a79e9b53a186911a6f469a4ed773e3e4aae129e96b9d648f5d69de" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "af06f0023116bc1e5c88750aa9601fcf220d2d9ca47c21122236ca50473dd859" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/squads --version") - end -end diff --git a/Formula/s/squall.rb b/Formula/s/squall.rb deleted file mode 100644 index 74e23c834a..0000000000 --- a/Formula/s/squall.rb +++ /dev/null @@ -1,87 +0,0 @@ -class Squall < Formula - include Language::Python::Virtualenv - - desc "TUI SQLite Viewer and Editor" - homepage "https://github.com/driscollis/squall" - url "https://files.pythonhosted.org/packages/ad/6f/288bb063c1755774b95830e95bd89d3459204ad1b962e5efee50f67d4c58/squall_sql-0.1.8.tar.gz" - sha256 "f5d95817d3729ed47f45afa499e7de7209cb41a5bc44fc1a9d121b14d9838191" - license "MIT" - head "https://github.com/driscollis/squall.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1266c0a662efdfbb62848f30ba52134ba015869e79b89281f8028c7cbc2409ca" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a6b8f316356138d2ca7fe4c4037ffe1061b2a3d69b81f2abab4ebba47c088b22" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "95a5b58c8a78256eafa8d4189104ee8e7f0039cdcae9368a6ab7aadcf5c925bd" - sha256 cellar: :any_skip_relocation, sequoia: "804ac93403e0450d57d7faf8a22267b131d5d38bbb1c6e8737bc6eef47a7f543" - sha256 cellar: :any_skip_relocation, arm64_linux: "6faa4f39f1390c26fe05b9bb929dc3c4b4c2f450e0c3f313da7d9f75d8c4d0a0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ca97098579fddabc4e0e2f453de4934f415eb63197a2e569cee18a8ebf092029" - end - - depends_on "python@3.14" - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" - sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "sqlalchemy" do - url "https://files.pythonhosted.org/packages/f0/f2/840d7b9496825333f532d2e3976b8eadbf52034178aac53630d09fe6e1ef/sqlalchemy-2.0.44.tar.gz" - sha256 "0ae7454e1ab1d780aee69fd2aae7d6b8670a581d8847f2d1e0f7ddfbf47e5a22" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/f6/2f/f0b408f227edca21d1996c1cd0b65309f0cbff44264aa40aded3ff9ce2e1/textual-6.6.0.tar.gz" - sha256 "53345166d6b0f9fd028ed0217d73b8f47c3a26679a18ba3b67616dcacb470eec" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - def install - virtualenv_install_with_resources - end - - test do - (testpath/"test.db").write "" - output = shell_output("#{bin}/squall -f #{testpath}/test.db 2>&1") - assert_match "IndexError: list index out of range", output - end -end diff --git a/Formula/s/sshmail.rb b/Formula/s/sshmail.rb deleted file mode 100644 index 207ccd46a8..0000000000 --- a/Formula/s/sshmail.rb +++ /dev/null @@ -1,68 +0,0 @@ -class Sshmail < Formula - desc "Encrypted message hub over SSH" - homepage "https://github.com/rolandnsharp/sshmail" - url "https://github.com/rolandnsharp/sshmail/archive/89793373eadbb773906192dc2f886cd168b9009f.tar.gz" - version "20260312.8979337" - sha256 "9c787fb3e0c39861a7503391ae8593385b114ac4976ecace577598e0af89f4b0" - license "AGPL-3.0-only" - head "https://github.com/rolandnsharp/sshmail.git", branch: "main" - - livecheck do - skip "no tagged releases" - end - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "16278d1139f23fe47c66550d9bc11e07ec072e99967b1f7971b97f933b33dd66" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "16278d1139f23fe47c66550d9bc11e07ec072e99967b1f7971b97f933b33dd66" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "16278d1139f23fe47c66550d9bc11e07ec072e99967b1f7971b97f933b33dd66" - sha256 cellar: :any_skip_relocation, arm64_linux: "6dcd8fe0425d61b033940c499aa8c36ee52d45d51c23cdf0a81c3549e108bc62" - sha256 cellar: :any_skip_relocation, x86_64_linux: "90a1aff371c2a472fb2303d29e3e4aaeecc6dea5e2ea4308958f762ef20f1ce5" - end - - depends_on "go" => :build - - def install - (var/"sshmail").mkpath - - system "go", "build", *std_go_args(ldflags: "-s -w", output: bin/"sshmail"), "./cmd/tui" - system "go", "build", *std_go_args(ldflags: "-s -w", output: bin/"sshmail-hub"), "./cmd/hub" - end - - service do - run [opt_bin/"sshmail-hub"] - keep_alive true - working_dir var/"sshmail" - environment_variables BBS_DATA_DIR: var/"sshmail" - end - - test do - port = free_port - ssh_key = testpath/"id_ed25519" - known_hosts = testpath/"known_hosts" - log_file = testpath/"sshmail-hub.log" - data_dir = testpath/"data" - - system "ssh-keygen", "-t", "ed25519", "-N", "", "-f", ssh_key - - pid = spawn({ "HUB_PORT" => port.to_s, "BBS_DATA_DIR" => data_dir.to_s }, - bin/"sshmail-hub", [:out, :err] => log_file.to_s) - sleep 2 - - register = shell_output("ssh -o BatchMode=yes -o IdentitiesOnly=yes " \ - "-o StrictHostKeyChecking=no " \ - "-o UserKnownHostsFile=#{known_hosts} -o LogLevel=ERROR " \ - "-i #{ssh_key} -p #{port} 127.0.0.1 register testagent") - assert_match "\"ok\": true", register - assert_match "\"name\": \"testagent\"", register - - output = shell_output("ssh -o BatchMode=yes -o IdentitiesOnly=yes " \ - "-o StrictHostKeyChecking=no " \ - "-o UserKnownHostsFile=#{known_hosts} -o LogLevel=ERROR " \ - "-i #{ssh_key} -p #{port} 127.0.0.1 whoami") - assert_match "\"name\": \"testagent\"", output - ensure - Process.kill("TERM", pid) if pid - Process.wait(pid) if pid - end -end diff --git a/Formula/s/ssl-checker.rb b/Formula/s/ssl-checker.rb deleted file mode 100644 index 3a21758c43..0000000000 --- a/Formula/s/ssl-checker.rb +++ /dev/null @@ -1,38 +0,0 @@ -class SslChecker < Formula - desc "Fast and beautiful program to check all your https endpoints" - homepage "https://github.com/fabio42/ssl-checker" - url "https://github.com/fabio42/ssl-checker/archive/refs/tags/v0.1.7.tar.gz" - sha256 "a29d9ff77be95acbc4e1100b6e0dce867f5554d9bd3f0ae7bbc4a8c825f07ec8" - license "MIT" - head "https://github.com/fabio42/ssl-checker.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5332cbf012db83f7bc932627c86eb2e0930ed0bcb15647361b53699051015568" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5332cbf012db83f7bc932627c86eb2e0930ed0bcb15647361b53699051015568" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5332cbf012db83f7bc932627c86eb2e0930ed0bcb15647361b53699051015568" - sha256 cellar: :any_skip_relocation, arm64_linux: "af12e04868f1d1d7b57db943e0d4b2a96bf7720cb2fa570280406b3e112be188" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c8b8a3e75620b1b53f553e4b76eecc85bfec2c4051f983a5147b08b1c97ee029" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/fabio42/ssl-checker/cmd.Version=#{version}" - system "go", "build", *std_go_args(ldflags:) - - generate_completions_from_executable(bin/"ssl-checker", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/ssl-checker --version") - - # failed with Linux CI, `/dev/tty: no such device or address` error - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - output = shell_output("#{bin}/ssl-checker domains example.com --silent") - assert_match "example.com", output - assert_match "CN=", output - end -end diff --git a/Formula/s/ssm.rb b/Formula/s/ssm.rb deleted file mode 100644 index 19fb24d21d..0000000000 --- a/Formula/s/ssm.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Ssm < Formula - desc "Terminal Secure Shell Manager" - homepage "https://github.com/lfaoro/ssm" - url "https://github.com/lfaoro/ssm/archive/refs/tags/0.4.0.tar.gz" - sha256 "e6be15721429ae654880bc432becc3b80d06cd558e5bea1f2806e408517e5c87" - license "BSD-3-Clause" - head "https://github.com/lfaoro/ssm.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5f2d9819122f708355e8bfb2bcdfb451ec63868be70705bfd632c82b44732cbc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5f2d9819122f708355e8bfb2bcdfb451ec63868be70705bfd632c82b44732cbc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5f2d9819122f708355e8bfb2bcdfb451ec63868be70705bfd632c82b44732cbc" - sha256 cellar: :any_skip_relocation, arm64_linux: "e5d9c2be4582ce6eea973c0317b0e6da1a572df5559eecfcca0b518d3934e8d1" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1186f8ca5236dfee2170f37ae7d8037103f26077fe8e299889f079edd0bee7cb" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.BuildVersion=#{version} -X main.BuildDate=#{time.iso8601} -X main.BuildSHA=#{tap.user}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/ssm --version") - end -end diff --git a/Formula/s/starcharts.rb b/Formula/s/starcharts.rb deleted file mode 100644 index 9fade533c3..0000000000 --- a/Formula/s/starcharts.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Starcharts < Formula - desc "Plot your repository stars over time" - homepage "https://starchart.cc/" - url "https://github.com/caarlos0/starcharts/archive/refs/tags/v1.11.0.tar.gz" - sha256 "2c98d43d5056a35eaf21455754b6253b526f5c0c7e4b8517407e247257e1beaf" - license "MIT" - head "https://github.com/caarlos0/starcharts.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "55818e8d35f6293a7dda24d9db6419d312969ecb425b2dda2c4ce56c65b20e92" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d4cf843efcab030655670593a554916598098028a26c052e29a0652ceb19b6fb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d4508f5bdf7345f8734dcd1e0e313e53e17d2268be6fb82629e2dc3e53802886" - sha256 cellar: :any_skip_relocation, arm64_linux: "bea9f2b64bbf2a4f2e942169195a4f7307ee677e26055fe87ff9713b1d2e2d43" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ddc105545ef06f940fb3ce619e49cf8a42324b87b78e6b705513327284578d33" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" - - system "go", "mod", "tidy" - system "go", "build", *std_go_args(ldflags:) - end - - test do - pid = spawn bin/"starcharts" - - sleep 2 - - begin - output = shell_output("curl -s http://localhost:3000") - assert_match "meta name=\"description\" content=\"StarCharts\"", output.strip - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/s/starlit.rb b/Formula/s/starlit.rb deleted file mode 100644 index c3ed7bfd1a..0000000000 --- a/Formula/s/starlit.rb +++ /dev/null @@ -1,136 +0,0 @@ -class Starlit < Formula - include Language::Python::Virtualenv - - desc "Minimal, cute and customizable weather cli" - homepage "https://github.com/ashuhlee/starlit" - url "https://files.pythonhosted.org/packages/57/f9/41ae3003ede961ce78955420d1b7f3d14bfbc3bd6ba23fda42ee2e9bcdf6/starlit_cli-0.3.0.tar.gz" - sha256 "3f3090e3ebb3886e5f12c8113319bbc678458a9bb9fdaba3bed66be86acb1020" - # missing license - head "https://github.com/ashuhlee/starlit.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "aa7c043231fccf9d33103785ceba7acc4ff1d4c3b426ad2269c39c0df1b037fd" - end - - depends_on "certifi" - depends_on "python@3.14" - - pypi_packages exclude_packages: "certifi" - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "iniconfig" do - url "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz" - sha256 "c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730" - end - - resource "loguru" do - url "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz" - sha256 "19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" - sha256 "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" - end - - resource "pluggy" do - url "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" - sha256 "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "pytest" do - url "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz" - sha256 "75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz" - sha256 "73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4" - end - - resource "rich-color-ext" do - url "https://files.pythonhosted.org/packages/c3/5f/b1d43c38dbeb06166570a02000dd80c82c3c6cb923e8663f547cc6442372/rich_color_ext-0.1.4.tar.gz" - sha256 "7c5aaf93d9ba06e839e7e4a0c5cdc917b2e1339343070433a415353fb3cf152f" - end - - resource "rich-gradient" do - url "https://files.pythonhosted.org/packages/12/3a/70d67193d8cfa97b8c3077061c2f04ccbc6a00c0f984f6b1415215f16875/rich_gradient-0.3.6.tar.gz" - sha256 "f91285ffa6850df24de49abd3b1daf6cb750c5c1270d0170abb6f56e5c62561d" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "terminaltexteffects" do - url "https://files.pythonhosted.org/packages/16/d2/9293a967c80172bc56b342e51cf5354bfdf0bf2b4b9df0b25f91c9c7c439/terminaltexteffects-0.14.2.tar.gz" - sha256 "213c899ce4b8f7643d2d0568af144e1274e11e4493db9f5b04387bd17c217714" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/c5/58/a79003b91ac2c6890fc5d90145c662fd5771c6f11447f116b63300436bc9/typer-0.12.5.tar.gz" - sha256 "f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" - sha256 "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" - end - - def install - # The source doesn't have a valid SOURCE_DATE_EPOCH, so here we set default. - ENV["SOURCE_DATE_EPOCH"] = "1451574000" - - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/starlit --version") - end -end diff --git a/Formula/s/statoscope.rb b/Formula/s/statoscope.rb index b52dbe86b7..9b4936fb23 100644 --- a/Formula/s/statoscope.rb +++ b/Formula/s/statoscope.rb @@ -17,7 +17,7 @@ class Statoscope < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/s/steamfetch.rb b/Formula/s/steamfetch.rb deleted file mode 100644 index 68838c1563..0000000000 --- a/Formula/s/steamfetch.rb +++ /dev/null @@ -1,54 +0,0 @@ -class Steamfetch < Formula - desc "Display Steam stats in the terminal" - homepage "https://github.com/unhappychoice/steamfetch" - url "https://github.com/unhappychoice/steamfetch/archive/refs/tags/v0.5.5.tar.gz" - sha256 "9726d9675cac0ca7336d64d53f550a7271c184d10be59e65b7a205a7f2ccc3a3" - license "ISC" - head "https://github.com/unhappychoice/steamfetch.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "0de60fe4d38d4ed66b9d17424aa7c1b9a0dc5bd15305f4e06bb0fbb2e8b68ec4" - sha256 arm64_sequoia: "d19e95e4b14754b2a41bfb647cc9df50f4bb908348fd592bf300fddea59cd5e4" - sha256 arm64_sonoma: "9b8ea23671ff00b1ffe2c9ff71e4acf5870f5492ef3c65e8b1e3f585081e02bc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2ba60b06b8780a26dd12114d4ef9514c38f70868e518d87a39635ac615cf1996" - end - - depends_on "rust" => :build - - on_linux do - depends_on "pkgconf" => :build - depends_on arch: :x86_64 # steamworks 0.12.2 fails to build on Linux arm64 - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - - steam_api = Dir["target/release/build/steamworks-sys-*/out/libsteam_api.*"].first - raise "libsteam_api artifact not found" if steam_api.nil? - - (lib/"steamfetch").install steam_api - - if OS.mac? - MachO::Tools.change_dylib_id( - "#{lib}/steamfetch/libsteam_api.dylib", - "@rpath/libsteam_api.dylib", - ) - MachO::Tools.change_install_name( - bin/"steamfetch", - "@loader_path/libsteam_api.dylib", - "@rpath/libsteam_api.dylib", - ) - system "/usr/bin/codesign", "-f", "-s", "-", bin/"steamfetch" - end - end - - test do - assert_match version.to_s, shell_output("#{bin/"steamfetch"} --version") - - ENV["NO_COLOR"] = "1" - output = shell_output("#{bin/"steamfetch"} --demo") - assert_match "unhappychoice", output - end -end diff --git a/Formula/s/strace-tui.rb b/Formula/s/strace-tui.rb deleted file mode 100644 index adc5c6630b..0000000000 --- a/Formula/s/strace-tui.rb +++ /dev/null @@ -1,40 +0,0 @@ -class StraceTui < Formula - desc "Terminal user interface for visualizing and exploring strace output" - homepage "https://github.com/Rodrigodd/strace-tui" - url "https://github.com/Rodrigodd/strace-tui/archive/refs/tags/v1.0.1.tar.gz" - sha256 "da3ee283c3e293392ddba9a8608c5fe045537ae700c34b4582fedefa5bd808dd" - license any_of: ["Apache-2.0", "MIT"] - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "42d841b78a6e8bd53f1b0279372a40ad26d630361656e9edd11845ef87aced63" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "24107ad36c6cab82b325d861b79b65f2a2ad582889a2d5bb47adb39cbe994e5f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bc449eaecd674cc8eb41ad61a57665d3406c1470a5b8898b695e06eaa295903d" - sha256 cellar: :any_skip_relocation, arm64_linux: "79ef2f13f92515c967dc5bcd84e65fd01b1f51d98a5264585a5a7b805b121515" - sha256 cellar: :any_skip_relocation, x86_64_linux: "77f61d7eab6c5743d5b2cb071359f21970abf9853b657e105abbfba26fdb0f6d" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: ".") - end - - test do - require "json" - - sample = <<~EOS - 12345 10:20:30 write(1, "test\\n", 5) = 5 - > /usr/lib/libc.so.6(__write+0x14) [0x10e53e] - 12345 10:20:31 close(1) = 0 - EOS - (testpath/"trace.txt").write(sample) - - output = shell_output("#{bin/"strace-tui"} parse #{testpath}/trace.txt --json") - parsed = JSON.parse(output) - - assert_kind_of Array, parsed["entries"] - assert_equal "write", parsed["entries"].first["syscall_name"] - assert_kind_of Hash, parsed["summary"] - end -end diff --git a/Formula/s/stree.rb b/Formula/s/stree.rb deleted file mode 100644 index 56154f51cc..0000000000 --- a/Formula/s/stree.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Stree < Formula - desc "Directory trees of AWS S3 Buckets" - homepage "https://github.com/orangekame3/stree" - url "https://github.com/orangekame3/stree/archive/refs/tags/v0.0.21.tar.gz" - sha256 "1edce8b1aa86a22a7ce4f8e1781eebf44ee838a70925eeaf45c7b35b3c22c03b" - license "MIT" - head "https://github.com/orangekame3/stree.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "62103d1d5feec28603f6529e537827f00b9980c53f0ce55e71329427cea8d398" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a9fe2c200e7756432f704bccfd3db5e7db6d4e74ee18574b2938d205e80afed4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6699b3806a5ba37ceb361383bc3d67e94fe208fcaf6a6752868ff344de0718a8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bc519645ed53abe7d7f57f59ec19f9d4f31f66efad2ae7361a7b6a7a920f989a" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match version.to_s, shell_output("#{bin}/stree --version") - - output = shell_output("#{bin}/stree --directory-only test 2>&1", 1) - assert_match "failed to initialize AWS session", output - end -end diff --git a/Formula/s/strimzi-kafka-cli.rb b/Formula/s/strimzi-kafka-cli.rb index a24ec63a79..4e20db894f 100644 --- a/Formula/s/strimzi-kafka-cli.rb +++ b/Formula/s/strimzi-kafka-cli.rb @@ -9,28 +9,28 @@ class StrimziKafkaCli < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e1c78e7a582dc420e7f1133ea6a9fc869fc4bdc09ab2d32e1d4f68015feb62db" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "417c1a6b6be2fa8e7e9556b7340dbb1631ae64de9f50bcc58ade3ba89a527fa4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "37fcd7112906a4fced6607a4dd86a6e39c30ada96fa5c47020d1136e971e5b45" - sha256 cellar: :any_skip_relocation, arm64_linux: "a924d6be3a341c5e6b42f561efe20b0472bcc7ce0cf855f99a2d398a06b3785d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d54d70315512debea38df768eae0299639e361b8c2412787220094cb062e578b" + sha256 cellar: :any, arm64_sequoia: "86e4bc6e96601c9091f5820367bfd3945ba854db5a125fd8a7bace9644645414" + sha256 cellar: :any, arm64_sonoma: "69964e8bc697c2abc08f816a6c12a62865501b3be3549e9b91f86a20b219aea9" + sha256 cellar: :any, ventura: "13fd57ba456502ccd5edea86e178fbf7e8160464e21661bbca3105b7b858c1db" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7575ff88ed5a4e20a803473742e968bd66ec1dadc25ca524611258ec316feadc" end - depends_on "certifi" => :no_linkage depends_on "libyaml" depends_on "python@3.13" - pypi_packages exclude_packages: "certifi" - resource "cachetools" do - url "https://files.pythonhosted.org/packages/cc/7e/b975b5814bd36faf009faebe22c1072a1fa1168db34d285ef0ba071ad78c/cachetools-6.2.1.tar.gz" - sha256 "3f391e4bd8f8bf0931169baf7456cc822705f4e2a31f840d218f445b9a854201" + url "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz" + sha256 "1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4" + end + + resource "certifi" do + url "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz" + sha256 "0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6" end resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz" + sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" end resource "click" do @@ -39,13 +39,13 @@ class StrimziKafkaCli < Formula end resource "google-auth" do - url "https://files.pythonhosted.org/packages/ff/ef/66d14cf0e01b08d2d51ffc3c20410c4e134a1548fc246a6081eae585a4fe/google_auth-2.43.0.tar.gz" - sha256 "88228eee5fc21b62a1b5fe773ca15e67778cb07dc8363adcb4a8827b52d81483" + url "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz" + sha256 "500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jproperties" do @@ -59,8 +59,8 @@ class StrimziKafkaCli < Formula end resource "oauthlib" do - url "https://files.pythonhosted.org/packages/0b/5f/19930f824ffeb0ad4372da4812c50edbd1434f678c90c2733e1188edfc63/oauthlib-3.3.1.tar.gz" - sha256 "0f0f8aa759826a193cf66c12ea1af1637f87b9b4622d46e866952bb022e538c9" + url "https://files.pythonhosted.org/packages/6d/fa/fbf4001037904031639e6bfbfc02badfc7e12f137a8afa254df6c4c8a670/oauthlib-3.2.2.tar.gz" + sha256 "9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918" end resource "pyasn1" do @@ -79,13 +79,13 @@ class StrimziKafkaCli < Formula end resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + url "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz" + sha256 "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422" end resource "requests-oauthlib" do @@ -109,8 +109,8 @@ class StrimziKafkaCli < Formula end resource "websocket-client" do - url "https://files.pythonhosted.org/packages/2c/41/aa4bf9664e4cda14c3b39865b12251e8e7d239f4cd0e3cc1b6c2ccde25c1/websocket_client-1.9.0.tar.gz" - sha256 "9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98" + url "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz" + sha256 "3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da" end resource "wget" do @@ -119,16 +119,7 @@ class StrimziKafkaCli < Formula end def install - venv = virtualenv_install_with_resources without: "jproperties" - - resource("jproperties").stage do - # `jproperties` builds with legacy `setuptools_scm` pinning that breaks - # with modern setuptools where `pkg_resources` is removed. - inreplace "setup.py", " use_scm_version=True,\n", " version=\"2.1.1\",\n" - inreplace "setup.py", /setup_requires=\[\n\s+"setuptools_scm ~= 3\.3"\n\s+\],\n/m, "" - - venv.pip_install Pathname.pwd - end + virtualenv_install_with_resources end test do diff --git a/Formula/s/stripe-mcp-server.rb b/Formula/s/stripe-mcp-server.rb index 130df1f658..75017773a5 100644 --- a/Formula/s/stripe-mcp-server.rb +++ b/Formula/s/stripe-mcp-server.rb @@ -1,13 +1,16 @@ class StripeMcpServer < Formula desc "MCP server for Stripe" homepage "https://github.com/stripe/agent-toolkit/tree/main/modelcontextprotocol" - url "https://registry.npmjs.org/@stripe/mcp/-/mcp-0.3.3.tgz" - sha256 "2478a32e0d4e6a2c30dde7d04d36f6a6cecaa5750b1432f147aa891b785cab96" + url "https://registry.npmjs.org/@stripe/mcp/-/mcp-0.2.4.tgz" + sha256 "49af58e19e6c0a25d823036346c2ea47e0676fd00d20ad6d0f22f0f1631e50b9" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "5d6e897667757b80d65c1240527e8949771b4f1b1a733d0b6672c26e5c9e65af" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "c198731668c2b540020c1a7675ba65fe86f360ccde5ca78d0479584d239510e2" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "97e86bb1e1e72225c8a4a14ec6c8dce708463cd185a79a926eebdb5cd8beb9a9" + sha256 cellar: :any_skip_relocation, ventura: "ab50b3cb860176c679e21f2dcaa33e3b33ee4fec79ea7d81ee5e2923ee0756e2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "0d1f0b2b5819d4dfbbc7aa4bfe9f172af87d6d85eadb03a3c77f97f69fcb295d" end depends_on "node" @@ -23,8 +26,7 @@ def install {"jsonrpc":"2.0","id":2,"method":"tools/list"} JSON - output = pipe_output("#{bin}/stripe-mcp-server --api-key=sk_TEST 2>&1", json, 0) - assert_match "Stripe MCP Server running on stdio", output - assert_match "Unauthorized. See https://docs.stripe.com/mcp", output + output = pipe_output("#{bin}/stripe-mcp-server --tools=all --api-key=sk_TEST", json, 0) + assert_match "This tool will create a customer in Stripe", output end end diff --git a/Formula/s/stylance-cli.rb b/Formula/s/stylance-cli.rb deleted file mode 100644 index dffe2e3280..0000000000 --- a/Formula/s/stylance-cli.rb +++ /dev/null @@ -1,46 +0,0 @@ -class StylanceCli < Formula - desc "Scoped CSS style imports for rust" - homepage "https://github.com/basro/stylance-rs" - url "https://github.com/basro/stylance-rs/archive/refs/tags/v0.8.0.tar.gz" - sha256 "3c47cdd2222c05da09fbc333e74ea1c04d63d5a3368fc7b2e225daa4be4a6e72" - license "MIT" - head "https://github.com/basro/stylance-rs.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "91a8d3cb21fdc188ef915c49f1b2197906918c143f4957d0751b353b1c531c5f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "18cc5fd5899cd7dad6d096b1b43ecd09986ae36fd677c332d8d3237eac208b32" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c1d285ec4db17f4249c2d04b074628990ee087f5bf3191e51ddaf65eaa3f678e" - sha256 cellar: :any_skip_relocation, arm64_linux: "9098c604ae476caabc25a1490d16ac4ffb7fbedeb0f77bf283cf23cc2cb4caec" - sha256 cellar: :any_skip_relocation, x86_64_linux: "588dfa581057f1d5d4bbb16ec17835246561ab24c4e20d948c5a64a48576761e" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: "stylance-cli") - end - - test do - assert_match version.to_s, shell_output("#{bin}/stylance --version") - - (testpath/"Cargo.toml").write <<~TOML - [package] - name = "stylance-test" - version = "0.1.0" - edition = "2021" - - [dependencies] - TOML - - (testpath/"src/button.module.css").write <<~CSS - .button { - background-color: blue; - color: white; - } - CSS - - system bin/"stylance", "--output-file", "all.css", testpath - assert_match "background-color: blue;", (testpath/"all.css").read - end -end diff --git a/Formula/s/sudocode.rb b/Formula/s/sudocode.rb deleted file mode 100644 index bfda098e49..0000000000 --- a/Formula/s/sudocode.rb +++ /dev/null @@ -1,58 +0,0 @@ -class Sudocode < Formula - desc "Git-native spec and issue management for AI-assisted development" - homepage "https://github.com/sudocode-ai/sudocode" - url "https://registry.npmjs.org/sudocode/-/sudocode-1.2.0.tgz" - sha256 "aa850176a5e51fb92de52a97048bf4526f23d1760595951c20179ad341faee8b" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "a22621f95a294b59de7fb73f50c2e413c2115f1a3ebb3d5fb5016afbf199d747" - sha256 arm64_sequoia: "8ec91d984d6c583b1025c9ae2d1dc99a8a20581fd5d5b22f8465a3de2374549b" - sha256 arm64_sonoma: "43cf4e3f1e37099f8072105914544b44d5d60eea2a2e1e9fc7dbbfbdfa44e099" - sha256 cellar: :any_skip_relocation, arm64_linux: "1c73de68e8b7ddeebf36d8a43fe831b3545059c132d81badacd08937972a75bb" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d01fbe40ae6c34ff902c6ecb1d39377784553a81001703f84083dff4607c8126" - end - - depends_on "pkgconf" => :build - depends_on "node@24" - depends_on "ripgrep" - depends_on "vips" - - def install - node_path = "#{Formula["node@24"].opt_bin}:#{Formula["node@24"].opt_libexec/"bin"}:" \ - "#{Formula["ripgrep"].opt_bin}:$PATH" - - ENV.prepend_path "PATH", Formula["node@24"].opt_bin - ENV.prepend_path "PATH", Formula["node@24"].opt_libexec/"bin" - ENV["npm_config_nodedir"] = Formula["node@24"].opt_prefix - ENV["SHARP_FORCE_GLOBAL_LIBVIPS"] = "1" - - system "npm", "install", *std_npm_args(ignore_scripts: false) - - # Align CLI sub-package version with meta-package version - cli_pkg = libexec/"lib/node_modules/sudocode/node_modules/@sudocode-ai/cli/package.json" - inreplace cli_pkg, /"version": ".*?"/, "\"version\": \"#{version}\"" - - # Remove prebuilds for non-native architectures - nm = libexec/"lib/node_modules/sudocode/node_modules" - if Hardware::CPU.arm? - nm.glob("**/prebuilds/darwin-x64").each(&:rmtree) - nm.glob("**/ripgrep/x64-darwin").each(&:rmtree) - else - nm.glob("**/prebuilds/darwin-arm64").each(&:rmtree) - nm.glob("**/ripgrep/arm64-darwin").each(&:rmtree) - end - nm.glob("**/@anthropic-ai/claude-agent-sdk/vendor/ripgrep").each(&:rmtree) - nm.glob("**/@zed-industries/codex-acp-linux-*").each(&:rmtree) - nm.glob("**/@img/sharp-*").each(&:rmtree) - - libexec.glob("bin/*").each do |path| - (bin/path.basename).write_env_script path, PATH: node_path, USE_BUILTIN_RIPGREP: "1" - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/sudocode --version") - end -end diff --git a/Formula/s/summon.rb b/Formula/s/summon.rb index 3fed2963a7..6268ff7622 100644 --- a/Formula/s/summon.rb +++ b/Formula/s/summon.rb @@ -1,18 +1,17 @@ class Summon < Formula desc "Provides on-demand secrets access for common DevOps tools" homepage "https://cyberark.github.io/summon/" - url "https://github.com/cyberark/summon/archive/refs/tags/v0.11.0.tar.gz" - sha256 "eab6ec15d85a82b1c849029f0ff7c2df64346cbe6dfe849dc0fa8db5f7f2265e" + url "https://github.com/cyberark/summon/archive/refs/tags/v0.10.5.tar.gz" + sha256 "3cdebb25162efa71113676c008dc9beec054641506b2e784e61f3472dd2e904e" license "MIT" head "https://github.com/cyberark/summon.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "149fb1b59f483e39dade4336e26edd2306c3ae52bec6e30e9b852cfebba10e65" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "149fb1b59f483e39dade4336e26edd2306c3ae52bec6e30e9b852cfebba10e65" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "149fb1b59f483e39dade4336e26edd2306c3ae52bec6e30e9b852cfebba10e65" - sha256 cellar: :any_skip_relocation, arm64_linux: "2e9322b82e1f961ca0de3e53d1e53341bd3a049555eb08c5a5adb47cc05ba059" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6ebdfb8da1566d9c9dbc9b51675189c975f6abf250d901c27174dca3e71fbe4e" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "354221da60f984913676c68f1fe5e64fd3fb3c486fd45ac0b9612e5ce3dfe796" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f5beb375c05df6aacb7e913074626f2aa92393eb713f50b609dcde69899062b5" + sha256 cellar: :any_skip_relocation, ventura: "4700e327f3de4992dc78617779bb0672e3c51e474a81a1e8700038e432b1808f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "b2873b683bd51d03ff38903abbf2ec5f25440a634b6ba2205433ad9d4a124bc1" end depends_on "go" => :build diff --git a/Formula/s/superclaude.rb b/Formula/s/superclaude.rb index 853823ef49..6c35cfbbf0 100644 --- a/Formula/s/superclaude.rb +++ b/Formula/s/superclaude.rb @@ -19,7 +19,7 @@ class Superclaude < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do @@ -39,6 +39,6 @@ def install @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash - + # SuperClaude - AI-powered development toolkit # Usage: ./scripts/superclaude.sh [flags] diff --git a/Formula/s/superstarryeyes-bit.rb b/Formula/s/superstarryeyes-bit.rb deleted file mode 100644 index 76376aa3fd..0000000000 --- a/Formula/s/superstarryeyes-bit.rb +++ /dev/null @@ -1,27 +0,0 @@ -class SuperstarryeyesBit < Formula - desc "CLI/TUI logo designer with ANSI fonts, gradients, shadows, and exports" - homepage "https://github.com/superstarryeyes/bit" - url "https://github.com/superstarryeyes/bit/archive/refs/tags/v0.3.0.tar.gz" - sha256 "b58bf458db0d8f2f5ee48628bcc9b7aaacccda0ab7d4216c5e404aa0e83e02f2" - license "MIT" - head "https://github.com/superstarryeyes/bit.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "37cf914cce28902ed07550376d8d0ec6a7b4131e0f427f046614df6761a4c27a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "37cf914cce28902ed07550376d8d0ec6a7b4131e0f427f046614df6761a4c27a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "37cf914cce28902ed07550376d8d0ec6a7b4131e0f427f046614df6761a4c27a" - sha256 cellar: :any_skip_relocation, arm64_linux: "c0abaaa04fff3736926dd9c0d2262df7ae3f2630511e17eb5f1cc4113357495a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "cca77cb12a423857ab48b86ad48a337218cf5afe287d671b6917cd7da3fd7c0a" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w", output: bin/"bit"), "./cmd/bit" - end - - test do - assert_match "Available fonts", shell_output("#{bin}/bit -list") - end -end diff --git a/Formula/s/surge.rb b/Formula/s/surge.rb deleted file mode 100644 index b567b6f0d3..0000000000 --- a/Formula/s/surge.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Surge < Formula - desc "Blazing fast TUI download manager" - homepage "https://github.com/surge-downloader/Surge" - url "https://github.com/surge-downloader/Surge/archive/refs/tags/v0.8.0.tar.gz" - sha256 "317183ecc2589a407baae10e3e892be4df21171c1bdf0bbc41053f8be910f771" - license "MIT" - head "https://github.com/surge-downloader/Surge.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "22a879910120e78012c06f078a807fdd008bd225c72c3bf47852a2a61b7ef63d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "22a879910120e78012c06f078a807fdd008bd225c72c3bf47852a2a61b7ef63d" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "22a879910120e78012c06f078a807fdd008bd225c72c3bf47852a2a61b7ef63d" - sha256 cellar: :any_skip_relocation, arm64_linux: "b34c9d4a755071419bcf44215afb4f796010e6d1b1d5a6ed233f3dfe992eaa9f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6e8f00bc6bd5efa83ad24800f9cd836aed0e00993c1dcffb272f0538c670a343" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/SurgeDM/Surge/cmd.Version=#{version} - -X github.com/SurgeDM/Surge/cmd.BuildTime=homebrew - ] - - system "go", "build", *std_go_args(ldflags:, output: bin/"surge"), "." - end - - test do - assert_match version.to_s, shell_output("#{bin}/surge --version") - - ENV["XDG_CONFIG_HOME"] = testpath/".config" - ENV["XDG_STATE_HOME"] = testpath/".local/state" - ENV["XDG_RUNTIME_DIR"] = testpath/".runtime" - - token = shell_output("#{bin}/surge token").strip - assert_match(/\A[0-9a-f-]{36}\z/, token) - - assert_path_exists testpath/".local/state/surge/token" if OS.linux? - end -end diff --git a/Formula/s/surgeon.rb b/Formula/s/surgeon.rb index e4b94d945b..b9a7ce10ae 100644 --- a/Formula/s/surgeon.rb +++ b/Formula/s/surgeon.rb @@ -9,12 +9,10 @@ class Surgeon < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7abe26e52a22ef3d0798513583760efaa4d9547944b1ab818fe3f4d21dca9ea0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7abe26e52a22ef3d0798513583760efaa4d9547944b1ab818fe3f4d21dca9ea0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7abe26e52a22ef3d0798513583760efaa4d9547944b1ab818fe3f4d21dca9ea0" - sha256 cellar: :any_skip_relocation, arm64_linux: "452d16c69ad8d04217f4ebdace4463fcbb989f2510eec822f99c48861541c610" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1a366136ceb70534acea2019413a350893a701901002962568236eea78d60f4a" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "65dc89405911ee78f6cb83c4e12a26106e489d894e15a50423ac0bee28200f48" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c6a0197af8f6d87541668f951d4b42cacbe1e96a98547d0c5fe55e0e48a32b9e" + sha256 cellar: :any_skip_relocation, ventura: "387a058815da8b64988151166671b016e1977665d7c8a50759e55f717de01659" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a10d0686417f9a5ccc3aa9ef67f2c36cb5a264e8815edceb10f7890e9796400d" end depends_on "go" => :build @@ -30,7 +28,7 @@ def install ] system "go", "build", *std_go_args(ldflags:), "./cmd/surgeon" - generate_completions_from_executable(bin/"surgeon", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"surgeon", "completion") end test do diff --git a/Formula/s/swagger-mcp-server.rb b/Formula/s/swagger-mcp-server.rb index 7138d4d32c..724ae62fe7 100644 --- a/Formula/s/swagger-mcp-server.rb +++ b/Formula/s/swagger-mcp-server.rb @@ -17,7 +17,7 @@ class SwaggerMcpServer < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/s/swaptop.rb b/Formula/s/swaptop.rb deleted file mode 100644 index 5f3c47024d..0000000000 --- a/Formula/s/swaptop.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Swaptop < Formula - desc "TUI for monitoring swap usage" - homepage "https://github.com/luis-ota/swaptop" - url "https://github.com/luis-ota/swaptop/archive/refs/tags/v1.0.5.tar.gz" - sha256 "20bcd3b83e7fe29100771d4adc932cec9c8c14e1361be7c7608d70ba515af80f" - license "MIT" - head "https://github.com/luis-ota/swaptop.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "277eff7949f90412a3bf132140cf0f49719763570ca1fc5d77b8166927e71137" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f8f897a5653a3f693f4e35aad0d9d0ccb20ec3ca77538debfbebe67059ffa674" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on :linux - - def install - system "cargo", "install", *std_cargo_args - end - - test do - if ENV["HOMEBREW_GITHUB_ACTIONS"] - output = shell_output("#{bin}/swaptop --version 2>&1", 101) - assert_match "failed to initialize terminal", output - end - end -end diff --git a/Formula/s/systeroid.rb b/Formula/s/systeroid.rb deleted file mode 100644 index bd2d3c9554..0000000000 --- a/Formula/s/systeroid.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Systeroid < Formula - desc "Powerful alternative to sysctl(8) with a terminal user interface" - homepage "https://systeroid.cli.rs/" - url "https://github.com/orhun/systeroid/archive/refs/tags/v0.4.6.tar.gz" - sha256 "756b341dc86553ce8df583d55e6d01517bf52721a556713a4fb6056c0f823f3b" - license any_of: ["Apache-2.0", "MIT"] - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "c1fc7b3d0f147bcc0da379e284411462ff8a44b64258cb12fda31bca0fc54fa2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3aaa97eef8dcf6091f0c37aff3868b988ce15d06ebcc1fcf2b772746c8393ecc" - end - - depends_on "rust" => :build - depends_on :linux - - def install - %w[systeroid systeroid-tui].each do |crate| - system "cargo", "install", *std_cargo_args(path: crate) - end - end - - test do - %w[systeroid systeroid-tui].each do |cmd| - assert_match version.to_s, shell_output("#{bin}/#{cmd} --version") - end - - assert_match "abi", shell_output("#{bin}/systeroid --tree") - end -end diff --git a/Formula/s/tftargets.rb b/Formula/s/tftargets.rb deleted file mode 100644 index 148b435e86..0000000000 --- a/Formula/s/tftargets.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Tftargets < Formula - desc "Analyze Terraform configs to find directories affected by Git changes" - homepage "https://github.com/takaishi/tftargets" - url "https://github.com/takaishi/tftargets/archive/refs/tags/v0.0.7.tar.gz" - sha256 "a6c49e50bdbad74319ca01e2938a7ce3cd6294039b7bca7c4c7f3b7db6a7ed68" - license "MIT" - head "https://github.com/takaishi/tftargets.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c687c539aa83cec0bbb30f31d4dcf479abbf1704fe79a9c418497b5225c1df14" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c687c539aa83cec0bbb30f31d4dcf479abbf1704fe79a9c418497b5225c1df14" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c687c539aa83cec0bbb30f31d4dcf479abbf1704fe79a9c418497b5225c1df14" - sha256 cellar: :any_skip_relocation, arm64_linux: "41c1c711e201e66fad1fd58e75bb312545ba95cefccfa366a73d60f3653e1933" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d0605e619eaa853280dc572ba740ce0a9edf7ad00eaf40955cbcd73b72884635" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/takaishi/tftargets/cmd/tftargets.Version=#{version} - -X github.com/takaishi/tftargets/cmd/tftargets.Revision=#{tap.user} - ] - system "go", "build", *std_go_args(ldflags:), "./cmd/tftargets" - end - - test do - system bin/"tftargets", "--version" - end -end diff --git a/Formula/t/tabminal.rb b/Formula/t/tabminal.rb deleted file mode 100644 index 5daa08b2f7..0000000000 --- a/Formula/t/tabminal.rb +++ /dev/null @@ -1,45 +0,0 @@ -class Tabminal < Formula - desc "Cloud-Native, Proactive AI Integrated Terminal works in modern browsers" - homepage "https://github.com/Leask/Tabminal" - url "https://registry.npmjs.org/tabminal/-/tabminal-3.0.39.tgz" - sha256 "d04c50297e11b192197eab651a160c909549b8dd6954fe3d2818eac36948c51b" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e3bc17db59847c1b27f354d0834f214c41a128c17eb23778d85a1df9cc6aa384" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e3bc17db59847c1b27f354d0834f214c41a128c17eb23778d85a1df9cc6aa384" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e3bc17db59847c1b27f354d0834f214c41a128c17eb23778d85a1df9cc6aa384" - sha256 cellar: :any_skip_relocation, arm64_linux: "4a2ac95d4c30e114e9ac56ccca64181655daaa286cca5105ab4508d38afff9e7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3bfe49061c84301a8450cff2805f193aa4e9bd156a3910fe855a099e0aca093d" - end - - depends_on "node" - - def install - ENV["npm_config_build_from_source"] = "true" if OS.linux? - system "npm", "install", *std_npm_args - - prebuilds = libexec/"lib/node_modules/tabminal/node_modules/node-pty/prebuilds" - if OS.linux? - cd libexec/"lib/node_modules/tabminal" do - system "npm", "rebuild", "node-pty", "--build-from-source" - end - rm_r prebuilds if prebuilds.exist? - elsif OS.mac? && Hardware::CPU.arm? - rm_r prebuilds/"darwin-x64" if (prebuilds/"darwin-x64").exist? - elsif OS.mac? && Hardware::CPU.intel? - rm_r prebuilds/"darwin-arm64" if (prebuilds/"darwin-arm64").exist? - end - - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match "\"version\": \"#{version}\"", (libexec/"lib/node_modules/tabminal/package.json").read - - output = shell_output("#{bin}/tabminal --help") - assert_match "Tabminal - A modern web terminal", output - assert_match "--accept-terms, -y", output - end -end diff --git a/Formula/t/taproom.rb b/Formula/t/taproom.rb deleted file mode 100644 index 257528c3d0..0000000000 --- a/Formula/t/taproom.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Taproom < Formula - desc "TUI for Homebrew" - homepage "https://github.com/hzqtc/taproom" - url "https://github.com/hzqtc/taproom/archive/refs/tags/v0.5.0.tar.gz" - sha256 "e4fc7e960fbb9bdca6f255f19e5edf8aa8be78925a8e36ab7b1344a7bb3dd505" - license "MIT" - head "https://github.com/hzqtc/taproom.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c38aa6ffc6ba43898fe6d569496907e1abeb8c4da358417e407535ec60ebc62b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c38aa6ffc6ba43898fe6d569496907e1abeb8c4da358417e407535ec60ebc62b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c38aa6ffc6ba43898fe6d569496907e1abeb8c4da358417e407535ec60ebc62b" - sha256 cellar: :any_skip_relocation, arm64_linux: "46a6b4b482b2cf12d129682c9db72959efd54a737c8cbbd6dd085d42f88ae8ee" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c43d4bb2b7ae0ac712c873505ad3e73efdd2841bb3b58d8c16e17eae32737922" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - assert_match version.to_s, shell_output("#{bin}/taproom --version") - - # Skip test on Linux GitHub Actions runners due to TTY issues - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"taproom", [:out, :err] => output_log.to_s - sleep 1 - assert_match "[1/6] Loading all Formulae...\r\n[2/6] Loading all Casks...", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/t/tars.rb b/Formula/t/tars.rb deleted file mode 100644 index 94c0858529..0000000000 --- a/Formula/t/tars.rb +++ /dev/null @@ -1,37 +0,0 @@ -class Tars < Formula - desc "Local-first autonomous AI supervisor and sidekick powered by Google Gemini" - homepage "https://github.com/agustinsacco/tars" - url "https://registry.npmjs.org/@saccolabs/tars/-/tars-1.27.1.tgz" - sha256 "a080ad58482dba3f48f5f48a744a4e9c5861b9283e3d43d5a7b17f860708cf14" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "730a2913ea6c76d5ece856ea8fb28c6fb34252c00476b636302e5f3c81c8c88e" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "730a2913ea6c76d5ece856ea8fb28c6fb34252c00476b636302e5f3c81c8c88e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "730a2913ea6c76d5ece856ea8fb28c6fb34252c00476b636302e5f3c81c8c88e" - sha256 cellar: :any_skip_relocation, arm64_linux: "226194f77a07389ac976ea1e8e7a107d245124d2ce1acd09ec5a57da26f6306e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1172c25cd6e9b6080885befe6372f85c94888debd3de7af1cc5a6e796032039b" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - - # Remove prebuilds for non-native architectures - nm = libexec/"lib/node_modules/@saccolabs/tars/node_modules" - if Hardware::CPU.arm? - nm.glob("**/prebuilds/darwin-x64").each(&:rmtree) - nm.glob("**/prebuilds/linux-x64").each(&:rmtree) - else - nm.glob("**/prebuilds/darwin-arm64").each(&:rmtree) - nm.glob("**/prebuilds/linux-arm64").each(&:rmtree) - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/tars --version") - end -end diff --git a/Formula/t/tascli.rb b/Formula/t/tascli.rb deleted file mode 100644 index 5256cd779d..0000000000 --- a/Formula/t/tascli.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Tascli < Formula - desc "Track tasks and records from the terminal" - homepage "https://github.com/Aperocky/tascli" - url "https://github.com/Aperocky/tascli/archive/refs/tags/v0.14.1.tar.gz" - sha256 "e7ce1b10383724bac04ca8927895693945838e8bee5c43cf89c4ab458b65fb1d" - license "MIT" - head "https://github.com/Aperocky/tascli.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "768dc6f8c6a83f136cd4ce64fe95eaf0ef2aa5c9492daec5108971328693606c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8efeefba6193d4eadca04cb0a94d466e1885343a3c8ba9f17b3bea9159774b17" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bd436f0fa4d12ddc3a2bd0aa850c295a3bf5cf46a9e798ee3ee5d96a7a458544" - sha256 cellar: :any_skip_relocation, arm64_linux: "43112b9b2564ce77cd273a1bd0e60f54d92989bf674699efb38c5938648f3693" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e0b311a7440e3fac0a5f985cddf54e45a8b929b3abca530c691c088a23877c20" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - task_content = "Write formula test" - - assert_match version.to_s, shell_output("#{bin}/tascli --version") - - system bin/"tascli", "task", "-c", "work", task_content, "today" - - output = shell_output("#{bin}/tascli list task -c work") - assert_match task_content, output - assert_match "work", output - assert_path_exists testpath/".local/share/tascli/tascli.db" - end -end diff --git a/Formula/t/taskbook.rb b/Formula/t/taskbook.rb deleted file mode 100644 index e00e6b4dcc..0000000000 --- a/Formula/t/taskbook.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Taskbook < Formula - desc "Tasks, boards & notes for the command-line habitat" - homepage "https://taskbook.sh" - url "https://github.com/taskbook-sh/taskbook/archive/refs/tags/v1.3.4.tar.gz" - sha256 "6ac61632ef47ca49d40b102dda00fb482f6f7597a758eea31d9c6cef0ece48a8" - license "MIT" - head "https://github.com/taskbook-sh/taskbook.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "bd8a95f898435cff98a2f632840495c6091d133d841e7805ac6e755b5e5c8174" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a486f7e68cd696d2193afb4de6e7d87ddb90b6f41d217e8c79f76c7efaba8f47" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cfe4dc1533af4955851934da4cc3bca7aa544a8eb9ab3041d52a0607df982588" - sha256 cellar: :any_skip_relocation, arm64_linux: "0a94be314e4873c5bc4fbe3ee45a0f816a918e834dfc39915eb119c72edc4dc6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "53c06120f8e2fe456204b8abdade23c406d9a0574dcf66daf83d5444be2d62bc" - end - - depends_on "rust" => :build - - def install - ENV["CARGO_TARGET_DIR"] = buildpath/"target" - - system "cargo", "install", *std_cargo_args(path: "crates/taskbook-client") - system "cargo", "install", *std_cargo_args(path: "crates/taskbook-server") - end - - test do - assert_match version.to_s, shell_output("#{bin}/tb --version") - - system bin/"tb", "--cli", "--taskbook-dir", testpath, "--task", "Ship formula" - output = shell_output("#{bin}/tb --cli --taskbook-dir #{testpath} --list pending") - assert_match "Ship formula", output - end -end diff --git a/Formula/t/taskdog.rb b/Formula/t/taskdog.rb deleted file mode 100644 index 6217415ee1..0000000000 --- a/Formula/t/taskdog.rb +++ /dev/null @@ -1,275 +0,0 @@ -class Taskdog < Formula - include Language::Python::Virtualenv - - desc "Task manager with CLI, TUI, and local REST API server" - homepage "https://github.com/Kohei-Wada/taskdog" - url "https://github.com/Kohei-Wada/taskdog/archive/refs/tags/v0.18.6.tar.gz" - sha256 "fc6f0a2b067f22c72b00eb200d7cf6a87b58bcee9b9c2fde0d78c6e703d3e656" - license "MIT" - head "https://github.com/Kohei-Wada/taskdog.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "bffb98cf57dff97746b1d47588cbb5b932ee99a305d76d1a1c05c64198eda24a" - sha256 cellar: :any, arm64_sequoia: "b1a42a5923b32729a6f7aff243f0406cfefba745673fdd7fe49a849808750d59" - sha256 cellar: :any, arm64_sonoma: "7125bf26e23a788840965b1c47fa00efd9df53f0c5a6da6d06f54c5d6de8071d" - sha256 cellar: :any_skip_relocation, arm64_linux: "97f8995d68a4e660991f7da2336cb1c016707243ba6e50553178c0c2ee27abdf" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b6073f3c4d1dcd06095d93d80e8bbcadaa196b936f5ee72ad98839acea1054db" - end - - depends_on "rust" => :build - depends_on "libyaml" - depends_on "python@3.14" - - resource "alembic" do - url "https://files.pythonhosted.org/packages/94/13/8b084e0f2efb0275a1d534838844926f798bd766566b1375174e2448cd31/alembic-1.18.4.tar.gz" - sha256 "cb6e1fd84b6174ab8dbb2329f86d631ba9559dd78df550b57804d607672cedbc" - end - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" - end - - resource "annotated-types" do - url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" - sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz" - sha256 "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz" - sha256 "e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "fastapi" do - url "https://files.pythonhosted.org/packages/e7/7b/f8e0211e9380f7195ba3f3d40c292594fd81ba8ec4629e3854c353aaca45/fastapi-0.135.1.tar.gz" - sha256 "d04115b508d936d254cea545b7312ecaa58a7b3a0f84952535b4c9afae7668cd" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "holidays" do - url "https://files.pythonhosted.org/packages/a4/9a/e397b5c64a17f198b7b9b719244b1ffb823ac685656e608b70de7a5b59da/holidays-0.92.tar.gz" - sha256 "5d716ececf94e0d354ccee255541f6ba702078d7ed17b693262f6446214904a5" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httptools" do - url "https://files.pythonhosted.org/packages/b5/46/120a669232c7bdedb9d52d4aeae7e6c7dfe151e99dc70802e2fc7a5e1993/httptools-0.7.1.tar.gz" - sha256 "abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "mako" do - url "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz" - sha256 "99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "markupsafe" do - url "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" - sha256 "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" - sha256 "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934" - end - - resource "pydantic" do - url "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz" - sha256 "4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49" - end - - resource "pydantic-core" do - url "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz" - sha256 "08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "python-dateutil" do - url "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - sha256 "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "sqlalchemy" do - url "https://files.pythonhosted.org/packages/1f/73/b4a9737255583b5fa858e0bb8e116eb94b88c910164ed2ed719147bde3de/sqlalchemy-2.0.48.tar.gz" - sha256 "5ca74f37f3369b45e1f6b7b06afb182af1fd5dde009e4ffd831830d98cbe5fe7" - end - - resource "starlette" do - url "https://files.pythonhosted.org/packages/c4/68/79977123bb7be889ad680d79a40f339082c1978b5cfcf62c2d8d196873ac/starlette-0.52.1.tar.gz" - sha256 "834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/72/23/8c709655c5f2208ee82ab81b8104802421865535c278a7649b842b129db1/textual-8.1.1.tar.gz" - sha256 "eef0256a6131f06a20ad7576412138c1f30f92ddeedd055953c08d97044bc317" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "typing-inspection" do - url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" - sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "uvicorn" do - url "https://files.pythonhosted.org/packages/32/ce/eeb58ae4ac36fe09e3842eb02e0eb676bf2c53ae062b98f1b2531673efdd/uvicorn-0.41.0.tar.gz" - sha256 "09d11cf7008da33113824ee5a1c6422d89fbc2ff476540d69a34c87fab8b571a" - end - - resource "uvloop" do - url "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz" - sha256 "6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f" - end - - resource "watchfiles" do - url "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz" - sha256 "a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2" - end - - resource "websockets" do - url "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz" - sha256 "5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5" - end - - def install - venv = virtualenv_create(libexec, "python3.14") - venv.pip_install resources - venv.pip_install buildpath/"packages/taskdog-core" - venv.pip_install buildpath/"packages/taskdog-client" - venv.pip_install buildpath/"packages/taskdog-server" - venv.pip_install_and_link buildpath/"packages/taskdog-ui" - bin.install_symlink libexec/"bin/taskdog-server" - - generate_completions_from_executable(bin/"taskdog", shell_parameter_format: :click, shells: [:fish, :zsh]) - end - - service do - run [opt_bin/"taskdog-server"] - keep_alive true - end - - test do - port = free_port - config_home = testpath/"config" - data_home = testpath/"data" - log_file = testpath/"taskdog-server.log" - - pid = spawn( - { - "XDG_CONFIG_HOME" => config_home.to_s, - "XDG_DATA_HOME" => data_home.to_s, - "TASKDOG_AUTH_ENABLED" => "false", - }, - bin/"taskdog-server", "--host", "127.0.0.1", "--port", port.to_s, - [:out, :err] => log_file.to_s - ) - - server_ready = false - 10.times do - server_ready = quiet_system "curl", "-fsS", "http://127.0.0.1:#{port}/health" - break if server_ready - - sleep 1 - end - - assert_match version.to_s, shell_output("#{bin}/taskdog --version") - assert server_ready, "taskdog-server failed to start: #{log_file.read}" - assert_match "ok", shell_output("curl -fsS http://127.0.0.1:#{port}/health") - - with_env( - "XDG_CONFIG_HOME" => config_home.to_s, - "XDG_DATA_HOME" => data_home.to_s, - "TASKDOG_API_HOST" => "127.0.0.1", - "TASKDOG_API_PORT" => port.to_s, - ) do - add_output = shell_output("#{bin}/taskdog add 'Learn Taskdog' --priority 10") - assert_match "Added task: Learn Taskdog", add_output - - table_output = shell_output("#{bin}/taskdog table --fields id,name") - assert_match "Learn Taskdog", table_output - end - ensure - Process.kill("TERM", pid) if pid - Process.wait(pid) if pid - end -end diff --git a/Formula/t/taskonaut.rb b/Formula/t/taskonaut.rb index e29c950074..e5b695a0a8 100644 --- a/Formula/t/taskonaut.rb +++ b/Formula/t/taskonaut.rb @@ -1,20 +1,23 @@ class Taskonaut < Formula desc "Interactive CLI tool for exec into AWS ECS tasks" homepage "https://github.com/SchematicHQ/taskonaut" - url "https://registry.npmjs.org/@schematichq/taskonaut/-/taskonaut-1.10.5.tgz" - sha256 "7f6b11e48e648616b2fac07cd1851654f4339b5bf01c7598552bc284fc840437" + url "https://registry.npmjs.org/@schematichq/taskonaut/-/taskonaut-1.7.1.tgz" + sha256 "8611eebb7070146c503285b544bf01748b878f461e394909ccecc1e74ca2c89a" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "0a65aa97d8728a64492326d95e3a3f2e43ae6dc8b20f1a07307e5b0aa2ca110c" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "34d303264f9d62b70d12a03360799ea8296dd36f40749243ae2d6233231e3751" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ef4397d8f5f54a671aa4e46783b3000e3ba8f80bc737c41c5810db45075eccb1" + sha256 cellar: :any_skip_relocation, ventura: "4e1a97c44fbf68c7f02153d3fafe2bc2f795c977c55ece63f971bad750b57a51" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d6fc48cbcfbe69b63de16b89b64055537acbf2110f39d4547e9f74cc83bef0b0" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/t/tasktimer.rb b/Formula/t/tasktimer.rb deleted file mode 100644 index 589ca78783..0000000000 --- a/Formula/t/tasktimer.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Tasktimer < Formula - desc "Dead simple TUI task timer" - homepage "https://github.com/caarlos0/tasktimer" - url "https://github.com/caarlos0/tasktimer/archive/refs/tags/v1.12.0.tar.gz" - sha256 "73cca9d35b2a25ea4407baebab1ee0a446fe1bc8492832db1ca781f9e22757b3" - license "MIT" - head "https://github.com/caarlos0/tasktimer.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7423695d29ff6f93744ecd727203012371c9a4c7d2ff327b63e546abd489594b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7423695d29ff6f93744ecd727203012371c9a4c7d2ff327b63e546abd489594b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7423695d29ff6f93744ecd727203012371c9a4c7d2ff327b63e546abd489594b" - sha256 cellar: :any_skip_relocation, arm64_linux: "32b4cbb01f332d3e56cf7b615fe0b04aaeeb699710a827c87633da99a1ed9cde" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8704793ceb1dfb00610690327fc7ba65ad9536ce2ebd800b66065b8e02ad8b68" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - - system "go", "build", *std_go_args(ldflags:, output: bin/"tt"), "." - generate_completions_from_executable(bin/"tt", shell_parameter_format: :cobra, shells: [:bash, :zsh, :fish]) - (man1/"tt.1").write Utils.safe_popen_read(bin/"tt", "man") - end - - test do - assert_match version.to_s, shell_output("#{bin}/tt --version") - assert_equal "null", shell_output("HOME=#{testpath} #{bin}/tt to-json").strip - assert_match "- default", shell_output("HOME=#{testpath} #{bin}/tt list") - end -end diff --git a/Formula/t/tatuin.rb b/Formula/t/tatuin.rb deleted file mode 100644 index f4455f0642..0000000000 --- a/Formula/t/tatuin.rb +++ /dev/null @@ -1,45 +0,0 @@ -class Tatuin < Formula - desc "Task Aggregator TUI for N providers" - homepage "https://github.com/panter-dsd/tatuin" - url "https://github.com/panter-dsd/tatuin/archive/refs/tags/v0.26.0.tar.gz" - sha256 "f43253ca899996faaa31f0cf9cf88e4cf4c1286b43ab80ff68973a9244568b44" - license "MIT" - head "https://github.com/panter-dsd/tatuin.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9416b50bc640913b6b9e23fc8bf068e0dd863779945f43493837cf45d3f2c2ef" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9a27dfabad402cb09243bcf9b32b669d67e7731e77c4b03d64c4a350cd71fd0b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "56c1a1131fae8a177874926dc0ad806ee2c8e22f013890acdefc1e34fedb8d27" - sha256 cellar: :any_skip_relocation, arm64_linux: "914088cd2edabde8bcd2477a36197ec0fe8cafbd8922543bd9e730fd5cb9bf46" - sha256 cellar: :any_skip_relocation, x86_64_linux: "840d8ae331117739bd6bee3895a15e641366c839f695ce5abbb25a772eee8d2c" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/tatuin --version") - - (testpath/"tatuin/settings.toml").write <<~TOML - [providers.test] - type = "Tatuin" - - [states] - - [interface.task_info_panel] - description_line_count = 3 - TOML - - output = shell_output("#{bin}/tatuin --settings-file #{testpath}/tatuin/settings.toml providers") - assert_match "Available providers: Tatuin, Obsidian, Todoist, GitLabTODO, GitHub Issues, iCal, CalDav", output - end -end diff --git a/Formula/t/tavily-mcp.rb b/Formula/t/tavily-mcp.rb index 8a1987e3a4..5ea6b82340 100644 --- a/Formula/t/tavily-mcp.rb +++ b/Formula/t/tavily-mcp.rb @@ -1,20 +1,23 @@ class TavilyMcp < Formula desc "MCP server for Tavily" homepage "https://github.com/tavily-ai/tavily-mcp" - url "https://registry.npmjs.org/tavily-mcp/-/tavily-mcp-0.2.19.tgz" - sha256 "cd18deff0b6852cf374fcb263e83dbf9590e6ae8fe665125ba60d79b8b9f502f" + url "https://registry.npmjs.org/tavily-mcp/-/tavily-mcp-0.2.9.tgz" + sha256 "eef1ad5ea664832b45d309f3c6d784489bf9c1cf14f3e517c21c293cae799497" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "0cc741c5b46b728dfddc8cb8355106889cec186cf91dfbeeb25682dded05af00" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e9050e8f3c17c997930c1b14b72d8950bfd10dff824bc4803e3af2961d400720" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ef9222a81c3898c9f2a4756f3c56f0794699f3d7801c2c899a565f88258f89dd" + sha256 cellar: :any_skip_relocation, ventura: "31bc55f677a8ff2968d25b5295892aef9779b1ec7868a3843c1e127a9cb8872e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "52176cc31f31d1e9a402b7c133774fbec15504555132fc3a3e9d84246eae030a" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do @@ -27,6 +30,6 @@ def install {"jsonrpc":"2.0","id":2,"method":"tools/list"} JSON - assert_match "Search the web for current information on any topic", pipe_output(bin/"tavily-mcp", json, 0) + assert_match "using Tavily's AI search engine", pipe_output(bin/"tavily-mcp", json, 0) end end diff --git a/Formula/t/taws.rb b/Formula/t/taws.rb deleted file mode 100644 index 487ac8a461..0000000000 --- a/Formula/t/taws.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Taws < Formula - desc "Terminal-based AWS resource viewer and manager" - homepage "https://github.com/huseyinbabal/taws" - url "https://github.com/huseyinbabal/taws/archive/refs/tags/v1.3.0-rc.7.tar.gz" - sha256 "c6bd15c5541a4b6a4accb780128642f0cca78c43c741adfbade48062a8f96b51" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "be3e4f1a9d22b9713603282d7d057f4ec9a4b3e80185ecb0e3e0b50ab726c051" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1b9007db6dbf2c4266db254cf3382a42e8e63842efa018f5dd0ff95473cd9c09" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c7b098bed9af832921e45a96f64fa65e8713d9735c0f380e0b1a9de77264aa80" - sha256 cellar: :any_skip_relocation, arm64_linux: "8f33aab69b78f18a6b8973edad39550f2eeb3f19f5b3d133661c08f93b198c53" - sha256 cellar: :any_skip_relocation, x86_64_linux: "860c8b0e5d5b11c61977a9abb43e0c8baeedbb0786c67ed0e6860979693cc2b9" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: ".") - generate_completions_from_executable(bin/"taws", "completion") - end - - test do - assert_match version.to_s, shell_output("#{bin/"taws"} --version") - - output = shell_output("#{bin/"taws"} completion bash") - assert_match "taws__completion", output - assert_match "--profile", output - end -end diff --git a/Formula/t/tclint.rb b/Formula/t/tclint.rb index eafa07bf70..ca4341699e 100644 --- a/Formula/t/tclint.rb +++ b/Formula/t/tclint.rb @@ -3,25 +3,29 @@ class Tclint < Formula desc "EDA-centric utility for linting and analyzing Tcl code" homepage "https://github.com/nmoroze/tclint" - url "https://files.pythonhosted.org/packages/3f/4e/9ec785aa3f9473bcbd56bb858a46749db94baee2c1df603c458bfe189b51/tclint-0.8.0.tar.gz" - sha256 "0a0fff0dd4610859a85c06bd347c8ffb46e9bed79cdd34662738a518acc43c0c" + url "https://files.pythonhosted.org/packages/46/2e/e0b87f58765f43937e06b3f7f5f3e299ec0479fcf99a7ef5c033614d5cdc/tclint-0.6.0.tar.gz" + sha256 "8dd4d7b519e040c164615df8072cc4c28def4bfdc9d2a8672a280b0984b45fc3" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "843724514b4f510d8ac9ab18fa0b9922a76c5d5cde358497e9fe1bf66a6c5821" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "9244584339f88b4e4ee8dad5055cc9a289a1a710ea38bcb3e907108bf9189180" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9ad2ed432a76327f46e0faa23aece159da325433c9d6b1099fcc36c99cf780c8" + sha256 cellar: :any_skip_relocation, ventura: "a66bd39b291d5a810ebd3c9baf2eb352efc7c08c78be339e5a040d0fba9b863a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7917ae16129e6807e7d63cd7a3ef1cb6a9e41c1bc2a65dd6d7bda609803b9081" end - depends_on "python@3.14" + depends_on "rust" => :build # for rpds-py + depends_on "python@3.13" resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "cattrs" do - url "https://files.pythonhosted.org/packages/a0/ec/ba18945e7d6e55a58364d9fb2e46049c1c2998b3d805f19b703f14e81057/cattrs-26.1.0.tar.gz" - sha256 "fa239e0f0ec0715ba34852ce813986dfed1e12117e209b816ab87401271cdd40" + url "https://files.pythonhosted.org/packages/57/2b/561d78f488dcc303da4639e02021311728fb7fda8006dd2835550cddd9ed/cattrs-25.1.1.tar.gz" + sha256 "c914b734e0f2d59e5b720d145ee010f1fd9a13ee93900922a2f3f9d593b8382c" end resource "importlib-metadata" do @@ -50,8 +54,8 @@ class Tclint < Formula end resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + url "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz" + sha256 "8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4" end resource "voluptuous" do diff --git a/Formula/t/tcpterm.rb b/Formula/t/tcpterm.rb deleted file mode 100644 index a03c86df1d..0000000000 --- a/Formula/t/tcpterm.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Tcpterm < Formula - desc "Terminal-based TCP dump viewer" - homepage "https://github.com/sachaos/tcpterm" - url "https://github.com/sachaos/tcpterm/archive/refs/tags/v0.2.0.tar.gz" - sha256 "b513d95083e245abf156aa39b5ea1093e6340646a8423bf30a4514670b18dbc1" - license "MIT" - head "https://github.com/sachaos/tcpterm.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c2fe5104cf28bfb888bbd8152e29413725d3fef27d2d767752eefda8553986f3" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1062b12e748f181284b5b83a96078b183a062bf226d7ccc620da2cbefbceb080" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e492c4c3fadfebd031b89a88b7f74c39605380c03b8acc51ca28f2c31c2f9f00" - sha256 cellar: :any_skip_relocation, arm64_linux: "52e45f936852cdeeb3a8b5259048b8fa13c8d551a797936e0cff7bb12184fc04" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f824744d3d602983711498ca42e24d575b153474237d376f4c238722547e0eab" - end - - depends_on "go" => :build - - on_linux do - depends_on "libpcap" - end - - def install - if OS.linux? - ENV.append "CGO_CFLAGS", "-I#{Formula["libpcap"].opt_include}" - ENV.append "CGO_LDFLAGS", "-L#{Formula["libpcap"].opt_lib} -lpcap" - end - - ENV["CGO_ENABLED"] = "1" if OS.linux? && Hardware::CPU.arm? - - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - system bin/"tcpterm", "--version" - end -end diff --git a/Formula/t/teldrive.rb b/Formula/t/teldrive.rb deleted file mode 100644 index 396ef2ae70..0000000000 --- a/Formula/t/teldrive.rb +++ /dev/null @@ -1,53 +0,0 @@ -class Teldrive < Formula - desc "Utility to organize, manage, and sync Telegram files locally" - homepage "https://teldrive-docs.pages.dev/" - url "https://github.com/tgdrive/teldrive/archive/refs/tags/1.8.3.tar.gz" - sha256 "731126690b81f96e241e07ae45330dffb8b4a6df6ccce153f262667a404ca4e3" - license "MIT" - head "https://github.com/tgdrive/teldrive.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "75ce7410efcaddc6a40399e7082d7b5828a7340c154d6aa4a671723e8d5668a9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "75ce7410efcaddc6a40399e7082d7b5828a7340c154d6aa4a671723e8d5668a9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "75ce7410efcaddc6a40399e7082d7b5828a7340c154d6aa4a671723e8d5668a9" - sha256 cellar: :any_skip_relocation, arm64_linux: "d5ea67998302612f175f5282801576f7362f04cf7267e3b5bad80adba1011238" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c72c7a12f77dc624da51badaf034a4b41fa370b5417685bc9bf2b8f70f6fb5f6" - end - - depends_on "go" => :build - - resource "ui_assets" do - url "https://github.com/tgdrive/teldrive-ui/releases/download/latest/teldrive-ui.zip" - sha256 "bf3e9c3c2541eb9c222adfe12275480591a0d20a6152b439951729649f854739" - end - - def install - (buildpath/"ui/dist").install resource("ui_assets") - - # generate API code - system "go", "generate", "./..." - - ldflags = %W[ - -s -w - -X github.com/tgdrive/teldrive/internal/version.Version=#{version} - -X github.com/tgdrive/teldrive/internal/version.CommitSHA=#{tap.user} - ] - system "go", "build", *std_go_args(ldflags:) - - generate_completions_from_executable(bin/"teldrive", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/teldrive version 2>&1") - - (testpath/".teldrive/config.toml").write <<~TOML - [db] - data-source = "postgres://user:password@localhost/dbname" - TOML - - output = shell_output("#{bin}/teldrive check 2>&1", 1) - assert_match "Failed to connect to database", output - assert_match "failed to connect to `user=user database=dbname`", output - end -end diff --git a/Formula/t/telert.rb b/Formula/t/telert.rb deleted file mode 100644 index 38ff944b18..0000000000 --- a/Formula/t/telert.rb +++ /dev/null @@ -1,116 +0,0 @@ -class Telert < Formula - include Language::Python::Virtualenv - - desc "Multi-channel alerts for long-running commands and process/log/uptime monitoring" - homepage "https://github.com/navig-me/telert" - url "https://files.pythonhosted.org/packages/7b/8b/a252724f5325e16749305f40b76a66a1cd388bf08d507625da1786cc9971/telert-0.2.7.tar.gz" - sha256 "3607e8d2f8ea0cf5cf4779b730d285fb3ca5ad3be0a4f9afa18d6301828f5166" - license "MIT" - head "https://github.com/navig-me/telert.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4b9dab5f699a52514cae52e91baae03a5ab76fe90db7722a7a6a2aae6156d2bb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e09e4a6ef4a7c4b8ae7c8f0f8bce1cb5c65241be201a5e77cccf8bd7d52e7679" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2cb8497a38c5654358f025e9f8b0e70badd2a1369078a08c81e5b9a316e4c26a" - sha256 cellar: :any_skip_relocation, sequoia: "a2ba0987d481803552a2e8838f614ce8be56bfbe407b75d567426df93839f7f4" - sha256 cellar: :any_skip_relocation, arm64_linux: "652f59835bfe4ca0f35feae2599406ab3c06caeb64695ca832152415f2af7b13" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c63af567c17f223f9d09c4e9fb00ce551774cfff7957334b961b6c9ed0de145e" - end - - depends_on "certifi" - depends_on "python@3.13" - - resource "beautifulsoup4" do - url "https://files.pythonhosted.org/packages/77/e9/df2358efd7659577435e2177bfa69cba6c33216681af51a707193dec162a/beautifulsoup4-4.14.2.tar.gz" - sha256 "2a98ab9f944a11acee9cc848508ec28d9228abfd522ef0fad6a02a72e0ded69e" - end - - resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" - sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" - sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" - end - - resource "ping3" do - url "https://files.pythonhosted.org/packages/0d/e5/702dfb79e74990585d502734065f8a1610d18473bbd4bd18e4058abe9dbc/ping3-5.1.5.tar.gz" - sha256 "6c99bc844e0b7dbc5c9765e8b530140daf1ccd2112c99db01ab79831bd8081cd" - end - - resource "psutil" do - url "https://files.pythonhosted.org/packages/b3/31/4723d756b59344b643542936e37a31d1d3204bcdc42a7daa8ee9eb06fb50/psutil-7.1.0.tar.gz" - sha256 "655708b3c069387c8b77b072fc429a57d0e214221d01c0a772df7dfedcb3bcd2" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" - sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" - end - - resource "soupsieve" do - url "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz" - sha256 "e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" - end - - def install - virtualenv_install_with_resources - end - - test do - require "socket" - - assert_match version.to_s, shell_output("#{bin}/telert --version") - - port = free_port - request_log = testpath/"request.json" - server = TCPServer.new("127.0.0.1", port) - server_thread = Thread.new do - client = server.accept - request = +"" - - while (line = client.gets) - request << line - break if line == "\r\n" - end - - content_length = request[/Content-Length:\s*(\d+)/i, 1].to_i - request << client.read(content_length) - request_log.write(request) - - client.write("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nok") - client.close - ensure - server.close if server && !server.closed? - end - - output = pipe_output( - "TELERT_ENDPOINT_URL=http://127.0.0.1:#{port} " \ - "TELERT_DEFAULT_PROVIDER=endpoint #{bin}/telert", - "brew telert test\n", - 0, - ) - - server_thread.join - - assert_match "EndpointProvider", output - assert_match "brew telert test", request_log.read - ensure - server.close if defined?(server) && server && !server.closed? - server_thread.kill if defined?(server_thread) && server_thread&.alive? - server_thread.join if defined?(server_thread) && server_thread - end -end diff --git a/Formula/t/tenderly.rb b/Formula/t/tenderly.rb index 8794fadde9..dd09e4bb1f 100644 --- a/Formula/t/tenderly.rb +++ b/Formula/t/tenderly.rb @@ -1,18 +1,17 @@ class Tenderly < Formula desc "Debugging, monitoring & tracking smart contract execution" homepage "https://tenderly.co/" - url "https://github.com/Tenderly/tenderly-cli/archive/refs/tags/v1.6.10.tar.gz" - sha256 "f6fda133553e2d298dfccfb0065480f541ab82fd2546262d894f40808e920cae" + url "https://github.com/Tenderly/tenderly-cli/archive/refs/tags/v1.6.6.tar.gz" + sha256 "f3a91adf489b50b61b1c13d664be77c6d4130fa2a8f554fe091700ead9978d8b" license "GPL-3.0-only" head "https://github.com/Tenderly/tenderly-cli.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "cbf6077a52bccad176013f825345389069d13e9478016b19f37e712ec5f251cd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "cbf6077a52bccad176013f825345389069d13e9478016b19f37e712ec5f251cd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "cbf6077a52bccad176013f825345389069d13e9478016b19f37e712ec5f251cd" - sha256 cellar: :any_skip_relocation, arm64_linux: "2d8bc21fa92512939e6a876897aa95b97ac646b7db4e6b00c18f1cb69a5628d6" - sha256 cellar: :any_skip_relocation, x86_64_linux: "791faf0edf715cd50d3f83152eff5dfdf7e7476025784be569931918066bc493" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3e5637665ecc3a89321ac4a64523083cb0e10454c356927776f3e33de2f18aac" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a26f048b40558467ea26e81bf14581fadce5c326659c6da08c9a59c6fc9d30b2" + sha256 cellar: :any_skip_relocation, ventura: "f9440727b22cb3669055fb4e2de936a29120c8b862b6fd25269458a0b5909d87" + sha256 cellar: :any_skip_relocation, x86_64_linux: "cb3e05db9fe60635e1c0d3e233e8de1120aedd5ef3df28a9d91eec5b0bc7af5b" end depends_on "go" => :build @@ -20,7 +19,7 @@ class Tenderly < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - generate_completions_from_executable(bin/"tenderly", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"tenderly", "completion") end test do diff --git a/Formula/t/tennis.rb b/Formula/t/tennis.rb deleted file mode 100644 index d98aa1026e..0000000000 --- a/Formula/t/tennis.rb +++ /dev/null @@ -1,49 +0,0 @@ -class Tennis < Formula - desc "Print stylish CSV tables in your terminal" - homepage "https://github.com/gurgeous/tennis" - url "https://github.com/gurgeous/tennis/archive/refs/tags/v0.5.0.tar.gz" - sha256 "31a23740c51008d870cc90b6236473ed009b0957f17c9db62ed9f04aebb7f9b4" - license "MIT" - head "https://github.com/gurgeous/tennis.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6d8da977cf37910d38ae3713681c10524fb94a090fdb37ac51fb3d2c0bb89a7f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e3c1eb0b6fe1b8e7abdd836ed82e19df088460b97a3c76d96fc70ddb20f40c9b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "446cac55c62354ff5a2e46592399ab04205b7b04ffed614be02810db0d78bbc0" - sha256 cellar: :any_skip_relocation, arm64_linux: "f72317e8b1fc70088822044591036bbb899921581b7b09a50c0b6fe8eb12ea6b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1f4c5f7328b7b587f242bd3c9cc6fda9c00c2bc31e7e1b15017d66cd8824f310" - end - - depends_on "zig" => :build - - def install - cpu = case Hardware.oldest_cpu - when :arm_vortex_tempest then "apple_m1" - when :armv8 then "generic" - else Hardware.oldest_cpu - end - - args = [] - args << "-Dcpu=#{cpu}" if build.bottle? - - system "zig", "build", *std_zig_args, *args - - bash_completion.install "extra/tennis.bash" => "tennis" - zsh_completion.install "extra/_tennis" - man1.install "extra/tennis.1" - end - - test do - (testpath/"scores.csv").write <<~CSV - name;score - Alice;42 - Bob;7 - CSV - - output = shell_output("#{bin}/tennis --color off --delimiter ';' --title Scores #{testpath/"scores.csv"}") - assert_match "Scores", output - assert_match "Alice", output - assert_match "42", output - end -end diff --git a/Formula/t/termdbms.rb b/Formula/t/termdbms.rb deleted file mode 100644 index 99952db8ce..0000000000 --- a/Formula/t/termdbms.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Termdbms < Formula - desc "TUI for viewing and editing database files" - homepage "https://github.com/mathaou/termdbms" - url "https://github.com/mathaou/termdbms/archive/refs/tags/v0.9-alpha.tar.gz" - sha256 "7ad5cfb55bcbf7dafb679ae1dfc63ac85de005de6f0a62f494a24f0782008240" - license "MIT" - head "https://github.com/mathaou/termdbms.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8b5f33d62003cdfebc5f04c266e7fbeea40161e65390b780e0fa543989d5dbb4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8b5f33d62003cdfebc5f04c266e7fbeea40161e65390b780e0fa543989d5dbb4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8b5f33d62003cdfebc5f04c266e7fbeea40161e65390b780e0fa543989d5dbb4" - sha256 cellar: :any_skip_relocation, arm64_linux: "005d382f49c1732e6e60fd4cb7354e7f11df666e43c9c1177d3e9ae62fd15228" - sha256 cellar: :any_skip_relocation, x86_64_linux: "408994632cca6b5089dfe1dd0678897ef0cb80330c43f97c9538e80fb37d88e7" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - (testpath/"test.csv").write <<~EOS - id,name,age - 1,Alice,30 - 2,Bob,25 - EOS - - output = shell_output("#{bin}/termdbms -p test.csv 2>&1", 1) - assert_match "ERROR: Error initializing the sqlite viewer", output - end -end diff --git a/Formula/t/termide.rb b/Formula/t/termide.rb deleted file mode 100644 index a486e2b3fb..0000000000 --- a/Formula/t/termide.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Termide < Formula - desc "Cross-platform terminal-based IDE, file manager, and virtual terminal" - homepage "https://termide.github.io" - url "https://github.com/termide/termide/archive/refs/tags/0.21.0.tar.gz" - sha256 "acfc674dfd5affc08a47795b539ddb20d9907f2ea9a412c871a3e18f906a8891" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "168359dac0b9f0fb5a6b195562061059bf285d50f56b19a0ab75d706e5304270" - sha256 arm64_sequoia: "67187c24a92f0737ee7a0db45a1d1e9307c5a5aaa32da592f071d8b769900863" - sha256 arm64_sonoma: "fdeeb57d87b9c5f8ed968234216b5fa4d34dfefd63b7362afcded18cc2c75d2d" - sha256 cellar: :any_skip_relocation, arm64_linux: "ad7c6b88634934731f9c74ee7abafbd164cac84d92f2e4b1848aa63cc316081c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b8fe09cc9ba110d67fc55fb51aaccb0b4cfa0ee5293a483dc9ffe21ca05b1992" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "openssl@3" - - on_linux do - depends_on "zlib-ng-compat" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/termide --version") - end -end diff --git a/Formula/t/terminal-mcp.rb b/Formula/t/terminal-mcp.rb deleted file mode 100644 index 64e48e50b0..0000000000 --- a/Formula/t/terminal-mcp.rb +++ /dev/null @@ -1,57 +0,0 @@ -class TerminalMcp < Formula - desc "Headless terminal emulator exposed via MCP for AI assistants" - homepage "https://github.com/elleryfamilia/terminal-mcp" - url "https://github.com/elleryfamilia/terminal-mcp/archive/refs/tags/v0.4.2.tar.gz" - sha256 "ccd436a7949d32368cdc26184099c507781cd02157d99481fe7e1ebc85e8009b" - license "MIT" - head "https://github.com/elleryfamilia/terminal-mcp.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "23b58d89282b8579d3828f2c20c58c9ad5b1327ec548cb82fa75b2f9d96536fc" - sha256 cellar: :any, arm64_sequoia: "bf750799577b6d2047bd887c422185067f7c93ab4c98bb1edac2258e8b484d28" - sha256 cellar: :any, arm64_sonoma: "bf750799577b6d2047bd887c422185067f7c93ab4c98bb1edac2258e8b484d28" - sha256 cellar: :any_skip_relocation, arm64_linux: "1fa617ff3efad91581edaec147b6e726e419e3d06f6ee5f5276e2f83c194d562" - sha256 cellar: :any_skip_relocation, x86_64_linux: "da2c436a5096d99f6533e3207248f3b262da2ce801c5e70c3fa2272b8404982b" - end - - depends_on "node" - - def install - system "npm", "ci" - system "npm", "run", "build" - system "npm", "install", *std_npm_args - bin.install_symlink libexec/"bin/terminal-mcp" - - prebuilds = libexec/"lib/node_modules/@ellery/terminal-mcp/node_modules/node-pty/prebuilds" - native_prebuild = if OS.mac? - Hardware::CPU.arm? ? "darwin-arm64" : "darwin-x64" - elsif OS.linux? - Hardware::CPU.arm? ? "linux-arm64" : "linux-x64" - end - - if prebuilds.exist? && native_prebuild - prebuilds.children.each do |path| - rm_r path, force: true if path.basename.to_s != native_prebuild - end - end - - return unless OS.linux? - - native_seccomp = Hardware::CPU.arm? ? "arm64" : "x64" - seccomp_root = libexec/"lib/node_modules/@ellery/terminal-mcp/node_modules/@anthropic-ai/sandbox-runtime" - [seccomp_root/"dist/vendor/seccomp", seccomp_root/"vendor/seccomp"].each do |path| - next unless path.exist? - - path.children.each do |child| - rm_r child, force: true if child.basename.to_s != native_seccomp - end - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/terminal-mcp --version") - output = shell_output("TERMINAL_MCP=1 #{bin}/terminal-mcp 2>&1", 1) - assert_match "cannot be run from within itself", output - end -end diff --git a/Formula/t/termsvg.rb b/Formula/t/termsvg.rb new file mode 100644 index 0000000000..7ecef48a00 --- /dev/null +++ b/Formula/t/termsvg.rb @@ -0,0 +1,30 @@ +class Termsvg < Formula + desc "Record, share and export your terminal as a animated SVG image" + homepage "https://github.com/MrMarble/termsvg" + url "https://github.com/MrMarble/termsvg/archive/refs/tags/v0.9.3.tar.gz" + sha256 "a8352a3b2f12de97a5b2935885a1938633f46b02a4965efa6f1117de4b9cce83" + license "GPL-3.0-only" + head "https://github.com/MrMarble/termsvg.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "961025094120959d5d3926dffc91580f893242d5527db3f2ddba24874fd3291c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "addd6c0b1d459b158cac6ba0ed6291e8dea5bdd36308021cd904cd87c84f518d" + sha256 cellar: :any_skip_relocation, ventura: "cf68351f18a63e4774a61976556180b03670729b6bf73c4aeecb4592d3112bbe" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a4b603f08539855c69225961bfc9e3a98e63ce0d69063a3e90422cda742d4e5a" + end + + depends_on "go" => :build + + def install + ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" + system "go", "build", *std_go_args(ldflags:), "./cmd/termsvg" + end + + test do + assert_match version.to_s, shell_output("#{bin}/termsvg --version") + + output = shell_output("#{bin}/termsvg play nonexist 2>&1", 80) + assert_match "no such file or directory", output + end +end diff --git a/Formula/t/terra-code-cli.rb b/Formula/t/terra-code-cli.rb deleted file mode 100644 index dd82047d89..0000000000 --- a/Formula/t/terra-code-cli.rb +++ /dev/null @@ -1,26 +0,0 @@ -class TerraCodeCli < Formula - desc "AI-powered development companion with persistent memory and knowledge" - homepage "https://github.com/TerraAGI/terra-code-cli" - url "https://registry.npmjs.org/@terra-code/terra-code/-/terra-code-0.2.0.tgz" - sha256 "4bf515dbcc31afacd00d7a0de5870246ae6c4301a73ba9c0c7d319412298ed6a" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_sequoia: "6987e9bcc735c3dec8336c9f4e54761f53072c3fbb94a7969bc478ce68a7110c" - sha256 cellar: :any, arm64_sonoma: "044e781743eb87dae9e66a031cc8b575e8f9e51587ecf802a3265d681be27797" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d34574db455e6674da8bac5745d3d188d3658d46a8d40b50bc8638c5a266902a" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args, "--ignore-scripts" - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/terra --version") - assert_match "No MCP servers configured", shell_output("#{bin}/terra mcp list") - end -end diff --git a/Formula/t/terradozer.rb b/Formula/t/terradozer.rb deleted file mode 100644 index e6cb6b9337..0000000000 --- a/Formula/t/terradozer.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Terradozer < Formula - desc "Terraform destroy using state only with no *.tf files needed" - homepage "https://github.com/chenrui333/terradozer" - url "https://github.com/chenrui333/terradozer/archive/refs/tags/v0.2.1.tar.gz" - sha256 "6b40747ba3f83a416010ed798edff6bc3bce30f5b69b506ed44af148711aa4e7" - license "MIT" - head "https://github.com/chenrui333/terradozer.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d7bc1c3691b26fe7223f6ada64836e64983681ed42c940f16129473d15ddd770" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d7bc1c3691b26fe7223f6ada64836e64983681ed42c940f16129473d15ddd770" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d7bc1c3691b26fe7223f6ada64836e64983681ed42c940f16129473d15ddd770" - sha256 cellar: :any_skip_relocation, arm64_linux: "5eea18a2d70b80eb8f824f6d141fb9ebdb255023cbe8afa57756ecb62b51faca" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d5c4bae4669dc2770fe1cdb7a5a1196151d142fbd4b5c3e2f6f39d38fb5da9ba" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/jckuester/terradozer/internal.version=#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin}/terradozer -version") - - (testpath/"terraform.tfstate").write <<~JSON - { - "version": 4, - "terraform_version": "1.9.0", - "serial": 1, - "lineage": "00000000-0000-0000-0000-000000000000", - "outputs": {}, - "resources": [] - } - JSON - - output = shell_output("#{bin}/terradozer -dry-run #{testpath}/terraform.tfstate 2>&1") - assert_match "ALL RESOURCES HAVE ALREADY BEEN DELETED", output - end -end diff --git a/Formula/t/terrafetch.rb b/Formula/t/terrafetch.rb index b6dffd96c9..a86541f143 100644 --- a/Formula/t/terrafetch.rb +++ b/Formula/t/terrafetch.rb @@ -1,18 +1,17 @@ class Terrafetch < Formula desc "Neofetch of Terraform. Let your IaC flex for you" homepage "https://github.com/RoseSecurity/terrafetch" - url "https://github.com/RoseSecurity/terrafetch/archive/refs/tags/v0.5.0.tar.gz" - sha256 "1ac690c842b0443365d24277ea9a4f2f858949aaf33faa1e88f54976f2e90b61" + url "https://github.com/RoseSecurity/terrafetch/archive/refs/tags/v0.4.1.tar.gz" + sha256 "8050217514feca77c2b33faa114a3b92893494387ba754c3219108e3345088d0" license "Apache-2.0" head "https://github.com/RoseSecurity/terrafetch.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a719a18e014db3c4eaed51ac8022bb5bf1e461af3a0d59b1388ae1876b5b13d0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a719a18e014db3c4eaed51ac8022bb5bf1e461af3a0d59b1388ae1876b5b13d0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a719a18e014db3c4eaed51ac8022bb5bf1e461af3a0d59b1388ae1876b5b13d0" - sha256 cellar: :any_skip_relocation, arm64_linux: "e913a40ed59f39bf4e060dea8b4da8a14e3a80d28f991ade85cbafe9b62304fb" - sha256 cellar: :any_skip_relocation, x86_64_linux: "627e3f402fc89c4feee99b1a571e59d41015f8afa1b2104a51ef437161907927" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "a180b7f2d6c8d8fb05dcc20caaa6321b8bdb72a8160900d3630d8a2dff092595" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d74c84434e47540f15894d7938c3f9fe47ce1a14d4dd63c342f891f775d99c92" + sha256 cellar: :any_skip_relocation, ventura: "0b6fc23aee1f7fec40d53afcb195e5fff3f4b41e8de79c46f75b8b1e3b6dde59" + sha256 cellar: :any_skip_relocation, x86_64_linux: "16c45ef1cb2789a06f076d00ac43b4796f0e260e7b7e06998efd331b5277abdd" end depends_on "go" => :build diff --git a/Formula/t/terraform.rb b/Formula/t/terraform.rb new file mode 100644 index 0000000000..88ed0b7499 --- /dev/null +++ b/Formula/t/terraform.rb @@ -0,0 +1,61 @@ +class Terraform < Formula + desc "Tool to build, change, and version infrastructure" + homepage "https://www.terraform.io/" + url "https://github.com/hashicorp/terraform/archive/refs/tags/v1.11.0.tar.gz" + sha256 "c40b484ad84d1461e15e4c8f1d45ef85b85941fde30f5fa69126f3720dad77c0" + # license "BUSL-1.1" + head "https://github.com/hashicorp/terraform.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3765b995277c2f464c7393d5b9686821f7670da4c32da6e3775d53e1ac520362" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d8c5b079844f5b34ec26e1c6f251f851e65a7d1279e4f12415598f6abfea7820" + sha256 cellar: :any_skip_relocation, ventura: "49f7654972086bef804a01769623e16d5d021539d927d24810eef90dd70b24c1" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d58734c14c2f1ff0a95714f8aa1a51a22077f6531e0f1e77c9feeea29ac2646a" + end + + depends_on "go" => :build + + # copy over from `terraform.rb` in core tap + conflicts_with "tenv", because: "both install terraform binary" + conflicts_with "tfenv", because: "tfenv symlinks terraform binaries" + + def install + system "go", "build", *std_go_args(ldflags: "-s -w") + end + + test do + assert_match version.to_s, shell_output("#{bin}/terraform version") + + minimal = testpath/"minimal.tf" + minimal.write <<~HCL + variable "aws_region" { + default = "us-west-2" + } + + variable "aws_amis" { + default = { + eu-west-1 = "ami-b1cf19c6" + us-east-1 = "ami-de7ab6b6" + us-west-1 = "ami-3f75767a" + us-west-2 = "ami-21f78e11" + } + } + + # Specify the provider and access details + provider "aws" { + access_key = "this_is_a_fake_access" + secret_key = "this_is_a_fake_secret" + region = var.aws_region + } + + resource "aws_instance" "web" { + instance_type = "m1.small" + ami = var.aws_amis[var.aws_region] + count = 4 + } + HCL + system bin/"terraform", "init" + system bin/"terraform", "graph" + end +end diff --git a/Formula/t/terrap-cli.rb b/Formula/t/terrap-cli.rb index 0bcc2f05df..d9d78ae9f2 100644 --- a/Formula/t/terrap-cli.rb +++ b/Formula/t/terrap-cli.rb @@ -9,12 +9,10 @@ class TerrapCli < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "592781b1ba501ec1b921cb71bcd5ed5c76593a91e1ee204c90819cec5e116ff8" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "592781b1ba501ec1b921cb71bcd5ed5c76593a91e1ee204c90819cec5e116ff8" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "592781b1ba501ec1b921cb71bcd5ed5c76593a91e1ee204c90819cec5e116ff8" - sha256 cellar: :any_skip_relocation, arm64_linux: "7f819a72975fb230b080740cce0ac32de6abff2c05867a0e4b928fc7023e2573" - sha256 cellar: :any_skip_relocation, x86_64_linux: "af731c4e99096d2bc7719901124dabc4c7dc0bf65075daa2133c51a153a8cce2" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "82f14006cf8b2d2a703f8e1f0a3a62379c9dff7dc6d5d601a338098685641cbb" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "3b22d0e0353f4ed9e336c607dc0afc2c12cb31fc1f31953a6fe3f58db4b8aace" + sha256 cellar: :any_skip_relocation, ventura: "2d9544381fa49fb64c79e5d49e9391dda4b049dbd3b7ca9653e57fbd85ca8442" + sha256 cellar: :any_skip_relocation, x86_64_linux: "0e543f08cddcc2efb753dee35210ca8d39100a9986c5ad51c332fc51a32d4950" end depends_on "go" => :build @@ -23,7 +21,7 @@ def install ldflags = "-s -w -X github.com/sirrend/terrap-cli/internal/version.Version=#{version}" system "go", "build", *std_go_args(ldflags:, output: bin/"terrap") - generate_completions_from_executable(bin/"terrap", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"terrap", "completion") end test do diff --git a/Formula/t/terratag.rb b/Formula/t/terratag.rb new file mode 100644 index 0000000000..179645f410 --- /dev/null +++ b/Formula/t/terratag.rb @@ -0,0 +1,48 @@ +class Terratag < Formula + desc "CLI to automate tagging for AWS, Azure & GCP resources in Terraform" + homepage "https://www.terratag.io/" + url "https://github.com/env0/terratag/archive/refs/tags/v0.7.3.tar.gz" + sha256 "ae27b37043126bd18271e157018fc49b826fdbe8346d2074dddc83bf771c8e6b" + license "MPL-2.0" + head "https://github.com/env0/terratag.git", branch: "master" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "a8b9375c8d180eed61d44f2719381616ebd194abf2ff50d4a74dc27926caa486" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "65f5f6940cc2c136b645f1bd04effe12972bb590527f77dabab6ebf0028f519a" + sha256 cellar: :any_skip_relocation, ventura: "eeaef96c67a0d22c4d8296635f30fefab9ddc9f3eceaca8d0c06373ac335a349" + sha256 cellar: :any_skip_relocation, x86_64_linux: "991890288264cbb38881e510083940866d5be24b2839178230bf0355d106ceb9" + end + + depends_on "go" => :build + + def install + system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/terratag" + end + + test do + # version print as `vdev`, see upstream bug report https://github.com/env0/terratag/issues/168 + system bin/"terratag", "--version" + + (testpath/"main.tf").write <<~EOS + provider "aws" { + region = "us-east-1" + } + + resource "aws_instance" "example" { + ami = "ami-12345678" + instance_type = "t2.micro" + } + EOS + + system bin/"terratag", + "-dir", testpath.to_s, + "-tags", '{"environment":"test","owner":"brew"}', + "-rename=false" + + output = shell_output("#{bin}/terratag -dir #{testpath} " \ + "-tags '{\"environment\":\"test\",\"owner\":\"brew\"}' -rename=false 2>&1") + + assert_match "terraform init must run before running terratag", output + end +end diff --git a/Formula/t/terratags.rb b/Formula/t/terratags.rb deleted file mode 100644 index c8f847937e..0000000000 --- a/Formula/t/terratags.rb +++ /dev/null @@ -1,48 +0,0 @@ -class Terratags < Formula - desc "Required tags validation on terraform resources" - homepage "https://terratags.github.io/terratags/" - url "https://github.com/terratags/terratags/archive/refs/tags/v0.8.4.tar.gz" - sha256 "1b5ac2f89bdbc0b1aa42e95c4d6edcaf56adc4cdbd78538925c1b25cca149468" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1225784ff676b6ac76a55934d46d94e2a8db514627a7f97efde131c22bd1d1fc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1225784ff676b6ac76a55934d46d94e2a8db514627a7f97efde131c22bd1d1fc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1225784ff676b6ac76a55934d46d94e2a8db514627a7f97efde131c22bd1d1fc" - sha256 cellar: :any_skip_relocation, arm64_linux: "cc0e1d503a697af40dcdc7986c18309d9844804d8b6c193b5a72cb67a5e4f570" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c7800fec68e23ae20af5035aaa2735dca82caecd75a26206676831db39644e4a" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - end - - test do - assert_match version.to_s, shell_output("#{bin}/terratags --version") - - (testpath/"ok/main.tf").write <<~HCL - resource "aws_s3_bucket" "x" { - bucket = "example-bucket" - tags = { Name = "ok" } - } - HCL - - (testpath/"terratags.yaml").write <<~YAML - required_tags: - - Name - YAML - - output = shell_output("#{bin}/terratags -config terratags.yaml -dir ok") - assert_match "All resources have the required tags!", output - - (testpath/"bad/main.tf").write <<~HCL - resource "aws_s3_bucket" "x" { bucket = "bad-bucket" } - HCL - - output = shell_output("#{bin}/terratags -config terratags.yaml -dir bad", 1) - assert_match "aws_s3_bucket 'x' is missing required tags: Name", output - end -end diff --git a/Formula/t/terrawiz.rb b/Formula/t/terrawiz.rb deleted file mode 100644 index 588bb1ec77..0000000000 --- a/Formula/t/terrawiz.rb +++ /dev/null @@ -1,26 +0,0 @@ -class Terrawiz < Formula - desc "Discover Terraform & Terragrunt modules on GitHub, GitLab, and local files" - homepage "https://github.com/efemaer/terrawiz" - url "https://registry.npmjs.org/terrawiz/-/terrawiz-1.0.0.tgz" - sha256 "34ff788efe924d5f6444d61e06fe7e9306f7641bdcb808fc6c1a61b001faf0b3" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "8d3c1a6f544475ec3c46e9be482bd4f9e0f67525b27392aa0f9484be5a7c38c0" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - assert_match version.to_s, shell_output("#{bin}/terrawiz --version") - - output = shell_output("#{bin}/terrawiz scan local:#{testpath}") - assert_match "[LocalFilesystemScanner] No IaC files found in #{testpath}", output - end -end diff --git a/Formula/t/testronaut.rb b/Formula/t/testronaut.rb deleted file mode 100644 index 75cdb82f53..0000000000 --- a/Formula/t/testronaut.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Testronaut < Formula - desc "Autonomous testing with OpenAI functions and browser automation" - homepage "https://testronaut.app/" - url "https://registry.npmjs.org/testronaut/-/testronaut-1.3.4.tgz" - sha256 "6bdbd513a08515e7337da25b3d95ef4d64ea4b07be426971ac0bceca668e3403" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a6463cbfb3e0d627a2a6e2311cdcaafb97fb02d189c27d8bf200b7c3a7994724" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a6463cbfb3e0d627a2a6e2311cdcaafb97fb02d189c27d8bf200b7c3a7994724" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "a6463cbfb3e0d627a2a6e2311cdcaafb97fb02d189c27d8bf200b7c3a7994724" - sha256 cellar: :any_skip_relocation, arm64_linux: "58c9f2c54322f92bc4d20786229c4f6efe48cd0bc8eb7ca7d845a18495d6a68d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "58c9f2c54322f92bc4d20786229c4f6efe48cd0bc8eb7ca7d845a18495d6a68d" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - output = shell_output("#{bin}/testronaut 2>&1", 1) - assert_match "Missions directory not found: missions", output - - output = shell_output("#{bin}/testronaut serve 2>&1", 1) - assert_match "No HTML reports found in missions/mission_reports", output - end -end diff --git a/Formula/t/tfjournal.rb b/Formula/t/tfjournal.rb deleted file mode 100644 index 71cb374d88..0000000000 --- a/Formula/t/tfjournal.rb +++ /dev/null @@ -1,77 +0,0 @@ -class Tfjournal < Formula - desc "Record Terraform runs with git context and timing" - homepage "https://github.com/Owloops/tfjournal" - url "https://github.com/Owloops/tfjournal/archive/refs/tags/v0.1.5.tar.gz" - sha256 "11648cf5e910890592da30ff028aa172c3eebc0e73a1a3eb11d206196df43dbc" - license "MIT" - revision 1 - head "https://github.com/Owloops/tfjournal.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1b209b83ab626a5adb28439ac535780c94a040f14ea5beb911ed3278cf11d4fa" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1b209b83ab626a5adb28439ac535780c94a040f14ea5beb911ed3278cf11d4fa" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1b209b83ab626a5adb28439ac535780c94a040f14ea5beb911ed3278cf11d4fa" - sha256 cellar: :any_skip_relocation, arm64_linux: "40d1a1eb8993d6c38e3e5b03708366a22a81f96a8afadb578a1cb8820c150d8c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "be826db84c06609f1329b550a5cdac879a613576f1b93eceaccefb4071c03884" - end - - depends_on "go" => :build - depends_on "node" => :build - - def install - cd "web" do - system "npm", "install", *std_npm_args(prefix: false) - system "npm", "run", "build" - end - rm_r buildpath/"server/dist" if (buildpath/"server/dist").exist? - cp_r buildpath/"web/dist", buildpath/"server/dist" - - ldflags = [ - "-s", - "-w", - "-X main.version=#{version}", - "-X main.commit=homebrew", - "-X main.date=unknown", - ].join(" ") - - system "go", "build", *std_go_args(ldflags:, output: bin/"tfjournal"), "." - generate_completions_from_executable(bin/"tfjournal", "completion") - end - - test do - assert_match version.to_s, shell_output("#{bin}/tfjournal --version") - - bin_dir = testpath/"bin" - path_env = "#{bin_dir}:#{ENV["PATH"]}" - bin_dir.mkpath - (bin_dir/"terraform").write <<~SH - #!/bin/sh - if [ "$1" = "workspace" ] && [ "$2" = "show" ]; then - echo default - exit 0 - fi - echo 'aws_s3_bucket.demo: Creation complete after 1s [id=test]' - echo 'Apply complete! Resources: 1 added, 0 changed, 0 destroyed.' - SH - chmod 0755, bin_dir/"terraform" - - system "git", "init" - system "git", "config", "user.email", "test@example.com" - system "git", "config", "user.name", "Test User" - (testpath/"main.tf").write "terraform {}\n" - system "git", "add", "main.tf" - system "git", "commit", "-m", "init" - - with_env("HOME" => testpath.to_s, "PATH" => path_env) do - system bin/"tfjournal", "--", "terraform", "apply", "-auto-approve" - end - - output = with_env("HOME" => testpath.to_s) do - shell_output("#{bin}/tfjournal list --json") - end - assert_match '"program": "terraform"', output - assert_match '"status": "success"', output - assert_match '"add": 1', output - end -end diff --git a/Formula/t/tfreveal.rb b/Formula/t/tfreveal.rb index 414a2ca9fd..8e274d7588 100644 --- a/Formula/t/tfreveal.rb +++ b/Formula/t/tfreveal.rb @@ -2,18 +2,17 @@ class Tfreveal < Formula desc "CLI to show Terraform plan with all the secret (sensitive) values revealed" homepage "https://github.com/breml/tfreveal" - url "https://github.com/breml/tfreveal/archive/refs/tags/v0.0.5.tar.gz" - sha256 "ece05febc2b4e8bb19f1e01b3359edeff4202b8e0a248d28c2b93ad7ee154937" + url "https://github.com/breml/tfreveal/archive/refs/tags/v0.0.4.tar.gz" + sha256 "392ea05d250c6a19254e10643ba45a5bff16c566b81cba8a0e5527aff3317ced" license "MIT" head "https://github.com/breml/tfreveal.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0460e1888917aa7d2021b8d79b725105fee7ba556d424e158982463ec58af760" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0460e1888917aa7d2021b8d79b725105fee7ba556d424e158982463ec58af760" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0460e1888917aa7d2021b8d79b725105fee7ba556d424e158982463ec58af760" - sha256 cellar: :any_skip_relocation, arm64_linux: "080757248430086dbc9d4d38c9f5377aea34406c97b0e55123d1381d7d238f71" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2aef6e1944355b1db145f199b35f7e783357d1c9a0c545931ad1709985fb195e" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "f796f528b963022849e26d3580bee3b2dd30c35a3e2667dd1dc681d5b245adfd" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "8ead5e6bd914141a882ba3e712cdf7d3fabf3e6c97765a4e45f961548d2a9dda" + sha256 cellar: :any_skip_relocation, ventura: "d874ab163e8fe032a5ced17e80df1fb2a1d1afc515662f39c4db9b79223ecafb" + sha256 cellar: :any_skip_relocation, x86_64_linux: "0cc99c05370b2e1a94642a802d681675ed414a4a0ee52b3df4ebacf005d4b57a" end depends_on "go" => :build diff --git a/Formula/t/tftarget.rb b/Formula/t/tftarget.rb index 2a9feaeb11..7cc55fe940 100644 --- a/Formula/t/tftarget.rb +++ b/Formula/t/tftarget.rb @@ -9,12 +9,10 @@ class Tftarget < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "45f35153fb34ca77db5f36da0ef07616d1c164260b069ce69bbaef4fe2d50a65" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "45f35153fb34ca77db5f36da0ef07616d1c164260b069ce69bbaef4fe2d50a65" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "45f35153fb34ca77db5f36da0ef07616d1c164260b069ce69bbaef4fe2d50a65" - sha256 cellar: :any_skip_relocation, arm64_linux: "3b05bbce5269e953c9f4e8e12d717837e3d3d604be422f8e39ce99dd37775a58" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f7582b53e410bcd2b52b699ebf46e56acaf51039dfa24d167c90da37157efd54" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1a53d3517095858edeafeb7c2ed9756116a87201dfd54190d50c49ca6ba49537" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "62ec7a291f2b961d4f016c33ee9b2411df3f0b1796f6f0e0f263f13e4cbcf4ac" + sha256 cellar: :any_skip_relocation, ventura: "583874019b91e16940636864e9fd0bcc0300abf477f5529032f4448c679f534c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "c953d2538f62d69327698d518660887afba3378d033734e2a60f9ce9a569b9d1" end depends_on "go" => :build @@ -23,7 +21,7 @@ class Tftarget < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w") - generate_completions_from_executable(bin/"tftarget", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"tftarget", "completion") end test do diff --git a/Formula/t/thanks-stars.rb b/Formula/t/thanks-stars.rb deleted file mode 100644 index 909121a86b..0000000000 --- a/Formula/t/thanks-stars.rb +++ /dev/null @@ -1,34 +0,0 @@ -class ThanksStars < Formula - desc "Star GitHub repositories backing your project's dependencies" - homepage "https://github.com/Kenzo-Wada/thanks-stars" - url "https://github.com/Kenzo-Wada/thanks-stars/archive/refs/tags/v0.10.1.tar.gz" - sha256 "87153f78407d48241b767a19754e121d68da423d5562e984071a223741dbb573" - license "MIT" - head "https://github.com/Kenzo-Wada/thanks-stars.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "923ff9c478ee461426ca2467a8cc0094c103af0269e81682ba5293c7973c2e0a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "51202300b0b4e9cd15ec2ab63df02f2faa4a58fd44c76295af8fa3eb12532d95" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bc594174c0a23d5fe5f9a595834d0cd2c9d919b59dbe314f14f5a8df9b050fdf" - sha256 cellar: :any_skip_relocation, arm64_linux: "ff3fd5dda237859cabff0e2100ecba743a16546daf3705823e7853284ca2f4e8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fd419156d82acf38c40c5cb8d3085f7cfc134ec9433bbb7b6c4201a48e686a11" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - config_dir = testpath/"config" - output = with_env(THANKS_STARS_CONFIG_DIR: config_dir.to_s) do - shell_output("#{bin}/thanks-stars auth --token cli-token") - end - - assert_match "Token saved", output - assert_match version.to_s, shell_output("#{bin}/thanks-stars --version") - assert_match "cli-token", (config_dir/"config.toml").read - end -end diff --git a/Formula/t/theattyr.rb b/Formula/t/theattyr.rb deleted file mode 100644 index c1d64592a4..0000000000 --- a/Formula/t/theattyr.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Theattyr < Formula - desc "Terminal theater for playing VT100 art and animations" - homepage "https://github.com/orhun/theattyr" - url "https://github.com/orhun/theattyr/archive/refs/tags/v0.1.10.tar.gz" - sha256 "c21e6051ddaa2640b864f4ece25578bc6d4c8c8d264fb17c0216a54043caa92a" - license any_of: ["MIT", "Apache-2.0"] - head "https://github.com/orhun/theattyr.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b45cf2ac5978d3eb08315393325326d43dab979778ea6eccbb8815176b548f93" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "48388500eb70369eebac8b7a6ba4cbbe81ea7373bbe3f1693e6a7ec726a4ec1f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "738df5b5299bf2ad9e428cb833eb71890667681f70eefe3b540db3898e987033" - sha256 cellar: :any_skip_relocation, arm64_linux: "ecf359995ad7fe92dedb9af69bbe5b6b3a9afd227ed206eac26e7a3a72bb790f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "a5d85493970673888291ea0741d611ff28917f918948e268249ce079b763387d" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/theattyr --version") - - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"theattyr", [:out, :err] => output_log.to_s - sleep 1 - assert_match "VT100 Animations", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/Formula/t/ticker.rb b/Formula/t/ticker.rb deleted file mode 100644 index dcc34f0324..0000000000 --- a/Formula/t/ticker.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Ticker < Formula - desc "Terminal stock ticker with live updates and position tracking" - homepage "https://github.com/achannarasappa/ticker" - url "https://github.com/achannarasappa/ticker/archive/refs/tags/v5.2.1.tar.gz" - sha256 "774b060941aed0773b49633bb5b009247ff8122ee7d45ddfe406940c635f6926" - license "GPL-3.0-only" - head "https://github.com/achannarasappa/ticker.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "61e1bf97281ed96c01ba95724b443cc7f16d1cd6f8a630844774e1d747e5534f" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "61e1bf97281ed96c01ba95724b443cc7f16d1cd6f8a630844774e1d747e5534f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "61e1bf97281ed96c01ba95724b443cc7f16d1cd6f8a630844774e1d747e5534f" - sha256 cellar: :any_skip_relocation, arm64_linux: "7593e9325b18f222e6dcd6072f9e97e46b97de9f5acd6612e3691873dc83d998" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8f7c838fae54878184ad3320f1614c323924ab053fdd700aca7111855ab13dc0" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/achannarasappa/ticker/v5/cmd.Version=#{version}" - system "go", "build", *std_go_args(ldflags:) - - generate_completions_from_executable(bin/"ticker", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/ticker --version") - - (testpath/".ticker.yaml").write <<~YAML - watchlist: - - AAPL - YAML - - output = shell_output("#{bin}/ticker print summary --config #{testpath}/.ticker.yaml") - assert_equal "0.000000", JSON.parse(output)["total_value"] - end -end diff --git a/Formula/t/tickrs.rb b/Formula/t/tickrs.rb index 3beb50f358..6bbc5dbff9 100644 --- a/Formula/t/tickrs.rb +++ b/Formula/t/tickrs.rb @@ -2,26 +2,25 @@ class Tickrs < Formula desc "Realtime ticker data in your terminal" homepage "https://github.com/tarkah/tickrs" - url "https://github.com/tarkah/tickrs/archive/refs/tags/v0.15.0.tar.gz" - sha256 "d06648feb9d0da53f10188f050e8324162a1a83a1ed0f2f7a360983dc2f2b0a6" + url "https://github.com/tarkah/tickrs/archive/refs/tags/v0.14.11.tar.gz" + sha256 "e6c7c4cfbc381c4e56316734335c87e88f32b722afb91ea1bd96bba80297660b" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6b4700c2115a1bc326702cd1a29b3da0cb6cbca240d40f5f4bcdc4d2d115f6fd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "427bdf1ad0b6943e59e81cf570997e2730ec533a14810bc831ed035a6f76cf1b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e4047694bbd804badcfe4cae9f3f1fb611769836f58669f72ddc7a079ae3f3a9" - sha256 cellar: :any_skip_relocation, arm64_linux: "7d08bbc9e16bf1866bd3144acf366c53ff1b901a86cd42c2147314290d4e362f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "20c4a5c5f3cb824eb9f9ff70b57a04b83cad48813b275b0887ccd98f465e6952" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "6f374eacc0c920e4ac84ce21b409c6d3f31e96441eceb43ad5186431d55ff3f9" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f41e6f649430deceaaa7f0a844661ae863fb0ca78bda33120c72732f7ec48a06" + sha256 cellar: :any_skip_relocation, ventura: "8da8946689863ccbf0b609f03f1e325e024973d73fd46aac377c2732b9f2ffb9" + sha256 cellar: :any_skip_relocation, x86_64_linux: "ec4b8a0047b7d9e0e9ec1c8b77ee3546031dbf996b8611f5f874be17f61acb66" end depends_on "pkgconf" => :build depends_on "rust" => :build + uses_from_macos "zlib" + on_linux do depends_on "openssl@3" - depends_on "zlib-ng-compat" end def install @@ -30,6 +29,20 @@ def install test do assert_match version.to_s, shell_output("#{bin}/tickrs --version") - assert_match "Realtime ticker data in your terminal", shell_output("#{bin}/tickrs --help") + + require "pty" + + output = "" + + PTY.spawn("#{bin}/tickrs") do |reader, _writer, pid| + sleep 1 + Process.kill "TERM", pid + begin + output = reader.read + assert_match("Add\e[22;7HTicker", output) + rescue Errno::EIO + # GNU/Linux raises EIO when read is done on closed pty + end + end end end diff --git a/Formula/t/tiki.rb b/Formula/t/tiki.rb deleted file mode 100644 index b3afeb831e..0000000000 --- a/Formula/t/tiki.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Tiki < Formula - desc "Markdown-based git-versioned documentation and issue management" - homepage "https://github.com/boolean-maybe/tiki" - url "https://github.com/boolean-maybe/tiki/archive/refs/tags/v0.5.3.tar.gz" - sha256 "3c6a694b063c9f406cca0e5577f82f260d9d3509a62018ec5caadb53405d53c1" - license "Apache-2.0" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "3d988a4d8df130231d4a6445633bf55e8e902d04d9e64b8d76af310fadc44a49" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "3d988a4d8df130231d4a6445633bf55e8e902d04d9e64b8d76af310fadc44a49" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3d988a4d8df130231d4a6445633bf55e8e902d04d9e64b8d76af310fadc44a49" - sha256 cellar: :any_skip_relocation, arm64_linux: "1ac18a3e5cc768fcbe84583d418cc901517d25904f9afb91e8783ff99115fe08" - sha256 cellar: :any_skip_relocation, x86_64_linux: "de5f4a04fa73c964f4ebaddc855eb2f70d69d78e72ba76ac3afdc9a0dfc81ca8" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s - -w - -X github.com/boolean-maybe/tiki/config.Version=#{version} - -X github.com/boolean-maybe/tiki/config.GitCommit=Homebrew - -X github.com/boolean-maybe/tiki/config.BuildDate=unknown - ] - - system "go", "build", *std_go_args(ldflags:), "." - end - - test do - output = shell_output("#{bin/"tiki"} sysinfo") - assert_match "System Information", output - assert_match "OS:", output - assert_match "Project Root:", output - - assert_match version.to_s, shell_output("#{bin/"tiki"} --version") - end -end diff --git a/Formula/t/timetrace.rb b/Formula/t/timetrace.rb index dfcfebe51a..0909e1960c 100644 --- a/Formula/t/timetrace.rb +++ b/Formula/t/timetrace.rb @@ -8,12 +8,10 @@ class Timetrace < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9885d0f8db7548a3dc3f033ce4c30d6ef85b904a4278f27730d0cd76fc7c2fdc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9885d0f8db7548a3dc3f033ce4c30d6ef85b904a4278f27730d0cd76fc7c2fdc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9885d0f8db7548a3dc3f033ce4c30d6ef85b904a4278f27730d0cd76fc7c2fdc" - sha256 cellar: :any_skip_relocation, arm64_linux: "993d2b745603dfd6709378d1727ce5d1fd534e3dffc7de32ccaca25e324954cf" - sha256 cellar: :any_skip_relocation, x86_64_linux: "053802823cdecc0138204022db1a99e430b672e571690c9b163dd64617161d1c" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "4423f15766f9c7e37a1c52105159888a1ab7e32775c7499ca64642b24c9bb496" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "0e2037b663d2620fc6c79edced4aaa445b993ff82131b4e4efe72b782576efd5" + sha256 cellar: :any_skip_relocation, ventura: "cba028bf16959201d099ae93bd61b8f7a282efb865d9360c5d47808d2dfd6bf4" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e85f5a0713f7c144ffd7a83d62e7a5116ffec8d899fec1dff96cde75c5b4e6d5" end depends_on "go" => :build @@ -21,7 +19,7 @@ class Timetrace < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}") - generate_completions_from_executable(bin/"timetrace", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"timetrace", "completion") end test do diff --git a/Formula/t/tinifier.rb b/Formula/t/tinifier.rb deleted file mode 100644 index 726f834d49..0000000000 --- a/Formula/t/tinifier.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Tinifier < Formula - desc "CLI tool for compressing images using the TinyPNG" - homepage "https://github.com/tarampampam/tinifier" - url "https://github.com/tarampampam/tinifier/archive/refs/tags/v5.1.2.tar.gz" - sha256 "40d8863a26c8c0e8d41b05955527e938a6dbdcf39d15255aed604375c403245b" - license "MIT" - head "https://github.com/tarampampam/tinifier.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "784fc2933fce363e6d444312e3607aeeea5ca225ecc249caea378ac2b00249d1" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "784fc2933fce363e6d444312e3607aeeea5ca225ecc249caea378ac2b00249d1" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "784fc2933fce363e6d444312e3607aeeea5ca225ecc249caea378ac2b00249d1" - sha256 cellar: :any_skip_relocation, arm64_linux: "508df1e9f9ec18a259675226a13e17807503a232a9ee5e2b953c978814462565" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1300d44a72272ffb72ee562ecfa11c9894330f452dbf677252ae51e2a9576786" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X gh.tarampamp.am/tinifier/v5/internal/version.version=#{version}" - system "go", "build", *std_go_args(ldflags:), "./cmd/tinifier" - end - - test do - assert_match version.to_s, shell_output("#{bin}/tinifier --version") - - output = shell_output("#{bin}/tinifier #{testpath} 2>&1", 1) - assert_match "invalid options: API keys list cannot be empty", output - end -end diff --git a/Formula/t/tinybird-mcp-server.rb b/Formula/t/tinybird-mcp-server.rb index bcbb9781f0..d4574b0735 100644 --- a/Formula/t/tinybird-mcp-server.rb +++ b/Formula/t/tinybird-mcp-server.rb @@ -9,21 +9,14 @@ class TinybirdMcpServer < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 2 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f189fb744334118d5515312eb78faa27b939cff49bcfaeeefe305342367622c8" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "083280244451d86b48e345d66c6f26a561b767bb75bf4cec652cca1c95c698bc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "48d50028e6ecdc1d6a8ac2fe35ebded06c4b58df9003f149cb774efe4bf578d7" - sha256 cellar: :any_skip_relocation, arm64_linux: "0a62eaaf04c1c864a449732c58a8d3ede4370a8a32bdb0c39697912b0ef6ed75" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e35d08e32b15731d6e9760dbbdeb3670d51ce44c789883e024abfe4ea4620668" + sha256 cellar: :any, arm64_sequoia: "9e75c5f4d6f22f0f33951ab9e05f5b9aebad4c889e7404fbbcd41fb1c75c9f6c" + sha256 cellar: :any, arm64_sonoma: "cfc3a95098c85b7e3be13c612d12970f85dbdd92c7650ec1a9e592c65bc8f113" + sha256 cellar: :any, ventura: "12c0d214a50385f7a8e7de49a99ccea6497873f223872f5c4fb4bbc3f52312f2" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7c6378d44e7d8884dbd041e4e9e3c7a2432483e171ab18d117e8a38e39fd7d6f" end - depends_on "certifi" => :no_linkage - depends_on "cryptography" => :no_linkage - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - depends_on "rpds-py" => :no_linkage - - pypi_packages exclude_packages: %w[certifi cryptography pydantic rpds-py] + depends_on "rust" => :build # for pydantic + depends_on "python@3.13" resource "aiohappyeyeballs" do url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" @@ -31,8 +24,8 @@ class TinybirdMcpServer < Formula end resource "aiohttp" do - url "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz" - sha256 "40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca" + url "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz" + sha256 "4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2" end resource "aiosignal" do @@ -40,14 +33,19 @@ class TinybirdMcpServer < Formula sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" end + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end + resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" end resource "backoff" do @@ -55,19 +53,24 @@ class TinybirdMcpServer < Formula sha256 "03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba" end + resource "certifi" do + url "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz" + sha256 "e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407" + end + resource "charset-normalizer" do - url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" - sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" end resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" + url "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz" + sha256 "2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f" end resource "h11" do @@ -86,13 +89,13 @@ class TinybirdMcpServer < Formula end resource "httpx-sse" do - url "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz" - sha256 "9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d" + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "jsonschema" do @@ -101,38 +104,43 @@ class TinybirdMcpServer < Formula end resource "jsonschema-specifications" do - url "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" - sha256 "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" end resource "mcp" do - url "https://files.pythonhosted.org/packages/a3/a2/c5ec0ab38b35ade2ae49a90fada718fbc76811dc5aa1760414c6aaa6b08a/mcp-1.22.0.tar.gz" - sha256 "769b9ac90ed42134375b19e777a2858ca300f95f2e800982b3e2be62dfc0ba01" + url "https://files.pythonhosted.org/packages/d3/a8/564c094de5d6199f727f5d9f5672dbec3b00dfafd0f67bf52d995eaa5951/mcp-1.13.0.tar.gz" + sha256 "70452f56f74662a94eb72ac5feb93997b35995e389b3a3a574e078bed2aa9ab3" end resource "multidict" do - url "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" - sha256 "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5" + url "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz" + sha256 "d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd" end resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" + url "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz" + sha256 "20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168" end - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/43/4b/ac7e0aae12027748076d72a8764ff1c9d82ca75a7a52622e67ed3f765c54/pydantic_settings-2.12.0.tar.gz" - sha256 "005538ef951e3c2a68e1c08b292b5f2e71490def8589d4221b95dab00dafcfd0" + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" end - resource "pyjwt" do - url "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz" - sha256 "3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953" + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" + end + + resource "pydantic-settings" do + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" end resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz" - sha256 "42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6" + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" end resource "python-multipart" do @@ -141,8 +149,8 @@ class TinybirdMcpServer < Formula end resource "referencing" do - url "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" - sha256 "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" end resource "requests" do @@ -150,19 +158,24 @@ class TinybirdMcpServer < Formula sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" end + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/1e/d9/991a0dee12d9fc53ed027e26a26a64b151d77252ac477e22666b9688bc16/rpds_py-0.27.0.tar.gz" + sha256 "8b23cf252f180cda89220b378d917180f29d313cd6a07b2431c0d3b776aae86f" + end + resource "sniffio" do url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" end resource "sse-starlette" do - url "https://files.pythonhosted.org/packages/db/3c/fa6517610dc641262b77cc7bf994ecd17465812c1b0585fe33e11be758ab/sse_starlette-3.0.3.tar.gz" - sha256 "88cfb08747e16200ea990c8ca876b03910a23b547ab3bd764c0d8eb81019b971" + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" end resource "starlette" do - url "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz" - sha256 "a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca" + url "https://files.pythonhosted.org/packages/04/57/d062573f391d062710d4088fa1369428c38d51460ab6fedff920efef932e/starlette-0.47.2.tar.gz" + sha256 "6ae9aa5db235e4846decc1e7b79c4f346adf41e9777aebeb49dfd09bbd7023d8" end resource "tinybird-python-sdk" do @@ -170,19 +183,29 @@ class TinybirdMcpServer < Formula sha256 "d3f6b1fcb97c228a64d64b8989f8b53b4620f064ba4a760b16b1568358ac44ca" end + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz" + sha256 "38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + end + resource "urllib3" do url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" end resource "uvicorn" do - url "https://files.pythonhosted.org/packages/cb/ce/f06b84e2697fef4688ca63bdb2fdf113ca0a3be33f94488f2cadb690b0cf/uvicorn-0.38.0.tar.gz" - sha256 "fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d" + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" end resource "yarl" do - url "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" - sha256 "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" + url "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz" + sha256 "d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac" end def install diff --git a/Formula/t/tlint.rb b/Formula/t/tlint.rb index 08d636d809..c5996ae7e4 100644 --- a/Formula/t/tlint.rb +++ b/Formula/t/tlint.rb @@ -1,14 +1,17 @@ class Tlint < Formula desc "Tighten linter for Laravel conventions" homepage "https://github.com/tighten/tlint" - url "https://github.com/tighten/tlint/archive/refs/tags/v9.6.0.tar.gz" - sha256 "d730a5de9ebf879f0c0adc1c69f7debefa6f7840090c7b4807a37bf9a36af20c" + url "https://github.com/tighten/tlint/archive/refs/tags/v9.5.0.tar.gz" + sha256 "3c9f82955e533ad18df6715441e1772b0614cf51f7168ddced54861575758076" license "MIT" head "https://github.com/tighten/tlint.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "8e5bfb9ae0e023a6a1a1d5389a80438300abcd646341faeb374d4f5fe268c55a" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "744b10768f3695f80beb17b42434f006ea332c67137e869d616059e64a46d3b3" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f4efb19148dd048e3c7ceea8ae75cf784560205886bf8198bcc86655621c4585" + sha256 cellar: :any_skip_relocation, ventura: "022a8a785cad92ae79e93e8136763fd4f6655560e77b8f5c8770570e8b25bf09" + sha256 cellar: :any_skip_relocation, x86_64_linux: "3ccd54460de93bb918ce03326ba509b7b4fe5e703be9b9c35929765b1de7b262" end depends_on "composer" => :build diff --git a/Formula/t/tmmpr.rb b/Formula/t/tmmpr.rb deleted file mode 100644 index 6edb21ea00..0000000000 --- a/Formula/t/tmmpr.rb +++ /dev/null @@ -1,43 +0,0 @@ -class Tmmpr < Formula - desc "Terminal mind mapper" - homepage "https://github.com/tanciaku/tmmpr" - url "https://github.com/tanciaku/tmmpr/archive/refs/tags/v0.1.1.tar.gz" - sha256 "e15eb43872484147c2c9b54f618c8fb8a96d0d013e120d06e9d80a25ea0d42ec" - license "MIT" - head "https://github.com/tanciaku/tmmpr.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f477d4cf4f3de7b41e1229de29d942cc643c8ae4c03debbe41719244d3e9fff5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7904848bbf88f0a852d844612506da9f9005bb3342a1e28e4d26cd0399da3a31" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "afcf3cc25e44e65b78c0bf5833c7da66c71f429d07111f63572754f067bed77b" - sha256 cellar: :any_skip_relocation, arm64_linux: "4209599296d84ff79b9f3f0c4dfa5e226c987dda38da78af9c221b7e4124af6a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4e0b5804943a2b0d05577165f769912c3f61f3686b2eb50ff97e2f42ad69a74d" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - output_log = testpath/"tmmpr.log" - pid = if OS.mac? - spawn "script", "-q", File::NULL, bin/"tmmpr", [:out, :err] => output_log.to_s - else - spawn "script", "-q", "-c", bin/"tmmpr", File::NULL, [:out, :err] => output_log.to_s - end - sleep 2 - Process.kill("TERM", pid) if Process.waitpid(pid, Process::WNOHANG).nil? - Process.wait(pid) - - output = output_log.read - assert_match "\e[?1049h", output - refute_match "No such device or address", output - rescue Errno::ESRCH - output = output_log.exist? ? output_log.read : "" - assert_match "\e[?1049h", output - refute_match "No such device or address", output - end -end diff --git a/Formula/t/tofuref.rb b/Formula/t/tofuref.rb deleted file mode 100644 index 7eae32a09a..0000000000 --- a/Formula/t/tofuref.rb +++ /dev/null @@ -1,147 +0,0 @@ -class Tofuref < Formula - include Language::Python::Virtualenv - - desc "TUI for OpenTofu provider registry" - homepage "https://github.com/djetelina/tofuref" - url "https://files.pythonhosted.org/packages/e2/56/52b7cb1bf1a733463484d89b3f4365c96da4700bcd7bbaf0a510ddf01075/tofuref-1.8.1.tar.gz" - sha256 "7c6620d86783be041c900b5efb34a37c7ba3212140d9a7b119f22c00310968d8" - license "MIT" - head "https://github.com/djetelina/tofuref.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8ebad58e4ca088ada2dade690bbf73189179a42d59cb6e23d06607fafd6934e5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e27d70bd9f53a880d70a75a42bd6da0e2710f274bf69386c5c7f4b4cf19a4146" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c76904467393ec6aa6419cae7e94b1b2f001e3f09a53a764cff569b37608ea89" - sha256 cellar: :any_skip_relocation, arm64_linux: "272fdf0a3f2498a060f8a7cfd7c80da0b275a17f7481262733201a80883c5fa9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8fe91c6e87de09b7b75119548cf08ec2fed7b2b333bf246e6016120905214e51" - end - - depends_on "certifi" => :no_linkage - depends_on "libyaml" - depends_on "python@3.13" - - pypi_packages exclude_packages: "certifi" - - resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/57/75/31212c6bf2503fdf920d87fee5d7a86a2e3bcf444984126f13d8e4016804/click-8.3.2.tar.gz" - sha256 "14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "packaging" do - url "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz" - sha256 "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz" - sha256 "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "python-frontmatter" do - url "https://files.pythonhosted.org/packages/96/de/910fa208120314a12f9a88ea63e03707261692af782c99283f1a2c8a5e6f/python-frontmatter-1.1.0.tar.gz" - sha256 "7118d2bd56af9149625745c58c9b51fb67e8d1294a0c76796dafdc72c36e5f6d" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" - sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/cf/2f/d44f0f12b3ddb1f0b88f7775652e99c6b5a43fd733badf4ce064bdbfef4a/textual-8.2.3.tar.gz" - sha256 "beea7b86b03b03558a2224f0cc35252e60ef8b0c4353b117b2f40972902d976a" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "yaucl" do - url "https://files.pythonhosted.org/packages/fc/04/ce4d1a97cab0ed8cafbc47686cc6b351ffe55e40fdb1744ea054e78c9574/yaucl-0.2.0.tar.gz" - sha256 "09872bd16c3a588bae89eb50f1819b455b9b53d51ae9b010ce4250f6a7ee6647" - end - - def install - virtualenv_install_with_resources - end - - test do - output_log = testpath/"tofuref.log" - pid = if OS.mac? - spawn "script", "-q", File::NULL, bin/"tofuref", [:out, :err] => output_log.to_s - else - spawn "script", "-q", "-c", bin/"tofuref", File::NULL, [:out, :err] => output_log.to_s - end - sleep 2 - assert Process.kill(0, pid) - Process.kill("TERM", pid) - Process.wait(pid) - output = output_log.read - refute_match "No such device or address", output - refute_match "Traceback", output - rescue Errno::ESRCH - flunk "tofuref exited before it could be terminated" - end -end diff --git a/Formula/t/togo.rb b/Formula/t/togo.rb deleted file mode 100644 index 62e1c6b7dc..0000000000 --- a/Formula/t/togo.rb +++ /dev/null @@ -1,48 +0,0 @@ -# framework: cobra -class Togo < Formula - desc "Fast and simple terminal-based task and todo manager" - homepage "https://github.com/prime-run/togo" - url "https://github.com/prime-run/togo/archive/refs/tags/v1.1.0.tar.gz" - sha256 "c908fb2cdc8a166b1ff030aa58bec728bd872373c1e22fc7daac2bf35be87abb" - license "MIT" - head "https://github.com/prime-run/togo.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "96934431cbe074cd7397b6adbeb09c0e1b6c0ad2d3680c311de58fcc62f0e748" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "96934431cbe074cd7397b6adbeb09c0e1b6c0ad2d3680c311de58fcc62f0e748" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "96934431cbe074cd7397b6adbeb09c0e1b6c0ad2d3680c311de58fcc62f0e748" - sha256 cellar: :any_skip_relocation, arm64_linux: "c116fe1067f96ac31c9e70e8b1ec5a415ddc6b74743bc32dd1d5e90fa8088108" - sha256 cellar: :any_skip_relocation, x86_64_linux: "bbae20d9130231b8dc057336e81a1c70ba0bd1f8d29e1a5e90c61ea678d9ecd2" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - generate_completions_from_executable(bin/"togo", "completion", shell_parameter_format: :cobra) - end - - test do - require "json" - - init_output = shell_output("#{bin/"togo"} init") - assert_match "Initialized .togo in:", init_output - - add_output = shell_output("#{bin/"togo"} --source project add \"write docs\"") - assert_match "Todo added successfully", add_output - - add_output = shell_output("#{bin/"togo"} --source project add \"ship formula\"") - assert_match "Todo added successfully", add_output - - todo_path = testpath/"todos.json" - assert_path_exists todo_path - - todos = JSON.parse(todo_path.read) - assert_equal 2, todos["todos"].length - assert_equal "write docs", todos["todos"][0]["title"] - assert_equal false, todos["todos"][0]["completed"] - assert_equal "ship formula", todos["todos"][1]["title"] - assert_equal 3, todos["next_id"] - end -end diff --git a/Formula/t/token-cli.rb b/Formula/t/token-cli.rb index 59286ab34a..4e8cd7add1 100644 --- a/Formula/t/token-cli.rb +++ b/Formula/t/token-cli.rb @@ -13,12 +13,10 @@ class TokenCli < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "dc72aa33500223e4f2afbf8e6ae31f97b80cbe11b9ffba7459d8fad0d5c0cc14" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "dc72aa33500223e4f2afbf8e6ae31f97b80cbe11b9ffba7459d8fad0d5c0cc14" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "dc72aa33500223e4f2afbf8e6ae31f97b80cbe11b9ffba7459d8fad0d5c0cc14" - sha256 cellar: :any_skip_relocation, arm64_linux: "0e1b766b0dc04ca4597a1c599307b646353761c395c94c1d26ea8db5961e2aaf" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2b11ad0f0e1a2421f9a596b19b98b3fc328acbe60f351b413a4c8f8741eb1cd8" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ed3e76a647fdf58d87935299f206b7178881e6e6a838f323796dadf8a5e6aaab" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a2ac16d9e20038837914ea1f1d05b72b758b29c6cde3ea2758e6f84cd5c62a86" + sha256 cellar: :any_skip_relocation, ventura: "b32137c2a57074b0e731c46ceddfc042969c741e94302e72ea5e9004f08ab208" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d4e553403b2c939c8b37e30ddc7d5d1df25bbb976df810cc10a2c3d6953093da" end depends_on "go" => :build @@ -27,7 +25,7 @@ def install ldflags = "-s -w -X github.com/imduffy15/token-cli/version.Version=#{version}" system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"token-cli", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"token-cli", "completion") end test do diff --git a/Formula/t/toml-f.rb b/Formula/t/toml-f.rb index 30ec33f6ce..9195b5f0dd 100644 --- a/Formula/t/toml-f.rb +++ b/Formula/t/toml-f.rb @@ -1,19 +1,17 @@ class TomlF < Formula desc "TOML parser for data serialization/deserialization in Fortran" homepage "https://github.com/toml-f/toml-f" - url "https://github.com/toml-f/toml-f/archive/refs/tags/v0.5.0.tar.gz" - sha256 "a9e546221d788416fa6ca8d8550a79d1adf983a2a67b5c9ef57ae79fb02c9df0" + url "https://github.com/toml-f/toml-f/archive/refs/tags/v0.4.2.tar.gz" + sha256 "e66d0e355a8a2e65fd5fc7cd4f00078dfbdbf1b3cc47b60f028c19467df4c337" license any_of: ["Apache-2.0", "MIT"] head "https://github.com/toml-f/toml-f.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "41683d4feb98a35ee34f6916b1188ec11ca7c98512d855ac8622a2614b1a0d6d" - sha256 cellar: :any, arm64_sequoia: "137a3501aaf9d2245877320a4c9d0ed783dadf396e0eae2e3b225fcc793eb2be" - sha256 cellar: :any, arm64_sonoma: "55ba3925152c22a348935710493905dd45e7b51d34c994aa230f489a13e4380f" - sha256 cellar: :any, sequoia: "df8bf324cda197c2a4a72ae64f9f4517da5025ee62f1318e309ffe3618f7e414" - sha256 cellar: :any_skip_relocation, arm64_linux: "692ac4401a6bb475ce74d6ea457eb95d4befabdb4e8ed704dbc4a0f4073a3fc9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7b9e8b620da21e066ac4931db753fa5706b27f725293cc352c3ce27e3cf7cfa3" + sha256 cellar: :any, arm64_sequoia: "77a1ee63bb0dda4d4bc5e1be2c4f2d28671ad221ad49713ab09655c4e531a9fd" + sha256 cellar: :any, arm64_sonoma: "b2fd6d8fec542cc3055120f0bc172887646557c1cff7003c2b9194d86c60d98c" + sha256 cellar: :any, ventura: "e4cbd1f69deae36ca71ce351da9a1e1c8eeb81e62b9d8f8a500e87651e8e79bc" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2adb1692cb1d4428a661a1622c7cf03016cfca54d47af5b4895635ae2e01390f" end depends_on "meson" => :build @@ -21,6 +19,8 @@ class TomlF < Formula depends_on "pkgconf" => [:build, :test] depends_on "gcc" # provides gfortran + patch :DATA + def install system "meson", "setup", "build", "-Dtests=false", *std_meson_args system "meson", "compile", "-C", "build", "--verbose" @@ -41,3 +41,28 @@ def install assert_equal "ok", shell_output("./test").strip end end + +__END__ +diff --git a/meson.build b/meson.build +index 9fa8f09..c94ccbf 100644 +--- a/meson.build ++++ b/meson.build +@@ -74,5 +74,7 @@ if install + endif + + # add the testsuite +-fpm_toml = meson.current_source_dir()/'fpm.toml' +-subdir('test') ++if get_option('tests') ++ fpm_toml = meson.current_source_dir()/'fpm.toml' ++ subdir('test') ++endif +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 0000000..93d92ff +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,3 @@ ++# Build options for toml-f ++option('tests', ++ type: 'boolean', value: false, description: 'Build test suite') diff --git a/Formula/t/tooka.rb b/Formula/t/tooka.rb index 3235e2c4bb..ee1d057c9a 100644 --- a/Formula/t/tooka.rb +++ b/Formula/t/tooka.rb @@ -1,25 +1,24 @@ class Tooka < Formula desc "CLI for the Tooka engine" homepage "https://github.com/tooka-org/tooka" - url "https://github.com/tooka-org/tooka/archive/refs/tags/v1.1.0.tar.gz" - sha256 "170db766a08d485c82e9ca446c06abe66329642540c6e7f289093d5cba000a65" + url "https://github.com/tooka-org/tooka/archive/refs/tags/v1.0.5.tar.gz" + sha256 "0582dce8a5f241f7cce78be04fcee51cc5e2c175df2ff524147018f755ccd1f6" license "GPL-3.0-only" head "https://github.com/tooka-org/tooka.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "13b5518dbec07d23870f94f0410d7c4f430f35e0d88103b5561df893adcab9c0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d839e11416d89ce29cfe74f2bc98301e77079d62a6df7fb2ef5948a48053683c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bbe88a94def0b2da78b39cb35b83b333947427b8890935b038d7724ff9ca2eb6" - sha256 cellar: :any_skip_relocation, arm64_linux: "8944be46ddb57df61386f728a6906641626fc89b5b82557f748e5cb1390903bd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0ef52e2373a980588e3f1615cd22c42eb0fdc88d7493e0cef42686d69ebb5530" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "edd389fbd44f78af6c7bb9128f242cb6000e18612d197947a7849b5b2e8a7f50" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "99727d35605d3bb42cb089183847708db7bb09cb09b81d680c5134c5a0a1cad2" + sha256 cellar: :any_skip_relocation, ventura: "fd522539b8281b016dede754e9168132c2bb4ce321feca886929867c7513b00e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "909f3173bebba9297386cb06b76b484bb79acee30f779f2eb051d59f2cb847a2" end depends_on "rust" => :build def install system "cargo", "install", *std_cargo_args - generate_completions_from_executable(bin/"tooka", shell_parameter_format: :clap) + generate_completions_from_executable(bin/"tooka", "completions", shells: [:bash, :zsh, :fish, :pwsh]) end test do diff --git a/Formula/t/toolctl.rb b/Formula/t/toolctl.rb index c020770858..23658b3810 100644 --- a/Formula/t/toolctl.rb +++ b/Formula/t/toolctl.rb @@ -1,18 +1,17 @@ class Toolctl < Formula desc "Tool to control your tools" homepage "https://github.com/toolctl/toolctl" - url "https://github.com/toolctl/toolctl/archive/refs/tags/v0.4.17.tar.gz" - sha256 "6b2e2f208f34ceeb0c9c88edda45d372f41886dfe00133880ed5626064676778" + url "https://github.com/toolctl/toolctl/archive/refs/tags/v0.4.15.tar.gz" + sha256 "4667b156f11e26bd21661b16ae1eab28aed39f88685c8447a23de038b5a63e40" license "MIT" head "https://github.com/toolctl/toolctl.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d88b5f3962506e6324dc6b383061be7a37708e4518179101a0026d29b11b6ba3" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d88b5f3962506e6324dc6b383061be7a37708e4518179101a0026d29b11b6ba3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d88b5f3962506e6324dc6b383061be7a37708e4518179101a0026d29b11b6ba3" - sha256 cellar: :any_skip_relocation, arm64_linux: "12e0f588f7f9011dc11857ca1ae2037fd64e4f10d244952dd5336844bdf8ccdb" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4056818afd28b562d1cf91f50c36df6b4a81b30766cea4b6334e6ac52e105c83" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "1913c577a0baeacde85863b711b08eeb8fd7da363a9b0bd03a57d37bfbedf777" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "1f7162acfdb2b28f2107f440cdfc7df9b8dbe75d088ec0cb3267d02f6cc0f83a" + sha256 cellar: :any_skip_relocation, ventura: "a26a3e1ee2c5e6254fd1ef0592ee34bf2b5b67b4f7fb61a5c784d5cfc64d962a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "70d8fb08a7d5e1bc118ec1f54d240b56d0102d346a0ebbd2cc9c3572e864950b" end depends_on "go" => :build @@ -26,7 +25,7 @@ def install ] system "go", "build", *std_go_args(ldflags:) - generate_completions_from_executable(bin/"toolctl", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"toolctl", "completion") end test do diff --git a/Formula/t/tori.rb b/Formula/t/tori.rb deleted file mode 100644 index 1442260c12..0000000000 --- a/Formula/t/tori.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Tori < Formula - desc "Remote Docker and host monitoring over SSH" - homepage "https://toricli.sh/" - url "https://github.com/thobiasn/tori-cli/archive/refs/tags/v0.3.3.tar.gz" - sha256 "c432d112ac8f10c6024fb76211429ea62a961f6cb12dc722322da43d478ccb79" - license "MIT" - head "https://github.com/thobiasn/tori-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "48d5a0d21c0df5706ec006dc52e442ca2e0165e2e309403e9f6091d6e7aca9a5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "48d5a0d21c0df5706ec006dc52e442ca2e0165e2e309403e9f6091d6e7aca9a5" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "48d5a0d21c0df5706ec006dc52e442ca2e0165e2e309403e9f6091d6e7aca9a5" - sha256 cellar: :any_skip_relocation, arm64_linux: "706c662f04fc95f695b82067234d97ad6d1c6bc8ced345b2d42e720532e24217" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4199838891bd783e4f57e848207d4d5c5e26165a286a48ca887a59f2f6578a2f" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X main.version=v#{version} - ] - - system "go", "build", *std_go_args(ldflags:), "./cmd/tori" - end - - test do - output = shell_output("XDG_CONFIG_HOME=#{testpath} #{bin}/tori 2>&1", 1) - assert_match "No servers configured", output - - socket_output = shell_output("#{bin}/tori --socket #{testpath}/missing.sock 2>&1", 1) - assert_match "connect:", socket_output - end -end diff --git a/Formula/t/tortuise.rb b/Formula/t/tortuise.rb deleted file mode 100644 index 3e2e697726..0000000000 --- a/Formula/t/tortuise.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Tortuise < Formula - desc "Terminal-native 3D Gaussian splatting viewer" - homepage "https://github.com/buildoak/tortuise" - url "https://github.com/buildoak/tortuise/archive/refs/tags/v0.1.1.tar.gz" - sha256 "e48d388823512bdaad4801736e8b9966141dfb2cea353e43f6885e9267377d42" - license "MIT" - head "https://github.com/buildoak/tortuise.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "733edededc3fd2e22dbf0c2be55ee25348186c1ae54850239e08f8fb8d30014d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0acdaad66fa8782e8bcb5351ab78ca706651be6b36026aa2239ad7c383f35045" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9423b88cfd6b79de2a9fb848406061e7dc71b7a3ee3f1894101b6f3e784bbc32" - sha256 cellar: :any_skip_relocation, arm64_linux: "101e327ed9f3358c78dd8d99ace3ea784bba2e2b9bb5a8152170945265017a42" - sha256 cellar: :any_skip_relocation, x86_64_linux: "845541a99717c926f7717afccf4d32918442122bf5ef55119ce2a483cfd86403" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/tortuise --version") - - ENV["TERM"] = "xterm-256color" - cmd = if OS.mac? - "printf 'q' | script -q /dev/null #{bin}/tortuise --demo" - else - "printf 'q' | script -q -c '#{bin}/tortuise --demo' /dev/null" - end - - output = shell_output(cmd) - assert_match(/\e\[\?1049h/, output) - assert_match(/\e\[\?1049l/, output) - end -end diff --git a/Formula/t/tpm.rb b/Formula/t/tpm.rb index 8a405bd46b..da74281d55 100644 --- a/Formula/t/tpm.rb +++ b/Formula/t/tpm.rb @@ -9,12 +9,10 @@ class Tpm < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "587ddd77ce3e52181fe63c360f9acf2070e0bccacbc189f9aa80836e1310ecba" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "587ddd77ce3e52181fe63c360f9acf2070e0bccacbc189f9aa80836e1310ecba" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "587ddd77ce3e52181fe63c360f9acf2070e0bccacbc189f9aa80836e1310ecba" - sha256 cellar: :any_skip_relocation, arm64_linux: "d64af2cabd5947cb7c9cd2e802f72ec06d2381b7a3b1d8cd59a6f632dabe57b9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f25465b1b8fa9e7f89a46bc035c8cdc8676db364eed5141ef39208078df65468" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ff47b84faebac6c681f0ed7695e0dd31561dd072d0f34ee0f899003f6fe78f4c" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "66c8d390aec7e5b0c4e838631715df222ba3d9f44c9ae687e26290821a1ebdef" + sha256 cellar: :any_skip_relocation, ventura: "d18b5eda4beaeb860a4e816d3210ae84bc3b4f7c3987c33494982eed04baf5d8" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e95efe39f6a61e0ea7dfd839007449364f607c7cbc6f50616ce12b476eea7f9f" end depends_on "go" => :build @@ -22,7 +20,7 @@ class Tpm < Formula def install system "go", "build", *std_go_args(ldflags: "-s -w") - generate_completions_from_executable(bin/"tpm", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"tpm", "completion") end test do diff --git a/Formula/t/tracetest.rb b/Formula/t/tracetest.rb new file mode 100644 index 0000000000..9e282b2ee0 --- /dev/null +++ b/Formula/t/tracetest.rb @@ -0,0 +1,30 @@ +class Tracetest < Formula + desc "Build integration and end-to-end tests" + homepage "https://docs.tracetest.io/" + url "https://github.com/kubeshop/tracetest/archive/refs/tags/v1.7.1.tar.gz" + sha256 "9f2fb4edab3e469465302c70bcddf0f48517306db0004afdc1d016f30b5380e5" + license "MIT" # MIT license for the CLI, TCL license for agent + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "de8cb80fec226f21dc28dc462d638fb7bff6d4c41573ee4f4419b8c745f0e383" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a106741a9ed51edbc1d1fe02563c161fe1dd062ca5aeba7e0e14b6bc1bf63e77" + sha256 cellar: :any_skip_relocation, ventura: "893356af7bef3d256877da3772230615d13a57c700905579c208048f246d0593" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a8532e00110b32759c93724a3193e3b885d138f168b117c46e2d6ccc84eea46d" + end + + depends_on "go" => :build + + def install + ldflags = "-s -w -X github.com/kubeshop/tracetest/cli/config.Version=#{version}" + system "go", "build", *std_go_args(ldflags:), "./cli" + + generate_completions_from_executable(bin/"tracetest", "completion", shells: [:bash, :zsh, :fish, :pwsh]) + end + + test do + assert_match version.to_s, shell_output("#{bin}/tracetest version 2>&1", 1) + + assert_match "Server: Not Configured", shell_output("#{bin}/tracetest list 2>&1", 1) + end +end diff --git a/Formula/t/travelgrunt.rb b/Formula/t/travelgrunt.rb index 11a5ab9786..d3d2f396cd 100644 --- a/Formula/t/travelgrunt.rb +++ b/Formula/t/travelgrunt.rb @@ -1,17 +1,17 @@ class Travelgrunt < Formula desc "Package manager for Terraform providers" homepage "https://github.com/ivanilves/travelgrunt" - url "https://github.com/ivanilves/travelgrunt/archive/refs/tags/v0.7.1.tar.gz" - sha256 "ad52294a93d7a06e2c551e0b29b03300790c91cf547440547da48e4406c0af0c" + url "https://github.com/ivanilves/travelgrunt/archive/refs/tags/v0.6.1.tar.gz" + sha256 "3a97f1c60f107507e965a826798c38e511a02462c417d1dda8fd619590c22aa9" license "Apache-2.0" head "https://github.com/ivanilves/travelgrunt.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "bbd1b96a4502c1abbb9ce5453d81da57c8ffcf29493c7185ecb0443e3ac22841" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4cbf17ccb1ca2b285835ebaa11f898a833d404cd80ee2b8668d247a99123272b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "eeb656d73b0c8591f50c89fdabbfb37d4dd1cda926bca902f8bdd8b9f0cfcec0" - sha256 cellar: :any_skip_relocation, x86_64_linux: "2809f207dcc3b3a787698bba858fb85c86ea748913424b914dca7895164f5cc1" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "27948d32e9cc62c45829a6a8fc0d068034b3243bacaba0b2a3c1fe4f1970c56f" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "b634c9b04eaf6a6b3d81f0f93629f3cca6f562ec6c610c3032fbdf531e65e593" + sha256 cellar: :any_skip_relocation, ventura: "98d2d929c4111f147fbef26d184d78e1dd9651656933ddb9d53c7eccac079d5f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "39ad8d873254e669ade657fa9c6ddfe99028ea95312a3931cb0a8e4b8e30afcd" end depends_on "go" => :build @@ -23,10 +23,7 @@ def install test do assert_match version.to_s, shell_output("#{bin}/travelgrunt -version 2>&1") - system "git", "init", "--initial-branch=main" - system "git", "commit", "--allow-empty", "-m", "invalid" - output = shell_output("#{bin}/travelgrunt -top 2>&1", 1) - assert_match "no such file or directory", output + assert_match "failed to extract top level filesystem path", output end end diff --git a/Formula/t/trdl.rb b/Formula/t/trdl.rb deleted file mode 100644 index 8b00c1fce4..0000000000 --- a/Formula/t/trdl.rb +++ /dev/null @@ -1,35 +0,0 @@ -class Trdl < Formula - desc "Deliver software updates securely from a trusted TUF repository" - homepage "https://trdl.dev/" - url "https://github.com/werf/trdl/archive/refs/tags/v0.12.2.tar.gz" - sha256 "ec9cfd4a43f4b030f1579af4ad40774e8a56fe1214300f8ed72cdb0009866265" - license "Apache-2.0" - head "https://github.com/werf/trdl.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "608ed6008b2f2e01c795bca49b84748d96883e9bb411b183ad2b761d5525febc" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "608ed6008b2f2e01c795bca49b84748d96883e9bb411b183ad2b761d5525febc" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "608ed6008b2f2e01c795bca49b84748d96883e9bb411b183ad2b761d5525febc" - sha256 cellar: :any_skip_relocation, arm64_linux: "5e95c335e8e33e962f394e1cf985dbae786bfd19d8bdb06cd6f8a391cb957b63" - sha256 cellar: :any_skip_relocation, x86_64_linux: "accaadb68a31a68686ef718fa9d80fcdacbd667b45f8a1b204d4e7acb786f22e" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/werf/trdl/client/pkg/trdl.Version=#{version}" - cd "client" do - system "go", "build", *std_go_args(ldflags:), "./cmd/trdl" - end - end - - test do - ENV["TRDL_DEBUG"] = "true" - ENV["TRDL_HOME_DIR"] = testpath.to_s - - assert_match version.to_s, shell_output("#{bin}/trdl --help") - output = shell_output("#{bin}/trdl list") - assert_match "Name URL Default Channel", output - end -end diff --git a/Formula/t/tredis.rb b/Formula/t/tredis.rb deleted file mode 100644 index 59356c0a6e..0000000000 --- a/Formula/t/tredis.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Tredis < Formula - desc "Terminal UI for Redis servers" - homepage "https://github.com/huseyinbabal/tredis" - url "https://github.com/huseyinbabal/tredis/archive/refs/tags/v1.2.0.tar.gz" - sha256 "cabecaa55b0dce4162f88c27a4949102e53563a0cd0945116a6408d6f122b306" - license "MIT" - revision 1 - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "05bf446f030331b0c7756f952729167ed66ec29066118578ef428a8acbf5caa8" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e39cefe1e31fbaa00ade80656c00e3b9c15a6e10c4056e32ef9ad8962c8d5527" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f13c5fc83d25e41220858eb3911a3e6ee87e66c52d303cd45e7d7b7d71c2aded" - sha256 cellar: :any_skip_relocation, arm64_linux: "427f717c3519c48904f91a196d5486bacc93f32b2167f1ec1628549178a66ab7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ce66aaa530230664b63b736b7c6c248585264781b252925954906264737f4d64" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on "openssl@3" - - def install - openssl = Formula["openssl@3"] - ENV["OPENSSL_DIR"] = openssl.opt_prefix - ENV["OPENSSL_LIB_DIR"] = openssl.opt_lib - ENV["OPENSSL_INCLUDE_DIR"] = openssl.opt_include - ENV.prepend_path "PKG_CONFIG_PATH", openssl.opt_lib/"pkgconfig" - - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/tredis --version") - - output = shell_output("#{bin}/tredis --log-level nonsense 2>&1", 2) - assert_match "invalid value 'nonsense' for '--log-level '", output - assert_match "possible values: off, error, warn, info, debug", output - end -end diff --git a/Formula/t/treekanga.rb b/Formula/t/treekanga.rb deleted file mode 100644 index ac8dc9efad..0000000000 --- a/Formula/t/treekanga.rb +++ /dev/null @@ -1,50 +0,0 @@ -class Treekanga < Formula - desc "Manage Git worktrees from the command-line" - homepage "https://github.com/garrettkrohn/treekanga" - url "https://github.com/garrettkrohn/treekanga/archive/refs/tags/v1.1.3.tar.gz" - sha256 "37eb5f7d89c5bba36dfd325cbacff0630dbffdd8ca238cf85169c79618efdafc" - license :cannot_represent - head "https://github.com/garrettkrohn/treekanga.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "113f89d1e4d4e2a0578beced9fbaae8db94728b134c0d137192fa40ead6f9b5c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "113f89d1e4d4e2a0578beced9fbaae8db94728b134c0d137192fa40ead6f9b5c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "113f89d1e4d4e2a0578beced9fbaae8db94728b134c0d137192fa40ead6f9b5c" - sha256 cellar: :any_skip_relocation, arm64_linux: "7f229856e28ec3df0fcb84f081da9d5b54539c2daac50680e074ff3a964c5d01" - sha256 cellar: :any_skip_relocation, x86_64_linux: "708d0fb55d15a0d0de5776d90cd445bec1dcfde92f9341edd9b5cf38c95e8d17" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X main.version=#{version}" - - system "go", "build", *std_go_args(ldflags:) - end - - test do - config_dir = testpath/".config"/"treekanga" - config_dir.mkpath - (config_dir/"treekanga.yaml").write("repos: {}\n") - - (testpath/"source").mkpath - cd testpath/"source" do - system "git", "init", "-b", "main" - (testpath/"source"/"README.md").write("hello\n") - system "git", "add", "README.md" - system "git", "-c", "user.name=Test", "-c", "user.email=test@example.com", "commit", "-m", "init" - end - - (testpath/"workspace").mkpath - with_env(HOME: testpath.to_s) do - cd testpath/"workspace" do - output = shell_output("#{bin/"treekanga"} clone #{testpath/"source"}") - assert_match "Successfully cloned source_bare", output - assert_path_exists testpath/"workspace"/"source_bare"/"HEAD" - assert_path_exists testpath/"workspace"/"source_bare"/"config" - end - end - end -end diff --git a/Formula/t/trex.rb b/Formula/t/trex.rb deleted file mode 100644 index 5164e29ed4..0000000000 --- a/Formula/t/trex.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Trex < Formula - desc "Terminal app for writing, visualizing, and testing regular expressions" - homepage "https://github.com/samyakbardiya/trex" - url "https://github.com/samyakbardiya/trex/archive/refs/tags/v0.0.1.tar.gz" - sha256 "61fec158ef869917c1758b5e35e1ca513139df64cedcd33c0db1eb286ec66e42" - license "MIT" - head "https://github.com/samyakbardiya/trex.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5ab02fb815c86743c45a4179d7c2cca14b8aa5e938479c75fa28e1efd148214a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c05fc6b6bb3c711c05f1bfafa995058ac268f41810bd08abcbc0736f7fa49191" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9623dee3aec234208778759dd98140d325df855317de055088e67c19d23fa5ab" - sha256 cellar: :any_skip_relocation, arm64_linux: "36bbc437ea60e8a1465b80618a6380d4089ca563e0f04ce0a2caddce82e94c4a" - sha256 cellar: :any_skip_relocation, x86_64_linux: "d84c0aa3fcc31267a78dc5733735c59d660677b66af73bb916d023df533259b5" - end - - depends_on "go" => :build - - on_linux do - depends_on "libx11" - end - - def install - ldflags = "-s -w -X github.com/samyakbardiya/trex/cmd.version=v#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match "trex version v#{version}", shell_output("#{bin}/trex --version") - - fixtures = testpath/"fixtures" - fixtures.mkpath - - output = shell_output("#{bin}/trex #{fixtures} 2>&1", 1) - assert_match "path is a directory, not a file:", output - assert_match fixtures.to_s, output - end -end diff --git a/Formula/t/trieve-cli.rb b/Formula/t/trieve-cli.rb index 332ff23141..74b80db2c6 100644 --- a/Formula/t/trieve-cli.rb +++ b/Formula/t/trieve-cli.rb @@ -17,7 +17,7 @@ class TrieveCli < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/t/tsuki.rb b/Formula/t/tsuki.rb deleted file mode 100644 index 1595a4d666..0000000000 --- a/Formula/t/tsuki.rb +++ /dev/null @@ -1,44 +0,0 @@ -class Tsuki < Formula - desc "Lua 5.4 port written in Rust (library for embedding)" - homepage "https://github.com/ultimaweapon/tsuki" - url "https://github.com/ultimaweapon/tsuki/archive/refs/tags/v0.4.8.tar.gz" - sha256 "54b4a911bcd6eaad9a9b7d064cddb3089a6a01c8a324ddf7b65ddacdef1aaf93" - license "MIT" - head "https://github.com/ultimaweapon/tsuki.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "0ca35ac4f608085d86974f411e34d332bd89da5d4e9e97240e29a774f75c82cf" - end - - depends_on "rust" => [:build, :test] - - def install - system "cargo", "build", "--jobs", ENV.make_jobs, "--lib", "--release" - rm_r("target") - pkgshare.install Dir["*"] - end - - test do - (testpath/"Cargo.toml").write <<~EOS - [package] - name = "tsuki_probe" - version = "0.1.0" - edition = "2021" - - [dependencies] - tsuki = { path = "#{pkgshare}" } - EOS - - (testpath/"src").mkpath - (testpath/"src/main.rs").write <<~EOS - fn main() { - // Pass unit `()` as associated data; just proving API/linkage works. - let _lua = tsuki::Lua::new(()); - println!("ok"); - } - EOS - - assert_equal "ok", shell_output("cargo run --quiet").strip - end -end diff --git a/Formula/t/tui-banner.rb b/Formula/t/tui-banner.rb deleted file mode 100644 index 04d5788d0a..0000000000 --- a/Formula/t/tui-banner.rb +++ /dev/null @@ -1,30 +0,0 @@ -class TuiBanner < Formula - desc "Cinematic ANSI banners for Rust CLI/TUI" - homepage "https://github.com/coolbeevip/tui-banner" - url "https://github.com/coolbeevip/tui-banner/archive/refs/tags/v0.2.3.tar.gz" - sha256 "20154caf8c9f621a2e51183fad2315f09e6b146937a1d7699f15b0d7cbcc4b69" - license "Apache-2.0" - head "https://github.com/coolbeevip/tui-banner.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7708b53ddf635abc9a047cf8b53c97e439c3168a9c5acc13388e7bb100c566c4" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "edd5d3afce4d5b69f48bdd01424203920ba5b2b857763d9994638da458af35a2" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e4a83a56ee315fabc4d34709d69a71f7f07e0c07f924e21cdedc2e8059288264" - sha256 cellar: :any_skip_relocation, arm64_linux: "7c4c01a5167d211235fb1bc993f7a96f6b51638a771e247cec8684e983ff7f98" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b193b1304796b1f584a80b4440b02cd203c4a492e6c58c481a01cacf132772bf" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args(path: "tui-banner-cli") - end - - test do - output = shell_output("#{bin}/tui-banner --text HI --color-mode none") - assert_operator output.lines.count, :>, 2 - assert_match "█", output - refute_match "\e[", output - end -end diff --git a/Formula/t/turm.rb b/Formula/t/turm.rb deleted file mode 100644 index 7b61aa19ef..0000000000 --- a/Formula/t/turm.rb +++ /dev/null @@ -1,34 +0,0 @@ -class Turm < Formula - desc "TUI for the Slurm Workload Manager" - homepage "https://github.com/kabouzeid/turm" - url "https://github.com/kabouzeid/turm/archive/refs/tags/v0.14.0.tar.gz" - sha256 "6f1404336ba91be8b16a17f35cc3d24bce29538c1120005787d6abdb41d01536" - license "MIT" - head "https://github.com/kabouzeid/turm.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8d2073b762676bf2d5b3c7eb092de14fe62f0376f159081d25b2e91928e3a939" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "85cb8a6b6b30de3b94877edf5dec6ee357849d06d727d4e26294bd937a79b8c1" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "7dc290d644aa54180fced5ea28dd770b3ed78e7301dbf59c24e40b59b1f26cfa" - sha256 cellar: :any_skip_relocation, arm64_linux: "0d7f319f821397f51d102fa9332b111428843d2bdf9995bf94b26f48652ee674" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4718d2daf53a07eb35b728d510375800ae0250394a797028c764a2ba1a180876" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - - generate_completions_from_executable(bin/"turm", "completion") - end - - test do - assert_match version.to_s, shell_output("#{bin}/turm --version") - - output = shell_output("#{bin}/turm completion bash") - assert_match "_turm()", output - assert_match "complete -F _turm", output - end -end diff --git a/Formula/t/tweakcc.rb b/Formula/t/tweakcc.rb new file mode 100644 index 0000000000..d032a1fc90 --- /dev/null +++ b/Formula/t/tweakcc.rb @@ -0,0 +1,29 @@ +class Tweakcc < Formula + desc "Customize your Claude Code themes, thinking verbs, and more" + homepage "https://github.com/Piebald-AI/tweakcc" + url "https://registry.npmjs.org/tweakcc/-/tweakcc-1.4.1.tgz" + sha256 "0ac6d7e46def7c21f1598582a340b3c5a0a683a4bdac307675402781c371526b" + license "MIT" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "fee36a7975e70501216b6e770a21658cda68d11741eb325c65397de86f664fd7" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "e09ab18e1e0c660693822fc844f120a4fc5f67112acbdbad91c197abbf52c6af" + sha256 cellar: :any_skip_relocation, ventura: "b5f1e92a08644f6002466475ef10ff4b3421ae677ad9c9b6df8e928b18aaf809" + sha256 cellar: :any_skip_relocation, x86_64_linux: "5285b343bd6ef81486ec24222108053e447e89118875d32deea64f27fbb9a254" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink Dir["#{libexec}/bin/*"] + end + + test do + assert_match version.to_s, shell_output("#{bin}/tweakcc --version") + + output = shell_output("#{bin}/tweakcc --apply 2>&1", 1) + assert_match "Applying saved customizations to Claude Code", output + end +end diff --git a/Formula/t/twig.rb b/Formula/t/twig.rb deleted file mode 100644 index b94020a33e..0000000000 --- a/Formula/t/twig.rb +++ /dev/null @@ -1,106 +0,0 @@ -class Twig < Formula - include Language::Python::Virtualenv - - desc "Terminal-based JSON and YAML viewer for exploring large files" - homepage "https://twig.wtf/" - url "https://github.com/workdone0/twig/archive/refs/tags/v2.1.4.tar.gz" - sha256 "aaf5e2cbbd93fae419ab256221160765f0097cad3bdeb167eb5b6edaf7ae5cc8" - license "MIT" - head "https://github.com/workdone0/twig.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "a1a8e62f21d92e4c8b6981975c02680b0f392c5d7399590e1b6f5264b7984971" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6aab0f1d5424bd209416d5cb9bc53e5d558e436e5ca78ce9680d443a7f7ac73c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b1454e7a51d32dc50e104832c97fa4fd5b403d55436b2306ba208e8e6d3e0e3c" - sha256 cellar: :any_skip_relocation, arm64_linux: "5fa515ad74aaab9881f96577545b5db1c70c9380d8384569e492da4143e8e24b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "7902f32ebb6167e57925777ad771a42ac01fa9ef20e570dac43cb97f0505e31a" - end - - depends_on "libyaml" - depends_on "python@3.13" - - resource "ijson" do - url "https://files.pythonhosted.org/packages/2d/30/7ab4b9e88e7946f6beef419f74edcc541df3ea562c7882257b4eaa82417d/ijson-3.4.0.post0.tar.gz" - sha256 "9aa02dc70bb245670a6ca7fba737b992aeeb4895360980622f7e568dbf23e41e" - end - - resource "json-repair" do - url "https://files.pythonhosted.org/packages/0c/9b/2a1500e587fd7c33f10dc90d4e26a6ad421bdfbc7ab84c244279b2515e42/json_repair-0.58.0.tar.gz" - sha256 "8465fe2f8b7515d1cbf262a2608630e73d9498598bd42330c89f59923c50d0e4" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2a/ae/bb56c6828e4797ba5a4821eec7c43b8bf40f69cda4d4f5f8c8a2810ec96a/linkify-it-py-2.0.3.tar.gz" - sha256 "68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdit-py-plugins" do - url "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz" - sha256 "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "platformdirs" do - url "https://files.pythonhosted.org/packages/1b/04/fea538adf7dbbd6d186f551d595961e564a3b6715bdf276b477460858672/platformdirs-4.9.2.tar.gz" - sha256 "9a33809944b9db043ad67ca0db94b14bf452cc6aeaac46a88ea55b26e2e9d291" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "pyperclip" do - url "https://files.pythonhosted.org/packages/e8/52/d87eba7cb129b81563019d1679026e7a112ef76855d6159d24754dbd2a51/pyperclip-1.11.0.tar.gz" - sha256 "244035963e4428530d9e3a6101a1ef97209c6825edab1567beac148ccc1db1b6" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "textual" do - url "https://files.pythonhosted.org/packages/f7/08/1e1f705825359590ddfaeda57653bd518c4ff7a96bb2c3239ba1b6fc4c51/textual-8.0.0.tar.gz" - sha256 "ce48f83a3d686c0fac0e80bf9136e1f8851c653aa6a4502e43293a151df18809" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/91/7a/146a99696aee0609e3712f2b44c6274566bc368dfe8375191278045186b8/uc-micro-py-1.0.3.tar.gz" - sha256 "d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a" - end - - def install - virtualenv_install_with_resources - end - - test do - (testpath/"sample.json").write <<~JSON - {"a":1} - JSON - - assert_match version.to_s, shell_output("#{bin}/twig --version") - output = shell_output("#{bin}/twig --print #{testpath}/sample.json") - assert_match "\"a\": 1", output - end -end diff --git a/Formula/t/twilio-mcp-server.rb b/Formula/t/twilio-mcp-server.rb index 52b11c5326..54fba69a9c 100644 --- a/Formula/t/twilio-mcp-server.rb +++ b/Formula/t/twilio-mcp-server.rb @@ -17,7 +17,7 @@ class TwilioMcpServer < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/t/typeui-sh.rb b/Formula/t/typeui-sh.rb deleted file mode 100644 index 25af73be9b..0000000000 --- a/Formula/t/typeui-sh.rb +++ /dev/null @@ -1,79 +0,0 @@ -class TypeuiSh < Formula - desc "Generate design-system skill markdown files for AI providers" - homepage "https://www.typeui.sh" - url "https://github.com/bergside/typeui.sh/archive/refs/tags/v0.7.0.tar.gz" - sha256 "aa813fb32d8d4da51e244bc606dd4fe1aec407c74da01446bb6b1d025cf383e3" - license "MIT" - head "https://github.com/bergside/typeui.sh.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "c1761461190bad99bd635dd872a2ff5ffd112ab9b7b41a5566488d5d787e6320" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args(prefix: false), "--include=dev" - system "npm", "run", "build" - system "npm", "pack" - system "npm", "install", *std_npm_args, "typeui.sh-#{version}.tgz" - - bin.install_symlink libexec/"bin/typeui.sh" - end - - test do - help = shell_output("#{bin}/typeui.sh --help") - assert_match "generate [options]", help - - (testpath/"generate.js").write <<~JS - const { runGeneration } = require("#{libexec}/lib/node_modules/typeui.sh/dist/generation/runGeneration.js"); - - async function main() { - await runGeneration({ - projectRoot: process.cwd(), - providers: ["universal", "codex"], - designSystem: { - productName: "Formula Test", - brandSummary: "Offline test design system.", - visualStyle: "modern, clean, high-contrast", - typographyScale: "12/14/16/20/24/32 | Fonts: primary=Inter, display=Inter, mono=JetBrains Mono | weights=400, 500, 600, 700", - colorPalette: "primary, neutral, success, warning, danger | Tokens: primary=#3B82F6, secondary=#8B5CF6, success=#16A34A, warning=#D97706, danger=#DC2626, surface=#FFFFFF, text=#111827", - spacingScale: "4/8/12/16/24/32", - accessibilityRequirements: "WCAG 2.2 AA, keyboard-first interactions, visible focus states", - writingTone: "concise, confident, helpful", - doRules: [ - "prefer semantic tokens over raw values", - "preserve visual hierarchy", - "keep interaction states explicit", - ], - dontRules: [ - "avoid low contrast text", - "avoid inconsistent spacing rhythm", - "avoid ambiguous labels", - ], - }, - metadata: { - name: "formula-test-skill", - description: "Formula test design system", - }, - dryRun: false, - }); - } - - main().catch((error) => { - console.error(error); - process.exitCode = 1; - }); - JS - - system Formula["node"].opt_bin/"node", testpath/"generate.js" - - universal = testpath/".agents/skills/design-system/SKILL.md" - codex = testpath/".codex/skills/design-system/SKILL.md" - assert_path_exists universal - assert_path_exists codex - assert_match "Formula Test Design System Skill (Universal)", universal.read - assert_match "Formula Test Design System Skill (Codex)", codex.read - end -end diff --git a/Formula/u/ugdb.rb b/Formula/u/ugdb.rb deleted file mode 100644 index ac8d52284c..0000000000 --- a/Formula/u/ugdb.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Ugdb < Formula - desc "TUI for gdb" - homepage "https://github.com/ftilde/ugdb" - url "https://github.com/ftilde/ugdb/archive/refs/tags/0.1.12.tar.gz" - sha256 "f3bd6d36c930dcdcd4f80d03ee1883f8312f5de04e1240ba78e990a2bec58d72" - license "MIT" - head "https://github.com/ftilde/ugdb.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "2be2c8c5e99ea1e1dd5a09bf127d74e2a660582dce2f598b20bb5192871793e9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b9597685eb95f3cb30348729cb159b20c56f575b6f7a6acd16a56c6779d2cafd" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2004e6594f128b0a9ee108ed6e6af1fa492f2ac6b4b7679063aba44e344ad8d4" - sha256 cellar: :any_skip_relocation, arm64_linux: "54683faa00286efb96250d170fe299eac10d543781dbbac1abcbd408d912915d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "def31c405c6e039c10baad4cf46c4b3b00ee98d8f1446a9acb85a8483850fb15" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - # Fails in Linux CI with `Failed to get terminal attributes: Sys(ENOTTY)` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - assert_match version.to_s, shell_output("#{bin}/ugdb --version") - - assert_match "Failed to spawn gdb process (\"gdb\")", shell_output("#{bin}/ugdb 2>&1", 252) - end -end diff --git a/Formula/u/ugm.rb b/Formula/u/ugm.rb deleted file mode 100644 index 9b0e35b337..0000000000 --- a/Formula/u/ugm.rb +++ /dev/null @@ -1,26 +0,0 @@ -class Ugm < Formula - desc "TUI to view information about UNIX users and groups" - homepage "https://github.com/ariasmn/ugm" - url "https://github.com/ariasmn/ugm/archive/refs/tags/v1.9.0.tar.gz" - sha256 "a627102861486093d2a65249a5ca7d0fb6e16ae0844716713a37b34fe79a9169" - license "MIT" - head "https://github.com/ariasmn/ugm.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "540dd4874182a8dabbb527b6905c5df00f72b08e5cdba65c6bed4c1ef2420b48" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ea7b236a3817de3d1ea59a5fe44a1825ac2cc0e710601791483eb0e37e8fa91e" - end - - depends_on "go" => :build - depends_on :linux - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - output = pipe_output("script -q -c '#{bin}/ugm' /dev/null", "q", 0) - assert_match(/\d+ items/, output) - end -end diff --git a/Formula/u/unsloth.rb b/Formula/u/unsloth.rb deleted file mode 100644 index 6249af4617..0000000000 --- a/Formula/u/unsloth.rb +++ /dev/null @@ -1,91 +0,0 @@ -class Unsloth < Formula - include Language::Python::Virtualenv - - desc "CLI for Unsloth training and studio workflows" - homepage "https://github.com/unslothai/unsloth" - # PyPI sdist metadata currently pulls in Unsloth's full GPU stack, while the - # GitHub release archive exposes the lightweight CLI dependency set. - url "https://github.com/unslothai/unsloth/archive/refs/tags/March-2026.tar.gz" - version "2026.3.5" - sha256 "4a22f8920388f67c5512001b67ef61d8c53c9e670a850c5aa62d4e0cbe4d8231" - license all_of: ["Apache-2.0", "AGPL-3.0-only"] - head "https://github.com/unslothai/unsloth.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "79831fe1f129ab6a6502829bbf94191d4b0aef0e312f509ad991150349e035bd" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b854950e71884d5625126b384c981df612a138a9eae1e29f649d8b247a0533c0" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ef38866134d1a6ad0a14677d01b8a1425114d43cf9d9816f8fd56d9bdeb8f37a" - sha256 cellar: :any_skip_relocation, arm64_linux: "b4354f08861326162257ad1c919e74841d4ebfaabb2f7f6c597465038e25a26b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "61ca248626cadf09ab27a406fc39ea99806ae7bb9e96a1ec45947a1e723b2b53" - end - - depends_on "libyaml" - depends_on "pydantic" => :no_linkage - depends_on "python@3.14" - - pypi_packages exclude_packages: ["pydantic"] - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "nest-asyncio" do - url "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz" - sha256 "6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz" - sha256 "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/f5/24/cb09efec5cc954f7f9b930bf8279447d24618bb6758d4f6adf2574c41780/typer-0.24.1.tar.gz" - sha256 "e39b4732d65fbdcde189ae76cf7cd48aeae72919dea1fdfc16593be016256b45" - end - - def install - virtualenv_install_with_resources - generate_completions_from_executable(bin/"unsloth", shell_parameter_format: :typer) - end - - test do - assert_match "Command-line interface for Unsloth", shell_output("#{bin}/unsloth --help") - - output = shell_output("#{bin}/unsloth train --model test-model --dataset test-dataset --dry-run") - assert_match "model: test-model", output - assert_match "dataset: test-dataset", output - end -end diff --git a/Formula/u/untether.rb b/Formula/u/untether.rb deleted file mode 100644 index 400a51f3b6..0000000000 --- a/Formula/u/untether.rb +++ /dev/null @@ -1,283 +0,0 @@ -class Untether < Formula - include Language::Python::Virtualenv - - desc "Telegram bridge for AI coding agents with voice input and live progress" - homepage "https://github.com/littlebearapps/untether" - url "https://files.pythonhosted.org/packages/54/3d/74c25289dcada7ca1472668528b24f4d233faedd6e30544c384e1e34d0b6/untether-0.35.2.tar.gz" - sha256 "b2d4556f66e34e0f1d3a1169dd5acf472f303740e5f5a7bbe21ea02c54119787" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "3087d19ed1883ee94e3d8957ce9d884740ab82d7842dd8b2d3257d9a386042d5" - sha256 cellar: :any, arm64_sequoia: "dd7ace5f73cf8e4976ba221b7d5f06eb61ec7ff496bfb03d85032ecbfa373e7a" - sha256 cellar: :any, arm64_sonoma: "6267b534f1089af710765c21d743a081a72eae53becc785730e1500ea33c96df" - sha256 cellar: :any_skip_relocation, arm64_linux: "821d21cb829a936b02c3ab54edfc9e21c412f9603e90c32636c402415f05476f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e176e53bea8c427f691785a1fbe8dfbbdc14b3dbe8677f75bfd1d78341e1b56a" - end - - depends_on "rust" => :build - depends_on "python@3.13" - uses_from_macos "libxml2" - uses_from_macos "libxslt" - - resource "aiohappyeyeballs" do - url "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz" - sha256 "c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" - end - - resource "aiohttp" do - url "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz" - sha256 "9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" - end - - resource "aiosignal" do - url "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz" - sha256 "f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" - end - - resource "annotated-doc" do - url "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" - sha256 "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" - end - - resource "annotated-types" do - url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" - sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" - end - - resource "attrs" do - url "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" - sha256 "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz" - sha256 "e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7" - end - - resource "click" do - url "https://files.pythonhosted.org/packages/57/75/31212c6bf2503fdf920d87fee5d7a86a2e3bcf444984126f13d8e4016804/click-8.3.2.tar.gz" - sha256 "14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5" - end - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "frozenlist" do - url "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" - sha256 "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "setuptools" do - url "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz" - sha256 "f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c" - end - - resource "html5lib" do - url "https://files.pythonhosted.org/packages/ac/b6/b55c3f49042f1df3dcd422b7f224f939892ee94f22abcf503a9b7339eaf2/html5lib-1.1.tar.gz" - sha256 "b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" - end - - resource "jiter" do - url "https://files.pythonhosted.org/packages/6e/c1/0cddc6eb17d4c53a99840953f95dd3accdc5cfc7a337b0e9b26476276be9/jiter-0.14.0.tar.gz" - sha256 "e8a39e66dac7153cf3f964a12aad515afa8d74938ec5cc0018adcdae5367c79e" - end - - resource "linkify-it-py" do - url "https://files.pythonhosted.org/packages/2e/c9/06ea13676ef354f0af6169587ae292d3e2406e212876a413bf9eece4eb23/linkify_it_py-2.1.0.tar.gz" - sha256 "43360231720999c10e9328dc3691160e27a718e280673d444c38d7d3aaa3b98b" - end - - resource "lxml" do - url "https://files.pythonhosted.org/packages/28/30/9abc9e34c657c33834eaf6cd02124c61bdf5944d802aa48e69be8da3585d/lxml-6.1.0.tar.gz" - sha256 "bfd57d8008c4965709a919c3e9a98f76c2c7cb319086b3d26858250620023b13" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "msgspec" do - url "https://files.pythonhosted.org/packages/e3/60/f79b9b013a16fa3a58350c9295ddc6789f2e335f36ea61ed10a21b215364/msgspec-0.21.1.tar.gz" - sha256 "2313508e394b0d208f8f56892ca9b2799e2561329de9763b19619595a6c0f72c" - end - - resource "multidict" do - url "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" - sha256 "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" - end - - resource "openai" do - url "https://files.pythonhosted.org/packages/ed/59/bdcc6b759b8c42dd73afaf5bf8f902c04b37987a5514dbc1c64dba390fef/openai-2.32.0.tar.gz" - sha256 "c54b27a9e4cb8d51f0dd94972ffd1a04437efeb259a9e60d8922b8bd26fe55e0" - end - - resource "prompt-toolkit" do - url "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz" - sha256 "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" - end - - resource "propcache" do - url "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" - sha256 "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d" - end - - resource "pydantic" do - url "https://files.pythonhosted.org/packages/09/e5/06d23afac9973109d1e3c8ad38e1547a12e860610e327c05ee686827dc37/pydantic-2.13.2.tar.gz" - sha256 "b418196607e61081c3226dcd4f0672f2a194828abb9109e9cfb84026564df2d1" - end - - resource "pydantic-core" do - url "https://files.pythonhosted.org/packages/43/bb/4742f05b739b2478459bb16fa8470549518c802e06ddcf3f106c5081315e/pydantic_core-2.46.2.tar.gz" - sha256 "37bb079f9ee3f1a519392b73fda2a96379b31f2013c6b467fe693e7f2987f596" - end - - resource "pydantic-settings" do - url "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz" - sha256 "b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" - sha256 "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" - end - - resource "python-dotenv" do - url "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" - sha256 "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" - end - - resource "questionary" do - url "https://files.pythonhosted.org/packages/f6/45/eafb0bba0f9988f6a2520f9ca2df2c82ddfa8d67c95d6625452e97b204a5/questionary-2.1.1.tar.gz" - sha256 "3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" - sha256 "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - end - - resource "shellingham" do - url "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" - sha256 "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" - sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "structlog" do - url "https://files.pythonhosted.org/packages/ef/52/9ba0f43b686e7f3ddfeaa78ac3af750292662284b3661e91ad5494f21dbc/structlog-25.5.0.tar.gz" - sha256 "098522a3bebed9153d4570c6d0288abf80a031dfdb2048d59a49e9dc2190fc98" - end - - resource "sulguk" do - url "https://files.pythonhosted.org/packages/c1/41/6a67c883104945ea7c5712270bce84402efc8668c1136e37ff3d5ec62322/sulguk-0.11.1.tar.gz" - sha256 "2d87ac482968eaf3fe662bcff64e1f94ed84fc1edb05a872b7e4343d36e486fe" - end - - resource "tomli-w" do - url "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz" - sha256 "2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" - sha256 "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" - end - - resource "typer" do - url "https://files.pythonhosted.org/packages/f5/24/cb09efec5cc954f7f9b930bf8279447d24618bb6758d4f6adf2574c41780/typer-0.24.1.tar.gz" - sha256 "e39b4732d65fbdcde189ae76cf7cd48aeae72919dea1fdfc16593be016256b45" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - resource "typing-inspection" do - url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" - sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" - end - - resource "uc-micro-py" do - url "https://files.pythonhosted.org/packages/78/67/9a363818028526e2d4579334460df777115bdec1bb77c08f9db88f6389f2/uc_micro_py-2.0.0.tar.gz" - sha256 "c53691e495c8db60e16ffc4861a35469b0ba0821fe409a8a7a0a71864d33a811" - end - - resource "watchfiles" do - url "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz" - sha256 "a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2" - end - - resource "wcwidth" do - url "https://files.pythonhosted.org/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz" - sha256 "cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159" - end - - resource "webencodings" do - url "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz" - sha256 "b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" - end - - resource "yarl" do - url "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" - sha256 "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" - end - - def install - # Ensure source-built hatchling wheels use ZIP-compatible mtimes. - ENV["SOURCE_DATE_EPOCH"] = "315532800" - - venv = virtualenv_create(libexec, "python3.13") - venv.pip_install resource("setuptools"), build_isolation: false - venv.pip_install resource("html5lib"), build_isolation: false - venv.pip_install resources.reject { |r| %w[setuptools html5lib].include?(r.name) } - venv.pip_install_and_link buildpath - end - - test do - assert_match version.to_s, shell_output("#{bin}/untether --version") - end -end diff --git a/Formula/u/unused-deps.rb b/Formula/u/unused-deps.rb index 86e38b5d5d..20dc25a3b9 100644 --- a/Formula/u/unused-deps.rb +++ b/Formula/u/unused-deps.rb @@ -1,18 +1,17 @@ class UnusedDeps < Formula desc "Determine any unused dependencies in java_library rules" homepage "https://github.com/bazelbuild/buildtools" - url "https://github.com/bazelbuild/buildtools/archive/refs/tags/v8.5.1.tar.gz" - sha256 "e6de6eb19a368efe1f56549c6afe9f25dbcee818161865ee703081307581ef4b" + url "https://github.com/bazelbuild/buildtools/archive/refs/tags/v8.2.1.tar.gz" + sha256 "53119397bbce1cd7e4c590e117dcda343c2086199de62932106c80733526c261" license "Apache-2.0" head "https://github.com/bazelbuild/buildtools.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d207ab9aec542d9600932a2fa849b07d5a36b8fea6fe2f8b35a7d022dffa5348" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d207ab9aec542d9600932a2fa849b07d5a36b8fea6fe2f8b35a7d022dffa5348" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d207ab9aec542d9600932a2fa849b07d5a36b8fea6fe2f8b35a7d022dffa5348" - sha256 cellar: :any_skip_relocation, arm64_linux: "963a8f1462bce3a73bd946ea7bdeb2c5566dc1188f4fd9d0eb8786419c2f1154" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fccbedd8456a72f1e42ba3a3b79393c358e2ef6cd53499a3c22a86e385dd6d41" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "135069459ea6641a0525fc964d6196d190f3a264dfb376d253259367e152f60a" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "17d807027c6d3f6d64406a2866dd8ed9c0cd217e94b6319b27e1bde3bb941310" + sha256 cellar: :any_skip_relocation, ventura: "b652a143b2b53a73aa470075877be2ce82feb96cb0c762f595106bf539c490e6" + sha256 cellar: :any_skip_relocation, x86_64_linux: "807ed542ba5fce1c42f808653b2e352cdf3e45d4c4647b03c206f6ca3d9702f1" end depends_on "go" => :build diff --git a/Formula/u/uplift.rb b/Formula/u/uplift.rb index 4fef625c6f..50c1699287 100644 --- a/Formula/u/uplift.rb +++ b/Formula/u/uplift.rb @@ -8,12 +8,10 @@ class Uplift < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4c1de256f631b9f2ab6a8a2ae15c795e17e18c15c35922c7864c2f5101a4a38a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "4c1de256f631b9f2ab6a8a2ae15c795e17e18c15c35922c7864c2f5101a4a38a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "4c1de256f631b9f2ab6a8a2ae15c795e17e18c15c35922c7864c2f5101a4a38a" - sha256 cellar: :any_skip_relocation, arm64_linux: "eb708232f1b8b01850f4f717edcf49f3e6868ca6dc19ec68169945ea26d376d7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "c85f97afed13749f12c041336d96093d50be36ac409f01d9cf0371021fa196d5" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "63b6101ec7c736bc128c466dff120e3af77ffb14dd6995adac4febccbe08aa16" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "bc01a29d543ee79597c83e7f8d21121553affc06088643e5cb31590b5519eb32" + sha256 cellar: :any_skip_relocation, ventura: "93d6901b203ebfd1eabf1f208dadb58caf3cae6cd8d2027c6ae10b14fd7ec3b4" + sha256 cellar: :any_skip_relocation, x86_64_linux: "50d689406ab29bd8f8e0158ac4fcf705d30ae1439046b151db0a783d325e9d62" end depends_on "go" => :build @@ -27,7 +25,7 @@ def install ] system "go", "build", *std_go_args(ldflags:), "./cmd/uplift" - generate_completions_from_executable(bin/"uplift", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"uplift", "completion") end test do diff --git a/Formula/u/urlhunter.rb b/Formula/u/urlhunter.rb deleted file mode 100644 index 43df329a94..0000000000 --- a/Formula/u/urlhunter.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Urlhunter < Formula - desc "Recon tool that allows searching on URLs that are exposed via shortener services" - homepage "https://github.com/utkusen/urlhunter" - url "https://github.com/utkusen/urlhunter/archive/refs/tags/v0.2.0.tar.gz" - sha256 "ef7d6719d9a824a5614808c9408bd3dd73dda1049feaa7f65442b1c44602aa13" - license "MIT" - head "https://github.com/utkusen/urlhunter.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b2abd85bbc5473b757770234f2af3b926c2c334e77cfe8fe03b8e1660062b4c3" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "b2abd85bbc5473b757770234f2af3b926c2c334e77cfe8fe03b8e1660062b4c3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "b2abd85bbc5473b757770234f2af3b926c2c334e77cfe8fe03b8e1660062b4c3" - sha256 cellar: :any_skip_relocation, arm64_linux: "209283d7bfb2b722332f9626e4527eef339904ab6a820e7c7242f2ddb5422ac9" - sha256 cellar: :any_skip_relocation, x86_64_linux: "cda3e49859b899c15f0b18a6444b78f80105440b1d5cdeb8de2ac57d0ddafe1a" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - output = shell_output("#{bin}/urlhunter --keywords #{testpath}/keywords.txt --date 2024-01-01 2>&1", 2) - assert_match "[ERROR]: Error processing archive", output - end -end diff --git a/Formula/u/user-scanner.rb b/Formula/u/user-scanner.rb deleted file mode 100644 index e10587bf47..0000000000 --- a/Formula/u/user-scanner.rb +++ /dev/null @@ -1,118 +0,0 @@ -class UserScanner < Formula - include Language::Python::Virtualenv - - desc "Check username availability across multiple popular platforms" - homepage "https://github.com/kaifcodec/user-scanner" - url "https://files.pythonhosted.org/packages/84/01/81407134ef71dacdcef225f1be3f90ada52c2308a748c244b39fd2add0a4/user_scanner-1.3.5.9.tar.gz" - sha256 "c33e0107cddc1a70a4fd83bf461fe087c01f0a38a617f6536ffd84d3ef6358cb" - license "MIT" - head "https://github.com/kaifcodec/user-scanner.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "f6fccda52f3679bc95919894ccaad46b336fd6855d1f41c3392df601ed54707c" - end - - depends_on "certifi" => :no_linkage - depends_on "python@3.13" - - resource "anyio" do - url "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" - sha256 "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/25/ee/6caf7a40c36a1220410afe15a1cc64993a1f864871f698c0f93acb72842a/certifi-2026.4.22.tar.gz" - sha256 "8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580" - end - - resource "colorama" do - url "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" - sha256 "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "h2" do - url "https://files.pythonhosted.org/packages/1d/17/afa56379f94ad0fe8defd37d6eb3f89a25404ffc71d4d848893d270325fc/h2-4.3.0.tar.gz" - sha256 "6c59efe4323fa18b47a632221a1888bd7fde6249819beda254aeca909f221bf1" - end - - resource "hpack" do - url "https://files.pythonhosted.org/packages/2c/48/71de9ed269fdae9c8057e5a4c0aa7402e8bb16f2c6e90b3aa53327b113f8/hpack-4.1.0.tar.gz" - sha256 "ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "hyperframe" do - url "https://files.pythonhosted.org/packages/02/e7/94f8232d4a74cc99514c13a9f995811485a6903d48e5d952771ef6322e30/hyperframe-6.1.0.tar.gz" - sha256 "f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz" - sha256 "585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242" - end - - resource "socksio" do - url "https://files.pythonhosted.org/packages/f8/5c/48a7d9495be3d1c651198fd99dbb6ce190e2274d0f28b9051307bdec6b85/socksio-1.0.0.tar.gz" - sha256 "f88beb3da5b5c38b9890469de67d0cb0f9d494b78b106ca1845f96c10b91c4ac" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match version.to_s, shell_output("#{bin}/user-scanner --version") - - usernames = testpath/"usernames.txt" - usernames.write("alice\n# comment\n\nbob\n") - - (testpath/"test.py").write <<~PY - import contextlib - import io - import sys - from unittest.mock import patch - - from user_scanner.__main__ import main - from user_scanner.core.result import Result - - def fake_run_user_module(module, target, config, **kwargs): - return [Result.taken(username=target, site_name="Github", is_email=False)] - - buffer = io.StringIO() - with ( - patch("user_scanner.__main__.check_for_updates", lambda: None), - patch("user_scanner.__main__.print_banner", lambda: None), - patch("user_scanner.__main__.run_user_module", fake_run_user_module), - contextlib.redirect_stdout(buffer), - ): - sys.argv = ["user-scanner", "-uf", #{usernames.to_s.inspect}, "-m", "github"] - try: - main() - exit_code = 0 - except SystemExit as exc: - exit_code = exc.code - - output = buffer.getvalue() - assert exit_code == 0, output - assert "Loaded 2 usernames" in output, output - assert "Scan complete." in output, output - PY - - system libexec/"bin/python", testpath/"test.py" - end -end diff --git a/Formula/u/usort.rb b/Formula/u/usort.rb index 6283dcccde..b2a2c5ff0c 100644 --- a/Formula/u/usort.rb +++ b/Formula/u/usort.rb @@ -3,18 +3,18 @@ class Usort < Formula desc "Safe, minimal import sorting for Python projects" homepage "https://usort.readthedocs.io/" - url "https://files.pythonhosted.org/packages/66/f4/b10e2c565f6c79a06bb9e8f97834044eec8810897338e529dd537f4ba475/usort-1.1.3.tar.gz" - sha256 "3928043b4644f35c80e417698b0e89cc7bb51a1b0a021f2ba55ceffb86326398" + url "https://files.pythonhosted.org/packages/9b/f4/3ef48b43f2645f2cb4a37d6007e611bc669af44eecfee953c5dd57433011/usort-1.0.8.post1.tar.gz" + sha256 "68def75f2b20b97390c552c503e071ee06c65ad502c5f94f3bd03f095cf4dfe6" license "MIT" head "https://github.com/facebook/usort.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "7f785ffb4c1aaec2cab3f1bc1228aad0ac11dfd22e6dbe87350f84520fd0eee3" - sha256 cellar: :any, arm64_sequoia: "a9c257a23f3a6f683f6fc49b2b0639e68ae9a3fc143ff00af294e16cf401e582" - sha256 cellar: :any, arm64_sonoma: "78e7248d1eff39272b883d9f8a00a8cffe7a590519e6af4773c7a20b36e40084" - sha256 cellar: :any_skip_relocation, arm64_linux: "c98b2d6d6beb1c99958822354bf6bc454210f1ea4a54ee0efe75a49e93239ed2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b8102634ae1a514678a69a7bc1b7664a8d491124a23a7b7f147305cf84fbdd0a" + rebuild 1 + sha256 cellar: :any, arm64_sequoia: "dd4249dff3547d64ce6d70413bf82bc40b706215def83cce5ce24bb1ae926a58" + sha256 cellar: :any, arm64_sonoma: "31ba2e49fb5572dabf06e2a30812aace6e59435ecae6642bce036e029d27022b" + sha256 cellar: :any, ventura: "ad3c8c4a43b01c0e329898e028abd64598d9d3bb55eb02c21682e28a54d5e8c4" + sha256 cellar: :any_skip_relocation, x86_64_linux: "fe0fdc1e23cab45bcdc2ec8334a6bacc7c3bbc1b8556e630afbc7bf805e1a92f" end depends_on "rust" => :build # for libcst @@ -22,38 +22,43 @@ class Usort < Formula depends_on "python@3.13" resource "attrs" do - url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" - sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11" + url "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz" + sha256 "1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e" end resource "click" do - url "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" - sha256 "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a" + url "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz" + sha256 "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" end resource "libcst" do - url "https://files.pythonhosted.org/packages/de/cd/337df968b38d94c5aabd3e1b10630f047a2b345f6e1d4456bd9fe7417537/libcst-1.8.6.tar.gz" - sha256 "f729c37c9317126da9475bdd06a7208eb52fcbd180a6341648b45a56b4ba708b" + url "https://files.pythonhosted.org/packages/f4/ec/d24c0ad33838dfbfe20a760b301d529c63cef32f8b91dae380c97f8bf127/libcst-1.6.0.tar.gz" + sha256 "e80ecdbe3fa43b3793cae8fa0b07a985bd9a693edbe6e9d076f5422ecadbf0db" end resource "moreorless" do - url "https://files.pythonhosted.org/packages/8d/85/2e4999ac4a21ab3c5f31e2a48e0989a80be3afc512a7983e3253615983d4/moreorless-0.5.0.tar.gz" - sha256 "560a04f85006fccd74feaa4b6213a446392ff7b5ec0194a5464b6c30f182fa33" + url "https://files.pythonhosted.org/packages/c5/5d/c8ed33403f62a2f755905c8d2d36b71e3fc32588deeb53ad1206edbb067a/moreorless-0.4.0.tar.gz" + sha256 "85e19972c1a0b3a49f8543914f57bd83f6e1b10df144d5b97b8c5e9744d9c08c" end resource "pathspec" do - url "https://files.pythonhosted.org/packages/4c/b2/bb8e495d5262bfec41ab5cb18f522f1012933347fb5d9e62452d446baca2/pathspec-1.0.3.tar.gz" - sha256 "bac5cf97ae2c2876e2d25ebb15078eb04d76e4b98921ee31c6f85ade8b59444d" + url "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz" + sha256 "a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712" end - resource "pyyaml-ft" do - url "https://files.pythonhosted.org/packages/5e/eb/5a0d575de784f9a1f94e2b1288c6886f13f34185e13117ed530f32b6f8a8/pyyaml_ft-8.0.0.tar.gz" - sha256 "0c947dce03954c7b5d38869ed4878b2e6ff1d44b08a0d84dc83fdad205ae39ab" + resource "pyyaml" do + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end resource "stdlibs" do - url "https://files.pythonhosted.org/packages/e4/83/ac15c4a3c059725dcb5f5d76270b986808cc12d2d7d417ee540d37609e46/stdlibs-2025.10.28.tar.gz" - sha256 "18db81f45f7783ddf86b80771e061782c70e2f4a8642843b3c80b42cd774b24f" + url "https://files.pythonhosted.org/packages/c4/19/1bafdce539149fbcae1d173164c297b7b7c9e59a43221555a0d359c132cc/stdlibs-2024.12.3.tar.gz" + sha256 "b88cf600ac0b80e3d0de0ad6f2be786786db063bccd14b897547fcd9bd7169be" + end + + resource "toml" do + url "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz" + sha256 "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" end resource "trailrunner" do diff --git a/Formula/v/vectorize-mcp-server.rb b/Formula/v/vectorize-mcp-server.rb index d53b3c90fc..6ab5830856 100644 --- a/Formula/v/vectorize-mcp-server.rb +++ b/Formula/v/vectorize-mcp-server.rb @@ -17,7 +17,7 @@ class VectorizeMcpServer < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/v/venom.rb b/Formula/v/venom.rb index 3ec52364dc..77fb6ed212 100644 --- a/Formula/v/venom.rb +++ b/Formula/v/venom.rb @@ -2,18 +2,17 @@ class Venom < Formula desc "Manage and run your integration tests with efficiency" homepage "https://github.com/ovh/venom" - url "https://github.com/ovh/venom/archive/refs/tags/v1.3.0.tar.gz" - sha256 "de7ef1f7794d0aa3e3dceb55cc54e44d4a52594bf1e9af0e9c73f85e6071cfd3" + url "https://github.com/ovh/venom/archive/refs/tags/v1.2.0.tar.gz" + sha256 "8047a7d20aa5be003684182830ddf05b6133f0761a89256b5791fe665358dff9" license "Apache-2.0" head "https://github.com/ovh/venom.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "055ea8c74e4da8b83370f20f4633ec5dbc9f65d6feb062b1b0b080fc0e0ade41" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "f348c0649bcbeacfb014fdc31cadabe05ca6b8a4c94da7385f80dfc572d2c7fb" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0d75442d6440e547499ec4fa15402c95ec892d9ecda470a5ccddb80430f043bf" - sha256 cellar: :any_skip_relocation, arm64_linux: "442d6db7d53c965b5e0161b07fd3949f5b2878473c4c8960bc9a3c2262092060" - sha256 cellar: :any_skip_relocation, x86_64_linux: "385fead16c046cc90e7da7ce9c76668c2425f818a9487c127fa8c7227218e346" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "e0c116950e759523bb1a478e818e1894b7d0fed64a958f42e8499a257a7aef38" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c45bf0f445dc8a3c6062e2013cc8e615539b45f5cf44146e2fb2cd85e5c9c338" + sha256 cellar: :any_skip_relocation, ventura: "a2a68ace298cf3934a0df8c77c252b81f2f7a90d3b152d0de51a0f15c5c1b08f" + sha256 cellar: :any_skip_relocation, x86_64_linux: "bf148470ac8eb306b770119f2738fbb262995832f1395387a0fe87ebdb0780d2" end depends_on "go" => :build @@ -22,7 +21,7 @@ def install ldflags = "-s -w -X github.com/ovh/venom.Version=#{version}" system "go", "build", *std_go_args(ldflags:), "./cmd/venom" - generate_completions_from_executable(bin/"venom", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"venom", "completion") end test do diff --git a/Formula/v/vento.rb b/Formula/v/vento.rb index 49a21810a5..be528a3b5a 100644 --- a/Formula/v/vento.rb +++ b/Formula/v/vento.rb @@ -7,21 +7,17 @@ class Vento < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ad446a9f9ef6b60cf3fa56a07677cc4049935e2bbe61074c69b9f98071af24c0" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7e74ed8863391431c188bb7abd8e5bc4c5fb95799a8e398f7e506b66c97bd646" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "8d89555a9a1718defb7acff310e5896328899b123e1d07db496578b486449315" - sha256 cellar: :any_skip_relocation, arm64_linux: "cbafc20b71ca775581cf3c6643374705c104a6627ee3d6aa0059c29c2e2f5cdd" - sha256 cellar: :any_skip_relocation, x86_64_linux: "dda793c8c064c06bb930f93abaead560afc11d7788acd953e05ce3e9727f0f85" + sha256 cellar: :any, arm64_sequoia: "5807509d561894e8bf11910d6a107d444d941ed4b3cf041e44a432005b705f4c" + sha256 cellar: :any, arm64_sonoma: "6a9eea8772c707589aca50e90f78a80097b1df4d067940f7a5f559a921737d7c" + sha256 cellar: :any, ventura: "d2b5d125edc1b89b228f9ea15307959582a21db73203edc0b54f81bdfa3acbbb" + sha256 cellar: :any_skip_relocation, x86_64_linux: "f97c91f24c4242d79ea359098fc0d8d70fee2026a33351a6f7f0e1de8ce11f17" end depends_on "pkgconf" => :build depends_on "rust" => :build depends_on "openssl@3" - on_linux do - depends_on "zlib-ng-compat" - end + uses_from_macos "zlib" def install system "cargo", "install", *std_cargo_args diff --git a/Formula/v/vercel-serve.rb b/Formula/v/vercel-serve.rb index 5fe6cb433c..f13cb9c43e 100644 --- a/Formula/v/vercel-serve.rb +++ b/Formula/v/vercel-serve.rb @@ -1,17 +1,16 @@ class VercelServe < Formula desc "Static file serving and directory listing" homepage "https://github.com/vercel/serve" - url "https://registry.npmjs.org/serve/-/serve-14.2.6.tgz" - sha256 "126b5ec79d81a85307ebd1953084526ae181c203276cf64b961a7bee31cb7b81" + url "https://registry.npmjs.org/serve/-/serve-14.2.5.tgz" + sha256 "c0d39ad4cb5b5991b3860eeeba64d8d4f1aeb8f28035b08e12fb86182ca7456f" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "04ac578e25b1d7528c7e065e6bd896a246df1efd80da57b3f2ff38814aa31a66" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "04ac578e25b1d7528c7e065e6bd896a246df1efd80da57b3f2ff38814aa31a66" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "04ac578e25b1d7528c7e065e6bd896a246df1efd80da57b3f2ff38814aa31a66" - sha256 cellar: :any_skip_relocation, arm64_linux: "0c13114543af749ddb37fedab1d5535a7eed43113aec3999103a855d12b7886d" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0c13114543af749ddb37fedab1d5535a7eed43113aec3999103a855d12b7886d" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ffafa8f4a6880e603944b4469b6a0ce1e3b1ad346d87f3f377ebda74ad6de440" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "d8eb207ca699a8b7a477d985bb5536d31d6fcc0006f902531b82a755b1902272" + sha256 cellar: :any_skip_relocation, ventura: "1f735a792787cf670ad3c77879df7f4f0d0c1818282df9026d925ace1e4c83e3" + sha256 cellar: :any_skip_relocation, x86_64_linux: "418af365fa6aed1ddcd73c0fe392a7e1ac26f3fbe628e5c1d58de48121fabe9b" end depends_on "node" diff --git a/Formula/v/vgo.rb b/Formula/v/vgo.rb new file mode 100644 index 0000000000..39d2f3a547 --- /dev/null +++ b/Formula/v/vgo.rb @@ -0,0 +1,33 @@ +class Vgo < Formula + desc "Project scaffolder for Go, written in Go" + homepage "https://github.com/vg006/vgo" + url "https://github.com/vg006/vgo/archive/refs/tags/v0.2.0.tar.gz" + sha256 "3a2fee499c91225f2abe1acdb8a640560cda6f4364f4b1aff04756d8ada6282d" + license "MIT" + head "https://github.com/vg006/vgo.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "79f13327c83b0c5679af7b83a975577167a4cbbde85229dbb0101af9e45e19d2" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "48c874bc007f1640a11e4bdb59606868ad7b05b627b66e853921b444a924f60a" + sha256 cellar: :any_skip_relocation, ventura: "6d35f566b820b68b28e20aeb5d24d9a6b58d035ed88895aeba30147b3041ead3" + sha256 cellar: :any_skip_relocation, x86_64_linux: "241b1f62683ce7af6aa27c37f35b82c101abeef753b8c1fe76bf0f9e2e79cca1" + end + + depends_on "go" => :build + + def install + system "go", "build", *std_go_args(ldflags: "-s -w") + + generate_completions_from_executable(bin/"vgo", "completion") + end + + test do + expected = if OS.mac? + "Failed to build the vgo tool" + else + "┃ ✔ Built vgo\n┃ ✔ Installed vgo" + end + assert_match expected, shell_output("#{bin}/vgo build 2>&1") + end +end diff --git a/Formula/v/vi-mongo.rb b/Formula/v/vi-mongo.rb deleted file mode 100644 index 1cd1f4aa4c..0000000000 --- a/Formula/v/vi-mongo.rb +++ /dev/null @@ -1,31 +0,0 @@ -class ViMongo < Formula - desc "MongoDB TUI designed to simplify data visualization and quick manipulation" - homepage "https://github.com/kopecmaciej/vi-mongo" - url "https://github.com/kopecmaciej/vi-mongo/archive/refs/tags/v0.2.1.tar.gz" - sha256 "f22fb09b6f5d8439663142dcc02039b788c59aa9ffdeb32a96c2e2dddc360ffe" - license "Apache-2.0" - head "https://github.com/kopecmaciej/vi-mongo.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "ad06addbb6fefc6074f3f43c828ed1e0f611f85670b9205bbe1c847e1732e150" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "ad06addbb6fefc6074f3f43c828ed1e0f611f85670b9205bbe1c847e1732e150" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ad06addbb6fefc6074f3f43c828ed1e0f611f85670b9205bbe1c847e1732e150" - sha256 cellar: :any_skip_relocation, arm64_linux: "ffdd02f8c61d917ac071d0623acf95f151a1421ca585decd4af5db3daff5a4af" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1239b55a7d592e6187500e2c425853a3f2520840153e19c2602c64c7de91ab30" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/kopecmaciej/vi-mongo/internal/build.Version=v#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match version.to_s, shell_output("#{bin/"vi-mongo"} --version") - - output = shell_output("#{bin/"vi-mongo"} --connection-list") - assert_match "connection", output.downcase - end -end diff --git a/Formula/v/vibekit.rb b/Formula/v/vibekit.rb index 1dd61078c7..da3ace997e 100644 --- a/Formula/v/vibekit.rb +++ b/Formula/v/vibekit.rb @@ -1,22 +1,23 @@ class Vibekit < Formula desc "Safety layer for your coding agent" homepage "https://www.vibekit.sh/" - url "https://registry.npmjs.org/vibekit/-/vibekit-0.0.4.tgz" - sha256 "0d636445799fc10b0b9c46ad84030f562cddc1f9f70d010fe59357c3f871c19a" + url "https://registry.npmjs.org/vibekit/-/vibekit-0.0.2.tgz" + sha256 "80f31bf3f782c7293675ce9f1def338a815322e2648a0c52d2d21caed6344811" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "20edcb9dcfe421aa7d635612326caea5b8e317c429213c1579f47dcbf5f5ce08" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "53a2a93b699121cf044712c4d69a36d3d08951b728025a675e3301d956fac88e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "9ae6e9bd2c6c9799c31ce4b10d3a13eb1288396008b6046a6ec4c512859df5cc" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "050cec841120fbe57ff7a995048012e30f4df3d8d59c533dd73c8cda40100185" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "4e9b84ee665857d6f6bca148193c79ad764409e6ee240691fdc0e1a3744b0b32" + sha256 cellar: :any_skip_relocation, ventura: "f4f49bbed14db8f89bb97f87436cf50695c289f8e52aaa5045722dc5732fd983" + sha256 cellar: :any_skip_relocation, x86_64_linux: "cd06251415b16ec235a09b0994ca952a1d530352e71ca425956ebeea847fe7fa" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/v/videoalchemy.rb b/Formula/v/videoalchemy.rb new file mode 100644 index 0000000000..b5a65f3792 --- /dev/null +++ b/Formula/v/videoalchemy.rb @@ -0,0 +1,39 @@ +class Videoalchemy < Formula + desc "Toolkit expanding video processing capabilities" + homepage "https://viddotech.github.io/videoalchemy/" + url "https://github.com/viddotech/videoalchemy/archive/refs/tags/1.0.0.tar.gz" + sha256 "1ad4ab7e1037a84a7a894ff7dd5e0e3b1b33ded684eace4cadc606632bbc5e3d" + license "MIT" + head "https://github.com/viddotech/videoalchemy.git", branch: "main" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "08f571cd32c29ae75d52b40cb76abb9fd22469f1d7eabe5f23a785126e65dc5d" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "e9452f35bb3e498e888079d5588523a62f30ac37750e6f831f02959e35f7272d" + sha256 cellar: :any_skip_relocation, ventura: "9874d9bdceaa4eb62e3dd562a9767263d670f3f8be5c91202159f519ee18737d" + sha256 cellar: :any_skip_relocation, x86_64_linux: "14264e7e55f9df60fa4f73cf35fa2c7a0d3f305c104d2b126cef2ce4ccac2ae8" + end + + depends_on "go" => :build + + def install + ldflags = "-s -w -X main.version=#{version} -X main.date=#{time.iso8601}" + system "go", "build", *std_go_args(ldflags:), "./cmd/compose" + + generate_completions_from_executable(bin/"videoalchemy", "completion", shells: [:bash, :zsh, :fish, :pwsh]) + end + + test do + assert_match version.to_s, shell_output("#{bin}/videoalchemy --version") + + (testpath/"test.yaml").write <<~YAML + version: '1.0' + tasks: + - name: "Test Task" + command: "echo Hello, Videoalchemy!" + YAML + + output = shell_output("#{bin}/videoalchemy compose -f test.yaml") + assert_match "Validation Error: generate_path => is required", output + end +end diff --git a/Formula/v/vimalender.rb b/Formula/v/vimalender.rb deleted file mode 100644 index 4938f38f67..0000000000 --- a/Formula/v/vimalender.rb +++ /dev/null @@ -1,48 +0,0 @@ -class Vimalender < Formula - desc "Vim-style terminal calendar" - homepage "https://github.com/Sadoaz/vimalender" - url "https://github.com/Sadoaz/vimalender/archive/refs/tags/v1.0.1.tar.gz" - sha256 "9b9ded86eb07ae8220f2cb9b550a1e84a4b5368e2464ea1383625e7a06a719a8" - license "MIT" - head "https://github.com/Sadoaz/vimalender.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0027549504723d09cd62f89269c602a9ead92ddc26759b218b0fe2caf346f4af" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0027549504723d09cd62f89269c602a9ead92ddc26759b218b0fe2caf346f4af" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0027549504723d09cd62f89269c602a9ead92ddc26759b218b0fe2caf346f4af" - sha256 cellar: :any_skip_relocation, arm64_linux: "7f2a9ea8a78e07a1dce707b5c80528efc7f5ec28f519afa01351652d7c09aca3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "55cc32ab758ffabee874dda60e87bcde5105120f9177abdf04f0aa0255495a0c" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args - end - - test do - require "pty" - require "timeout" - - output = +"" - PTY.spawn({ "TERM" => "xterm-256color", "XDG_DATA_HOME" => testpath.to_s }, - "/bin/sh", "-c", "stty cols 120 rows 40; exec #{bin}/vimalender") do |r, _w, pid| - Timeout.timeout(15) do - loop do - output << r.readpartial(1024) - next unless output.include?("WEEK") - - Process.kill("TERM", pid) - break - end - - loop { output << r.readpartial(1024) } - rescue EOFError, Errno::EIO - nil - end - end - - assert_match "WEEK", output - end -end diff --git a/Formula/v/vitepress.rb b/Formula/v/vitepress.rb index 8c5d7901c0..b4207dfc0f 100644 --- a/Formula/v/vitepress.rb +++ b/Formula/v/vitepress.rb @@ -17,7 +17,7 @@ class Vitepress < Formula def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/v/viwo.rb b/Formula/v/viwo.rb deleted file mode 100644 index fb50a06bf7..0000000000 --- a/Formula/v/viwo.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Viwo < Formula - desc "Docker-sandboxed virtual workspaces for Claude Code" - homepage "https://github.com/OverseedAI/viwo" - url "https://github.com/OverseedAI/viwo/archive/refs/tags/v0.10.0.tar.gz" - sha256 "1c216ceb05deb428500b89a34f2102df74c1806cf54bfefefce1b63bae1751cb" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "446fd69d78e709ca635523d48a849603d352e8342e98429d4300ef6c562296f6" - sha256 arm64_sequoia: "d82db450d6b74bf25e2e3b187dc5e93774f861ec1f8bac1ff5dcba65cd4d0491" - sha256 arm64_sonoma: "15a52b3e04ea10e2ffc15c51bea7a6dba306653b244e3b4ad4422268d0b9e1e1" - sha256 cellar: :any_skip_relocation, arm64_linux: "0914bd9b98998f96fdd04599b060501852d13bd9dcba2f31590f886968954b05" - sha256 cellar: :any_skip_relocation, x86_64_linux: "671f2ac3a6d293c689d3a2a1a2e22578266a5f62c3e2f3432879afb28d2e3437" - end - - depends_on "chenrui333/tap/bun" => :build - - def install - Dir.chdir("packages/cli") do - system "bun", "install", "--frozen-lockfile" - system "bun", "build", "src/cli.ts", "--compile", "--outfile", "viwo" - bin.install "viwo" - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/viwo --version") - end -end diff --git a/Formula/v/vortix.rb b/Formula/v/vortix.rb deleted file mode 100644 index ab23525a33..0000000000 --- a/Formula/v/vortix.rb +++ /dev/null @@ -1,44 +0,0 @@ -class Vortix < Formula - desc "Terminal UI for WireGuard and OpenVPN with real-time telemetry" - homepage "https://github.com/Harry-kp/vortix" - url "https://github.com/Harry-kp/vortix/archive/refs/tags/v0.2.1.tar.gz" - sha256 "12ad1807b9bb7a4f79f2305740d8a7751d2edb95878ab2992f4a21033ca74161" - license "MIT" - head "https://github.com/Harry-kp/vortix.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8819a2bab0dbb75885891cb2896eeac1130d40699165ccfe2c53537b8f8e8fab" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "7bacb88f865efc8cedf84bc0af45d23e76f2773f0749ad43a4452bc21f747e2b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "23860c481823321084aac79bfef96e987e92e043e7587420553c872e3b72c33b" - sha256 cellar: :any_skip_relocation, arm64_linux: "b9b3136b5d7bfddd3738a726d8d5e0e20714d3b6d556853c93e50d9e58beb024" - sha256 cellar: :any_skip_relocation, x86_64_linux: "52599908df2e84a8653f0d9c59a03e3c74d9457cfecddbf281e464d5569191bc" - end - - depends_on "rust" => :build - depends_on "openvpn" - depends_on "wireguard-tools" - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/vortix --version") - - config_dir = testpath/"config" - (config_dir/"profiles").mkpath - (config_dir/"config.toml").write <<~TOML - log_level = "info" - TOML - (config_dir/"profiles"/"demo.conf").write <<~CONF - [Interface] - PrivateKey = abc - Address = 10.0.0.2/32 - CONF - - output = shell_output("#{bin}/vortix --config-dir #{config_dir} info") - assert_match config_dir.to_s, output - assert_match "Profiles: 1 (1 WireGuard, 0 OpenVPN)", output - end -end diff --git a/Formula/v/vsg.rb b/Formula/v/vsg.rb index 960c924673..1f297a8e51 100644 --- a/Formula/v/vsg.rb +++ b/Formula/v/vsg.rb @@ -3,26 +3,24 @@ class Vsg < Formula desc "VHDL Style Guide" homepage "https://github.com/jeremiah-c-leary/vhdl-style-guide" - url "https://github.com/jeremiah-c-leary/vhdl-style-guide/archive/refs/tags/3.35.0.tar.gz" - sha256 "243814d768d14ffa76503d63f4aa60a1c7afd3a561cbda46c0954602fcdff390" + url "https://github.com/jeremiah-c-leary/vhdl-style-guide/archive/refs/tags/3.34.0.tar.gz" + sha256 "a2a7f3868a69b12ea7d0e0c9e9fee9d8a1f01533127bc16036262fdaa3b168fe" license "GPL-3.0-or-later" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "24b27f0298b12d00e3ffd2424f1de5b0d203a63b62e213f7235d958f69ada5cb" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "da93cadca0fb91ea70b2f7e5f02b916bbf71c15ebda0fd70cc864d69cfee2971" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "ebe22656f9b068241e26660fb690688a529b71431173c25ab73abeda7d3798cc" - sha256 cellar: :any_skip_relocation, arm64_linux: "3e103031e177f5c00162ff9368ca94e83b2da2d276fe15a132192f6937b14a20" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3ffee7d395585493e7e5516e6518e3471e5787f068cd68b7ab394c64995d39e8" + sha256 cellar: :any, arm64_sequoia: "a65dc8d56c26964f633d9b0237d9df86e7f64974efd4506dda4bee73c8effcb9" + sha256 cellar: :any, arm64_sonoma: "491651b4db6b5eabe07d4dafb766131a8be4ff5cbee42f808b0a3fd381224d9d" + sha256 cellar: :any, ventura: "ba921c0ddc82c4c5da07a9ded608288894225e1312aa11f589fd4dd5c4b5742d" + sha256 cellar: :any_skip_relocation, x86_64_linux: "8d479a6064aa56a38b02671ae124d1e296864785a9d6d4044b4f7e86b88fb854" end depends_on "libyaml" - depends_on "python@3.14" + depends_on "python@3.13" resource "pyyaml" do - url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" + sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" end # add `starting_version` to override default `0.0.1` @@ -46,7 +44,7 @@ def install assert_match <<~EOS, shell_output("#{bin}/vsg test.vhdl") Phase 7 of 7... Reporting - Total Rules Checked: 889 + Total Rules Checked: 884 Total Violations: 0 Error : 0 Warning : 0 diff --git a/Formula/v/vulcain.rb b/Formula/v/vulcain.rb deleted file mode 100644 index 92cbfdb5b9..0000000000 --- a/Formula/v/vulcain.rb +++ /dev/null @@ -1,48 +0,0 @@ -class Vulcain < Formula - desc "Fast and idiomatic client-driven REST APIs" - homepage "https://vulcain.rocks/" - url "https://github.com/dunglas/vulcain/archive/refs/tags/v1.4.0.tar.gz" - sha256 "d3d4cf10bcc43f9f8aaca5940f61d7aa3d6952cf8f2d55112fbbca4adb2a9773" - license "AGPL-3.0-only" - head "https://github.com/dunglas/vulcain.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c3e83d9cc7902fff2aa0379516717d5813240ff069ecc2996756643f813a9810" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "a48b746fd17a8c0154d6b9a46df50c471456676831fb0b1ed2ba140b4854f60a" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "f3cb2cfd2fe3ea2ed6485f01717befbce8a9e287269bf33ba6ac0b5efb036476" - sha256 cellar: :any_skip_relocation, arm64_linux: "f5ba98f22da2a77f54ca38705f301b396eb340ec78cd7d30987cdb1eeab53498" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0102ab3b01447490c96506a4bbd86c7f1b27271b5b0e8c5fa5214eb700c79f2a" - end - - depends_on "go" => :build - - def install - ldflags = "-s -w -X github.com/caddyserver/caddy/v2.CustomVersion=Vulcain.rocks.#{version}" - - cd "caddy" do - system "go", "build", *std_go_args(ldflags:, tags: "nobadger,nomysql,nopgx"), "./vulcain" - end - end - - test do - port = free_port - - assert_match version.to_s, shell_output("#{bin}/vulcain version") - - (testpath/"Caddyfile").write <<~EOS - http://127.0.0.1:#{port} { - respond "Vulcain API" - } - EOS - - pid = spawn bin/"vulcain", "run", "--config", testpath/"Caddyfile" - - sleep 2 - - assert_match "Vulcain API", shell_output("curl -s http://127.0.0.1:#{port}") - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/w/wakey.rb b/Formula/w/wakey.rb deleted file mode 100644 index 080cdd18ef..0000000000 --- a/Formula/w/wakey.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Wakey < Formula - desc "TUI built for managing and waking your devices using Wake-on-LAN" - homepage "https://github.com/jonathanruiz/wakey" - url "https://github.com/jonathanruiz/wakey/archive/refs/tags/v1.2.0.tar.gz" - sha256 "20480d3132f75a2b6af8cfd2990921ee363965e649de9ae3d5c5464dadba635f" - license "MIT" - head "https://github.com/jonathanruiz/wakey.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "046e82b2d703b67f20b0a306961194852c2133f11bd7bc5394f8b40bda3da9f9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "046e82b2d703b67f20b0a306961194852c2133f11bd7bc5394f8b40bda3da9f9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "046e82b2d703b67f20b0a306961194852c2133f11bd7bc5394f8b40bda3da9f9" - sha256 cellar: :any_skip_relocation, arm64_linux: "a4bfd4fe8d5af969e2c72edf6443836ab6403a85f71a45ab88d3cb75e679f3d7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f70819e29008e280810ee1121b67bcd5be9ae070860508eac3778260234ee578" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - output_log = testpath/"output.log" - pid = spawn bin/"wakey", [:out, :err] => output_log.to_s - sleep 1 - assert_path_exists testpath/".wakey.db" - assert_operator (testpath/".wakey.db").size, :>, 0 - ensure - if pid - begin - Process.kill("TERM", pid) - Process.wait(pid) - rescue Errno::ECHILD, Errno::ESRCH - nil - end - end - end -end diff --git a/Formula/w/wallust.rb b/Formula/w/wallust.rb index a113dff068..4ff7db6454 100644 --- a/Formula/w/wallust.rb +++ b/Formula/w/wallust.rb @@ -1,18 +1,16 @@ class Wallust < Formula desc "Better pywal" - homepage "https://explosion-mental.codeberg.page/wallust/" - url "https://codeberg.org/explosion-mental/wallust/archive/3.5.2.tar.gz" - sha256 "46c2592217f0de968437850b14b2e844f2af4158b70135b2b448dc426c0309a1" + homepage "https://codeberg.org/explosion-mental/wallust" + url "https://codeberg.org/explosion-mental/wallust/archive/3.4.0.tar.gz" + sha256 "2fa1b604a70026ff9ed853cc43bb5d4bed6c17ea1a0cea08563447bd5df5ddfb" license "MIT" - head "https://codeberg.org/explosion-mental/wallust.git", branch: "main" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "b276b0d7cf7117c7e322f877e7877fd921f1f5a185629e659a2cf0af7ddd012a" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "2c4af12dad6b39a05accb551e5b45a277e1053a8b2d6f9aaf5c38cc0898af777" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d8579fe4c620f6f63fca82b33a0ea96f79c200c857e6a90106c39e20bf50b1e9" - sha256 cellar: :any_skip_relocation, arm64_linux: "f05339d3809a3c682dbeb1db6bdde0ccef8a462e9c4673f025a87ab4563a0b24" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f7e3fa4953127c06c69a9d4b0a6ad1e43804f2b55cb480f3c3e2c1d64ab525fb" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "d3279a1d19cff08b2d94333d18157f5315fe179ec9c139ad623badd55592cf60" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "80d4ff3eb56f5525867106c9d05e90335319d051643158e234d9f9ba9c6d85fe" + sha256 cellar: :any_skip_relocation, ventura: "6af9be1d176a9be754d4e9db63580b168101a3ff9af4797e41333cdeff55da05" + sha256 cellar: :any_skip_relocation, x86_64_linux: "7d2ee5137690cdc0d63352da4cb1ce1d20a5f55aae83f2906de51ed3fac6d93a" end depends_on "rust" => :build diff --git a/Formula/w/watchfiles.rb b/Formula/w/watchfiles.rb index fc2214c582..9a9d84cc46 100644 --- a/Formula/w/watchfiles.rb +++ b/Formula/w/watchfiles.rb @@ -3,31 +3,29 @@ class Watchfiles < Formula desc "Simple, modern and high performance file watching and code reload in python" homepage "https://watchfiles.helpmanual.io/" - url "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz" - sha256 "a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2" + url "https://files.pythonhosted.org/packages/2a/9a/d451fcc97d029f5812e898fd30a53fd8c15c7bbd058fd75cfc6beb9bd761/watchfiles-1.1.0.tar.gz" + sha256 "693ed7ec72cbfcee399e92c895362b6e66d63dac6b91e2c11ae03d10d503e575" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any, arm64_tahoe: "53b14a2f1e98dad723f9cd681c49ca86db85d805327c1b9793d5db54d51c3720" - sha256 cellar: :any, arm64_sequoia: "49d99781c2e9e1a70ee9ffb5b3f064143e233038ee6f0a73c1db7aec08c3d0a7" - sha256 cellar: :any, arm64_sonoma: "9c1baf8ff00510999869aea5b16f6454ddd0ce7c87ae8534acee8b7d299d53c8" - sha256 cellar: :any_skip_relocation, arm64_linux: "2180dd6fee0f2ffd0464aa81bbc05a8c5204fe2ead219c9074de37a543746bd3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "706622176181a171f32a1615fe0ee5a0ee0434d22edb5989a034096c54b61a3a" + sha256 cellar: :any, arm64_sequoia: "2447bc526e88c6281333bb111861b6668d821aeea1d2f2149c840ecb99b1502a" + sha256 cellar: :any, arm64_sonoma: "82bc5a475ef68ae6bf0f5ac5bfd6caaf9eaac19f6c4774101a0ed1d9a99b8cdb" + sha256 cellar: :any, ventura: "938fb336fd9f4ca7dba04b24cc1a471ec600fa70ace22a705f103afbd19e3647" + sha256 cellar: :any_skip_relocation, x86_64_linux: "638902d5155dafc9b89ce2e14431de670061a3379f02d5210b37259cb9b1b585" end depends_on "rust" => :build - depends_on "python@3.14" + depends_on "python@3.13" resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" end resource "idna" do - url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" - sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" end resource "sniffio" do diff --git a/Formula/w/weathr.rb b/Formula/w/weathr.rb deleted file mode 100644 index 425a6c285d..0000000000 --- a/Formula/w/weathr.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Weathr < Formula - desc "Terminal weather app with ASCII animation" - homepage "https://github.com/Veirt/weathr" - url "https://github.com/Veirt/weathr/archive/refs/tags/v1.4.0.tar.gz" - sha256 "aa940326f41b23db192165f831567656ea50eb73c971519cbc83adc6d3a21908" - license "GPL-3.0-or-later" - head "https://github.com/Veirt/weathr.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "f20469608642ba7bda847a3f92ce29675849943f4b7055315b4c1cb6777d2437" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6318f053106e8aaf0a49eabef8fd99deeb490d1cb59f2df3b8783d0779b214ab" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6378d33d974b4fb76fa982cf16319853a892439a08f738d3e3a946aea0e40f8b" - sha256 cellar: :any_skip_relocation, arm64_linux: "6767cdfb886b4d586c3989bd41c9dc73021c3c97d13a3ac28860e973acd64749" - sha256 cellar: :any_skip_relocation, x86_64_linux: "38fec570d8febb808b088fafd2563d801918a5db4c64b497b04275e72f6477fc" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - generate_completions_from_executable(bin/"weathr", "--completions") - end - - test do - assert_match version.to_s, shell_output("#{bin}/weathr --version") - assert_match "_weathr()", shell_output("#{bin}/weathr --completions bash") - end -end diff --git a/Formula/w/wedl.rb b/Formula/w/wedl.rb index f19ccc8963..340f856719 100644 --- a/Formula/w/wedl.rb +++ b/Formula/w/wedl.rb @@ -4,16 +4,14 @@ class Wedl < Formula url "https://github.com/gnojus/wedl/archive/refs/tags/v0.1.11.tar.gz" sha256 "1d52adf91a6a0424e54610741b48384135ee2e7c4c2bf13e8a9f6f4d301dd1dc" license "Unlicense" - revision 1 head "https://github.com/gnojus/wedl.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "faf695f102a353566e90e1fe6fe936c56ffc5e6fb9a3911f4c0d3b8dfc99eb92" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "faf695f102a353566e90e1fe6fe936c56ffc5e6fb9a3911f4c0d3b8dfc99eb92" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "faf695f102a353566e90e1fe6fe936c56ffc5e6fb9a3911f4c0d3b8dfc99eb92" - sha256 cellar: :any_skip_relocation, arm64_linux: "0f01930c64cca4b3bf00345d1db91a11f25bd32476312f8783a3be4bf8f92193" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b7635658180f05f32cf94e595657518dcefff4da1d2593c7ad490c6f76ff6f07" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "73ab2463cce3c2bcd30ccf5443d5fc1d14a4279a606702a25bd88ecd14162f67" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "af1029478115f5cf6fd7f6559fd014dbc698849d35be4316151f59893010bb1b" + sha256 cellar: :any_skip_relocation, ventura: "ea7f04ace575e2694376b059dd6e8fe69790fca7c5c71e1dda83059f1c65e382" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d9f50dac139f66fa0edaf27b7d2cb100d8af1871b99b455378c6b70e2cf42610" end depends_on "go" => :build @@ -24,7 +22,7 @@ def install test do assert_match version.to_s, shell_output("#{bin}/wedl --version") - # system bin/"wedl", "https://we.tl/responsibility" - # assert_path_exists testpath/"WeTransfer_Responsible_Business_Report_2020.pdf" + system bin/"wedl", "https://we.tl/responsibility" + assert_path_exists testpath/"WeTransfer_Responsible_Business_Report_2020.pdf" end end diff --git a/Formula/w/weekly-git-summary.rb b/Formula/w/weekly-git-summary.rb index 59579ecba1..b4de0c8224 100644 --- a/Formula/w/weekly-git-summary.rb +++ b/Formula/w/weekly-git-summary.rb @@ -1,20 +1,23 @@ class WeeklyGitSummary < Formula desc "跨平台 CLI 工具,用于生成 Git 提交周报,支持文本、JSON、Markdown" homepage "https://github.com/yinzhenyu-su/weekly-git-summary" - url "https://registry.npmjs.org/weekly-git-summary/-/weekly-git-summary-1.2.0.tgz" - sha256 "681860b996949f498a934789004a24afdae5698cc8c57a9384d68ed35fc0a493" + url "https://registry.npmjs.org/weekly-git-summary/-/weekly-git-summary-1.1.0.tgz" + sha256 "96397088089c164823530facece2af86c35c5b29c68ce92ea836a53e6c5f006a" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, all: "8bacb272949ac9d84dfc3db0645053426ff7ec0999706dbba3bf1e8e648cd105" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "f3d0c93850e0ba598c50b0dd7b8a383d079938ac7faa052f5b588ca7e7d02197" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "1b21c90da4386dcf3bb2c6922d5627787b7014432f6b71ed7f2ce6108374252b" + sha256 cellar: :any_skip_relocation, ventura: "9d2f46dea0eb67ffd87d529b5c0ab11a0e85363e6df6b269ec348d1246bb8e08" + sha256 cellar: :any_skip_relocation, x86_64_linux: "20900f483b3a3d5953ef1ffbe93421c4ef0b5c3eb7f3979f885128d4cbe492a2" end depends_on "node" def install system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") + bin.install_symlink Dir["#{libexec}/bin/*"] end test do diff --git a/Formula/w/wiki-tui.rb b/Formula/w/wiki-tui.rb deleted file mode 100644 index 57f4f7976a..0000000000 --- a/Formula/w/wiki-tui.rb +++ /dev/null @@ -1,48 +0,0 @@ -class WikiTui < Formula - desc "TUI for Wikipedia" - homepage "https://github.com/Builditluc/wiki-tui" - url "https://github.com/Builditluc/wiki-tui/archive/refs/tags/v0.9.2.tar.gz" - sha256 "4f51547c0597ee9d6be9e946a612bfc052f8addd59b01f2bd599b31c3b636004" - license "MIT" - head "https://github.com/Builditluc/wiki-tui.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "75db1acdff9d7b7dd1210177215fafcc9d16348c59dc00ced6a8ba30d230f7c5" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1e56f0605dc6bd9da7557d29c9aa63a5e6c1300df53251cdfc031b501ddbe396" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c4e0896de4cf127d7e0ec4aa0d80c139c3e97e0d6227eefa4cc6eca18f47c8e6" - sha256 cellar: :any_skip_relocation, arm64_linux: "2a9df923fffbb3253701a3a5315a1868698228fde826d5db2d2ce14a6927636e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "717ef01f36c62909fabbc3cda15c07a319a43b0c500da83b1d3500ae048879bc" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - - on_linux do - depends_on "openssl@3" - end - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match version.to_s, shell_output("#{bin}/wiki-tui --version") - - output_log = testpath/"wiki-tui.log" - pid = if OS.mac? - spawn "script", "-q", File::NULL, bin/"wiki-tui", [:out, :err] => output_log.to_s - else - spawn "script", "-q", "-c", bin/"wiki-tui", File::NULL, [:out, :err] => output_log.to_s - end - sleep 2 - Process.kill("TERM", pid) - Process.wait(pid) - output = output_log.read - assert_match "\e[?1049h", output - refute_match "No such device or address", output - rescue Errno::ESRCH - output = output_log.exist? ? output_log.read : "" - refute_match "No such device or address", output - end -end diff --git a/Formula/w/wild.rb b/Formula/w/wild.rb deleted file mode 100644 index 634f2b4ec1..0000000000 --- a/Formula/w/wild.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Wild < Formula - desc "Fast linker for Linux" - homepage "https://github.com/davidlattimore/wild" - url "https://github.com/davidlattimore/wild/archive/refs/tags/0.8.0.tar.gz" - sha256 "3828028f41c668caf02aa9ffc4dc3bd1a33b4957eb66a7aa015f7c92e4f064ce" - license any_of: ["MIT", "Apache-2.0"] - head "https://github.com/davidlattimore/wild.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "f85bd8b77ed8cce31a7f3128ce3399bdb046fd4a1c32d5492356300bf3477bed" - sha256 cellar: :any_skip_relocation, x86_64_linux: "52020f072419683889b0141657f35d629b2cbbe4f4b25beb40a30ab045de3724" - end - - depends_on "rust" => :build - depends_on :linux - - def install - cd "wild" do - system "cargo", "install", *std_cargo_args - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/wild --version") - - (testpath/"a.c").write <<~C - #include - int main() { - printf("Hello, World!\\n"); - return 0; - } - C - - (testpath/"ld").make_symlink bin/"wild" - system ENV.cc, "-B#{testpath}", "a.c", "-o", "a.out" - assert_equal "Hello, World!\n", shell_output("./a.out") - end -end diff --git a/Formula/w/wiremix.rb b/Formula/w/wiremix.rb deleted file mode 100644 index 8ae8c228d0..0000000000 --- a/Formula/w/wiremix.rb +++ /dev/null @@ -1,33 +0,0 @@ -class Wiremix < Formula - desc "TUI audio mixer for PipeWire" - homepage "https://github.com/tsowell/wiremix" - url "https://github.com/tsowell/wiremix/archive/refs/tags/v0.10.0.tar.gz" - sha256 "dfb165ff664b804099c5592fd26d2b03d78e67069522bc5d3d8ef75a19505adf" - license any_of: ["Apache-2.0", "MIT"] - head "https://github.com/tsowell/wiremix.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_linux: "9c410428a6c8448372120eea5e97e76a2680d35b6e61c51e337e9bf7f8862ab5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3480a45b59346236a1bf16b3d932e4e1d55ee9d95eae31a503cf9775741ee297" - end - - depends_on "pkgconf" => :build - depends_on "rust" => :build - depends_on :linux - depends_on "pipewire" - - on_linux do - depends_on "llvm" => :build - end - - def install - ENV["LIBCLANG_PATH"] = Formula["llvm"].opt_lib if OS.linux? - - system "cargo", "install", *std_cargo_args - end - - test do - assert_match "wiremix v#{version}", shell_output("#{bin}/wiremix --version") - end -end diff --git a/Formula/w/wisu.rb b/Formula/w/wisu.rb deleted file mode 100644 index 7945241ab5..0000000000 --- a/Formula/w/wisu.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Wisu < Formula - desc "Blazingly fast, minimalist directory tree viewer" - homepage "https://github.com/sh1zen/wisu" - url "https://github.com/sh1zen/wisu/archive/refs/tags/v0.1.6.tar.gz" - sha256 "0331ebc1663c3fcc4c58992692b6dc952d8733d1d77efac71250bb2689925edd" - license "Apache-2.0" - head "https://github.com/sh1zen/wisu.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "00c84969576ce09b8b065c99e8509f1e39a732bb0c18abf871649b609a414f57" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "8ba6ac066b50f8dc710631ca0c81b84a3aa2bc399c77a54a1ef763a48af4d46f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "bb73a7d2fb35a196e69a96ea06d720223705ad8dff69c5a7772724c15912a2d0" - sha256 cellar: :any_skip_relocation, arm64_linux: "951c12ad8ef4017963afd099ac47defe60f36f0d37008ad7c29aace310bf5bac" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f2316357db90384173dbfd8a73dc5d072fcede0a7174e75e92c8c6e6c7ff5f97" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - assert_match(/^wisu \d+\.\d+\.\d+$/, shell_output("#{bin}/wisu --version")) - - (testpath/"a.txt").write("a\n") - output = shell_output("#{bin}/wisu #{testpath}") - assert_match "a.txt", output - end -end diff --git a/Formula/w/wolfpack.rb b/Formula/w/wolfpack.rb deleted file mode 100644 index 8555b70463..0000000000 --- a/Formula/w/wolfpack.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Wolfpack < Formula - desc "Mobile and desktop command center for controlling AI coding agents" - homepage "https://github.com/almogdepaz/wolfpack" - url "https://registry.npmjs.org/wolfpack-bridge/-/wolfpack-bridge-1.6.1.tgz" - sha256 "2aaac8765a6a4b366533bccff03d3b6135acff8fa40a655ec3f7a99005a14899" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "1c216e74be07496f4eeebc91b94b9df6e2f3e1b616b57ef4a8547807ce89eabf" - sha256 arm64_sequoia: "1c216e74be07496f4eeebc91b94b9df6e2f3e1b616b57ef4a8547807ce89eabf" - sha256 arm64_sonoma: "1c216e74be07496f4eeebc91b94b9df6e2f3e1b616b57ef4a8547807ce89eabf" - sha256 cellar: :any_skip_relocation, arm64_linux: "ce7af71c4d203145664b8003a0673466b98405b765ebb582243e85d84c580fc7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "11a403238052d5353522397d1219ed5acd9cd5d8a0276ac601cb2c07df2426fe" - end - - depends_on "node" - - def install - system "npm", "install", *std_npm_args - bin.install_symlink libexec.glob("bin/*") - end - - test do - pkg = libexec/"lib/node_modules/wolfpack-bridge/package.json" - output = shell_output("node -e \"console.log(require('#{pkg}').version)\"") - assert_match version.to_s, output - end -end diff --git a/Formula/w/wut-cli.rb b/Formula/w/wut-cli.rb deleted file mode 100644 index b0df4ccf13..0000000000 --- a/Formula/w/wut-cli.rb +++ /dev/null @@ -1,131 +0,0 @@ -class WutCli < Formula - include Language::Python::Virtualenv - - desc "CLI that explains the output of the last command with an LLM" - homepage "https://github.com/shobrook/wut" - url "https://files.pythonhosted.org/packages/8c/6e/88ce60111824fa74e94b2687054891c19fb75e5f951b332a198f71ffee19/wut_cli-1.0.8.tar.gz" - sha256 "a2b812b36a4dd70798c672d536233261c9265246494769743ae25acb33a90186" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "34c6e87f4aff65e843b03b5a3f6d36d35f3012ab7433fff73af4c69c8cd77205" - sha256 cellar: :any, arm64_sequoia: "06b04bcf1f244aa4671c2e7ab3930c09d85e9caa491afdf420cbd3272bc9aa64" - sha256 cellar: :any, arm64_sonoma: "3dd896fe05690cf0d1ebe556f8a65db4015c3fb10f5473c4d6246c97f81b2e22" - sha256 cellar: :any_skip_relocation, arm64_linux: "91173f479b2eeebda7e177ff039b31b413ea71eff4ca49451d3dcc60857c556b" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6f07d64298d21a2188ba4acadb8027cdd79288ab01186c2ff9ec601e68e9e028" - end - - depends_on "rust" => :build # for jiter - depends_on "certifi" - depends_on "pydantic" => :no_linkage - depends_on "python@3.13" - - pypi_packages exclude_packages: %w[pydantic pydantic-core] - - resource "anthropic" do - url "https://files.pythonhosted.org/packages/c8/9d/9ad1778b95f15c5b04e7d328c1b5f558f1e893857b7c33cd288c19c0057a/anthropic-0.69.0.tar.gz" - sha256 "c604d287f4d73640f40bd2c0f3265a2eb6ce034217ead0608f6b07a8bc5ae5f2" - end - - resource "anyio" do - url "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" - sha256 "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4" - end - - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - - resource "docstring-parser" do - url "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz" - sha256 "583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912" - end - - resource "h11" do - url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" - sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" - end - - resource "httpcore" do - url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" - sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" - end - - resource "httpx" do - url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" - sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" - sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" - end - - resource "jiter" do - url "https://files.pythonhosted.org/packages/9d/c0/a3bb4cc13aced219dd18191ea66e874266bd8aa7b96744e495e1c733aa2d/jiter-0.11.0.tar.gz" - sha256 "1d9637eaf8c1d6a63d6562f2a6e5ab3af946c66037eb1b894e8fad75422266e4" - end - - resource "markdown-it-py" do - url "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz" - sha256 "cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" - end - - resource "mdurl" do - url "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" - sha256 "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - end - - resource "ollama" do - url "https://files.pythonhosted.org/packages/d6/47/f9ee32467fe92744474a8c72e138113f3b529fc266eea76abfdec9a33f3b/ollama-0.6.0.tar.gz" - sha256 "da2b2d846b5944cfbcee1ca1e6ee0585f6c9d45a2fe9467cbcd096a37383da2f" - end - - resource "openai" do - url "https://files.pythonhosted.org/packages/1a/dd/4d4d46a06943e37c95b6e388237e1e38d1e9aab264ff070f86345d60b7a4/openai-2.1.0.tar.gz" - sha256 "47f3463a5047340a989b4c0cd5378054acfca966ff61a96553b22f098e3270a2" - end - - resource "psutil" do - url "https://files.pythonhosted.org/packages/b3/31/4723d756b59344b643542936e37a31d1d3204bcdc42a7daa8ee9eb06fb50/psutil-7.1.0.tar.gz" - sha256 "655708b3c069387c8b77b072fc429a57d0e214221d01c0a772df7dfedcb3bcd2" - end - - resource "pygments" do - url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" - sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" - end - - resource "rich" do - url "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz" - sha256 "e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8" - end - - resource "sniffio" do - url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" - end - - resource "tqdm" do - url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" - sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" - end - - resource "typing-extensions" do - url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" - sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" - end - - def install - virtualenv_install_with_resources - end - - test do - assert_match "Understand the output of your latest terminal command", shell_output("#{bin}/wut --help") - - output = shell_output("#{bin}/wut") - assert_match "wut must be run inside a tmux or screen session", output - end -end diff --git a/Formula/x/xfr.rb b/Formula/x/xfr.rb deleted file mode 100644 index 19ea7c5ac4..0000000000 --- a/Formula/x/xfr.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Xfr < Formula - desc "Modern iperf3 alternative with a live TUI" - homepage "https://github.com/lance0/xfr" - url "https://github.com/lance0/xfr/archive/refs/tags/v0.9.10.tar.gz" - sha256 "6c9b57d823d91b24bd3201488086cd697cbec9575a94eecf90c751b7e204aef9" - license "MIT" - head "https://github.com/lance0/xfr.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "c9725b076abbb187e29facc719e3f45fa7d27557c8cd75a68843dd5d630e05a9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c7b18b9f4eea5b27b9f34556620aa3487d5cb958375d5ceeb753a808329f7ead" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "100a064452a8050c2f2a78210529673f39dcefbba5053721566a976a668203b5" - sha256 cellar: :any_skip_relocation, arm64_linux: "d77f768316f211c701c8b3b2daccb2c3a65c6885d749da81cf7c80eb4e2cdeac" - sha256 cellar: :any_skip_relocation, x86_64_linux: "670684736542250a9d9b32db3c8ca88436d48440cf41bd31081fd1941fdf991d" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - generate_completions_from_executable(bin/"xfr", "--completions") - end - - test do - assert_match version.to_s, shell_output("#{bin}/xfr --version") - end -end diff --git a/Formula/x/xmlformatter.rb b/Formula/x/xmlformatter.rb index eb9d78e224..8a40911bf1 100644 --- a/Formula/x/xmlformatter.rb +++ b/Formula/x/xmlformatter.rb @@ -9,11 +9,13 @@ class Xmlformatter < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, all: "2c629884ff5f001cfbd4f1031f9e6cd92514dd57b6ec3492c855fb0e12588acb" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "171d09c8a894c2113ae345105dfc5a43a6fa79032fb396ec45a38b9858f41070" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "a95f84ab64bad146e971177133e67bb8befd228f6f0a36e65e59b882933ef964" + sha256 cellar: :any_skip_relocation, ventura: "c08641b0923b78d60336050c74e21b36bdb289f551f4c0a3189c8b463fd49d97" + sha256 cellar: :any_skip_relocation, x86_64_linux: "e526923af680bee9fd86f6ed3f8d3cbd7b66d61e62328386c9545c5f2aefc7ff" end - depends_on "python@3.14" + depends_on "python@3.13" def install virtualenv_install_with_resources diff --git a/Formula/x/xpdig.rb b/Formula/x/xpdig.rb deleted file mode 100644 index cba5019941..0000000000 --- a/Formula/x/xpdig.rb +++ /dev/null @@ -1,43 +0,0 @@ -class Xpdig < Formula - desc "Dig into Crossplane traces via TUI" - homepage "https://github.com/brunoluiz/xpdig" - url "https://github.com/brunoluiz/xpdig/archive/refs/tags/v1.22.0.tar.gz" - sha256 "cf339d528910118625a79c430ea838404f746b8d9cbeb363ec6ddfa052de6d40" - license "Apache-2.0" - head "https://github.com/brunoluiz/xpdig.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "9c356f5e07b9c3160a43d8088b6f73f382ee1346312095b11b18650b62845b1c" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "9c356f5e07b9c3160a43d8088b6f73f382ee1346312095b11b18650b62845b1c" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "9c356f5e07b9c3160a43d8088b6f73f382ee1346312095b11b18650b62845b1c" - sha256 cellar: :any_skip_relocation, arm64_linux: "649924165a86a2badfba38d34527fe002d34a9939f4e2853c995eec3d54d31bf" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f351cdcbb69311a97d0d054c99662db062701ed33c3e0cdd5ee8046e23b4335a" - end - - depends_on "go" => :build - depends_on "crossplane" - - def install - ENV["CGO_ENABLED"] = "1" - - # Workaround to avoid patchelf corruption when cgo is required - if OS.linux? && Hardware::CPU.arch == :arm64 - ENV["GO_EXTLINK_ENABLED"] = "1" - ENV.append "GOFLAGS", "-buildmode=pie" - end - - ldflags = "-s -w -X main.version=#{version} -X main.commit=#{tap.user} -X main.date=#{time.iso8601}" - system "go", "build", *std_go_args(ldflags:), "./cmd/xpdig" - end - - test do - version_output = shell_output("#{bin}/xpdig version") - assert_match version.to_s, version_output - - # Concrete negative-path command to prove the binary handles bad input cleanly. - invalid_output = shell_output("#{bin}/xpdig not-a-real-command 2>&1", 3) - assert_match "No help topic for 'not-a-real-command'", invalid_output - refute_match "panic:", invalid_output - end -end diff --git a/Formula/x/xytz.rb b/Formula/x/xytz.rb deleted file mode 100644 index 4120e2e472..0000000000 --- a/Formula/x/xytz.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Xytz < Formula - desc "Beautiful TUI YouTube downloader" - homepage "https://github.com/xdagiz/xytz" - url "https://github.com/xdagiz/xytz/archive/refs/tags/v0.8.8.tar.gz" - sha256 "9edae6fc6dc8af880453352c8d81b8d35070e6a9037caa84b3274217b58c0867" - license "MIT" - head "https://github.com/xdagiz/xytz.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d091e04cf4f8adbc577ec3613284a2ec2dde0b7475c87caf7780b9630e7d4581" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "d091e04cf4f8adbc577ec3613284a2ec2dde0b7475c87caf7780b9630e7d4581" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d091e04cf4f8adbc577ec3613284a2ec2dde0b7475c87caf7780b9630e7d4581" - sha256 cellar: :any_skip_relocation, arm64_linux: "181f33571d3c2d35ede6146f339dba68ac17f5e3a681665325c08bd2e5c639b5" - sha256 cellar: :any_skip_relocation, x86_64_linux: "68a92de058ddd87b09c5856a0b4ad03b1cf5478aecc725046f3b4be591e0a5b0" - end - - depends_on "go" => :build - depends_on "ffmpeg" - depends_on "yt-dlp" - - def install - ldflags = "-s -w -X github.com/xdagiz/xytz/internal/version.Version=#{version}" - system "go", "build", *std_go_args(ldflags:) - end - - test do - assert_match "Usage:", shell_output("#{bin/"xytz"} --help") - end -end diff --git a/Formula/y/yamcp.rb b/Formula/y/yamcp.rb deleted file mode 100644 index cfe60da013..0000000000 --- a/Formula/y/yamcp.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Yamcp < Formula - desc "Manage MCP servers and workspaces from the command-line" - homepage "https://github.com/hamidra/yamcp" - url "https://github.com/hamidra/yamcp/archive/refs/tags/v0.2.3.tar.gz" - sha256 "ed23201e068cd001dc49a837d881a44e61b4f5527dd74b735ba2ebb6c2db662d" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "d7b86a46d0250d9e14bda023910cf3f69e8e4f88bb7eec4dc9968cd1e36168e9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "39e2cd06cd95a0bb5a01f4f740ef286da0f41518805b9c045812a0bdd53963c3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3d12aaeb306743bbf62f732e651b20dfc78f8fcd41d950e48996fa23b531df3b" - sha256 cellar: :any_skip_relocation, arm64_linux: "17e75405310a61b0adb2f2b7659708a7b226f1f460af0c7460164a5a51255446" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0b12c445c02aff67924c3df1df979d79dedcd0681aa5d85c4232302581db030b" - end - - depends_on "node@24" - - def install - node_path = "#{Formula["node@24"].opt_bin}:#{Formula["node@24"].opt_libexec/"bin"}:$PATH" - - ENV.prepend_path "PATH", Formula["node@24"].opt_bin - ENV.prepend_path "PATH", Formula["node@24"].opt_libexec/"bin" - - system "npx", "-y", "pnpm@9.15.0", "install", "--frozen-lockfile" - system "npx", "-y", "pnpm@9.15.0", "run", "build" - system "npx", "-y", "pnpm@9.15.0", "prune", "--prod" - - libexec.install "dist", "node_modules", "package.json" - chmod 0755, libexec/"dist/index.js" - (bin/"yamcp").write_env_script libexec/"dist/index.js", PATH: node_path - end - - test do - assert_match version.to_s, shell_output("#{bin}/yamcp --version") - assert_match "No MCP servers configured", shell_output("#{bin}/yamcp server list") - end -end diff --git a/Formula/y/yatto.rb b/Formula/y/yatto.rb deleted file mode 100644 index ad25c96ad0..0000000000 --- a/Formula/y/yatto.rb +++ /dev/null @@ -1,53 +0,0 @@ -class Yatto < Formula - desc "Interactive VCS-based todo-list for the command-line" - homepage "https://github.com/handlebargh/yatto" - url "https://github.com/handlebargh/yatto/archive/refs/tags/v1.2.0.tar.gz" - sha256 "1ae4ff38e15638866e6ae72f6457ba6cb68be419fc631ec967e35d266e5a5427" - license "MIT" - head "https://github.com/handlebargh/yatto.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e50454346552fe5cb9bb24ef06d93fe0e23170df985c4b05007c0a5d3f5188ca" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "e50454346552fe5cb9bb24ef06d93fe0e23170df985c4b05007c0a5d3f5188ca" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "e50454346552fe5cb9bb24ef06d93fe0e23170df985c4b05007c0a5d3f5188ca" - sha256 cellar: :any_skip_relocation, arm64_linux: "5be841a7d55aca32533d961c1dee123cbccf658ac81cf00a86e6a23b73d9de19" - sha256 cellar: :any_skip_relocation, x86_64_linux: "b006bda269b16835b4b9d84490dfb99360a8766aa920b1d1754ea3ac9fa318ec" - end - - depends_on "go" => :build - - def install - ldflags = %W[ - -s -w - -X github.com/handlebargh/yatto/internal/version.version=#{version} - -X github.com/handlebargh/yatto/internal/version.revision=#{tap.user} - -X github.com/handlebargh/yatto/internal/version.revisionDate=#{time.iso8601} - ] - - system "go", "build", *std_go_args(ldflags:) - - generate_completions_from_executable(bin/"yatto", shell_parameter_format: :cobra) - end - - test do - # assert_match version.to_s, shell_output("#{bin}/yatto version") - # Version: (devel) - # Revision: chenrui333 - # RevisionDate: 2025-11-17T17:30:31Z - # GoVersion: go1.25.4 - system bin/"yatto", "version" - - (testpath/".config/yatto/config.toml").write <<~TOML - [git] - default_branch = 'main' - - [git.remote] - enable = true - name = 'origin' - url = 'chenrui333/homebrew-tap' - TOML - output = shell_output("#{bin}/yatto config show") - assert_match "[git]\ndefault_branch = 'main'", output - end -end diff --git a/Formula/y/ymp.rb b/Formula/y/ymp.rb deleted file mode 100644 index 5457a0d9ef..0000000000 --- a/Formula/y/ymp.rb +++ /dev/null @@ -1,39 +0,0 @@ -class Ymp < Formula - desc "Browse and play YouTube audio from the terminal" - homepage "https://github.com/trap251/ymp" - url "https://github.com/trap251/ymp/archive/refs/tags/v0.2.1.tar.gz" - sha256 "da4a2c644f0b8ccc0f1aadfa7e29a6453c38bc4000d4754c8d76e2d7726246a9" - license "MIT" - head "https://github.com/trap251/ymp.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1fdb25bcdd9db5235fdd0febc4594cdab8a0d451d958db4f1345595612886940" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "457a1b1aab0889d1033d8b6224caaf1023dea98286c8d251e2345865d41135c3" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "041b54be227ad7017a002bcc96e5449b67d0d8c473cc443b1d6fe281be7d21ae" - sha256 cellar: :any_skip_relocation, arm64_linux: "8d43539d589d4b4b56138ded42b30a7c66a4f47430b185a3f912e889871bd0aa" - sha256 cellar: :any_skip_relocation, x86_64_linux: "453dda4074b4a123229c0e806b91b83f1978c349fbf7f003220e95f8d34c83e5" - end - - depends_on "rust" => :build - depends_on "mpv" - depends_on "yt-dlp" - - def install - system "cargo", "install", *std_cargo_args - end - - test do - ENV["TERM"] = "xterm-256color" - - cmd = if OS.mac? - "printf 'q' | script -q /dev/null #{bin}/ymp" - else - "printf 'q' | script -q -c '#{bin}/ymp' /dev/null" - end - - output = shell_output(cmd) - assert_match(/\e\[\?1049h/, output) - assert_match(/\e\[\?1049l/, output) - end -end diff --git a/Formula/y/youtube-music-cli.rb b/Formula/y/youtube-music-cli.rb deleted file mode 100644 index 54aab16a98..0000000000 --- a/Formula/y/youtube-music-cli.rb +++ /dev/null @@ -1,40 +0,0 @@ -class YoutubeMusicCli < Formula - desc "Terminal user interface music player for YouTube Music" - homepage "https://involvex.github.io/youtube-music-cli/" - url "https://github.com/involvex/youtube-music-cli/archive/refs/tags/v0.0.71.tar.gz" - sha256 "388e59024fb6130dc9be7bce4826b153d9301605700a454107623f08df00f7bf" - license "MIT" - head "https://github.com/involvex/youtube-music-cli.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "8c8e261bd452eff14dd041fbcfcfa6f43aecaa3d42f2cc09e3a9ac57a7c219d9" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "687e21c7bd104941874d8e8549846e462cd09e638d6ec6d66774f751c213a0ec" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "2b482f0931639ed6aa39577c74896d93648a9bc926b5e95f5ee4dee584e3a535" - sha256 cellar: :any_skip_relocation, arm64_linux: "cff6eb0325a6f161644b831abe4898089681348f355cd0a01d0f3e85d9e13616" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ab120ed857062bcfc7f60895857c31e4ed4cdf875b14d6d781fad753fef7ffc3" - end - - depends_on "chenrui333/tap/bun" - depends_on "mpv" - depends_on "node" - depends_on "yt-dlp" - - def install - system "npm", "install", "--include=dev", "--legacy-peer-deps", - *std_npm_args(prefix: false, ignore_scripts: false) - system Formula["chenrui333/tap/bun"].opt_bin/"bun", "run", "build" - system "npm", "install", *std_npm_args - - notifier_app = "lib/node_modules/@involvex/youtube-music-cli/node_modules/" \ - "node-notifier/vendor/mac.noindex/terminal-notifier.app" - rm_r libexec/notifier_app, force: true - bin.install_symlink libexec/"bin/youtube-music-cli" - bin.install_symlink libexec/"bin/ymc" - end - - test do - assert_match version.to_s, shell_output("#{bin}/youtube-music-cli --version") - assert_match(/plugins?/i, shell_output("#{bin}/youtube-music-cli plugins list 2>&1")) - end -end diff --git a/Formula/y/yr.rb b/Formula/y/yr.rb deleted file mode 100644 index 630edcef62..0000000000 --- a/Formula/y/yr.rb +++ /dev/null @@ -1,31 +0,0 @@ -class Yr < Formula - desc "Get the weather delivered to your command-line" - homepage "https://git.sr.ht/~timharek/yr" - url "https://git.sr.ht/~timharek/yr/archive/v1.1.0.tar.gz" - sha256 "cf7b92d980f74278623306f4b715acfd69c629266849f61999570005b3f2cc7e" - license "GPL-3.0-only" - head "https://git.sr.ht/~timharek/yr", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "5f481c550bc92bd80fc243122c9ad5f8ff9221c00c10a9f6403ce33b6892a346" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "5f481c550bc92bd80fc243122c9ad5f8ff9221c00c10a9f6403ce33b6892a346" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5f481c550bc92bd80fc243122c9ad5f8ff9221c00c10a9f6403ce33b6892a346" - sha256 cellar: :any_skip_relocation, arm64_linux: "6b04b1bd515f95fb18b93a078d5172c7817b25623e1da96565befbbc10f81857" - sha256 cellar: :any_skip_relocation, x86_64_linux: "18d37bafa46cf44beaa7cd617af47e5213ecd07d9f0fa0c35d77ec15adeeb0b4" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w -X main.Version=#{version}"), "./cmd/yr" - - generate_completions_from_executable(bin/"yr", shell_parameter_format: :cobra) - end - - test do - assert_match version.to_s, shell_output("#{bin}/yr --version") - - assert_match "New York", shell_output("#{bin}/yr now nyc") - end -end diff --git a/Formula/y/yt-x.rb b/Formula/y/yt-x.rb deleted file mode 100644 index af1e262823..0000000000 --- a/Formula/y/yt-x.rb +++ /dev/null @@ -1,118 +0,0 @@ -class YtX < Formula - desc "Browse YouTube from the terminal" - homepage "https://github.com/Benexl/yt-x" - url "https://github.com/Benexl/yt-x/archive/refs/tags/v0.4.5.tar.gz" - sha256 "60d181286a8489798a9a80df6f9b6a36660370f31029a70f56260a4eb0c373f5" - license "MIT" - head "https://github.com/Benexl/yt-x.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, all: "67143502e7fca4dfa44e049963721608fc2b2e94ef2f2f967a38b40e43fab63e" - end - - depends_on "bash" - depends_on "ffmpeg" - depends_on "fzf" - depends_on "jq" - depends_on "mpv" - depends_on "yt-dlp" - - def install - inreplace "yt-x", "#!/usr/bin/env bash", "#!#{Formula["bash"].opt_bin}/bash" - inreplace "yt-x", 'CLI_VERSION="0.4.0"', %Q(CLI_VERSION="#{version}") - - inreplace "yt-x", - 'CLI_EXTENSION_DIR="$CLI_CONFIG_DIR/extensions"', - <<~EOS.chomp - CLI_EXTENSION_DIR="$CLI_CONFIG_DIR/extensions" - CLI_BUNDLED_EXTENSION_DIR="#{pkgshare}/extensions" - EOS - - inreplace "yt-x", - '[ -s "$CLI_EXTENSION_DIR/$ext" ] && . "$CLI_EXTENSION_DIR/$ext"', - <<~EOS.chomp - if [ -s "$CLI_EXTENSION_DIR/$ext" ]; then - . "$CLI_EXTENSION_DIR/$ext" - elif [ -s "$CLI_BUNDLED_EXTENSION_DIR/$ext" ]; then - . "$CLI_BUNDLED_EXTENSION_DIR/$ext" - fi - EOS - - old_extension_dispatch = [ - " -x | --extension)", - " [ -n \"$2\" ] || usage 1", - " . \"$CLI_EXTENSION_DIR/$2\"", - " shift", - " ;;", - "", - ].join("\n") - new_extension_dispatch = [ - " -x | --extension)", - " [ -n \"$2\" ] || usage 1", - " if [ \"${2#/}\" != \"$2\" ]; then", - " . \"$2\"", - " elif [ -s \"$CLI_EXTENSION_DIR/$2\" ]; then", - " . \"$CLI_EXTENSION_DIR/$2\"", - " elif [ -s \"$CLI_BUNDLED_EXTENSION_DIR/$2\" ]; then", - " . \"$CLI_BUNDLED_EXTENSION_DIR/$2\"", - " else", - " echo \"Extension '$2' not found in $CLI_EXTENSION_DIR or $CLI_BUNDLED_EXTENSION_DIR\" >&2", - " exit 1", - " fi", - " shift", - " ;;", - "", - ].join("\n") - inreplace "yt-x", old_extension_dispatch, new_extension_dispatch - - inreplace "yt-x", - '--arguments \"(command ls $CLI_EXTENSION_DIR)\"', - '--arguments \"(command ls $CLI_BUNDLED_EXTENSION_DIR)\"' - - libexec.install "yt-x" - pkgshare.install "extensions" - - with_env("HOME" => buildpath.to_s) do - generate_completions_from_executable(libexec/"yt-x", "completions", shell_parameter_format: :flag) - end - - path = [ - Formula["ffmpeg"].opt_bin, - Formula["fzf"].opt_bin, - Formula["jq"].opt_bin, - Formula["mpv"].opt_bin, - Formula["yt-dlp"].opt_bin, - "${PATH}", - ].join(":") - (bin/"yt-x").write_env_script(libexec/"yt-x", PATH: path) - end - - test do - require "open3" - - env = { - "HOME" => testpath.to_s, - "XDG_CACHE_HOME" => (testpath/"cache").to_s, - "XDG_CONFIG_HOME" => (testpath/"config").to_s, - } - - desktop_entry, status = Open3.capture2e(env, bin/"yt-x", "-x", "example", "--generate-desktop-entry") - assert_predicate status, :success? - assert_match "[Desktop Entry]", desktop_entry - assert_match "Name=yt-x", desktop_entry - assert_match "version=#{version}", desktop_entry - - assert_path_exists testpath/".config/yt-x/yt-x.conf" - assert_path_exists testpath/"Videos/yt-x" - - fish_completion, status = Open3.capture2e(env, bin/"yt-x", "completions", "--fish") - assert_predicate status, :success? - assert_match "complete -c yt-x", fish_completion - - version_output, status = Open3.capture2e(env, bin/"yt-x", "--version") - assert_predicate status, :success? - assert_match "yt-x v#{version}", version_output - end -end diff --git a/Formula/y/ytsurf.rb b/Formula/y/ytsurf.rb deleted file mode 100644 index 812191840c..0000000000 --- a/Formula/y/ytsurf.rb +++ /dev/null @@ -1,75 +0,0 @@ -class Ytsurf < Formula - desc "YouTube in your terminal without the usual browser clutter" - homepage "https://github.com/Stan-breaks/ytsurf" - url "https://github.com/Stan-breaks/ytsurf/archive/refs/tags/v3.1.6.tar.gz" - sha256 "458036a070733af43dc21f65439b34c17b745cafffce85a53cf5ee855dc00950" - license "GPL-3.0-only" - head "https://github.com/Stan-breaks/ytsurf.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "93c2a80f93d7a147e87c76bc1810bebfb3f520742569daa18ecf246735485b95" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "93c2a80f93d7a147e87c76bc1810bebfb3f520742569daa18ecf246735485b95" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "93c2a80f93d7a147e87c76bc1810bebfb3f520742569daa18ecf246735485b95" - sha256 cellar: :any_skip_relocation, arm64_linux: "85b3a22e712fe27ff693a518900c43d5278b3f306b6be5fc1a47a7748b2aba8f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "85b3a22e712fe27ff693a518900c43d5278b3f306b6be5fc1a47a7748b2aba8f" - end - - depends_on "bash" - depends_on "chafa" - depends_on "ffmpeg" - depends_on "fzf" - depends_on "jq" - depends_on "mpv" - depends_on "yt-dlp" - - def install - inreplace "ytsurf.sh", "#!/usr/bin/env bash", "#!#{Formula["bash"].opt_bin}/bash" - - libexec.install "ytsurf.sh" => "ytsurf" - - path = [ - Formula["chafa"].opt_bin, - Formula["ffmpeg"].opt_bin, - Formula["fzf"].opt_bin, - Formula["jq"].opt_bin, - Formula["mpv"].opt_bin, - Formula["yt-dlp"].opt_bin, - "${PATH}", - ].join(":") - (bin/"ytsurf").write_env_script(libexec/"ytsurf", PATH: path) - end - - test do - require "open3" - - testbin = testpath/"test-bin" - testbin.mkpath - - (testbin/"nvim").write <<~SH - #!/bin/sh - printf '%s\n' "$1" > "#{testpath}/editor-path" - test -f "$1" - SH - chmod 0755, testbin/"nvim" - - env = { - "HOME" => testpath.to_s, - "PATH" => "#{testbin}:#{ENV.fetch("PATH")}", - "XDG_CACHE_HOME" => (testpath/"cache").to_s, - "XDG_CONFIG_HOME" => (testpath/"config").to_s, - } - - version_output, status = Open3.capture2e(env, bin/"ytsurf", "--version") - assert_predicate status, :success? - assert_match version.to_s, version_output - - output, status = Open3.capture2e(env, bin/"ytsurf", "--edit") - assert_predicate status, :success? - assert_equal "", output - - config_file = testpath/"config/ytsurf/config" - assert_path_exists config_file - assert_equal config_file.to_s, (testpath/"editor-path").read.strip - end -end diff --git a/Formula/y/yuque-dl.rb b/Formula/y/yuque-dl.rb new file mode 100644 index 0000000000..3c912584e5 --- /dev/null +++ b/Formula/y/yuque-dl.rb @@ -0,0 +1,28 @@ +class YuqueDl < Formula + desc "Knowledge base downloader for Yuque" + homepage "https://github.com/gxr404/yuque-dl" + url "https://registry.npmjs.org/yuque-dl/-/yuque-dl-1.0.81.tgz" + sha256 "41039640509fd213938a7c412fec8a43492d52d30bf3fbdcf5f34c905c7a5b8c" + license "ISC" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "932c8a8a2caeefd1d17c1e5d8de5ea0d45cfe751e9eaab404638290587c1d297" + sha256 cellar: :any, arm64_sonoma: "c5a6410bad99c006e824f55f5bf9e2bb23d3b99a4e3033730fff503cfc39c17d" + sha256 cellar: :any, ventura: "8ac160a30391d920758d82185923fb02c909d37c4cb80640dc7ba56e4dfe03fb" + sha256 cellar: :any_skip_relocation, x86_64_linux: "bd58e5805f410119743397b51f86db3c87d02e53c51e71fa7b7329338641cac4" + end + + depends_on "node" + + def install + system "npm", "install", *std_npm_args + bin.install_symlink libexec/"bin/yuque-dl" + end + + test do + assert_match version.to_s, shell_output("#{bin}/yuque-dl --version") + + assert_match "Please enter a valid URL", shell_output("#{bin}/yuque-dl test 2>&1", 1) + end +end diff --git a/Formula/z/go-zzz.rb b/Formula/z/go-zzz.rb index be93573016..7511eb9a69 100644 --- a/Formula/z/go-zzz.rb +++ b/Formula/z/go-zzz.rb @@ -2,18 +2,17 @@ class GoZzz < Formula desc "Hot compilation of Go programs, stress testing for Golang development" homepage "https://github.com/sohaha/zzz" - url "https://github.com/sohaha/zzz/archive/refs/tags/v1.0.51.tar.gz" - sha256 "445818091dcb6dfe10708d84c9ecfce5e113512368c3bce48b7bce06f55cb95b" + url "https://github.com/sohaha/zzz/archive/refs/tags/v1.0.47.tar.gz" + sha256 "bf3bed039b16ce06cf11d489652858b9cfb89d35447875ff4e21aa1fcebc1088" license "Apache-2.0" head "https://github.com/sohaha/zzz.git", branch: "master" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "0be4bd0850049f7d5607bb86bcf745a085e66431517c499e38bc937b6d4619bf" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "0be4bd0850049f7d5607bb86bcf745a085e66431517c499e38bc937b6d4619bf" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "0be4bd0850049f7d5607bb86bcf745a085e66431517c499e38bc937b6d4619bf" - sha256 cellar: :any_skip_relocation, arm64_linux: "a6e664449e90f507a8cb80a6b2571f99b394bcc148e896c55c72230e870b5c22" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4417f1e23c627959e07a1b5e817b5c8f99318afa0f4ad321f77fcc5c08705231" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "109281d26d65ec468a7cbf398da97ec6d7423e0fbcdea3be4dc1a37107f5cd1e" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "f713eeea9dd40ebcd8498f1767ba923a7936e32d1ff130011d684a103d8be829" + sha256 cellar: :any_skip_relocation, ventura: "c285eb8c6ed4b9db0c01f572b763f4e3446ddaa8360a9eacd21e44cc70202f10" + sha256 cellar: :any_skip_relocation, x86_64_linux: "d3dfaefbffbcedea2d48173c241d6b66acf92e6d0b144cf583b18566c9228f85" end depends_on "go" @@ -28,12 +27,12 @@ def install ] system "go", "build", *std_go_args(ldflags:, output: bin/"zzz") - generate_completions_from_executable(bin/"zzz", shell_parameter_format: :cobra) + generate_completions_from_executable(bin/"zzz", "completion") end test do assert_match version.to_s, shell_output("#{bin}/zzz --version") - assert_match "zzz more [flags]", shell_output("#{bin}/zzz more") + assert_match "Zzz one-click installation command", shell_output("#{bin}/zzz more") system "go", "mod", "init", "brewtest" diff --git a/Formula/z/zen-mcp-server.rb b/Formula/z/zen-mcp-server.rb new file mode 100644 index 0000000000..8b136e180d --- /dev/null +++ b/Formula/z/zen-mcp-server.rb @@ -0,0 +1,240 @@ +class ZenMcpServer < Formula + include Language::Python::Virtualenv + + desc "Many Workflows. One Context" + homepage "https://github.com/dagger/container-use" + url "https://github.com/BeehiveInnovations/zen-mcp-server/releases/download/v5.11.0/zen_mcp_server-5.11.0.tar.gz" + sha256 "f8aa2f5a9bc0fd935e98780d8c973df5572854f2994611bb2d9a602e049c560c" + license "Apache-2.0" + + bottle do + root_url "https://ghcr.io/v2/chenrui333/tap" + sha256 cellar: :any, arm64_sequoia: "7f341a8dcd12161a73c780f09a60793b1e9e6c3228cbf04a1e016461012d57ab" + sha256 cellar: :any, arm64_sonoma: "a88bce8f9992cccdb6badc135fa5c66e137e641d9a451b8462739d23ccabbf81" + sha256 cellar: :any, ventura: "1b77a82114490bf9efc16015d3c9847d537f3446baa46213b1705578acdf2074" + sha256 cellar: :any_skip_relocation, x86_64_linux: "a1c94ad067f07fb7b9e0c3aa6264d50aebc20125c21da8a82b417f9db3abaecb" + end + + depends_on "rust" => :build # for pydantic + depends_on "certifi" + depends_on "python@3.13" + + resource "annotated-types" do + url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + sha256 "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + end + + resource "anyio" do + url "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz" + sha256 "3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6" + end + + resource "attrs" do + url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" + end + + resource "cachetools" do + url "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz" + sha256 "1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4" + end + + resource "charset-normalizer" do + url "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" + sha256 "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14" + end + + resource "click" do + url "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + sha256 "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" + end + + resource "distro" do + url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" + sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" + end + + resource "google-auth" do + url "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz" + sha256 "500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77" + end + + resource "google-genai" do + url "https://files.pythonhosted.org/packages/03/ab/e6cdd8fa957c647ef00c4da7c59d0e734354bd49ed8d98c860732d8e1944/google_genai-1.32.0.tar.gz" + sha256 "349da3f5ff0e981066bd508585fcdd308d28fc4646f318c8f6d1aa6041f4c7e3" + end + + resource "h11" do + url "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" + sha256 "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" + end + + resource "httpcore" do + url "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" + sha256 "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" + end + + resource "httpx" do + url "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" + sha256 "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc" + end + + resource "httpx-sse" do + url "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz" + sha256 "8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e" + end + + resource "idna" do + url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" + end + + resource "jiter" do + url "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz" + sha256 "07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500" + end + + resource "jsonschema" do + url "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" + sha256 "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" + end + + resource "jsonschema-specifications" do + url "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz" + sha256 "630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" + end + + resource "mcp" do + url "https://files.pythonhosted.org/packages/66/3c/82c400c2d50afdac4fbefb5b4031fd327e2ad1f23ccef8eee13c5909aa48/mcp-1.13.1.tar.gz" + sha256 "165306a8fd7991dc80334edd2de07798175a56461043b7ae907b279794a834c5" + end + + resource "openai" do + url "https://files.pythonhosted.org/packages/07/55/da5598ed5c6bdd9939633854049cddc5cbac0da938dfcfcb3c6b119c16c0/openai-1.102.0.tar.gz" + sha256 "2e0153bcd64a6523071e90211cbfca1f2bbc5ceedd0993ba932a5869f93b7fc9" + end + + resource "pyasn1" do + url "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz" + sha256 "6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034" + end + + resource "pyasn1-modules" do + url "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz" + sha256 "677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6" + end + + resource "pydantic" do + url "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz" + sha256 "d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db" + end + + resource "pydantic-core" do + url "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + sha256 "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc" + end + + resource "pydantic-settings" do + url "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz" + sha256 "06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee" + end + + resource "python-dotenv" do + url "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz" + sha256 "a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab" + end + + resource "python-multipart" do + url "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz" + sha256 "8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13" + end + + resource "referencing" do + url "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + sha256 "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa" + end + + resource "requests" do + url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" + sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + end + + resource "rpds-py" do + url "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz" + sha256 "26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8" + end + + resource "rsa" do + url "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz" + sha256 "e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75" + end + + resource "sniffio" do + url "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" + sha256 "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" + end + + resource "sse-starlette" do + url "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz" + sha256 "ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a" + end + + resource "starlette" do + url "https://files.pythonhosted.org/packages/15/b9/cc3017f9a9c9b6e27c5106cc10cc7904653c3eec0729793aec10479dd669/starlette-0.47.3.tar.gz" + sha256 "6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9" + end + + resource "tenacity" do + url "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz" + sha256 "1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb" + end + + resource "tqdm" do + url "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" + sha256 "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2" + end + + resource "typing-extensions" do + url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" + end + + resource "typing-inspection" do + url "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz" + sha256 "6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + end + + resource "urllib3" do + url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" + end + + resource "uvicorn" do + url "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz" + sha256 "bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01" + end + + resource "websockets" do + url "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz" + sha256 "82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee" + end + + def install + virtualenv_install_with_resources + end + + test do + ENV["GEMINI_API_KEY"] = "test" + ENV["DISABLED_TOOLS"] = "analyze,refactor,testgen,secaudit,docgen,tracer" + ENV["DEFAULT_MODEL"] = "auto" + + json = <<~JSON + {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}} + {"jsonrpc":"2.0","method":"notifications/initialized","params":{}} + {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"cursor":null}} + JSON + + output = pipe_output("#{bin}/zen-mcp-server 2>&1", json, 0) + assert_match "Your question or idea for collaborative thinking. Provide detailed context", output + end +end diff --git a/Formula/z/zerobrew.rb b/Formula/z/zerobrew.rb deleted file mode 100644 index 14c8f95b10..0000000000 --- a/Formula/z/zerobrew.rb +++ /dev/null @@ -1,32 +0,0 @@ -class Zerobrew < Formula - desc "Drop-in, faster, experimental Homebrew alternative" - homepage "https://github.com/lucasgelfond/zerobrew" - url "https://github.com/lucasgelfond/zerobrew/archive/refs/tags/v0.2.1.tar.gz" - sha256 "cd91c6acb2d0b5dbffd9cb3e9b6512056bf6218a826bedaffd2dad3e2c9e9b31" - license any_of: ["Apache-2.0", "MIT"] - head "https://github.com/lucasgelfond/zerobrew.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "317518386303dd2bfaefa6bc2e65b15d86601f2be14423ab28009f42f4801292" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "df56614413a7a4a6debb7a7bb951742d5186110aa92e8fc84a5252becb4fdf86" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1529db0ee29edda2f2f4ebc13221ddd7c86b0a95d54bf5dff4f43afea6e98d4a" - sha256 cellar: :any_skip_relocation, arm64_linux: "140f95d85d343ab5a92ca2959d491715477b19fd6d452b2db3422bd1476c5414" - sha256 cellar: :any_skip_relocation, x86_64_linux: "938ebc9e4a3a58cd352c14b86eaabf7e10f4e43164a24e106c1acff7eed722c3" - end - - depends_on "rust" => :build - - def install - inreplace "zb_cli/Cargo.toml", /^version = ".*"$/, "version = \"#{version}\"" - system "cargo", "install", *std_cargo_args(path: "zb_cli") - end - - test do - assert_match version.to_s, shell_output("#{bin}/zb --version") - - output = shell_output("#{bin}/zb --root #{testpath}/root --prefix #{testpath}/prefix init 2>&1") - assert_match "Initialization complete!", output - assert_path_exists testpath/"prefix/Cellar" - end -end diff --git a/Formula/z/zig@0.11.rb b/Formula/z/zig@0.11.rb index c502ceca28..44ed6914c9 100644 --- a/Formula/z/zig@0.11.rb +++ b/Formula/z/zig@0.11.rb @@ -11,10 +11,10 @@ class ZigAT011 < Formula bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_sequoia: "97c2c5723cf40a1eb1fcae5e36a3dc9e94bd0f5d05c03053ea6b0ba0b111171f" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "07ca46c8d8859c107bd218eb384357f7a3dea754cd9d074ade3ec8b4c6b58e97" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e12f715a53605e92778344a7085f969092236f2e689c51e8affb52a7de056758" + sha256 cellar: :any, arm64_sequoia: "b10a8a3deadab825aefa41ab283f0d18a6146786047499899ad8a6282737934d" + sha256 cellar: :any, arm64_sonoma: "e7e298ca1e2b3ab1d2ec0345d39bcc4cbcaf6aac758b0c9cce0c1be51b9f4c0e" + sha256 cellar: :any, ventura: "3e413f57aadd777e7d85620d6ed8b19905bad7b0e59a39a755e10393a06eccdd" + sha256 cellar: :any_skip_relocation, x86_64_linux: "2f8cc9558cc39f3bef4476172245b5921d9fcb3c87f16f5f580ead41aa49e7db" end keg_only :versioned_formula @@ -26,12 +26,12 @@ class ZigAT011 < Formula depends_on "zstd" uses_from_macos "ncurses" + uses_from_macos "zlib" # `llvm` is not actually used, but we need it because `brew`'s compiler # selector does not currently support using Clang from a versioned LLVM. on_linux do depends_on "llvm" => :build - depends_on "zlib-ng-compat" end fails_with :gcc diff --git a/Formula/z/zigfetch.rb b/Formula/z/zigfetch.rb deleted file mode 100644 index fba8d7d847..0000000000 --- a/Formula/z/zigfetch.rb +++ /dev/null @@ -1,76 +0,0 @@ -class Zigfetch < Formula - desc "Minimal neofetch/fastfetch like system information tool" - homepage "https://github.com/utox39/zigfetch" - url "https://github.com/utox39/zigfetch/archive/refs/tags/v0.27.0.tar.gz" - sha256 "77b6df2cefc50c67290f6a5af139aedbe2fe82c966751e278a056f3ff70077c2" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 arm64_tahoe: "57e8679075bf5663a72b1a46c29a91f3b22cb407cb201a598719639f0768fb0a" - sha256 arm64_sequoia: "e3c4ad1022f3c0d16b12a6c9058418ea9cc866146d0917a8f76ac867621901b3" - sha256 arm64_sonoma: "cfe67c1104d2fae8c27fd5223868c1414d369a9cee97ebde15dbc1867464168b" - sha256 cellar: :any_skip_relocation, arm64_linux: "0f1ceb6dc2c771b46befc3a3a4b76eac6f58d2763ae5d344d3f2844f209656f7" - sha256 cellar: :any_skip_relocation, x86_64_linux: "e57c021c9b747e09e373f1a844c9c9a169dda5be562e9d432422dda85afd36bd" - end - - depends_on "pkgconf" => :build - depends_on "zig" => :build - - on_linux do - depends_on "pciutils" # provides libpci.so and pci/pci.h - end - - def install - # Fix illegal instruction errors when using bottles on older CPUs. - # https://github.com/Homebrew/homebrew-core/issues/92282 - cpu = case ENV.effective_arch - when :arm_vortex_tempest then "apple_m1" # See `zig targets`. - when :armv8 then "xgene1" # Closest to `-march=armv8-a` - else ENV.effective_arch - end - - args = [] - args << "-Dcpu=#{cpu}" if build.bottle? - - zig = "zig" - system zig, "build", *args, *std_zig_args(release_mode: :fast) - end - - test do - with_env( - "LANG" => "C.UTF-8", - "SHELL" => "/bin/bash", - "TERM_PROGRAM" => "Homebrew", - "USER" => "brewtest", - ) do - if OS.mac? - output = shell_output("#{bin}/zigfetch 2>&1 || true") - assert_match(/brewtest|error: (EnvironmentVariableMissing|NotAppleARMIODevice)/, output) - else - output = shell_output(bin/"zigfetch") - assert_match "brewtest", output - assert_match "Shell:\e[0m bash", output - assert_match "Terminal:\e[0m Homebrew", output - end - end - - # rchen@rchen - # ----------- - # OS: macOS 15.7 - # Kernel: Darwin 24.6.0 - # Uptime: 27 days, 0 hours, 41 minutes - # Packages: brew: 334 brew-cask: 26 - # Shell: fish, version 4.1.2 - # Cpu: Apple M4 Pro (12) @ 4.51 GHz - # Gpu: Apple M4 Pro (16) @ 1.58 GHz - # Ram: 40.69 / 48.00 GiB (84%) - # Swap: 8.97 / 10.00 GiB (89%) - # Disk (/): 393.29 / 494.38 GB (79%) - # Local IP (en0): 10.0.0.153 - # Local IP (utun0): 172.16.0.2 - # WM: Rectangle - # Terminal: iTerm.app - # Locale: en_US.UTF-8 - end -end diff --git a/Formula/z/ziglint.rb b/Formula/z/ziglint.rb index 368c51cdf2..369f449781 100644 --- a/Formula/z/ziglint.rb +++ b/Formula/z/ziglint.rb @@ -1,19 +1,19 @@ class Ziglint < Formula desc "Linter for the Zig programming language" homepage "https://github.com/DonIsaac/zlint" - url "https://github.com/DonIsaac/zlint/archive/refs/tags/v0.8.1.tar.gz" - sha256 "bfa35fa2acc227e7a94f8b4602bfc83c5aab39d638fdfe56261c92259d5bd35b" + url "https://github.com/DonIsaac/zlint/archive/refs/tags/v0.7.9.tar.gz" + sha256 "be81fd5d9dd7cafc65c1214946c05b629d1ceb3ada31add96bfd260efea2e2fc" license "MIT" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "1940ed346d26b211bb5d3e927c1e862da31e054aa0625dbe3c8f18ecfa0bff45" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "78c85a9cb36bbf2d70bce098754e5976e1eb946fd4397529bcea3e31f4936b63" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1eb85da2671c61122c11a0cf81e4215d98011370f63733b83ae91455ec363d3e" - sha256 cellar: :any_skip_relocation, x86_64_linux: "985eebd8e10ec5535c472ed1b756ac76916e5ce569974d48bbed1c0f94988bb6" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "8c0f0daf829500e77bdd0fbdf579604718d62544dd522fcf69ed6b34e5024ad3" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "9b744fddfd02a08ef56b91364aaa90e1b0a8fbce4e1c495a4646aadc4dde32dd" + sha256 cellar: :any_skip_relocation, ventura: "978154c406b726907a54dc42b39658a338f2fd433fe27f199f363ab8446700de" + sha256 cellar: :any_skip_relocation, x86_64_linux: "584fa198e53e522d959424fe692c72e840dade68bad0de0716ba7cbd2d1b7979" end - depends_on "zig@0.15" => :build + depends_on "zig" => :build def install # Fix illegal instruction errors when using bottles on older CPUs. @@ -23,12 +23,14 @@ def install else Hardware.oldest_cpu end - args = ["-Dversion=#{version}"] + args = %W[ + --prefix #{prefix} + -Doptimize=ReleaseFast + -Dversion=#{version} + ] args << "-Dcpu=#{cpu}" if build.bottle? - - zig = Formula["zig@0.15"].opt_bin/"zig" - system zig, "build", *args, *std_zig_args(release_mode: :fast) + system "zig", "build", *args end test do diff --git a/Formula/z/zigscient.rb b/Formula/z/zigscient.rb index d088918db6..ec5e6a02e0 100644 --- a/Formula/z/zigscient.rb +++ b/Formula/z/zigscient.rb @@ -1,16 +1,16 @@ class Zigscient < Formula desc "Zig Language Server" homepage "https://github.com/llogick/zigscient" - url "https://github.com/llogick/zigscient/archive/refs/tags/0.16.1.tar.gz" - sha256 "e6f85df3869f8c00bb76ad84232f6186ad3ea456ff2e1b6b85adac851a2f84f9" + url "https://github.com/llogick/zigscient/archive/refs/tags/0.14.1.tar.gz" + sha256 "58d2256c934543d08b5254bf054ad2c540b2295c6b076ae1c7a4dcea6ebcedf5" license "ISC" bottle do root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "e66e4efcd7eae5ab3dbcd7f7f867aa24211654e4fc482855a13e0cf0d909b01d" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "1575e6c252d4fc087ee94bf432362d8598163ab9492fdd48412e548e6caee7c9" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "35da05741180ea7b06c2f8f0993d685c0efb420367bb151da4cdf389c78a0fb4" - sha256 cellar: :any_skip_relocation, x86_64_linux: "11436a64693466dfd27564d3f92c8761fc18d1703e3b476ef620e770c11c4217" + sha256 cellar: :any_skip_relocation, arm64_sequoia: "ccb030bae951bdfc010c187fdd6a962229cf1b7cd7d9f354f5f3c917fa8db47f" + sha256 cellar: :any_skip_relocation, arm64_sonoma: "3e01cd59adf44eb50767a86afefb91ef7e6d91dff100c39235207c842094b5c1" + sha256 cellar: :any_skip_relocation, ventura: "25f181cc4aa0dc4518deca96a369cf85c055310b919ff3cf6436153d3d40c133" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9fef0474aee30c32cb4dc3a77a7e882d9c7e49792b76580a0154e5e62abc46a8" end depends_on "zig" => :build @@ -23,17 +23,19 @@ def install else Hardware.oldest_cpu end - args = [] - args << "-Dcpu=#{cpu}" if build.bottle? + args = %W[ + --prefix #{prefix} + -Doptimize=ReleaseSafe + ] - zig = "zig" - system zig, "build", *args, *std_zig_args(release_mode: :safe) + args << "-Dcpu=#{cpu}" if build.bottle? + system "zig", "build", *args end test do assert_match version.to_s, shell_output("#{bin}/zigscient --version") - output = shell_output("#{bin}/zigscient env") - assert_match "\"config_file\":", output + output = shell_output("#{bin}/zigscient --show-config-path 2>&1") + assert_match "path to the local configuration folder will be printed instead", output end end diff --git a/Formula/z/zmate.rb b/Formula/z/zmate.rb deleted file mode 100644 index 642bdbe9e2..0000000000 --- a/Formula/z/zmate.rb +++ /dev/null @@ -1,36 +0,0 @@ -class Zmate < Formula - desc "Instant terminal sharing; using Zellij" - homepage "https://github.com/ziinaio/zmate" - url "https://github.com/ziinaio/zmate/archive/refs/tags/v0.3.1.tar.gz" - sha256 "bc125bc31fd1550a10b5d62c57a083a0f3fe7d6bc7c21975bf268bfe65a338c2" - license "MIT" - head "https://github.com/ziinaio/zmate.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "60ab2d3ba264b8de3abe00e7a746c22f7df0665b6311875c8d64a179deff5e6b" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "60ab2d3ba264b8de3abe00e7a746c22f7df0665b6311875c8d64a179deff5e6b" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "60ab2d3ba264b8de3abe00e7a746c22f7df0665b6311875c8d64a179deff5e6b" - sha256 cellar: :any_skip_relocation, arm64_linux: "6e785393b4db980c52ccaf231119e49e65e6548e2c13453d63d69ac82ef75dd2" - sha256 cellar: :any_skip_relocation, x86_64_linux: "8343429ea575feed0dc35e06f583cc1b909f6a23bd05c5ba937df9ce284f9bc4" - end - - depends_on "go" => :build - depends_on "zellij" - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - port = free_port - - output_log = testpath/"output.log" - pid = spawn bin/"zmate", "-l", "127.0.0.0:#{port}", [:out, :err] => output_log.to_s - sleep 2 - assert_match "Skipping remote port-forwarding (local-only mode)", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end -end diff --git a/Formula/z/zombie.rb b/Formula/z/zombie.rb deleted file mode 100644 index af4f92456f..0000000000 --- a/Formula/z/zombie.rb +++ /dev/null @@ -1,53 +0,0 @@ -class Zombie < Formula - desc "Terminal-based process manager with topology and controls" - homepage "https://github.com/NVSRahul/zombie" - url "https://github.com/NVSRahul/zombie/archive/refs/tags/v1.0.0.tar.gz" - sha256 "09c01801393358ae2991e42a33a60070fea02c4745ee4554dbdc34fad6deeebf" - license "MIT" - head "https://github.com/NVSRahul/zombie.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_tahoe: "06cb6a9f1f433133df492c899930df0512944c1136a2f0347006d9c7801334c7" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "512c4d0f1f00996ae60a7baa90854d251a018cce8b712e837b19753c38eaa47e" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "5811a17703eb315d3dbf2ed3c9903148f30ae566b739db23aad78922bb376af6" - sha256 cellar: :any_skip_relocation, arm64_linux: "bb09a0ad698afb5c7e7a7f352e90a1970ca6059a193433b0778fc2fa7b4f3914" - sha256 cellar: :any_skip_relocation, x86_64_linux: "6cbd4ac9ed28b74d1b45f24116d79d2a8755b9c2c2bd2c7a126dc660bec045b5" - end - - depends_on "rust" => :build - - def install - system "cargo", "install", *std_cargo_args - end - - test do - history_path = if OS.mac? - testpath/"Library/Application Support/com.zombie.cli/history.json" - else - testpath/".local/share/cli/history.json" - end - - pid = fork do - $stdout.reopen(File::NULL) - $stderr.reopen(File::NULL) - exec bin/"zombie" - end - - 20.times do - break if history_path.exist? - - sleep 0.2 - end - - begin - Process.kill("TERM", pid) - rescue Errno::ESRCH - nil - end - Process.wait(pid) - - assert_path_exists history_path - end -end diff --git a/Formula/z/zookeeper.rb b/Formula/z/zookeeper.rb deleted file mode 100644 index 61b94aa684..0000000000 --- a/Formula/z/zookeeper.rb +++ /dev/null @@ -1,88 +0,0 @@ -class Zookeeper < Formula - desc "Centralized server for distributed coordination of services" - homepage "https://zookeeper.apache.org/" - url "https://www.apache.org/dyn/closer.lua?path=zookeeper/zookeeper-3.9.4/apache-zookeeper-3.9.4.tar.gz" - mirror "https://archive.apache.org/dist/zookeeper/zookeeper-3.9.4/apache-zookeeper-3.9.4.tar.gz" - sha256 "b84d0847d5b56c984fe3e50fdd28702340e66db5fd00701fa553d9899b09cabe" - license "Apache-2.0" - head "https://gitbox.apache.org/repos/asf/zookeeper.git", branch: "master" - - livecheck do - skip "forked formula" - end - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any, arm64_tahoe: "173366ab79f914770d14a495862721f8007dc71e427c30eb68ee0d6530f5bb33" - sha256 cellar: :any, arm64_sequoia: "bdafea7eb078c656d860bad0b469ad1232dbca1e54dbd41f1acc51a564f35d74" - sha256 cellar: :any, arm64_sonoma: "89f3689c7d314926c258d1d7426941230237d8ad628d8ad6b924c6b521c840d2" - sha256 cellar: :any_skip_relocation, arm64_linux: "774aec777c67e2126b9605a7e6abbb4c9d5205724ae929dec72f523cf261e55c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "1527d2b4753a7f7a5b71c15aceef15c5a39f5704a2dc7bc6cc409f8ee61bc9fc" - end - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "cppunit" => :build - depends_on "libtool" => :build - depends_on "maven" => :build - depends_on "pkgconf" => :build - - depends_on "openjdk@21" - depends_on "openssl@3" - - def default_zk_env - <<~EOS - [ -z "$ZOOCFGDIR" ] && export ZOOCFGDIR="#{pkgetc}" - EOS - end - - def install - system "mvn", "install", "-Pfull-build", "-DskipTests" - - system "tar", "-xf", "zookeeper-assembly/target/apache-zookeeper-#{version}-bin.tar.gz" - binpfx = "apache-zookeeper-#{version}-bin" - libexec.install binpfx+"/bin", binpfx+"/lib", "zookeeper-contrib" - rm(Dir["build-bin/bin/*.cmd"]) - - system "tar", "-xf", "zookeeper-assembly/target/apache-zookeeper-#{version}-lib.tar.gz" - libpfx = "apache-zookeeper-#{version}-lib" - include.install Dir[libpfx+"/usr/include/*"] - lib.install Dir[libpfx+"/usr/lib/*"] - - (var/"log/zookeeper").mkpath - (var/"run/zookeeper/data").mkpath - - Pathname.glob("#{libexec}/bin/*.sh") do |path| - next if path == libexec/"bin/zkEnv.sh" - - script_name = path.basename - bin_name = path.basename ".sh" - (bin+bin_name).write <<~EOS - #!/bin/bash - export JAVA_HOME="${JAVA_HOME:-#{Formula["openjdk@21"].opt_prefix}}" - . "#{pkgetc}/defaults" - exec "#{libexec}/bin/#{script_name}" "$@" - EOS - end - - (buildpath/"defaults").write(default_zk_env) - cp "conf/logback.xml", "logback.xml" - cp "conf/zoo_sample.cfg", "conf/zoo.cfg" - inreplace "conf/zoo.cfg", - /^dataDir=.*/, "dataDir=#{var}/run/zookeeper/data" - pkgetc.install "conf/zoo.cfg", "defaults", "logback.xml" - (pkgshare/"examples").install "conf/logback.xml", "conf/zoo_sample.cfg" - end - - service do - run [opt_bin/"zkServer", "start-foreground"] - environment_variables SERVER_JVMFLAGS: "-Dapple.awt.UIElement=true" - keep_alive successful_exit: false - working_dir var - end - - test do - output = shell_output("#{bin}/zkServer -h 2>&1") - assert_match "Using config: #{pkgetc}/zoo.cfg", output - end -end diff --git a/Formula/z/zsh-vi-man.rb b/Formula/z/zsh-vi-man.rb deleted file mode 100644 index 6c6cf83510..0000000000 --- a/Formula/z/zsh-vi-man.rb +++ /dev/null @@ -1,59 +0,0 @@ -class ZshViMan < Formula - desc "Smart man page lookup plugin for Zsh vi and emacs modes" - homepage "https://github.com/TunaCuma/zsh-vi-man" - url "https://github.com/TunaCuma/zsh-vi-man/archive/refs/tags/v0.1.0.tar.gz" - sha256 "6c81911514e3df20e889aad7490b1b464bcd188f9a8be3ac4ca6ca0f980b336b" - license "MIT" - head "https://github.com/TunaCuma/zsh-vi-man.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "04a3696e9d35853a9dbfb5f5bd8823eb9e8525a66044aa56c22311de91e86755" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "04a3696e9d35853a9dbfb5f5bd8823eb9e8525a66044aa56c22311de91e86755" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "04a3696e9d35853a9dbfb5f5bd8823eb9e8525a66044aa56c22311de91e86755" - sha256 cellar: :any_skip_relocation, sequoia: "04a3696e9d35853a9dbfb5f5bd8823eb9e8525a66044aa56c22311de91e86755" - sha256 cellar: :any_skip_relocation, arm64_linux: "79cdaeafd91b0221355ba10b14878da7552fa6c723de7e1940bf124233dbda41" - sha256 cellar: :any_skip_relocation, x86_64_linux: "79cdaeafd91b0221355ba10b14878da7552fa6c723de7e1940bf124233dbda41" - end - - def install - pkgshare.install "zsh-vi-man.plugin.zsh", "zsh-vi-man.zsh", "lib" - - (bin/"zsh-vi-man-install").write <<~BASH - #!#{which("bash")} - set -euo pipefail - - plugin_name="zsh-vi-man" - plugin_target_dir="${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/$plugin_name" - - mkdir -p "$plugin_target_dir" - cp "#{opt_pkgshare}/zsh-vi-man.plugin.zsh" "$plugin_target_dir/$plugin_name.plugin.zsh" - cp "#{opt_pkgshare}/zsh-vi-man.zsh" "$plugin_target_dir/zsh-vi-man.zsh" - cp -R "#{opt_pkgshare}/lib" "$plugin_target_dir/lib" - echo "Plugin installed to $plugin_target_dir" - BASH - end - - def caveats - <<~EOS - Install into Oh My Zsh with: - zsh-vi-man-install - - Then add `zsh-vi-man` to your plugins list in ~/.zshrc. - - For manual sourcing, use: - source #{opt_pkgshare}/zsh-vi-man.plugin.zsh - EOS - end - - test do - zsh_custom = testpath/"custom" - output = shell_output("ZSH_CUSTOM=#{zsh_custom} #{bin}/zsh-vi-man-install") - - plugin_dir = zsh_custom/"plugins/zsh-vi-man" - assert_match "Plugin installed", output - assert_path_exists plugin_dir/"zsh-vi-man.plugin.zsh" - assert_path_exists plugin_dir/"zsh-vi-man.zsh" - assert_path_exists plugin_dir/"lib/parser.zsh" - end -end diff --git a/Formula/z/zuse.rb b/Formula/z/zuse.rb deleted file mode 100644 index 69ef3b8676..0000000000 --- a/Formula/z/zuse.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Zuse < Formula - desc "Sleek, minimal IRC client for your terminal" - homepage "https://github.com/babycommando/zuse" - url "https://github.com/babycommando/zuse/archive/refs/tags/v1.0.tar.gz" - sha256 "6ae04f645216981462f913049db1916d2b7761bf14e5c5259fc77d42582ddbda" - license "Apache-2.0" - head "https://github.com/babycommando/zuse.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/chenrui333/tap" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "6a8db3d30cc0e9c91b26d0a1a36dab2fc803313554f8ed57d7df4cd789749fac" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "6a8db3d30cc0e9c91b26d0a1a36dab2fc803313554f8ed57d7df4cd789749fac" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "6a8db3d30cc0e9c91b26d0a1a36dab2fc803313554f8ed57d7df4cd789749fac" - sha256 cellar: :any_skip_relocation, arm64_linux: "0c028af4eaf7d23798b7e33cfa4739010d0c423de6d5e22de6b7175d51a083dc" - sha256 cellar: :any_skip_relocation, x86_64_linux: "4f0c3659e74adbc747a2e0a814d62bb12f36c16b2a0b22699fc6810cb377093f" - end - - depends_on "go" => :build - - def install - system "go", "build", *std_go_args(ldflags: "-s -w") - end - - test do - # Fails in Linux CI with `/dev/tty: no such device or address` - return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"] - - begin - output_log = testpath/"output.log" - pid = spawn bin/"zuse", [:out, :err] => output_log.to_s - sleep 1 - assert_match "loading…", output_log.read - ensure - Process.kill("TERM", pid) - Process.wait(pid) - end - end -end diff --git a/README.md b/README.md index 6f4b7deaab..454bddabf6 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,5 @@ # homebrew-tap -[![Hypercommit](https://img.shields.io/badge/Hypercommit-DB2475)](https://hypercommit.com/homebrew-tap) -[![link-checker](https://github.com/chenrui333/homebrew-tap/actions/workflows/link-checker.yml/badge.svg)](https://github.com/chenrui333/homebrew-tap/actions/workflows/link-checker.yml) - This tap is setup for several reasons: - Formulae cannot be included into core for license (`BSL` for example), notability or stable release reasons @@ -35,62 +32,38 @@ brew install --cask Formula List - `abc` -- `act3` -- `actionbook` - `adbtuifm` +- `addlicense` - `agl` - `ai-context` -- `aic` -- `aim` -- `aks-mcp` - `alacritty` -- `allinssl` -- `am-i-vibing` - `amoco` -- `amp-cli` -- `amux` -- `anvil` - `aoc-cli` - `apify-actors-mcp-server` -- `apisnip` -- `apm-cli` -- `apple-health-mcp` -- `aptui` -- `apw` +- `apkeep` +- `apple-health-mcp-server` +- `archgw` - `arduino-language-server` +- `arp-scan-rs` - `arxiv-mcp-server` -- `ash-ai` +- `asciinema` +- `asm-lsp` +- `asmfmt` - `astro-language-server` -- `auggie` -- `auox` -- `austin-tui` - `auto-favicon-mcp-server` - `autoflake` - `autotag` - `autotools-language-server` -- `av` - `await` - `awk-language-server` - `awless` -- `aws-doctor` -- `awsesh` -- `awsui` - `axiom-mcp-server` - `az-tui` - `azure-pipelines-language-server` -- `b4n` - `backport` - `balcony` - `base-mcp-server` -- `bash-script-tools` -- `batctl` -- `bbrew` - `bearer` -- `beelzebub` -- `better-env` -- `bibiman` -- `bin-fq` -- `bitchat-tui` - `blade-formatter` - `blindfold` - `blue` @@ -104,591 +77,304 @@ brew install --cask - `brotab` - `browserbase-mcp-server` - `brunette` -- `bsky-cli` - `btczee` -- `bun` - `bytebox` - `c4go` +- `cai` - `captan` - `carbon-now-cli` - `cargo-aoc` - `cargo-benchcmp` - `cargo-deadlinks` - `cargo-dephell` +- `cargo-geiger` - `cargo-readme` - `carton` -- `cashd` - `castor` -- `catree` - `cc-enhanced` -- `cc-filter` -- `ccapi` -- `ccboard` -- `cccc` - `ccexp` - `cchistory` - `cclogviewer` -- `ccql` -- `cdx` - `cello` -- `cerbos` - `certok` - `cf-vault` - `cf2pulumi` -- `cgpu` -- `chalet` +- `changelogen` - `chatlog` -- `chatuino` -- `checksec` -- `chess-tui` -- `chproxy` +- `checkpwn` - `clai` - `claude-code-generic-hooks` -- `claudio` -- `clawbands` -- `clawea` -- `clawhub` -- `clawra` -- `claws` +- `claude-hooks` - `cli-mcp-server` -- `cliamp` -- `clickhousectl` -- `clickup-mcp` -- `climp` -- `clipse` -- `cloctui` -- `clog-cli` - `cloud-run-mcp` - `cloudflare-ddns` - `cloudlens` -- `clox` -- `cmdperf` - `cmdx` -- `cnspec` -- `cobib` - `cocainate` -- `code-index-mcp` +- `code-index-mcp-server` - `code-pushup` -- `codebuff` - `codefmt` -- `codemachine` -- `codemap` - `codespelunker` -- `codex-viz` - `codstts` - `cohctl` -- `comchan` +- `config-file-validator` - `container-use` - `container2wasm` - `context-file-manager` -- `context42` -- `copilot-cli` -- `countryfetch` - `cozypkg` -- `cpx` -- `cpx11` -- `crates-lsp` -- `creanote` -- `create-mcp-use-app` - `critcmp` - `crlfmt` -- `cross-seed` - `crush` -- `csvi` -- `ctxhist` -- `ctxmv` - `cueimports` -- `cueitup` -- `cull` - `curlconverter` -- `dakora` -- `dart-sass` -- `darya` - `datacmd` - `datadog-mcp-server` -- `datui` -- `dawn` -- `daylight` - `dbee` - `dbin` -- `dcv` - `ddev` -- `deadbranch` -- `dealve-tui` -- `debugg-ai-mcp` +- `debugg-ai-mcp` - `decktape` - `deepteam` -- `deface` -- `defaults-rs` - `dela` -- `deletor` - `dg` -- `dgop` -- `dhv` - `di-tui` -- `discordo` -- `distill` - `dnsforwarder` +- `docmd` - `doit` -- `dominds` - `dory-cli` -- `dotbins` -- `dotr` -- `dotstate` - `dqy` -- `drft` -- `dtop` -- `dumper` +- `dstp` - `duster` -- `dustoff` - `dvm` - `dxt` -- `e2c` - `eas-cli` -- `easy-llm-cli` -- `ec` -- `ecscope` -- `eilmeldung` - `elastop` - `emoj` - `emplace` - `enola` - `enry` -- `envdiff` -- `envfetch` - `envie` -- `envlens` - `envtpl` -- `envtrace` -- `envx` -- `envy` -- `ereandel` -- `ergo` -- `fairyglade-ly` +- `go-envsubst` +- `bin-jq` - `faq` - `fast-cli` - `fast-xml-parser` -- `fat` -- `fdir` - `ferret` - `fex` -- `filessh` - `firectl` -- `firm` -- `fission-cli` - `fixjson` +- `fjira` - `fkill-cli` - `fli` -- `flint-cli` -- `flipt` -- `floci` - `flow-editor` - `flowgger` -- `fnug` - `fortran-linter` - `foy` - `frep` -- `fresh` -- `froggit` - `fsociety` -- `ftdv` -- `fuck-u-code` -- `g1c` - `gemini-cli` -- `get-port-cli` -- `get-shit-done-cc` -- `gh-dash` -- `gh-repo-man` -- `gh-unpushed` - `ghfetch` -- `ghgrab` - `gignr` - `giq` - `git-chglog` - `git-vain` - `git-x` -- `gita` -- `gitact` -- `gitcredits` -- `gitid` - `gitlabform` - `gitman` -- `gitsnip` -- `gittop` -- `gitv` -- `gix` +- `glom` - `glsl-analyzer` -- `gnhf` -- `go-eagle` -- `go-envsubst` -- `go-getter` +- `gmap` - `go-junit-report` - `gobgp` - `goboscript` - `gofakeit` - `goimports-reviser` -- `gokin` -- `golazo` - `gommit` -- `gorae` - `gowebly` -- `gpk` -- `gptop` -- `graphjin` +- `grafana-mcp-server` - `graphlit-mcp-server` - `graphtage` - `grcov` - `gritql` - `grmon` -- `gsh` - `gtts` -- `hackernews-tui` -- `haloy` -- `hapi` -- `happy` -- `hardcover-tui` - `hasha-cli` - `hauler` -- `hazelnut` - `hcldump` - `hclgrep` - `hclq` -- `hcom` - `headscale` -- `helius-personal-finance-tracker` - `hello` +- `hellwal` - `hexora` -- `hexowl` -- `heyagent` - `hf` - `holo-cli` - `horusec` - `hostctl` - `howto` - `ht-mcp` -- `httpreplay` - `httptap` - `htvend` - `huber` -- `humanlayer` - `humioctl` - `hygg` - `hyperbolic` -- `hyprmoncfg` -- `iam-collect` -- `iam-convert` -- `iam-expand` -- `iam-lens` -- `iam-shrink` -- `ibtop` -- `iflow-cli` -- `ifstate` - `iftree` +- `illa` - `imgcat` -- `inbucket` - `incus-compose` - `infraspec` -- `inspect-cert-chain` -- `instagram-cli` -- `intentrace` - `ip2d` - `ips` - `jaggr` -- `jarl` -- `jelly` - `jetzig` - `jiggy` -- `jikkou` -- `jiq` -- `jjj` - `jl` -- `jocalsend` -- `jolt` -- `jonquil` -- `jotbird` -- `journalot` - `jplot` - `jsonl-graph` - `jsrpc` -- `judo` -- `jules` - `junit2html` -- `jwt-ui` -- `kafka` - `kaluma-cli` - `kandc` -- `kanha` - `karmor` -- `kat` -- `kaydet` - `kbst` -- `kcl-kafka` - `kcl` -- `kdash` - `keyhunter` -- `khaos-cli` -- `klein` - `klepto` - `knip` -- `konfigo` - `kpt` - `krs` - `kt` - `kube-role-gen` - `kube2pulumi` -- `kubedog` - `kubeseal-convert` -- `kumo` -- `kure` - `kwt` -- `kyanos` -- `kyma` -- `labcoat` - `lacquer` -- `lazycelery` -- `lazycli` -- `lazyjira` -- `lazykiq` -- `lazymake` -- `lazynpm` -- `lazytail` -- `lazyworktree` +- `lazycontainer` +- `leetgo` - `lemonade` - `leveldb-cli` -- `lightpanda-v8` -- `lightpanda` - `lin` - `lintnet` - `lix` - `llmdog` - `llmpeg` - `llmswap` -- `llxprt-code` -- `lnko` -- `lobtui` - `localports` -- `locport` - `logfire-mcp` - `lola` -- `lstags` -- `lsv` - `luaformatter` - `lib-x` -- `macime` +- `libdivide` - `magic-mcp-server` +- `mail-deduplicate` - `mamediff` -- `marchat` -- `markdownify` - `markpdf` - `matcha` -- `mcdu` - `mcman` - `mcp-alchemy` -- `mcp-gsuite` -- `mcp-manager` - `mcp-obsidian` -- `mcp-remote` -- `mcp-server-airbnb` +- `mcp-server-chart` - `mcp-server-cloudflare` - `mcp-server-tester` -- `mcp-use` -- `mcpc` - `mcpd` - `mdbook-linkcheck` -- `mdns-scanner` - `mdsf` - `mdslw` -- `memora` +- `mermaid-cli` - `meteor` - `mfa` -- `ministack` +- `minisign` - `mitex` -- `mlbt` - `mln` -- `mlx-audio` -- `mlx-tune` -- `mlx-vlm` - `mmemoji` - `mnamer` -- `models` - `molotov` -- `moltbook-tui` -- `moltis` - `mongodb-mcp-server` -- `monitui` -- `motus` - `mpfshell` - `mqtt-cli` -- `msgvault` -- `mtef` -- `mult` -- `mush` -- `mynav` - `oceanbase-mcp-server` -- `namespace-cli` -- `nanoclaw` - `nanodbc` - `narr` -- `nbcat` -- `needle` -- `needs` - `nest-cli` +- `netscanner` - `newsnow-mcp-server` -- `nexus` - `ngtop` - `nhost` -- `nibble` -- `night-watch-cli` -- `ninjabot` -- `nino` -- `nkv` +- `ni` - `nocc` -- `nosy` - `npkill` - `npm-np` - `nvrs` -- `oatmeal` - `octelium` -- `octotype` -- `oeis-tui` -- `offpunk` -- `oh-my-claude` -- `oh-my-codex` - `ohy` -- `olla` -- `omni-cache` +- `omekasy` - `omnictl` -- `omp-manager` -- `opamui` -- `openharness` -- `opensnitch-tui` -- `openspec` -- `optimizt` - `optivorbis` -- `oracle` -- `orla` -- `osintui` - `osmar` -- `otel-tui` - `otelgen` - `otto` - `oui` -- `outside` -- `owlex` - `oxbuild` -- `oxicord` - `oxylabs-mcp` -- `oyo` -- `plutov-oq` -- `packemon` -- `pal-mcp-server` -- `pam` +- `papis` - `paq` -- `parm` -- `parqv` -- `pass-cli` -- `passepartui` - `pdfsyntax` - `pencode` -- `perch` - `percollate` - `perfops` - `pgdog` -- `pgterm` - `phpinsights` - `pike` -- `pikpaktui` - `pingu` -- `pinme` - `pipeform` - `pitaya` -- `pixeli` -- `pixelle` -- `pj` - `plandex` -- `play` - `playerctl` +- `playwright-mcp` - `pls` -- `pluqqy` - `pluralith` - `pmx` -- `podcli` -- `polymaster` - `pom` -- `pomo` -- `pomossh` - `poop` - `pphack` -- `pproftui` -- `pr-desc-cli` - `precompress` -- `process-compose` -- `procmux` -- `projscan` +- `projectable` - `proto2yaml` - `protoc-gen-lint` - `protodep` - `protodot` - `protolock` -- `prpm` -- `psq` - `public-ollama-finder` - `pubmed-mcp-server` -- `pwdsafety` -- `pygitzen` - `pyink` - `pyment` -- `pysentation` -- `qmassa` -- `que` +- `pyp` - `quicssh-rs` -- `qwe` - `r2md` - `rabbitmq-message-ops` - `rails-new` - `railway-mcp-server` - `raiz` - `rallies-cli` -- `ralph-tui` - `ramda-cli` - `rang` -- `rawhide` -- `rbac-lookup` - `readmeai` -- `recall` - `reformat-gherkin` - `refurb` -- `relay` - `remark-cli` -- `rendy` -- `renux` -- `repeater` -- `repology` -- `repos` - `resinator` -- `resto` - `revanced-cli` -- `rfc_reader` -- `rgx` -- `rip` - `rkik` -- `rovr` - `rshell` - `rslocal` -- `rt` - `rtop` -- `rum` -- `run` - `rustfilt` -- `rusticon` -- `rustnet` -- `rustormy` +- `sarif-tools` - `sato` - `satty` -- `satview` - `saw` -- `sbomlyze` -- `scanify` - `scholar` - `screenshotone-mcp-server` - `scrt` @@ -699,149 +385,69 @@ brew install --cask - `seamstress` - `seastar` - `secco` -- `sem-cli` -- `semaphore` - `sephera` - `sgpt` - `shadcn-ui-mcp-server` - `sheetui` +- `shimmy` - `shiroa` - `shopify-cli` -- `shuk` -- `sidecar` - `sig` -- `siggy` -- `silver-surfer` - `simdjzon` -- `sish` - `sloctl` - `sloop` -- `sls` -- `smassh` -- `snip` -- `snipt` - `solfmt` -- `sonar` -- `sot` - `soundscope` -- `sourcerer-mcp` -- `spacelift-intent` -- `specfact-cli` - `speedscope` - `speedtest` -- `spiffe-spike` -- `splitrail` - `spok` -- `spotiflac-cli` - `spotifydl` -- `sprofile` -- `sqd` -- `sqlit` -- `squads-cli` -- `squall` -- `sshmail` -- `ssl-checker` -- `ssm` -- `starcharts` -- `starlit` - `statoscope` -- `steamfetch` -- `strace-tui` -- `stree` - `strimzi-kafka-cli` - `stripe-mcp-server` -- `stylance-cli` -- `sudocode` - `summon` - `superclaude` -- `superstarryeyes-bit` -- `surge` - `surgeon` - `swagger-mcp-server` -- `swaptop` -- `systeroid` -- `tftargets` -- `tabminal` - `tantivy-cli` -- `taproom` -- `tars` -- `tascli` -- `taskbook` -- `taskdog` - `taskonaut` -- `tasktimer` - `tattoy` -- `tatuin` - `tavily-mcp` -- `taws` - `tclint` -- `tcpterm` -- `teldrive` -- `telert` - `tenderly` -- `tennis` -- `termdbms` -- `termide` -- `terminal-mcp` +- `termsvg` - `termtunnel` -- `terra-code-cli` - `terracove` -- `terradozer` - `terrafetch` - `terraform-diff` +- `terraform` - `terrap-cli` -- `terratags` -- `terrawiz` -- `testronaut` +- `terratag` - `tetrigo` -- `tfjournal` - `tfreveal` - `tftarget` - `tftree` -- `thanks-stars` -- `theattyr` -- `ticker` - `tickrs` -- `tiki` - `timetrace` -- `tinifier` - `tinybird-mcp-server` - `tlint` -- `tmmpr` -- `tofuref` -- `togo` - `togomak` - `token-cli` - `toml-f` - `tooka` - `toolctl` -- `tori` -- `tortuise` - `tparse` - `tpm` +- `tracetest` - `travelgrunt` -- `trdl` -- `tredis` -- `treekanga` -- `trex` - `trieve-cli` -- `tsuki` -- `tui-banner` - `tuono` -- `turm` -- `twig` +- `tweakcc` - `twiggy` - `twilio-mcp-server` -- `typeui-sh` -- `ugdb` -- `ugm` -- `unsloth` -- `untether` - `unused-deps` - `uplift` -- `urlhunter` - `urlsup` -- `user-scanner` - `usort` - `vapi-mcp-server` - `vectorize-mcp-server` @@ -849,59 +455,33 @@ brew install --cask - `vento` - `vercel-serve` - `vet-run` -- `vi-mongo` +- `vgo` - `vibekit` -- `vimalender` +- `videoalchemy` - `vitepress` -- `viwo` -- `vortix` - `vsg` -- `vulcain` -- `wakey` - `wallust` - `watchfiles` -- `weathr` - `wedl` - `weekly-git-summary` - `werk` -- `wiki-tui` -- `wild` -- `wiremix` -- `wisu` -- `wolfpack` -- `wut-cli` - `xcpkg` -- `xfr` - `xmlformatter` -- `xpdig` -- `xytz` - `yajsv` -- `yamcp` -- `yatto` - `yeetfile` - `yew-fmt` -- `ymp` - `yosay` -- `youtube-music-cli` -- `yr` -- `yt-x` -- `ytsurf` +- `yuque-dl` - `go-zzz` +- `zen-mcp-server` - `zero` -- `zerobrew` - `zig@0.11` - `zig@0.12` - `zig@0.13` -- `zigfetch` - `ziggy` - `ziglint` - `zigscient` -- `zmate` -- `zombie` -- `zookeeper` -- `zsh-vi-man` - `zu` -- `zuse` - `zware` diff --git a/audit_exceptions/signing_audit_skiplist.json b/audit_exceptions/signing_audit_skiplist.json deleted file mode 100644 index da80a9af68..0000000000 --- a/audit_exceptions/signing_audit_skiplist.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "proton-pass-cli": "all" -} diff --git a/claudedocs/formula-metadata-system.md b/claudedocs/formula-metadata-system.md deleted file mode 100644 index 243ad6a447..0000000000 --- a/claudedocs/formula-metadata-system.md +++ /dev/null @@ -1,331 +0,0 @@ -# Formula Metadata Crawler System - -## Overview - -The Formula Metadata Crawler is an automated system that extracts formula metadata and fetches git hosting statistics for all formulas in the homebrew-tap. It generates a comprehensive `formula-status.md` report sorted by popularity (stars). - -## Location - -All formula status related files are in the `formula-status/` directory: - -``` -formula-status/ -├── generate_formula_status.py # Main crawler script -└── README.md # Full documentation -``` - -## Purpose - -**Original Intent Evolution**: The system was initially conceived as a formula health checker with brew audit/style/readall validation. Through iterative refinement with the user, it was clarified that the actual goal was pure git hosting metadata crawling - no brew checks at all. - -**Final Purpose**: Extract formula metadata and fetch git hosting statistics to create a popularity-ranked table of all formulas in the tap. - -## Architecture - -### Core Components - -1. **FormulaCrawler Class**: Main orchestrator with parallel processing (20 workers default) -2. **GitStats Dataclass**: Holds git hosting statistics (stars, forks, commits, releases) -3. **FormulaInfo Dataclass**: Combines formula metadata with git stats -4. **Multi-Platform Support**: GitHub, GitLab, Codeberg, SourceHut - -### Data Flow - -``` -Formula .rb files - ↓ -Extract metadata (desc, homepage, url, license, bottle, livecheck) - ↓ -Infer git hosting platform from homepage/url - ↓ -Fetch stats via platform-specific method - ↓ -Cache results (.cache/formula_metadata.json) - ↓ -Generate sorted Markdown table (formula-status.md) -``` - -## Git Hosting Platform Support - -### GitHub -- **Detection**: `github.com` in homepage or URL -- **Method**: `gh` CLI tool (`gh repo view`, `gh release view`) -- **Stats**: stars, forks, last commit (pushedAt), last release (publishedAt) -- **Requirements**: `gh` CLI installed and authenticated -- **Implementation**: scripts/generate_formula_status.py:161-218 - -### GitLab -- **Detection**: `gitlab.com` in homepage or URL -- **Method**: GitLab REST API v4 -- **Stats**: star_count, forks_count, last_activity_at, releases -- **Requirements**: None (public API) -- **Implementation**: scripts/generate_formula_status.py:226-283 - -### Codeberg -- **Detection**: `codeberg.org` in homepage or URL -- **Method**: Forgejo/Gitea API v1 -- **Stats**: stars_count, forks_count, updated_at, releases -- **Requirements**: None (public API) -- **Implementation**: scripts/generate_formula_status.py:285-342 - -### SourceHut -- **Detection**: `git.sr.ht` in homepage or URL -- **Method**: Limited support (no public stats API) -- **Stats**: Basic repo info only (no stars/forks available) -- **Requirements**: None -- **Implementation**: scripts/generate_formula_status.py:344-384 - -## Key Features - -### Parallel Processing -- Uses `ThreadPoolExecutor` with 20 workers (configurable) -- Each formula processed independently -- Real-time progress output with `flush=True` - -### Caching System -- Cache file: `.cache/formula_metadata.json` -- Cache key format: `{platform}:{owner}/{repo}` -- Caches all platforms (GitHub, GitLab, Codeberg, SourceHut) -- Loaded on script start unless `--refresh` specified -- Saved after all formulas processed -- Committed to repo for CI/CD reuse - -### Output Format -- Markdown table with 10 columns -- Sorted by stars descending, then alphabetically by name -- Description truncated to 60 characters -- Checkmarks (✓) for bottle and livecheck -- Dashes (-) for missing data - -## Usage - -### Quick Commands (via justfile) - -```bash -# Generate report -just status - -# With verbose logging -just status-verbose - -# Refresh cache -just status-refresh - -# Custom worker count -just status-workers 10 - -# Background execution -just status-background -just status-logs -``` - -### Direct Python - -```bash -# Basic usage -python3 formula-status/generate_formula_status.py - -# With options -python3 formula-status/generate_formula_status.py \ - --output formula-status.md \ - --workers 20 \ - --verbose \ - --refresh -``` - -## Command Line Options - -| Option | Description | Default | -|--------|-------------|---------| -| `--output` | Output file path | `formula-status.md` | -| `--workers` | Parallel workers | `20` | -| `--verbose` / `-v` | Enable verbose logging | `false` | -| `--refresh` | Ignore cache, refresh all stats | `false` | - -## Automation - -### GitHub Actions Workflow -- **File**: `.github/workflows/formula-status.yml` -- **Schedule**: Weekly (Monday 09:00 UTC) -- **Trigger**: Manual via GitHub Actions UI -- **Steps**: - 1. Checkout repo - 2. Set up Homebrew and Python - 3. Generate metadata with `GH_TOKEN` - 4. Commit changes if formula-status.md updated - 5. Push to repository - -## Technical Details - -### Regex Patterns for Platform Detection - -```python -# GitHub -r'github\.com[/:]([^/]+)/([^/\s.]+)' - -# GitLab -r'gitlab\.com[/:]([^/]+)/([^/\s.]+)' - -# Codeberg -r'codeberg\.org[/:]([^/]+)/([^/\s.]+)' - -# SourceHut -r'git\.sr\.ht[/:]~([^/]+)/([^/\s.]+)' -``` - -### Formula Metadata Extraction - -Reads `.rb` files and extracts via regex: -- `desc "..."` → description -- `homepage "..."` → homepage URL -- `url "..."` → source URL -- `license "..."` → license identifier -- `bottle do` → has_bottle = True -- `livecheck do` → has_livecheck = True - -### Error Handling -- Subprocess timeouts: 10 seconds per API call -- JSON parsing errors: Logged and cached as empty -- Missing formulas: Warning printed -- API failures: Logged, formula proceeds with no stats - -## Performance - -**Typical execution**: 3-5 minutes for 150 formulas -- Metadata extraction: ~10ms per formula -- GitHub stats (cached): ~100ms per formula -- GitHub stats (uncached): ~2-3s per formula -- GitLab/Codeberg stats: ~500ms per formula -- Parallel processing: 20 formulas at once - -## Implementation History - -### Initial Implementation (Removed) -- Brew check system with audit/style/readall -- Mode selection (fast/full) -- Complex check infrastructure -- Per-check status tracking (PASS/FAIL/N/A) - -### User Feedback Evolution -1. **"Why do we need brew audit??"** → Questioned the brew check approach -2. **"We should skip it, we should purely leverage gh to do the stats page generation"** → Clarified pure git stats intent -3. **"The whole purpose is just do the github/codeberg/gitlab metadata crawling for formulae"** → Final clarification -4. **"We should remove unrelated stuff"** → Request for simplification -5. **"Should consider gitlab, codeberg, sourcehut as well"** → Multi-platform requirement - -### Complete Rewrite -- Removed all brew subprocess calls (~250 LOC) -- Simplified from 600+ LOC to 370 LOC -- Changed from check-focused to metadata-focused -- Added multi-platform support (+178 LOC) -- Updated documentation to match new purpose - -## File Organization - -### Before Reorganization -``` -scripts/ - └── generate_formula_status.py -docs/ - └── FORMULA_formula-status.md -``` - -### After Reorganization -``` -formula-status/ - ├── generate_formula_status.py - └── README.md -claudedocs/ - └── formula-metadata-system.md -``` - -## Related Files - -- **Main script**: formula-status/generate_formula_status.py -- **Documentation**: formula-status/README.md -- **Justfile**: justfile (status-* commands) -- **Workflow**: .github/workflows/formula-status.yml -- **Cache**: .cache/formula_metadata.json -- **Output**: formula-status.md - -## Troubleshooting - -### Common Issues - -**Missing stats for formulas**: -- Formula doesn't have recognized git hosting URL -- Check homepage/url fields in formula .rb file -- Platform may be rate-limited or down - -**GitHub rate limiting**: -- Ensure `gh` CLI authenticated: `gh auth status` -- Use cached results (default) -- Run during off-peak hours - -**Script appears stuck**: -- Use `--verbose` to see progress -- Check with `just status-check` -- Monitor with `just status-watch` - -### Debug Tips - -```bash -# Verbose execution -python3 formula-status/generate_formula_status.py --verbose - -# Test single formula manually -python3 -c "from formula_status.generate_formula_status import FormulaCrawler; \ -c = FormulaCrawler(verbose=True); \ -c.process_formula('Formula/a/some-tool.rb')" - -# Check cache contents -cat .cache/formula_metadata.json | jq '.' -``` - -## Future Enhancements - -Potential improvements: -- [ ] Self-hosted GitLab/Gitea instance support -- [ ] Historical trend tracking (stars over time) -- [ ] Formula health scoring algorithm -- [ ] Integration with Homebrew analytics -- [ ] Multi-tap aggregation support -- [ ] Web dashboard UI -- [ ] Better SourceHut API integration (when available) -- [ ] Formula popularity badges -- [ ] Automated outdated formula detection - -## Key Learnings - -1. **User Intent Clarification**: Initial requirements evolved significantly through conversation -2. **Simplification > Complexity**: Complete rewrite was better than incremental patching -3. **Multi-Platform from Start**: Adding platform support upfront saves refactoring -4. **Output Buffering**: Always use `flush=True` for long-running scripts -5. **Cache Everything**: API rate limits are real, caching is essential -6. **Parallel by Default**: 20 workers provides good balance for I/O-bound operations - -## Dependencies - -**Python Standard Library**: -- `argparse`: Command-line argument parsing -- `json`: Cache file and API response handling -- `re`: Regex pattern matching for metadata extraction -- `subprocess`: External command execution (gh, curl) -- `concurrent.futures`: Parallel processing via ThreadPoolExecutor -- `dataclasses`: Data structure definitions -- `datetime`: Timestamp generation -- `pathlib`: File path handling -- `typing`: Type hints - -**External Commands**: -- `gh`: GitHub CLI (required for GitHub repos) -- `curl`: HTTP requests (required for GitLab, Codeberg, SourceHut) -- `python3`: Python 3.x interpreter - -## Contact - -For questions or improvements: -- Open an issue on GitHub -- Check formula-status.md for formula-specific data -- Review GitHub Actions logs for CI failures -- Read formula-status/README.md for full documentation diff --git a/cmd/README.md b/cmd/README.md deleted file mode 100644 index bde53e2694..0000000000 --- a/cmd/README.md +++ /dev/null @@ -1,194 +0,0 @@ -# Custom Homebrew Commands - -This directory contains custom Homebrew commands provided by the `chenrui333/tap` tap. - -## `brew migrate-python` - -Create a tap PR that migrates a formula from the previous Homebrew `python@X.Y` -dependency to the current one and refreshes resource blocks with -`brew update-python-resources2`. - -### Usage - -```bash -brew migrate-python readmeai -brew migrate-python chenrui333/tap/readmeai -brew migrate-python readmeai --exclude foo,bar -``` - -### Notes - -- Works against `chenrui333/homebrew-tap` -- Creates a branch from `origin/main` -- Uses `brew update-python-resources2` so missing sdists are handled in the same tap workflow -- Pushes the branch and opens a PR automatically -- Adds the matching `python-X.Y-migration` label when present -- Requires a clean tracked worktree in the tap - -## `brew update-python-resources2` - -An enhanced wrapper around `brew update-python-resources` that handles PyPI packages lacking suitable source distributions by creating skeleton resource stanzas for manual backfill. - -### Problem - -When running `brew update-python-resources` on formulas with complex Python dependencies, some packages may fail with: - -``` -Error: exists on PyPI but lacks a suitable source distribution -``` - -This blocks the entire update process, requiring manual intervention for each problematic package. - -### Solution - -`brew update-python-resources2` automatically: -1. Detects packages that lack suitable source distributions -2. Excludes them for dependency resolution (allowing the update to proceed) -3. **Inserts skeleton resource blocks** into the formula file with TODO comments -4. Allows you to manually backfill `url` and `sha256` for those packages later - -### Usage - -**Basic usage (verbose by default):** -```bash -brew update-python-resources2 paperai -``` - -**Preview changes without modifying:** -```bash -brew update-python-resources2 paperai --dry-run -``` - -**Quiet mode:** -```bash -brew update-python-resources2 paperai --quiet -``` - -**Show missing packages:** -```bash -brew update-python-resources2 paperai --print-missing -``` - -**With manual excludes:** -```bash -brew update-python-resources2 paperai --exclude some-package,another-package -``` - -### Options - -- `--exclude PKG1,PKG2,...` - Manually specify packages to exclude (can be used multiple times) -- `--max-retries N` - Maximum number of retry attempts (default: 25) -- `--quiet` - Reduce output verbosity (verbose by default) -- `--dry-run` - Preview changes without modifying formula file -- `--print-missing` - Print the missing-sdist package list -- `-h, --help` - Show help message - -All other flags are passed through to the underlying `brew update-python-resources` command. - -### Example Output - -```bash -$ brew update-python-resources2 paperai -Attempt 1: Running: brew update-python-resources paperai -⚠ Found missing sdist: 'bitsandbytes' - excluding for dependency resolution... -Attempt 2: Running: brew update-python-resources paperai --exclude bitsandbytes -⚠ Found missing sdist: 'faiss-cpu' - excluding for dependency resolution... -Attempt 3: Running: brew update-python-resources paperai --exclude bitsandbytes,faiss-cpu -[...update output...] -✓ Inserted 2 skeleton resource(s) into Formula/p/paperai.rb -✓ Completed successfully. Missing sdist (skeletons added): bitsandbytes, faiss-cpu -``` - -### Skeleton Resource Format - -For each package lacking a source distribution, the command inserts: - -```ruby -# TODO: bitsandbytes has no sdist on PyPI; fill in a source URL + sha256 manually. -resource "bitsandbytes" do - url "" - sha256 "" -end -``` - -These are inserted after existing resource blocks in the formula, maintaining proper indentation and style. - -### How It Works - -1. Runs `brew update-python-resources` with your arguments -2. If it encounters the "lacks a suitable source distribution" error: - - Records the package name - - Adds it to the exclude list for dependency resolution - - Continues the update process -3. Upon successful completion: - - Locates the formula file - - Finds the appropriate insertion point (after existing resources) - - Inserts skeleton resource blocks for manual backfill - - Does not duplicate if resource already exists -4. Prints summary of what was done - -### Safety Features - -- **Only modifies formula on success** - If the update fails for other reasons, no changes are made -- **No duplicates** - Checks if resource already exists before inserting -- **Proper indentation** - Matches existing resource block style -- **Dry-run mode** - Preview changes before applying them -- **Max retries** - Prevents infinite loops (default: 25, configurable) -- **Non-recursive** - Always calls core `brew update-python-resources`, never itself - -### Environment - -Sets `HOMEBREW_NO_AUTO_UPDATE=1` when calling the underlying command to prevent unexpected Homebrew updates during the process. - -### Limitations - -- Only handles the specific "lacks a suitable source distribution" error -- Does not retry for other types of errors (shows full output and exits) -- Requires manual backfill of URL and sha256 for skeleton resources -- Formula must be in the tap (cannot modify formulas from other taps) - -## `brew patch` - -Fetch a patch URL, calculate its SHA-256, and print a Homebrew `patch do` -block. - -### Usage - -```bash -brew patch https://github.com/org/repo/commit/abc123.patch -``` - -## `brew check` - -Run a strict online audit with autofix enabled. - -### Usage - -```bash -brew check chenrui333/tap/bun -brew check bun -``` - -## `brew close-superseded-prs` - -Find open formula version-bump PRs that are no longer the latest update for a -formula, then optionally comment, label, and close them. - -The command only considers PR titles in the standard formula bump format: -` `. It skips new formula/cask PRs and non-version update -titles. - -### Usage - -```bash -brew close-superseded-prs -brew close-superseded-prs --formula ministack -brew close-superseded-prs --apply -``` - -### Notes - -- Defaults to dry-run output. -- Closes PRs already covered by the version on `main` with a `Superseded by current main...` comment. -- Keeps the most recently opened bump PR for each formula and closes older open bumps with `Superseded by #`. -- Uses the `superseded` label when applying changes. diff --git a/cmd/brew-check b/cmd/brew-check deleted file mode 100755 index fd1b574300..0000000000 --- a/cmd/brew-check +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -usage() { - cat <<'EOF' -Usage: brew check [...] - -Run a strict online audit with autofix enabled. - -Example: - brew check bun - brew check chenrui333/tap/bun -EOF -} - -normalize_formula_arg() { - local tap="chenrui333/tap" - local arg="$1" - - if [[ "$arg" == *.rb || "$arg" == */* ]]; then - printf '%s\n' "$arg" - return 0 - fi - - printf '%s\n' "${tap}/${arg}" -} - -if [[ $# -eq 0 ]]; then - usage - exit 1 -fi - -case "${1:-}" in - -h|--help) - usage - exit 0 - ;; -esac - -args=() -for arg in "$@"; do - args+=("$(normalize_formula_arg "$arg")") -done - -HOMEBREW_NO_AUTO_UPDATE=1 brew audit --strict --git --online --fix "${args[@]}" diff --git a/cmd/brew-close-superseded-prs b/cmd/brew-close-superseded-prs deleted file mode 100755 index 1e955a9b71..0000000000 --- a/cmd/brew-close-superseded-prs +++ /dev/null @@ -1,233 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -require "json" -require "open3" -require "optparse" -require "rubygems" -require "tempfile" -require "time" - -DEFAULT_REPO = "chenrui333/homebrew-tap" -SUPERSEDED_LABEL = "superseded" -TITLE_PATTERN = /\A(?[A-Za-z0-9][A-Za-z0-9._+@-]*) (?[0-9][A-Za-z0-9._+:-]*)\z/ -SKIP_LABELS = ["new formula", "new cask"].freeze -TAP_ROOT = File.expand_path("..", __dir__) - -options = { - apply: false, - formulas: [], - limit: 1000, - repo: ENV.fetch("GH_REPO", DEFAULT_REPO), -} - -parser = OptionParser.new do |opts| - opts.banner = "Usage: brew close-superseded-prs [options]" - - opts.on("--apply", "Comment, label, and close superseded PRs") do - options[:apply] = true - end - - opts.on("--dry-run", "Print planned closures without changing GitHub state (default)") do - options[:apply] = false - end - - opts.on("--formula NAME", "Only inspect one formula (can be repeated)") do |formula| - options[:formulas] << formula - end - - opts.on("--limit N", Integer, "Maximum open PRs to inspect (default: 1000)") do |limit| - options[:limit] = limit - end - - opts.on("--repo OWNER/REPO", "GitHub repository (default: #{DEFAULT_REPO})") do |repo| - options[:repo] = repo - end - - opts.on("-h", "--help", "Show this help") do - puts opts - exit - end -end - -parser.parse! - -def odie(message) - warn "Error: #{message}" - exit 1 -end - -def command_env - env = { - "GH_NO_UPDATE_NOTIFIER" => "1", - "GH_PROMPT_DISABLED" => "1", - } - - token = ENV["GH_TOKEN"] || ENV["GITHUB_TOKEN"] || ENV["HOMEBREW_GITHUB_API_TOKEN"] - env["GH_TOKEN"] = token if token && !token.empty? - env -end - -def capture!(*command, env: command_env) - stdout, stderr, status = Open3.capture3(env, *command) - return stdout if status.success? - - odie("#{command.join(" ")} failed:\n#{stderr}") -end - -def gh_json(*args) - JSON.parse(capture!("gh", *args)) -end - -def formula_path(formula) - candidates = [ - File.join(TAP_ROOT, "Formula", formula[0], "#{formula}.rb"), - File.join(TAP_ROOT, "Formula", "#{formula}.rb"), - ] - candidates.find { |candidate| File.file?(candidate) } -end - -def formula_version(formula) - path = formula_path(formula) - return nil unless path - - env = { - "HOMEBREW_NO_AUTO_UPDATE" => "1", - "HOMEBREW_NO_INSTALL_FROM_API" => "1", - } - output = capture!("brew", "info", "--json=v2", "--formula", path, env: env) - JSON.parse(output).fetch("formulae").first.fetch("versions").fetch("stable") -rescue StandardError => e - warn "Warning: could not determine current #{formula} version: #{e.message}" - nil -end - -def version_for_compare(version) - Gem::Version.new(version.to_s.strip.sub(/\Av/i, "").tr("_-", ".")) -end - -def compare_versions(left, right) - version_for_compare(left) <=> version_for_compare(right) -rescue ArgumentError - left.to_s <=> right.to_s -end - -def created_at(pr) - Time.parse(pr.fetch("createdAt")) -end - -def bump_pr(title) - match = TITLE_PATTERN.match(title) - return unless match - - { - formula: match[:formula], - version: match[:version], - } -end - -def ensure_superseded_label(repo) - labels = gh_json("label", "list", "--repo", repo, "--limit", "1000", "--json", "name") - return if labels.any? { |label| label.fetch("name") == SUPERSEDED_LABEL } - - capture!( - "gh", "label", "create", SUPERSEDED_LABEL, - "--repo", repo, - "--color", "ededed", - "--description", "Closed because a newer formula update supersedes this PR" - ) -end - -def close_pr(repo, number, body) - Tempfile.create(["pr-#{number}-superseded", ".md"]) do |file| - file.write("#{body}\n") - file.close - capture!("gh", "pr", "comment", number.to_s, "--repo", repo, "--body-file", file.path) - end - - capture!("gh", "pr", "edit", number.to_s, "--repo", repo, "--add-label", SUPERSEDED_LABEL) - capture!("gh", "pr", "close", number.to_s, "--repo", repo) -end - -formula_filter = {} -options[:formulas].each do |formula| - formula_filter[formula.sub(%r{\Achenrui333/tap/}, "")] = true -end -prs = gh_json( - "pr", "list", - "--repo", options[:repo], - "--state", "open", - "--limit", options[:limit].to_s, - "--json", "number,title,labels,createdAt" -) - -bump_prs = [] -prs.each do |pr| - parsed = bump_pr(pr.fetch("title")) - next unless parsed - next if formula_filter.any? && !formula_filter[parsed[:formula]] - - labels = pr.fetch("labels").map { |label| label.fetch("name") } - next if (labels & SKIP_LABELS).any? - next unless formula_path(parsed[:formula]) - - bump_prs << pr.merge(parsed) -end - -closures = [] -bump_prs.group_by { |pr| pr.fetch(:formula) }.each do |formula, formula_prs| - current_version = formula_version(formula) - pending_prs = [] - - formula_prs.each do |pr| - if current_version && compare_versions(current_version, pr.fetch(:version)) >= 0 - closures << { - number: pr.fetch("number"), - formula: formula, - version: pr.fetch(:version), - body: "Superseded by current main, which has #{formula} #{current_version}.", - } - else - pending_prs << pr - end - end - - next if pending_prs.length <= 1 - - # Keep the most recently opened bump PR, even if it intentionally rolls back - # a bad higher-version bump. - keeper = pending_prs.max_by { |pr| [created_at(pr), pr.fetch("number")] } - - pending_prs.each do |pr| - next if pr.fetch("number") == keeper.fetch("number") - - closures << { - number: pr.fetch("number"), - formula: formula, - version: pr.fetch(:version), - body: "Superseded by ##{keeper.fetch("number")}", - } - end -end - -closures.uniq! { |closure| closure.fetch(:number) } - -if closures.empty? - puts "No superseded formula PRs found." - exit -end - -verb = options[:apply] ? "Closing" : "Would close" -closures.sort_by { |closure| closure.fetch(:number) }.each do |closure| - puts "#{verb} ##{closure.fetch(:number)} #{closure.fetch(:formula)} #{closure.fetch(:version)}: #{closure.fetch(:body)}" -end - -if options[:apply] - ensure_superseded_label(options[:repo]) - closures.each do |closure| - close_pr(options[:repo], closure.fetch(:number), closure.fetch(:body)) - end - puts "Closed #{closures.length} superseded formula PR(s)." -else - puts "Dry-run only. Re-run with --apply to close these PRs." -end diff --git a/cmd/brew-migrate-python b/cmd/brew-migrate-python deleted file mode 100755 index 7b95d81811..0000000000 --- a/cmd/brew-migrate-python +++ /dev/null @@ -1,182 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -usage() { - cat <<'EOF' -Usage: brew migrate-python [update-python-resources options] - -Create a tap PR that migrates a formula from the previous Homebrew `python@X.Y` -dependency to the current one returned by `brew which-formula python3`, then -refresh Python resources with `brew update-python-resources2`. - -The command: - 1. creates a branch from `origin/main` - 2. replaces `python@` with `python@` - 3. runs `brew update-python-resources2` - 4. commits, pushes, and opens a PR in `chenrui333/homebrew-tap` - -Requirements: - - a clean tracked worktree in `chenrui333/tap` - - GitHub auth via `gh auth login` or `HOMEBREW_GITHUB_API_TOKEN` - -Examples: - brew migrate-python readmeai - brew migrate-python chenrui333/tap/readmeai - brew migrate-python readmeai --exclude foo,bar -EOF -} - -odie() { - echo "Error: $*" >&2 - exit 1 -} - -find_formula_path() { - local tap_root="$1" - local formula_name="$2" - local first_letter="${formula_name:0:1}" - local candidate="${tap_root}/Formula/${first_letter}/${formula_name}.rb" - - if [[ -f "$candidate" ]]; then - printf '%s\n' "$candidate" - return 0 - fi - - candidate="${tap_root}/Formula/${formula_name}.rb" - if [[ -f "$candidate" ]]; then - printf '%s\n' "$candidate" - return 0 - fi - - return 1 -} - -normalize_formula_name() { - local tap="chenrui333/tap" - local arg="$1" - - if [[ "$arg" == "${tap}/"* ]]; then - printf '%s\n' "${arg#"${tap}"/}" - return 0 - fi - - if [[ "$arg" == */* ]]; then - odie "formula must be in ${tap}; got '${arg}'" - fi - - printf '%s\n' "$arg" -} - -if [[ $# -eq 0 ]]; then - usage - exit 1 -fi - -case "${1:-}" in - -h|--help) - usage - exit 0 - ;; -esac - -formula="$(normalize_formula_name "$1")" -shift - -tap="chenrui333/tap" -repo="chenrui333/homebrew-tap" -tap_root="$(HOMEBREW_NO_AUTO_UPDATE=1 brew --repository "$tap")" -formula_path="$(find_formula_path "$tap_root" "$formula")" || odie "could not find formula '${formula}' in ${tap}" -formula_rel="${formula_path#"${tap_root}"/}" - -token="${HOMEBREW_GITHUB_API_TOKEN:-}" -if [[ -z "$token" ]]; then - token="$(gh auth token 2>/dev/null || true)" -fi -[[ -n "$token" ]] || odie "GitHub token required. Run 'gh auth login' or export HOMEBREW_GITHUB_API_TOKEN." -export GITHUB_TOKEN="$token" - -next="$(HOMEBREW_NO_AUTO_UPDATE=1 brew which-formula python3 2>/dev/null | awk -F'@' 'NF > 1 { print $2; exit }')" -[[ -n "$next" ]] || odie "could not resolve the active Homebrew python3 formula" - -curr="$(awk -F. '{ printf "%s.%d", $1, $2 - 1 }' <<<"$next")" -message="${formula}: migrate to \`python@${next}\`" -branch="python@${next}-${formula}" -label="python-${next}-migration" - -duplicate="$(gh pr list --repo "$repo" --search "in:title \"${message}\"" --state all --limit 1 --json number --jq '.[0].number // empty')" -[[ -z "$duplicate" ]] || odie "Found duplicate! https://github.com/${repo}/pull/${duplicate}" - -orig_branch="$(git -C "$tap_root" branch --show-current)" -[[ -n "$orig_branch" ]] || odie "detached HEAD is not supported" - -if [[ -n "$(git -C "$tap_root" status --porcelain --untracked-files=no)" ]]; then - odie "tracked changes present in ${tap_root}; commit or stash them first" -fi - -if git -C "$tap_root" show-ref --verify --quiet "refs/heads/${branch}"; then - odie "local branch '${branch}' already exists" -fi - -if git -C "$tap_root" ls-remote --exit-code --heads origin "$branch" >/dev/null 2>&1; then - odie "remote branch '${branch}' already exists on origin" -fi - -branch_created=false -cleanup() { - local status=$? - if [[ "$branch_created" == true ]]; then - local current_branch="" - current_branch="$(git -C "$tap_root" branch --show-current 2>/dev/null || true)" - if [[ "$current_branch" == "$branch" ]]; then - git -C "$tap_root" switch "$orig_branch" >/dev/null 2>&1 || true - fi - if [[ $status -ne 0 ]]; then - git -C "$tap_root" branch -D "$branch" >/dev/null 2>&1 || true - fi - fi - exit $status -} -trap cleanup EXIT - -git -C "$tap_root" fetch origin main --quiet -git -C "$tap_root" switch -c "$branch" origin/main >/dev/null -branch_created=true - -if ! grep -q "python@${curr}" "$formula_path"; then - if grep -q "python@${next}" "$formula_path"; then - odie "${formula} already depends on python@${next}" - fi - odie "did not find python@${curr} in ${formula_rel}" -fi - -export HOMEBREW_PYTHON_MIGRATE_CURR="python@${curr}" -export HOMEBREW_PYTHON_MIGRATE_NEXT="python@${next}" -perl -0pi -e 's/\Q$ENV{HOMEBREW_PYTHON_MIGRATE_CURR}\E/$ENV{HOMEBREW_PYTHON_MIGRATE_NEXT}/g' "$formula_path" - -HOMEBREW_NO_AUTO_UPDATE=1 brew update-python-resources2 "$formula" "$@" - -git -C "$tap_root" add -- "$formula_rel" -if git -C "$tap_root" diff --cached --quiet -- "$formula_rel"; then - odie "no changes produced for ${formula_rel}" -fi - -git -C "$tap_root" commit -m "$message" -- "$formula_rel" -git -C "$tap_root" push --set-upstream origin "$branch" - -body_file="$(mktemp)" -trap 'rm -f "$body_file"; cleanup' EXIT -cat >"$body_file" < - -Fetch a patch URL, calculate its SHA-256, and print a Homebrew `patch do` -block that can be pasted into a formula. - -Example: - brew patch https://github.com/org/repo/commit/abc123.patch -EOF -} - -odie() { - echo "Error: $*" >&2 - exit 1 -} - -case "${1:-}" in - "" ) - usage - exit 1 - ;; - -h|--help) - usage - exit 0 - ;; -esac - -[[ $# -eq 1 ]] || odie "expected exactly one patch URL" - -url="$1" -sha="$(curl -fsSL "$url" | shasum -a 256 | awk '{print $1}')" - -cat < max_retries - odie "Maximum retry attempts (#{max_retries}) reached. " \ - "Missing sdist packages: #{missing_sdist_packages.join(', ')}" - end - - # Build the command - cmd = ["brew", "update-python-resources"] - cmd << formula - - # Add all excludes (user + missing sdist) - unless all_excludes.empty? - cmd << "--exclude" - cmd << all_excludes.join(",") - end - - # Add pass-through arguments - cmd.concat(pass_through_args) - - # Verbose by default - puts "Attempt #{attempt}: Running: #{cmd.join(' ')}" unless quiet - - # Run the command and capture output - env = { "HOMEBREW_NO_AUTO_UPDATE" => "1" } - stdout, stderr, status = Open3.capture3(env, *cmd) - output = stdout + stderr - last_output = output - - if status.success? - # Success! Now insert skeleton resources for missing packages - puts output unless output.empty? || quiet - - if missing_sdist_packages.any? - formula_path = find_formula_path(formula) - - if formula_path.nil? - warn "Warning: Could not locate formula file for '#{formula}'" - warn "Skipping skeleton resource insertion." - else - inserted = insert_skeleton_resources( - formula_path, - missing_sdist_packages, - dry_run: dry_run, - quiet: quiet - ) - - if print_missing_flag && !quiet - puts "\nMissing sdist packages: #{missing_sdist_packages.join(', ')}" - end - end - end - - # Print summary - summary_parts = [] - summary_parts << "✓ Completed successfully" - if missing_sdist_packages.any? - summary_parts << "Missing sdist (skeletons #{dry_run ? 'would be' : ''} added): #{missing_sdist_packages.join(', ')}" - end - puts summary_parts.join(". ") unless quiet - - break - end - - # Check if it's the specific "no suitable source distribution" error - if output =~ /Error: (\S+) exists on PyPI but lacks a suitable source distribution/ - missing_pkg = Regexp.last_match(1) - - if missing_sdist_packages.include?(missing_pkg) - # Already processed this package - shouldn't happen but handle gracefully - puts output - odie "Package '#{missing_pkg}' was already processed but the error persists. " \ - "This may indicate a different issue." - end - - # Add to tracking lists - missing_sdist_packages << missing_pkg - all_excludes << missing_pkg - - puts "⚠ Found missing sdist: '#{missing_pkg}' - excluding for dependency resolution..." unless quiet - next - end - - # Some other error occurred - don't retry - puts output unless quiet - odie "Command failed with a different error (not missing sdist). Stopping." -end diff --git a/docs/terminal-trove/.project_links_cache.json b/docs/terminal-trove/.project_links_cache.json deleted file mode 100644 index 4178bc564d..0000000000 --- a/docs/terminal-trove/.project_links_cache.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "https://terminaltrove.com/act3/": "https://github.com/dhth/act3", - "https://terminaltrove.com/ad/": "https://github.com/sminez/ad", - "https://terminaltrove.com/adguardian-term/": "https://github.com/Lissy93/AdGuardian-Term", - "https://terminaltrove.com/aerc/": "https://git.sr.ht/~rjarry/aerc", - "https://terminaltrove.com/age/": "https://github.com/FiloSottile/age", - "https://terminaltrove.com/aichat/": "https://github.com/sigoden/aichat", - "https://terminaltrove.com/aider/": "https://github.com/paul-gauthier/aider", - "https://terminaltrove.com/aim/": "https://github.com/mihaigalos/aim", - "https://terminaltrove.com/ali/": "https://github.com/nakabonne/ali", - "https://terminaltrove.com/amp/": "https://github.com/jmacdonald/amp", - "https://terminaltrove.com/andcli/": "https://github.com/tjblackheart/andcli", - "https://terminaltrove.com/angryoxide/": "https://github.com/Ragnt/AngryOxide", - "https://terminaltrove.com/apisnip/": "https://github.com/Tuurlijk/apisnip", - "https://terminaltrove.com/apw/": "https://github.com/bendews/apw", - "https://terminaltrove.com/arduino-cli-interactive/": "https://github.com/Vaishnav-Sabari-Girish/arduino-cli-interactive", - "https://terminaltrove.com/aria2/": "https://github.com/aria2/aria2", - "https://terminaltrove.com/aria2tui/": "https://github.com/grimandgreedy/Aria2TUI", - "https://terminaltrove.com/asak/": "https://github.com/chaosprint/asak", - "https://terminaltrove.com/asn/": "https://github.com/nitefood/asn", - "https://terminaltrove.com/astroterm/": "https://github.com/da-luce/astroterm", - "https://terminaltrove.com/atac/": "https://github.com/Julien-cpsn/ATAC", - "https://terminaltrove.com/atop/": "https://www.atoptool.nl/downloadatop.php", - "https://terminaltrove.com/atuin/": "https://github.com/atuinsh/atuin", - "https://terminaltrove.com/austin-tui/": "https://github.com/P403n1x87/austin-tui", - "https://terminaltrove.com/awsesh/": "https://github.com/elva-labs/awsesh", - "https://terminaltrove.com/az-tui/": "https://github.com/IAL32/az-tui/", - "https://terminaltrove.com/bacon/": "https://github.com/Canop/bacon", - "https://terminaltrove.com/bagels/": "https://github.com/EnhancedJax/Bagels", - "https://terminaltrove.com/ballast/": "https://github.com/synoet/ballast", - "https://terminaltrove.com/bandwhich/": "https://github.com/imsnif/bandwhich", - "https://terminaltrove.com/basalt/": "https://github.com/erikjuhani/basalt", - "https://terminaltrove.com/basilk/": "https://github.com/GabAlpha/basilk", - "https://terminaltrove.com/bbrew/": "https://github.com/Valkyrie00/bold-brew", - "https://terminaltrove.com/bcal/": "https://github.com/jarun/bcal", - "https://terminaltrove.com/benben/": "https://chiselapp.com/user/MistressRemilia/repository/benben", - "https://terminaltrove.com/bfs/": "https://github.com/tavianator/bfs", - "https://terminaltrove.com/bibiman/": "https://codeberg.org/lukeflo/bibiman", - "https://terminaltrove.com/binsider/": "https://github.com/orhun/binsider", - "https://terminaltrove.com/bit/": "https://github.com/superstarryeyes/bit", - "https://terminaltrove.com/bitchat-tui/": "https://github.com/vaibhav-mattoo/bitchat-tui", - "https://terminaltrove.com/bkp/": "https://github.com/gergelyk/bkp", - "https://terminaltrove.com/blink/": "https://github.com/jart/blink", - "https://terminaltrove.com/bluetui/": "https://github.com/pythops/bluetui", - "https://terminaltrove.com/bluetuith/": "https://github.com/darkhz/bluetuith", - "https://terminaltrove.com/bmm/": "https://github.com/dhth/bmm", - "https://terminaltrove.com/bmon/": "https://github.com/tgraf/bmon", - "https://terminaltrove.com/bombadillo/": "https://tildegit.org/sloum/Bombadillo", - "https://terminaltrove.com/bottom/": "https://github.com/ClementTsang/bottom", - "https://terminaltrove.com/braindrop/": "https://github.com/davep/braindrop", - "https://terminaltrove.com/branchlet/": "https://github.com/raghavpillai/branchlet", - "https://terminaltrove.com/brows/": "https://github.com/rubysolo/brows", - "https://terminaltrove.com/browsr/": "https://github.com/juftin/browsr", - "https://terminaltrove.com/bt/": "https://github.com/LeperGnome/bt", - "https://terminaltrove.com/bugstalker/": "https://github.com/godzie44/BugStalker", - "https://terminaltrove.com/buku/": "https://github.com/jarun/buku", - "https://terminaltrove.com/calcure/": "https://github.com/anufrievroman/calcure", - "https://terminaltrove.com/calcurse/": "https://git.calcurse.org/", - "https://terminaltrove.com/caligula/": "https://github.com/ifd3f/caligula", - "https://terminaltrove.com/caps-log/": "https://github.com/NikolaDucak/caps-log", - "https://terminaltrove.com/cargo-geiger/": "https://github.com/geiger-rs/cargo-geiger", - "https://terminaltrove.com/cargo-seek/": "https://github.com/tareqimbasher/cargo-seek", - "https://terminaltrove.com/cargo-selector/": "https://github.com/lusingander/cargo-selector", - "https://terminaltrove.com/cariddi/": "https://github.com/edoardottt/cariddi", - "https://terminaltrove.com/carl/": "https://github.com/b1rger/carl", - "https://terminaltrove.com/cashd/": "https://github.com/hzqtc/cashd", - "https://terminaltrove.com/castero/": "https://github.com/xgi/castero", - "https://terminaltrove.com/celerator/": "https://github.com/f4rih/celerator", - "https://terminaltrove.com/cgdb/": "https://github.com/cgdb/cgdb", - "https://terminaltrove.com/chawan/": "https://sr.ht/~bptato/chawan/", - "https://terminaltrove.com/chdig/": "https://github.com/azat/chdig", - "https://terminaltrove.com/chiko/": "https://github.com/felangga/chiko", - "https://terminaltrove.com/cidr/": "https://github.com/bschaatsbergen/cidr", - "https://terminaltrove.com/circumflex/": "https://github.com/bensadeh/circumflex", - "https://terminaltrove.com/clipboard/": "https://github.com/Slackadays/Clipboard", - "https://terminaltrove.com/clipse/": "https://github.com/savedra1/clipse", - "https://terminaltrove.com/cloctui/": "https://github.com/edward-jazzhands/cloctui", - "https://terminaltrove.com/cmdperf/": "https://github.com/miklosn/cmdperf", - "https://terminaltrove.com/cmus/": "https://github.com/cmus/cmus", - "https://terminaltrove.com/cobib/": "https://cobib.gitlab.io/cobib/cobib.html", - "https://terminaltrove.com/coderabbit/": "https://coderabbit.link/terminaltrove", - "https://terminaltrove.com/comchan/": "https://github.com/Vaishnav-Sabari-Girish/ComChan", - "https://terminaltrove.com/cotp/": "https://github.com/replydev/cotp", - "https://terminaltrove.com/countryfetch/": "https://github.com/nik-rev/countryfetch", - "https://terminaltrove.com/cpufetch/": "https://github.com/Dr-Noob/cpufetch", - "https://terminaltrove.com/crates-tui/": "https://github.com/ratatui-org/crates-tui", - "https://terminaltrove.com/croc/": "https://github.com/schollz/croc", - "https://terminaltrove.com/cronboard/": "https://github.com/antoniorodr/cronboard", - "https://terminaltrove.com/csvlens/": "https://github.com/YS-L/csvlens", - "https://terminaltrove.com/ctop/": "https://github.com/bcicen/ctop", - "https://terminaltrove.com/cueitup/": "https://github.com/dhth/cueitup", - "https://terminaltrove.com/curlie/": "https://github.com/rs/curlie", - "https://terminaltrove.com/cy/": "https://github.com/cfoust/cy", - "https://terminaltrove.com/cyme/": "https://github.com/tuna-f1sh/cyme", - "https://terminaltrove.com/daff/": "https://github.com/paulfitz/daff", - "https://terminaltrove.com/daylight/": "https://github.com/jbreckmckye/daylight", - "https://terminaltrove.com/dblab/": "https://github.com/danvergara/dblab", - "https://terminaltrove.com/dcv/": "https://github.com/tokuhirom/dcv", - "https://terminaltrove.com/ddgr/": "https://github.com/jarun/ddgr", - "https://terminaltrove.com/ddv/": "https://github.com/lusingander/ddv", - "https://terminaltrove.com/deletor/": "https://github.com/pashkov256/deletor", - "https://terminaltrove.com/delta/": "https://github.com/dandavison/delta", - "https://terminaltrove.com/desed/": "https://github.com/SoptikHa2/desed", - "https://terminaltrove.com/devzat/": "https://github.com/quackduck/devzat", - "https://terminaltrove.com/dhv/": "https://github.com/davep/dhv", - "https://terminaltrove.com/diffnav/": "https://github.com/dlvhdr/diffnav", - "https://terminaltrove.com/difftastic/": "https://github.com/Wilfred/difftastic", - "https://terminaltrove.com/dirsearch/": "https://github.com/maurosoria/dirsearch", - "https://terminaltrove.com/diskonaut/": "https://github.com/imsnif/diskonaut", - "https://terminaltrove.com/dive/": "https://github.com/wagoodman/dive", - "https://terminaltrove.com/dns53/": "https://github.com/purpleclay/dns53", - "https://terminaltrove.com/docfd/": "https://github.com/darrenldl/docfd", - "https://terminaltrove.com/doggo/": "https://github.com/mr-karan/doggo", - "https://terminaltrove.com/dolphie/": "https://github.com/charles-001/dolphie", - "https://terminaltrove.com/domain-check/": "https://github.com/saidutt46/domain-check", - "https://terminaltrove.com/dotbins/": "https://github.com/basnijholt/dotbins", - "https://terminaltrove.com/dotenvhub/": "https://github.com/Zaloog/dotenvhub", - "https://terminaltrove.com/doxx/": "https://github.com/bgreenwell/doxx", - "https://terminaltrove.com/drft/": "https://codeberg.org/ncts/drft", - "https://terminaltrove.com/dstask/": "https://github.com/naggie/dstask", - "https://terminaltrove.com/dstp/": "https://github.com/ycd/dstp", - "https://terminaltrove.com/dte/": "https://github.com/craigbarnes/dte", - "https://terminaltrove.com/dtop/": "https://github.com/StakeSquid/dtop", - "https://terminaltrove.com/dua/": "https://github.com/Byron/dua-cli", - "https://terminaltrove.com/ducker/": "https://github.com/robertpsoane/ducker", - "https://terminaltrove.com/dug/": "https://github.com/unfrl/dug", - "https://terminaltrove.com/durdraw/": "https://github.com/cmang/durdraw", - "https://terminaltrove.com/dusage/": "https://github.com/mihaigalos/dusage", - "https://terminaltrove.com/dust/": "https://github.com/bootandy/dust", - "https://terminaltrove.com/dyff/": "https://github.com/homeport/dyff", - "https://terminaltrove.com/dysk/": "https://github.com/canop/dysk", - "https://terminaltrove.com/e1s/": "https://github.com/keidarcy/e1s", - "https://terminaltrove.com/ecscope/": "https://github.com/dhth/ecscope", - "https://terminaltrove.com/eddy/": "https://github.com/70sh1/eddy", - "https://terminaltrove.com/eg/": "https://github.com/srsudar/eg", - "https://terminaltrove.com/eget/": "https://github.com/zyedidia/eget", - "https://terminaltrove.com/enola/": "https://github.com/TheYahya/enola", - "https://terminaltrove.com/envfetch/": "https://github.com/ankddev/envfetch", - "https://terminaltrove.com/envx/": "https://github.com/mikeleppane/envx", - "https://terminaltrove.com/erdtree/": "https://github.com/solidiquis/erdtree", - "https://terminaltrove.com/ereandel/": "https://github.com/blmayer/ereandel", - "https://terminaltrove.com/erldash/": "https://github.com/sile/erldash", - "https://terminaltrove.com/euporie/": "https://github.com/joouha/euporie", - "https://terminaltrove.com/eva/": "https://github.com/oppiliappan/eva", - "https://terminaltrove.com/exosphere/": "https://github.com/mrdaemon/exosphere", - "https://terminaltrove.com/eza/": "https://github.com/eza-community/eza", - "https://terminaltrove.com/fastfetch/": "https://github.com/fastfetch-cli/fastfetch", - "https://terminaltrove.com/fat/": "https://github.com/Zuhaitz-dev/fat", - "https://terminaltrove.com/fblog/": "https://github.com/brocode/fblog", - "https://terminaltrove.com/fclones/": "https://github.com/pkolaczk/fclones", - "https://terminaltrove.com/feluda/": "https://github.com/anistark/feluda", - "https://terminaltrove.com/fend/": "https://github.com/printfn/fend", - "https://terminaltrove.com/fex/": "https://github.com/18alantom/fex", - "https://terminaltrove.com/ffuf/": "https://github.com/ffuf/ffuf", - "https://terminaltrove.com/flamelens/": "https://github.com/YS-L/flamelens", - "https://terminaltrove.com/flameshow/": "https://github.com/laixintao/flameshow", - "https://terminaltrove.com/flawz/": "https://github.com/orhun/flawz", - "https://terminaltrove.com/fli/": "https://github.com/fractalops/fli", - "https://terminaltrove.com/flowcontrol/": "https://github.com/neurocyte/flow", - "https://terminaltrove.com/flowrs/": "https://github.com/jvanbuel/flowrs", - "https://terminaltrove.com/fm/": "https://github.com/mistakenelf/fm", - "https://terminaltrove.com/fnc/": "https://fnc.bsdbox.org/index", - "https://terminaltrove.com/fnm/": "https://github.com/Schniz/fnm", - "https://terminaltrove.com/fnt/": "https://github.com/alexmyczko/fnt", - "https://terminaltrove.com/fnug/": "https://github.com/nickolaj-jepsen/fnug", - "https://terminaltrove.com/forgit/": "https://github.com/wfxr/forgit", - "https://terminaltrove.com/fork-cleaner/": "https://github.com/caarlos0/fork-cleaner", - "https://terminaltrove.com/fq/": "https://github.com/wader/fq", - "https://terminaltrove.com/froggit/": "https://github.com/thewizardshell/froggit", - "https://terminaltrove.com/fselect/": "https://github.com/jhspetersson/fselect", - "https://terminaltrove.com/ftdv/": "https://github.com/wtnqk/ftdv", - "https://terminaltrove.com/fuzpad/": "https://github.com/JianZcar/FuzPad", - "https://terminaltrove.com/fx/": "https://github.com/antonmedv/fx", - "https://terminaltrove.com/fztea/": "https://github.com/jon4hz/fztea", - "https://terminaltrove.com/g/": "https://github.com/Equationzhao/g", - "https://terminaltrove.com/g1c/": "https://github.com/nlamirault/g1c", - "https://terminaltrove.com/gallery-dl/": "https://github.com/mikf/gallery-dl", - "https://terminaltrove.com/gama/": "https://github.com/termkit/gama", - "https://terminaltrove.com/gaze/": "https://github.com/wtetsu/gaze", - "https://terminaltrove.com/gcli/": "https://github.com/herrhotzenplotz/gcli", - "https://terminaltrove.com/gdu/": "https://github.com/dundee/gdu", - "https://terminaltrove.com/gfold/": "https://github.com/nickgerace/gfold", - "https://terminaltrove.com/ggh/": "https://github.com/byawitz/ggh", - "https://terminaltrove.com/ghfetch/": "https://github.com/orangekame3/ghfetch", - "https://terminaltrove.com/ghq/": "https://github.com/x-motemen/ghq", - "https://terminaltrove.com/git-cc/": "https://github.com/SKalt/git-cc/", - "https://terminaltrove.com/git-split-diffs/": "https://github.com/banga/git-split-diffs", - "https://terminaltrove.com/git-who/": "https://github.com/sinclairtarget/git-who", - "https://terminaltrove.com/gita/": "https://github.com/nosarthur/gita", - "https://terminaltrove.com/gitid/": "https://github.com/nathabonfim59/gitid", - "https://terminaltrove.com/gitnr/": "https://github.com/reemus-dev/gitnr", - "https://terminaltrove.com/gitsnip/": "https://github.com/dagimg-dot/gitsnip", - "https://terminaltrove.com/gittype/": "https://github.com/unhappychoice/gittype", - "https://terminaltrove.com/gitu/": "https://github.com/altsem/gitu", - "https://terminaltrove.com/glues/": "https://github.com/gluesql/glues", - "https://terminaltrove.com/gobackup/": "https://github.com/gobackup/gobackup", - "https://terminaltrove.com/gobang/": "https://github.com/TaKO8Ki/gobang", - "https://terminaltrove.com/gocker/": "https://github.com/micoli/gocker", - "https://terminaltrove.com/gocovsh/": "https://github.com/orlangure/gocovsh", - "https://terminaltrove.com/godap/": "https://github.com/Macmod/godap", - "https://terminaltrove.com/goji/": "https://github.com/muandane/goji", - "https://terminaltrove.com/gollama/": "https://github.com/sammcj/gollama", - "https://terminaltrove.com/gomi/": "https://github.com/babarot/gomi", - "https://terminaltrove.com/gomuks/": "https://github.com/tulir/gomuks", - "https://terminaltrove.com/goose/": "https://github.com/pressly/goose", - "https://terminaltrove.com/gopass/": "https://github.com/gopasspw/gopass", - "https://terminaltrove.com/gotip/": "https://github.com/lusingander/gotip", - "https://terminaltrove.com/goto/": "https://github.com/grafviktor/goto", - "https://terminaltrove.com/gotop/": "https://github.com/xxxserxxx/gotop", - "https://terminaltrove.com/gotp/": "https://git.sr.ht/~shulhan/gotp", - "https://terminaltrove.com/gotz/": "https://github.com/merschformann/gotz", - "https://terminaltrove.com/gowall/": "https://github.com/Achno/gowall", - "https://terminaltrove.com/grex/": "https://github.com/pemistahl/grex", - "https://terminaltrove.com/gri/": "https://github.com/pycontribs/gri", - "https://terminaltrove.com/gruyere/": "https://github.com/savannahostrowski/gruyere", - "https://terminaltrove.com/grv/": "https://github.com/rgburke/grv", - "https://terminaltrove.com/gtrash/": "https://github.com/umlx5h/gtrash", - "https://terminaltrove.com/gurk/": "https://github.com/boxdot/gurk-rs", - "https://terminaltrove.com/hackernews-tui/": "https://github.com/aome510/hackernews-TUI", - "https://terminaltrove.com/haiti/": "https://github.com/noraj/haiti", - "https://terminaltrove.com/halp/": "https://github.com/orhun/halp", - "https://terminaltrove.com/hapless/": "https://github.com/bmwant/hapless", - "https://terminaltrove.com/harlequin/": "https://github.com/tconbeer/harlequin", - "https://terminaltrove.com/has/": "https://github.com/kdabir/has", - "https://terminaltrove.com/havn/": "https://github.com/mrjackwills/havn", - "https://terminaltrove.com/hdf5_ui/": "https://github.com/rhuygen/hdf5_ui", - "https://terminaltrove.com/heh/": "https://github.com/ndd7xv/heh", - "https://terminaltrove.com/helix/": "https://github.com/helix-editor/helix", - "https://terminaltrove.com/heretek/": "https://github.com/wcampbell0x2a/heretek", - "https://terminaltrove.com/hevi/": "https://github.com/Arnau478/hevi", - "https://terminaltrove.com/hexabyte/": "https://github.com/thetacom/hexabyte", - "https://terminaltrove.com/hexhog/": "https://github.com/DVDTSB/hexhog", - "https://terminaltrove.com/hexowl/": "https://github.com/dece2183/hexowl", - "https://terminaltrove.com/hexpatch/": "https://github.com/Etto48/HexPatch", - "https://terminaltrove.com/hexyl/": "https://github.com/sharkdp/hexyl", - "https://terminaltrove.com/hf/": "https://github.com/sorairolake/hf", - "https://terminaltrove.com/hike/": "https://github.com/davep/hike", - "https://terminaltrove.com/hishtory/": "https://github.com/ddworken/hishtory", - "https://terminaltrove.com/hl/": "https://github.com/pamburus/hl", - "https://terminaltrove.com/hledger-ui/": "https://github.com/simonmichael/hledger", - "https://terminaltrove.com/hledger/": "https://github.com/simonmichael/hledger", - "https://terminaltrove.com/hoard/": "https://github.com/Hyde46/hoard", - "https://terminaltrove.com/hostctl/": "https://github.com/guumaster/hostctl", - "https://terminaltrove.com/hours/": "https://github.com/dhth/hours", - "https://terminaltrove.com/hstr/": "https://github.com/dvorka/hstr", - "https://terminaltrove.com/httm/": "https://github.com/kimono-koans/httm", - "https://terminaltrove.com/httplab/": "https://github.com/qustavo/httplab", - "https://terminaltrove.com/httpmonitor/": "https://github.com/ricoberger/httpmonitor", - "https://terminaltrove.com/httpstat/": "https://github.com/reorx/httpstat", - "https://terminaltrove.com/httpyac/": "https://github.com/anweber/httpyac", - "https://terminaltrove.com/hurl/": "https://github.com/Orange-OpenSource/hurl", - "https://terminaltrove.com/hwatch/": "https://github.com/blacknon/hwatch", - "https://terminaltrove.com/hwinfo-tui/": "https://github.com/JuanjoFuchs/hwinfo-tui", - "https://terminaltrove.com/hygg/": "https://github.com/kruserr/hygg", - "https://terminaltrove.com/hyperfine/": "https://github.com/sharkdp/hyperfine", - "https://terminaltrove.com/iamb/": "https://github.com/ulyssa/iamb", - "https://terminaltrove.com/igrep/": "https://github.com/konradsz/igrep/", - "https://terminaltrove.com/imgcat/": "https://github.com/danielgatis/imgcat", - "https://terminaltrove.com/impala/": "https://github.com/pythops/impala", - "https://terminaltrove.com/incplot/": "https://github.com/InCom-0/incplot", - "https://terminaltrove.com/inspect-cert-chain/": "https://github.com/robjtede/inspect-cert-chain", - "https://terminaltrove.com/intelli-shell/": "https://github.com/lasantosr/intelli-shell", - "https://terminaltrove.com/intentrace/": "https://github.com/sectordistrict/intentrace", - "https://terminaltrove.com/intermodal/": "https://github.com/casey/intermodal", - "https://terminaltrove.com/irssi/": "https://github.com/irssi/irssi", - "https://terminaltrove.com/isd/": "https://github.com/isd-project/isd", - "https://terminaltrove.com/jaq/": "https://github.com/01mf02/jaq", - "https://terminaltrove.com/jc/": "https://github.com/kellyjonbrazil/jc", - "https://terminaltrove.com/jellex/": "https://github.com/kellyjonbrazil/jellex", - "https://terminaltrove.com/jira-cli/": "https://github.com/ankitpokhrel/jira-cli", - "https://terminaltrove.com/jiratui/": "https://github.com/whyisdifficult/jiratui", - "https://terminaltrove.com/jjj/": "https://github.com/icorbrey/jjj", - "https://terminaltrove.com/jjui/": "https://github.com/idursun/jjui", - "https://terminaltrove.com/jless/": "https://github.com/PaulJuliusMartinez/jless", - "https://terminaltrove.com/jnv/": "https://github.com/ynqa/jnv", - "https://terminaltrove.com/jocalsend/": "https://git.kittencollective.com/nebkor/joecalsend", - "https://terminaltrove.com/jq/": "https://github.com/jqlang/jq", - "https://terminaltrove.com/jql/": "https://github.com/yamafaktory/jql", - "https://terminaltrove.com/jqp/": "https://github.com/noahgorstein/jqp", - "https://terminaltrove.com/jrnl/": "https://github.com/jrnl-org/jrnl", - "https://terminaltrove.com/judo/": "https://github.com/giacomopiccinini/judo", - "https://terminaltrove.com/just/": "https://github.com/casey/just", - "https://terminaltrove.com/jwt-ui/": "https://github.com/jwt-rs/jwt-ui", - "https://terminaltrove.com/k9s/": "https://github.com/derailed/k9s", - "https://terminaltrove.com/kakoune/": "https://github.com/mawww/kakoune", - "https://terminaltrove.com/kalker/": "https://github.com/PaddiM8/kalker", - "https://terminaltrove.com/kanban-tui/": "https://github.com/Zaloog/kanban-tui", - "https://terminaltrove.com/kanha/": "https://github.com/pwnwriter/kanha", - "https://terminaltrove.com/kaskade/": "https://github.com/sauljabin/kaskade", - "https://terminaltrove.com/kat/": "https://github.com/MacroPower/kat", - "https://terminaltrove.com/kb/": "https://github.com/gnebbia/kb", - "https://terminaltrove.com/kbt/": "https://github.com/bloznelis/kbt", - "https://terminaltrove.com/kdash/": "https://github.com/kdash-rs/kdash", - "https://terminaltrove.com/keep-alive/": "https://github.com/stigoleg/keep-alive", - "https://terminaltrove.com/keyb/": "https://github.com/kencx/keyb", - "https://terminaltrove.com/khal/": "https://github.com/pimutils/khal", - "https://terminaltrove.com/kibi/": "https://github.com/ilai-deutel/kibi", - "https://terminaltrove.com/kl/": "https://github.com/robinovitch61/kl/", - "https://terminaltrove.com/kmon/": "https://github.com/orhun/kmon", - "https://terminaltrove.com/koji/": "https://github.com/cococonscious/koji", - "https://terminaltrove.com/kondo/": "https://github.com/tbillington/kondo", - "https://terminaltrove.com/kplay/": "https://github.com/dhth/kplay", - "https://terminaltrove.com/ktea/": "https://github.com/jonas-grgt/ktea", - "https://terminaltrove.com/ktool/": "https://github.com/0cyn/ktool", - "https://terminaltrove.com/ktop/": "https://github.com/vladimirvivien/ktop", - "https://terminaltrove.com/kubecolor/": "https://github.com/kubecolor/kubecolor", - "https://terminaltrove.com/kure/": "https://github.com/GGP1/kure", - "https://terminaltrove.com/kyma/": "https://github.com/museslabs/kyma", - "https://terminaltrove.com/lazycelery/": "https://github.com/fguedes90/lazycelery", - "https://terminaltrove.com/lazydocker/": "https://github.com/jesseduffield/lazydocker", - "https://terminaltrove.com/lazygit/": "https://github.com/jesseduffield/lazygit", - "https://terminaltrove.com/lazyjj/": "https://github.com/Cretezy/lazyjj", - "https://terminaltrove.com/lazyjournal/": "https://github.com/Lifailon/lazyjournal", - "https://terminaltrove.com/lazynpm/": "https://github.com/jesseduffield/lazynpm", - "https://terminaltrove.com/lazysql/": "https://github.com/jorgerojas26/lazysql", - "https://terminaltrove.com/lazyssh/": "https://github.com/Adembc/lazyssh", - "https://terminaltrove.com/lemmeknow/": "https://github.com/swanandx/lemmeknow", - "https://terminaltrove.com/lemurs/": "https://github.com/coastalwhite/lemurs", - "https://terminaltrove.com/lexy/": "https://github.com/antoniorodr/lexy", - "https://terminaltrove.com/lf/": "https://github.com/gokcehan/lf", - "https://terminaltrove.com/lla/": "https://github.com/triyanox/lla", - "https://terminaltrove.com/lnav/": "https://github.com/tstack/lnav", - "https://terminaltrove.com/lobtui/": "https://github.com/pythops/lobtui", - "https://terminaltrove.com/loggo/": "https://github.com/aurc/loggo", - "https://terminaltrove.com/logmerger/": "https://github.com/ptmcg/logmerger", - "https://terminaltrove.com/logria/": "https://github.com/ReagentX/Logria", - "https://terminaltrove.com/logshark/": "https://github.com/ugosan/logshark", - "https://terminaltrove.com/logss/": "https://github.com/todoesverso/logss", - "https://terminaltrove.com/lsd/": "https://github.com/lsd-rs/lsd", - "https://terminaltrove.com/lsr/": "https://github.com/jmattaa/laser", - "https://terminaltrove.com/lssh/": "https://github.com/blacknon/lssh", - "https://terminaltrove.com/lstr/": "https://github.com/bgreenwell/lstr", - "https://terminaltrove.com/lue/": "https://github.com/superstarryeyes/lue", - "https://terminaltrove.com/ly/": "https://codeberg.org/fairyglade/ly", - "https://terminaltrove.com/lychee/": "https://github.com/lycheeverse/lychee", - "https://terminaltrove.com/macchina/": "https://github.com/Macchina-CLI/macchina", - "https://terminaltrove.com/macmon/": "https://github.com/vladkens/macmon", - "https://terminaltrove.com/mandown/": "https://github.com/Titor8115/mandown", - "https://terminaltrove.com/mani/": "https://github.com/alajmo/mani/", - "https://terminaltrove.com/mapscii/": "https://github.com/rastapasta/mapscii", - "https://terminaltrove.com/marchat/": "https://github.com/Cod-e-Codes/marchat", - "https://terminaltrove.com/mastui/": "https://github.com/kimusan/mastui/", - "https://terminaltrove.com/mc/": "https://github.com/MidnightCommander/mc", - "https://terminaltrove.com/mcat/": "https://github.com/Skardyy/mcat", - "https://terminaltrove.com/mcp-probe/": "https://github.com/conikeec/mcp-probe", - "https://terminaltrove.com/mdcat/": "https://github.com/swsnr/mdcat", - "https://terminaltrove.com/mdns-scanner/": "https://github.com/CramBL/mdns-scanner", - "https://terminaltrove.com/mdtt/": "https://github.com/szktkfm/mdtt", - "https://terminaltrove.com/meli/": "https://github.com/meli/meli", - "https://terminaltrove.com/menyoki/": "https://github.com/orhun/menyoki", - "https://terminaltrove.com/mergiraf/": "https://codeberg.org/mergiraf/mergiraf", - "https://terminaltrove.com/meteor/": "https://github.com/stefanlogue/meteor", - "https://terminaltrove.com/micro/": "https://github.com/zyedidia/micro", - "https://terminaltrove.com/miller/": "https://github.com/johnkerl/miller", - "https://terminaltrove.com/mise/": "https://github.com/jdx/mise", - "https://terminaltrove.com/mitmproxy/": "https://github.com/mitmproxy/mitmproxy", - "https://terminaltrove.com/moc/": "https://moc.daper.net/download", - "https://terminaltrove.com/moe/": "https://github.com/fox0430/moe", - "https://terminaltrove.com/moneyterm/": "https://github.com/ChrisBuilds/moneyterm", - "https://terminaltrove.com/monolith/": "https://github.com/Y2Z/monolith", - "https://terminaltrove.com/motus/": "https://github.com/oleiade/motus", - "https://terminaltrove.com/mprocs/": "https://github.com/pvolok/mprocs", - "https://terminaltrove.com/mqttui/": "https://github.com/EdJoPaTo/mqttui/", - "https://terminaltrove.com/mufetch/": "https://github.com/ashish0kumar/mufetch", - "https://terminaltrove.com/mult/": "https://github.com/dhth/mult", - "https://terminaltrove.com/musikcube/": "https://github.com/clangen/musikcube", - "https://terminaltrove.com/nap/": "https://github.com/maaslalani/nap", - "https://terminaltrove.com/navi/": "https://github.com/denisidoro/navi", - "https://terminaltrove.com/ncdu/": "https://dev.yorhel.nl/ncdu", - "https://terminaltrove.com/ncspot/": "https://github.com/hrkfdn/ncspot", - "https://terminaltrove.com/needs/": "https://github.com/NQMVD/needs", - "https://terminaltrove.com/nemu/": "https://github.com/nemuTUI/nemu", - "https://terminaltrove.com/neomutt/": "https://github.com/neomutt/neomutt", - "https://terminaltrove.com/neoss/": "https://github.com/PabloLec/neoss", - "https://terminaltrove.com/neovim/": "https://github.com/neovim/neovim", - "https://terminaltrove.com/nerdlog/": "https://github.com/dimonomid/nerdlog", - "https://terminaltrove.com/nethogs/": "https://github.com/raboof/nethogs", - "https://terminaltrove.com/netop/": "https://github.com/ZingerLittleBee/netop", - "https://terminaltrove.com/netscanner/": "https://github.com/Chleba/netscanner", - "https://terminaltrove.com/netshow/": "https://github.com/taylorwilsdon/netshow", - "https://terminaltrove.com/nkt/": "https://git.sr.ht/~fjebaker/nkt", - "https://terminaltrove.com/nmail/": "https://github.com/d99kris/nmail", - "https://terminaltrove.com/nomino/": "https://github.com/yaa110/nomino", - "https://terminaltrove.com/noping/": "https://github.com/octo/liboping", - "https://terminaltrove.com/notox/": "https://github.com/Its-Just-Nans/notox", - "https://terminaltrove.com/nping/": "https://github.com/hanshuaikang/nping", - "https://terminaltrove.com/numbat/": "https://github.com/sharkdp/numbat", - "https://terminaltrove.com/nvitop/": "https://github.com/XuehaiPan/nvitop", - "https://terminaltrove.com/nvrs/": "https://github.com/adamperkowski/nvrs", - "https://terminaltrove.com/oatmeal/": "https://github.com/dustinblackman/oatmeal", - "https://terminaltrove.com/octocov/": "https://github.com/k1LoW/octocov", - "https://terminaltrove.com/octotype/": "https://github.com/mahlquistj/octotype", - "https://terminaltrove.com/oha/": "https://github.com/hatoo/oha", - "https://terminaltrove.com/omm/": "https://github.com/dhth/omm", - "https://terminaltrove.com/onefetch/": "https://github.com/o2sh/onefetch", - "https://terminaltrove.com/openapi-tui/": "https://github.com/zaghaghi/openapi-tui", - "https://terminaltrove.com/opencubicplayer/": "https://github.com/mywave82/opencubicplayer", - "https://terminaltrove.com/oq/": "https://github.com/plutov/oq", - "https://terminaltrove.com/orbiton/": "https://github.com/xyproto/orbiton", - "https://terminaltrove.com/oryx/": "https://github.com/pythops/oryx", - "https://terminaltrove.com/osintui/": "https://github.com/wssheldon/osintui", - "https://terminaltrove.com/oterm/": "https://github.com/ggozad/oterm", - "https://terminaltrove.com/otree/": "https://github.com/fioncat/otree", - "https://terminaltrove.com/otti/": "https://github.com/dnaka91/otti", - "https://terminaltrove.com/ouch/": "https://github.com/ouch-org/ouch", - "https://terminaltrove.com/outside/": "https://github.com/BaconIsAVeg/outside", - "https://terminaltrove.com/ov/": "https://github.com/noborus/ov", - "https://terminaltrove.com/ox/": "https://github.com/curlpipe/ox", - "https://terminaltrove.com/oxker/": "https://github.com/mrjackwills/oxker", - "https://terminaltrove.com/packemon/": "https://github.com/ddddddO/packemon", - "https://terminaltrove.com/pacseek/": "https://github.com/moson-mo/pacseek", - "https://terminaltrove.com/papis/": "https://github.com/papis/papis", - "https://terminaltrove.com/para-cada/": "https://github.com/gergelyk/para-cada", - "https://terminaltrove.com/parllama/": "https://github.com/paulrobello/parllama", - "https://terminaltrove.com/parqv/": "https://github.com/sanspareilsmyn/parqv", - "https://terminaltrove.com/passepartui/": "https://github.com/kardwen/passepartui", - "https://terminaltrove.com/pastel/": "https://github.com/sharkdp/pastel", - "https://terminaltrove.com/patat/": "https://github.com/jaspervdj/patat", - "https://terminaltrove.com/patch-hub/": "https://github.com/kworkflow/patch-hub", - "https://terminaltrove.com/pathos/": "https://github.com/chip/pathos", - "https://terminaltrove.com/pdu/": "https://github.com/KSXGitHub/parallel-disk-usage", - "https://terminaltrove.com/peco/": "https://github.com/peco/peco", - "https://terminaltrove.com/peplum/": "https://github.com/davep/peplum", - "https://terminaltrove.com/pet/": "https://github.com/knqyf263/pet", - "https://terminaltrove.com/pgcli/": "https://github.com/dbcli/pgcli", - "https://terminaltrove.com/pgtree/": "https://github.com/joknarf/pgtree", - "https://terminaltrove.com/phetch/": "https://github.com/xvxx/phetch", - "https://terminaltrove.com/pik/": "https://github.com/jacek-kurlit/pik", - "https://terminaltrove.com/pillager/": "https://github.com/brittonhayes/pillager", - "https://terminaltrove.com/pingtop/": "https://github.com/laixintao/pingtop", - "https://terminaltrove.com/pipeform/": "https://github.com/magodo/pipeform", - "https://terminaltrove.com/pkgtop/": "https://github.com/orhun/pkgtop", - "https://terminaltrove.com/planor/": "https://github.com/mrusme/planor", - "https://terminaltrove.com/pls/": "https://github.com/pls-rs/pls", - "https://terminaltrove.com/pocker/": "https://github.com/pommee/Pocker", - "https://terminaltrove.com/podliner/": "https://github.com/timkicker/podliner", - "https://terminaltrove.com/portal/": "https://github.com/SpatiumPortae/portal", - "https://terminaltrove.com/posting/": "https://github.com/darrenburns/posting", - "https://terminaltrove.com/pproftui/": "https://github.com/Oloruntobi1/pproftui", - "https://terminaltrove.com/pqviewer/": "https://github.com/thread53/pqviewer", - "https://terminaltrove.com/presenterm/": "https://github.com/mfontanini/presenterm", - "https://terminaltrove.com/process-compose/": "https://github.com/F1bonacc1/process-compose", - "https://terminaltrove.com/procmux/": "https://github.com/napisani/procmux", - "https://terminaltrove.com/prs/": "https://github.com/dhth/prs", - "https://terminaltrove.com/pspg/": "https://github.com/okbob/pspg", - "https://terminaltrove.com/pueue/": "https://github.com/Nukesor/pueue", - "https://terminaltrove.com/puffin/": "https://github.com/siddhantac/puffin", - "https://terminaltrove.com/pug/": "https://github.com/leg100/pug", - "https://terminaltrove.com/pumas/": "https://github.com/graelo/pumas", - "https://terminaltrove.com/pvetui/": "https://github.com/devnullvoid/pvetui", - "https://terminaltrove.com/pvw/": "https://github.com/allyring/pvw", - "https://terminaltrove.com/pwdsafety/": "https://github.com/edoardottt/pwdsafety", - "https://terminaltrove.com/pysentation/": "https://github.com/mimseyedi/pysentation", - "https://terminaltrove.com/qmassa/": "https://github.com/ulissesf/qmassa", - "https://terminaltrove.com/qq/": "https://github.com/JFryy/qq/", - "https://terminaltrove.com/qrc/": "https://github.com/fumiyas/qrc", - "https://terminaltrove.com/qrtool/": "https://github.com/sorairolake/qrtool", - "https://terminaltrove.com/qsv/": "https://github.com/jqnatividad/qsv", - "https://terminaltrove.com/rainfrog/": "https://github.com/achristmascarl/rainfrog", - "https://terminaltrove.com/rclone/": "https://github.com/rclone/rclone", - "https://terminaltrove.com/reader/": "https://github.com/mrusme/reader", - "https://terminaltrove.com/recoverpy/": "https://github.com/PabloLec/RecoverPy", - "https://terminaltrove.com/reddix/": "https://github.com/ck-zhang/reddix", - "https://terminaltrove.com/redu/": "https://github.com/drdo/redu", - "https://terminaltrove.com/regname/": "https://github.com/linkdd/regname", - "https://terminaltrove.com/renux/": "https://github.com/andrianllmm/renux", - "https://terminaltrove.com/resterm/": "https://github.com/unkn0wn-root/resterm", - "https://terminaltrove.com/restic/": "https://github.com/restic/restic", - "https://terminaltrove.com/resto/": "https://github.com/abdfnx/resto", - "https://terminaltrove.com/rexi/": "https://github.com/royreznik/rexi", - "https://terminaltrove.com/rga/": "https://github.com/phiresky/ripgrep-all", - "https://terminaltrove.com/rhit/": "https://github.com/Canop/rhit", - "https://terminaltrove.com/riff/": "https://github.com/walles/riff", - "https://terminaltrove.com/roumon/": "https://github.com/becheran/roumon", - "https://terminaltrove.com/rsyncy/": "https://github.com/laktak/rsyncy", - "https://terminaltrove.com/rucola/": "https://github.com/Linus-Mussmaecher/rucola", - "https://terminaltrove.com/rum/": "https://github.com/thekarel/rum", - "https://terminaltrove.com/runal/": "https://github.com/emprcl/runal", - "https://terminaltrove.com/rustormy/": "https://github.com/Tairesh/rustormy", - "https://terminaltrove.com/rustscan/": "https://github.com/RustScan/RustScan", - "https://terminaltrove.com/s-tui/": "https://github.com/amanusk/s-tui", - "https://terminaltrove.com/s3scanner/": "https://github.com/sa7mon/S3Scanner", - "https://terminaltrove.com/sake/": "https://github.com/alajmo/sake", - "https://terminaltrove.com/sampler/": "https://github.com/sqshq/sampler", - "https://terminaltrove.com/scc/": "https://github.com/boyter/scc", - "https://terminaltrove.com/scli/": "https://github.com/isamert/scli", - "https://terminaltrove.com/scooter/": "https://github.com/thomasschafer/scooter", - "https://terminaltrove.com/sd/": "https://github.com/chmln/sd", - "https://terminaltrove.com/sen/": "https://github.com/TomasTomecek/sen", - "https://terminaltrove.com/senpai/": "https://git.sr.ht/~delthas/senpai/", - "https://terminaltrove.com/serie/": "https://github.com/lusingander/serie", - "https://terminaltrove.com/serpl/": "https://github.com/yassinebridi/serpl", - "https://terminaltrove.com/servitor/": "https://github.com/bentonedmondson/servitor", - "https://terminaltrove.com/shellcheck/": "https://github.com/koalaman/shellcheck", - "https://terminaltrove.com/sherlock/": "https://github.com/sherlock-project/sherlock", - "https://terminaltrove.com/sig/": "https://github.com/ynqa/sig", - "https://terminaltrove.com/simtool/": "https://github.com/azizuysal/simtool", - "https://terminaltrove.com/sizeof/": "https://github.com/zackproser/sizeof", - "https://terminaltrove.com/slack-term/": "https://github.com/erroneousboat/slack-term", - "https://terminaltrove.com/slides/": "https://github.com/maaslalani/slides", - "https://terminaltrove.com/slumber/": "https://github.com/LucasPickering/slumber", - "https://terminaltrove.com/smartcat/": "https://github.com/efugier/smartcat", - "https://terminaltrove.com/smassh/": "https://github.com/kraanzu/smassh", - "https://terminaltrove.com/sncli/": "https://github.com/insanum/sncli", - "https://terminaltrove.com/snowmachine/": "https://github.com/sontek/snowmachine", - "https://terminaltrove.com/sntop/": "https://sourceforge.net/projects/sntop/", - "https://terminaltrove.com/so/": "https://github.com/samtay/so", - "https://terminaltrove.com/sou/": "https://github.com/knqyf263/sou", - "https://terminaltrove.com/soundscope/": "https://github.com/bananaofhappiness/soundscope", - "https://terminaltrove.com/spiel/": "https://github.com/JoshKarpel/spiel", - "https://terminaltrove.com/sprofile/": "https://github.com/GoodBoyNeon/sprofile", - "https://terminaltrove.com/sq/": "https://github.com/neilotoole/sq", - "https://terminaltrove.com/sqly/": "https://github.com/nao1215/sqly", - "https://terminaltrove.com/squall/": "https://github.com/driscollis/squall", - "https://terminaltrove.com/srgn/": "https://github.com/alexpovel/srgn", - "https://terminaltrove.com/ssh-list/": "https://github.com/akinoiro/ssh-list", - "https://terminaltrove.com/ssh-para/": "https://github.com/joknarf/ssh-para", - "https://terminaltrove.com/sshclick/": "https://github.com/karlot/sshclick", - "https://terminaltrove.com/sshs/": "https://github.com/quantumsheep/sshs", - "https://terminaltrove.com/ssl-checker/": "https://github.com/fabio42/ssl-checker", - "https://terminaltrove.com/ssm/": "https://github.com/lfaoro/ssm", - "https://terminaltrove.com/stew/": "https://github.com/marwanhawari/stew", - "https://terminaltrove.com/stormy/": "https://github.com/ashish0kumar/stormy", - "https://terminaltrove.com/stree/": "https://github.com/orangekame3/stree", - "https://terminaltrove.com/sttr/": "https://github.com/abhimanyu003/sttr", - "https://terminaltrove.com/stu/": "https://github.com/lusingander/stu", - "https://terminaltrove.com/sunbeam/": "https://github.com/pomdtr/sunbeam", - "https://terminaltrove.com/superfile/": "https://github.com/MHNightCat/superfile", - "https://terminaltrove.com/swaptop/": "https://github.com/luis-ota/swaptop", - "https://terminaltrove.com/systemctl-tui/": "https://github.com/rgwood/systemctl-tui", - "https://terminaltrove.com/systemd-manager-tui/": "https://github.com/matheus-git/systemd-manager-tui", - "https://terminaltrove.com/systeroid/": "https://github.com/orhun/systeroid", - "https://terminaltrove.com/t-rec/": "https://github.com/sassman/t-rec-rs", - "https://terminaltrove.com/tabiew/": "https://github.com/shshemi/tabiew", - "https://terminaltrove.com/tailspin/": "https://github.com/bensadeh/tailspin", - "https://terminaltrove.com/taproom/": "https://github.com/hzqtc/taproom", - "https://terminaltrove.com/tasktimer/": "https://github.com/caarlos0/tasktimer", - "https://terminaltrove.com/tatuin/": "https://github.com/panter-dsd/tatuin", - "https://terminaltrove.com/tcping/": "https://github.com/pouriyajamshidi/tcping", - "https://terminaltrove.com/tcpterm/": "https://github.com/sachaos/tcpterm", - "https://terminaltrove.com/tealdeer/": "https://github.com/dbrgn/tealdeer", - "https://terminaltrove.com/tegratop/": "https://github.com/pythops/tegratop", - "https://terminaltrove.com/television/": "https://github.com/alexpasmantier/television", - "https://terminaltrove.com/tenere/": "https://github.com/pythops/tenere", - "https://terminaltrove.com/tere/": "https://github.com/mgunyho/tere", - "https://terminaltrove.com/termdbms/": "https://github.com/mathaou/termdbms", - "https://terminaltrove.com/termframe/": "https://github.com/pamburus/termframe", - "https://terminaltrove.com/terminaltexteffects/": "https://github.com/ChrisBuilds/terminaltexteffects", - "https://terminaltrove.com/termpicker/": "https://github.com/ChausseBenjamin/termpicker", - "https://terminaltrove.com/termscp/": "https://github.com/veeso/termscp", - "https://terminaltrove.com/termshark/": "https://github.com/gcla/termshark", - "https://terminaltrove.com/terraform-tui/": "https://github.com/idoavrah/terraform-tui", - "https://terminaltrove.com/tewi/": "https://github.com/anlar/tewi", - "https://terminaltrove.com/textql/": "https://github.com/dinedal/textql", - "https://terminaltrove.com/textual-astview/": "https://github.com/davep/textual-astview", - "https://terminaltrove.com/textual-paint/": "https://github.com/1j01/textual-paint", - "https://terminaltrove.com/tgpt/": "https://github.com/aandrew-me/tgpt", - "https://terminaltrove.com/tgt/": "https://github.com/FedericoBruzzone/tgt", - "https://terminaltrove.com/theattyr/": "https://github.com/orhun/theattyr", - "https://terminaltrove.com/ticker/": "https://github.com/achannarasappa/ticker", - "https://terminaltrove.com/tickrs/": "https://github.com/tarkah/tickrs", - "https://terminaltrove.com/tinboard/": "https://github.com/davep/tinboard", - "https://terminaltrove.com/tinifier/": "https://github.com/tarampampam/tinifier", - "https://terminaltrove.com/tiptop/": "https://github.com/nschloe/tiptop", - "https://terminaltrove.com/tldr-pages/": "https://github.com/tldr-pages/tldr", - "https://terminaltrove.com/tldx/": "https://github.com/brandonyoungdev/tldx", - "https://terminaltrove.com/tofuref/": "https://github.com/djetelina/tofuref", - "https://terminaltrove.com/tokei/": "https://github.com/xampprocky/tokei", - "https://terminaltrove.com/toolong/": "https://github.com/Textualize/toolong", - "https://terminaltrove.com/toot/": "https://github.com/ihabunek/toot", - "https://terminaltrove.com/topgrade/": "https://github.com/topgrade-rs/topgrade/", - "https://terminaltrove.com/torra/": "https://github.com/stabldev/torrra", - "https://terminaltrove.com/tracexec/": "https://github.com/kxxt/tracexec", - "https://terminaltrove.com/tracker/": "https://github.com/ShenMian/tracker", - "https://terminaltrove.com/tran/": "https://github.com/abdfnx/tran", - "https://terminaltrove.com/tre/": "https://github.com/dduan/tre", - "https://terminaltrove.com/trippy/": "https://github.com/fujiapple852/trippy/", - "https://terminaltrove.com/ttyper/": "https://github.com/max-niederman/ttyper", - "https://terminaltrove.com/ttyplot/": "https://github.com/tenox7/ttyplot", - "https://terminaltrove.com/tufw/": "https://github.com/peltho/tufw", - "https://terminaltrove.com/tui-journal/": "https://github.com/AmmarAbouZor/tui-journal", - "https://terminaltrove.com/tuime/": "https://github.com/nate-sys/tuime", - "https://terminaltrove.com/tuios/": "https://github.com/Gaurav-Gosain/tuios", - "https://terminaltrove.com/tuisky/": "https://github.com/sugyan/tuisky", - "https://terminaltrove.com/tuistash/": "https://github.com/edmocosta/tuistash", - "https://terminaltrove.com/tukai/": "https://github.com/hlsxx/tukai", - "https://terminaltrove.com/tuptime/": "https://github.com/rfmoz/tuptime", - "https://terminaltrove.com/tut/": "https://github.com/RasmusLindroth/tut", - "https://terminaltrove.com/twitch-tui/": "https://github.com/Xithrius/twitch-tui", - "https://terminaltrove.com/typeinc/": "https://github.com/AnirudhG07/typeinc", - "https://terminaltrove.com/typespeed/": "https://sourceforge.net/projects/typespeed/files/typespeed/", - "https://terminaltrove.com/typioca/": "https://github.com/bloznelis/typioca", - "https://terminaltrove.com/typtea/": "https://github.com/ashish0kumar/typtea", - "https://terminaltrove.com/tz/": "https://github.com/oz/tz", - "https://terminaltrove.com/tzupdate/": "https://github.com/cdown/tzupdate", - "https://terminaltrove.com/ugdb/": "https://github.com/ftilde/ugdb", - "https://terminaltrove.com/ugm/": "https://github.com/ariasmn/ugm", - "https://terminaltrove.com/up/": "https://github.com/akavel/up", - "https://terminaltrove.com/updo/": "https://github.com/Owloops/updo", - "https://terminaltrove.com/uuinfo/": "https://github.com/Racum/uuinfo", - "https://terminaltrove.com/vectro/": "https://github.com/gurgeous/vectro", - "https://terminaltrove.com/vi-mongo/": "https://github.com/kopecmaciej/vi-mongo", - "https://terminaltrove.com/viddy/": "https://github.com/sachaos/viddy", - "https://terminaltrove.com/vifm/": "https://github.com/vifm/vifm", - "https://terminaltrove.com/vignore/": "https://github.com/james4ever0/vignore", - "https://terminaltrove.com/visidata/": "https://github.com/saulpw/visidata", - "https://terminaltrove.com/vscli/": "https://github.com/michidk/vscli", - "https://terminaltrove.com/wakey/": "https://github.com/jonathanruiz/wakey", - "https://terminaltrove.com/wg-cmd/": "https://github.com/AndrianBdn/wg-cmd", - "https://terminaltrove.com/wifitui/": "https://github.com/shazow/wifitui", - "https://terminaltrove.com/wiki-tui/": "https://github.com/Builditluc/wiki-tui", - "https://terminaltrove.com/wikiman/": "https://github.com/filiparag/wikiman", - "https://terminaltrove.com/wiper/": "https://github.com/ikebastuz/wiper", - "https://terminaltrove.com/wireman/": "https://github.com/preiter93/wireman", - "https://terminaltrove.com/wiremix/": "https://github.com/tsowell/wiremix", - "https://terminaltrove.com/wizu/": "https://github.com/sh1zen/wisu", - "https://terminaltrove.com/wordgrinder/": "https://github.com/davidgiven/wordgrinder", - "https://terminaltrove.com/wtfis/": "https://github.com/pirxthepilot/wtfis", - "https://terminaltrove.com/wut/": "https://github.com/shobrook/wut", - "https://terminaltrove.com/wuzz/": "https://github.com/asciimoo/wuzz", - "https://terminaltrove.com/xan/": "https://github.com/medialab/xan", - "https://terminaltrove.com/xbps-tui/": "https://codeberg.org/lukeflo/xbps-tui/", - "https://terminaltrove.com/xh/": "https://github.com/ducaale/xh", - "https://terminaltrove.com/xleak/": "https://github.com/bgreenwell/xleak", - "https://terminaltrove.com/xplr/": "https://github.com/sayanarijit/xplr", - "https://terminaltrove.com/yatto/": "https://github.com/handlebargh/yatto", - "https://terminaltrove.com/yazi/": "https://github.com/sxyazi/yazi", - "https://terminaltrove.com/youplot/": "https://github.com/red-data-tools/YouPlot", - "https://terminaltrove.com/yozefu/": "https://github.com/MAIF/yozefu", - "https://terminaltrove.com/yr/": "https://git.sr.ht/~timharek/yr", - "https://terminaltrove.com/yt-dlp/": "https://github.com/yt-dlp/yt-dlp", - "https://terminaltrove.com/zeit/": "https://github.com/mrusme/zeit", - "https://terminaltrove.com/zeitfetch/": "https://github.com/nidnogg/zeitfetch", - "https://terminaltrove.com/zellij/": "https://github.com/zellij-org/zellij", - "https://terminaltrove.com/zenith/": "https://github.com/bvaisvil/zenith", - "https://terminaltrove.com/zf/": "https://github.com/natecraddock/zf", - "https://terminaltrove.com/zigfetch/": "https://github.com/utox39/zigfetch", - "https://terminaltrove.com/zizmor/": "https://github.com/woodruffw/zizmor", - "https://terminaltrove.com/zmate/": "https://github.com/ziinaio/zmate", - "https://terminaltrove.com/zoxide/": "https://github.com/ajeetdsouza/zoxide", - "https://terminaltrove.com/zrok/": "https://github.com/openziti/zrok", - "https://terminaltrove.com/gitlogue/": "https://github.com/unhappychoice/gitlogue", - "https://terminaltrove.com/pdfgrep/": "https://gitlab.com/pdfgrep/pdfgrep", - "https://terminaltrove.com/sot/": "https://github.com/anistark/sot", - "https://terminaltrove.com/auggie/": "https://fandf.co/3JFejdh", - "https://terminaltrove.com/snipt/": "https://github.com/snipt/snipt", - "https://terminaltrove.com/filessh/": "https://github.com/JayanAXHF/filessh", - "https://terminaltrove.com/starlit/": "https://github.com/ashuhlee/starlit", - "https://terminaltrove.com/labcoat/": "https://github.com/jhillyerd/labcoat", - "https://terminaltrove.com/xpdig/": "https://github.com/brunoluiz/xpdig", - "https://terminaltrove.com/treemd/": "https://github.com/epistates/treemd", - "https://terminaltrove.com/mq/": "https://github.com/harehare/mq", - "https://terminaltrove.com/kyanos/": "https://github.com/hengyoush/kyanos", - "https://terminaltrove.com/toktop/": "https://github.com/htin1/toktop", - "https://terminaltrove.com/turm/": "https://github.com/kabouzeid/turm", - "https://terminaltrove.com/ibtop/": "https://github.com/JannikSt/ibtop", - "https://terminaltrove.com/oeis-tui/": "https://github.com/hako/oeis-tui", - "https://terminaltrove.com/e2c/": "https://github.com/nlamirault/e2c", - "https://terminaltrove.com/ast-grep/": "https://github.com/ast-grep/ast-grep", - "https://terminaltrove.com/csvi/": "https://github.com/hymkor/csvi", - "https://terminaltrove.com/pygitzen/": "https://github.com/SunnyTamang/pygitzen", - "https://terminaltrove.com/framework-tool-tui/": "https://github.com/grouzen/framework-tool-tui", - "https://terminaltrove.com/trex/": "https://github.com/samyakbardiya/trex", - "https://terminaltrove.com/qo/": "https://github.com/kiki-ki/go-qo", - "https://terminaltrove.com/b4n/": "https://github.com/fioletoven/b4n", - "https://terminaltrove.com/dnspyre/": "https://github.com/Tantalor93/dnspyre", - "https://terminaltrove.com/superseedr/": "https://github.com/Jagalite/superseedr", - "https://terminaltrove.com/rusticon/": "https://github.com/ronilan/rusticon", - "https://terminaltrove.com/depot/": "https://fandf.co/48yzJm7", - "https://terminaltrove.com/himalaya/": "https://github.com/pimalaya/himalaya", - "https://terminaltrove.com/opamui/": "https://github.com/nlamirault/opamui", - "https://terminaltrove.com/mlbt/": "https://github.com/mlb-rs/mlbt", - "https://terminaltrove.com/fresh/": "https://github.com/sinelaw/fresh", - "https://terminaltrove.com/sqlit/": "https://github.com/Maxteabag/sqlit", - "https://terminaltrove.com/git-interactive-rebase-tool/": "https://github.com/MitMaro/git-interactive-rebase-tool", - "https://terminaltrove.com/pomo/": "https://github.com/Bahaaio/pomo", - "https://terminaltrove.com/bookokrat/": "https://github.com/bugzmanov/bookokrat", - "https://terminaltrove.com/cpx/": "https://github.com/ozacod/cpx", - "https://terminaltrove.com/zuse/": "https://github.com/babycommando/zuse", - "https://terminaltrove.com/yt-x/": "https://github.com/Benexl/yt-x", - "https://terminaltrove.com/claws/": "https://github.com/clawscli/claws", - "https://terminaltrove.com/dotstate/": "https://github.com/serkanyersen/dotstate", - "https://terminaltrove.com/dawn/": "https://github.com/andrewmd5/dawn", - "https://terminaltrove.com/parqeye/": "https://github.com/kaushiksrini/parqeye", - "https://terminaltrove.com/nexus/": "https://github.com/pranav-cs-1/nexus", - "https://terminaltrove.com/ekphos/": "https://github.com/hanebox/ekphos", - "https://terminaltrove.com/vhs/": "https://github.com/charmbracelet/vhs", - "https://terminaltrove.com/tock/": "https://github.com/kriuchkov/tock", - "https://terminaltrove.com/pacsea/": "https://github.com/Firstp1ck/Pacsea", - "https://terminaltrove.com/envdiff/": "https://github.com/GBerghoff/envdiff", - "https://terminaltrove.com/offpunk/": "https://git.sr.ht/~lioploum/offpunk", - "https://terminaltrove.com/gorae/": "https://github.com/Han8931/gorae", - "https://terminaltrove.com/rovr/": "https://github.com/NSPC911/rovr", - "https://terminaltrove.com/snitch/": "https://github.com/karol-broda/snitch", - "https://terminaltrove.com/blueutil-tui/": "https://github.com/Zaloog/blueutil-tui", - "https://terminaltrove.com/x-cmd/": "https://github.com/x-cmd/x-cmd", - "https://terminaltrove.com/aic/": "https://github.com/arimxyer/aic", - "https://terminaltrove.com/handler/": "https://github.com/alDuncanson/Handler", - "https://terminaltrove.com/lazyworktree/": "https://github.com/chmouel/lazyworktree", - "https://terminaltrove.com/jolt/": "https://github.com/jordond/jolt", - "https://terminaltrove.com/pass-cli/": "https://github.com/ari1110/pass-cli", - "https://terminaltrove.com/cloudflare-speed-cli/": "https://github.com/kavehtehrani/cloudflare-speed-cli", - "https://terminaltrove.com/oyo/": "https://github.com/ahkohd/oyo", - "https://terminaltrove.com/sidecar/": "https://github.com/marcus/sidecar", - "https://terminaltrove.com/surge/": "https://github.com/surge-downloader/surge", - "https://terminaltrove.com/try-rs/": "https://github.com/tassiovirginio/try-rs", - "https://terminaltrove.com/tredis/": "https://github.com/huseyinbabal/tredis", - "https://terminaltrove.com/mole/": "https://github.com/tw93/mole", - "https://terminaltrove.com/vortix/": "https://github.com/Harry-kp/vortix", - "https://terminaltrove.com/tfjournal/": "https://github.com/Owloops/tfjournal", - "https://terminaltrove.com/endcord/": "https://github.com/sparklost/endcord", - "https://terminaltrove.com/pam/": "https://github.com/eduardofuncao/pam", - "https://terminaltrove.com/lnko/": "https://github.com/luanvil/lnko", - "https://terminaltrove.com/cull/": "https://github.com/legostin/cull", - "https://terminaltrove.com/zerobrew/": "https://github.com/lucasgelfond/zerobrew", - "https://terminaltrove.com/hazelnut/": "https://github.com/ricardodantas/hazelnut", - "https://terminaltrove.com/whosthere/": "https://github.com/ramonvermeulen/whosthere", - "https://terminaltrove.com/models/": "https://github.com/arimxyer/models", - "https://terminaltrove.com/xfr/": "https://github.com/lance0/xfr", - "https://terminaltrove.com/jiq/": "https://github.com/bellicose100xp/jiq", - "https://terminaltrove.com/perch/": "https://github.com/ricardodantas/perch", - "https://terminaltrove.com/ec/": "https://github.com/chojs23/ec", - "https://terminaltrove.com/climp/": "https://github.com/olivier-w/climp", - "https://terminaltrove.com/monitui/": "https://github.com/nathaniel-fargo/monitui", - "https://terminaltrove.com/dealve-tui/": "https://github.com/kurama/dealve-tui", - "https://terminaltrove.com/datui/": "https://github.com/derekwisong/datui", - "https://terminaltrove.com/lazykiq/": "https://github.com/kpumuk/lazykiq", - "https://terminaltrove.com/ralph-tui/": "https://github.com/subsy/ralph-tui", - "https://terminaltrove.com/hardcover-tui/": "https://github.com/NotMugil/hardcover-tui", - "https://terminaltrove.com/chatuino/": "https://github.com/julez-dev/chatuino", - "https://terminaltrove.com/mcdu/": "https://github.com/mikalv/mcdu", - "https://terminaltrove.com/eilmeldung/": "https://github.com/christo-auer/eilmeldung", - "https://terminaltrove.com/qman/": "https://github.com/plp13/qman", - "https://terminaltrove.com/octosql/": "https://github.com/cube2222/octosql", - "https://terminaltrove.com/gitv/": "https://github.com/JayanAXHF/gitv", - "https://terminaltrove.com/msgvault/": "https://github.com/wesm/msgvault", - "https://terminaltrove.com/tori/": "https://github.com/thobiasn/tori-cli", - "https://terminaltrove.com/rustnet/": "https://github.com/domcyrus/rustnet", - "https://terminaltrove.com/pikpaktui/": "https://github.com/Bengerthelorf/pikpaktui", - "https://terminaltrove.com/pop/": "https://github.com/charmbracelet/pop", - "https://terminaltrove.com/gptop/": "https://github.com/evilsocket/gptop", - "https://terminaltrove.com/taskdog/": "https://github.com/Kohei-Wada/taskdog", - "https://terminaltrove.com/omp-manager/": "https://github.com/marlocarlo/omp-manager", - "https://terminaltrove.com/tortuise/": "https://github.com/buildoak/tortuise", - "https://terminaltrove.com/rgx/": "https://github.com/brevity1swos/rgx", - "https://terminaltrove.com/micasa/": "https://github.com/cpcloud/micasa", - "https://terminaltrove.com/gittop/": "https://github.com/hjr265/gittop", - "https://terminaltrove.com/taws/": "https://github.com/huseyinbabal/taws", - "https://terminaltrove.com/amux/": "https://github.com/andyrewlee/amux", - "https://terminaltrove.com/strace-tui/": "https://github.com/Rodrigodd/strace-tui", - "https://terminaltrove.com/squix/": "https://github.com/eduardofuncao/squix", - "https://terminaltrove.com/cliamp/": "https://github.com/bjarneo/cliamp", - "https://terminaltrove.com/bpftop/": "https://github.com/Netflix/bpftop", - "https://terminaltrove.com/twig/": "https://github.com/workdone0/twig", - "https://terminaltrove.com/lazycut/": "https://github.com/emin-ozata/lazycut/", - "https://terminaltrove.com/aptui/": "https://github.com/mexirica/aptui", - "https://terminaltrove.com/tiki/": "https://github.com/boolean-maybe/tiki", - "https://terminaltrove.com/lyn/": "https://git.sr.ht/~timharek/lyn", - "https://terminaltrove.com/darya/": "https://github.com/mrkatebzadeh/darya", - "https://terminaltrove.com/lazyjira/": "https://github.com/textfuel/lazyjira", - "https://terminaltrove.com/jsongrep/": "https://github.com/micahkepe/jsongrep", - "https://terminaltrove.com/rfc_reader/": "https://github.com/ozan2003/rfc_reader", - "https://terminaltrove.com/otel-tui/": "https://github.com/ymtdzzz/otel-tui", - "https://terminaltrove.com/hyprmoncfg/": "https://hyprmoncfg.dev/", - "https://terminaltrove.com/llmfit/": "https://github.com/AlexsJones/llmfit", - "https://terminaltrove.com/gitsocial/": "https://github.com/gitsocial-org/gitsocial", - "https://terminaltrove.com/siggy/": "https://github.com/johnsideserf/siggy", - "https://terminaltrove.com/deadbranch/": "https://github.com/armgabrielyan/deadbranch", - "https://terminaltrove.com/gloomberb/": "https://github.com/vincelwt/gloomberb", - "https://terminaltrove.com/purple/": "https://github.com/erickochen/purple", - "https://terminaltrove.com/rustlens/": "https://github.com/yashksaini-coder/Rustlens", - "https://terminaltrove.com/lazyenv/": "https://github.com/lazynop/lazyenv", - "https://terminaltrove.com/netwatch/": "https://github.com/matthart1983/netwatch", - "https://terminaltrove.com/artui/": "https://github.com/fjonasALICE/arTui", - "https://terminaltrove.com/unifly/": "https://github.com/hyperb1iss/unifly", - "https://terminaltrove.com/sheets/": "https://github.com/maaslalani/sheets", - "https://terminaltrove.com/see-tui/": "https://github.com/NustyFrozen/SEE", - "https://terminaltrove.com/toast/": "https://github.com/paradise-runner/toast", - "https://terminaltrove.com/nv-monitor/": "https://github.com/wentbackward/nv-monitor", - "https://terminaltrove.com/hzfind/": "https://github.com/clouedoc/hzfind", - "https://terminaltrove.com/gitpane/": "https://github.com/affromero/gitpane", - "https://terminaltrove.com/mac-cleanup-go/": "https://github.com/2ykwang/mac-cleanup-go" -} \ No newline at end of file diff --git a/docs/terminal-trove/README.md b/docs/terminal-trove/README.md deleted file mode 100644 index 062e18524b..0000000000 --- a/docs/terminal-trove/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Awesome Tools Collection - -This directory contains curated lists and utilities for discovering and tracking awesome tools. - -## Terminal Trove Weekly Tools - -The `scrape_terminal_trove.py` script automatically scrapes [Terminal Trove](https://terminaltrove.com/new/) and generates a markdown file with new terminal tools organized by week. - -### Usage - -Run the scraper to generate/update the tools list: - -```bash -python3 scrape_terminal_trove.py -``` - -This will create `terminal_trove_weekly.md` containing all new tools from Terminal Trove. - -## Files - -- `scrape_terminal_trove.py` - Main scraper script -- `terminal_trove_weekly.md` - Generated weekly tools list (auto-generated) -- `README.md` - This file diff --git a/docs/terminal-trove/scrape_terminal_trove.py b/docs/terminal-trove/scrape_terminal_trove.py deleted file mode 100755 index 41aebb2633..0000000000 --- a/docs/terminal-trove/scrape_terminal_trove.py +++ /dev/null @@ -1,251 +0,0 @@ -#!/usr/bin/env python3 -""" -Scrape Terminal Trove new tools and save to markdown file weekly. -""" - -import urllib.request -import urllib.error -from datetime import datetime -import json -import os -import re -import time -from collections import OrderedDict - -# Guard against stale placeholder links previously scraped from TerminalTrove -PLACEHOLDER_PREFIX = "https://github.com/terminaltrove" - - -def is_placeholder_link(link): - if not link: - return True - return link.rstrip('/').startswith(PLACEHOLDER_PREFIX) - -def load_link_cache(cache_file): - """Load cached project links""" - if os.path.exists(cache_file): - try: - with open(cache_file, 'r') as f: - cache = json.load(f, object_pairs_hook=OrderedDict) - # Drop placeholders so we re-fetch on next run but keep order stable - filtered = OrderedDict() - for k, v in cache.items(): - if is_placeholder_link(v): - continue - if v and '?' in v: - v = v.split('?')[0] - filtered[k] = v - return filtered - except: - return {} - return {} - -def save_link_cache(cache, cache_file): - """Save project links to cache""" - try: - safe_cache = OrderedDict() - for k, v in cache.items(): - if is_placeholder_link(v): - continue - if v and '?' in v: - v = v.split('?')[0] - safe_cache[k] = v - with open(cache_file, 'w') as f: - json.dump(safe_cache, f, indent=2) - except: - pass - -def get_project_link(tool_url, cache): - """Fetch project link (GitHub, GitLab, etc.) from tool's Terminal Trove page""" - # Check cache first - if tool_url in cache: - return cache[tool_url] - - try: - headers = { - 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36' - } - req = urllib.request.Request(tool_url, headers=headers) - with urllib.request.urlopen(req, timeout=5) as response: - html = response.read().decode('utf-8') - - # Collect first external link from anchors on the project page - for match in re.finditer(r']+href=["\']([^"\']+)["\']', html, re.IGNORECASE): - link = match.group(1) - if not link.lower().startswith("http"): - continue - link = link.rstrip(').,\'"') - if 'terminaltrove.com' in link: - continue - # Strip tracking params - if '?' in link: - link = link.split('?')[0] - cache[tool_url] = link - return link - - cache[tool_url] = None - return None - except Exception as e: - cache[tool_url] = None - return None - -def scrape_terminal_trove(cache=None): - """Scrape Terminal Trove new tools page""" - if cache is None: - cache = {} - - url = "https://terminaltrove.com/new/" - - headers = { - 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36' - } - - try: - req = urllib.request.Request(url, headers=headers) - with urllib.request.urlopen(req, timeout=10) as response: - html_content = response.read().decode('utf-8') - except urllib.error.URLError as e: - print(f"Error fetching URL: {e}") - return None - - tools_data = {} - - # Parse date sections and tools using regex patterns - # Find all h2 headers with dates - date_pattern = r']*>([^<]+)' - dates = re.findall(date_pattern, html_content) - - # Split content by h2 headers to process each date section - sections = re.split(r']*>[^<]+', html_content) - - for i, date in enumerate(dates): - if i + 1 >= len(sections): - break - - section = sections[i + 1] - tools = [] - - # Find all list items in this section (until next h2 or next date) - # Pattern:
  • ...toolname...description...
  • - li_pattern = r']*class="[^"]*list-item[^"]*"[^>]*>(.*?)' - list_items = re.findall(li_pattern, section, re.DOTALL) - - for li_content in list_items: - # Extract tool name and URL - name_pattern = r']*class="[^"]*tt-link[^"]*"[^>]*href="([^"]*)"[^>]*>([^<]+)' - name_match = re.search(name_pattern, li_content) - - if not name_match: - continue - - tool_url = name_match.group(1) - tool_name = name_match.group(2).strip() - - # Extract description - desc_pattern = r'([^<]+)' - desc_match = re.search(desc_pattern, li_content) - description = desc_match.group(1).strip() if desc_match else "No description" - - # Check if tool of the week - is_totw = 'badge-totw' in li_content - totw_badge = ' ⭐ (Tool of The Week)' if is_totw else '' - - # Get project link with rate limiting - full_tool_url = f"https://terminaltrove.com{tool_url}" - project_link = get_project_link(full_tool_url, cache) - time.sleep(0.1) # Be respectful to the server - - tools.append({ - 'name': tool_name, - 'url': full_tool_url, - 'description': description, - 'is_totw': is_totw, - 'totw_badge': totw_badge, - 'project_link': project_link - }) - - if tools: - tools_data[date] = tools - - return tools_data - -def generate_markdown(tools_data): - """Generate markdown content from scraped tools in table format""" - markdown = "# Terminal Trove - New Tools\n\n" - markdown += "> ⚠️ **Auto-generated file** - Do not modify manually. This file is automatically generated by `scrape_terminal_trove.py`.\n\n" - markdown += f"**Last Updated:** {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n\n" - markdown += "Scraped from [Terminal Trove - New Tools](https://terminaltrove.com/new/)\n\n" - - for date, tools in tools_data.items(): - markdown += f"## {date}\n\n" - markdown += "| Tool | Description | Link |\n" - markdown += "|------|-------------|------|\n" - - for tool in tools: - tool_name = tool['name'] - if tool['is_totw']: - tool_name += ' ⭐' - - description = tool['description'] - # Escape pipes in description - description = description.replace('|', '\\|') - - link = tool['project_link'] if tool['project_link'] else None - if not link: - link = tool['url'] - - # Strip ref parameter from links - if link and '?' in link: - link = link.split('?')[0] - - link = link if link else '-' - - markdown += f"| {tool_name} | {description} | {link} |\n" - - markdown += "\n" - - return markdown - -def save_markdown(content, output_file="terminal_trove_weekly.md"): - """Save markdown content to file""" - try: - with open(output_file, 'w') as f: - f.write(content) - print(f"Successfully saved to {output_file}") - return True - except IOError as e: - print(f"Error writing to file: {e}") - return False - -def main(): - print("Scraping Terminal Trove...") - - # Setup cache - script_dir = os.path.dirname(os.path.abspath(__file__)) - cache_file = os.path.join(script_dir, ".project_links_cache.json") - cache = load_link_cache(cache_file) - - tools_data = scrape_terminal_trove(cache) - - # Save cache for future runs - save_link_cache(cache, cache_file) - - if not tools_data: - print("Failed to scrape tools") - return False - - print(f"Found {sum(len(v) for v in tools_data.values())} tools across {len(tools_data)} weeks") - - markdown = generate_markdown(tools_data) - - # Default output location - save to awesome folder - output_file = os.path.join(script_dir, "terminal_trove_weekly.md") - - if save_markdown(markdown, output_file): - print(f"Markdown file created: {output_file}") - return True - - return False - -if __name__ == "__main__": - main() diff --git a/docs/terminal-trove/terminal_trove_weekly.md b/docs/terminal-trove/terminal_trove_weekly.md deleted file mode 100644 index b4949109d7..0000000000 --- a/docs/terminal-trove/terminal_trove_weekly.md +++ /dev/null @@ -1,1419 +0,0 @@ -# Terminal Trove - New Tools - -> ⚠️ **Auto-generated file** - Do not modify manually. This file is automatically generated by `scrape_terminal_trove.py`. - -**Last Updated:** 2026-04-23 09:36:43 - -Scraped from [Terminal Trove - New Tools](https://terminaltrove.com/new/) - -## April 21, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| see-tui | A TUI based tool to lookup logs from systemd services. | https://github.com/NustyFrozen/SEE | -| toast | A lightweight TUI IDE for making quick in-the-moment edits. | https://github.com/paradise-runner/toast | -| nv-monitor | A low-level Nvidia GPU system monitor. | https://github.com/wentbackward/nv-monitor | -| hzfind ⭐ | A CLI/TUI to find the best Hetzner Server Auction deals. | https://github.com/clouedoc/hzfind | -| gitpane | Multi repo Git workspace dashboard for the terminal. | https://github.com/affromero/gitpane | -| mac-cleanup-go | A preview first TUI for cleaning macOS caches, logs, and temporary files. | https://github.com/2ykwang/mac-cleanup-go | - -## April 14, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| netwatch ⭐ | Real time network diagnostics in your terminal. | https://github.com/matthart1983/netwatch | -| rustlens | A blazing-fast Rust code inspector for the terminal. | https://github.com/yashksaini-coder/Rustlens | -| unifly | A CLI/TUI for UniFi network controller management. | https://github.com/hyperb1iss/unifly | -| lazyenv | A TUI tool for managing multiple .env files in the terminal. | https://github.com/lazynop/lazyenv | -| sheets | Minimal terminal based spreadsheet and CSV viewer. | https://github.com/maaslalani/sheets | -| artui | Read and track recent arXiv papers with a TUI. | https://github.com/fjonasALICE/arTui | - -## April 7, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| llmfit | A terminal tool that finds what LLM models can run on your system's RAM, CPU, and GPU. | https://github.com/AlexsJones/llmfit | -| deadbranch | Clean up stale git branches safely. | https://github.com/armgabrielyan/deadbranch | -| siggy | A terminal-based Signal messenger client with an IRC aesthetic. | https://github.com/johnsideserf/siggy | -| purple | A terminal SSH config manager and cockpit for your servers. | https://github.com/erickochen/purple | -| gitsocial | Social layer for git repositories. | https://github.com/gitsocial-org/gitsocial | -| gloomberb ⭐ | An extensive financial terminal, in your terminal. | https://github.com/vincelwt/gloomberb | - -## March 31, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| darya | A disk usage explorer with a TUI and live treemap. | https://github.com/mrkatebzadeh/darya | -| lazyjira | A TUI for Jira, like lazygit but for Jira. | https://github.com/textfuel/lazyjira | -| jsongrep | A path query language for JSON, YAML, TOML, and other serialization formats. | https://github.com/micahkepe/jsongrep | -| otel-tui | A terminal OpenTelemetry viewer. | https://github.com/ymtdzzz/otel-tui | -| rfc_reader | An RFC viewer with TUI. | https://github.com/ozan2003/rfc_reader | -| hyprmoncfg ⭐ | A terminal first monitor configurator and daemon for Hyprland. | https://hyprmoncfg.dev/ | - -## March 25, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| cliamp ⭐ | A terminal music player inspired by winamp. | https://github.com/bjarneo/cliamp | -| aptui | A TUI package manager for APT-based Linux distributions. | https://github.com/mexirica/aptui | -| tiki | A Markdown based git versioned documentation and issue management. | https://github.com/boolean-maybe/tiki | -| bpftop | Dynamic real-time view of running eBPF programs. | https://github.com/Netflix/bpftop | -| lazycut | A simple terminal UI for video trimming. | https://github.com/emin-ozata/lazycut/ | -| twig | A high-performance terminal UI for exploring JSON and YAML files interactively. | https://github.com/workdone0/twig | - -## March 18, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| rgx | A terminal regex tester with real-time matching and multi-engine support. | https://github.com/brevity1swos/rgx | -| strace-tui | A terminal user interface (TUI) for visualizing and exploring strace output. | https://github.com/Rodrigodd/strace-tui | -| amux | A TUI for easily running parallel coding agents. | https://github.com/andyrewlee/amux | -| gittop ⭐ | A TUI for visualizing Git repository statistics. | https://github.com/hjr265/gittop | -| taws | A terminal based AWS resource viewer and manager. | https://github.com/huseyinbabal/taws | -| micasa | A terminal UI for tracking everything about your home. | https://github.com/cpcloud/micasa | - -## March 11, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| omp-manager | A TUI that sets up Oh My Posh from scratch. | https://github.com/marlocarlo/omp-manager | -| pop | Send emails from your terminal. | https://github.com/charmbracelet/pop | -| gptop | A TUI GPU monitor with support for both Apple Silicon and NVIDIA GPUs. | https://github.com/evilsocket/gptop | -| taskdog | A terminal task manager with intelligent schedule optimization. | https://github.com/Kohei-Wada/taskdog | -| tortuise ⭐ | A 3D gaussian splat viewer that works in your terminal. | https://github.com/buildoak/tortuise | -| pikpaktui | A TUI and CLI client for PikPak cloud storage. | https://github.com/Bengerthelorf/pikpaktui | - -## March 4, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| rustnet | A cross-platform network monitoring TUI tool. | https://github.com/domcyrus/rustnet | -| gitv | View and manage your GitHub issues directly from the terminal. | https://github.com/JayanAXHF/gitv | -| tori | A TUI for multi-server Docker and host monitoring over SSH. | https://github.com/thobiasn/tori-cli | -| msgvault ⭐ | Archive a lifetime of email with analytics and search in milliseconds, entirely offline. | https://github.com/wesm/msgvault | -| qman | A full-featured man page viewer for our terminals. | https://github.com/plp13/qman | -| octosql | A CLI tool which lets you query a plethora of databases. | https://github.com/cube2222/octosql | - -## February 25, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| lazykiq ⭐ | A rich terminal UI for Sidekiq. | https://github.com/kpumuk/lazykiq | -| eilmeldung | A TUI RSS reader, customizable and powerful. | https://github.com/christo-auer/eilmeldung | -| chatuino | A feature rich TUI Twitch chat client. | https://github.com/julez-dev/chatuino | -| ralph-tui | A terminal UI for orchestrating AI coding agents. | https://github.com/subsy/ralph-tui | -| hardcover-tui | An unofficial terminal user interface (TUI) client for Hardcover.app | https://github.com/NotMugil/hardcover-tui | -| mcdu | A modern disk usage analyzer & developer cleanup tool with a TUI. | https://github.com/mikalv/mcdu | - -## February 18, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| dealve-tui ⭐ | Delve into game deals from your terminal. | https://github.com/kurama/dealve-tui | -| climp | A minimal CLI media player. | https://github.com/olivier-w/climp | -| perch | A beautiful terminal social client for Mastodon and Bluesky. | https://github.com/ricardodantas/perch | -| datui | Data Exploration in the Terminal. | https://github.com/derekwisong/datui | -| monitui | A delightfully minimal TUI for wrangling Hyprland monitors. | https://github.com/nathaniel-fargo/monitui | -| ec | An easy terminal native 3-way git conflict resolver. | https://github.com/chojs23/ec | - -## February 11, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| hazelnut | A terminal based automated file organizer inspired by Hazel. | https://github.com/ricardodantas/hazelnut | -| zerobrew | A drop-in, 5-20x faster, experimental Homebrew alternative. | https://github.com/lucasgelfond/zerobrew | -| models | A fast CLI and TUI for browsing AI models and coding agents. | https://github.com/arimxyer/models | -| whosthere ⭐ | A local area network (LAN) discovery tool with a modern TUI interface. | https://github.com/ramonvermeulen/whosthere | -| xfr | A modern iperf3 alternative with a live TUI. | https://github.com/lance0/xfr | -| jiq | Interactive JSON query tool with real-time output and AI assistance. | https://github.com/bellicose100xp/jiq | - -## February 4, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| lnko | Simple stow-like dotfile linker. | https://github.com/luanvil/lnko | -| tfjournal | Record Terraform runs with git context, timing, and resource events. | https://github.com/Owloops/tfjournal | -| moltbook-tui | A TUI client for Moltbook, the social network for AI Agents. | https://github.com/terminaltrove/moltbook-tui | -| cull | Interactive TUI disk space analyzer. | https://github.com/legostin/cull | -| squix | A minimal CLI tool for managing and executing SQL queries with a TUI. | https://github.com/eduardofuncao/squix | -| endcord ⭐ | A feature rich Discord TUI client. | https://github.com/sparklost/endcord | - -## January 28, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| surge ⭐ | A blazing fast TUI download manager. | https://github.com/surge-downloader/surge | -| vortix | A TUI for WireGuard and OpenVPN with real-time telemetry and leak guarding. | https://github.com/Harry-kp/vortix | -| try-rs | A workspace manager for your temporary experiments. | https://github.com/tassiovirginio/try-rs | -| sidecar | A TUI dashboard for AI coding agents. | https://github.com/marcus/sidecar | -| mole | Deep clean and optimize your Mac. | https://github.com/tw93/mole | -| tredis | A modern TUI for managing Redis servers. | https://github.com/huseyinbabal/tredis | - -## January 21, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| handler | A2A Protocol client and developer toolkit. | https://github.com/alDuncanson/Handler | -| pass-cli | A secure, cross-platform, command-line password manager. | https://github.com/ari1110/pass-cli | -| oyo | A step-through diff viewer. | https://github.com/ahkohd/oyo | -| jolt ⭐ | A beautiful TUI battery and energy monitor for your terminal. | https://github.com/jordond/jolt | -| cloudflare-speed-cli | A terminal interface for cloudflare's internet speed tester. | https://github.com/kavehtehrani/cloudflare-speed-cli | -| lazyworktree | Effortless Git worktree management for the terminal. | https://github.com/chmouel/lazyworktree | - -## January 14, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| gorae | A TUI librarian for PDFs and EPUBs. | https://github.com/Han8931/gorae | -| snitch ⭐ | A TUI for inspecting network connections, like netstat for humans. | https://github.com/karol-broda/snitch | -| aic | Fetch the latest changelogs for popular AI coding assistants. | https://github.com/arimxyer/aic | -| x-cmd | A compact swiss army knife for the terminal. | https://github.com/x-cmd/x-cmd | -| rovr | A post-modern terminal file manager. | https://github.com/NSPC911/rovr | -| blueutil-tui | A TUI for macOS to interact with bluetooth devices via blueutil. | https://github.com/Zaloog/blueutil-tui | - -## January 7, 2026 - -| Tool | Description | Link | -|------|-------------|------| -| envdiff | A CLI tool to snapshot and diff environments. | https://github.com/GBerghoff/envdiff | -| offpunk | An offline-first command-line browser. | https://git.sr.ht/~lioploum/offpunk | -| pacsea ⭐ | Fast TUI for searching, inspecting, and queueing pacman/AUR packages. | https://github.com/Firstp1ck/Pacsea | -| tock | A powerful time tracking tool for the command line. | https://github.com/kriuchkov/tock | -| ekphos | A lightweight, fast, terminal-based markdown research tool inspired by Obsidian. | https://github.com/hanebox/ekphos | -| vhs | Your CLI home video recorder. | https://github.com/charmbracelet/vhs | - -## December 31, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| nexus | A terminal-based HTTP client for API testing. | https://github.com/pranav-cs-1/nexus | -| dawn | A distraction-free writing environment. draft anything, write now. | https://github.com/andrewmd5/dawn | -| yt-x | Browse youtube from your terminal. | https://github.com/Benexl/yt-x | -| dotstate ⭐ | A modern, secure, and user-friendly dotfile manager. | https://github.com/serkanyersen/dotstate | -| claws | A TUI for AWS resource management. | https://github.com/clawscli/claws | -| parqeye | Peek inside Parquet files right from your terminal. | https://github.com/kaushiksrini/parqeye | - -## December 24, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| git-interactive-rebase-tool | An improved sequence editor for Git. | https://github.com/MitMaro/git-interactive-rebase-tool | -| bookokrat | A terminal EPUB / PDF ebook reader. | https://github.com/bugzmanov/bookokrat | -| pomo | A terminal Pomodoro Timer. | https://github.com/Bahaaio/pomo | -| cpx | A batteries-included Cargo-like CLI for C++. | https://github.com/ozacod/cpx | -| sqlit ⭐ | A user friendly TUI for SQL databases. | https://github.com/Maxteabag/sqlit | -| zuse | A sleek, minimal IRC client for your terminal. | https://github.com/babycommando/zuse | - -## December 17, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| rusticon | A mouse driven SVG favicon editor for your terminal. | https://github.com/ronilan/rusticon | -| fresh | A text editor for your terminal, easy, powerful and fast. | https://github.com/sinelaw/fresh | -| himalaya | A CLI to manage emails. | https://github.com/pimalaya/himalaya | -| mlbt | A TUI interface for the MLB Statcast API. | https://github.com/mlb-rs/mlbt | -| superseedr ⭐ | A BitTorrent client in your terminal. | https://github.com/Jagalite/superseedr | -| opamui | A TUI for browsing and searching OCaml opam packages. | https://github.com/nlamirault/opamui | -| depot | Replace docker build with depot build for up to 40x faster container image builds. | https://fandf.co/48yzJm7 | - -## December 10, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| dnspyre | A CLI tool for a high QPS DNS benchmark. | https://github.com/Tantalor93/dnspyre | -| pygitzen | A python native terminal based Git client. | https://github.com/SunnyTamang/pygitzen | -| trex | A terminal app for RegEx visualization, 🦖 roar! | https://github.com/samyakbardiya/trex | -| framework-tool-tui | A TUI for controlling and monitoring Framework Computers hardware. | https://github.com/grouzen/framework-tool-tui | -| qo ⭐ | An interactive minimalist TUI to query JSON, CSV, and TSV using SQL. | https://github.com/kiki-ki/go-qo | -| b4n | A terminal user interface (TUI) for the Kubernetes API. | https://github.com/fioletoven/b4n | - -## December 3, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| turm | TUI for the Slurm Workload Manager. | https://github.com/kabouzeid/turm | -| ibtop | Real-time terminal monitor for InfiniBand networks. | https://github.com/JannikSt/ibtop | -| ast-grep | A CLI tool for code structural search, lint and rewriting. | https://github.com/ast-grep/ast-grep | -| csvi | A simple cross-platform terminal CSV editor. | https://github.com/hymkor/csvi | -| oeis-tui ⭐ | A TUI and CLI for exploring the On-Line Encyclopedia of Integer Sequences (OEIS). | https://github.com/hako/oeis-tui | -| e2c | A TUI application for managing AWS EC2 instances. | https://github.com/nlamirault/e2c | - -## November 26, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| xpdig | A TUI to explore crossplane traces. | https://github.com/brunoluiz/xpdig | -| labcoat | NixOS system deployment TUI. | https://github.com/jhillyerd/labcoat | -| treemd | A TUI and CLI dual pane markdown viewer | https://github.com/epistates/treemd | -| toktop | htop but for LLM tokens. | https://github.com/htin1/toktop | -| mq | jq-like command-line tool for markdown processing. | https://github.com/harehare/mq | -| kyanos ⭐ | A simple & powerful eBPF-based network issue, analysis and tracing tool. | https://github.com/hengyoush/kyanos | - -## November 19, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| starlit | A minimal, cute and customizable weather cli. | https://github.com/ashuhlee/starlit | -| gitlogue ⭐ | A git commit history replay tool for the terminal. | https://github.com/unhappychoice/gitlogue | -| pdfgrep | A command line utility to search text in PDF files. | https://gitlab.com/pdfgrep/pdfgrep | -| sot | Command-line System Observation Tool. | https://github.com/anistark/sot | -| auggie | All the power of Augment Code in your terminal. | https://fandf.co/3JFejdh | -| snipt | A powerful text snippet expansion tool. | https://github.com/snipt/snipt | -| filessh | A fast and convenient TUI file browser for remote servers. | https://github.com/JayanAXHF/filessh | - -## November 12, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| xleak | Expose Excel files in your terminal, no Microsoft Excel required. | https://github.com/bgreenwell/xleak | -| g1c | Google Cloud Instances Terminal UI Manager. | https://github.com/nlamirault/g1c | -| podliner ⭐ | Podcasts in any terminal. Fast, clean, offline. | https://github.com/timkicker/podliner | -| cobib | The Console Bibliography. | https://cobib.gitlab.io/cobib/cobib.html | -| bit | Terminal ANSI Logo Designer & Font Library. | https://github.com/superstarryeyes/bit | -| ffuf | Fuzz Faster U Fool. | https://github.com/ffuf/ffuf | - -## November 5, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| resterm | A TUI REST, GraphQL, gRPC, WebSocket and SSE client. | https://github.com/unkn0wn-root/resterm | -| pvetui | A Terminal UI for Proxmox VE. | https://github.com/devnullvoid/pvetui | -| torra | Find and download torrents without leaving your CLI. | https://github.com/stabldev/torrra | -| coderabbit | Free AI Code Reviews in the CLI. | https://coderabbit.link/terminaltrove | -| rum | A TUI to list, search and run package.json scripts. | https://github.com/thekarel/rum | -| mcat ⭐ | Parse, convert & preview images, videos & markdown in your terminal. | https://github.com/Skardyy/mcat | -| jrnl | Collect your thoughts and notes without leaving the command line. | https://github.com/jrnl-org/jrnl | - -## October 29, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| nethogs | A linux 'net top' tool. | https://github.com/raboof/nethogs | -| wizu | A fast, minimalist directory tree viewer. | https://github.com/sh1zen/wisu | -| tinifier | A CLI tool for compressing images using the TinyPNG service. | https://github.com/tarampampam/tinifier | -| cronboard ⭐ | A terminal tool for managing cron jobs locally and on servers. | https://github.com/antoniorodr/cronboard | -| benben | A fast and efficient command line audio player and audio converter. | https://chiselapp.com/user/MistressRemilia/repository/benben | -| reddix | Reddit, refined for the terminal. | https://github.com/ck-zhang/reddix | - -## October 21, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| cargo-geiger | Detects usage of unsafe Rust in a Rust crate and its dependencies. | https://github.com/geiger-rs/cargo-geiger | -| tuios ⭐ | A TUI window manager for managing multiple terminal sessions. | https://github.com/Gaurav-Gosain/tuios | -| octotype | A typing trainer for your terminal. | https://github.com/mahlquistj/octotype | -| austin-tui | The top-like text-based user interface for Austin. | https://github.com/P403n1x87/austin-tui | -| wifitui | A fast, featureful and friendly WiFi terminal UI. | https://github.com/shazow/wifitui | -| dotbins | Keep updated binaries in your dotfiles. | https://github.com/basnijholt/dotbins | - -## October 14, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| jjj | A TUI interface for Jujutsu VCS. | https://github.com/icorbrey/jjj | -| dhv | A TUI for visually exploring disassembled Python bytecode. | https://github.com/davep/dhv | -| gobackup ⭐ | A CLI tool to backup your databases, files to cloud storage. | https://github.com/gobackup/gobackup | -| hexhog | A configurable hex viewer/editor. | https://github.com/DVDTSB/hexhog | -| az-tui | A TUI for managing Azure Container Apps. | https://github.com/IAL32/az-tui/ | -| intentrace | A better strace(1) for everyone. | https://github.com/sectordistrict/intentrace | - -## October 7, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| ereandel | A Gemini web browser using shell script. | https://github.com/blmayer/ereandel | -| ugdb | An alternative TUI for gdb. | https://github.com/ftilde/ugdb | -| ad | An adaptable text editor. | https://github.com/sminez/ad | -| sprofile | Blazingly fast TUI application for viewing your Spotify listening activity. | https://github.com/GoodBoyNeon/sprofile | -| intelli-shell ⭐ | Like IntelliSense, but for shells! | https://github.com/lasantosr/intelli-shell | -| lemurs | A customizable TUI display/login manager written in Rust. | https://github.com/coastalwhite/lemurs | - -## September 30, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| soundscope | A TUI audio file analyzer tool. | https://github.com/bananaofhappiness/soundscope | -| judo | A multi-database TUI for todo lists. | https://github.com/giacomopiccinini/judo | -| gittype | A terminal code-typing game that turns your source code into typing challenges. | https://github.com/unhappychoice/gittype | -| aria2tui | A TUI client for the aria2 download utility. | https://github.com/grimandgreedy/Aria2TUI | -| oq | A terminal-based OpenAPI Spec (OAS) viewer. | https://github.com/plutov/oq | -| flowrs ⭐ | A TUI application for Apache Airflow. | https://github.com/jvanbuel/flowrs | - -## September 23, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| zigfetch | A minimal neofetch/fastfetch like system information tool. | https://github.com/utox39/zigfetch | -| glues | A vim-inspired, privacy-first TUI note-taking app with multiple storage options. | https://github.com/gluesql/glues | -| sncli | A TUI and CLI for Simplenote. | https://github.com/insanum/sncli | -| lue ⭐ | A TUI ebook reader with Text-to-Speech (TTS). | https://github.com/superstarryeyes/lue | -| bugstalker | A Modern Rust debugger for Linux x86-64. | https://github.com/godzie44/BugStalker | -| ktea | An Apache Kafka TUI client. | https://github.com/jonas-grgt/ktea | - -## September 16, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| fat | A modern, TUI file and archive viewer for your terminal. | https://github.com/Zuhaitz-dev/fat | -| envx | A powerful and secure TUI environment variable manager. | https://github.com/mikeleppane/envx | -| gruyere | A tiny (and pretty) program for viewing + killing listening ports. | https://github.com/savannahostrowski/gruyere | -| lazyssh ⭐ | A terminal-based SSH manager. | https://github.com/Adembc/lazyssh | -| pproftui | A terminal-based diagnostic tool for Go pprof data. | https://github.com/Oloruntobi1/pproftui | -| marchat | A lightweight realtime terminal chat client and server with E2E support. | https://github.com/Cod-e-Codes/marchat | - -## September 9, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| jiratui | Manage JIRA issues directly from the terminal. | https://github.com/whyisdifficult/jiratui | -| rustormy | Minimal neofetch-like weather CLI. | https://github.com/Tairesh/rustormy | -| celerator | Monitor and debug celery tasks in the terminal. | https://github.com/f4rih/celerator | -| cmdperf | Benchmark and compare shell commands interactively. | https://github.com/miklosn/cmdperf | -| branchlet | Manage Git worktrees with automation from the terminal. | https://github.com/raghavpillai/branchlet | -| dirsearch ⭐ | A web path scanner for finding hidden files and directories. | https://github.com/maurosoria/dirsearch | - -## September 2, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| dcv ⭐ | A TUI viewer for docker-compose. | https://github.com/tokuhirom/dcv | -| ly | A lightweight TUI (ncurses-like) display manager. | https://codeberg.org/fairyglade/ly | -| mastui | A Modern Mastodon TUI Client. | https://github.com/kimusan/mastui/ | -| systemd-manager-tui | A TUI for managing systemd services. | https://github.com/matheus-git/systemd-manager-tui | -| incplot | A CLI tool for drawing great looking plots in the terminal using unicode characters. | https://github.com/InCom-0/incplot | -| systeroid | A more powerful alternative to sysctl(8). | https://github.com/orhun/systeroid | - -## August 26, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| hwinfo-tui | A terminal visualization tool for monitoring real-time hardware sensor data from HWInfo. | https://github.com/JuanjoFuchs/hwinfo-tui | -| kakoune | A modern selection-based modal text editor. | https://github.com/mawww/kakoune | -| wiremix | A simple TUI audio mixer for PipeWire. | https://github.com/tsowell/wiremix | -| doxx ⭐ | A viewer for Microsoft Word .docx files in the terminal. | https://github.com/bgreenwell/doxx | -| squall | A TUI SQLite viewer and editor. | https://github.com/driscollis/squall | -| ssh-list | An SSH connection manager with a TUI interface. | https://github.com/akinoiro/ssh-list | - -## August 19, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| hapless | Run and manage background processes. | https://github.com/bmwant/hapless | -| tldr-pages | Collaborative cheatsheets for console commands. | https://github.com/tldr-pages/tldr | -| mergiraf | A syntax-aware Git merge conflict resolver. | https://codeberg.org/mergiraf/mergiraf | -| jocalsend ⭐ | A TUI file-sharing tool based on the LocalSend protocol. | https://git.kittencollective.com/nebkor/joecalsend | -| typtea | A minimal terminal-based type-speed tester. | https://github.com/ashish0kumar/typtea | -| oatmeal | A TUI to chat with LLMs and direct integrations with your favourite editors. | https://github.com/dustinblackman/oatmeal | - -## August 12, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| cashd | A fast and cozy TUI for personal finance management. | https://github.com/hzqtc/cashd | -| swaptop | A real-time swap usage monitor with a TUI. | https://github.com/luis-ota/swaptop | -| gcli | A Portable Git(hub\|lab\|tea)/Forgejo/Bugzilla CLI tool. | https://github.com/herrhotzenplotz/gcli | -| cariddi ⭐ | A tool to crawl urls, scan endpoints, secrets, api keys, file extensions, tokens and more. | https://github.com/edoardottt/cariddi | -| qmassa | Terminal-based tool for displaying GPUs usage stats on Linux. | https://github.com/ulissesf/qmassa | -| kanha | A web-app pentesting suite in Rust. | https://github.com/pwnwriter/kanha | - -## August 5, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| mult | Run a command multiple times and glance at the outputs. | https://github.com/dhth/mult | -| comchan | A blazingly fast, minimal, and beginner-friendly serial monitor. | https://github.com/Vaishnav-Sabari-Girish/ComChan | -| cloctui | A TUI interface for CLOC (Count Lines of Code) | https://github.com/edward-jazzhands/cloctui | -| exosphere ⭐ | A CLI / TUI for aggregated patch reporting & system status monitoring via SSH. | https://github.com/mrdaemon/exosphere | -| pspg | A UNIX pager optimized for tabular data. | https://github.com/okbob/pspg | -| fli | A command-line tool that simplifies AWS VPC Flow Logs analysis. | https://github.com/fractalops/fli | - -## July 29, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| yatto | Interactive Git-based todo-list for the command line. | https://github.com/handlebargh/yatto | -| lazycelery | A TUI for monitoring and managing Celery workers and tasks. | https://github.com/fguedes90/lazycelery | -| renux | A terminal-based bulk file renamer with a TUI. | https://github.com/andrianllmm/renux | -| netshow | An interactive, process-aware network monitoring for your terminal. | https://github.com/taylorwilsdon/netshow | -| apisnip ⭐ | A TUI tool for trimming OpenAPI specifications down to size. | https://github.com/Tuurlijk/apisnip | -| dtop | A high-performance TUI for Docker container management. | https://github.com/StakeSquid/dtop | - -## July 22, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| bitchat-tui ⭐ | A TUI client for bitchat. | https://github.com/vaibhav-mattoo/bitchat-tui | -| simtool | A beautiful and powerful TUI for managing iOS simulators. | https://github.com/azizuysal/simtool | -| stormy | Minimal, customizable, and neofetch-like weather CLI. | https://github.com/ashish0kumar/stormy | -| kat | A TUI and rule-based rendering engine for Kubernetes manifests. | https://github.com/MacroPower/kat | -| hygg | Minimalistic Vim-like TUI document reader. | https://github.com/kruserr/hygg | -| gotip | A TUI application for interactively selecting and running Go tests. | https://github.com/lusingander/gotip | - -## July 15, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| ecscope | monitor AWS ECS resources from the terminal. | https://github.com/dhth/ecscope | -| theattyr | A terminal theater for playing VT100 art and animations. | https://github.com/orhun/theattyr | -| runal | A creative coding environment for the terminal. | https://github.com/emprcl/runal | -| froggit | A modern, minimalist Git TUI. | https://github.com/thewizardshell/froggit | -| cargo-seek | A TUI for searching, adding and installing cargo crates. | https://github.com/tareqimbasher/cargo-seek | -| taproom ⭐ | An interactive TUI for Homebrew. | https://github.com/hzqtc/taproom | - -## July 8, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| termframe | Terminal output SVG screenshot tool. | https://github.com/pamburus/termframe | -| ftdv | File Tree Diff Viewer. | https://github.com/wtnqk/ftdv | -| mcp-probe ⭐ | Advanced MCP Protocol Debugger & Interactive TUI. | https://github.com/conikeec/mcp-probe | -| up | A tool for writing Linux pipes with instant live preview. | https://github.com/akavel/up | -| outside | A multi-purpose weather client for your terminal. | https://github.com/BaconIsAVeg/outside | -| domain-check | A fast, powerful CLI tool for checking domain availability using RDAP and WHOIS. | https://github.com/saidutt46/domain-check | - -## July 1, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| awsesh | A charming TUI for AWS SSO session management. | https://github.com/elva-labs/awsesh | -| yozefu | An TUI application for exploring data of a kafka cluster. | https://github.com/MAIF/yozefu | -| imgcat | Display images and gifs in your terminal. | https://github.com/danielgatis/imgcat | -| mufetch | neofetch-style CLI for music. | https://github.com/ashish0kumar/mufetch | -| meteor | A highly configurable CLI tool for writing conventional commits. | https://github.com/stefanlogue/meteor | -| vi-mongo ⭐ | A TUI for managing MongoDB databases. | https://github.com/kopecmaciej/vi-mongo | - -## June 24, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| fclones | Efficient duplicate file finder and remover. | https://github.com/pkolaczk/fclones | -| smassh ⭐ | Smassh your Keyboard, TUI Edition. | https://github.com/kraanzu/smassh | -| tatuin | Task Aggregator TUI for N providers. | https://github.com/panter-dsd/tatuin | -| so | A terminal interface for Stack Overflow. | https://github.com/samtay/so | -| nmail | Terminal email client for Linux and macOS. | https://github.com/d99kris/nmail | -| lstr | A fast, minimalist directory tree viewer. | https://github.com/bgreenwell/lstr | - -## June 17, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| bfs | A breadth-first version of the UNIX find command. | https://github.com/tavianator/bfs | -| e1s ⭐ | A TUI for managing AWS ECS Resources. | https://github.com/keidarcy/e1s | -| gita | A command-line tool to manage multiple git repos. | https://github.com/nosarthur/gita | -| kyma | A terminal-based presentation tool with smooth animated transitions. | https://github.com/museslabs/kyma | -| wakey | A TUI built for managing and waking your devices using Wake-on-LAN. | https://github.com/jonathanruiz/wakey | -| chawan | A TUI web browser. | https://sr.ht/~bptato/chawan/ | - -## June 10, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| deletor ⭐ | Manage & delete files efficiently with an interactive TUI & scriptable CLI. | https://github.com/pashkov256/deletor | -| mdns-scanner | Scan a network and create a list of IPs and associated hostnames. | https://github.com/CramBL/mdns-scanner | -| feluda | Detect license usage restrictions in your project! | https://github.com/anistark/feluda | -| gollama | Go manage your ollama models. | https://github.com/sammcj/gollama | -| ssm | Streamline SSH connections with a simple TUI. | https://github.com/lfaoro/ssm | -| eg | Useful examples at the command line. | https://github.com/srsudar/eg | - -## June 3, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| tldx ⭐ | A Domain Availability Research Tool. | https://github.com/brandonyoungdev/tldx | -| dysk | A linux utility listing your filesystems. | https://github.com/canop/dysk | -| gitid | Manage multiple Git identities through a TUI. | https://github.com/nathabonfim59/gitid | -| igrep | Interactive Grep. | https://github.com/konradsz/igrep/ | -| ssl-checker | Fast and beautiful program to check all your https endpoint. | https://github.com/fabio42/ssl-checker | -| bbrew | A Homebrew TUI Manager. | https://github.com/Valkyrie00/bold-brew | - -## May 27, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| wikiman | A universal offline documentation search engine for manual pages. | https://github.com/filiparag/wikiman | -| zmate | Instant terminal sharing using Zellij. | https://github.com/ziinaio/zmate | -| pgcli | A postgres CLI with autocompletion and syntax highlighting. | https://github.com/dbcli/pgcli | -| tracker | A terminal-based real-time satellite tracking and orbit prediction application. | https://github.com/ShenMian/tracker | -| kdash ⭐ | A simple and fast dashboard for Kubernetes. | https://github.com/kdash-rs/kdash | -| tofuref | A TUI for the OpenTofu provider registry. | https://github.com/djetelina/tofuref | - -## May 20, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| needs | checks if bin(s) are installed, oh and the version too. | https://github.com/NQMVD/needs | -| chiko | A TUI gRPC client. | https://github.com/felangga/chiko | -| intermodal | A 40' shipping container for the Internet. | https://github.com/casey/intermodal | -| lexy | A CLI for reading Learn X in Y Minutes directly into your terminal. | https://github.com/antoniorodr/lexy | -| clipse | Configurable TUI clipboard manager for Unix. | https://github.com/savedra1/clipse | -| basalt ⭐ | A TUI for managing Obsidian vaults and notes. | https://github.com/erikjuhani/basalt | - -## May 13, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| httpmonitor | A small TUI application to monitor a single or multiple targets. | https://github.com/ricoberger/httpmonitor | -| lazyjj | A TUI for Jujutsu / jj. | https://github.com/Cretezy/lazyjj | -| nerdlog ⭐ | A fast, remote-first, multi-host TUI log viewer. | https://github.com/dimonomid/nerdlog | -| peplum | The TUI PEP lookup manager for your terminal. | https://github.com/davep/peplum | -| scooter | Interactive find and replace in the terminal. | https://github.com/thomasschafer/scooter | -| parqv | A TUI for visualizing and analyzing files with multiple formats. | https://github.com/sanspareilsmyn/parqv | - -## May 6, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| osintui | Open Source Intelligence Terminal User Interface. | https://github.com/wssheldon/osintui | -| gitsnip | A CLI tool to download specific folders from a git repository. | https://github.com/dagimg-dot/gitsnip | -| zizmor | A static analysis tool for GitHub Actions. | https://github.com/woodruffw/zizmor | -| daylight ⭐ | Track sunrise and sunset times in the terminal. | https://github.com/jbreckmckye/daylight | -| lobtui | A TUI for lobste.rs website. | https://github.com/pythops/lobtui | -| just | Just a command runner. | https://github.com/casey/just | - -## April 29, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| motus | Dead simple password generator. | https://github.com/oleiade/motus | -| apw | A CLI for Apple Passwords (also known as iCloud Keychain) | https://github.com/bendews/apw | -| pwdsafety | A command line tool checking password safety. | https://github.com/edoardottt/pwdsafety | -| passepartui | A TUI for pass. | https://github.com/kardwen/passepartui | -| kure | A CLI password manager with sessions. | https://github.com/GGP1/kure | -| andcli ⭐ | A 2FA TUI for your shell. | https://github.com/tjblackheart/andcli | - -## April 23, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| ticker ⭐ | A terminal stock ticker with live updates and position tracking. | https://github.com/achannarasappa/ticker | - -## April 22, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| asak | A cross-platform audio recording/playback CLI tool with a TUI. | https://github.com/chaosprint/asak | -| inspect-cert-chain | Inspect and debug TLS certificate chains. (without OpenSSL) | https://github.com/robjtede/inspect-cert-chain | -| serpl | A simple TUI for search and replace, akin to VS Code. | https://github.com/yassinebridi/serpl | -| srgn | A syntax‑aware grep alternative with code edits. | https://github.com/alexpovel/srgn | -| zf | A fuzzy finder that excels at filtering filepaths. | https://github.com/natecraddock/zf | - -## April 15, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| mandown | man-page inspired Markdown viewer. | https://github.com/Titor8115/mandown | -| resto | Send pretty HTTP & API requests with TUI. | https://github.com/abdfnx/resto | -| riff | A diff filter highlighting which line parts have changed. | https://github.com/walles/riff | -| parllama ⭐ | TUI for ollama and other LLM providers. | https://github.com/paulrobello/parllama | -| hexowl | Lightweight, flexible programmer's calculator with variables and functions. | https://github.com/dece2183/hexowl | -| macchina | Fast, minimal and customizable system information frontend. | https://github.com/Macchina-CLI/macchina | - -## April 8, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| caps-log | A small TUI journaling tool. | https://github.com/NikolaDucak/caps-log | -| ballast | A tool for snapshot load testing APIs. | https://github.com/synoet/ballast | -| roumon | A universal goroutine monitor with a TUI. | https://github.com/becheran/roumon | -| regname | Mass renamer TUI written in Rust. | https://github.com/linkdd/regname | -| xan ⭐ | The CSV magician. | https://github.com/medialab/xan | -| cueitup | Inspect messages in an AWS SQS queue. | https://github.com/dhth/cueitup | - -## April 1, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| wtfis ⭐ | Passive hostname, domain and IP lookup tool for non-robots. | https://github.com/pirxthepilot/wtfis | -| lumon | The work is mysterious and important... | https://github.com/terminaltrove/lumon | -| countryfetch | A neofetch-like tool for fetching information about your country. | https://github.com/nik-rev/countryfetch | -| vectro | The rpn calculator for your terminal. | https://github.com/gurgeous/vectro | -| fex | A command-line file explorer prioritizing quick navigation. | https://github.com/18alantom/fex | -| puffin | A beautiful terminal dashboard for hledger. | https://github.com/siddhantac/puffin | - -## March 26, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| fm | A minimalistic file manager for the terminal. | https://github.com/mistakenelf/fm | -| euporie ⭐ | Jupyter notebooks in the terminal. | https://github.com/joouha/euporie | -| senpai | Your everyday IRC student. | https://git.sr.ht/~delthas/senpai/ | -| git-who | Git blame for file trees. | https://github.com/sinclairtarget/git-who | -| tasktimer | A dead simple TUI task timer. | https://github.com/caarlos0/tasktimer | -| nping | A TUI concurrent ping tool developed in Rust. | https://github.com/hanshuaikang/nping | - -## March 19, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| ncspot | A cross-platform ncurses Spotify client. | https://github.com/hrkfdn/ncspot | -| pqviewer | View Apache Parquet Files In Your Terminal. | https://github.com/thread53/pqviewer | -| httpstat | Visualizes curl(1) statistics in a way of beauty and clarity. | https://github.com/reorx/httpstat | -| mani ⭐ | A CLI tool to help you manage multiple repositories. | https://github.com/alajmo/mani/ | -| pet | Simple command-line snippet manager. | https://github.com/knqyf263/pet | -| sake | A task runner for local and remote hosts. | https://github.com/alajmo/sake | - -## March 12, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| patch-hub | TUI for lore.kernel.org | https://github.com/kworkflow/patch-hub | -| pipeform | A TUI for Terraform runtime progress. | https://github.com/magodo/pipeform | -| termpicker | A color picker for the terminal. | https://github.com/ChausseBenjamin/termpicker | -| ddv ⭐ | A TUI to view Amazon DynamoDB in the terminal. | https://github.com/lusingander/ddv | -| castero | A TUI podcast client for the terminal. | https://github.com/xgi/castero | -| wuzz | An interactive TUI tool for HTTP inspection. | https://github.com/asciimoo/wuzz | - -## March 5, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| hike | A Markdown browser for the terminal. | https://github.com/davep/hike | -| slumber | Terminal-based HTTP/REST client. | https://github.com/LucasPickering/slumber | -| xbps-tui | A TUI-wrapper for xbps package manager on Void Linux. | https://codeberg.org/lukeflo/xbps-tui/ | -| bibiman ⭐ | A simple TUI for handling your BibLaTeX database. | https://codeberg.org/lukeflo/bibiman | -| envfetch | Lightweight cross-platform CLI tool for working with environment variables. | https://github.com/ankddev/envfetch | -| fuzpad | A minimalistic note management solution. Powered by fzf. | https://github.com/JianZcar/FuzPad | - -## February 26, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| systemctl-tui | A fast, simple TUI for interacting with systemd services and their logs. | https://github.com/rgwood/systemctl-tui | -| t-rec | Blazingly fast terminal recorder that generates animated gif images. | https://github.com/sassman/t-rec-rs | -| sou | A tool for exploring files in container image layers. | https://github.com/knqyf263/sou | -| gurk | Signal Messenger client for terminal. | https://github.com/boxdot/gurk-rs | -| loggo ⭐ | A powerful terminal app for structured log streaming. | https://github.com/aurc/loggo | -| bmm | Get to your bookmarks in a flash. | https://github.com/dhth/bmm | - -## February 19, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| forgit ⭐ | A utility tool powered by fzf for using Git interactively. | https://github.com/wfxr/forgit | -| pacseek | A TUI for searching and installing Arch Linux packages. | https://github.com/moson-mo/pacseek | -| ggh | Recall your SSH sessions. | https://github.com/byawitz/ggh | -| nkt | Note taking in the terminal. | https://git.sr.ht/~fjebaker/nkt | -| jjui | A terminal user interface for working with Jujutsu. | https://github.com/idursun/jjui | -| bcal | Bits, bytes and address calculator. | https://github.com/jarun/bcal | - -## February 12, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| enola | A CLI tool to search for usernames across social networks. | https://github.com/TheYahya/enola | -| ktool | A TUI Mach-O/ObjC analysis and editing toolkit in the terminal. | https://github.com/0cyn/ktool | -| lazysql | A cross-platform TUI database management tool. | https://github.com/jorgerojas26/lazysql | -| httpyac | A command line interface to execute *.http, *.rest files. | https://github.com/anweber/httpyac | -| flamelens ⭐ | An interactive flamegraph viewer in the terminal. | https://github.com/YS-L/flamelens | -| g | A feature-rich, customizable, and cross-platform ls alternative. | https://github.com/Equationzhao/g | - -## February 5, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| godap ⭐ | A complete terminal user interface (TUI) for LDAP. | https://github.com/Macmod/godap | -| desed | Demystify and debug your sed scripts, from the comfort of your terminal. | https://github.com/SoptikHa2/desed | -| keep-alive | A lightweight, cross-platform utility to prevent your system from sleeping. | https://github.com/stigoleg/keep-alive | -| tukai | Terminal based touch typing application. | https://github.com/hlsxx/tukai | -| gomi | Unix rm(1) command that can restore deleted files. | https://github.com/babarot/gomi | -| vifm | A file manager with curses interface. | https://github.com/vifm/vifm | - -## January 29, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| bagels ⭐ | A powerful expense tracker that lives in your terminal. | https://github.com/EnhancedJax/Bagels | -| sqly | Easily execute SQL against CSV/TSV/LTSV/JSON and Excel with shell. | https://github.com/nao1215/sqly | -| wut | A CLI that explains the output of your last command. | https://github.com/shobrook/wut | -| tegratop | A TUI monitoring tool for Nvidia jetson boards. | https://github.com/pythops/tegratop | -| gowall | A CLI tool to convert an image to any color-scheme. | https://github.com/Achno/gowall | -| arduino-cli-interactive | An Interactive way to use the arduino-cli. | https://github.com/Vaishnav-Sabari-Girish/arduino-cli-interactive | - -## January 22, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| ghfetch | A CLI tool to fetch GitHub user information. | https://github.com/orangekame3/ghfetch | -| isd ⭐ | A keyboard-focused, highly customizable systemd units TUI. | https://github.com/isd-project/isd | -| astroterm | A terminal-based star map. | https://github.com/da-luce/astroterm | -| heh | A terminal UI to edit bytes by the nibble. | https://github.com/ndd7xv/heh | -| gaze | Executes commands for you. | https://github.com/wtetsu/gaze | -| lsr | Basically ls but readable. | https://github.com/jmattaa/laser | - -## January 15, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| drft | A diff re/viewer and file tree viewer. | https://codeberg.org/ncts/drft | -| braindrop | A terminal-based client for raindrop.io. | https://github.com/davep/braindrop | -| gocker | TUI for Docker management. | https://github.com/micoli/gocker | -| wiper ⭐ | A TUI disk analyser and cleanup tool. | https://github.com/ikebastuz/wiper | -| durdraw | Versatile ASCII and ANSI Art text editor for terminals. | https://github.com/cmang/durdraw | -| flowcontrol | Flow Control: a programmer's text editor. | https://github.com/neurocyte/flow | - -## January 8, 2025 - -| Tool | Description | Link | -|------|-------------|------| -| fselect | Find files with SQL-like queries. | https://github.com/jhspetersson/fselect | -| gotz | A simple CLI timezone info tool. | https://github.com/merschformann/gotz | -| dstp | Run common networking tests against any site. | https://github.com/ycd/dstp | -| sunbeam ⭐ | A general purpose command-line launcher. | https://github.com/pomdtr/sunbeam | -| jql | A JSON Query Language CLI tool. | https://github.com/yamafaktory/jql | - -## December 25, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| hoard | A CLI command organizer tool to hoard all your precious commands. | https://github.com/Hyde46/hoard | -| dstask | A CLI TODO manager with git-based sync + markdown notes. | https://github.com/naggie/dstask | -| textual-paint ⭐ | MS Paint in your terminal. | https://github.com/1j01/textual-paint | -| snowmachine | Make it snow in the terminal! | https://github.com/sontek/snowmachine | -| pingtop | Ping multiple servers and show the result in a top like terminal UI. | https://github.com/laixintao/pingtop | -| rhit | A nginx log explorer. | https://github.com/Canop/rhit | - -## December 18, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| tuistash ⭐ | A terminal user interface for Logstash. | https://github.com/edmocosta/tuistash | -| ssh-para | Parallel SSH jobs manager interactive CLI. | https://github.com/joknarf/ssh-para | -| nvrs | Fast new version checker for software releases. | https://github.com/adamperkowski/nvrs | -| dte | A small, configurable console text editor. | https://github.com/craigbarnes/dte | -| heretek | Yet Another GDB TUI Frontend. | https://github.com/wcampbell0x2a/heretek | -| nomino | Batch rename utility for developers. | https://github.com/yaa110/nomino | - -## December 11, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| lla | A blazing fast ls replacement with superpowers. | https://github.com/triyanox/lla | -| smartcat | Putting a brain behind cat(1). | https://github.com/efugier/smartcat | -| hevi | A hex viewer. | https://github.com/Arnau478/hevi | -| lazyjournal | A terminal user interface for journalctl. | https://github.com/Lifailon/lazyjournal | -| uuinfo | A tool to debug unique identifiers. (UUID, ULID, Snowflake, etc) | https://github.com/Racum/uuinfo | -| kl ⭐ | An interactive Kubernetes log viewer for your terminal. | https://github.com/robinovitch61/kl/ | - -## December 4, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| kanban-tui | A customizable task manager in the terminal. | https://github.com/Zaloog/kanban-tui | -| phetch | A terminal client designed to help you quickly navigate the gophersphere. | https://github.com/xvxx/phetch | -| kplay | Inspect messages in a Kafka topic in a simple and deliberate manner. | https://github.com/dhth/kplay | -| bacon | A background rust code checker. | https://github.com/Canop/bacon | -| television ⭐ | A blazingly fast general purpose fuzzy finder TUI. | https://github.com/alexpasmantier/television | -| fblog | Small command-line JSON Log viewer. | https://github.com/brocode/fblog | - -## November 27, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| cargo-selector | Cargo subcommand to select and execute binary/example targets. | https://github.com/lusingander/cargo-selector | -| khal | A standards based CLI and terminal calendar program. | https://github.com/pimutils/khal | -| sshclick ⭐ | Terminal based assisted management of your SSH config files. | https://github.com/karlot/sshclick | -| tzupdate | Set the system timezone based on IP geolocation. | https://github.com/cdown/tzupdate | -| ali | A load testing tool capable of performing real-time analysis. | https://github.com/nakabonne/ali | -| para-cada | Executes your command for each file selected using glob expression(s). | https://github.com/gergelyk/para-cada | - -## November 20, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| dusage | A command line disk usage information tool. | https://github.com/mihaigalos/dusage | -| caligula | A user-friendly, lightweight TUI for disk imaging. | https://github.com/ifd3f/caligula | -| qrc | A QR code generator for text terminals. | https://github.com/fumiyas/qrc | -| bkp | Utility that makes backups of your files/directories. | https://github.com/gergelyk/bkp | -| tere | A faster alternative to cd + ls. | https://github.com/mgunyho/tere | -| wireman ⭐ | A TUI gRPC client for the terminal. | https://github.com/preiter93/wireman | - -## November 13, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| ddgr ⭐ | DuckDuckGo from the terminal. | https://github.com/jarun/ddgr | -| menyoki | Screenshot/cast and perform ImageOps on the command line. | https://github.com/orhun/menyoki | -| kibi | A text editor in less than 1024 lines of code, written in Rust. | https://github.com/ilai-deutel/kibi | -| qq | A jq inspired interoperable config format transcoder with interactive querying. | https://github.com/JFryy/qq/ | -| koji | An interactive CLI for creating conventional commits. | https://github.com/cococonscious/koji | -| lyn | Get the weather delivered to your command-line. | https://git.sr.ht/~timharek/lyn | - -## November 6, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| tabiew | A lightweight TUI application to view and query tabular data files. | https://github.com/shshemi/tabiew | -| mqttui ⭐ | A TUI tool to publish/subscribe MQTT messages from the terminal. | https://github.com/EdJoPaTo/mqttui/ | -| hishtory | Your shell history: synced, queryable, and in context. | https://github.com/ddworken/hishtory | -| bt | Interactive tree-like terminal file manager. | https://github.com/LeperGnome/bt | -| dotenvhub | A TUI to manage your .env files in the terminal. | https://github.com/Zaloog/dotenvhub | -| rsyncy | A status/progress bar for rsync. | https://github.com/laktak/rsyncy | - -## October 30, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| angryoxide | A WiFi attack and pentesting tool built in Rust. | https://github.com/Ragnt/AngryOxide | -| s3scanner | A tool to scan for misconfigured S3 buckets. | https://github.com/sa7mon/S3Scanner | -| haiti | A CLI to that identifies various hash types. | https://github.com/noraj/haiti | -| gfold | A CLI tool that helps you keep track of multiple Git repositories. | https://github.com/nickgerace/gfold | -| cy ⭐ | A time traveling terminal multiplexer. | https://github.com/cfoust/cy | - -## October 22, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| tui-journal | Your journal app if you live in a terminal. | https://github.com/AmmarAbouZor/tui-journal | -| bluetuith | A TUI bluetooth manager for Linux. | https://github.com/darkhz/bluetuith | -| jellex | A TUI to filter JSON and JSON Lines data with Python syntax. | https://github.com/kellyjonbrazil/jellex | -| vignore | A powerful tool to visualize ignored files. | https://github.com/james4ever0/vignore | -| aim | A command line download/upload tool with resume. | https://github.com/mihaigalos/aim | -| tenere ⭐ | A TUI interface for LLMs. | https://github.com/pythops/tenere | - -## October 15, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| monolith ⭐ | A CLI tool for saving complete web pages as a single HTML file. | https://github.com/Y2Z/monolith | -| hdf5_ui | A TUI for inspection of HDF5 files. | https://github.com/rhuygen/hdf5_ui | -| has | Checks presence of various CLI tools and their versions on the path. | https://github.com/kdabir/has | -| aria2 | The ultra fast download utility. | https://github.com/aria2/aria2 | -| tewi | Text-based interface for the Transmission BitTorrent daemon. | https://github.com/anlar/tewi | -| gotp | A CLI to manage and generate Time-based One Time Password. (TOTP) | https://git.sr.ht/~shulhan/gotp | - -## October 8, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| sq | The missing swiss-army knife tool for wrangling data. | https://github.com/neilotoole/sq | -| packemon | A TUI for generating packets of arbitrary input and monitoring packets. | https://github.com/ddddddO/packemon | -| rucola | A terminal based markdown note manager. | https://github.com/Linus-Mussmaecher/rucola | -| lychee ⭐ | A fast, async link checker written in Rust. | https://github.com/lycheeverse/lychee | -| stew | An independent package manager for compiled binaries. | https://github.com/marwanhawari/stew | -| tcping | A cross-platform ping program for TCP ports. | https://github.com/pouriyajamshidi/tcping | - -## October 1, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| papis | A powerful and highly extensible CLI document and bibliography manager. | https://github.com/papis/papis | -| diffnav | A git diff pager based on delta but with a file tree, à la GitHub. | https://github.com/dlvhdr/diffnav | -| binsider ⭐ | Analyze ELF binaries like a boss. | https://github.com/orhun/binsider | -| pocker | A TUI tool for Docker. | https://github.com/pommee/Pocker | -| gitu | A TUI Git client inspired by Magit. | https://github.com/altsem/gitu | -| carl | a cal(1) alternative calendar for the command-line. | https://github.com/b1rger/carl | - -## September 24, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| basilk | A TUI to manage your tasks with minimal kanban logic. | https://github.com/GabAlpha/basilk | -| gtrash | A featureful trash CLI manager. | https://github.com/umlx5h/gtrash | -| toolong | A terminal application to view, tail, merge, and search log files (plus JSONL). | https://github.com/Textualize/toolong | -| httm | Interactive, file-level Time Machine-like tool for ZFS/btrfs/nilfs2. | https://github.com/kimono-koans/httm | -| sherlock | Hunt down social media accounts by username across social networks. | https://github.com/sherlock-project/sherlock | -| spiel ⭐ | Display richly-styled presentations using your terminal. | https://github.com/JoshKarpel/spiel | - -## September 17, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| oryx | A TUI for sniffing network traffic using eBPF on Linux. | https://github.com/pythops/oryx | -| hl | A fast and powerful log viewer and processor. | https://github.com/pamburus/hl | -| serie | A rich git commit graph in your terminal, like magic! | https://github.com/lusingander/serie | -| tre | A modern and improved alternative to the tree(1) command. | https://github.com/dduan/tre | -| pik ⭐ | A TUI for interactively stopping processes. | https://github.com/jacek-kurlit/pik | -| pls | A prettier and powerful ls(1) for the pros. | https://github.com/pls-rs/pls | - -## September 10, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| hf | Cross-platform hidden file library and utility. | https://github.com/sorairolake/hf | -| gitnr ⭐ | A CLI / TUI to generate .gitignore files using templates. | https://github.com/reemus-dev/gitnr | -| rga | Ripgrep, but can also search in docs, PDFs, E-Books, zip, tar.gz, etc. | https://github.com/phiresky/ripgrep-all | -| hstr | A bash and zsh shell history suggestion box for your command history. | https://github.com/dvorka/hstr | -| lssh | A TUI list select SSH/SCP/SFTP client tools. | https://github.com/blacknon/lssh | -| sen | Terminal User Interface for containers. | https://github.com/TomasTomecek/sen | - -## September 3, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| gama ⭐ | Manage your GitHub Actions from the terminal. | https://github.com/termkit/gama | -| hexpatch | A binary patcher and editor with a terminal user interface. | https://github.com/Etto48/HexPatch | -| httplab | Inspect HTTP requests and mock their responses in the terminal. | https://github.com/qustavo/httplab | -| terminaltexteffects | Inline Visual Effects in the Terminal. | https://github.com/ChrisBuilds/terminaltexteffects | -| tuptime | Like uptime(1), but preserves shutdown / restart stats. | https://github.com/rfmoz/tuptime | -| otree | A tool to view objects (JSON/YAML/TOML) in a TUI tree widget. | https://github.com/fioncat/otree | - -## August 27, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| pkgtop | An interactive linux package manager & resource monitor. | https://github.com/orhun/pkgtop | -| atuin ⭐ | Sync, search and backup shell history. | https://github.com/atuinsh/atuin | -| rainfrog | A database management TUI for postgres. | https://github.com/achristmascarl/rainfrog | -| kb | A minimalist knowledge base manager. | https://github.com/gnebbia/kb | -| logria | A powerful CLI tool that puts log aggregation at your fingertips. | https://github.com/ReagentX/Logria | -| pueue | Manage your shell commands. | https://github.com/Nukesor/pueue | - -## August 20, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| tracexec | A small utility for tracing/debugging program execution. | https://github.com/kxxt/tracexec | -| moneyterm ⭐ | TUI expense and budget tracker. | https://github.com/ChrisBuilds/moneyterm | -| octocov | A toolkit for collecting code metrics. | https://github.com/k1LoW/octocov | -| moe | A command line Nim based editor inspired by Vim. | https://github.com/fox0430/moe | -| fztea | A flipperzero remote control locally in the terminal and ssh. | https://github.com/jon4hz/fztea | -| macmon | Sudoless performance monitoring for Apple Silicon processors. | https://github.com/vladkens/macmon | - -## August 13, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| circumflex | It's Hacker News in your terminal. | https://github.com/bensadeh/circumflex | -| rexi | A terminal UI for regex testing. | https://github.com/royreznik/rexi | -| tufw | Terminal UI for ufw. | https://github.com/peltho/tufw | -| croc | Easily and securely send things from one computer to another. | https://github.com/schollz/croc | -| peco | A simplistic interactive filtering tool. | https://github.com/peco/peco | -| tgt ⭐ | A simple TUI for Telegram. | https://github.com/FedericoBruzzone/tgt | - -## August 6, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| vscli | A CLI/TUI making it easy to launch Visual Studio Code (vscode) projects. | https://github.com/michidk/vscli | -| chdig ⭐ | Dig into ClickHouse with TUI interface. | https://github.com/azat/chdig | -| tgpt | AI Chatbots in the terminal without needing API keys. | https://github.com/aandrew-me/tgpt | -| reader | Readability for the command line. | https://github.com/mrusme/reader | -| act3 | Glance at the last 3 runs of your Github Actions. | https://github.com/dhth/act3 | -| tuisky | A TUI client for Bluesky. | https://github.com/sugyan/tuisky | - -## July 31, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| clipboard | Your new, ridonkulously smart clipboard manager. | https://github.com/Slackadays/Clipboard | - -## July 30, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| redu | ncdu for your restic repository. | https://github.com/drdo/redu | -| process-compose | A scheduler and orchestrator to manage non-containerized applications. | https://github.com/F1bonacc1/process-compose | -| zeitfetch | Instantaneous snapshots of system information. | https://github.com/nidnogg/zeitfetch | -| rustscan ⭐ | The Modern Port Scanner. | https://github.com/RustScan/RustScan | -| jc | A tool convert CLI output, files & strings to JSON/YAML. | https://github.com/kellyjonbrazil/jc | - -## July 23, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| cyme | List system USB buses and devices. | https://github.com/tuna-f1sh/cyme | -| scc | A very fast accurate code counter with complexity calculations. | https://github.com/boyter/scc | -| posting ⭐ | A powerful HTTP client that lives in your terminal. | https://github.com/darrenburns/posting | -| bluetui | TUI for managing bluetooth on Linux. | https://github.com/pythops/bluetui | -| erdtree | A general purpose filesystem and disk-usage utility. | https://github.com/solidiquis/erdtree | -| prs | Stay updated on PRs without leaving the terminal. | https://github.com/dhth/prs | - -## July 16, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| nap | Code snippets in your terminal. | https://github.com/maaslalani/nap | -| cidr | A CLI to perform various actions on CIDR ranges. | https://github.com/bschaatsbergen/cidr | -| recoverpy | A TUI to interactively recover overwritten or deleted data. | https://github.com/PabloLec/RecoverPy | -| omm | A keyboard-driven task manager for the terminal. | https://github.com/dhth/omm | -| eva | A calculator REPL, similar to bc. | https://github.com/oppiliappan/eva | -| sampler ⭐ | Visualization for any shell command. | https://github.com/sqshq/sampler | - -## July 9, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| cpufetch | Simple yet fancy CPU architecture fetching tool. | https://github.com/Dr-Noob/cpufetch | -| impala | TUI for managing WiFi on Linux. | https://github.com/pythops/impala | -| ducker | A slightly quackers Docker TUI. | https://github.com/robertpsoane/ducker | -| kaskade ⭐ | A text user interface (TUI) for Apache Kafka. | https://github.com/sauljabin/kaskade | -| goji | Commitizen-like tool for formatting commit messages using emojis. | https://github.com/muandane/goji | -| xh | Friendly and fast tool for sending HTTP requests. | https://github.com/ducaale/xh | - -## July 2, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| mprocs | Run multiple commands in parallel. | https://github.com/pvolok/mprocs | -| shellcheck | A static analysis tool for shell scripts. | https://github.com/koalaman/shellcheck | -| pdu | Highly parallelized, blazing fast directory tree analyzer. | https://github.com/KSXGitHub/parallel-disk-usage | -| pillager ⭐ | Pillage filesystems for sensitive information. | https://github.com/brittonhayes/pillager | -| calcure | Modern, customizable TUI calendar and task manager. | https://github.com/anufrievroman/calcure | -| dblab | The database client designed for command line specialists. | https://github.com/danvergara/dblab | - -## June 25, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| logmerger | A utility to view multiple log files with merged timeline. | https://github.com/ptmcg/logmerger | -| mise | The front-end to your dev env. | https://github.com/jdx/mise | -| ktop ⭐ | A top-like tool for your Kubernetes clusters. | https://github.com/vladimirvivien/ktop | -| typeinc | A cool ncurses based typing speed test tool. | https://github.com/AnirudhG07/typeinc | -| hostctl | A CLI tool to manage /etc/hosts like a pro! | https://github.com/guumaster/hostctl | -| pgtree | Unix process hierarchy tree for specific processes. | https://github.com/joknarf/pgtree | - -## June 18, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| goto | SSH manager for easy server access. | https://github.com/grafviktor/goto | -| hours | no-frills time tracking toolkit for the command line. | https://github.com/dhth/hours | -| fnm | fast and simple node.js version manager in rust. | https://github.com/Schniz/fnm | -| fq ⭐ | jq for binary formats. | https://github.com/wader/fq | -| dyff | diff tool for YAML files, and sometimes JSON. | https://github.com/homeport/dyff | -| pumas | Power Usage Monitor for Apple Silicon. | https://github.com/graelo/pumas | - -## June 11, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| mdtt | Markdown Table Editor TUI. | https://github.com/szktkfm/mdtt | -| hwatch | An alternative watch command. | https://github.com/blacknon/hwatch | -| qrtool | A utility for encoding or decoding QR codes. | https://github.com/sorairolake/qrtool | -| gopass | The enhanced unix password manager for teams. | https://github.com/gopasspw/gopass | -| lnav ⭐ | An ncurses-based log file viewer for the terminal. | https://github.com/tstack/lnav | -| fend | An arbitrary-precision unit-aware calculator. | https://github.com/printfn/fend | - -## June 4, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| pug ⭐ | Drive terraform at terminal velocity. | https://github.com/leg100/pug | -| jnv | Interactive JSON filter using jq. | https://github.com/ynqa/jnv | -| typioca | Cozy typing speed tester in terminal. | https://github.com/bloznelis/typioca | -| lemmeknow | The fastest way to identify anything! | https://github.com/swanandx/lemmeknow | -| kubecolor | Colorize your kubectl output. | https://github.com/kubecolor/kubecolor | -| erldash | A simple, terminal-based Erlang dashboard. | https://github.com/sile/erldash | - -## May 28, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| hyperfine | A command-line benchmarking tool. | https://github.com/sharkdp/hyperfine | -| grex | generate regular expressions from user-provided test cases. | https://github.com/pemistahl/grex | -| sig | interactive grep. (for streaming) | https://github.com/ynqa/sig | -| oterm ⭐ | A text-based terminal client for ollama. | https://github.com/ggozad/oterm | -| onefetch | A command-line Git information tool. | https://github.com/o2sh/onefetch | -| kbt | A keyboard tester in terminal. | https://github.com/bloznelis/kbt | - -## May 21, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| diskonaut | terminal disk space navigator. | https://github.com/imsnif/diskonaut | -| aichat | all-in-one AI powered CLI chat and copilot. | https://github.com/sigoden/aichat | -| flawz ⭐ | A TUI for browsing CVE security vulnerabilities. | https://github.com/orhun/flawz | -| blink | tiniest x86-64-linux emulator. | https://github.com/jart/blink | -| otti | one-time TUI password manager for the terminal. | https://github.com/dnaka91/otti | -| oxker | A simple TUI to view & control docker containers. | https://github.com/mrjackwills/oxker | - -## May 14, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| atac ⭐ | A simple API client (postman like) in your terminal. | https://github.com/Julien-cpsn/ATAC | -| csvlens | a csv viewer like less but made for csv. | https://github.com/YS-L/csvlens | -| hexabyte | A modern, modular, and robust TUI hex editor. | https://github.com/thetacom/hexabyte | -| presenterm | A TUI markdown terminal slideshow tool. | https://github.com/mfontanini/presenterm | -| gri | manage git/gerrit change requests in the terminal. | https://github.com/pycontribs/gri | -| flameshow | A flamegraph viewer in the terminal. | https://github.com/laixintao/flameshow | - -## May 7, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| lazynpm | A simple TUI for npm commands. | https://github.com/jesseduffield/lazynpm | -| kmon | Linux Kernel Manager and Activity Monitor. | https://github.com/orhun/kmon | -| fx | command-line tool and terminal JSON viewer. | https://github.com/antonmedv/fx | -| tinboard ⭐ | A terminal-based client for pinboard.in | https://github.com/davep/tinboard | -| portal | A quick and easy command-line file transfer utility. | https://github.com/SpatiumPortae/portal | -| keyb | Create and view custom hotkey cheatsheets in the terminal. | https://github.com/kencx/keyb | - -## April 30, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| adguardian-term | An AdGuard Home terminal monitoring tool. | https://github.com/Lissy93/AdGuardian-Term | -| doggo | A command-line DNS client for humans. | https://github.com/mr-karan/doggo | -| nvitop | An interactive NVIDIA-GPU process viewer and beyond. | https://github.com/XuehaiPan/nvitop | -| terraform-tui | A powerful terraform textual TUI. | https://github.com/idoavrah/terraform-tui | -| stu | A TUI application for AWS S3 written in Rust. | https://github.com/lusingander/stu | -| jwt-ui ⭐ | A CLI and TUI for decoding/encoding JSON Web Tokens. | https://github.com/jwt-rs/jwt-ui | - -## April 23, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| browsr | A pleasant file explorer in your terminal supporting all filesystems. | https://github.com/juftin/browsr | -| dns53 | Expose your EC2 quickly, easily and privately within a VPC. | https://github.com/purpleclay/dns53 | -| tuime | A colorful and customizable TUI clock written in Rust. | https://github.com/nate-sys/tuime | -| iamb | A matrix client for vim addicts. | https://github.com/ulyssa/iamb | -| oha | A tiny TUI program that sends some load to a web application. | https://github.com/hatoo/oha | -| sttr ⭐ | A CLI/TUI tool to perform 30+ string transformations on text. | https://github.com/abhimanyu003/sttr | - -## April 16, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| netscanner | A network scanning tool. | https://github.com/Chleba/netscanner | -| bombadillo | A non-web client for the terminal, supporting Gopher, Gemini and much more. | https://tildegit.org/sloum/Bombadillo | -| ov | A feature rich terminal-based pager. | https://github.com/noborus/ov | -| kondo | Cleans node_modules, target, build, and friends from your projects. | https://github.com/tbillington/kondo | -| termscp ⭐ | A feature rich terminal file transfer tool. | https://github.com/veeso/termscp | -| superfile | fancy, modern file manager in the terminal. | https://github.com/MHNightCat/superfile | - -## April 10, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| halp | A CLI tool to get help with CLI tools. | https://github.com/orhun/halp | - -## April 9, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| notox | No toxic names anymore. | https://github.com/Its-Just-Nans/notox | -| navi | An interactive cheatsheet tool for the command line. | https://github.com/denisidoro/navi | -| fnug ⭐ | Run all your lints, tests and commands at once, in the terminal. | https://github.com/nickolaj-jepsen/fnug | -| aerc | A pretty good email client. | https://git.sr.ht/~rjarry/aerc | -| atop | An advanced interactive monitor for linux systems. | https://www.atoptool.nl/downloadatop.php | - -## April 2, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| hurl | Run and test HTTP requests with plain text. | https://github.com/Orange-OpenSource/hurl | -| fork-cleaner | A tool to clean up old and inactive forks on your GitHub account. | https://github.com/caarlos0/fork-cleaner | -| ttyplot | A realtime terminal plotting utility with data input from stdin. | https://github.com/tenox7/ttyplot | -| openapi-tui ⭐ | Browse and run APIs defined with OpenAPI v3.0 in the TUI | https://github.com/zaghaghi/openapi-tui | -| servitor | A fediverse client with a terminal interface | https://github.com/bentonedmondson/servitor | -| pastel | Generate, analyze, convert and manipulate colors. | https://github.com/sharkdp/pastel | - -## March 27, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| mitmproxy | A TLS/SSL-capable interception HTTP proxy. | https://github.com/mitmproxy/mitmproxy | -| gallery-dl | Download image galleries and collections from image hosting sites. | https://github.com/mikf/gallery-dl | -| bandwhich ⭐ | Terminal bandwidth utilization tool | https://github.com/imsnif/bandwhich | -| slides | A terminal based presentation tool | https://github.com/maaslalani/slides | -| pathos | A terminal interface for editing and managing PATH environment variables. | https://github.com/chip/pathos | -| tz | A terminal based timezone helper | https://github.com/oz/tz | - -## March 20, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| crates-tui ⭐ | A TUI for exploring crates.io | https://github.com/ratatui-org/crates-tui | -| jaq | A jq clone focused on correctness, speed, and simplicity | https://github.com/01mf02/jaq | -| numbat | high precision scientific calculator with full support for physical units. | https://github.com/sharkdp/numbat | -| stree | A simple directory tree command for listing AWS S3 bucket | https://github.com/orangekame3/stree | -| amp | A complete text editor for your terminal. | https://github.com/jmacdonald/amp | -| pvw | A terminal-based (TUI) port viewer in Go | https://github.com/allyring/pvw | - -## March 13, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| git-split-diffs | Syntax highlighted side-by-side diffs in your terminal | https://github.com/banga/git-split-diffs | -| sd | Intuitive find & replace CLI (sed alternative) | https://github.com/chmln/sd | -| tran | Securely transfer and send anything between computers with a TUI | https://github.com/abdfnx/tran | -| restic | Fast, secure, efficient backup program. | https://github.com/restic/restic | -| buku | Personal mini-web in text | https://github.com/jarun/buku | -| age ⭐ | A simple, modern and secure file encryption tool. | https://github.com/FiloSottile/age | - -## March 6, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| goose | A database migration tool written in Go. | https://github.com/pressly/goose | -| tailspin | A log file highlighter | https://github.com/bensadeh/tailspin | -| rclone | rsync for cloud storage | https://github.com/rclone/rclone | -| cotp | trusted, encrypted, TOTP/HOTP authenticator with import functionality. | https://github.com/replydev/cotp | -| viddy | A modern watch command, time machine and pager. | https://github.com/sachaos/viddy | -| updo | Uptime monitoring CLI tool with alerting and advanced settings. | https://github.com/Owloops/updo | -| gocovsh | A shell for interacting with Go coverage profiles. | https://github.com/orlangure/gocovsh | -| opencubicplayer | a text-based audio player with some few graphical views. | https://github.com/mywave82/opencubicplayer | -| tealdeer | A very fast implementation of tldr in Rust. | https://github.com/dbrgn/tealdeer | -| dolphie ⭐ | Realtime MySQL health monitoring in the terminal. | https://github.com/charles-001/dolphie | - -## February 28, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| tokei | Count your code, quickly. | https://github.com/xampprocky/tokei | -| gomuks | A terminal based Matrix client written in Go. | https://github.com/tulir/gomuks | -| ghq | Remote repository management made easy. | https://github.com/x-motemen/ghq | -| kalker ⭐ | A scientific terminal calculator with math syntax. | https://github.com/PaddiM8/kalker | -| yt-dlp | A youtube-dl fork with additional features and fixes. | https://github.com/yt-dlp/yt-dlp | -| logss | A simple cli for logs splitting. | https://github.com/todoesverso/logss | - -## February 21, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| youplot | A command line tool that draw plots on the terminal. | https://github.com/red-data-tools/YouPlot | -| jless ⭐ | A command-line JSON viewer. | https://github.com/PaulJuliusMartinez/jless | -| dua | View disk space usage and delete unwanted data, fast. | https://github.com/Byron/dua-cli | -| docfd | TUI multiline fuzzy document finder. | https://github.com/darrenldl/docfd | -| eddy | Simple, fast CLI file encryption tool. | https://github.com/70sh1/eddy | -| curlie | The power of curl, the ease of use of httpie. | https://github.com/rs/curlie | - -## February 14, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| daff | align and compare tables | https://github.com/paulfitz/daff | -| asn | ASN lookup tool and traceroute server | https://github.com/nitefood/asn | -| tiptop ⭐ | Command-line system monitoring | https://github.com/nschloe/tiptop | -| fastfetch | Like neofetch, but much faster. | https://github.com/fastfetch-cli/fastfetch | -| havn | A fast configurable port scanner with reasonable defaults. | https://github.com/mrjackwills/havn | -| s-tui | terminal-based CPU stress and monitoring utility. | https://github.com/amanusk/s-tui | - -## February 7, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| ouch | Painless compression and decompression in the terminal | https://github.com/ouch-org/ouch | -| sshs | Terminal user interface for SSH | https://github.com/quantumsheep/sshs | -| qsv | Blazing-fast CSV data-wrangling toolkit | https://github.com/jqnatividad/qsv | -| sizeof | A command-line tool to calculate the size of data structures | https://github.com/zackproser/sizeof | -| wiki-tui ⭐ | A fast Wikipedia CLI/TUI client | https://github.com/Builditluc/wiki-tui | - -## January 31, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| trippy ⭐ | A TUI network diagnostics tool | https://github.com/fujiapple852/trippy/ | -| textql | Execute SQL against structured text like CSV or TSV | https://github.com/dinedal/textql | -| toot | Interact with Mastodon directly in the terminal. | https://github.com/ihabunek/toot | -| mdcat | fancy cat for markdown | https://github.com/swsnr/mdcat | -| lsd | lsdeluxe, the next gen ls command in Rust. | https://github.com/lsd-rs/lsd | -| logshark | A CLI / TUI debugger for JSON logs. | https://github.com/ugosan/logshark | - -## January 24, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| wg-cmd | TUI for managing WireGuard configuration files | https://github.com/AndrianBdn/wg-cmd | -| brows | A GitHub releases browser for the terminal | https://github.com/rubysolo/brows | -| eget ⭐ | Easily install prebuilt binaries from GitHub. | https://github.com/zyedidia/eget | -| topgrade | Upgrade all the things | https://github.com/topgrade-rs/topgrade/ | -| pysentation | TUI for displaying Python presentations | https://github.com/mimseyedi/pysentation | -| termdbms | A terminal UI for editing database files | https://github.com/mathaou/termdbms | - -## January 17, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| neomutt | A command line mail reader based on mutt | https://github.com/neomutt/neomutt | -| gdu ⭐ | Pretty fast disk usage analyzer | https://github.com/dundee/gdu | -| mapscii | The whole world in your console. | https://github.com/rastapasta/mapscii | -| git-cc | a git extension to help write conventional commits | https://github.com/SKalt/git-cc/ | -| yazi | Blazing fast terminal file manager written in Rust, based on async I/O. | https://github.com/sxyazi/yazi | -| lf | A terminal file manager which "lists files". | https://github.com/gokcehan/lf | -| zoxide | A smarter cd command. Supports all major shells. | https://github.com/ajeetdsouza/zoxide | - -## January 10, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| musikcube | A cross-platform terminal-based music player | https://github.com/clangen/musikcube | -| fnc | interactive text-based user interface for Fossil | https://fnc.bsdbox.org/index | -| zrok | a next-generation peer-to-peer sharing platform | https://github.com/openziti/zrok | -| aider ⭐ | AI pair programming in your terminal. | https://github.com/paul-gauthier/aider | -| helix | A post-modern text editor. | https://github.com/helix-editor/helix | -| miller | an all in one swiss army knife for data processing. | https://github.com/johnkerl/miller | -| dug | A global DNS propagation checker on your CLI | https://github.com/unfrl/dug | - -## January 3, 2024 - -| Tool | Description | Link | -|------|-------------|------| -| eza | A modern replacement for ls | https://github.com/eza-community/eza | -| harlequin ⭐ | The SQL IDE for Your Terminal. | https://github.com/tconbeer/harlequin | -| ugm | A TUI to view information about UNIX users and groups | https://github.com/ariasmn/ugm | -| neovim | Hyperextensible Vim-based text editor | https://github.com/neovim/neovim | -| fnt | apt for fonts, the missing font manager for macOS and Linux | https://github.com/alexmyczko/fnt | -| dust | A more intuitive version of du in rust | https://github.com/bootandy/dust | -| hledger-ui | Fast, friendly, robust plain text accounting software (TUI version) | https://github.com/simonmichael/hledger | -| procmux | A terminal multiplexer for processes. | https://github.com/napisani/procmux | -| hackernews-tui | A Terminal UI (TUI) to browse Hacker News. | https://github.com/aome510/hackernews-TUI | -| hledger | Fast, friendly, robust plain text accounting software | https://github.com/simonmichael/hledger | -| difftastic | A structural diff that understands syntax. | https://github.com/Wilfred/difftastic | - -## November 15, 2023 - -| Tool | Description | Link | -|------|-------------|------| -| visidata | A terminal spreadsheet multitool for discovering and arranging data. | https://github.com/saulpw/visidata | -| delta | A viewer for git and diff output. | https://github.com/dandavison/delta | -| patat | Terminal-based presentations using Pandoc. | https://github.com/jaspervdj/patat | -| jira-cli | Interact with Jira in the Terminal with Jira CLI. | https://github.com/ankitpokhrel/jira-cli | -| grv | A Git Repository Viewer. | https://github.com/rgburke/grv | -| scli | simple terminal user interface (TUI) for Signal. | https://github.com/isamert/scli | -| neoss | User-friendly and detailed socket statistics with a TUI. | https://github.com/PabloLec/neoss | -| ox | A Rust text editor that runs in your terminal! | https://github.com/curlpipe/ox | -| cmus | Small, fast and powerful console music player for Unix-like operating systems. | https://github.com/cmus/cmus | -| lazygit | Simple terminal UI for git commands. | https://github.com/jesseduffield/lazygit | -| termshark | A terminal UI (TUI) for tshark, inspired by Wireshark. | https://github.com/gcla/termshark | -| meli | configurable and extensible terminal email client. | https://github.com/meli/meli | -| dive | A tool for exploring each layer in a docker image. | https://github.com/wagoodman/dive | -| tcpterm | A terminal-based TCP dump viewer. | https://github.com/sachaos/tcpterm | -| tickrs | Realtime ticker data in your terminal. | https://github.com/tarkah/tickrs | -| gobang | A cross platform TUI database management tool written in Rust | https://github.com/TaKO8Ki/gobang | -| devzat | A tool to chat over SSH. | https://github.com/quackduck/devzat | -| slack-term | A Slack client for your terminal. | https://github.com/erroneousboat/slack-term | -| calcurse | A calendar and scheduling application for the command line. | https://git.calcurse.org/ | -| zellij | A terminal workspace with batteries included. | https://github.com/zellij-org/zellij | -| netop | A network topology visualizer. | https://github.com/ZingerLittleBee/netop | -| irssi | A well known cross-platform and famous IRC client | https://github.com/irssi/irssi | - -## November 8, 2023 - -| Tool | Description | Link | -|------|-------------|------| -| ttyper | A terminal-based typing test | https://github.com/max-niederman/ttyper | -| micro | A modern and intuitive terminal-based text editor. | https://github.com/zyedidia/micro | -| ctop | A top-like interface for container metrics. | https://github.com/bcicen/ctop | -| zenith | A terminal UI (TUI) for monitoring system resources | https://github.com/bvaisvil/zenith | -| xplr | A hackable, minimal, fast TUI file explorer | https://github.com/sayanarijit/xplr | -| orbiton | A terminal-based text editor and a minimalistic IDE. | https://github.com/xyproto/orbiton | -| twitch-tui | A Twitch chat TUI client for the terminal | https://github.com/Xithrius/twitch-tui | -| bmon | Bandwidth monitor and rate estimator | https://github.com/tgraf/bmon | -| gotop | A terminal-based graphical activity monitor written in Go. | https://github.com/xxxserxxx/gotop | -| nemu | ncurses-based TUI for QEMU. | https://github.com/nemuTUI/nemu | -| tut | A TUI for Mastodon with vim inspired keys | https://github.com/RasmusLindroth/tut | -| planor | A TUI client for cloud services for aws, vultr, heroku, etc. | https://github.com/mrusme/planor | -| zeit | A simple command-line tool to track your time | https://github.com/mrusme/zeit | -| mc | Midnight Commander, a feature-rich visual file manager for the terminal. | https://github.com/MidnightCommander/mc | - -## November 1, 2023 - -| Tool | Description | Link | -|------|-------------|------| -| sntop | A simple network top for monitoring connectivity | https://sourceforge.net/projects/sntop/ | -| moc | A music player with a terminal user interface (TUI) | https://moc.daper.net/download | -| hexyl | A rust based command-line hex viewer | https://github.com/sharkdp/hexyl | -| textual-astview | A Textual-based Python AST viewing widget library and application | https://github.com/davep/textual-astview | -| typespeed | Test your typing speed, and challenge your friends | https://sourceforge.net/projects/typespeed/files/typespeed/ | -| cgdb | A curses (terminal-based) interface to the GNU Debugger (GDB) | https://github.com/cgdb/cgdb | -| ncdu | A ncurses based disk usage analyzer | https://dev.yorhel.nl/ncdu | -| wordgrinder | A cross-platform word processor for the terminal | https://github.com/davidgiven/wordgrinder | -| jqp | A TUI playground to experiment with jq. | https://github.com/noahgorstein/jqp | -| k9s | Kubernetes CLI and TUI To Manage Your Clusters In Style! | https://github.com/derailed/k9s | -| noping | A C library to generate ICMP echo requests with a visualization | https://github.com/octo/liboping | -| lazydocker | The lazier way to manage everything docker | https://github.com/jesseduffield/lazydocker | -| bottom | Yet another cross-platform graphical process/system monitor. | https://github.com/ClementTsang/bottom | -| jq | Command-line JSON processor | https://github.com/jqlang/jq | - diff --git a/formula-status/README.md b/formula-status/README.md deleted file mode 100644 index b1bc43a763..0000000000 --- a/formula-status/README.md +++ /dev/null @@ -1,312 +0,0 @@ -# Formula Metadata System - -Automated metadata crawling and git hosting statistics for all formulas in this tap. - -## Overview - -The Formula Metadata system provides automated metadata extraction and git hosting statistics for every formula in the tap, generating a comprehensive `formula-status.md` report with: - -- **Metadata extraction**: description, homepage, license, bottle, livecheck status -- **Multi-platform git statistics**: stars, forks, last commit, last release - - GitHub (via gh CLI) - - GitLab (via API) - - Codeberg (via Forgejo API) - - SourceHut (limited support) -- **Smart sorting**: formulas ranked by popularity (stars) - -## Quick Start - -### Using Justfile (Recommended) - -```bash -# Generate metadata report -just status - -# Generate with verbose logging (see what's happening) -just status-verbose - -# Refresh git stats cache -just status-refresh - -# Run in background and follow logs -just status-background -just status-logs - -# Check if it's running -just status-check - -# View results -just view -just count -just top 10 - -# Clean up -just clean -``` - -### Direct Python Usage - -```bash -# Generate metadata report -python3 scripts/generate_formula_status.py - -# Generate with verbose logging -python3 scripts/generate_formula_status.py --verbose - -# Refresh git stats cache (ignore cached results) -python3 scripts/generate_formula_status.py --refresh - -# Custom output file -python3 scripts/generate_formula_status.py --output my-status.md - -# Control parallelism (default: 20 workers) -python3 scripts/generate_formula_status.py --workers 10 -``` - -### CI/CD Integration - -The system runs automatically: - -- **Weekly**: Every Monday at 09:00 UTC -- **Manual**: Trigger from GitHub Actions UI - - Go to Actions → Formula Metadata → Run workflow - -Changes are automatically committed to the repository. - -## Command Line Options - -| Option | Description | Default | -|--------|-------------|---------| -| `--output` | Output file path | `formula-status.md` | -| `--refresh` | Ignore cache and refresh git stats | false | -| `--workers` | Number of parallel workers | 20 | -| `--verbose` / `-v` | Enable verbose logging | false | - -## Justfile Commands - -The `justfile` provides convenient shortcuts for common operations: - -### Generation Commands -- `just status` - Generate metadata report -- `just status-verbose` - Generate with verbose logging -- `just status-refresh` - Refresh git stats cache -- `just status-workers N` - Use N parallel workers (default: 20) - -### Background Execution -- `just status-background` - Run in background with logging -- `just status-check` - Check if crawler is running -- `just status-kill` - Stop background crawler -- `just status-logs` - Follow background logs -- `just status-watch` - Watch progress in real-time - -### Viewing & Analysis -- `just view` - Display full formula-status.md -- `just count` - Count total formulas -- `just top N` - Show top N formulas by stars (default: 10) - -### Maintenance -- `just clean` - Remove all generated files and cache -- `just clean-cache` - Remove git stats cache only -- `just clean-reports` - Remove formula-status.md only -- `just clean-logs` - Remove log files -- `just validate` - Validate generated formula-status.md - -### Utilities -- `just example` - Show example output table -- `just install-deps` - Check dependencies (python3, gh) - -## Git Hosting Platform Support - -The crawler automatically detects and fetches statistics from multiple git hosting platforms: - -### GitHub -- **Detection**: `github.com` in homepage or URL -- **Method**: `gh` CLI tool -- **Stats**: stars, forks, last commit, last release -- **Requirements**: `gh` command must be installed and authenticated - -### GitLab -- **Detection**: `gitlab.com` in homepage or URL -- **Method**: GitLab REST API -- **Stats**: stars, forks, last activity, latest release -- **Requirements**: No authentication needed for public repos - -### Codeberg -- **Detection**: `codeberg.org` in homepage or URL -- **Method**: Forgejo/Gitea API -- **Stats**: stars, forks, last update, latest release -- **Requirements**: No authentication needed for public repos - -### SourceHut -- **Detection**: `git.sr.ht` in homepage or URL -- **Method**: Limited API support -- **Stats**: Basic repo information only (stars/forks not available) -- **Note**: SourceHut has minimal public API for statistics - -## Output Format - -The generated `formula-status.md` contains a sorted table of all formulas: - -### Metadata Table - -| Formula | Description | Stars | Forks | Last Commit | Last Release | License | Bottle | Livecheck | Homepage | -|---------|-------------|-------|-------|-------------|--------------|---------|--------|-----------|----------| -| popular-tool | An awesome CLI tool for developers | 1234 | 56 | 2024-12-10 | 2024-11-20 | MIT | ✓ | ✓ | [link](https://...) | -| another-tool | A cool application | 567 | 23 | 2024-12-12 | - | Apache-2.0 | ✓ | - | [link](https://...) | - -**Table columns**: -1. **Formula**: Formula name -2. **Description**: Short description (truncated to 60 chars) -3. **Stars**: Git hosting stars count (or `-` if unavailable) -4. **Forks**: Git hosting forks count (or `-` if unavailable) -5. **Last Commit**: Last commit date in YYYY-MM-DD format -6. **Last Release**: Last release date in YYYY-MM-DD format (or `-` if none) -7. **License**: Software license (or `-` if not specified) -8. **Bottle**: ✓ if pre-built binary available, `-` otherwise -9. **Livecheck**: ✓ if version check configured, `-` otherwise -10. **Homepage**: Link to project homepage - -**Sorting**: Formulas are sorted by stars (descending), then alphabetically by name. - -## Git Stats Caching - -Git hosting API responses are cached in `.cache/formula_metadata.json` to: -- Avoid rate limiting (especially for GitHub) -- Speed up subsequent runs -- Reduce API usage across all platforms - -Cache is automatically: -- **Loaded**: On script start (unless `--refresh` specified) -- **Updated**: When new repos are fetched -- **Saved**: After processing all formulas -- **Committed**: To repository for CI/CD reuse - -Use `--refresh` to force-refresh all cached stats for all platforms. - -## Example Output - -### Sample Table - -```markdown -| Formula | Description | Stars | Forks | Last Commit | Last Release | License | Bottle | Livecheck | Homepage | -|---------|-------------|-------|-------|-------------|--------------|---------|--------|-----------|----------| -| awesome-tool | An awesome CLI tool for developers | 1234 | 56 | 2024-12-10 | 2024-11-20 | MIT | ✓ | ✓ | [link](https://github.com/user/awesome-tool) | -| cool-app | A cool application for productivity | 567 | 23 | 2024-12-12 | - | Apache-2.0 | ✓ | - | [link](https://gitlab.com/user/cool-app) | -| neat-util | Neat utility for developers | 234 | 12 | 2024-12-08 | 2024-11-15 | BSD-3-Clause | - | ✓ | [link](https://codeberg.org/user/neat-util) | -``` - -## Requirements - -- **Python 3.x**: For running the script -- **GitHub CLI** (`gh`): For fetching GitHub repo stats (most common) -- **curl**: For fetching GitLab, Codeberg, and SourceHut stats - -The `gh` CLI must be installed and authenticated for GitHub repos. For other platforms, no authentication is needed for public repositories. - -All requirements are pre-installed in the GitHub Actions environment. - -## Troubleshooting - -### Common Issues - -**Script fails to find formulas**: -- Ensure you're in the tap root directory -- Check that `Formula/` directory exists with `.rb` files - -**GitHub API rate limiting**: -- Use cached results (default behavior) -- Ensure `gh` CLI is authenticated: `gh auth status` -- Run during off-peak hours - -**Missing stats for some formulas**: -- Formula may not have a recognized git hosting URL -- Git hosting platform may be down or rate-limited -- Check formula's homepage and url fields - -**Script appears stuck**: -- Use `--verbose` flag to see progress -- Use `just status-watch` to monitor in real-time -- Check process with `just status-check` - -**Permission errors**: -- Ensure script is executable: `chmod +x scripts/generate_formula_status.py` -- Ensure `gh` CLI is authenticated - -### Verbose Mode - -Enable verbose output to see detailed progress: - -```bash -just status-verbose -# or -python3 scripts/generate_formula_status.py --verbose -``` - -## Integration with Other Tools - -### Pre-commit Hook - -Add to `.pre-commit-config.yaml`: - -```yaml -- repo: local - hooks: - - id: formula-status - name: Update formula status - entry: python3 scripts/generate_formula_status.py - language: system - pass_filenames: false - always_run: false # Only run manually -``` - -### CI/CD Badge - -Add to README: - -```markdown -![Formula Status](https://github.com/chenrui333/homebrew-tap/actions/workflows/formula-status.yml/badge.svg) -``` - -## Performance - -**Typical execution** (~3-5 minutes for 150 formulas): -- Pure metadata extraction and git stats -- Parallel processing with 20 workers -- Cached git stats for subsequent runs -- Fast API calls to GitLab, Codeberg -- GitHub via `gh` CLI (fastest) - -**Optimization tips**: -- Use cached results (default) for faster runs -- Adjust `--workers` based on your system -- Run with `--verbose` only when debugging - -## Contributing - -To improve the metadata system: - -1. **Add new platforms**: Add detection pattern and stats fetcher -2. **Enhance reporting**: Update `generate_report()` method -3. **Improve caching**: Extend cache schema -4. **Add metadata**: Track additional formula fields - -See `scripts/generate_formula_status.py` for implementation details. - -## Future Enhancements - -Planned improvements: - -- [ ] Self-hosted GitLab/Gitea instance support -- [ ] Historical trend tracking (stars over time) -- [ ] Formula health scoring algorithm -- [ ] Integration with Homebrew analytics -- [ ] Multi-tap aggregation support -- [ ] Web dashboard UI -- [ ] Better SourceHut API integration (when available) - -## Support - -For issues or questions: -- Open an issue on GitHub -- Check existing formula-status.md for formula-specific issues -- Review GitHub Actions logs for CI failures diff --git a/formula-status/formula-status.md b/formula-status/formula-status.md deleted file mode 100644 index 0693448bc6..0000000000 --- a/formula-status/formula-status.md +++ /dev/null @@ -1,868 +0,0 @@ -# Formula Metadata - -Generated: 2026-04-27 09:53:35 UTC -Total formulas: 859 - -## Formulas - -| Formula | Description | Stars | Forks | Last Commit | Last Release | License | Bottle | Livecheck | Homepage | -| ------- | ----------- | ----- | ----- | ----------- | ------------ | ------- | ------ | --------- | -------- | -| bun | Incredibly fast JavaScript runtime, bundler, test runner, an... | 87982 | 4151 | 2026-03-09 | 2026-02-26 | - | ✓ | ✓ | [link](https://bun.com) | -| alacritty | Cross-platform, OpenGL terminal emulator | 62443 | 3303 | 2026-01-29 | 2025-10-20 | - | ✓ | ✓ | [link](https://github.com/alacritty/alacritty) | -| unsloth | CLI for Unsloth training and studio workflows | 57650 | 4858 | 2026-03-23 | 2026-03-22 | - | ✓ | - | [link](https://github.com/unslothai/unsloth) | -| get-shit-done-cc | Meta-prompting and context engineering system for AI coding ... | 51581 | 4333 | 2026-04-12 | 2026-04-11 | MIT | ✓ | - | [link](https://github.com/gsd-build/get-shit-done) | -| headscale | Open source, self-hosted implementation of the Tailscale con... | 35437 | 1901 | 2026-02-16 | 2026-02-04 | BSD-3-Clause | ✓ | - | [link](https://github.com/juanfont/headscale) | -| oh-my-claude | Teams-first multi-agent orchestration for Claude Code | 30156 | 2796 | 2026-04-20 | 2026-04-19 | MIT | ✓ | - | [link](https://github.com/Yeachan-Heo/oh-my-claudecode) | -| nanoclaw | Personal Claude assistant with container-isolated agents | 28189 | 12663 | 2026-04-26 | - | MIT | ✓ | - | [link](https://nanoclaw.dev) | -| openspec | AI-native system for spec-driven development | 24298 | 1600 | 2026-02-16 | 2026-01-30 | MIT | ✓ | - | [link](https://github.com/Fission-AI/OpenSpec) | -| lightpanda | Headless browser designed for AI and automation | 23947 | 947 | 2026-03-23 | 2024-07-16 | AGPL-3.0-or-later | ✓ | - | [link](https://github.com/lightpanda-io/browser) | -| crush | Glamorous AI coding agent for your favorite terminal | 20049 | 1234 | 2026-02-16 | 2026-02-13 | FSL-1.1-MIT | ✓ | - | [link](https://github.com/charmbracelet/crush) | -| oh-my-codex | Multi-agent orchestration layer for OpenAI Codex CLI | 16978 | 1624 | 2026-04-06 | 2026-04-04 | MIT | ✓ | - | [link](https://github.com/Yeachan-Heo/oh-my-codex) | -| plandex | AI driven development in your terminal. Designed for large, ... | 14987 | 1083 | 2025-10-03 | 2025-07-16 | MIT | ✓ | ✓ | [link](https://plandex.ai/) | -| semaphore | Modern UI and powerful API for Ansible, Terraform/OpenTofu/T... | 13221 | 1216 | 2026-02-16 | 2026-02-16 | MIT | ✓ | - | [link](https://filebrowser.org/) | -| gh-dash | Terminal UI for GitHub | 11472 | 378 | 2026-04-24 | 2026-03-07 | MIT | ✓ | - | [link](https://github.com/dlvhdr/gh-dash) | -| pal-mcp-server | AI-powered MCP server with multiple model providers | 11104 | 944 | 2025-12-15 | 2025-12-15 | Apache-2.0 | ✓ | - | [link](https://github.com/BeehiveInnovations/pal-mcp-server) | -| bin-fq | Jq for binary formats | 10411 | 243 | 2026-02-12 | 2025-12-07 | Apache-2.0 | ✓ | - | [link](https://github.com/wader/fq) | -| vercel-serve | Static file serving and directory listing | 9822 | 695 | 2025-09-04 | 2025-09-04 | MIT | ✓ | - | [link](https://github.com/vercel/serve) | -| openharness | Open-source AI-powered CLI coding assistant | 9212 | 1600 | 2026-04-13 | 2026-04-10 | MIT | ✓ | - | [link](https://github.com/HKUDS/OpenHarness) | -| chatlog | Easily use your own chat data | 9185 | 2659 | 2025-10-20 | - | Apache-2.0 | ✓ | - | [link](https://github.com/sjzar/chatlog) | -| create-mcp-use-app | Project scaffolding tool for mcp-use applications | 9162 | 1125 | 2026-02-16 | 2026-01-22 | MIT | ✓ | - | [link](https://github.com/mcp-use/mcp-use) | -| fission-cli | Fast and Simple Serverless Functions for Kubernetes | 8829 | 793 | 2026-02-12 | 2025-12-18 | Apache-2.0 | ✓ | ✓ | [link](https://fission.io/) | -| copilot-cli | Copilot coding agent directly to your terminal | 8435 | 1154 | 2026-02-16 | 2026-02-14 | - | ✓ | - | [link](https://github.com/github/copilot-cli) | -| otto | JavaScript interpreter in Go (golang) | 8434 | 599 | 2025-06-13 | 2024-11-05 | MIT | ✓ | - | [link](https://github.com/robertkrimen/otto) | -| npm-np | Better `npm publish` | 7683 | 311 | 2026-01-29 | 2026-01-29 | MIT | ✓ | - | [link](https://github.com/sindresorhus/np) | -| fkill-cli | Fabulously kill processes. Cross-platform | 6986 | 163 | 2025-11-09 | 2025-11-09 | MIT | ✓ | - | [link](https://github.com/sindresorhus/fkill-cli) | -| fuck-u-code | Detect legacy code mess and generate a beautiful report | 6808 | 324 | 2026-02-16 | 2026-02-16 | MIT | ✓ | - | [link](https://github.com/Done-0/fuck-u-code) | -| mlx-audio | Run audio models on Apple silicon with MLX | 6352 | 504 | 2026-03-21 | 2026-03-14 | MIT | ✓ | - | [link](https://github.com/Blaizzy/mlx-audio) | -| zerobrew | Drop-in, faster, experimental Homebrew alternative | 6337 | 141 | 2026-02-16 | 2026-02-15 | - | ✓ | - | [link](https://github.com/lucasgelfond/zerobrew) | -| fresh | Modern terminal-based text editor with plugin support | 6331 | 226 | 2026-03-09 | 2026-03-06 | GPL-2.0-only | ✓ | - | [link](https://getfresh.dev/) | -| carbon-now-cli | Beautiful images of your code — from right inside your termi... | 5982 | 127 | 2025-11-14 | 2024-12-12 | MIT | ✓ | - | [link](https://github.com/mixn/carbon-now-cli) | -| ticker | Terminal stock ticker with live updates and position trackin... | 5937 | 322 | 2025-12-28 | 2025-12-28 | GPL-3.0-only | ✓ | - | [link](https://github.com/achannarasappa/ticker) | -| ferret | Declarative web scraping | 5920 | 318 | 2026-02-16 | 2025-05-07 | Apache-2.0 | ✓ | - | [link](https://www.montferret.dev/) | -| podcli | CLI for podinfo | 5826 | 1851 | 2026-02-03 | 2026-02-03 | Apache-2.0 | ✓ | - | [link](https://github.com/stefanprodan/podinfo) | -| phpinsights | Instant PHP quality checks from your console | 5579 | 293 | 2025-11-12 | 2025-10-16 | MIT | ✓ | - | [link](https://github.com/nunomaduro/phpinsights) | -| discordo | Lightweight, secure, and feature-rich Discord terminal clien... | 5466 | 202 | 2026-04-23 | - | GPL-3.0-only | ✓ | - | [link](https://github.com/ayn2op/discordo) | -| gofakeit | Random fake data generator written in go | 5302 | 292 | 2025-12-28 | 2025-11-08 | MIT | ✓ | - | [link](https://github.com/brianvoe/gofakeit) | -| kyanos | Networking analysis tool using eBPF | 5013 | 228 | 2026-04-27 | 2025-03-19 | Apache-2.0 | ✓ | - | [link](https://kyanos.io/) | -| awless | Mighty CLI for AWS | 4983 | 258 | 2022-08-02 | 2018-06-21 | Apache-2.0 | ✓ | - | [link](https://github.com/wallix/awless) | -| clawhub | Install, update, search, and publish agent skills | 4904 | 798 | 2026-03-09 | 2026-01-07 | MIT | ✓ | - | [link](https://clawhub.ai) | -| flipt | Enterprise-ready, Git native feature management solution | 4714 | 276 | 2026-02-16 | 2026-02-08 | FCL-1.0-MIT | ✓ | - | [link](https://flipt.io/) | -| percollate | CLI to turn web pages into readable PDF, EPUB, HTML, or Mark... | 4582 | 174 | 2025-08-29 | 2025-08-29 | MIT | ✓ | - | [link](https://github.com/danburzo/percollate) | -| sish | HTTP(S)/WS(S)/TCP Tunnels to localhost using only SSH | 4528 | 330 | 2026-02-04 | 2026-02-04 | MIT | ✓ | - | [link](https://docs.ssi.sh/) | -| gritql | Query language for searching, linting, and modifying code | 4399 | 120 | 2025-12-01 | 2025-03-26 | MIT | ✓ | - | [link](https://docs.grit.io/) | -| cerbos | Scalable, context-aware authorization service for applicatio... | 4221 | 171 | 2026-02-16 | 2026-02-04 | Apache-2.0 | ✓ | - | [link](https://www.cerbos.dev/) | -| dart-sass | Reference implementation of Sass stylesheet compiler | 4181 | 379 | 2026-03-30 | 2026-03-10 | MIT | ✓ | - | [link](https://sass-lang.com) | -| httptap | View HTTP/HTTPS requests made by any Linux program | 4145 | 64 | 2025-12-23 | 2025-02-26 | MIT | ✓ | - | [link](https://github.com/monasticacademy/httptap) | -| gobgp | CLI tool for GoBGP | 3984 | 769 | 2026-02-12 | 2026-01-01 | Apache-2.0 | ✓ | - | [link](https://osrg.github.io/gobgp/) | -| sqlit | User friendly TUI for SQL databases | 3718 | 94 | 2026-02-02 | 2026-02-01 | MIT | ✓ | - | [link](https://github.com/Maxteabag/sqlit) | -| vulcain | Fast and idiomatic client-driven REST APIs | 3571 | 104 | 2025-10-30 | 2025-08-26 | AGPL-3.0-only | ✓ | - | [link](https://vulcain.rocks/) | -| container-use | Dev envs for coding agents. Run multiple agents safely with ... | 3543 | 172 | 2025-12-08 | 2025-08-19 | Apache-2.0 | ✓ | - | [link](https://github.com/dagger/container-use) | -| wild | Fast linker for Linux | 3527 | 111 | 2026-04-26 | 2026-01-16 | - | ✓ | - | [link](https://github.com/davidlattimore/wild) | -| ddev | Docker-based local PHP+Node.js web development environments | 3498 | 692 | 2026-02-16 | 2026-02-03 | Apache-2.0 | ✓ | - | [link](https://ddev.com/) | -| mcp-server-cloudflare | Cloudflare MCP Server | 3415 | 340 | 2026-01-22 | 2026-01-13 | Apache-2.0 | ✓ | - | [link](https://github.com/cloudflare/mcp-server-cloudflare) | -| floci | Open-source local AWS emulator | 3363 | 187 | 2026-04-13 | 2026-04-13 | MIT | ✓ | - | [link](https://github.com/floci-io/floci) | -| octelium | Next-gen FOSS zero-trust platform—self-hosted VPN, ZTNA, API... | 3359 | 111 | 2026-02-16 | 2026-02-15 | Apache-2.0 | ✓ | - | [link](https://octelium.com/docs/octelium/latest/overview/intro) | -| allinssl | All-in-one SSL certificate lifecycle management tool | 3352 | 354 | 2026-01-29 | 2026-01-21 | GPL-3.0-only | ✓ | - | [link](https://allinssl.com/) | -| pgdog | Automatic sharding for PostgreSQL | 3347 | 130 | 2026-02-16 | 2026-02-12 | AGPL-3.0-only | ✓ | ✓ | [link](https://pgdog.dev/) | -| browserbase-mcp-server | MCP server for AI web browser automation using Browserbase a... | 3133 | 338 | 2026-01-23 | - | Apache-2.0 | ✓ | - | [link](https://github.com/browserbase/mcp-server-browserbase) | -| ergo | Modern IRC server (daemon/ircd) written in Go | 3075 | 225 | 2026-02-16 | 2025-12-22 | MIT | ✓ | - | [link](https://github.com/ergochat/ergo) | -| graphjin | Build NodeJS / GO APIs in 5 minutes not weeks | 3020 | 186 | 2026-02-14 | 2026-02-14 | Apache-2.0 | ✓ | - | [link](https://graphjin.com/) | -| git-chglog | CHANGELOG generator implemented in Go (Golang) | 2881 | 227 | 2026-01-18 | 2023-02-15 | MIT | ✓ | - | [link](https://github.com/git-chglog/git-chglog) | -| mcp-obsidian | MCP server for interacting with Obsidian via its REST API pl... | 2853 | 358 | 2025-06-28 | - | MIT | ✓ | - | [link](https://github.com/MarkusPfundstein/mcp-obsidian) | -| playerctl | Mpris media player command-line controller | 2843 | 95 | 2024-06-13 | 2021-09-21 | LGPL-3.0-or-later | ✓ | - | [link](https://github.com/altdesktop/playerctl) | -| fast-cli | Test your download and upload speed using fast.com | 2799 | 125 | 2026-02-02 | 2026-02-02 | MIT | ✓ | - | [link](https://github.com/sindresorhus/fast-cli) | -| teldrive | Utility to organize, manage, and sync Telegram files locally | 2662 | 384 | 2026-02-15 | 2026-02-15 | MIT | ✓ | - | [link](https://teldrive-docs.pages.dev/) | -| shadcn-ui-mcp-server | MCP server for Shadcn UI v4 | 2651 | 281 | 2026-02-10 | 2026-01-30 | MIT | ✓ | - | [link](https://github.com/jpisnice/shadcn-ui-mcp-server) | -| weathr | Terminal weather app with ASCII animation | 2631 | 94 | 2026-03-21 | 2026-02-23 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/Veirt/weathr) | -| bearer | SAST tool to find, filter, and prioritize code security & pr... | 2561 | 142 | 2026-02-16 | 2026-01-29 | Elastic-2.0 | ✓ | - | [link](https://docs.bearer.com/) | -| container2wasm | Container to WASM converter | 2553 | 128 | 2026-02-12 | 2025-07-28 | Apache-2.0 | ✓ | - | [link](https://ktock.github.io/container2wasm-demo/) | -| refurb | Tool for refurbishing and modernizing Python codebases | 2524 | 54 | 2025-09-17 | 2025-09-17 | GPL-3.0-only | ✓ | - | [link](https://github.com/dosisod/refurb) | -| graphtage | Semantic diff utility for tree-like files such as JSON/JSON5... | 2460 | 54 | 2026-02-13 | 2024-01-08 | LGPL-3.0-or-later | ✓ | - | [link](https://github.com/trailofbits/graphtage) | -| kdash | Simple and fast dashboard for Kubernetes | 2417 | 89 | 2025-10-17 | 2025-03-12 | MIT | ✓ | - | [link](https://kdash.cli.rs/) | -| go-eagle | Go framework for the API or Microservice | 2416 | 261 | 2025-11-28 | 2025-10-14 | MIT | ✓ | - | [link](https://github.com/go-eagle/eagle) | -| decktape | PDF exporter for HTML presentations | 2337 | 191 | 2026-01-22 | 2025-04-21 | MIT | ✓ | - | [link](https://github.com/astefanutti/decktape) | -| mlx-vlm | Run vision language models on Apple silicon with MLX | 2337 | 303 | 2026-03-21 | 2026-03-21 | MIT | ✓ | - | [link](https://github.com/Blaizzy/mlx-vlm) | -| cloudflare-ddns | Small, feature-rich, and robust Cloudflare DDNS updater | 2322 | 93 | 2026-02-15 | 2024-12-16 | Apache-2.0 | ✓ | - | [link](https://github.com/favonia/cloudflare-ddns) | -| checksec | Survey security mitigations used by processes | 2289 | 314 | 2026-01-01 | 2025-12-21 | BSD-3-Clause | ✓ | - | [link](https://slimm609.github.io/checksec/) | -| botkube | CLI for botkube | 2276 | 308 | 2024-12-11 | 2024-11-13 | MIT | ✓ | - | [link](https://botkube.io/) | -| process-compose | Flexible scheduler for non-containerized applications | 2189 | 109 | 2026-02-21 | 2026-02-21 | Apache-2.0 | ✓ | - | [link](https://f1bonacc1.github.io/process-compose/) | -| rtop | CLI tool to produce MD context files from many sources | 2189 | 158 | 2022-06-06 | - | MIT | ✓ | ✓ | [link](https://github.com/rapidloop/rtop) | -| taws | Terminal-based AWS resource viewer and manager | 2182 | 62 | 2026-03-29 | 2026-01-29 | MIT | ✓ | - | [link](https://github.com/huseyinbabal/taws) | -| surge | Blazing fast TUI download manager | 2180 | 76 | 2026-03-09 | 2026-02-28 | MIT | ✓ | - | [link](https://github.com/surge-downloader/Surge) | -| arxiv-mcp-server | MCP Server for ArXiv | 2178 | 177 | 2026-02-13 | - | MIT | ✓ | - | [link](https://github.com/blazickjp/arxiv-mcp-server) | -| jsrpc | 远程调用(rpc)浏览器方法,免去抠代码补环境 | 2171 | 441 | 2026-01-09 | 2026-01-09 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/jxhczhl/JsRpc) | -| oracle | Ask GPT-5 Pro with custom context and files | 2086 | 199 | 2026-04-24 | 2026-03-08 | MIT | ✓ | - | [link](https://askoracle.dev) | -| pingu | `ping` command but with pingu | 2086 | 63 | 2024-01-22 | 2023-02-09 | MIT | ✓ | ✓ | [link](https://github.com/sheepla/pingu) | -| apm-cli | Open-source dependency manager for AI agents | 2083 | 145 | 2026-04-27 | 2026-04-27 | MIT | ✓ | - | [link](https://github.com/microsoft/apm) | -| ralph-tui | AI agent loop orchestrator | 2069 | 205 | 2026-02-25 | 2026-02-25 | MIT | - | - | [link](https://ralph-tui.com) | -| markdownify | Convert HTML to Markdown | 2064 | 183 | 2025-11-16 | 2025-11-16 | MIT | ✓ | - | [link](https://github.com/matthewwithanm/python-markdownify) | -| inbucket | Disposable webmail server with SMTP, POP3, and REST interfac... | 1983 | 180 | 2026-01-21 | 2025-12-06 | MIT | ✓ | - | [link](https://inbucket.org/) | -| ministack | Local AWS service emulator and LocalStack replacement | 1909 | 131 | 2026-04-13 | 2026-04-12 | MIT | ✓ | - | [link](https://github.com/ministackorg/ministack) | -| grmon | Command-line monitoring for goroutines | 1904 | 56 | 2023-07-18 | 2021-10-13 | MIT | ✓ | - | [link](https://github.com/bcicen/grmon) | -| satty | Modern Screenshot Annotation | 1871 | 71 | 2026-02-16 | 2026-02-06 | MPL-2.0 | ✓ | - | [link](https://github.com/gabm/Satty) | -| smassh | TUI based typing test application | 1869 | 60 | 2025-11-15 | 2025-11-15 | GPL-3.0-only | ✓ | - | [link](https://github.com/kraanzu/smassh) | -| poop | Performance Optimizer Observation Platform | 1861 | 84 | 2025-10-29 | 2024-09-06 | MIT | ✓ | - | [link](https://github.com/andrewrk/poop) | -| kpt | Automate Kubernetes Configuration Editing | 1852 | 253 | 2026-02-16 | 2026-01-22 | Apache-2.0 | ✓ | ✓ | [link](https://kpt.dev/) | -| beelzebub | Secure low code honeypot framework, leveraging AI for System... | 1843 | 172 | 2026-02-16 | 2026-02-13 | GPL-3.0-only | ✓ | - | [link](https://beelzebub-honeypot.com/) | -| rustnet | Cross-platform network monitoring TUI | 1841 | 58 | 2026-03-09 | 2026-02-10 | Apache-2.0 | ✓ | - | [link](https://github.com/domcyrus/rustnet) | -| gita | Manage many git repos with sanity | 1828 | 82 | 2025-11-18 | - | MIT | ✓ | - | [link](https://github.com/nosarthur/gita) | -| termdbms | TUI for viewing and editing database files | 1815 | 35 | 2022-06-11 | - | MIT | ✓ | - | [link](https://github.com/mathaou/termdbms) | -| go-getter | Package for downloading things from a string URL using a var... | 1805 | 257 | 2026-02-16 | 2026-01-01 | MPL-2.0 | ✓ | ✓ | [link](https://github.com/hashicorp/go-getter) | -| dxt | MCP server for Shadcn UI v4 | 1705 | 164 | 2026-02-12 | 2025-12-04 | MIT | ✓ | - | [link](https://github.com/anthropics/dxt) | -| flow-editor | Programmer's text editor | 1670 | 84 | 2026-02-16 | 2026-02-14 | MIT | ✓ | - | [link](https://github.com/neurocyte/flow) | -| urlhunter | Recon tool that allows searching on URLs that are exposed vi... | 1663 | 118 | 2025-01-23 | 2025-01-23 | MIT | ✓ | - | [link](https://github.com/utkusen/urlhunter) | -| ninjabot | Fast cryptocurrency trading bot implemented in Go | 1616 | 197 | 2026-01-01 | 2025-10-12 | MIT | ✓ | - | [link](https://rodrigo-brito.github.io/ninjabot/) | -| flint-cli | Lightweight tool for managing linux virtual machines | 1611 | 91 | 2025-11-06 | 2025-11-07 | Apache-2.0 | ✓ | - | [link](https://github.com/ccheshirecat/flint) | -| rang | Minimal, Header only Modern c++ library for terminal goodies | 1580 | 154 | 2024-07-23 | 2021-07-30 | Unlicense | ✓ | ✓ | [link](https://agauniyal.github.io/rang/) | -| instagram-cli | Unofficial CLI and terminal client for Instagram | 1572 | 98 | 2026-02-22 | 2026-02-10 | MIT | ✓ | - | [link](https://github.com/supreme-gg-gg/instagram-cli) | -| statoscope | Toolkit to analyze and validate webpack bundle | 1565 | 48 | 2026-02-06 | 2025-04-05 | MIT | ✓ | - | [link](https://github.com/statoscope/statoscope) | -| sloop | Kubernetes History Visualization | 1556 | 135 | 2025-12-11 | 2022-12-08 | MIT | ✓ | - | [link](https://github.com/salesforce/sloop) | -| tickrs | Realtime ticker data in your terminal | 1532 | 86 | 2025-12-15 | 2025-12-15 | MIT | ✓ | - | [link](https://github.com/tarkah/tickrs) | -| revanced-cli | CLI for Revanced | 1519 | 214 | 2026-02-08 | 2025-04-14 | MIT | ✓ | - | [link](https://revanced.app/) | -| hapi | Agentic coding - access coding agent anywhere | 1505 | 161 | 2026-02-14 | 2026-02-11 | MIT | ✓ | - | [link](https://github.com/tiann/hapi) | -| yt-x | Browse YouTube from the terminal | 1441 | 68 | 2026-01-24 | 2025-01-04 | MIT | ✓ | - | [link](https://github.com/Benexl/yt-x) | -| chproxy | Open-Source ClickHouse http proxy and load balancer | 1437 | 274 | 2026-01-22 | 2025-09-10 | MIT | ✓ | - | [link](https://www.chproxy.org/) | -| saw | Fast, multi-purpose tool for AWS CloudWatch Logs | 1435 | 84 | 2023-03-27 | 2019-01-17 | MIT | ✓ | ✓ | [link](https://github.com/TylerBrock/saw) | -| systeroid | Powerful alternative to sysctl(8) with a terminal user inter... | 1431 | 27 | 2026-01-01 | 2025-09-07 | - | ✓ | - | [link](https://systeroid.cli.rs/) | -| jetzig | Web framework written in Zig | 1421 | 53 | 2026-01-25 | - | MIT | ✓ | - | [link](https://github.com/jetzig-framework/jetzig) | -| twiggy | Code size profiler for Wasm | 1419 | 74 | 2025-10-20 | - | - | ✓ | - | [link](https://rustwasm.github.io/twiggy/) | -| deface | Video anonymization by face detection | 1411 | 167 | 2024-10-13 | 2023-10-15 | MIT | ✓ | - | [link](https://github.com/ORB-HD/deface) | -| starcharts | Plot your repository stars over time | 1397 | 142 | 2026-02-05 | 2025-04-14 | MIT | ✓ | - | [link](https://starchart.cc/) | -| deepteam | LLM Red Teaming Framework | 1373 | 211 | 2026-03-16 | 2025-11-12 | Apache-2.0 | ✓ | - | [link](https://github.com/confident-ai/deepteam) | -| moltis | Local-first personal AI gateway with plugin-driven channels | 1371 | 136 | 2026-02-23 | 2026-02-21 | MIT | ✓ | - | [link](https://moltis.org/) | -| grcov | Rust tool to collect and aggregate code coverage data for mu... | 1333 | 166 | 2026-02-16 | 2025-08-06 | MPL-2.0 | ✓ | - | [link](https://github.com/mozilla/grcov) | -| user-scanner | Check username availability across multiple popular platform... | 1324 | 138 | 2026-03-21 | 2026-03-17 | MIT | ✓ | - | [link](https://github.com/kaifcodec/user-scanner) | -| horusec | Improve identification of vulnerabilities in your project wi... | 1299 | 213 | 2026-02-11 | 2022-06-08 | Apache-2.0 | ✓ | - | [link](https://github.com/ZupIT/horusec) | -| msgvault | Offline email archive with fast search and analytics | 1297 | 74 | 2026-03-03 | 2026-02-26 | MIT | ✓ | - | [link](https://msgvault.io) | -| box | Fast, zero config application bundler with PHARs | 1281 | 106 | 2026-02-16 | 2025-10-31 | MIT | ✓ | - | [link](https://box-project.github.io/box/) | -| stripe-mcp-server | MCP server for Stripe | 1272 | 202 | 2026-02-12 | - | MIT | ✓ | - | [link](https://github.com/stripe/agent-toolkit/tree/main/modelcontextprotocol) | -| mcp-remote | Bridge stdio-only MCP clients to remote servers with auth | 1271 | 204 | 2026-02-05 | - | MIT | ✓ | - | [link](https://github.com/geelen/mcp-remote) | -| easy-llm-cli | Open-source AI agent that is compatible with multiple LLM mo... | 1258 | 207 | 2026-02-05 | - | Apache-2.0 | ✓ | - | [link](https://github.com/ConardLi/easy-llm-cli) | -| tparse | Tool for summarizing go test output. Pipe friendly. CI/CD fr... | 1231 | 36 | 2025-11-27 | 2025-08-24 | MIT | ✓ | - | [link](https://github.com/mfridman/tparse) | -| hostctl | Your dev tool to manage /etc/hosts like a pro | 1205 | 53 | 2024-01-26 | 2023-05-02 | MIT | ✓ | - | [link](https://guumaster.github.io/hostctl/) | -| tavily-mcp | MCP server for Tavily | 1202 | 182 | 2026-02-14 | - | MIT | ✓ | - | [link](https://github.com/tavily-ai/tavily-mcp) | -| actionbook | Browser action engine for AI agents | 1196 | 89 | 2026-02-23 | 2026-02-23 | Apache-2.0 | ✓ | - | [link](https://actionbook.dev) | -| gowebly | Next-generation CLI tool to easily build amazing web applica... | 1187 | 46 | 2026-01-16 | 2026-01-16 | Apache-2.0 | ✓ | - | [link](https://gowebly.org/) | -| venom | Manage and run your integration tests with efficiency | 1178 | 168 | 2026-02-06 | 2026-01-06 | Apache-2.0 | ✓ | - | [link](https://github.com/ovh/venom) | -| jplot | ITerm2 expvar/JSON monitoring tool | 1177 | 41 | 2025-10-20 | 2025-09-13 | MIT | ✓ | - | [link](https://github.com/rs/jplot) | -| unused-deps | Determine any unused dependencies in java_library rules | 1161 | 457 | 2026-02-11 | 2026-01-30 | Apache-2.0 | ✓ | - | [link](https://github.com/bazelbuild/buildtools) | -| tuono | Superfast fullstack React framework | 1103 | 55 | 2026-02-16 | 2025-05-25 | MIT | ✓ | - | [link](https://tuono.dev/) | -| mnamer | Media file renaming and organizing tool | 1056 | 93 | 2025-11-27 | 2025-11-27 | MIT | ✓ | - | [link](https://github.com/jkwill87/mnamer) | -| rshell | Remote Shell for MicroPython | 1031 | 139 | 2024-12-04 | 2024-02-13 | MIT | ✓ | - | [link](https://github.com/dhylands/rshell) | -| omnictl | CLI for the Sidero Omni Kubernetes management platform | 1026 | 85 | 2026-02-16 | 2026-02-12 | BSL-1.1 | ✓ | - | [link](https://omni.siderolabs.com/) | -| chess-tui | Play chess from your terminal | 987 | 59 | 2026-03-17 | 2026-02-26 | MIT | ✓ | - | [link](https://github.com/thomas-mauran/chess-tui) | -| vet-run | Safer way to run remote scripts | 982 | 20 | 2025-08-20 | 2025-07-25 | MIT | ✓ | - | [link](https://getvet.sh/) | -| clipse | Configurable TUI clipboard manager for Unix | 971 | 47 | 2026-04-20 | 2026-01-27 | MIT | ✓ | - | [link](https://github.com/savedra1/clipse) | -| rbac-lookup | Find roles and cluster roles for Kubernetes users, groups, a... | 962 | 49 | 2026-01-12 | 2025-08-01 | Apache-2.0 | ✓ | - | [link](https://github.com/FairwindsOps/rbac-lookup) | -| kt | Kafka command-line tool that likes JSON | 955 | 103 | 2024-04-08 | 2022-01-22 | MIT | ✓ | ✓ | [link](https://github.com/fgeller/kt) | -| autoflake | Removes unused imports and unused variables as reported by p... | 952 | 83 | 2026-01-23 | 2024-03-13 | MIT | ✓ | - | [link](https://github.com/PyCQA/autoflake) | -| pyment | Format and convert Python docstrings and generates patches | 946 | 67 | 2024-06-18 | 2021-03-08 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/dadadel/pyment) | -| mongodb-mcp-server | MCP Server to connect to MongoDB databases and MongoDB Atlas... | 917 | 197 | 2026-02-16 | 2026-02-10 | Apache-2.0 | ✓ | - | [link](https://github.com/mongodb-js/mongodb-mcp-server) | -| pls | Prettier and powerful ls(1) for the pros | 916 | 30 | 2026-02-06 | - | GPL-3.0-or-later | ✓ | ✓ | [link](https://pls.cli.rs/) | -| otel-tui | Terminal OpenTelemetry viewer | 915 | 24 | 2026-04-13 | 2026-02-07 | Apache-2.0 | ✓ | - | [link](https://github.com/ymtdzzz/otel-tui) | -| imgcat | Like cat, but for images | 914 | 35 | 2025-10-21 | 2023-12-18 | ISC | ✓ | - | [link](https://github.com/eddieantonio/imgcat) | -| clog-cli | Generate beautiful changelogs from your Git commit history | 904 | 44 | 2024-08-15 | 2017-03-18 | MIT | ✓ | - | [link](https://github.com/clog-tool/clog-cli) | -| sdl_image | Image file loading library | 904 | 255 | 2026-02-16 | 2026-01-22 | Zlib | ✓ | ✓ | [link](https://github.com/libsdl-org/SDL_image) | -| run | Universal multi-language runner and smart REPL written in Ru... | 901 | 25 | 2026-02-11 | 2026-02-11 | Apache-2.0 | ✓ | - | [link](https://run.esubalew.et/) | -| flowgger | Fast data collector in Rust | 878 | 60 | 2025-06-23 | 2024-05-17 | ISC | ✓ | - | [link](https://github.com/awslabs/flowgger) | -| wiremix | TUI audio mixer for PipeWire | 868 | 29 | 2026-04-13 | - | - | ✓ | - | [link](https://github.com/tsowell/wiremix) | -| go-envsubst | Environment variables substitution for Go | 861 | 95 | 2025-12-10 | 2025-02-26 | MIT | ✓ | - | [link](https://github.com/a8m/envsubst) | -| cliamp | Retro terminal music player inspired by Winamp | 853 | 48 | 2026-03-15 | 2026-03-14 | MIT | ✓ | - | [link](https://www.cliamp.stream) | -| pluralith | Tool for Terraform state visualisation and automated generat... | 848 | 58 | 2023-07-14 | 2023-03-23 | MPL-2.0 | ✓ | - | [link](https://www.pluralith.com/) | -| lazynpm | TUI for npm | 833 | 37 | 2023-03-02 | 2020-04-18 | MIT | ✓ | - | [link](https://github.com/jesseduffield/lazynpm) | -| enola | Hunt down social media accounts by username across social ne... | 827 | 58 | 2025-02-16 | 2025-02-16 | MIT | ✓ | - | [link](https://github.com/TheYahya/enola) | -| go-junit-report | Convert Go test output to JUnit XML | 825 | 234 | 2024-08-20 | 2023-10-18 | MIT | ✓ | - | [link](https://github.com/jstemmer/go-junit-report) | -| mlx-tune | Fine-tune LLMs on Apple Silicon with MLX | 824 | 51 | 2026-03-23 | 2026-03-23 | Apache-2.0 | ✓ | - | [link](https://github.com/ARahim3/mlx-tune) | -| sidecar | Terminal UI for diffs, file trees, conversation history, and... | 824 | 61 | 2026-03-05 | 2026-03-01 | MIT | ✓ | - | [link](https://github.com/marcus/sidecar) | -| pike | Tool for determining the permissions or policy required for ... | 806 | 40 | 2026-02-13 | 2026-02-09 | Apache-2.0 | ✓ | - | [link](https://github.com/jamesWoolfenden/pike) | -| luaformatter | Code formatter for Lua | 800 | 85 | 2023-08-25 | 2021-05-18 | Apache-2.0 | ✓ | - | [link](https://github.com/Koihik/LuaFormatter) | -| firm | Text-based work management system for technologists | 786 | 42 | 2026-02-15 | 2026-02-06 | AGPL-3.0-only | ✓ | - | [link](https://firm.42futures.com/) | -| timetrace | CLI for tracking your working time | 786 | 80 | 2024-06-28 | 2022-03-06 | Apache-2.0 | ✓ | - | [link](https://github.com/dominikbraun/timetrace) | -| code-index-mcp | MCP server for LLMs to index, search, and analyze code repos | 778 | 93 | 2026-01-09 | 2026-01-09 | MIT | ✓ | - | [link](https://github.com/johnhuang316/code-index-mcp) | -| speedtest | Test Internet Speed using speedtest.net | 770 | 136 | 2025-10-15 | 2024-12-20 | MIT | ✓ | - | [link](https://tenderly.co/) | -| summon | Provides on-demand secrets access for common DevOps tools | 754 | 68 | 2025-12-10 | 2025-12-10 | MIT | ✓ | - | [link](https://cyberark.github.io/summon/) | -| oatmeal | TUI to chat with large language models | 744 | 42 | 2024-06-01 | 2024-03-16 | MIT | ✓ | - | [link](https://github.com/dustinblackman/oatmeal) | -| sem-cli | Semantic version control CLI with entity-level diffs | 732 | 14 | 2026-03-09 | 2026-03-08 | - | ✓ | - | [link](https://github.com/Ataraxy-Labs/sem) | -| goimports-reviser | Right imports sorting & code formatting tool (goimports alte... | 710 | 77 | 2026-02-15 | 2026-02-15 | MIT | ✓ | - | [link](https://github.com/incu6us/goimports-reviser) | -| dvm | Deno Version Manager | 697 | 39 | 2025-05-26 | 2025-02-13 | MIT | ✓ | - | [link](https://dvm.deno.dev) | -| wiki-tui | TUI for Wikipedia | 695 | 29 | 2025-12-08 | 2025-12-08 | MIT | ✓ | - | [link](https://github.com/Builditluc/wiki-tui) | -| hackernews-tui | TUI to browse Hacker News | 686 | 30 | 2024-10-22 | 2024-10-22 | MIT | ✓ | - | [link](https://github.com/aome510/hackernews-TUI) | -| sdl_ttf | Library for using TrueType fonts in SDL applications | 679 | 199 | 2026-02-13 | 2025-03-31 | Zlib | ✓ | ✓ | [link](https://github.com/libsdl-org/SDL_ttf) | -| kumo | Lightweight AWS service emulator written in Go | 670 | 29 | 2026-04-10 | 2026-04-07 | MIT | ✓ | - | [link](https://github.com/sivchari/kumo) | -| llxprt-code | Open-source multi-provider AI assisted CLI development tool | 669 | 90 | 2026-04-27 | 2026-04-27 | Apache-2.0 | ✓ | - | [link](https://github.com/vybestack/llxprt-code) | -| sdl_mixer | Sample multi-channel audio mixer library | 664 | 204 | 2026-02-06 | 2025-02-07 | Zlib | ✓ | ✓ | [link](https://github.com/libsdl-org/SDL_mixer) | -| austin-tui | Top-like text-based user interface for Austin | 663 | 18 | 2025-11-09 | 2025-11-09 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/P403n1x87/austin-tui) | -| intentrace | Better strace(1) for everyone | 654 | 9 | 2025-06-21 | 2025-06-21 | MIT | ✓ | - | [link](https://github.com/sectordistrict/intentrace) | -| brave-search-mcp-server | MCP server for Brave Search | 647 | 124 | 2026-02-16 | 2026-01-29 | MIT | ✓ | - | [link](https://github.com/brave/brave-search-mcp-server) | -| protolock | Protocol Buffer companion tool | 632 | 36 | 2024-02-12 | 2023-12-19 | BSD-3-Clause | ✓ | - | [link](https://protolock.dev/) | -| tetrigo | Play Tetris in your terminal | 613 | 24 | 2025-11-07 | 2024-12-27 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/Broderick-Westrope/tetrigo) | -| shiroa | Tool for creating modern online books in pure typst | 609 | 29 | 2025-12-14 | 2025-03-06 | Apache-2.0 | ✓ | ✓ | [link](https://myriad-dreamin.github.io/shiroa/) | -| eilmeldung | Feature-rich TUI RSS reader | 607 | 18 | 2026-03-09 | 2026-03-06 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/christo-auer/eilmeldung) | -| sonar | CLI tool for inspecting and managing localhost ports | 597 | 11 | 2026-03-23 | 2026-03-23 | MIT | ✓ | - | [link](https://github.com/raskrebs/sonar) | -| duster | Automatic configuration for Laravel apps | 592 | 23 | 2026-02-05 | 2025-11-07 | MIT | ✓ | - | [link](https://github.com/tighten/duster) | -| firectl | CLI to run Firecracker microVMs | 590 | 83 | 2026-01-16 | 2022-10-24 | Apache-2.0 | ✓ | - | [link](https://github.com/firecracker-microvm/firectl) | -| cloudlens | K9s like CLI for AWS and GCP | 584 | 41 | 2024-04-20 | 2023-11-29 | Apache-2.0 | ✓ | - | [link](https://one2n.gitbook.io/docs) | -| ngtop | Nginx access logs analytics | 584 | 9 | 2024-09-14 | 2024-09-14 | GPL-3.0-only | ✓ | - | [link](https://github.com/facundoolano/ngtop) | -| ramda-cli | CLI tool for processing data with functional pipelines | 581 | 12 | 2022-12-30 | - | ISC | ✓ | ✓ | [link](https://github.com/raine/ramda-cli) | -| tenderly | Debugging, monitoring & tracking smart contract execution | 572 | 173 | 2026-02-06 | 2026-02-06 | GPL-3.0-only | ✓ | - | [link](https://tenderly.co/) | -| tattoy | Text-based compositor for modern terminals | 567 | 15 | 2025-09-14 | 2025-07-28 | MIT | ✓ | - | [link](https://github.com/tattoy-org/tattoy) | -| blush | Grep with colours | 557 | 18 | 2023-09-03 | 2022-04-22 | MIT | ✓ | - | [link](https://github.com/arsham/blush) | -| play | TUI playground for grep, sed, awk, jq, and yq | 548 | 16 | 2025-03-28 | 2025-03-28 | Apache-2.0 | ✓ | - | [link](https://github.com/paololazzari/play) | -| codespelunker | Command-line codespelunker or code search | 547 | 14 | 2026-02-16 | 2023-08-15 | - | ✓ | - | [link](https://github.com/boyter/cs) | -| brew-cleaner | Clean up your installed Homebrew formulae | 535 | 95 | 2026-02-16 | 2026-01-27 | MIT | ✓ | - | [link](https://github.com/googlecloudplatform/cloud-run-mcp) | -| cloud-run-mcp | MCP server to deploy code to Google Cloud Run | 535 | 95 | 2026-02-16 | 2026-01-27 | MIT | ✓ | - | [link](https://github.com/googlecloudplatform/cloud-run-mcp) | -| mitex | Minimal TeX Equations Support | 534 | 24 | 2025-12-25 | - | Apache-2.0 | ✓ | ✓ | [link](https://github.com/mitex-rs/mitex) | -| blade-formatter | Opinionated blade template formatter for Laravel that respec... | 533 | 30 | 2026-02-16 | 2025-08-11 | MIT | ✓ | - | [link](https://github.com/shufo/blade-formatter) | -| castor | DX-oriented task runner and command launcher built in PHP | 529 | 28 | 2026-02-16 | 2026-02-10 | MIT | ✓ | - | [link](https://castor.jolicode.com/) | -| tlint | Tighten linter for Laravel conventions | 528 | 31 | 2025-03-21 | 2025-03-21 | MIT | ✓ | - | [link](https://github.com/tighten/tlint) | -| apple-health-mcp | MCP server for Apple Health | 518 | 16 | 2026-01-16 | 2026-01-16 | MIT | ✓ | - | [link](https://github.com/neiltron/apple-health-mcp) | -| solfmt | De-minifier (formatter, exploder, beautifier) for shell one-... | 517 | 6 | 2024-09-03 | - | MIT | ✓ | - | [link](https://github.com/noperator/sol) | -| ziggy | Data serialization language for expressing clear API message... | 511 | 40 | 2025-11-25 | - | MIT | ✓ | - | [link](https://github.com/kristoff-it/ziggy) | -| carton | Watcher, bundler, and test runner for your SwiftWasm apps | 500 | 45 | 2025-11-29 | 2024-12-10 | Apache-2.0 | ✓ | - | [link](https://github.com/swiftwasm/carton) | -| amoco | Yet another tool for analysing binaries | 490 | 65 | 2025-02-17 | - | GPL-2.0-or-later | ✓ | - | [link](https://github.com/bdcht/amoco) | -| jaggr | JSON Aggregation CLI | 485 | 16 | 2024-08-29 | 2022-12-28 | MIT | ✓ | - | [link](https://github.com/rs/jaggr) | -| tcpterm | Terminal-based TCP dump viewer | 484 | 26 | 2024-01-10 | 2019-09-18 | MIT | ✓ | - | [link](https://github.com/sachaos/tcpterm) | -| llmpeg | Uses an llm to generate ffmpeg commands | 483 | 15 | 2025-01-19 | - | MIT | ✓ | ✓ | [link](https://github.com/jjcm/llmpeg) | -| brotab | Control your browser's tabs from the command-line | 481 | 43 | 2025-01-22 | 2022-05-29 | MIT | ✓ | - | [link](https://github.com/balta2ar/brotab) | -| cargo-aoc | Simple CLI tool that aims to be a helper for Advent of Code | 477 | 58 | 2025-05-09 | 2023-12-02 | - | ✓ | - | [link](https://github.com/gobanos/cargo-aoc) | -| abc | Import MongoDB, SQL, JSON, CSV, Firestore, Redis Data Into E... | 472 | 46 | 2025-12-05 | 2022-04-04 | Apache-2.0 | ✓ | - | [link](https://github.com/appbaseio/abc) | -| protodot | Transforming your .proto files into .dot file | 465 | 41 | 2023-12-21 | - | Apache-2.0 | ✓ | - | [link](https://github.com/seamia/protodot) | -| faq | More flexible jq supporting additional formats (YAML/TOML/CS... | 461 | 14 | 2024-10-02 | - | Apache-2.0 | ✓ | - | [link](https://github.com/jzelinskie/faq) | -| ytsurf | YouTube in your terminal without the usual browser clutter | 461 | 23 | 2026-03-09 | 2026-03-02 | GPL-3.0-only | ✓ | - | [link](https://github.com/Stan-breaks/ytsurf) | -| av | Manage stacked PRs with Aviator | 460 | 36 | 2026-02-16 | 2026-02-09 | MIT | ✓ | - | [link](https://www.aviator.co/) | -| tasktimer | Dead simple TUI task timer | 458 | 9 | 2026-03-02 | 2026-01-10 | MIT | ✓ | - | [link](https://github.com/caarlos0/tasktimer) | -| froggit | Modern, minimalist Git TUI | 454 | 30 | 2026-01-22 | 2026-01-22 | MIT | ✓ | - | [link](https://froggit-docs.vercel.app/) | -| gpk | TUI dashboard that consolidates 36+ package managers into on... | 454 | 17 | 2026-04-03 | 2026-03-28 | GPL-3.0-only | ✓ | - | [link](https://github.com/neur0map/glazepkg) | -| codemap | Generate a brain map of a codebase for LLM context | 447 | 39 | 2026-02-21 | 2026-02-21 | MIT | ✓ | - | [link](https://github.com/JordanCoin/codemap) | -| goboscript | Scratch compiler | 447 | 42 | 2026-02-14 | 2025-05-22 | MIT | ✓ | - | [link](https://aspizu.github.io/goboscript/) | -| rip | Fuzzy find and kill processes from the terminal | 446 | 18 | 2026-02-03 | 2026-02-03 | MIT | ✓ | - | [link](https://github.com/cesarferreira/rip) | -| ugdb | TUI for gdb | 444 | 8 | 2025-03-09 | - | MIT | ✓ | - | [link](https://github.com/ftilde/ugdb) | -| turm | TUI for the Slurm Workload Manager | 441 | 22 | 2026-02-14 | 2026-02-14 | MIT | ✓ | - | [link](https://github.com/kabouzeid/turm) | -| jolt | Battery and energy monitor for your terminal | 437 | 10 | 2026-03-08 | 2026-02-09 | MIT | ✓ | - | [link](https://getjolt.sh/) | -| silver-surfer | Kubernetes objects api-version compatibility checker | 436 | 39 | 2025-06-05 | 2024-09-04 | Apache-2.0 | ✓ | - | [link](https://devtron.ai/) | -| lazycli | Turn static CLI commands into TUIs with ease | 418 | 16 | 2023-07-15 | 2021-06-02 | MIT | ✓ | - | [link](https://github.com/jesseduffield/lazycli) | -| ips | Geolocation databases tool | 417 | 38 | 2025-02-21 | 2025-02-21 | Apache-2.0 | ✓ | - | [link](https://www.goips.org/) | -| mpfshell | Simple shell based file explorer for ESP8266 and WiPy Microp... | 416 | 86 | 2025-01-09 | - | MIT | ✓ | - | [link](https://github.com/wendlers/mpfshell) | -| sgpt | CLI tool to query OpenAI and generate shell commands and cod... | 415 | 34 | 2026-02-16 | 2026-02-08 | Apache-2.0 | ✓ | - | [link](https://github.com/tbckr/sgpt) | -| meteor | Highly configurable CLI tool for writing conventional commit... | 409 | 22 | 2025-09-24 | 2025-09-24 | MIT | ✓ | - | [link](https://github.com/stefanlogue/meteor) | -| cnspec | Open source, cloud-native security and policy project | 398 | 31 | 2026-02-16 | 2026-02-10 | BUSL-1.1 | ✓ | - | [link](https://github.com/mondoohq/cnspec) | -| ghgrab | TUI for searching and downloading files from GitHub reposito... | 398 | 26 | 2026-03-21 | 2026-03-21 | MIT | ✓ | - | [link](https://github.com/abhixdd/ghgrab) | -| dawn | Distraction-free terminal writing environment with live mark... | 393 | 11 | 2026-01-01 | 2026-01-01 | MIT | ✓ | - | [link](https://github.com/andrewmd5/dawn) | -| mcp-alchemy | MCP server that connects to your database | 389 | 60 | 2025-08-15 | - | MPL-2.0 | ✓ | - | [link](https://github.com/runekaagaard/mcp-alchemy) | -| fairyglade-ly | TUI (ncurses-like) display manager for Linux and BSD | 382 | 44 | 2026-02-12 | 2026-02-05 | WTFPL | ✓ | - | [link](https://codeberg.org/fairyglade/ly) | -| tantivy-cli | CLI for the Tantivy search engine | 382 | 68 | 2025-08-20 | 2025-08-20 | MIT | ✓ | - | [link](https://github.com/quickwit-oss/tantivy-cli) | -| zware | Zig WebAssembly Runtime Engine | 381 | 18 | 2025-12-30 | - | MIT | ✓ | - | [link](https://github.com/malcolmstill/zware) | -| vortix | Terminal UI for WireGuard and OpenVPN with real-time telemet... | 379 | 11 | 2026-03-09 | 2026-03-08 | MIT | ✓ | - | [link](https://github.com/Harry-kp/vortix) | -| c4go | Transpiling C code to Go code | 378 | 41 | 2024-09-19 | - | MIT | ✓ | - | [link](https://github.com/Konstantin8105/c4go) | -| cargo-readme | Generate README.md from docstrings | 378 | 60 | 2025-07-05 | 2023-11-06 | - | ✓ | - | [link](https://github.com/webern/cargo-readme) | -| gsh | Battery-included, POSIX-compatible, generative shell | 378 | 18 | 2026-02-21 | 2026-02-21 | GPL-3.0-only | ✓ | - | [link](https://github.com/atinylittleshell/gsh) | -| nanodbc | Small C++ wrapper for the native C ODBC API | 377 | 98 | 2025-12-28 | 2022-03-23 | MIT | ✓ | - | [link](https://nanodbc.github.io/nanodbc/) | -| tennis | Print stylish CSV tables in your terminal | 376 | 14 | 2026-03-23 | 2026-03-16 | MIT | ✓ | - | [link](https://github.com/gurgeous/tennis) | -| golazo | Minimal TUI app to follow live and recent football matches | 372 | 24 | 2026-02-22 | 2026-02-20 | MIT | ✓ | - | [link](https://github.com/0xjuanma/golazo) | -| repeater | Spaced repetition for the terminal | 372 | 18 | 2026-03-22 | 2026-03-20 | Apache-2.0 | ✓ | - | [link](https://github.com/shaankhosla/repeater) | -| sig | Solana validator client implementation written in Zig | 370 | 53 | 2026-02-16 | 2023-05-20 | Apache-2.0 | ✓ | - | [link](https://syndica.io/sig) | -| termtunnel | Cross-platform terminal tunnel tool | 370 | 35 | 2024-05-21 | 2024-05-21 | MIT | ✓ | - | [link](https://github.com/beordle/termtunnel) | -| cargo-benchcmp | Cargo subcommand to compare Rust micro-benchmarks | 363 | 20 | 2024-08-29 | - | - | ✓ | - | [link](https://github.com/BurntSushi/cargo-benchcmp) | -| cpx11 | Modern and fast file copy CLI | 362 | 10 | 2026-02-22 | 2026-02-22 | MIT | ✓ | - | [link](https://github.com/11happy/cpx) | -| tabminal | Cloud-Native, Proactive AI Integrated Terminal works in mode... | 361 | 23 | 2026-04-14 | - | MIT | ✓ | - | [link](https://github.com/Leask/Tabminal) | -| mqtt-cli | CLI for connecting various MQTT clients supporting MQTT 5.0 ... | 358 | 51 | 2026-02-16 | 2026-01-27 | Apache-2.0 | ✓ | - | [link](https://hivemq.github.io/mqtt-cli/) | -| daylight | Track sunrise and sunset times in the terminal | 356 | 10 | 2025-09-30 | 2025-09-30 | GPL-3.0-only | ✓ | - | [link](https://github.com/jbreckmckye/daylight) | -| aws-doctor | Audit AWS security, costs, and best practices | 355 | 14 | 2026-02-15 | 2026-02-15 | MIT | ✓ | - | [link](https://awsdoctor.compacompila.com/) | -| aptui | TUI package manager for APT-based Linux distributions | 346 | 9 | 2026-04-10 | 2026-04-08 | MIT | ✓ | - | [link](https://github.com/mexirica/aptui) | -| pipeform | Terraform runtime TUI | 346 | 13 | 2025-01-31 | 2025-01-29 | MPL-2.0 | ✓ | - | [link](https://github.com/magodo/pipeform) | -| rovr | Post-modern terminal file explorer | 343 | 24 | 2026-03-23 | 2026-02-01 | MIT | ✓ | - | [link](https://github.com/NSPC911/rovr) | -| lstags | Explore Docker registries and manipulate Docker images | 340 | 26 | 2023-05-11 | 2022-04-09 | Apache-2.0 | ✓ | - | [link](https://github.com/ivanilves/lstags) | -| superstarryeyes-bit | CLI/TUI logo designer with ANSI fonts, gradients, shadows, a... | 340 | 10 | 2026-02-12 | 2025-12-08 | MIT | ✓ | - | [link](https://github.com/superstarryeyes/bit) | -| base-mcp-server | MCP Server for Base Network and Coinbase API | 336 | 121 | 2025-06-17 | 2025-04-22 | MIT | ✓ | - | [link](https://github.com/base/base-mcp) | -| am-i-vibing | Detect agentic coding environments and AI editors | 334 | 12 | 2026-02-12 | 2025-08-07 | MIT | ✓ | - | [link](https://github.com/ascorbic/am-i-vibing) | -| astro-language-server | Language tools for Astro | 333 | 61 | 2025-11-17 | 2024-10-25 | MIT | ✓ | - | [link](https://github.com/withastro/language-tools) | -| glsl-analyzer | Language server for GLSL | 333 | 17 | 2025-10-22 | 2025-10-22 | MIT | ✓ | - | [link](https://github.com/nolanderc/glsl_analyzer) | -| taproom | TUI for Homebrew | 325 | 7 | 2026-01-17 | 2026-01-17 | MIT | ✓ | - | [link](https://github.com/hzqtc/taproom) | -| aoc-cli | Advent of Code command-line tool | 323 | 23 | 2023-12-22 | 2023-01-12 | MIT | ✓ | - | [link](https://github.com/scarvalhojr/aoc-cli) | -| protodep | Collect necessary .proto files (Protocol Buffers IDL) and ma... | 321 | 59 | 2024-01-26 | 2023-06-19 | Apache-2.0 | ✓ | - | [link](https://github.com/stormcat24/protodep) | -| mcpc | Universal CLI client for MCP | 320 | 16 | 2026-02-10 | 2026-02-02 | Apache-2.0 | ✓ | - | [link](https://github.com/apify/mcp-cli) | -| tmmpr | Terminal mind mapper | 320 | 8 | 2026-02-27 | 2026-02-19 | MIT | ✓ | - | [link](https://github.com/tanciaku/tmmpr) | -| kanha | Web-app pentesting suite written in rust | 319 | 18 | 2025-01-08 | 2023-10-17 | MIT | ✓ | - | [link](https://github.com/pwnwriter/kanha) | -| sdl_net | Sample cross-platform networking library | 318 | 73 | 2026-01-21 | 2022-08-19 | Zlib | ✓ | ✓ | [link](https://github.com/libsdl-org/SDL_net) | -| werk | Simplistic command runner and build system | 315 | 9 | 2025-12-16 | - | - | ✓ | ✓ | [link](https://github.com/simonask/werk) | -| rails-new | Create Rails projects with Ruby installed | 314 | 33 | 2025-01-16 | - | MIT | ✓ | - | [link](https://github.com/rails/rails-new) | -| zuse | Sleek, minimal IRC client for your terminal | 310 | 14 | 2025-07-28 | 2025-07-28 | Apache-2.0 | ✓ | - | [link](https://github.com/babycommando/zuse) | -| bitchat-tui | TUI client for bitchat | 307 | 20 | 2025-08-01 | 2025-07-21 | MIT | ✓ | - | [link](https://github.com/vaibhav-mattoo/bitchat-tui) | -| yeetfile | Encrypted file sharing and vault service for web and CLI | 304 | 20 | 2026-01-02 | 2025-02-26 | AGPL-3.0-only | ✓ | - | [link](https://yeetfile.com/) | -| dotstate | Modern and secure dotfile manager | 303 | 8 | 2026-02-17 | 2026-02-17 | MIT | ✓ | - | [link](https://dotstate.serkan.dev) | -| klepto | Tool for copying and anonymising data | 300 | 41 | 2025-12-18 | 2025-02-27 | MIT | ✓ | - | [link](https://github.com/hellofresh/klepto) | -| trdl | Deliver software updates securely from a trusted TUF reposit... | 299 | 19 | 2026-01-23 | 2025-10-23 | Apache-2.0 | ✓ | - | [link](https://trdl.dev/) | -| packemon | Terminal tool for generating and monitoring packets | 298 | 4 | 2026-03-17 | 2026-02-20 | BSD-2-Clause | ✓ | - | [link](https://github.com/ddddddO/packemon) | -| mcman | Powerful Minecraft Server Manager CLI | 297 | 23 | 2025-12-28 | 2024-07-16 | GPL-3.0-only | ✓ | - | [link](https://mcman.deniz.blue/) | -| distill | Compress large CLI outputs into concise answers for LLMs | 296 | 16 | 2026-03-12 | - | MIT | ✓ | ✓ | [link](https://github.com/samuelfaj/distill) | -| memora | Lightweight MCP server for semantic memory storage | 293 | 28 | 2026-02-20 | 2026-02-19 | MIT | ✓ | - | [link](https://github.com/agentic-mcp-tools/memora) | -| nocc | Distributed C++ compiler: like distcc, but faster | 293 | 17 | 2026-01-22 | 2023-05-03 | MIT | ✓ | - | [link](https://github.com/VKCOM/nocc) | -| perfops | Tool to interact with hundreds of servers around the world | 293 | 48 | 2025-03-06 | 2023-03-31 | Apache-2.0 | ✓ | - | [link](https://perfops.net/cli) | -| rustfilt | Demangle Rust symbol names using rustc-demangle | 293 | 27 | 2023-05-31 | 2021-12-22 | Apache-2.0 | ✓ | - | [link](https://github.com/luser/rustfilt) | -| pomo | Terminal Pomodoro Timer | 292 | 8 | 2026-02-11 | 2026-02-11 | MIT | ✓ | - | [link](https://github.com/Bahaaio/pomo) | -| cello | Service for running infrastructure as code software tools | 291 | 37 | 2025-10-31 | 2025-10-30 | Apache-2.0 | ✓ | - | [link](https://github.com/cello-proj/cello) | -| elastop | HTOP for Elasticsearch | 291 | 10 | 2024-12-13 | 2024-12-06 | ISC | ✓ | - | [link](https://github.com/acidvegas/elastop) | -| bbrew | Bold Brew (bbrew) - A Homebrew TUI Manager | 288 | 11 | 2025-12-31 | 2025-12-31 | MIT | ✓ | - | [link](https://bold-brew.com/) | -| dbin | Easy to use, easy to get, suckless software distribution sys... | 288 | 7 | 2026-01-04 | 2025-07-31 | ISC | ✓ | - | [link](https://github.com/xplshn/dbin) | -| oxicord | Lightweight, secure Discord terminal client written in Rust | 288 | 10 | 2026-03-05 | 2026-02-23 | GPL-3.0-only | ✓ | - | [link](https://github.com/linuxmobile/oxicord) | -| protoc-gen-lint | Lint .proto files for style violations | 287 | 16 | 2024-12-23 | 2022-11-08 | MIT | ✓ | - | [link](https://github.com/ckaznocha/protoc-gen-lint) | -| pyink | Python formatter, forked from Black with a few different for... | 287 | 18 | 2026-01-02 | 2025-01-10 | MIT | ✓ | - | [link](https://github.com/google/pyink) | -| emplace | Synchronize installed packages on multiple machines | 283 | 27 | 2026-02-16 | 2024-05-25 | AGPL-3.0-or-later | ✓ | - | [link](https://github.com/tversteeg/emplace) | -| oyo | Step-through diff viewer | 282 | 5 | 2026-03-01 | 2026-02-15 | MIT | ✓ | - | [link](https://github.com/ahkohd/oyo) | -| resto | Send pretty HTTP & API requests with TUI | 282 | 13 | 2024-07-19 | 2022-01-03 | MIT | ✓ | - | [link](https://github.com/abdfnx/resto) | -| jiq | Interactive JSON query tool with real-time output and AI ass... | 280 | 3 | 2026-02-24 | 2026-02-20 | Apache-2.0 | ✓ | - | [link](https://github.com/bellicose100xp/jiq) | -| jwt-ui | TUI for decoding and encoding JWT tokens | 277 | 17 | 2025-10-30 | 2024-12-06 | MIT | ✓ | - | [link](https://jwtui.cli.rs/) | -| telert | Multi-channel alerts for long-running commands and process/l... | 277 | 15 | 2025-12-15 | 2025-10-21 | MIT | ✓ | - | [link](https://github.com/navig-me/telert) | -| pproftui | TUI for Go pprof data | 276 | 5 | 2025-07-28 | - | MIT | ✓ | - | [link](https://github.com/Oloruntobi1/pproftui) | -| tftarget | Interactivity select resource to ( plan | apply | destroy ) ... | 274 | 12 | 2024-12-24 | 2024-12-24 | MIT | ✓ | - | [link](https://github.com/future-architect/tftarget) | -| backport | CLI tool that automates the process of backporting commits | 273 | 68 | 2025-11-07 | 2025-09-18 | Apache-2.0 | ✓ | - | [link](https://github.com/sorenlouv/backport) | -| sudocode | Git-native spec and issue management for AI-assisted develop... | 273 | 23 | 2026-03-18 | 2026-03-18 | Apache-2.0 | ✓ | - | [link](https://github.com/sudocode-ai/sudocode) | -| jikkou | Resource as code framework for Apache Kafka | 272 | 25 | 2026-02-23 | 2026-02-20 | Apache-2.0 | ✓ | - | [link](https://www.jikkou.io/) | -| xytz | Beautiful TUI YouTube downloader | 271 | 21 | 2026-02-22 | 2026-02-22 | MIT | ✓ | - | [link](https://github.com/xdagiz/xytz) | -| xfr | Modern iperf3 alternative with a live TUI | 269 | 10 | 2026-02-15 | 2026-02-12 | MIT | ✓ | - | [link](https://github.com/lance0/xfr) | -| countryfetch | Neofetch-like tool for fetching information about your count... | 268 | 8 | 2026-03-06 | 2025-06-04 | - | ✓ | - | [link](https://github.com/nik-rev/countryfetch) | -| hygg | Simplifying the way you read. Minimalistic Vim-like TUI docu... | 265 | 11 | 2026-02-11 | 2025-09-26 | AGPL-3.0-only | ✓ | - | [link](https://github.com/kruserr/hygg) | -| pysentation | TUI for displaying Python presentations | 263 | 6 | 2025-03-18 | 2023-08-28 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/mimseyedi/pysentation) | -| iam-lens | Google Maps for AWS IAM | 262 | 13 | 2026-02-15 | 2026-02-15 | AGPL-3.0-or-later | ✓ | - | [link](https://github.com/cloud-copilot/iam-lens) | -| critcmp | CLI to compare benchmarks run by Criterion | 260 | 20 | 2024-09-25 | - | - | ✓ | - | [link](https://github.com/BurntSushi/critcmp) | -| satview | Terminal-based real-time satellite tracking and orbit predic... | 260 | 11 | 2026-03-21 | 2026-02-04 | Apache-2.0 | ✓ | - | [link](https://github.com/ShenMian/tracker) | -| hclq | Command-line processor for HashiCorp config files, like sed ... | 258 | 22 | 2023-09-19 | 2019-04-16 | Unlicense | ✓ | - | [link](https://github.com/mattolenik/hclq) | -| ziglint | Linter for the Zig programming language | 256 | 13 | 2025-11-30 | 2025-07-16 | MIT | ✓ | - | [link](https://github.com/DonIsaac/zlint) | -| quicssh-rs | SSH over QUIC | 251 | 15 | 2025-10-27 | 2024-04-19 | MIT | ✓ | - | [link](https://github.com/oowl/quicssh-rs) | -| ccexp | Exploring and managing Claude Code settings and slash comman... | 250 | 8 | 2026-02-15 | 2025-07-30 | MIT | ✓ | - | [link](https://github.com/nyatinte/ccexp) | -| dotbins | TUI typing trainer inspired by monkeytype with a focus on cu... | 250 | 5 | 2026-02-13 | 2026-02-13 | Apache-2.0 | ✓ | - | [link](https://github.com/basnijholt/dotbins) | -| gnhf | Autonomous agent orchestrator for long-running coding tasks | 248 | 11 | 2026-04-06 | 2026-04-06 | MIT | ✓ | - | [link](https://github.com/kunchenguid/gnhf) | -| jl | JSON Logs, a development tool for working with structured JS... | 246 | 13 | 2024-04-05 | 2023-07-08 | ISC | ✓ | - | [link](https://github.com/koenbollen/jl) | -| pphack | Client-Side Prototype Pollution Scanner | 245 | 23 | 2026-02-03 | 2025-10-21 | MIT | ✓ | - | [link](https://github.com/edoardottt/pphack) | -| await | Small binary that runs a list of commands in parallel and aw... | 244 | 9 | 2025-12-04 | 2025-11-21 | MIT | ✓ | - | [link](https://github.com/slavaGanzin/await) | -| models | CLI and TUI for browsing AI models and coding agents | 239 | 11 | 2026-03-09 | 2026-03-09 | MIT | ✓ | - | [link](https://github.com/arimxyer/models) | -| pencode | Complex payload encoder | 239 | 26 | 2024-01-20 | 2024-01-20 | MIT | ✓ | - | [link](https://github.com/ffuf/pencode) | -| go-zzz | Hot compilation of Go programs, stress testing for Golang de... | 235 | 3 | 2026-01-20 | 2026-01-20 | Apache-2.0 | ✓ | - | [link](https://github.com/sohaha/zzz) | -| rslocal | Tunnel to localhost built in Rust | 235 | 15 | 2022-05-13 | 2022-05-11 | Apache-2.0 | ✓ | - | [link](https://github.com/bonaysoft/rslocal) | -| lazyjira | Fast, keyboard-driven terminal UI for Jira | 234 | 8 | 2026-04-03 | 2026-04-03 | MIT | ✓ | - | [link](https://github.com/textfuel/lazyjira) | -| vsg | VHDL Style Guide | 233 | 60 | 2026-02-05 | - | GPL-3.0-or-later | ✓ | - | [link](https://github.com/jeremiah-c-leary/vhdl-style-guide) | -| sheetui | Console based spreadsheet inspired by sc-im and vim | 231 | 7 | 2025-09-26 | - | Apache-2.0 | ✓ | ✓ | [link](https://github.com/zaphar/sheetsui) | -| deletor | TUI and CLI to manage and delete files efficiently | 227 | 47 | 2026-02-05 | 2025-06-11 | MIT | ✓ | - | [link](https://github.com/pashkov256/deletor) | -| lola | Programming language meant to be embedded into games | 227 | 13 | 2026-01-10 | - | MIT | ✓ | - | [link](https://lola.random-projects.net/) | -| kcl-kafka | Kafka swiss-army knife for producing, consuming, and adminis... | 223 | 22 | 2025-11-20 | 2025-10-17 | BSD-3-Clause | ✓ | - | [link](https://github.com/twmb/kcl) | -| mynav | Workspace and session management TUI | 223 | 12 | 2025-09-28 | 2025-08-01 | MIT | ✓ | - | [link](https://github.com/GianlucaP106/mynav) | -| dcv | TUI viewer for docker-compose | 222 | 2 | 2026-02-12 | 2025-09-05 | MIT | ✓ | - | [link](https://github.com/tokuhirom/dcv) | -| gemini-cli | CLI for Google Gemini | 222 | 17 | 2025-11-22 | 2025-11-22 | MIT | ✓ | - | [link](https://github.com/reugn/gemini-cli) | -| hyprmoncfg | Terminal-first monitor configurator and daemon for Hyprland | 221 | 6 | 2026-04-10 | 2026-04-02 | MIT | ✓ | - | [link](https://hyprmoncfg.dev/) | -| huber | Simplify GitHub package management | 219 | 14 | 2025-02-18 | 2025-02-15 | Apache-2.0 | ✓ | - | [link](https://innobead.github.io/huber/) | -| strace-tui | Terminal user interface for visualizing and exploring strace... | 217 | 5 | 2026-03-08 | 2026-03-01 | - | ✓ | - | [link](https://github.com/Rodrigodd/strace-tui) | -| dealve-tui | Terminal interface for game deal discovery | 212 | 4 | 2026-02-23 | 2026-02-23 | - | ✓ | - | [link](https://github.com/kurama/dealve-tui) | -| yosay | Tell Yeoman what to say | 208 | 40 | 2025-02-07 | 2023-10-27 | BSD-2-Clause | ✓ | - | [link](https://github.com/yeoman/yosay) | -| markpdf | Watermark PDF files using image or text | 207 | 41 | 2024-07-17 | 2022-12-27 | Apache-2.0 | ✓ | - | [link](https://github.com/ajaxray/markpdf) | -| ht-mcp | Pure Rust implementation of MCP server for headless terminal | 206 | 11 | 2026-02-02 | 2025-06-19 | Apache-2.0 | ✓ | - | [link](https://github.com/memextech/ht-mcp) | -| filessh | Fast and convenient TUI file browser for remote servers | 203 | 5 | 2026-01-25 | 2026-01-25 | - | ✓ | - | [link](https://github.com/JayanAXHF/filessh) | -| autotag | Git repository version tagging tool | 202 | 44 | 2026-01-23 | 2026-01-23 | Apache-2.0 | ✓ | - | [link](https://github.com/autotag-dev/autotag) | -| orla | High-performance execution engine for open-source agents | 200 | 4 | 2026-02-22 | 2026-02-22 | MIT | ✓ | - | [link](https://github.com/dorcha-inc/orla) | -| vi-mongo | MongoDB TUI designed to simplify data visualization and quic... | 198 | 15 | 2026-02-15 | 2026-02-02 | Apache-2.0 | ✓ | - | [link](https://github.com/kopecmaciej/vi-mongo) | -| weekly-git-summary | 跨平台 CLI 工具,用于生成 Git 提交周报,支持文本、JSON、Markdown | 198 | 6 | 2026-01-14 | 2025-10-09 | MIT | ✓ | - | [link](https://github.com/yinzhenyu-su/weekly-git-summary) | -| lazytail | Terminal-based log viewer with live filtering | 197 | 2 | 2026-03-19 | 2026-03-16 | MIT | ✓ | - | [link](https://github.com/raaymax/lazytail) | -| envx | Powerful and secure TUI environment variable manager | 196 | 5 | 2025-09-19 | 2025-09-19 | MIT | ✓ | - | [link](https://github.com/mikeleppane/envx) | -| hazelnut | Terminal-based automated file organizer | 196 | 9 | 2026-03-05 | 2026-02-19 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/ricardodantas/hazelnut) | -| youtube-music-cli | Terminal user interface music player for YouTube Music | 192 | 9 | 2026-02-22 | 2026-02-22 | MIT | ✓ | - | [link](https://involvex.github.io/youtube-music-cli/) | -| hcom | Let AI agents message, watch, and spawn each other across te... | 190 | 24 | 2026-04-06 | 2026-04-05 | MIT | ✓ | - | [link](https://github.com/aannoo/hcom) | -| hauler | Airgap Swiss Army Knife | 188 | 40 | 2026-02-14 | 2026-01-16 | Apache-2.0 | ✓ | - | [link](https://docs.hauler.dev/docs/intro) | -| pam | Minimal CLI tool for managing and executing SQL queries with... | 188 | 9 | 2026-03-03 | 2026-03-06 | MIT | ✓ | - | [link](https://github.com/eduardofuncao/squix) | -| arduino-language-server | Language server for Arduino development | 183 | 19 | 2026-02-06 | 2025-03-19 | AGPL-3.0-only | ✓ | - | [link](https://github.com/arduino/arduino-language-server) | -| adbtuifm | TUI File Manager for ADB | 182 | 9 | 2022-03-16 | 2022-03-16 | MIT | ✓ | - | [link](https://github.com/darkhz/adbtuifm) | -| csvi | Cross-platform terminal CSV editor | 177 | 4 | 2026-03-21 | 2026-03-21 | MIT | ✓ | - | [link](https://hymkor.github.io/csvi/) | -| aim | Command-line download/upload tool with resume | 171 | 6 | 2026-02-15 | 2026-01-10 | MIT | ✓ | - | [link](https://github.com/mihaigalos/aim) | -| lazyworktree | TUI for managing Git worktrees | 170 | 6 | 2026-03-09 | 2026-03-08 | Apache-2.0 | ✓ | - | [link](https://github.com/chmouel/lazyworktree) | -| rgx | Terminal regex tester with real-time matching and multi-engi... | 169 | 2 | 2026-03-25 | 2026-03-25 | - | ✓ | - | [link](https://github.com/brevity1swos/rgx) | -| kure | CLI password manager with sessions | 167 | 14 | 2026-01-27 | 2025-11-02 | Apache-2.0 | ✓ | - | [link](https://github.com/GGP1/kure) | -| mdbook-linkcheck | Backend for `mdbook` which will check your links for you | 167 | 32 | 2024-08-15 | 2022-10-03 | MIT | ✓ | - | [link](https://github.com/Michael-F-Bryan/mdbook-linkcheck) | -| apw | CLI for Apple Passwords (also known as iCloud Keychain) | 166 | 9 | 2026-01-20 | 2025-10-16 | GPL-3.0-only | ✓ | - | [link](https://github.com/bendews/apw) | -| kwt | Kubernetes Workstation Tools CLI | 165 | 12 | 2023-12-18 | 2023-09-25 | Apache-2.0 | ✓ | - | [link](https://github.com/carvel-dev/kwt) | -| scrt | Secret manager for developers, sysadmins, and devops | 164 | 7 | 2024-06-28 | 2022-06-07 | Apache-2.0 | ✓ | - | [link](https://scrt.run/) | -| ccapi | Claude Code Commands Manager | 162 | 15 | 2025-10-26 | 2025-10-13 | MIT | ✓ | - | [link](https://github.com/4xian/claude-auto-api) | -| certok | CLI to check the validity and expiration dates of SSL certif... | 162 | 15 | 2020-09-17 | 2019-11-20 | MIT | ✓ | ✓ | [link](https://github.com/genuinetools/certok) | -| cli-mcp-server | CLI for MCP clients with secure execution and customizable s... | 162 | 33 | 2025-07-04 | - | MIT | ✓ | - | [link](https://github.com/mladensu/cli-mcp-server) | -| otelgen | Generate synthetic OpenTelemetry logs, metrics, traces via O... | 161 | 24 | 2025-03-31 | 2024-10-23 | Apache-2.0 | ✓ | - | [link](https://github.com/krzko/otelgen) | -| fixjson | JSON Fixer for Humans using (relaxed) JSON5 | 160 | 6 | 2023-10-17 | - | MIT | ✓ | - | [link](https://github.com/rhysd/fixjson) | -| theattyr | Terminal theater for playing VT100 art and animations | 160 | 4 | 2024-10-26 | 2024-10-11 | - | ✓ | - | [link](https://github.com/orhun/theattyr) | -| nexus | Terminal-based HTTP client for REST and gRPC APIs | 159 | 5 | 2025-12-27 | - | MIT | ✓ | - | [link](https://github.com/pranav-cs-1/nexus) | -| tftree | Display your Terraform module call stack in your terminal | 159 | 5 | 2026-02-11 | 2023-10-02 | Apache-2.0 | ✓ | - | [link](https://github.com/busser/tftree) | -| nibble | Scan local networks from a terminal user interface | 158 | 5 | 2026-04-22 | 2026-04-22 | MIT | ✓ | - | [link](https://github.com/backendsystems/nibble) | -| dbee | Fast & Minimalistic Database Browser | 157 | 4 | 2024-06-22 | 2024-06-20 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/murat-cileli/dbee) | -| kat | TUI and rule-based rendering engine for Kubernetes manifests | 157 | 1 | 2026-02-16 | 2025-11-30 | Apache-2.0 | ✓ | - | [link](https://github.com/MacroPower/kat) | -| togo | Fast and simple terminal-based task and todo manager | 157 | 12 | 2026-02-16 | 2026-02-03 | MIT | ✓ | - | [link](https://github.com/prime-run/togo) | -| ugm | TUI to view information about UNIX users and groups | 157 | 3 | 2025-08-17 | 2025-08-17 | MIT | ✓ | - | [link](https://github.com/ariasmn/ugm) | -| cargo-deadlinks | Cargo subcommand to check rust documentation for broken link... | 156 | 15 | 2024-12-10 | 2021-10-13 | - | ✓ | - | [link](https://github.com/deadlinks/cargo-deadlinks) | -| pubmed-mcp-server | MCP server for searching and querying PubMed medical papers/... | 156 | 35 | 2025-12-17 | - | MIT | ✓ | - | [link](https://github.com/andybrandt/mcp-simple-pubmed) | -| fex | Command-line file explorer prioritizing quick navigation | 155 | 8 | 2025-05-18 | 2024-09-21 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/18alantom/fex) | -| get-port-cli | Get an available port | 155 | 14 | 2025-08-14 | 2021-10-14 | MIT | ✓ | - | [link](https://github.com/sindresorhus/get-port-cli) | -| ai-context | CLI tool to produce MD context files from many sources | 153 | 12 | 2025-07-30 | 2025-07-30 | MIT | ✓ | - | [link](https://github.com/Tanq16/ai-context) | -| soundscope | TUI app for analyzing audio data such as frequencies and lou... | 153 | 2 | 2026-02-07 | 2026-02-07 | MIT | ✓ | - | [link](https://github.com/bananaofhappiness/soundscope) | -| spiffe-spike | Lightweight secrets store using SPIFFE as its identity contr... | 153 | 27 | 2026-02-05 | 2025-11-29 | Apache-2.0 | ✓ | - | [link](https://spike.ist/) | -| steamfetch | Display Steam stats in the terminal | 153 | 3 | 2026-03-01 | 2026-02-13 | ISC | ✓ | - | [link](https://github.com/unhappychoice/steamfetch) | -| clawbands | Security middleware for OpenClaw agents | 152 | 14 | 2026-02-09 | 2026-02-09 | MIT | ✓ | - | [link](https://github.com/SeyZ/clawbands) | -| togomak | Declarative pipeline orchestrator | 152 | 6 | 2024-04-19 | 2024-04-06 | MPL-2.0 | ✓ | - | [link](https://togomak.srev.in/) | -| ec | Terminal-native 3-way Git conflict resolver | 149 | 3 | 2026-03-09 | 2026-02-16 | MIT | ✓ | - | [link](https://github.com/chojs23/ec) | -| motus | Dead simple password generator | 149 | 7 | 2026-03-05 | 2025-07-26 | AGPL-3.0-only | ✓ | - | [link](https://github.com/oleiade/motus) | -| tascli | Track tasks and records from the terminal | 148 | 9 | 2026-03-22 | 2026-03-21 | MIT | ✓ | - | [link](https://github.com/Aperocky/tascli) | -| tori | Remote Docker and host monitoring over SSH | 148 | 7 | 2026-03-06 | 2026-03-06 | MIT | ✓ | - | [link](https://toricli.sh/) | -| namespace-cli | Command-line interface for the Namespaces platform | 146 | 14 | 2026-02-16 | 2026-02-16 | Apache-2.0 | ✓ | - | [link](https://github.com/namespacelabs/foundation) | -| snipt | Powerful text snippet expansion tool | 146 | 3 | 2026-04-02 | 2025-05-08 | MIT | ✓ | - | [link](https://github.com/snipt/snipt) | -| splitrail | Real-time token usage tracker and cost monitor for CLI codin... | 146 | 13 | 2026-04-05 | 2026-04-05 | MIT | ✓ | - | [link](https://github.com/Piebald-AI/splitrail) | -| logfire-mcp | MCP server for Pydantic Logfire | 145 | 26 | 2026-02-12 | 2026-01-05 | MIT | ✓ | - | [link](https://github.com/pydantic/logfire-mcp) | -| olla | Lightweight & fast AI inference proxy for self-hosted LLMs b... | 145 | 17 | 2026-02-16 | 2025-12-15 | Apache-2.0 | ✓ | - | [link](https://thushan.github.io/olla/) | -| stree | Directory trees of AWS S3 Buckets | 143 | 9 | 2024-07-17 | 2024-07-17 | MIT | ✓ | - | [link](https://github.com/orangekame3/stree) | -| tortuise | Terminal-native 3D Gaussian splatting viewer | 143 | 7 | 2026-03-15 | 2026-02-24 | MIT | ✓ | - | [link](https://github.com/buildoak/tortuise) | -| railway-mcp-server | MCP server for Railway | 140 | 25 | 2026-02-09 | - | MIT | ✓ | - | [link](https://github.com/railwayapp/railway-mcp-server) | -| swaptop | TUI for monitoring swap usage | 140 | 8 | 2025-12-12 | 2025-12-12 | MIT | ✓ | - | [link](https://github.com/luis-ota/swaptop) | -| clai | Command-line artificial intelligence - Your local LLM contex... | 139 | 10 | 2026-02-09 | 2026-02-09 | MIT | ✓ | - | [link](https://github.com/baalimago/clai) | -| needle | TUI that highlights the GitHub PRs that need you | 139 | 2 | 2025-12-19 | - | MIT | ✓ | - | [link](https://github.com/cesarferreira/needle) | -| wallust | Better pywal | 139 | 17 | 2026-02-14 | 2026-01-18 | MIT | ✓ | - | [link](https://explosion-mental.codeberg.page/wallust/) | -| cgpu | CLI enabling free cloud GPU access in your terminal for lear... | 138 | 23 | 2025-11-30 | - | Apache-2.0 | ✓ | - | [link](https://github.com/RohanAdwankar/cgpu) | -| ibtop | Real-time terminal monitor for InfiniBand networks | 137 | 7 | 2025-12-30 | 2025-12-30 | Apache-2.0 | ✓ | - | [link](https://github.com/JannikSt/ibtop) | -| stylance-cli | Scoped CSS style imports for rust | 136 | 13 | 2025-11-24 | 2025-11-24 | MIT | ✓ | - | [link](https://github.com/basro/stylance-rs) | -| pom | Pomodoro timer in your terminal | 134 | 2 | 2024-05-16 | 2024-05-12 | MIT | ✓ | - | [link](https://github.com/maaslalani/pom) | -| resinator | Windows resource-definition script (.rc) to resource file (.... | 134 | 6 | 2026-01-12 | 2024-10-11 | 0BSD | ✓ | - | [link](https://github.com/squeek502/resinator) | -| gitcredits | Turn your Git repository into movie-style rolling credits | 133 | 4 | 2026-03-21 | 2026-03-21 | MIT | ✓ | - | [link](https://github.com/Higangssh/gitcredits) | -| parm | Cross-platform package manager for GitHub Releases | 133 | 3 | 2026-02-14 | 2026-02-09 | GPL-3.0-only | ✓ | - | [link](https://github.com/alxrw/parm) | -| tsuki | Lua 5.4 port written in Rust (library for embedding) | 133 | 3 | 2026-02-15 | 2026-02-15 | MIT | ✓ | - | [link](https://github.com/ultimaweapon/tsuki) | -| osmar | CLI to explore OSM data | 132 | 5 | 2025-07-21 | 2024-10-04 | MIT | ✓ | - | [link](https://github.com/codesoap/osmar) | -| datadog-mcp-server | Community-maintained Datadog MCP server | 131 | 66 | 2026-02-14 | 2025-10-19 | Apache-2.0 | ✓ | - | [link](https://github.com/winor30/mcp-server-datadog) | -| simdjzon | Simdjson ported to zig | 131 | 6 | 2025-11-04 | - | Apache-2.0 | ✓ | - | [link](https://github.com/travisstaloch/simdjzon) | -| mcpd | Declaratively manage Model Context Protocol (MCP) servers | 130 | 17 | 2026-02-13 | 2026-01-28 | MIT | ✓ | - | [link](https://mozilla-ai.github.io/mcpd/) | -| vimalender | Vim-style terminal calendar | 130 | 3 | 2026-03-12 | 2026-03-10 | MIT | ✓ | - | [link](https://github.com/Sadoaz/vimalender) | -| tiki | Markdown-based git-versioned documentation and issue managem... | 129 | 3 | 2026-03-30 | 2026-03-26 | Apache-2.0 | ✓ | - | [link](https://github.com/boolean-maybe/tiki) | -| lix | Dependable package manager for your Haxe projects | 127 | 25 | 2026-01-29 | - | MIT | ✓ | - | [link](https://github.com/lix-pm/lix.client) | -| trex | Terminal app for writing, visualizing, and testing regular e... | 127 | 3 | 2025-09-30 | 2025-02-27 | MIT | ✓ | - | [link](https://github.com/samyakbardiya/trex) | -| zigscient | Zig Language Server | 127 | 5 | 2026-02-12 | 2026-01-22 | ISC | ✓ | - | [link](https://github.com/llogick/zigscient) | -| howto | Humble command-line assistant | 126 | 6 | 2025-07-08 | 2025-02-10 | MIT | ✓ | - | [link](https://github.com/nalgeon/howto) | -| envie | MCP server for Apify | 124 | 2 | 2025-11-19 | 2025-11-19 | Apache-2.0 | ✓ | - | [link](https://github.com/ilmari-h/envie) | -| khaos-cli | Kafka traffic simulator for observability and chaos engineer... | 124 | 7 | 2026-01-05 | 2026-01-05 | Apache-2.0 | ✓ | - | [link](https://github.com/aleksandarskrbic/khaos) | -| toml-f | TOML parser for data serialization/deserialization in Fortra... | 124 | 32 | 2026-02-11 | 2025-11-10 | - | ✓ | - | [link](https://github.com/toml-f/toml-f) | -| bytebox | Standalone WebAssembly VM | 123 | 7 | 2025-11-23 | - | MIT | ✓ | - | [link](https://github.com/rdunnington/bytebox) | -| tatuin | Task Aggregator TUI for N providers | 123 | 4 | 2026-02-14 | 2026-01-16 | MIT | ✓ | - | [link](https://github.com/panter-dsd/tatuin) | -| awsesh | TUI for AWS SSO session management | 122 | 4 | 2026-01-30 | 2025-10-23 | MIT | ✓ | - | [link](https://github.com/elva-labs/awsesh) | -| darya | Disk usage explorer with a TUI and live treemap | 122 | - | 2026-04-06 | 2026-03-26 | GPL-3.0-only | ✓ | - | [link](https://github.com/mrkatebzadeh/darya) | -| passepartui | TUI for pass | 122 | 3 | 2025-05-07 | 2025-01-16 | GPL-3.0-only | ✓ | - | [link](https://github.com/kardwen/passepartui) | -| marchat | Terminal chat with WebSockets, E2E encryption, plugins, and ... | 121 | 9 | 2026-02-16 | 2026-02-16 | MIT | ✓ | - | [link](https://github.com/Cod-e-Codes/marchat) | -| mlbt | TUI for MLB stats API | 121 | 11 | 2026-02-06 | 2025-07-31 | MIT | ✓ | - | [link](https://github.com/mlb-rs/mlbt) | -| incus-compose | Missing equivalent for `docker-compose` in the Incus ecosyst... | 120 | 11 | 2025-07-07 | 2025-03-31 | MIT | ✓ | - | [link](https://github.com/bketelsen/incus-compose) | -| iftree | Visualize local network interfaces | 119 | 6 | 2023-03-06 | 2022-09-14 | Apache-2.0 | ✓ | ✓ | [link](https://github.com/t1anz0ng/iftree) | -| leveldb-cli | CLI for LevelDB | 119 | 26 | 2025-05-01 | 2025-05-01 | MIT | ✓ | - | [link](https://github.com/liderman/leveldb-cli) | -| recall | Search and resume Claude Code and Codex CLI conversations | 119 | 12 | 2026-01-14 | 2026-01-13 | MIT | ✓ | - | [link](https://github.com/zippoxer/recall) | -| optivorbis | Lossless, format-preserving, two-pass optimization and repai... | 117 | 6 | 2026-02-16 | 2025-01-13 | AGPL-3.0-only | ✓ | - | [link](https://optivorbis.github.io/OptiVorbis) | -| spacelift-intent | Provision and manage cloud infrastructure using natural lang... | 117 | 9 | 2026-02-05 | 2025-10-23 | Apache-2.0 | ✓ | - | [link](https://spacelift.io/intent) | -| lobtui | TUI for lobste.rs website | 116 | 4 | 2025-05-16 | 2025-05-16 | MIT | ✓ | - | [link](https://github.com/pythops/lobtui) | -| gommit | Enforce git message commit consistency | 115 | 5 | 2026-02-10 | 2025-02-09 | Apache-2.0 | ✓ | - | [link](https://github.com/antham/gommit) | -| awk-language-server | Language Server for AWK | 113 | 6 | 2024-11-19 | 2024-11-02 | MIT | ✓ | - | [link](https://github.com/Beaglefoot/awk-language-server) | -| jelly | Explore and stream Jellyfin via CLI | 110 | 2 | 2025-11-05 | 2025-11-04 | 0BSD | ✓ | - | [link](https://github.com/AzureHound/jelly) | -| sato | Tool to convert ARM or CFN into Terraform | 110 | 8 | 2026-02-13 | 2025-12-15 | Apache-2.0 | ✓ | - | [link](https://github.com/JamesWoolfenden/sato) | -| batctl | Battery charge threshold manager for Linux laptops | 109 | 1 | 2026-03-11 | 2026-03-11 | MIT | ✓ | - | [link](https://github.com/Ooooze/batctl) | -| kube2pulumi | Upgrade your Kubernetes YAML to a modern language | 108 | 5 | 2025-11-21 | 2024-02-02 | Apache-2.0 | ✓ | - | [link](https://github.com/pulumi/kube2pulumi) | -| hexora | Static analysis of malicious Python code | 107 | 7 | 2025-12-28 | 2025-12-27 | MIT | ✓ | - | [link](https://github.com/rushter/hexora) | -| localports | List network ports with their associated binaries | 107 | 3 | 2025-08-30 | 2025-08-30 | MIT | ✓ | - | [link](https://github.com/diegoholiveira/localports) | -| procmux | Terminal multiplexer for processes | 107 | 6 | 2025-11-23 | - | MIT | ✓ | - | [link](https://github.com/napisani/procmux) | -| lsv | Three Pane Terminal File Viewer | 106 | 3 | 2025-10-12 | - | MIT | ✓ | - | [link](https://github.com/SecretDeveloper/lsv) | -| sourcerer-mcp | MCP for semantic code search & navigation that reduces token... | 106 | 10 | 2025-11-10 | - | MIT | ✓ | - | [link](https://github.com/st3v3nmw/sourcerer-mcp) | -| agl | Language that compiles to Go | 105 | 7 | 2025-11-16 | - | MIT | ✓ | - | [link](https://alaingilbert.github.io/agl/) | -| anvil | CLI to streamline config management and tool installation | 105 | 2 | 2026-01-24 | 2026-01-24 | Apache-2.0 | ✓ | - | [link](https://tryanvil.app) | -| cf2pulumi | Convert CloudFormation Templates to Pulumi programs | 105 | 19 | 2026-02-16 | 2026-02-16 | Apache-2.0 | ✓ | - | [link](https://github.com/pulumi/pulumi-aws-native) | -| datacmd | Auto-generative dashboards from different sources in your CM... | 105 | 4 | 2025-12-31 | 2025-09-03 | MIT | ✓ | - | [link](https://github.com/VincenzoManto/Datacmd) | -| gittop | Beautiful terminal UI for visualizing Git repository statist... | 104 | 1 | 2026-03-28 | 2026-03-19 | BSD-3-Clause | ✓ | - | [link](https://github.com/hjr265/gittop) | -| tinifier | CLI tool for compressing images using the TinyPNG | 104 | 11 | 2026-01-01 | 2025-11-02 | MIT | ✓ | - | [link](https://github.com/tarampampam/tinifier) | -| vectorize-mcp-server | MCP Server for Vectorize | 102 | 24 | 2025-06-12 | 2025-04-07 | ISC | ✓ | - | [link](https://github.com/vectorize-io/vectorize-mcp-server) | -| yajsv | Yet Another JSON Schema Validator | 102 | 13 | 2023-11-21 | 2022-09-22 | MIT | ✓ | - | [link](https://json-schema.org/) | -| cchistory | Like the shell history command but for your Claude Code sess... | 101 | 5 | 2026-02-01 | 2025-09-10 | MIT | ✓ | - | [link](https://github.com/eckardt/cchistory) | -| datui | Data exploration in the terminal | 101 | 5 | 2026-02-24 | 2026-02-16 | MIT | ✓ | - | [link](https://derekwisong.github.io/datui/) | -| scanify | Transform PDFs to look like scanned documents | 101 | 2 | 2026-02-03 | 2025-12-20 | MIT | ✓ | - | [link](https://github.com/Francium-Tech/scanify) | -| taskbook | Tasks, boards & notes for the command-line habitat | 101 | 3 | 2026-03-12 | 2026-03-12 | MIT | ✓ | - | [link](https://taskbook.sh) | -| judo | Multi-database TUI for ToDo lists | 100 | 5 | 2026-02-16 | - | MIT | ✓ | - | [link](https://github.com/giacomopiccinini/judo) | -| outside | Multi-purpose weather client for your terminal | 100 | 3 | 2025-07-22 | 2025-07-21 | AGPL-3.0-or-later | ✓ | - | [link](https://github.com/BaconIsAVeg/outside) | -| tredis | Terminal UI for Redis servers | 100 | 2 | 2026-03-06 | 2026-02-03 | MIT | ✓ | - | [link](https://github.com/huseyinbabal/tredis) | -| dgop | API & CLI for System & Process Monitoring | 99 | 15 | 2026-02-23 | 2026-02-14 | MIT | ✓ | - | [link](https://danklinux.com/) | -| oxbuild | Ultra fast and easy-to-use TypeScript/JavaScript compiler | 99 | 4 | 2026-02-05 | 2024-10-08 | MIT | ✓ | - | [link](https://github.com/DonIsaac/oxbuild) | -| pwdsafety | CLI checking password safety | 99 | 15 | 2026-02-16 | 2025-09-15 | GPL-3.0-only | ✓ | - | [link](https://github.com/edoardottt/pwdsafety) | -| lazymake | Terminal UI for browsing and running Makefile targets | 98 | 3 | 2026-02-20 | 2026-02-20 | MIT | ✓ | - | [link](https://lazymake.vercel.app/) | -| rusticon | Mouse driven SVG favicon editor for your terminal | 98 | 1 | 2026-02-10 | 2025-08-26 | CC-BY-NC-ND-4.0 | ✓ | - | [link](https://github.com/ronilan/rusticon) | -| haloy | Manage deployments on your own infrastructure | 97 | 5 | 2026-02-16 | - | MIT | ✓ | - | [link](https://haloy.dev/) | -| hclgrep | Syntax based grep for HCL(v2) | 97 | 7 | 2024-03-07 | - | BSD-3-Clause | ✓ | - | [link](https://github.com/magodo/hclgrep) | -| twig | Terminal-based JSON and YAML viewer for exploring large file... | 97 | 4 | 2025-12-25 | 2025-12-25 | MIT | ✓ | - | [link](https://twig.wtf/) | -| jarl | Just Another R Linter | 96 | 6 | 2026-02-16 | 2026-02-05 | MIT | ✓ | - | [link](https://jarl.etiennebacher.com/) | -| mdsf | Format, and lint, markdown code snippets using your favorite... | 96 | 3 | 2026-02-12 | 2025-12-17 | MIT | ✓ | - | [link](https://github.com/hougesen/mdsf) | -| oceanbase-mcp-server | MCP Server for OceanBase database and its tools | 96 | 37 | 2026-01-13 | 2025-12-26 | Apache-2.0 | ✓ | - | [link](https://github.com/oceanbase/mcp-oceanbase) | -| qmassa | TUI for displaying GPUs usage stats on Linux | 96 | 5 | 2026-02-14 | - | Apache-2.0 | ✓ | - | [link](https://github.com/ulissesf/qmassa) | -| terminal-mcp | Headless terminal emulator exposed via MCP for AI assistants | 96 | 10 | 2026-02-17 | 2026-01-28 | MIT | ✓ | - | [link](https://github.com/elleryfamilia/terminal-mcp) | -| krs | Capturing and serializing k8s resource statistics in OpenMet... | 95 | 8 | 2018-10-24 | 2018-10-18 | Apache-2.0 | ✓ | ✓ | [link](https://mhausenblas.info/krs/) | -| zsh-vi-man | Smart man page lookup plugin for Zsh vi and emacs modes | 95 | 2 | 2026-03-08 | 2026-01-04 | MIT | ✓ | - | [link](https://github.com/TunaCuma/zsh-vi-man) | -| ssm | Terminal Secure Shell Manager | 94 | 5 | 2025-08-06 | 2025-08-04 | BSD-3-Clause | ✓ | - | [link](https://github.com/lfaoro/ssm) | -| blindfold | Generator of .gitignore files using gitignore.io | 92 | 1 | 2026-02-12 | 2025-06-15 | MIT | ✓ | - | [link](https://github.com/Eoin-McMahon/Blindfold) | -| termide | Cross-platform terminal-based IDE, file manager, and virtual... | 91 | 1 | 2026-04-27 | 2026-04-27 | MIT | ✓ | - | [link](https://termide.github.io) | -| dumper | CLI utility for creating database backups | 89 | 2 | 2026-02-15 | 2026-02-15 | MIT | ✓ | - | [link](https://elkirrs.github.io/dumper/) | -| cull | Interactive TUI disk space analyzer | 88 | 3 | 2026-02-05 | 2026-02-04 | MIT | ✓ | - | [link](https://github.com/legostin/cull) | -| tclint | EDA-centric utility for linting and analyzing Tcl code | 88 | 11 | 2026-02-16 | 2025-12-21 | MIT | ✓ | - | [link](https://github.com/nmoroze/tclint) | -| yatto | Interactive VCS-based todo-list for the command-line | 88 | 5 | 2026-02-16 | 2026-02-16 | MIT | ✓ | - | [link](https://github.com/handlebargh/yatto) | -| octotype | TUI typing trainer inspired by monkeytype with a focus on cu... | 87 | - | 2026-02-15 | 2025-11-03 | MIT | ✓ | - | [link](https://github.com/mahlquistj/octotype) | -| claws | Terminal UI for AWS resource management | 86 | 7 | 2026-03-07 | 2026-03-07 | Apache-2.0 | ✓ | - | [link](https://github.com/clawscli/claws) | -| gitsnip | Download specific folders from a Git repository | 86 | 3 | 2025-04-19 | 2025-04-19 | MIT | ✓ | - | [link](https://github.com/dagimg-dot/gitsnip) | -| journalot | Minimal journaling CLI for developers | 86 | 5 | 2026-03-19 | 2026-03-17 | MIT | ✓ | - | [link](https://github.com/jtaylortech/journalot) | -| strimzi-kafka-cli | CLI for the Strimzi Kafka Operator | 86 | 13 | 2024-11-06 | - | Apache-2.0 | ✓ | - | [link](https://github.com/SystemCraftsman/strimzi-kafka-cli) | -| zmate | Instant terminal sharing; using Zellij | 86 | 1 | 2025-06-20 | 2025-06-19 | MIT | ✓ | - | [link](https://github.com/ziinaio/zmate) | -| comchan | Minimal serial monitor and plotter for embedded applications | 85 | 10 | 2026-02-18 | 2026-02-06 | MIT | ✓ | - | [link](https://github.com/Vaishnav-Sabari-Girish/ComChan) | -| gitv | Terminal-based viewer for GitHub issues | 85 | 3 | 2026-03-08 | 2026-03-08 | - | ✓ | - | [link](https://github.com/JayanAXHF/gitv) | -| iam-collect | Collect IAM information from all your AWS organization, acco... | 85 | 3 | 2026-02-15 | 2026-02-15 | AGPL-3.0-or-later | ✓ | - | [link](https://github.com/cloud-copilot/iam-collect) | -| oxylabs-mcp | MCP server for Oxylabs | 85 | 22 | 2025-12-08 | 2025-12-08 | MIT | ✓ | - | [link](https://github.com/oxylabs/oxylabs-mcp) | -| tpm | Package manager for Terraform providers | 85 | 2 | 2025-08-21 | 2023-05-19 | Apache-2.0 | ✓ | - | [link](https://github.com/Madh93/tpm) | -| nhost | Developing locally with the Nhost CLI | 82 | 31 | 2025-09-26 | 2025-09-26 | MIT | ✓ | ✓ | [link](https://docs.nhost.io/platform/cli/overview#cli-overview) | -| helius-personal-finance-tracker | Local-first personal finance tracker with CLI and TUI | 81 | 9 | 2026-03-19 | 2026-03-19 | AGPL-3.0-only | ✓ | - | [link](https://github.com/STVR393/helius-personal-finance-tracker) | -| narr | Download audio tracks from Netflix to sample your favorite s... | 81 | 8 | 2025-03-16 | 2024-09-29 | Unlicense | ✓ | - | [link](https://github.com/IljaN/narr) | -| terrawiz | Discover Terraform & Terragrunt modules on GitHub, GitLab, a... | 81 | 4 | 2026-02-16 | 2025-11-15 | MIT | ✓ | - | [link](https://github.com/efemaer/terrawiz) | -| cf-vault | Manage your Cloudflare credentials, securely | 80 | 7 | 2025-11-24 | 2024-01-03 | MIT | ✓ | - | [link](https://github.com/jacobbednarz/cf-vault) | -| hasha-cli | Hashing made simple. Get the hash of text or stdin | 80 | 3 | 2025-09-12 | 2025-09-12 | MIT | ✓ | - | [link](https://github.com/sindresorhus/hasha-cli) | -| jjj | Modal interface for Jujutsu | 80 | 2 | 2025-11-19 | 2025-04-21 | MIT | ✓ | - | [link](https://jjj.isaaccorbrey.com/) | -| spotifydl | Download music from Spotify with complete album art and meta... | 80 | 7 | 2023-03-07 | 2021-08-01 | Apache-2.0 | ✓ | - | [link](https://github.com/BharatKalluri/spotifydl) | -| apisnip | TUI tool for trimming OpenAPI specifications down to size | 79 | 1 | 2025-11-29 | 2025-11-29 | MIT | ✓ | - | [link](https://github.com/Tuurlijk/apisnip) | -| fat | TUI-based file and archive viewer for your terminal | 78 | 6 | 2025-08-24 | 2025-08-08 | GPL-3.0-only | ✓ | - | [link](https://github.com/Zuhaitz-dev/fat) | -| llmdog | Prepare files and directories for LLM consumption | 78 | 6 | 2025-03-19 | 2025-03-02 | MIT | ✓ | - | [link](https://github.com/doganarif/llmdog) | -| oeis-tui | TUI and CLI for exploring the On-Line Encyclopedia of Intege... | 78 | 4 | 2026-02-03 | 2025-11-29 | MIT | ✓ | - | [link](https://github.com/hako/oeis-tui) | -| rustormy | Minimal neofetch-like weather CLI | 78 | 3 | 2026-02-12 | 2025-09-14 | MIT | ✓ | - | [link](https://github.com/Tairesh/rustormy) | -| jsonl-graph | CLI for JSONL Graph | 77 | 5 | 2026-01-31 | 2024-03-21 | MIT | ✓ | - | [link](https://github.com/nikolaydubina/jsonl-graph) | -| ohy | Lightweight, Privacy-First CLI for Packaging Web into Deskto... | 77 | 5 | 2025-08-17 | - | MIT | ✓ | ✓ | [link](https://github.com/ohyfun/ohy) | -| kyma | Presentations from markdown in the terminal with fancy trans... | 76 | 1 | 2026-02-13 | 2025-06-21 | GPL-3.0-only | ✓ | - | [link](https://github.com/museslabs/kyma) | -| taskdog | Task manager with CLI, TUI, and local REST API server | 76 | 2 | 2026-03-16 | 2026-03-15 | MIT | ✓ | - | [link](https://github.com/Kohei-Wada/taskdog) | -| tinybird-mcp-server | MCP server for Tinybird | 76 | 17 | 2025-09-01 | - | Apache-2.0 | ✓ | - | [link](https://github.com/tinybirdco/mcp-tinybird) | -| amux | TUI for easily running parallel coding agents | 74 | 2 | 2026-03-30 | 2026-03-18 | MIT | ✓ | - | [link](https://github.com/andyrewlee/amux) | -| kubeseal-convert | Tool to import secrets from secret managers (Vault, SecretsM... | 73 | 8 | 2026-02-09 | 2024-08-26 | Apache-2.0 | ✓ | - | [link](https://github.com/EladLeev/kubeseal-convert) | -| lib-x | Browse your calibre library from the terminal | 73 | 3 | 2025-07-07 | 2025-01-27 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/Benexl/lib-x) | -| matcha | Terminal email client built with Bubble Tea | 72 | 4 | 2026-02-23 | 2026-02-22 | MIT | ✓ | - | [link](https://matcha.floatpane.com/) | -| mush | Build system for shell packages | 72 | 1 | 2026-03-22 | 2024-03-21 | MIT | ✓ | - | [link](https://github.com/javanile/mush) | -| ftdv | Terminal-based file tree diff viewer with flexible diff tool... | 71 | 6 | 2025-12-15 | 2025-07-02 | - | ✓ | - | [link](https://github.com/wtnqk/ftdv) | -| snip | Terminal snippet manager for storing, searching, and copying... | 70 | 1 | 2026-03-19 | 2026-03-19 | MIT | ✓ | - | [link](https://github.com/phlx0/snip) | -| envy | Terminal-based tool for managing secrets with TUI and CLI su... | 69 | 4 | 2026-03-04 | 2026-03-03 | MIT | ✓ | - | [link](https://github.com/XENONCYBER/envy) | -| terraform-diff | Always know where you need to run Terraform plan & apply | 69 | 5 | 2025-09-18 | - | Apache-2.0 | ✓ | - | [link](https://github.com/contentful-labs/terraform-diff) | -| travelgrunt | Package manager for Terraform providers | 69 | 3 | 2025-10-04 | 2025-10-04 | Apache-2.0 | ✓ | - | [link](https://github.com/ivanilves/travelgrunt) | -| btczee | Bitcoin protocol implementation in Zig | 68 | 30 | 2024-10-07 | - | MIT | ✓ | - | [link](https://github.com/zig-bitcoin/btczee) | -| gptop | TUI GPU monitor with support for Apple Silicon and NVIDIA GP... | 68 | 1 | 2026-03-05 | 2026-03-04 | GPL-3.0-only | ✓ | - | [link](https://github.com/evilsocket/gptop) | -| seastar | MCP server for Swagger/OpenAPI endpoints | 68 | 1 | 2025-06-16 | - | GPL-3.0-or-later | ✓ | - | [link](https://github.com/nonscalar/Seastar) | -| tui-banner | Cinematic ANSI banners for Rust CLI/TUI | 68 | 4 | 2025-12-24 | 2025-12-23 | Apache-2.0 | ✓ | - | [link](https://github.com/coolbeevip/tui-banner) | -| cclogviewer | Review Claude Code .jsonl files with a nice HTML UI | 67 | 6 | 2025-08-08 | - | MIT | ✓ | - | [link](https://github.com/Brads3290/cclogviewer) | -| nino | Terminal-based text editor inspired by kilo | 67 | 2 | 2026-02-14 | - | BSD-2-Clause | ✓ | - | [link](https://evanlin96069.github.io/nino-editor/) | -| terrap-cli | CLI tool that scans your infrastructure and identifies any r... | 67 | - | 2023-12-05 | 2023-05-04 | Apache-2.0 | ✓ | - | [link](https://github.com/sirrend/terrap-cli) | -| git-vain | Vanity git | 66 | 9 | 2024-12-12 | - | AGPL-3.0-or-later | ✓ | - | [link](https://github.com/will/git-vain) | -| scholar | Reference Manager in Go | 66 | 5 | 2021-03-15 | 2019-09-20 | MIT | ✓ | - | [link](https://github.com/cgxeiji/scholar) | -| ereandel | Gemini web browser using shell script | 65 | 6 | 2026-02-22 | 2024-09-01 | MIT | ✓ | - | [link](https://github.com/blmayer/ereandel) | -| mult | Run a command multiple times and glance at the outputs | 65 | 2 | 2026-03-01 | 2025-08-12 | MIT | ✓ | - | [link](https://github.com/dhth/mult) | -| act3 | Glance at the last 3 runs of your Github Actions | 64 | 5 | 2026-02-14 | 2025-06-16 | MIT | ✓ | - | [link](https://tools.dhruvs.space/act3/) | -| uplift | Semantic versioning the easy way | 64 | 9 | 2025-10-09 | 2025-07-13 | Apache-2.0 | ✓ | - | [link](https://upliftci.dev/) | -| lintnet | General purpose linter for structured configuration data pow... | 63 | - | 2026-02-16 | 2025-12-06 | MIT | ✓ | - | [link](https://lintnet.github.io/) | -| terrafetch | Neofetch of Terraform. Let your IaC flex for you | 63 | 2 | 2026-02-12 | 2025-09-09 | Apache-2.0 | ✓ | - | [link](https://github.com/RoseSecurity/terrafetch) | -| ghfetch | Fetch GitHub user information and show like neofetch | 62 | 1 | 2026-02-16 | 2023-10-10 | MIT | ✓ | - | [link](https://github.com/orangekame3/ghfetch) | -| gorae | TUI librarian for PDFs and EPUBs | 62 | 2 | 2026-01-06 | 2025-12-27 | MIT | ✓ | - | [link](https://github.com/Han8931/gorae) | -| lnko | Simple stow-like dotfile linker | 62 | - | 2026-01-20 | 2026-01-20 | GPL-3.0-only | ✓ | - | [link](https://github.com/luanvil/lnko) | -| nvrs | Fast new version checker for software releases | 62 | 4 | 2026-04-23 | 2026-04-23 | MIT | ✓ | - | [link](https://nvrs.koi.rip/) | -| perch | Terminal social client for Mastodon and Bluesky | 62 | - | 2026-03-04 | 2026-02-28 | GPL-3.0-or-later | ✓ | - | [link](https://perch.ricardodantas.me/) | -| pomossh | Terminal pomodoro timer with optional SSH mode | 62 | 2 | 2026-02-22 | 2025-03-25 | AGPL-3.0-only | ✓ | - | [link](https://github.com/sairash/pomossh) | -| yamcp | Manage MCP servers and workspaces from the command-line | 61 | 10 | 2025-05-27 | 2025-05-26 | MIT | ✓ | - | [link](https://github.com/hamidra/yamcp) | -| clox | Geeky clock for terminal enthusiasts | 60 | 2 | 2026-02-17 | 2026-02-17 | MIT | ✓ | - | [link](https://github.com/sepandhaghighi/clox) | -| rfc_reader | RFC viewer with TUI | 60 | 1 | 2026-04-08 | 2025-12-13 | MIT | ✓ | - | [link](https://github.com/ozan2003/rfc_reader) | -| inspect-cert-chain | Inspect and debug TLS certificate chains (without OpenSSL) | 59 | 1 | 2026-02-16 | 2025-07-13 | - | ✓ | - | [link](https://github.com/robjtede/inspect-cert-chain) | -| parqv | TUI for visualizing and analyzing files with multiple format... | 59 | 1 | 2025-07-19 | 2025-07-19 | Apache-2.0 | ✓ | - | [link](https://github.com/sanspareilsmyn/parqv) | -| axiom-mcp-server | MCP server for Axiom | 58 | 15 | 2025-11-20 | 2025-08-13 | MIT | ✓ | ✓ | [link](https://github.com/axiomhq/mcp-server-axiom) | -| cpx | Batteries-included Cargo-like CLI for C++ | 58 | - | 2026-01-28 | 2026-01-28 | MIT | ✓ | - | [link](https://cpx-dev.vercel.app/) | -| rt | Run tasks interactively across different task runners | 58 | - | 2026-02-22 | 2026-02-21 | MIT | ✓ | - | [link](https://github.com/unvalley/rt) | -| cloctui | TUI interface for the CLOC code analysis tool, using the Tex... | 57 | - | 2025-07-20 | - | MIT | ✓ | - | [link](https://github.com/edward-jazzhands/cloctui) | -| cueitup | Inspect messages in an AWS SQS queue in a simple and deliber... | 57 | 3 | 2026-03-12 | 2025-04-16 | MIT | ✓ | - | [link](https://github.com/dhth/cueitup) | -| oui | MAC Address CLI Toolkit | 57 | 5 | 2024-08-01 | 2024-08-01 | BSD-3-Clause-Clear | ✓ | - | [link](https://oui.is/) | -| dela | Task runner | 56 | 1 | 2026-02-06 | - | MIT | ✓ | - | [link](https://github.com/aleyan/dela) | -| enry | Faster file programming language detector | 56 | 17 | 2023-09-22 | 2023-09-22 | Apache-2.0 | ✓ | - | [link](https://github.com/go-enry/enry) | -| fnug | Nice lint runner | 55 | - | 2024-12-03 | 2024-11-06 | GPL-3.0-only | ✓ | - | [link](https://github.com/nickolaj-jepsen/fnug) | -| lazycelery | High-performance TUI for Docker container management | 55 | 3 | 2025-12-15 | 2025-08-28 | MIT | ✓ | - | [link](https://github.com/fguedes90/lazycelery) | -| rkik | Rusty Klock Inspection Kit - Simple NTP Client | 55 | 4 | 2026-02-11 | 2026-01-24 | MIT | ✓ | - | [link](https://github.com/aguacero7/rkik) | -| cmdx | Task runner | 54 | 1 | 2026-02-15 | 2025-07-15 | MIT | ✓ | - | [link](https://github.com/suzuki-shunsuke/cmdx) | -| di-tui | Simple terminal UI player for di.fm | 54 | 5 | 2025-11-29 | 2025-11-29 | BSD-2-Clause | ✓ | - | [link](https://github.com/acaloiaro/di-tui) | -| gokin | AI-powered CLI assistant for code | 54 | 4 | 2026-02-22 | 2026-02-22 | MIT | ✓ | - | [link](https://gokin.ginkida.dev) | -| mdns-scanner | Scan networks for IPs and hostnames, including mDNS aliases | 54 | 3 | 2026-02-16 | 2026-02-03 | MIT | ✓ | - | [link](https://github.com/CramBL/mdns-scanner) | -| rawhide | Find files using pretty C expressions | 54 | 6 | 2025-12-18 | 2023-10-13 | GPL-3.0-or-later | ✓ | - | [link](https://raf.org/rawhide/) | -| claudio | Hook-based audio plugin for Claude Code that plays contextua... | 53 | 4 | 2026-01-08 | - | - | ✓ | - | [link](https://github.com/ctoth/claudio) | -| qwe | File-first atomic version control system | 53 | 7 | 2025-12-14 | 2025-12-14 | MIT | ✓ | - | [link](https://mainak55512.github.io/qwe/) | -| siggy | Terminal-based Signal messenger client with vim keybindings | 53 | 3 | 2026-03-21 | 2026-03-16 | GPL-3.0-only | ✓ | - | [link](https://github.com/johnsideserf/siggy) | -| claude-code-generic-hooks | Generic hooks for Claude Code | 52 | 4 | 2025-08-12 | - | MIT | ✓ | - | [link](https://github.com/possibilities/claude-code-generic-hooks) | -| clickhousectl | CLI for ClickHouse: local and cloud | 52 | 2 | 2026-04-19 | 2026-04-14 | Apache-2.0 | ✓ | - | [link](https://github.com/ClickHouse/clickhousectl) | -| terracove | Recursively test a directory tree for Terraform diffs and co... | 52 | 1 | 2023-07-18 | 2023-07-18 | MIT | ✓ | - | [link](https://github.com/ElementTech/terracove) | -| wakey | TUI built for managing and waking your devices using Wake-on... | 52 | 2 | 2024-09-13 | 2024-09-13 | MIT | ✓ | - | [link](https://github.com/jonathanruiz/wakey) | -| humioctl | CLI Client for Humio - Stream Logs All Day Long | 51 | 25 | 2026-01-22 | 2026-01-12 | Apache-2.0 | ✓ | - | [link](https://www.crowdstrike.com/platform/next-gen-siem/falcon-logscale/) | -| labcoat | NixOS system deployment TUI | 51 | - | 2026-02-16 | - | MIT | ✓ | - | [link](https://github.com/jhillyerd/labcoat) | -| cashd | TUI for personal finance management | 50 | - | 2025-10-04 | 2025-10-04 | MIT | ✓ | - | [link](https://github.com/hzqtc/cashd) | -| chatuino | Feature-rich TUI Twitch chat client | 50 | 3 | 2026-03-01 | 2026-02-28 | MIT | ✓ | - | [link](https://chatuino.net) | -| owlex | MCP server for Codex CLI and Gemini CLI integration with Cla... | 50 | 3 | 2026-02-18 | 2026-02-18 | MIT | ✓ | - | [link](https://github.com/agentic-mcp-tools/owlex) | -| pass-cli | Secure CLI password manager with local encrypted storage | 49 | 1 | 2026-03-02 | 2026-02-07 | Apache-2.0 | ✓ | - | [link](https://github.com/ari1110/pass-cli) | -| cargo-dephell | Tool to analyze the third-party dependencies | 48 | 5 | 2023-05-12 | 2020-03-26 | - | ✓ | - | [link](https://github.com/mimoo/cargo-dephell) | -| context42 | Best code style guide is the one your team already follows | 48 | 2 | 2026-02-14 | - | MIT | ✓ | - | [link](https://github.com/zenbase-ai/context42) | -| cozypkg | Cozy wrapper around Helm and Flux CD for local development | 48 | 1 | 2026-02-09 | 2026-01-27 | Apache-2.0 | ✓ | - | [link](https://github.com/cozystack/cozypkg) | -| terratags | Required tags validation on terraform resources | 48 | 3 | 2026-02-16 | 2026-02-15 | MIT | ✓ | - | [link](https://terratags.github.io/terratags/) | -| autotools-language-server | Language tools for Autotools, support configure.ac, Makefile... | 47 | 5 | 2026-02-16 | 2025-11-04 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/Freed-Wu/autotools-language-server) | -| blueutil-tui | TUI for Mac to interact with bluetooth devices via blueutil | 47 | 1 | 2025-08-17 | - | MIT | ✓ | - | [link](https://github.com/Zaloog/blueutil-tui) | -| dotr | Dotfiles manager that is as dear as a daughter | 47 | 1 | 2026-01-16 | 2026-01-16 | MIT | ✓ | - | [link](https://github.com/uroybd/DotR) | -| clawea | Terminal-based weather forecast application | 46 | 1 | 2026-02-14 | - | - | ✓ | - | [link](https://github.com/Cladamos/clawea) | -| crates-lsp | Language Server implementation for Cargo.toml | 46 | 14 | 2025-11-14 | 2025-10-15 | MIT | ✓ | - | [link](https://github.com/MathiasPius/crates-lsp) | -| envfetch | Lightweight cross-platform CLI tool for working with environ... | 46 | 3 | 2025-12-26 | 2025-04-08 | MIT | ✓ | - | [link](https://github.com/ankddev/envfetch) | -| tfreveal | CLI to show Terraform plan with all the secret (sensitive) v... | 46 | 2 | 2025-09-22 | 2024-08-09 | MIT | ✓ | - | [link](https://github.com/breml/tfreveal) | -| cc-filter | Claude Code Sensitive Information Filter | 45 | 3 | 2026-01-22 | 2026-01-22 | MIT | ✓ | - | [link](https://github.com/wissem/cc-filter) | -| bibiman | TUI for fast and simple interacting with your BibLaTeX datab... | 43 | 9 | 2026-02-12 | 2025-10-06 | GPL-3.0-or-later | ✓ | - | [link](https://codeberg.org/lukeflo/bibiman) | -| karmor | Query git repositories with SQL | 43 | 89 | 2026-02-13 | 2025-11-20 | Apache-2.0 | ✓ | - | [link](https://github.com/kubearmor/kubearmor-client) | -| envlens | Inspect, search, and copy environment variables from the ter... | 42 | 3 | 2026-01-15 | 2025-12-08 | MIT | ✓ | - | [link](https://github.com/craigf-svg/envlens) | -| g1c | TUI for managing Google Cloud instances, inspired by k9s and... | 42 | 1 | 2026-02-03 | 2025-06-09 | Apache-2.0 | ✓ | - | [link](https://github.com/nlamirault/g1c) | -| toolctl | Tool to control your tools | 42 | 7 | 2026-02-12 | 2026-02-07 | MIT | ✓ | - | [link](https://github.com/toolctl/toolctl) | -| azure-pipelines-language-server | Language Server for Azure Pipelines YAML | 41 | 29 | 2026-02-07 | 2024-02-26 | MIT | ✓ | - | [link](https://github.com/microsoft/azure-pipelines-language-server) | -| dqy | DNS query tool | 41 | 4 | 2025-09-19 | - | MIT | ✓ | - | [link](https://github.com/dandyvica/dqy) | -| kbst | Kubestack framework CLI | 41 | 7 | 2023-04-14 | - | Apache-2.0 | ✓ | - | [link](https://www.kubestack.com/) | -| sprofile | Blazingly fast TUI application for viewing your Spotify list... | 41 | 1 | 2024-06-15 | 2024-06-15 | MIT | ✓ | - | [link](https://github.com/GoodBoyNeon/sprofile) | -| thanks-stars | Star GitHub repositories backing your project's dependencies | 41 | 2 | 2026-03-21 | 2025-10-27 | MIT | ✓ | - | [link](https://github.com/Kenzo-Wada/thanks-stars) | -| wisu | Blazingly fast, minimalist directory tree viewer | 41 | - | 2026-01-14 | 2026-01-07 | Apache-2.0 | ✓ | - | [link](https://github.com/sh1zen/wisu) | -| codex-viz | Local-first dashboard for Codex CLI sessions | 40 | 2 | 2026-01-27 | - | MIT | ✓ | - | [link](https://github.com/onewesong/codex-viz) | -| terra-code-cli | AI-powered development companion with persistent memory and ... | 40 | 4 | 2025-09-07 | - | Apache-2.0 | ✓ | - | [link](https://github.com/TerraAGI/terra-code-cli) | -| sloctl | CLI for Nobl9 to manage SLOs, Projects or Alert Policies | 39 | 2 | 2026-02-16 | 2026-02-16 | MPL-2.0 | ✓ | - | [link](https://docs.nobl9.com/sloctl-user-guide/) | -| squads-cli | Open source CLI for AI agent coordination with domain-aligne... | 39 | 2 | 2026-04-02 | 2026-03-28 | MIT | ✓ | - | [link](https://github.com/agents-squads/squads-cli) | -| wedl | CLI to download from https://wetransfer.com | 39 | 5 | 2025-07-04 | 2024-10-05 | Unlicense | ✓ | - | [link](https://github.com/gnojus/wedl) | -| fdir | Search language for your filesystem | 38 | - | 2026-01-30 | 2026-01-27 | MIT | ✓ | - | [link](https://github.com/VG-dev1/fdir) | -| keyhunter | Find leaked API keys in websites | 38 | 1 | 2025-05-05 | 2024-08-27 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/DonIsaac/keyhunter) | -| monitui | Delightfully minimal TUI for wrangling Hyprland monitors | 38 | 1 | 2026-02-10 | - | MIT | ✓ | ✓ | [link](https://github.com/nathaniel-fargo/monitui) | -| tfjournal | Record Terraform runs with git context and timing | 37 | - | 2026-01-30 | 2026-01-30 | MIT | ✓ | - | [link](https://github.com/Owloops/tfjournal) | -| gix | Git, but with superpowers | 36 | 3 | 2025-07-20 | 2025-07-19 | MIT | ✓ | - | [link](https://github.com/ademajagon/gix) | -| nbcat | Preview Jupyter notebooks directly in your terminal | 36 | - | 2025-06-04 | 2025-05-15 | MIT | ✓ | - | [link](https://github.com/akopdev/nbcat) | -| squall | TUI SQLite Viewer and Editor | 36 | 3 | 2026-01-26 | 2025-03-11 | MIT | ✓ | - | [link](https://github.com/driscollis/squall) | -| untether | Telegram bridge for AI coding agents with voice input and li... | 36 | 3 | 2026-04-20 | 2026-04-20 | MIT | ✓ | - | [link](https://github.com/littlebearapps/untether) | -| clickup-mcp | MCP Server for ClickUp | 35 | 12 | 2026-02-13 | 2026-02-01 | MIT | ✓ | - | [link](https://github.com/hauptsacheNet/clickup-mcp) | -| infraspec | Tool for running infrastructure tests written in pure Gherki... | 35 | 1 | 2026-02-16 | 2025-12-30 | Apache-2.0 | ✓ | - | [link](https://infraspec.sh/) | -| kcl | CLI for the KCL programming language | 35 | 21 | 2026-02-16 | 2025-12-12 | Apache-2.0 | ✓ | - | [link](https://github.com/kcl-lang/cli) | -| pj | Fast project directory finder | 35 | - | 2026-02-14 | 2026-02-14 | MIT | ✓ | - | [link](https://github.com/josephschmitt/pj) | -| screenshotone-mcp-server | MCP server for Screenshotone | 35 | 14 | 2025-06-10 | - | MIT | ✓ | - | [link](https://github.com/screenshotone/mcp) | -| sshmail | Encrypted message hub over SSH | 35 | 5 | 2026-03-12 | - | AGPL-3.0-only | ✓ | ✓ | [link](https://github.com/rolandnsharp/sshmail) | -| mcdu | Modern disk usage analyzer and developer cleanup tool | 34 | 2 | 2026-03-09 | 2026-02-13 | MIT | ✓ | - | [link](https://github.com/mikalv/mcdu) | -| shuk | Filesharing command-line application that uses Amazon S3 | 34 | 4 | 2024-12-11 | 2024-12-11 | - | ✓ | - | [link](https://github.com/darko-mesaros/shuk) | -| sqd | SQL-like document editor | 34 | 1 | 2026-02-12 | 2026-02-12 | MIT | ✓ | - | [link](https://github.com/albertoboccolini/sqd) | -| vapi-mcp-server | MCP server for Vapi AI | 34 | 18 | 2026-02-11 | 2025-06-22 | MIT | ✓ | - | [link](https://github.com/vapiai/mcp-server) | -| xmlformatter | Format and compress XML documents | 34 | 10 | 2025-06-03 | 2024-10-27 | MIT | ✓ | - | [link](https://github.com/pamoller/xmlformatter) | -| dnsforwarder | High-performance DNS forwarder with caching and rule-based r... | 33 | - | 2026-01-15 | - | GPL-3.0-or-later | ✓ | - | [link](https://github.com/Kk-ships/dnsforwarder) | -| lacquer | AI workflows that shine | 33 | 2 | 2025-08-22 | 2025-08-21 | Apache-2.0 | ✓ | - | [link](https://github.com/lacquerai/lacquer) | -| mamediff | TUI editor for managing unstaged and staged Git diffs | 33 | 1 | 2025-12-22 | 2025-10-09 | MIT | ✓ | - | [link](https://github.com/sile/mamediff) | -| mcp-server-tester | CLI-based tester for verifying that MCP servers | 33 | 3 | 2025-09-16 | 2025-09-16 | MIT | ✓ | - | [link](https://github.com/steviec/mcp-server-tester) | -| xpdig | Dig into Crossplane traces via TUI | 33 | 3 | 2026-02-09 | 2026-01-04 | Apache-2.0 | ✓ | - | [link](https://github.com/brunoluiz/xpdig) | -| ash-ai | Deploy and manage Ash AI agents | 32 | 1 | 2026-03-17 | 2026-03-14 | MIT | ✓ | - | [link](https://github.com/ash-ai-org/ash-ai) | -| auto-favicon-mcp-server | MCP server for automatic favicon generation from PNG images ... | 32 | 6 | 2025-07-27 | - | MIT | ✓ | - | [link](https://github.com/dh1011/auto-favicon-mcp) | -| climp | CLI media player | 32 | 1 | 2026-03-04 | 2026-03-02 | Apache-2.0 | ✓ | - | [link](https://climp.net) | -| fortran-linter | Fortran syntax checker | 32 | 11 | 2026-02-16 | 2024-05-08 | GPL-2.0-or-later | ✓ | - | [link](https://github.com/cphyc/fortran-linter) | -| hf | Cross-platform hidden file library and utility | 32 | 2 | 2026-02-16 | 2026-01-27 | Apache-2.0 | ✓ | - | [link](https://sorairolake.github.io/hf/book/index.html) | -| lightpanda-v8 | Fork-specific V8 archive and Zig module layout for Lightpand... | 32 | 10 | 2026-03-23 | 2026-03-14 | MIT | ✓ | - | [link](https://github.com/lightpanda-io/zig-v8-fork) | -| night-watch-cli | Async execution layer for PRDs and queued engineering work | 32 | 3 | 2026-03-22 | - | MIT | ✓ | - | [link](https://github.com/jonit-dev/night-watch-cli) | -| pygitzen | Python native terminal based Git client | 32 | 1 | 2026-02-07 | 2026-02-06 | MIT | ✓ | - | [link](https://github.com/SunnyTamang/pygitzen) | -| treekanga | Manage Git worktrees from the command-line | 32 | 1 | 2026-03-20 | 2026-01-31 | - | ✓ | - | [link](https://github.com/garrettkrohn/treekanga) | -| viwo | Docker-sandboxed virtual workspaces for Claude Code | 32 | 5 | 2026-04-03 | 2026-01-05 | MIT | ✓ | - | [link](https://github.com/OverseedAI/viwo) | -| cmdperf | Command Performance Benchmarking | 31 | - | 2026-01-21 | 2026-01-21 | MIT | ✓ | - | [link](https://github.com/miklosn/cmdperf) | -| reformat-gherkin | Formatter for Gherkin language | 31 | 15 | 2026-01-05 | 2022-10-04 | MIT | ✓ | - | [link](https://github.com/ducminh-phan/reformat-gherkin) | -| zigfetch | Minimal neofetch/fastfetch like system information tool | 31 | 1 | 2026-02-15 | 2025-12-15 | MIT | ✓ | - | [link](https://github.com/utox39/zigfetch) | -| pgterm | Terminal-based interface for PostgreSQL | 30 | 1 | 2026-02-07 | - | - | ✓ | - | [link](https://github.com/nabsk911/pgterm) | -| spotiflac-cli | Spotify downloader with playlist sync in mind | 30 | 3 | 2026-02-20 | 2026-02-13 | MIT | ✓ | - | [link](https://github.com/Superredstone/spotiflac-cli) | -| mdslw | Prepare your markdown for easy diff'ing | 29 | 1 | 2026-02-16 | 2026-02-16 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/razziel89/mdslw) | -| precompress | CLI to compress files to gzip and brotli | 29 | - | 2026-02-14 | 2025-09-14 | BSD-2-Clause | ✓ | - | [link](https://github.com/silverwind/precompress) | -| repos | Manage multiple Git repositories with an interactive termina... | 29 | - | 2025-12-30 | 2025-12-30 | MIT | ✓ | - | [link](https://github.com/epilande/repos) | -| gitid | Tool to stop sending work commits with your personal email | 28 | 1 | 2025-10-11 | 2025-10-11 | MIT | ✓ | - | [link](https://github.com/nathabonfim59/gitid) | -| hexowl | Lightweight, flexible programmer's calculator with variables... | 28 | 1 | 2025-06-20 | 2024-12-18 | GPL-3.0-or-later | ✓ | - | [link](https://hexowl.ru/) | -| kaydet | Queryable personal database for notes, logs, and todos | 28 | 1 | 2026-03-10 | 2025-11-14 | MIT | ✓ | - | [link](https://github.com/miratcan/kaydet) | -| llmswap | Switch between Anthropic, OpenAI, Google, Ollama, Watsonx, e... | 28 | 6 | 2026-01-01 | 2026-01-01 | MIT | ✓ | - | [link](https://github.com/sreenathmmenon/llmswap) | -| starlit | Minimal, cute and customizable weather cli | 28 | 1 | 2026-02-09 | 2026-01-14 | - | ✓ | - | [link](https://github.com/ashuhlee/starlit) | -| gh-repo-man | Manage GitHub repositories interactively from the terminal | 27 | - | 2025-10-29 | 2025-10-29 | MIT | ✓ | - | [link](https://github.com/2KAbhishek/gh-repo-man) | -| klein | Terminal-based text editor with IDE-like features | 27 | 1 | 2026-03-16 | 2026-03-16 | Apache-2.0 | ✓ | - | [link](https://github.com/Adarsh-codesOP/Klein) | -| moltbook-tui | TUI client for Moltbook, the social network for AI Agents | 27 | 1 | 2026-02-03 | 2026-02-03 | MIT | ✓ | - | [link](https://terminaltrove.com/moltbook-tui/) | -| ssl-checker | Fast and beautiful program to check all your https endpoints | 27 | 4 | 2025-04-16 | 2023-06-19 | MIT | ✓ | - | [link](https://github.com/fabio42/ssl-checker) | -| xcpkg | Package builder for Xcode projects in C, C++, Rust, Zig, Go,... | 27 | 4 | 2026-02-12 | 2026-02-03 | Apache-2.0 | ✓ | - | [link](https://github.com/leleliu008/xcpkg) | -| yew-fmt | Code formatter for the Yew framework | 27 | 3 | 2025-07-16 | 2025-07-16 | MIT | ✓ | - | [link](https://github.com/its-the-shrimp/yew-fmt) | -| cocainate | Cross-platform caffeinate alternative | 26 | - | 2026-02-11 | 2024-10-21 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/AppleGamer22/cocainate) | -| dustoff | Find and remove JS/TS build artifacts wasting disk space | 26 | 1 | 2026-03-06 | 2026-03-04 | MIT | ✓ | - | [link](https://github.com/westpoint-io/dustoff) | -| mcp-manager | Manage Model Context Protocol servers across local clients | 25 | 3 | 2025-04-23 | 2025-04-23 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/nstebbins/mcp-manager) | -| mmemoji | Custom Emoji manager command-line for Mattermost | 25 | 4 | 2026-02-13 | 2025-11-29 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/maxbrunet/mmemoji) | -| newsnow-mcp-server | MCP server for NewsNow | 25 | 12 | 2025-12-19 | 2025-08-20 | MIT | ✓ | - | [link](https://github.com/ourongxing/newsnow-mcp-server) | -| zombie | Terminal-based process manager with topology and controls | 25 | 1 | 2026-01-25 | 2026-01-24 | MIT | ✓ | - | [link](https://github.com/NVSRahul/zombie) | -| b4n | Terminal user interface (TUI) for Kubernetes API | 24 | 1 | 2026-02-15 | 2026-02-15 | MIT | ✓ | - | [link](https://github.com/fioletoven/b4n) | -| cueimports | Updates your import lines, adding missing ones and removing ... | 24 | 2 | 2025-02-10 | 2022-09-20 | MIT | ✓ | - | [link](https://github.com/asdine/cueimports) | -| lazykiq | Rich terminal UI for Sidekiq | 24 | 1 | 2026-03-02 | 2026-01-21 | MIT | ✓ | - | [link](https://kpumuk.github.io/lazykiq/) | -| paq | Fast Hashing of File or Directory | 24 | 3 | 2026-02-16 | 2025-12-29 | MIT | ✓ | - | [link](https://github.com/gregl83/paq) | -| auox | Terminal banking application for SpareBank 1 customers | 23 | 3 | 2026-02-06 | - | MIT | ✓ | - | [link](https://github.com/sverrejb/auox) | -| envdiff | Tool to snapshot and diff environments | 23 | - | 2026-02-23 | 2026-01-18 | MIT | ✓ | - | [link](https://github.com/GBerghoff/envdiff) | -| gitact | Explore GitHub profiles, repositories, and activity from the... | 23 | - | 2025-08-29 | 2025-08-29 | MIT | ✓ | - | [link](https://github.com/nathbns/gitact) | -| better-env | Secure, Developer-Friendly Alternative to .env | 22 | 1 | 2025-11-23 | 2025-11-18 | MIT | ✓ | - | [link](https://better-env.dev/docs) | -| mfa | Generate TOTP(Time-based One-time Password) token with CLI | 22 | - | 2026-01-26 | 2025-12-31 | MIT | ✓ | - | [link](https://github.com/k-saiki/mfa) | -| rendy | Terminal-based ASCII renderer for 3D models | 22 | - | 2026-01-13 | - | MIT | ✓ | - | [link](https://github.com/tokyohardrock/rendy) | -| renux | Terminal-based bulk file renamer with a TUI | 22 | - | 2026-02-10 | - | MIT | ✓ | - | [link](https://github.com/andrianllmm/renux) | -| tofuref | TUI for OpenTofu provider registry | 22 | 1 | 2026-03-16 | 2026-01-19 | MIT | ✓ | - | [link](https://github.com/djetelina/tofuref) | -| wolfpack | Mobile and desktop command center for controlling AI coding ... | 22 | 6 | 2026-04-06 | 2026-03-24 | MIT | ✓ | - | [link](https://github.com/almogdepaz/wolfpack) | -| cohctl | CLI for Coherence clusters | 21 | 8 | 2026-02-14 | 2026-02-08 | UPL-1.0 | ✓ | - | [link](https://followtheprocess.github.io/spok/) | -| jiggy | Minimalistic cross-platform mouse jiggler written in Rust | 21 | - | 2026-02-13 | 2026-02-03 | MIT | ✓ | - | [link](https://0xdeadbeef.info/) | -| opensnitch-tui | TUI for OpenSnitch | 21 | 2 | 2025-12-18 | 2025-12-18 | GPL-3.0-only | ✓ | - | [link](https://github.com/amalbansode/opensnitch-tui) | -| pluqqy | Terminal-based context management for AI driven development | 21 | 2 | 2025-10-03 | 2025-10-03 | MIT | ✓ | - | [link](https://pluqqy.com/) | -| tftargets | Analyze Terraform configs to find directories affected by Gi... | 21 | 1 | 2026-02-12 | 2025-10-15 | MIT | ✓ | - | [link](https://github.com/takaishi/tftargets) | -| crlfmt | Formatter for CockroachDB's additions to the Go style guide | 20 | 14 | 2024-08-07 | 2024-08-07 | Apache-2.0 | ✓ | - | [link](https://github.com/cockroachdb/crlfmt) | -| kube-role-gen | Generate a Kubernetes role containing all resources availabl... | 20 | 7 | 2025-08-17 | 2023-10-11 | Apache-2.0 | ✓ | - | [link](https://github.com/coopernetes/kube-role-gen) | -| needs | Checks if bin(s) are installed, oh and the version too | 20 | - | 2026-01-19 | 2025-12-04 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/NQMVD/needs) | -| taskonaut | Interactive CLI tool for exec into AWS ECS tasks | 20 | 1 | 2026-02-16 | 2025-11-24 | MIT | ✓ | - | [link](https://github.com/SchematicHQ/taskonaut) | -| omp-manager | TUI manager for Oh My Posh themes, fonts, and shell setup | 19 | - | 2026-03-04 | 2026-03-03 | MIT | ✓ | - | [link](https://github.com/marlocarlo/omp-manager) | -| proto2yaml | Export Protocol Buffers (proto) files to YAML and JSON | 19 | 2 | 2024-04-25 | 2024-01-16 | MIT | ✓ | - | [link](https://github.com/krzko/proto2yaml) | -| seamstress | Art engine and batteries-included Lua runtime | 19 | 1 | 2025-05-08 | - | MIT | ✓ | - | [link](https://alanza.xyz/) | -| surgeon | Surgically modify a fork | 19 | - | 2025-06-03 | 2025-04-14 | MIT | ✓ | - | [link](https://github.com/bketelsen/surgeon) | -| token-cli | CLI to interact with OAuth2 infrastructure to generate token... | 19 | 2 | 2022-10-26 | 2021-09-04 | Apache-2.0 | ✓ | ✓ | [link](https://github.com/imduffy15/token-cli) | -| cc-enhanced | Unofficial terminal dashboard for Claude Code usage analytic... | 18 | 4 | 2025-07-23 | 2025-07-23 | GPL-3.0-or-later | ✓ | - | [link](https://github.com/melonicecream/cc-enhanced) | -| e2c | TUI application for managing AWS EC2 instances | 18 | 2 | 2026-02-11 | 2025-09-10 | Apache-2.0 | ✓ | - | [link](https://github.com/nlamirault/e2c) | -| locport | Manage local ports across projects | 18 | - | 2026-02-15 | - | MIT | ✓ | - | [link](https://github.com/klevo/locport) | -| pixeli | Merge images into customizable grid layouts | 18 | 1 | 2026-01-18 | - | MIT | ✓ | - | [link](https://github.com/pakdad-mousavi/pixeli) | -| urlsup | CLI to validate URLs in files | 18 | 1 | 2025-08-10 | - | MIT | ✓ | - | [link](https://github.com/simeg/urlsup) | -| brighterscript-formatter | Code formatter for BrighterScript (and BrightScript) | 17 | 9 | 2026-01-22 | 2025-10-31 | MIT | ✓ | - | [link](https://github.com/rokucommunity/brighterscript-formatter) | -| fli | CLI for AWS VPC Flow Logs analysis | 17 | - | 2025-08-08 | 2025-07-08 | Apache-2.0 | ✓ | - | [link](https://github.com/fractalops/fli) | -| konfigo | Merge and transform configuration files across multiple form... | 17 | - | 2026-03-16 | 2026-02-25 | MIT | ✓ | - | [link](https://github.com/ebogdum/konfigo) | -| az-tui | TUI for Azure resources | 16 | - | 2025-08-15 | 2025-08-11 | MIT | ✓ | - | [link](https://github.com/IAL32/az-tui) | -| cdx | Use Codex more easily, even away from your desk | 16 | 1 | 2026-03-20 | 2026-03-20 | Apache-2.0 | ✓ | - | [link](https://github.com/ezpzai/cdx) | -| ctxmv | Migrate conversation sessions between AI coding agents | 16 | - | 2026-03-22 | 2026-03-22 | MIT | ✓ | - | [link](https://github.com/Ryu0118/ctxmv) | -| mln | Modern replacement for `ln` | 16 | - | 2020-03-02 | 2020-02-20 | MIT | ✓ | - | [link](https://github.com/tkmru/mln) | -| codefmt | Markdown code block formatter | 15 | - | 2025-09-01 | 2025-09-01 | MIT | ✓ | - | [link](https://github.com/1nwf/codefmt) | -| defaults-rs | Open-source interface to a user's defaults on macOS | 15 | - | 2025-12-21 | 2025-12-21 | MIT | ✓ | - | [link](https://github.com/machlit/defaults-rs) | -| giq | Git CLI with AI-powered commit messages and insights | 15 | - | 2025-03-19 | 2025-02-06 | MIT | ✓ | - | [link](https://github.com/doganarif/giq) | -| gitman | TUI for creating and managing git repositories | 15 | 3 | 2025-04-06 | 2025-02-18 | Apache-2.0 | ✓ | - | [link](https://github.com/pyrod3v/gitman) | -| rabbitmq-message-ops | CLI tool for RabbitMQ message management | 15 | - | 2025-01-25 | 2025-01-21 | MIT | ✓ | - | [link](https://github.com/happening-oss/rabbitmq-message-ops) | -| spok | Lightweight build system and command runner | 15 | - | 2026-02-13 | 2025-08-20 | Apache-2.0 | ✓ | ✓ | [link](https://followtheprocess.github.io/spok/) | -| bsky-cli | Command-line client for Bluesky | 14 | - | 2026-03-15 | 2026-03-15 | MIT | ✓ | - | [link](https://github.com/harveyrandall/bsky-cli) | -| pitaya | Orchestrator of AI coding agents with pluggable and custom s... | 14 | 1 | 2025-12-16 | 2025-09-26 | MIT | ✓ | - | [link](https://github.com/tact-lang/pitaya) | -| sbomlyze | SBOM diff and analysis tool for software supply-chain securi... | 14 | 1 | 2026-02-20 | 2026-02-18 | Apache-2.0 | ✓ | - | [link](https://rezmoss.github.io/sbomlyze/) | -| swagger-mcp-server | MCP server for Swagger/OpenAPI endpoints | 14 | 4 | 2025-06-16 | - | MIT | ✓ | - | [link](https://github.com/gulbaki/swagger-mcp-server) | -| zu | Minimalist key-value DB with disk persistence and in-memory ... | 14 | - | 2026-02-10 | 2025-08-27 | BSD-2-Clause | ✓ | - | [link](https://github.com/539hex/zu) | -| aic | Fetch the latest changelogs for popular AI coding assistants | 13 | - | 2026-02-15 | 2026-02-15 | MIT | ✓ | - | [link](https://github.com/arimxyer/aic) | -| chalet | Containerize your dev environments | 13 | 1 | 2024-07-08 | 2024-06-25 | MIT | ✓ | - | [link](https://github.com/chalet-dev/chalet) | -| ecscope | Monitor AWS ECS resources from the terminal | 13 | - | 2026-02-15 | 2025-07-15 | MIT | ✓ | - | [link](https://tools.dhruvs.space/ecscope/) | -| pr-desc-cli | AI-powered PR description generator | 13 | 1 | 2024-07-08 | 2024-06-25 | MIT | ✓ | - | [link](https://github.com/chalet-dev/chalet) | -| ymp | Browse and play YouTube audio from the terminal | 13 | 2 | 2026-03-14 | 2026-02-03 | MIT | ✓ | - | [link](https://github.com/trap251/ymp) | -| zero | ZeroSSL Certificate Manager - Automated SSL/TLS certificate ... | 13 | - | 2025-11-20 | 2025-04-08 | MIT | ✓ | - | [link](https://github.com/yarlson/zero) | -| deadbranch | Clean up stale git branches safely | 12 | 2 | 2026-02-07 | 2026-02-07 | MIT | ✓ | - | [link](https://github.com/armgabrielyan/deadbranch) | -| httpreplay | Replay HTTP requests from a tape file | 12 | 1 | 2025-10-27 | 2025-10-27 | MIT | ✓ | - | [link](https://github.com/roy2220/httpreplay) | -| junit2html | Convert junit.xml into gorgeous HTML reports | 12 | 10 | 2025-11-18 | 2025-11-18 | MIT | ✓ | - | [link](https://github.com/kitproj/junit2html) | -| nosy | CLI to summarize various types of content | 12 | - | 2026-01-29 | 2026-01-28 | MIT | ✓ | - | [link](https://github.com/ynqa/nosy) | -| polymaster | Monitor large transactions on Polymarket and Kalshi predicti... | 12 | 4 | 2026-02-13 | - | - | ✓ | - | [link](https://github.com/neur0map/polymaster) | -| r2md | Entire codebase to single markdown or pdf file | 12 | 2 | 2025-03-02 | 2025-02-24 | Apache-2.0 | ✓ | - | [link](https://github.com/skirdey-inflection/r2md) | -| tooka | CLI for the Tooka engine | 12 | - | 2026-02-16 | 2025-10-06 | GPL-3.0-only | ✓ | - | [link](https://github.com/tooka-org/tooka) | -| envtrace | Trace where environment variables are defined and modified | 11 | 1 | 2026-02-20 | 2026-02-20 | MIT | ✓ | - | [link](https://github.com/FlerAlex/envtrace) | -| gignr | Effortlessly Manage and Generate .gitignore files | 11 | - | 2026-02-16 | 2025-02-16 | MIT | ✓ | - | [link](https://github.com/jasonuc/gignr) | -| pikpaktui | TUI and CLI client for PikPak cloud storage | 11 | - | 2026-03-15 | 2026-03-14 | Apache-2.0 | ✓ | - | [link](https://github.com/Bengerthelorf/pikpaktui) | -| rum | TUI to list, search and run package.json scripts | 11 | - | 2026-01-26 | 2026-01-25 | MIT | ✓ | - | [link](https://github.com/thekarel/rum) | -| git-x | CLI extensions for Git that simplify common workflows | 10 | - | 2025-12-05 | - | MIT | ✓ | - | [link](https://github.com/simeg/git-x) | -| htvend | Accelerate your Python functions with cloud GPUs | 10 | - | 2026-02-10 | - | Apache-2.0 | ✓ | - | [link](https://github.com/continusec/htvend) | -| jonquil | JSON parser on top of TOML implementation (Fortran) | 10 | 6 | 2026-02-06 | 2025-05-18 | - | ✓ | - | [link](https://github.com/toml-f/jonquil) | -| omni-cache | Sidecar for your caching needs in CI | 10 | - | 2026-02-18 | 2026-02-15 | Apache-2.0 | ✓ | - | [link](https://github.com/cirruslabs/omni-cache) | -| psq | Lightweight postgres monitor for the terminal | 10 | 1 | 2026-02-15 | 2026-02-15 | Apache-2.0 | ✓ | - | [link](https://github.com/benjaminsanborn/psq) | -| drft | Diff re/viewer, file tree | 9 | - | 2025-01-13 | - | BSD-3-Clause | ✓ | - | [link](https://codeberg.org/nightsail/drft) | -| hardcover-tui | Terminal UI client for Hardcover.app | 9 | - | 2026-02-26 | 2026-02-26 | AGPL-3.0-only | ✓ | - | [link](https://github.com/NotMugil/hardcover-tui) | -| macime | Blazingly fast IME switcher for macOS | 9 | - | 2026-02-21 | - | MIT | ✓ | - | [link](https://github.com/riodelphino/macime) | -| repology | Command-line interface for Repology.org | 9 | 1 | 2026-01-16 | 2025-02-11 | ISC | ✓ | - | [link](https://github.com/ibara/repology) | -| hcldump | Dump the HCL(v2) abstract syntax tree | 8 | 1 | 2021-12-27 | - | - | ✓ | - | [link](https://github.com/magodo/hcldump) | -| mtef | CLI for deploying and managing mcp-tef | 8 | - | 2026-02-21 | 2025-12-13 | Apache-2.0 | ✓ | - | [link](https://github.com/StacklokLabs/mcp-tef/tree/main/cli) | -| ccboard | Unified Claude Code management dashboard for TUI and web | 7 | - | 2026-02-18 | 2026-02-18 | - | ✓ | - | [link](https://github.com/FlorianBruniaux/ccboard) | -| frep | Fast find-and-replace CLI | 7 | - | 2025-12-08 | 2025-09-01 | MIT | ✓ | - | [link](https://github.com/thomasschafer/frep) | -| raiz | Simply CLI Requirements management tool | 7 | - | 2025-08-09 | - | Apache-2.0 | ✓ | - | [link](https://github.com/daleonpz/raiz) | -| catree | Recursively display file contents from directories | 6 | - | 2026-01-03 | 2026-01-03 | MIT | ✓ | - | [link](https://github.com/luislve17/catree) | -| codstts | Code statistics tool for analyzing project language distribu... | 6 | 1 | 2025-01-27 | 2025-01-26 | MIT | ✓ | - | [link](https://github.com/zheng0116/codstts) | -| dominds | AI-driven DevOps framework with persistent memory | 6 | 1 | 2026-02-14 | - | LGPL-3.0-or-later | ✓ | - | [link](https://github.com/longrun-ai/dominds) | -| ip2d | Converter for IP addresses | 6 | 4 | 2026-02-16 | 2024-10-11 | MIT | ✓ | - | [link](https://github.com/0xflotus/ip2d-rust) | -| que | Pipe-able DevOps assistant | 6 | 1 | 2025-11-21 | 2025-11-20 | MIT | ✓ | - | [link](https://github.com/njenia/que) | -| relay | Simple tunneling with random 3-word subdomains; a self-hoste... | 6 | - | 2025-11-08 | - | MIT | ✓ | - | [link](https://github.com/talyuk/relay) | -| vento | Lightweight CLI Tool for File Transfer | 6 | - | 2025-07-01 | 2025-07-01 | MIT | ✓ | - | [link](https://github.com/kyotalab/vento) | -| bash-script-tools | Web-based bash script formatter and linter with AI-powered a... | 5 | - | 2025-11-09 | 2025-11-09 | MIT | ✓ | - | [link](https://github.com/overflowy/bash-script-tools) | -| holo-cli | CLI for holo | 5 | 10 | 2026-01-16 | - | MIT | ✓ | - | [link](https://github.com/holo-routing/holo-cli) | -| pmx | Manage and switch between AI agent profiles across different... | 5 | - | 2025-10-10 | - | MIT | ✓ | - | [link](https://github.com/NishantJoshi00/pmx) | -| sls | Fuzzy CLI selector for SSH config hosts | 5 | 1 | 2026-01-25 | 2026-01-25 | MIT | ✓ | - | [link](https://github.com/JinmuGo/sls) | -| ctxhist | Context-aware shell history extension for Bash and Zsh | 4 | 1 | 2025-03-30 | 2025-03-30 | MIT | ✓ | - | [link](https://github.com/nakkiy/ctxhist) | -| nkv | Share your state between services using persisted key value ... | 4 | 1 | 2025-11-14 | 2025-10-14 | Apache-2.0 | ✓ | - | [link](https://github.com/nkval/nkv) | -| ccql | Claude Code Query Language | 3 | - | 2025-12-23 | 2025-12-23 | MIT | ✓ | - | [link](https://github.com/douglance/ccql) | -| envtpl | Render Go templates on the command-line with shell environme... | 3 | 1 | 2026-02-11 | 2025-11-08 | MIT | ✓ | - | [link](https://github.com/chenrui333/envtpl) | -| gh-unpushed | GitHub CLI extension that shows your unpushed Git commits | 3 | - | 2025-04-15 | 2025-04-15 | MIT | ✓ | - | [link](https://github.com/achoreim/gh-unpushed) | -| captan | Lightweight, hackable CLI tool for managing startup cap tabl... | 2 | - | 2025-08-22 | 2025-08-22 | MIT | ✓ | - | [link](https://github.com/acossta/captan) | -| creanote | Create organized notes from the terminal | 2 | - | 2025-12-06 | 2025-10-08 | MIT | ✓ | - | [link](https://github.com/elitalpa/creanote) | -| projscan | Instant codebase insights for any repository | 2 | - | 2026-03-12 | 2026-03-11 | MIT | ✓ | - | [link](https://github.com/abhiyoheswaran1/projscan) | -| hyperbolic | Command-line interface for creating and managing GPU instanc... | 1 | - | 2025-08-07 | 2025-08-07 | MIT | ✓ | - | [link](https://github.com/HyperbolicLabs/hyperbolic-cli) | -| tars | Local-first autonomous AI supervisor and sidekick powered by... | 1 | - | 2026-04-01 | 2026-03-29 | MIT | ✓ | - | [link](https://github.com/agustinsacco/tars) | -| terradozer | Terraform destroy using state only with no *.tf files needed | 1 | - | 2026-02-26 | 2026-02-26 | MIT | ✓ | - | [link](https://github.com/chenrui333/terradozer) | -| amp-cli | Coding agent for your terminal and editor, built by Sourcegr... | - | - | - | - | - | ✓ | - | [link](https://ampcode.com/) | -| apify-actors-mcp-server | MCP server for Apify | - | - | - | - | MIT | ✓ | - | [link](https://docs.apify.com/platform/integrations/mcp) | -| auggie | All the power of Augment Code in your terminal | - | - | - | - | - | ✓ | - | [link](https://www.augmentcode.com/product/CLI) | -| balcony | Read any AWS resource and generate Terraform code | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://oguzhan-yilmaz.github.io/balcony/) | -| blue | Slightly less uncompromising Python code formatter | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://blue.readthedocs.io/en/latest/) | -| brunette | Best practice Python code formatter | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://github.com/ODwyerSoftware/brunette) | -| cccc | Local-first multi-agent collaboration kernel | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://chesterra.github.io/cccc/) | -| clawra | Add selfie superpowers to your OpenClaw agent | - | - | - | - | MIT | ✓ | - | [link](https://www.clawra.dev) | -| cobib | CLI/TUI logo designer with ANSI fonts, gradients, shadows, a... | - | - | - | - | MIT | ✓ | - | [link](https://cobib.gitlab.io/cobib/cobib.html) | -| code-pushup | CLI to run all kinds of code quality measurements | - | - | - | - | MIT | ✓ | - | [link](https://code-pushup.dev/) | -| codebuff | Generate code from the terminal | - | - | - | - | MIT | ✓ | - | [link](https://www.codebuff.com/) | -| codemachine | CLI-native orchestration engine for autonomous coding workfl... | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://codemachine.co/) | -| context-file-manager | File management CLI tool for your prompts and context | - | - | - | - | MIT | ✓ | - | [link](https://docs.nhost.io/platform/cli/overview#cli-overview) | -| cross-seed | Fully-automatic cross-seeding with Torznab | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://www.cross-seed.org/) | -| curlconverter | Transpile curl commands into Python, JavaScript and 27 other... | - | - | - | - | MIT | ✓ | - | [link](https://curlconverter.com/) | -| dakora | Manage and hot-reload prompts with typed inputs and zero-dep... | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://dakora.io/) | -| debugg-ai-mcp | MCP Server for Debugg AI | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://debugg.ai/) | -| dg | Self-testing CLI documentation tool that generates interacti... | - | - | - | - | MIT | ✓ | - | [link](https://deepguide.ai/) | -| dhv | Tool to dive into Python code | - | - | - | - | GPL-3.0-or-later | ✓ | - | [link](https://dhv.davep.dev/) | -| doit | CLI task management & automation tool | - | - | - | - | MIT | ✓ | - | [link](https://pydoit.org/) | -| dory-cli | Lightweight static site generator for technical documentatio... | - | - | - | - | MIT | ✓ | - | [link](https://docucod.com/) | -| dtop | High-performance TUI for Docker container management | - | - | - | - | MIT | ✓ | - | [link](https://stakesquid.com/) | -| eas-cli | Fastest way to build, submit, and update iOS and Android app... | - | - | - | - | MIT | ✓ | - | [link](https://docs.expo.dev/eas/) | -| emoj | Find relevant emoji from text on the command-line | - | - | - | - | MIT | ✓ | - | [link](https://github.com/yeoman/emoj) | -| fast-xml-parser | Validate XML, Parse XML and Build XML rapidly | - | - | - | - | MIT | ✓ | - | [link](https://naturalintelligence.github.io/fast-xml-parser/) | -| foy | Simple, light-weight and modern task runner for general purp... | - | - | - | - | MIT | ✓ | - | [link](https://zaaack.github.io/foy/) | -| fsociety | Modular Penetration Testing Framework | - | - | - | - | MIT | ✓ | - | [link](https://fsociety.dev/) | -| gitlabform | Specialized configuration as a code tool for GitLab | - | - | - | - | MIT | ✓ | - | [link](https://gitlabform.github.io/gitlabform/) | -| graphlit-mcp-server | Cloudflare MCP Server | - | - | - | - | MIT | ✓ | - | [link](https://www.graphlit.com/) | -| gtts | CLI tool to interface with Google Translate's text-to-speech... | - | - | - | - | MIT | ✓ | - | [link](https://gtts.readthedocs.io/en/latest/) | -| happy | Mobile and Web client for Claude Code and Codex | - | - | - | - | MIT | ✓ | - | [link](https://happy.engineering) | -| hello | Program providing model for GNU coding standards and practic... | - | - | - | - | GPL-3.0-or-later | ✓ | - | [link](https://www.gnu.org/software/hello/) | -| heyagent | Claude Code notifications | - | - | - | - | MIT | ✓ | - | [link](https://www.heyagent.dev/) | -| iam-convert | Convert JSON IAM Policies to other formats | - | - | - | - | AGPL-3.0-only | ✓ | - | [link](https://iam.cloudcopilot.io/tools/iam-convert) | -| iam-expand | Expand IAM Actions with Wildcards | - | - | - | - | AGPL-3.0-or-later | ✓ | - | [link](https://iam.cloudcopilot.io/tools/iam-expand) | -| iam-shrink | Make AWS IAM policies smaller by adding wildcards to actions | - | - | - | - | AGPL-3.0-or-later | ✓ | - | [link](https://iam.cloudcopilot.io/tools/iam-shrink) | -| iflow-cli | AI assistant that runs directly in your terminal | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://cli.iflow.cn/) | -| ifstate | Manage host interface settings in a declarative manner | - | - | - | - | MIT | ✓ | - | [link](https://ifstate.net) | -| jocalsend | Rust terminal client for Localsend | - | - | - | - | - | ✓ | - | [link](https://git.kittencollective.com/nebkor/joecalsend) | -| jotbird | Publish Markdown from the command-line | - | - | 2026-02-14 | 2026-02-14 | MIT | ✓ | - | [link](https://www.jotbird.com/cli) | -| jules | Asynchronous coding agent from Google, in the terminal | - | - | - | - | - | ✓ | - | [link](https://jules.google/docs) | -| kafka | Open-source distributed event streaming platform | - | - | - | - | Apache-2.0 | ✓ | ✓ | [link](https://kafka.apache.org/) | -| kaluma-cli | CLI to program devices and boards running Kaluma runtime | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://kalumajs.org/) | -| kandc | Accelerate your Python functions with cloud GPUs | - | - | - | - | MIT | ✓ | - | [link](https://github.com/Herdora/chisel) | -| knip | Declutter your JavaScript & TypeScript projects | - | - | - | - | ISC | ✓ | - | [link](https://knip.dev/) | -| lemonade | Your LLM Aide for Validation and Deployment | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://lemonade-server.ai/) | -| lin | Lazy I18N | - | - | - | - | MIT | ✓ | - | [link](https://lin.rettend.me/) | -| magic-mcp-server | 21st.dev Magic AI Agent | - | - | - | - | ISC | ✓ | - | [link](https://21st.dev/magic) | -| mcp-server-airbnb | Search Airbnb using your AI Agent | - | - | - | - | MIT | ✓ | - | [link](https://www.openbnb.org/) | -| mcp-use | CLI for mcp-use | - | - | - | - | MIT | ✓ | - | [link](https://mcp-use.com/) | -| molotov | Load Testing Tool | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://molotov.readthedocs.io/en/stable/) | -| nest-cli | CLI tool for Nest applications | - | - | - | - | MIT | ✓ | - | [link](https://nestjs.com/) | -| npkill | Easily find and remove old and heavy node_modules folders | - | - | - | - | MIT | ✓ | - | [link](https://npkill.js.org) | -| offpunk | Offline-first Gemini, Web, Gopher, and RSS terminal browser | - | - | - | - | AGPL-3.0-or-later | ✓ | - | [link](https://offpunk.net/) | -| osintui | Open Source Intelligence Terminal User Interface | - | - | - | - | MIT | ✓ | - | [link](https://docs.rs/crate/osintui/latest) | -| pdfsyntax | Python library & tool to inspect and modify PDF internals | - | - | - | - | MIT | ✓ | - | [link](https://pdfsyntax.dev/) | -| pinme | Deploy Your Frontend in a Single Command | - | - | - | - | MIT | ✓ | - | [link](https://pinme.eth.limo/) | -| pixelle | Open-Source Multimodal AIGC Solution based on ComfyUI + MCP ... | - | - | - | - | MIT | ✓ | - | [link](https://pixelle.ai/) | -| prpm | Universal registry for AI coding tools | - | - | - | - | MIT | ✓ | - | [link](https://prpm.dev/) | -| public-ollama-finder | Discover and enumerate public Ollama LLM servers with detail... | - | - | - | - | MIT | ✓ | - | [link](https://github.com/zonay/public-ollama-finder) | -| rallies-cli | Stock Analysis Agent | - | - | - | - | GPL-3.0-or-later | ✓ | - | [link](https://rallies.ai/) | -| readmeai | README file generator, powered by AI | - | - | - | - | MIT | ✓ | - | [link](https://eli64s.github.io/readme-ai/) | -| remark-cli | CLI to inspect and change markdown files with remark | - | - | - | - | MIT | ✓ | - | [link](https://remark.js.org/) | -| secco | Local package testing made easy | - | - | - | - | MIT | ✓ | - | [link](https://secco.lekoarts.de/) | -| sephera | Count, stat, and analyze your project | - | - | - | - | GPL-3.0-only | ✓ | - | [link](https://reim-developer.github.io/Sephera/) | -| shopify-cli | CLI which helps you build against the Shopify platform faste... | - | - | - | - | MIT | ✓ | - | [link](https://shopify.dev/) | -| specfact-cli | Reverse Engineer Legacy Python into Enforceable Contracts | - | - | - | - | Apache-2.0 | ✓ | - | [link](https://specfact.com/) | -| speedscope | Fast, interactive web-based viewer for performance profiles | - | - | - | - | MIT | ✓ | - | [link](https://www.speedscope.app/) | -| superclaude | AI-powered development toolkit | - | - | - | - | MIT | ✓ | - | [link](https://www.superclaude.sh/) | -| testronaut | Autonomous testing with OpenAI functions and browser automat... | - | - | - | - | MIT | ✓ | - | [link](https://testronaut.app/) | -| trieve-cli | CLI for interacting with the Trieve API | - | - | - | - | MIT | ✓ | - | [link](https://docs.trieve.ai/getting-started/introduction) | -| twilio-mcp-server | MCP server for Twilio | - | - | - | - | MIT | ✓ | - | [link](https://twilioalpha.com/mcp) | -| typeui-sh | Generate design-system skill markdown files for AI providers | - | - | - | - | MIT | ✓ | - | [link](https://www.typeui.sh) | -| usort | Safe, minimal import sorting for Python projects | - | - | - | - | MIT | ✓ | - | [link](https://usort.readthedocs.io/) | -| vibekit | Safety layer for your coding agent | - | - | - | - | MIT | ✓ | - | [link](https://www.vibekit.sh/) | -| vitepress | Is a Vue-powered static site generator | - | - | - | - | MIT | ✓ | - | [link](https://vitepress.dev/) | -| watchfiles | Simple, modern and high performance file watching and code r... | - | - | - | - | MIT | ✓ | - | [link](https://watchfiles.helpmanual.io/) | -| yr | Get the weather delivered to your command-line | - | - | - | - | GPL-3.0-only | ✓ | - | [link](https://git.sr.ht/~timharek/yr) | -| zig@0.11 | Programming language designed for robustness, optimality, an... | - | - | - | - | MIT | ✓ | ✓ | [link](https://ziglang.org/) | -| zig@0.12 | Programming language designed for robustness, optimality, an... | - | - | - | - | MIT | ✓ | ✓ | [link](https://ziglang.org/) | -| zig@0.13 | Programming language designed for robustness, optimality, an... | - | - | - | - | MIT | ✓ | ✓ | [link](https://ziglang.org/) | -| zookeeper | Centralized server for distributed coordination of services | - | - | - | - | Apache-2.0 | ✓ | ✓ | [link](https://zookeeper.apache.org/) | diff --git a/formula-status/generate_formula_status.py b/formula-status/generate_formula_status.py deleted file mode 100755 index 558e3f5cde..0000000000 --- a/formula-status/generate_formula_status.py +++ /dev/null @@ -1,565 +0,0 @@ -#!/usr/bin/env python3 -""" -Formula Metadata Crawler for Homebrew Tap - -Extracts formula metadata and fetches git hosting stats from: -- GitHub (via gh CLI) -- GitLab (via API) -- Codeberg (via Forgejo API) -- SourceHut (limited support) - -Pure git hosting metadata - no brew checks. -""" - -import argparse -import json -import re -import subprocess -import sys -from concurrent.futures import ThreadPoolExecutor, as_completed -from dataclasses import dataclass -from datetime import datetime -from pathlib import Path -from typing import Dict, List, Optional - - -@dataclass -class GitStats: - """Git hosting statistics (GitHub/GitLab/Codeberg)""" - stars: Optional[int] = None - forks: Optional[int] = None - last_commit: Optional[str] = None # YYYY-MM-DD - last_release: Optional[str] = None # YYYY-MM-DD - hosting: str = "" # github, gitlab, codeberg, other - - -@dataclass -class FormulaInfo: - """Formula metadata and git stats""" - name: str - desc: str = "" - homepage: str = "" - url: str = "" - license: str = "" - has_bottle: bool = False - has_livecheck: bool = False - git_stats: GitStats = None - - def __post_init__(self): - if self.git_stats is None: - self.git_stats = GitStats() - - -class FormulaCrawler: - """Crawl formulas for metadata and git hosting stats""" - - def __init__(self, workers: int = 20, verbose: bool = False, refresh_cache: bool = False): - self.workers = workers - self.verbose = verbose - self.refresh_cache = refresh_cache - self.cache_file = Path(".cache/formula_metadata.json") - self.cache: Dict = {} - self._load_cache() - - def log(self, msg: str): - """Print log message if verbose""" - if self.verbose: - timestamp = datetime.now().strftime("%H:%M:%S") - print(f"[{timestamp}] {msg}", flush=True) - - def _load_cache(self): - """Load git stats cache""" - if not self.refresh_cache and self.cache_file.exists(): - try: - with open(self.cache_file, 'r') as f: - self.cache = json.load(f) - print(f"Loaded cache from {self.cache_file}", flush=True) - except Exception as e: - print(f"Warning: Failed to load cache: {e}", flush=True) - self.cache = {} - - def _save_cache(self): - """Save git stats cache""" - self.cache_file.parent.mkdir(parents=True, exist_ok=True) - try: - # Keep cache output deterministic for stable diffs across runs. - normalized_cache = { - cache_key: { - "forks": (self.cache.get(cache_key) or {}).get("forks"), - "last_commit": (self.cache.get(cache_key) or {}).get("last_commit"), - "last_release": (self.cache.get(cache_key) or {}).get("last_release"), - "stars": (self.cache.get(cache_key) or {}).get("stars"), - } - for cache_key in sorted(self.cache) - } - with open(self.cache_file, 'w') as f: - json.dump(normalized_cache, f, indent=2, sort_keys=True) - f.write("\n") - print(f"Saved cache to {self.cache_file}", flush=True) - except Exception as e: - print(f"Warning: Failed to save cache: {e}", flush=True) - - def find_formulas(self) -> List[Path]: - """Find all formula files""" - formula_dir = Path("Formula") - if not formula_dir.exists(): - return [] - - formulas = [] - for letter_dir in sorted(formula_dir.iterdir()): - if letter_dir.is_dir(): - formulas.extend(sorted(letter_dir.glob("*.rb"))) - - # Also check root Formula/ directory - formulas.extend(sorted(formula_dir.glob("*.rb"))) - - return sorted(set(formulas)) - - def extract_metadata(self, formula_path: Path) -> Dict: - """Extract metadata from formula file""" - metadata = { - "desc": "", - "homepage": "", - "url": "", - "license": "", - "has_bottle": False, - "has_livecheck": False, - } - - try: - with open(formula_path, 'r') as f: - content = f.read() - - # Extract fields - if match := re.search(r'desc\s+"([^"]+)"', content): - metadata["desc"] = match.group(1) - if match := re.search(r'homepage\s+"([^"]+)"', content): - metadata["homepage"] = match.group(1) - if match := re.search(r'url\s+"([^"]+)"', content): - metadata["url"] = match.group(1) - if match := re.search(r'license\s+"([^"]+)"', content): - metadata["license"] = match.group(1) - - metadata["has_bottle"] = "bottle do" in content - metadata["has_livecheck"] = "livecheck do" in content - - except Exception as e: - self.log(f"Error extracting metadata from {formula_path}: {e}") - - return metadata - - def infer_git_repo(self, homepage: str, url: str) -> Optional[tuple]: - """Infer git repo (hosting, owner, repo) from homepage or url""" - for link in [homepage, url]: - if not link: - continue - - # GitHub - if match := re.search(r'github\.com[/:]([^/]+)/([^/\s.]+)', link): - owner, repo = match.groups() - repo = repo.replace('.git', '') - return ("github", owner, repo) - - # GitLab - if match := re.search(r'gitlab\.com[/:]([^/]+)/([^/\s.]+)', link): - owner, repo = match.groups() - repo = repo.replace('.git', '') - return ("gitlab", owner, repo) - - # Codeberg - if match := re.search(r'codeberg\.org[/:]([^/]+)/([^/\s.]+)', link): - owner, repo = match.groups() - repo = repo.replace('.git', '') - return ("codeberg", owner, repo) - - # SourceHut - if match := re.search(r'git\.sr\.ht[/:]~([^/]+)/([^/\s.]+)', link): - owner, repo = match.groups() - repo = repo.replace('.git', '') - return ("sourcehut", owner, repo) - - return None - - def fetch_github_stats(self, owner: str, repo: str) -> GitStats: - """Fetch GitHub stats using gh CLI""" - cache_key = f"github:{owner}/{repo}" - - if cache_key in self.cache: - cached = self.cache[cache_key] - return GitStats( - stars=cached.get("stars"), - forks=cached.get("forks"), - last_commit=cached.get("last_commit"), - last_release=cached.get("last_release"), - hosting="github" - ) - - stats = GitStats(hosting="github") - - try: - # Fetch repo info - result = subprocess.run( - ["gh", "repo", "view", f"{owner}/{repo}", "--json", "stargazerCount,forkCount,pushedAt"], - capture_output=True, - text=True, - timeout=10, - ) - - if result.returncode == 0: - data = json.loads(result.stdout) - stats.stars = data.get("stargazerCount") - stats.forks = data.get("forkCount") - - if pushed_at := data.get("pushedAt"): - stats.last_commit = pushed_at.split("T")[0] - - # Fetch latest release - result = subprocess.run( - ["gh", "release", "view", "--repo", f"{owner}/{repo}", "--json", "publishedAt"], - capture_output=True, - text=True, - timeout=10, - ) - - if result.returncode == 0: - data = json.loads(result.stdout) - if published_at := data.get("publishedAt"): - stats.last_release = published_at.split("T")[0] - - except Exception as e: - self.log(f"Error fetching GitHub stats for {owner}/{repo}: {e}") - - # Cache results - self.cache[cache_key] = { - "stars": stats.stars, - "forks": stats.forks, - "last_commit": stats.last_commit, - "last_release": stats.last_release, - } - - return stats - - def fetch_gitlab_stats(self, owner: str, repo: str) -> GitStats: - """Fetch GitLab stats using API""" - cache_key = f"gitlab:{owner}/{repo}" - - if cache_key in self.cache: - cached = self.cache[cache_key] - return GitStats( - stars=cached.get("stars"), - forks=cached.get("forks"), - last_commit=cached.get("last_commit"), - last_release=cached.get("last_release"), - hosting="gitlab" - ) - - stats = GitStats(hosting="gitlab") - - try: - # Fetch project info - result = subprocess.run( - ["curl", "-s", f"https://gitlab.com/api/v4/projects/{owner}%2F{repo}"], - capture_output=True, - text=True, - timeout=10, - ) - - if result.returncode == 0: - data = json.loads(result.stdout) - stats.stars = data.get("star_count") - stats.forks = data.get("forks_count") - - if last_activity := data.get("last_activity_at"): - stats.last_commit = last_activity.split("T")[0] - - # Fetch latest release - result = subprocess.run( - ["curl", "-s", f"https://gitlab.com/api/v4/projects/{owner}%2F{repo}/releases"], - capture_output=True, - text=True, - timeout=10, - ) - - if result.returncode == 0: - releases = json.loads(result.stdout) - if releases and len(releases) > 0: - stats.last_release = releases[0].get("released_at", "").split("T")[0] - - except Exception as e: - self.log(f"Error fetching GitLab stats for {owner}/{repo}: {e}") - - # Cache results - self.cache[cache_key] = { - "stars": stats.stars, - "forks": stats.forks, - "last_commit": stats.last_commit, - "last_release": stats.last_release, - } - - return stats - - def fetch_codeberg_stats(self, owner: str, repo: str) -> GitStats: - """Fetch Codeberg stats using Forgejo/Gitea API""" - cache_key = f"codeberg:{owner}/{repo}" - - if cache_key in self.cache: - cached = self.cache[cache_key] - return GitStats( - stars=cached.get("stars"), - forks=cached.get("forks"), - last_commit=cached.get("last_commit"), - last_release=cached.get("last_release"), - hosting="codeberg" - ) - - stats = GitStats(hosting="codeberg") - - try: - # Fetch repo info - result = subprocess.run( - ["curl", "-s", f"https://codeberg.org/api/v1/repos/{owner}/{repo}"], - capture_output=True, - text=True, - timeout=10, - ) - - if result.returncode == 0: - data = json.loads(result.stdout) - stats.stars = data.get("stars_count") - stats.forks = data.get("forks_count") - - if updated_at := data.get("updated_at"): - stats.last_commit = updated_at.split("T")[0] - - # Fetch latest release - result = subprocess.run( - ["curl", "-s", f"https://codeberg.org/api/v1/repos/{owner}/{repo}/releases"], - capture_output=True, - text=True, - timeout=10, - ) - - if result.returncode == 0: - releases = json.loads(result.stdout) - if releases and len(releases) > 0: - stats.last_release = releases[0].get("published_at", "").split("T")[0] - - except Exception as e: - self.log(f"Error fetching Codeberg stats for {owner}/{repo}: {e}") - - # Cache results - self.cache[cache_key] = { - "stars": stats.stars, - "forks": stats.forks, - "last_commit": stats.last_commit, - "last_release": stats.last_release, - } - - return stats - - def fetch_sourcehut_stats(self, owner: str, repo: str) -> GitStats: - """Fetch SourceHut stats using API""" - cache_key = f"sourcehut:{owner}/{repo}" - - if cache_key in self.cache: - cached = self.cache[cache_key] - return GitStats( - stars=cached.get("stars"), - forks=cached.get("forks"), - last_commit=cached.get("last_commit"), - last_release=cached.get("last_release"), - hosting="sourcehut" - ) - - stats = GitStats(hosting="sourcehut") - - try: - # SourceHut doesn't have a public API for repo stats like stars/forks - # We can at least try to fetch basic info - result = subprocess.run( - ["curl", "-s", f"https://git.sr.ht/~{owner}/{repo}"], - capture_output=True, - text=True, - timeout=10, - ) - - # SourceHut doesn't expose stars/forks in API, so we leave them as None - # We could scrape the HTML but that's fragile - - except Exception as e: - self.log(f"Error fetching SourceHut stats for ~{owner}/{repo}: {e}") - - # Cache results (even if mostly empty) - self.cache[cache_key] = { - "stars": stats.stars, - "forks": stats.forks, - "last_commit": stats.last_commit, - "last_release": stats.last_release, - } - - return stats - - def process_formula(self, formula_path: Path) -> FormulaInfo: - """Process single formula""" - formula_name = formula_path.stem - self.log(f"Processing {formula_name}") - - # Extract metadata - metadata = self.extract_metadata(formula_path) - - # Get git stats - git_stats = GitStats() - if repo_info := self.infer_git_repo(metadata["homepage"], metadata["url"]): - hosting, owner, repo = repo_info - - if hosting == "github": - git_stats = self.fetch_github_stats(owner, repo) - elif hosting == "gitlab": - git_stats = self.fetch_gitlab_stats(owner, repo) - elif hosting == "codeberg": - git_stats = self.fetch_codeberg_stats(owner, repo) - elif hosting == "sourcehut": - git_stats = self.fetch_sourcehut_stats(owner, repo) - - return FormulaInfo( - name=formula_name, - desc=metadata["desc"], - homepage=metadata["homepage"], - url=metadata["url"], - license=metadata["license"], - has_bottle=metadata["has_bottle"], - has_livecheck=metadata["has_livecheck"], - git_stats=git_stats, - ) - - def generate_report(self, formulas: List[FormulaInfo]) -> str: - """Generate Markdown report""" - timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S UTC") - - # Sort by stars (descending), then name - formulas.sort(key=lambda f: (-(f.git_stats.stars or 0), f.name)) - - lines = [ - "# Formula Metadata", - "", - f"Generated: {timestamp}", - f"Total formulas: {len(formulas)}", - "", - "## Formulas", - "", - "| Formula | Description | Stars | Forks | Last Commit | Last Release | License | Bottle | Livecheck | Homepage |", - "| ------- | ----------- | ----- | ----- | ----------- | ------------ | ------- | ------ | --------- | -------- |", - ] - - for formula in formulas: - desc = formula.desc[:60] + "..." if len(formula.desc) > 60 else formula.desc - row = [ - formula.name, - desc, - str(formula.git_stats.stars) if formula.git_stats.stars else "-", - str(formula.git_stats.forks) if formula.git_stats.forks else "-", - formula.git_stats.last_commit or "-", - formula.git_stats.last_release or "-", - formula.license or "-", - "✓" if formula.has_bottle else "-", - "✓" if formula.has_livecheck else "-", - f"[link]({formula.homepage})" if formula.homepage else "-", - ] - lines.append("| " + " | ".join(row) + " |") - - return "\n".join(lines) + "\n" - - def run(self, output_file: Path): - """Main execution""" - print("Formula Metadata Crawler", flush=True) - print(f"Workers: {self.workers}", flush=True) - print(flush=True) - - # Find formulas - formulas = self.find_formulas() - print(f"Found {len(formulas)} formulas", flush=True) - - if not formulas: - print("No formulas found!", flush=True) - return - - # Process formulas in parallel - results = [] - print(f"\nProcessing with {self.workers} parallel workers...", flush=True) - - with ThreadPoolExecutor(max_workers=self.workers) as executor: - future_to_formula = { - executor.submit(self.process_formula, fp): fp - for fp in formulas - } - - completed = 0 - for future in as_completed(future_to_formula): - formula_path = future_to_formula[future] - completed += 1 - - try: - result = future.result() - results.append(result) - print(f"[{completed}/{len(formulas)}] ✓ {result.name}", flush=True) - except Exception as e: - print(f"[{completed}/{len(formulas)}] ✗ {formula_path.stem}: {e}", flush=True) - - # Save cache - self._save_cache() - - # Generate report - report = self.generate_report(results) - - # Write output - output_file.write_text(report) - print(f"\nReport written to {output_file}", flush=True) - - -def main(): - parser = argparse.ArgumentParser( - description="Crawl formula metadata and git hosting stats" - ) - parser.add_argument( - "--output", - type=Path, - default=Path("formula-status.md"), - help="Output file (default: formula-status.md)", - ) - parser.add_argument( - "--workers", - type=int, - default=20, - help="Parallel workers (default: 20)", - ) - parser.add_argument( - "--refresh", - action="store_true", - help="Refresh cache", - ) - parser.add_argument( - "-v", "--verbose", - action="store_true", - help="Verbose logging", - ) - - args = parser.parse_args() - - crawler = FormulaCrawler( - workers=args.workers, - verbose=args.verbose, - refresh_cache=args.refresh, - ) - - try: - crawler.run(args.output) - except KeyboardInterrupt: - print("\nInterrupted", flush=True) - sys.exit(1) - except Exception as e: - print(f"\nError: {e}", flush=True) - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/formula_renames.json b/formula_renames.json deleted file mode 100644 index 0c99faed9c..0000000000 --- a/formula_renames.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "oh-my-claude-sisyphus": "oh-my-claude" -} diff --git a/justfile b/justfile deleted file mode 100644 index 05832067d3..0000000000 --- a/justfile +++ /dev/null @@ -1,186 +0,0 @@ -# Formula Metadata Crawler Justfile -# Crawl formula metadata and git hosting stats (GitHub/GitLab/Codeberg) - -# Default recipe - show help -default: - @just --list - -# Generate formula metadata report -status: - python3 formula-status/generate_formula_status.py --output formula-status/formula-status.md - -# Generate with verbose logging -status-verbose: - python3 formula-status/generate_formula_status.py --output formula-status/formula-status.md --verbose - -# Refresh git stats cache -status-refresh: - python3 formula-status/generate_formula_status.py --output formula-status/formula-status.md --refresh - -# Run with custom number of workers -status-workers WORKERS="10": - python3 formula-status/generate_formula_status.py --output formula-status/formula-status.md --workers {{WORKERS}} - -# Run in background with logging -status-background: - #!/usr/bin/env bash - nohup python3 formula-status/generate_formula_status.py --output formula-status/formula-status.md --verbose > formula-status.log 2>&1 & - echo "Crawler running in background (PID: $!)" - echo "Follow logs with: just status-logs" - -# Watch progress in real-time -status-watch: - #!/usr/bin/env bash - while true; do - clear - echo "=== Formula Metadata Crawler Progress ===" - echo "" - date - echo "" - - if pgrep -f "generate_formula_status.py" > /dev/null; then - echo "✓ Running" - echo "" - - if [ -f formula-status/formula-status.md ]; then - echo "formula-status/formula-status.md:" - echo " Last modified: $(stat -f "%Sm" formula-status/formula-status.md)" - echo " Size: $(wc -c < formula-status/formula-status.md) bytes" - FORMULAS=$(grep -c '^| [a-z]' formula-status/formula-status.md 2>/dev/null || echo 0) - echo " Formulas processed: $FORMULAS" - fi - - if [ -f .cache/formula_metadata.json ]; then - echo "" - echo "Cache:" - CACHED=$(jq 'keys | length' .cache/formula_metadata.json 2>/dev/null || echo 0) - echo " Repos cached: $CACHED" - fi - else - echo "✗ Not running" - break - fi - - echo "" - echo "Press Ctrl+C to stop watching" - sleep 2 - done - -# Check if crawler is running -status-check: - #!/usr/bin/env bash - if pgrep -f "generate_formula_status.py" > /dev/null; then - echo "✓ Formula metadata crawler is running" - pgrep -f "generate_formula_status.py" | xargs ps -p - echo "" - if [ -f formula-status/formula-status.md ]; then - echo "formula-status/formula-status.md:" - echo " Last modified: $(stat -f "%Sm" formula-status/formula-status.md)" - FORMULAS=$(grep -c '^| [a-z]' formula-status/formula-status.md 2>/dev/null || echo 0) - echo " Formulas processed: $FORMULAS" - fi - else - echo "✗ Formula metadata crawler is not running" - fi - -# Kill running crawler -status-kill: - #!/usr/bin/env bash - if pgrep -f "generate_formula_status.py" > /dev/null; then - pkill -f "generate_formula_status.py" - echo "✓ Killed formula metadata crawler" - else - echo "✗ No running crawler found" - fi - -# Follow logs -status-logs: - #!/usr/bin/env bash - if [ -f formula-status.log ]; then - tail -f formula-status.log - else - echo "No log file found. Run 'just status-background' first." - fi - -# View generated report -view: - cat formula-status/formula-status.md - -# Count formulas -count: - #!/usr/bin/env bash - if [ ! -f formula-status/formula-status.md ]; then - echo "formula-status/formula-status.md not found. Run 'just status' first." - exit 1 - fi - TOTAL=$(grep -c '^| [a-z]' formula-status/formula-status.md 2>/dev/null || echo 0) - echo "Total formulas: $TOTAL" - -# Show top formulas by stars -top N="10": - #!/usr/bin/env bash - if [ ! -f formula-status/formula-status.md ]; then - echo "formula-status/formula-status.md not found. Run 'just status' first." - exit 1 - fi - echo "Top {{N}} formulas by stars:" - grep '^| [a-z]' formula-status/formula-status.md | head -{{N}} - -# Clean cache -clean-cache: - rm -rf .cache/formula_metadata.json - @echo "Cache cleaned" - -# Clean reports -clean-reports: - rm -f formula-status/formula-status.md - @echo "Reports cleaned" - -# Clean logs -clean-logs: - rm -f formula-status.log nohup.out - @echo "Logs cleaned" - -# Clean everything -clean: clean-cache clean-reports clean-logs - @echo "All artifacts cleaned" - -# Validate generated report -validate: - #!/usr/bin/env bash - if [ ! -f formula-status/formula-status.md ]; then - echo "❌ formula-status/formula-status.md not found" - exit 1 - fi - - SIZE=$(wc -c < formula-status/formula-status.md) - if [ "$SIZE" -lt 500 ]; then - echo "❌ formula-status/formula-status.md seems too small ($SIZE bytes)" - exit 1 - fi - - if ! grep -q "# Formula Metadata" formula-status/formula-status.md; then - echo "❌ Missing header" - exit 1 - fi - - echo "✅ formula-status/formula-status.md validation passed" - echo " Size: $SIZE bytes" - FORMULAS=$(grep -c '^| [a-z]' formula-status/formula-status.md 2>/dev/null || echo 0) - echo " Formulas: $FORMULAS" - -# Example output -example: - @echo "Example Formula Metadata Table:" - @echo "" - @echo "| Formula | Description | Stars | Forks | Last Commit | Last Release | License | Bottle | Livecheck | Homepage |" - @echo "| ------- | ----------- | ----- | ----- | ----------- | ------------ | ------- | ------ | --------- | -------- |" - @echo "| awesome-tool | An awesome CLI tool for developers | 1234 | 56 | 2024-12-10 | 2024-11-20 | MIT | ✓ | ✓ | [link](https://github.com/user/awesome-tool) |" - @echo "| cool-app | A cool application | 567 | 23 | 2024-12-12 | - | Apache-2.0 | ✓ | - | [link](https://gitlab.com/user/cool-app) |" - -# Install dependencies check -install-deps: - @echo "Checking dependencies..." - @which python3 > /dev/null || (echo "❌ python3 not found" && exit 1) - @which gh > /dev/null || (echo "❌ gh CLI not found" && exit 1) - @echo "✅ All dependencies installed" diff --git a/lychee.toml b/lychee.toml deleted file mode 100644 index f26982caf0..0000000000 --- a/lychee.toml +++ /dev/null @@ -1,44 +0,0 @@ -# Lychee link checker configuration - -max_retries = 3 -retry_wait_time = 5 -max_concurrency = 10 - -# Treat 429 as valid after retries to avoid transient rate-limit failures. -accept = [200, 204, 206, 429] - -# Exclude placeholder URLs used in documentation examples. -# Temporary baseline exclusions tracked in: -# https://github.com/chenrui333/homebrew-tap/issues/4237 -exclude = [ - "^https://\\.\\.\\./?$", - "^https://alanza\\.xyz/?$", - "^https://docs\\.horusec\\.io/docs/cli/overview/?$", - "^https://git\\.calcurse\\.org/?$", - "^https://twilioalpha\\.com/mcp/?$", - "^https://github\\.com/zonay/public-ollama-finder/?$", - "^https://github\\.com/stripe/agent-toolkit/tree/main/modelcontextprotocol/?$", - "^https://github\\.com/wssheldon/osintui/?$", - "^https://www\\.vibekit\\.sh/?$", - "^https://github\\.com/sindresorhus/ni/?$", - "^https://github\\.com/Herdora/chisel/?$", - "^https://github\\.com/yeoman/emoj/?$", - "^https://docs\\.nhost\\.io/platform/cli/overview(?:#.*)?$", - "^https://github\\.com/ascorbic/mapscii/?$", - "^https://rustwasm\\.github\\.io/twiggy/?$", - "^https://github\\.com/ODwyerSoftware/brunette/?$", - "^https://beelzebub-honeypot\\.com/?$", - "^https://fnc\\.bsdbox\\.org/index/?$", - "^https://www\\.gnu\\.org/software/hello/?$", - "^https://www\\.atoptool\\.nl/downloadatop\\.php/?$", - "^https://git\\.kittencollective\\.com/nebkor/joecalsend/?$", - "^https://aspizu\\.github\\.io/goboscript/?$", - "^https://github\\.com/aspizu/goboscript/?$", - "^https://reim-developer\\.github\\.io/Sephera/?$", - "^https://taskbook\\.sh/?$", - "^https://chiselapp\\.com/user/MistressRemilia/repository/benben/?$", - "^https://yeetfile\\.com/?$", -] - -cache = true -user_agent = "homebrew-tap link checker (https://github.com/chenrui333/homebrew-tap)" diff --git a/mise.toml b/mise.toml deleted file mode 100644 index c8a2106184..0000000000 --- a/mise.toml +++ /dev/null @@ -1,9 +0,0 @@ -[tools] -actionlint = "1.7.12" -just = "1.50.0" -yamllint = "1.38.0" -shellcheck = "0.11.0" -shfmt = "3.13.1" -typos = "1.45.2" -zizmor = "1.23.1" -python = "3.14.4" diff --git a/pypi_formula_mappings.json b/pypi_formula_mappings.json new file mode 100644 index 0000000000..1bd95490c0 --- /dev/null +++ b/pypi_formula_mappings.json @@ -0,0 +1,26 @@ +{ + "arxiv-mcp-server": { + "exclude_packages": ["certifi", "pymupdf"] + }, + "archgw": { + "extra_packages": ["filelock"], + "exclude_packages": ["certifi", "numpy", "torch"] + }, + "context-file-manager": { + "package_name": "context-file-manager[mcp]", + "exclude_packages": ["certifi"] + }, + "gtts": { + "exclude_packages": ["certifi"] + }, + "lemonade": { + "exclude_packages": ["certifi", "numpy", "sentencepiece"] + }, + "rallies-cli": { + "package_name": "rallies", + "exclude_packages": ["certifi", "numpy"] + }, + "sarif-tools": { + "exclude_packages": ["numpy", "pillow"] + } +} diff --git a/scripts/bump_revisions.py b/scripts/bump_revisions.py index b4c2a5a2ca..0b685a2f00 100755 --- a/scripts/bump_revisions.py +++ b/scripts/bump_revisions.py @@ -14,89 +14,31 @@ from pathlib import Path from typing import List, Optional, Tuple -def _resolve_alias(formula_name: str, repo_root: Path) -> Optional[Path]: - """If formula_name is an alias, resolve it to the real Formula path.""" - alias_path = repo_root / "Aliases" / formula_name - try: - if alias_path.exists(): - # Aliases in homebrew-core are symlinks - target = os.readlink(alias_path) - target_path = (repo_root / target).resolve() - if target_path.exists(): - return target_path - except OSError: - pass - return None def find_formula_file(formula_name: str, formula_dir: Path) -> Optional[Path]: - """ - Find the formula file for a given formula name across common Homebrew layouts. - - Accepts either: - - repo root (…/homebrew-core), or - - Formula dir (…/homebrew-core/Formula) - """ - filename = f"{formula_name}.rb" - - # If user passed the repo root, derive useful subdirs - repo_root = formula_dir - formula_subdir = None - if (formula_dir / "Formula").is_dir(): - # formula_dir is the repo root (contains Formula/) - repo_root = formula_dir - formula_subdir = formula_dir / "Formula" - elif formula_dir.name == "Formula" and formula_dir.is_dir(): - # formula_dir is already the Formula directory - repo_root = formula_dir.parent - formula_subdir = formula_dir + """Find the formula file for a given formula name.""" + # Handle versioned formulae (e.g., percona-xtrabackup@8.0) + if "@" in formula_name: + filename = f"{formula_name}.rb" else: - # Unknown structure; still try smart guesses below - formula_subdir = None - - # 1) Preferred modern layout: Formula/.rb - if formula_subdir: - p = formula_subdir / filename - if p.exists(): - return p - - # 2) Older/variant layout: Formula//.rb - first_char = formula_name[0].lower() - if first_char.isalpha(): - p = formula_subdir / first_char / filename - if p.exists(): - return p - - # 3) If user pointed to repo root, try top-level .rb (some taps do this) - p = repo_root / filename - if p.exists(): - return p - - # 4) Try /.rb directly under the provided dir (some taps) + filename = f"{formula_name}.rb" + + # Search in alphabetical subdirectories first_char = formula_name[0].lower() if first_char.isalpha(): - p = repo_root / first_char / filename - if p.exists(): - return p - - # 5) Resolve aliases (homebrew-core has Aliases/ symlinks) - alias_target = _resolve_alias(formula_name, repo_root) - if alias_target and alias_target.exists(): - return alias_target - - # 6) Last resort: recursive glob under Formula/ then repo root - search_roots = [] - if formula_subdir: - search_roots.append(formula_subdir) - search_roots.append(repo_root) - - for root in search_roots: - try: - found = next(root.rglob(filename), None) - if found: - return found - except Exception: - # In case of permission or symlink loops—just skip - pass + formula_path = formula_dir / first_char / filename + if formula_path.exists(): + return formula_path + + # Also check lib/ directory for some formulae + lib_path = formula_dir / "lib" / filename + if lib_path.exists(): + return lib_path + + # Direct search in Formula directory + direct_path = formula_dir / filename + if direct_path.exists(): + return direct_path return None @@ -213,7 +155,7 @@ def main(): parser = argparse.ArgumentParser(description='Bump revisions for Homebrew formulae') parser.add_argument('formulae', nargs='*', help='Formula names to bump (if none provided, reads from stdin)') parser.add_argument('--dry-run', action='store_true', help='Show what would be done without making changes') - parser.add_argument('--formula-dir', type=Path, default=Path('/opt/homebrew/Homebrew/Library/Taps/homebrew/homebrew-core'), + parser.add_argument('--formula-dir', type=Path, default=Path('/opt/homebrew/Library/Taps/homebrew/homebrew-core/Formula'), help='Path to Formula directory') args = parser.parse_args() diff --git a/scripts/formulae_list b/scripts/formulae_list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/scripts/sync_labels.py b/scripts/sync_labels.py index c83f059cb2..6697899cfa 100644 --- a/scripts/sync_labels.py +++ b/scripts/sync_labels.py @@ -1,38 +1,31 @@ -import os -import sys - import requests +import os # --- CONFIGURATION --- -SOURCE_REPOS = [ - ("homebrew", "homebrew-core"), - ("homebrew", "homebrew-cask"), -] +SOURCE_OWNER = "homebrew" +SOURCE_REPO = "homebrew-core" DEST_OWNER = "chenrui333" DEST_REPO = "homebrew-tap" GITHUB_TOKEN = os.environ.get("HOMEBREW_GITHUB_API_TOKEN") # -------------------- +# GitHub API endpoints +SOURCE_LABELS_URL = f"https://api.github.com/repos/{SOURCE_OWNER}/{SOURCE_REPO}/labels" DEST_LABELS_URL = f"https://api.github.com/repos/{DEST_OWNER}/{DEST_REPO}/labels" headers = { "Authorization": f"Bearer {GITHUB_TOKEN}", - "Accept": "application/vnd.github+json", + "Accept": "application/vnd.github+json" # or application/vnd.github.v3+json } - -def labels_url(owner, repo): - return f"https://api.github.com/repos/{owner}/{repo}/labels" - - -def fetch_labels(owner, repo): - """Fetch all labels from a source repository (handle pagination).""" +def fetch_labels(url): + """Fetch all labels from the source repository (handle pagination).""" all_labels = [] page = 1 while True: - response = requests.get(labels_url(owner, repo), headers=headers, params={"page": page, "per_page": 100}) + response = requests.get(url, headers=headers, params={"page": page, "per_page": 100}) response.raise_for_status() data = response.json() @@ -44,33 +37,6 @@ def fetch_labels(owner, repo): return all_labels - -def merge_source_labels(): - """ - Merge labels from SOURCE_REPOS in order. - - homebrew-core labels win over homebrew-cask labels on conflicts. - """ - merged = {} - - for owner, repo in SOURCE_REPOS: - source_name = f"{owner}/{repo}" - print(f"Fetching labels from {source_name}...") - for label in fetch_labels(owner, repo): - key = label["name"].strip().lower() - if key in merged: - print( - f"Ignoring conflict from {source_name} for label '{label['name']}' " - f"(already defined by {merged[key]['_source_repo']})." - ) - continue - - label["_source_repo"] = source_name - merged[key] = label - - return list(merged.values()) - - def create_label(label, url): """Create an individual label in the destination repository.""" response = requests.post(url, headers=headers, json={ @@ -88,20 +54,11 @@ def create_label(label, url): print(f"Failed to create label '{label['name']}': {response.text}") def main(): - if not GITHUB_TOKEN: - print("HOMEBREW_GITHUB_API_TOKEN is required.", file=sys.stderr) - raise SystemExit(1) - - source_labels = merge_source_labels() - destination_labels = fetch_labels(DEST_OWNER, DEST_REPO) - destination_names = {label["name"].strip().lower() for label in destination_labels} - missing_labels = [label for label in source_labels if label["name"].strip().lower() not in destination_names] + print(f"Fetching labels from {SOURCE_OWNER}/{SOURCE_REPO}...") + source_labels = fetch_labels(SOURCE_LABELS_URL) - print( - f"Source labels: {len(source_labels)} | Existing in {DEST_OWNER}/{DEST_REPO}: {len(destination_labels)} | " - f"Missing to create: {len(missing_labels)}" - ) - for label in missing_labels: + print(f"Creating labels in {DEST_OWNER}/{DEST_REPO}...") + for label in source_labels: create_label(label, DEST_LABELS_URL) if __name__ == "__main__": diff --git a/skills/github-package-visibility/SKILL.md b/skills/github-package-visibility/SKILL.md deleted file mode 100644 index 0933ae1242..0000000000 --- a/skills/github-package-visibility/SKILL.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -name: github-package-visibility -description: Change GitHub package visibility with the Playwright MCP browser session. Use when asked to make private GitHub packages public, flip package visibility in bulk, verify whether the browser session is already logged in, or avoid slow manual page-by-page package settings clicks. ---- - -# GitHub Package Visibility - -Use this skill for GitHub Packages visibility changes that are safer to drive from the web UI than ad-hoc clicking. - -## Scope - -This workflow is validated for personal-account container packages under URLs like: - -- `https://github.com/?tab=packages&visibility=private` -- `https://github.com/users//packages/container//settings` - -If the package type is not `container`, inspect one package manually first and confirm the settings flow matches before bulk changes. - -## Guardrails - -- Use Playwright MCP and rely on the existing signed-in browser session when available. -- Before bulk changes, verify login by opening the filtered packages page and confirming the owner/profile context matches the intended account. -- Never include account names, package names, confirmation strings, copied HTML, or screenshots from a live run in the committed skill, PR body, or examples. Use placeholders only. -- Change one package first and verify the settings page updates to the target state before batching. -- Work in small batches, preferably 10-15 packages at a time, so failures are isolated and retries are cheap. -- Verify the final state from the filtered package page itself, not only from per-package settings pages. - -## Fast Path - -GitHub package pages keep background requests alive, so `networkidle` waits and page-by-page scraping are slower than necessary. - -1. Navigate to `https://github.com/?tab=packages&visibility=private` with Playwright. -2. Verify the page is authenticated and the owner is correct. -3. Use `browser_run_code` to fetch the filtered HTML with in-page `fetch(..., { credentials: "include" })`, parse it with `DOMParser`, and collect package links plus the `Next` pagination link. -4. Build a deduplicated list of package slugs from those fetched pages. -5. Process the package settings pages in batches with `browser_run_code`: - - open `https://github.com/users//packages/container/${encodeURIComponent(slug)}/settings` - - skip if the page already says the package is at the target visibility - - click `Change visibility` - - select the target radio button - - fill the confirmation textbox with the exact package slug - - submit and wait for the target-state text on the settings page -6. Re-check the filtered package list with in-page `fetch`; success is `0 packages` and zero remaining package links. - -## Manual Probe - -When the flow is unverified for a package type or account shape: - -1. Open one package page from the filtered list. -2. Open `Package settings`. -3. Open `Change visibility` in the danger zone. -4. Confirm the dialog requires: - - a target radio button - - the exact package slug typed into a confirmation textbox - - a final confirmation button - -Then switch to the fast path for the remaining packages. - -## Playwright Patterns - -List remaining private packages without waiting on GitHub background traffic: - -```js -async (page) => { - const origin = "https://github.com"; - const seenPages = new Set(); - const seenPackages = new Set(); - let url = "https://github.com/?tab=packages&visibility=private"; - - while (url && !seenPages.has(url)) { - seenPages.add(url); - const { links, nextHref } = await page.evaluate(async currentUrl => { - const res = await fetch(currentUrl, { credentials: "include" }); - const html = await res.text(); - const doc = new DOMParser().parseFromString(html, "text/html"); - const links = [...doc.querySelectorAll('a[href*="/users//packages/container/package/"]')] - .map((a) => a.getAttribute("href")) - .filter(Boolean); - const next = [...doc.querySelectorAll("a")].find((a) => a.textContent?.trim() === "Next"); - return { links, nextHref: next?.getAttribute("href") || null }; - }, url); - - for (const href of links) { - seenPackages.add(href.startsWith("http") ? href.replace(origin, "") : href); - } - url = nextHref ? (nextHref.startsWith("http") ? nextHref : origin + nextHref) : null; - } - - return [...seenPackages].map((path) => decodeURIComponent(path.split("/package/")[1])); -} -``` - -Change a batch to public: - -```js -async (page) => { - const owner = ""; - const packages = ["", ""]; - page.setDefaultTimeout(10000); - const changed = []; - const skipped = []; - const errors = []; - - for (const pkg of packages) { - try { - const url = `https://github.com/users/${owner}/packages/container/${encodeURIComponent(pkg)}/settings`; - await page.goto(url, { waitUntil: "domcontentloaded" }); - const mainText = await page.locator("main").textContent(); - - if (mainText.includes("This package is currently public.")) { - skipped.push(pkg); - continue; - } - - await page.getByRole("button", { name: "Change visibility" }).click(); - await page.getByRole("heading", { name: "Change package visibility" }).waitFor({ state: "visible" }); - await page.getByRole("radio", { name: /Public Make this package visible to anyone\./ }).click(); - - const dialog = page.getByRole("dialog"); - await dialog.getByRole("textbox").fill(pkg); - await dialog.getByRole("button", { name: "I understand the consequences, change package visibility" }).click(); - await page.getByText("This package is currently public.").waitFor({ state: "visible" }); - - changed.push(pkg); - } catch (error) { - errors.push({ pkg, error: String(error) }); - } - } - - return { changed, skipped, errors }; -} -``` - -Verify completion from the private filter: - -```js -async (page) => { - const url = "https://github.com/?tab=packages&visibility=private"; - return await page.evaluate(async currentUrl => { - const res = await fetch(currentUrl, { credentials: "include" }); - const html = await res.text(); - const doc = new DOMParser().parseFromString(html, "text/html"); - const links = [...doc.querySelectorAll('a[href*="/users//packages/container/package/"]')]; - const bodyText = doc.body?.innerText || ""; - return { - remainingCount: links.length, - emptyState: bodyText.match(/0 packages|No packages|We couldn't find any packages/i)?.[0] || null, - }; - }, url); -} -``` - -## Reporting - -Report: - -- how many packages changed -- how many were already at the target state -- any package-specific errors -- the final verification result from the filtered package list diff --git a/skills/restart-github-actions-runs/SKILL.md b/skills/restart-github-actions-runs/SKILL.md deleted file mode 100644 index 6478d4fa0f..0000000000 --- a/skills/restart-github-actions-runs/SKILL.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -name: restart-github-actions-runs -description: Restart GitHub Actions for one or more tap PRs by safely force-updating same-repo PR head branches or rerunning the latest PR workflow runs when the head branch is missing or not pushable. Use when asked to rerun, restart, or refresh CI checks for `chenrui333/homebrew-tap` without editing workflows, and never force-push `main`. ---- - -# Restart GitHub Actions Runs - -Use this skill when the goal is to refresh GitHub Actions runs for open PRs in this tap without changing workflow files. - -## Guardrails - -- Never edit workflows just to restart checks. -- Never force-push `main`. -- Only force-update verified PR head branches that are open, same-repo, and not `main`. -- If the PR head branch is missing, cross-repo, or otherwise not pushable, rerun the existing workflow runs with `gh run rerun` instead. -- If global git config rewrites `https://github.com/` pushes to `git@github.com:` and SSH auth is unavailable, run the helper or any equivalent manual PR-branch push with `env GIT_CONFIG_GLOBAL=/dev/null` instead of changing `origin`. - -## Preferred Command - -Run the helper from the repo root: - -```sh -skills/restart-github-actions-runs/scripts/restart_pr_actions.sh \ - --repo chenrui333/homebrew-tap \ - [ ...] -``` - -Examples: - -```sh -skills/restart-github-actions-runs/scripts/restart_pr_actions.sh --repo chenrui333/homebrew-tap 4991 4990 4989 -skills/restart-github-actions-runs/scripts/restart_pr_actions.sh --dry-run --repo chenrui333/homebrew-tap 4991 -``` - -## What The Script Does - -1. Read PR metadata with `gh pr view`. -2. If the PR is open, same-repo, and its head branch still exists on `origin` and is not `main`, create an empty amend on that branch tip in a scratch clone and push it back with `--force-with-lease`. -3. Otherwise, collect the latest workflow run IDs from `gh pr checks` and rerun those runs directly with `gh run rerun`. -4. Print a per-PR action summary so follow-up checks are easy. - -## Verification - -After restarting runs, check status with: - -```sh -gh pr checks --repo chenrui333/homebrew-tap -gh pr view --repo chenrui333/homebrew-tap --json url,headRefName,headRefOid -``` - -A fresh restart should show new `pending` checks or newly queued workflow runs. - -## Upterm Session Hygiene - -When the restarted workflow exposes an `*.upterm.dev` session for remote brew ops: - -- Always attach to the current attempt's job/session, not an older rerun attempt. Old attempt URLs and SSH strings commonly look like "dead runners" even when the latest attempt is healthy. -- On a fresh connection, start with harmless probes such as `pwd` and `uname -a` before running brew commands. -- Do not begin with `set -euo pipefail` until you have confirmed the runner's working directory and any file paths you plan to use. -- Never reference workstation-local paths such as `/private/tmp/...` or `/Users/...` on the runner. Use heredocs, `scp`, or create the required files directly on the runner first. diff --git a/skills/restart-github-actions-runs/scripts/restart_pr_actions.sh b/skills/restart-github-actions-runs/scripts/restart_pr_actions.sh deleted file mode 100755 index de38e3deb4..0000000000 --- a/skills/restart-github-actions-runs/scripts/restart_pr_actions.sh +++ /dev/null @@ -1,179 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -usage() { - cat <<'USAGE' -Usage: - restart_pr_actions.sh [--repo owner/repo] [--dry-run] [ ...] - -Behavior: - - Prefer a safe empty-amend + force-with-lease on same-repo PR head branches. - - Fall back to `gh run rerun` when the PR head branch is missing, cross-repo, - or not safe to push. - -Options: - --repo GitHub repo. Defaults to the current git origin if possible. - --dry-run Print planned actions without mutating GitHub. - -h, --help Show help. - -Safety: - - Never force-pushes `main`. - - Only force-updates open, same-repo PR head branches that still exist on origin. -USAGE -} - -die() { - echo "error: $*" >&2 - exit 1 -} - -require_cmd() { - command -v "$1" >/dev/null 2>&1 || die "required command not found: $1" -} - -normalize_pr() { - local input="$1" - if [[ "$input" =~ ^https?://github\.com/.*/pull/([0-9]+) ]]; then - echo "${BASH_REMATCH[1]}" - else - echo "$input" - fi -} - -extract_repo_from_origin() { - local remote - remote=$(git remote get-url origin 2>/dev/null || true) - if [[ -z "$remote" ]]; then - return 1 - fi - if [[ "$remote" =~ github\.com[:/]([^/]+/[^/.]+)(\.git)?$ ]]; then - echo "${BASH_REMATCH[1]}" - return 0 - fi - return 1 -} - -collect_run_ids() { - local pr="$1" - local repo="$2" - gh pr checks "$pr" --repo "$repo" --json link | - jq -r '.[].link | select(test("/actions/runs/[0-9]+")) | capture("/actions/runs/(?[0-9]+)").id' | - sort -u -} - -rerun_runs() { - local pr="$1" - local repo="$2" - local dry_run="$3" - local ids - - ids=$(collect_run_ids "$pr" "$repo" || true) - if [[ -z "$ids" ]]; then - echo "FALLBACK pr=$pr mode=rerun status=no-runs-found" - return 0 - fi - - while IFS= read -r run_id; do - [[ -n "$run_id" ]] || continue - if (( dry_run )); then - echo "PLAN pr=$pr mode=rerun run=$run_id" - else - gh run rerun "$run_id" --repo "$repo" >/dev/null - echo "RERUN pr=$pr run=$run_id" - fi - done <<<"$ids" -} - -REPO="" -DRY_RUN=0 -PRS=() - -while [[ $# -gt 0 ]]; do - case "$1" in - --repo) - [[ $# -ge 2 ]] || die "--repo requires a value" - REPO="$2" - shift 2 - ;; - --dry-run) - DRY_RUN=1 - shift - ;; - -h|--help) - usage - exit 0 - ;; - --) - shift - break - ;; - -* ) - die "unknown option: $1" - ;; - *) - PRS+=("$(normalize_pr "$1")") - shift - ;; - esac -done - -[[ ${#PRS[@]} -gt 0 ]] || { usage; exit 1; } -require_cmd gh -require_cmd git -require_cmd jq - -gh auth status -h github.com >/dev/null 2>&1 || die "gh is not authenticated" - -if [[ -z "$REPO" ]]; then - REPO=$(extract_repo_from_origin) || die "--repo is required outside a git checkout with a GitHub origin" -fi - -scratch=$(mktemp -d /private/tmp/restart-pr-actions.XXXXXX) -trap 'rm -rf "$scratch"' EXIT - -git clone --filter=blob:none --no-checkout "git@github.com:${REPO}.git" "$scratch" >/dev/null 2>&1 -cd "$scratch" - -name=$(git -C /opt/homebrew/Homebrew/Library/Taps/chenrui333/homebrew-tap config user.name || true) -email=$(git -C /opt/homebrew/Homebrew/Library/Taps/chenrui333/homebrew-tap config user.email || true) -[[ -n "$name" ]] && git config user.name "$name" -[[ -n "$email" ]] && git config user.email "$email" - -for pr in "${PRS[@]}"; do - meta=$(gh pr view "$pr" --repo "$REPO" --json number,state,headRefName,headRefOid,isCrossRepository,title,url) - state=$(jq -r '.state' <<<"$meta") - branch=$(jq -r '.headRefName' <<<"$meta") - sha=$(jq -r '.headRefOid' <<<"$meta") - cross=$(jq -r '.isCrossRepository' <<<"$meta") - title=$(jq -r '.title' <<<"$meta") - - if [[ "$state" != "OPEN" ]]; then - echo "SKIP pr=$pr state=$state title=$(printf %q "$title")" - continue - fi - - if [[ "$branch" == "main" ]]; then - echo "FALLBACK pr=$pr mode=rerun reason=head-is-main" - rerun_runs "$pr" "$REPO" "$DRY_RUN" - continue - fi - - if [[ "$cross" == "false" ]] && git ls-remote --exit-code --heads origin "$branch" >/dev/null 2>&1; then - if (( DRY_RUN )); then - echo "PLAN pr=$pr mode=force-update branch=$branch sha=${sha:0:12}" - continue - fi - - git fetch --no-tags origin "$branch" >/dev/null 2>&1 - git checkout --detach FETCH_HEAD >/dev/null 2>&1 - old=$(git rev-parse --short=12 HEAD) - git commit --amend --no-edit --allow-empty >/dev/null 2>&1 - new=$(git rev-parse --short=12 HEAD) - git push --force-with-lease origin HEAD:"$branch" >/dev/null 2>&1 - echo "REFRESHED pr=$pr mode=force-update branch=$branch old=$old new=$new" - continue - fi - - echo "FALLBACK pr=$pr mode=rerun reason=head-not-pushable branch=$branch sha=${sha:0:12}" - rerun_runs "$pr" "$REPO" "$DRY_RUN" -done diff --git a/tap_migrations.json b/tap_migrations.json index be16375c4e..27fc20f8aa 100644 --- a/tap_migrations.json +++ b/tap_migrations.json @@ -2,57 +2,37 @@ "addons-linter": "homebrew/core", "aiac": "homebrew/core", "aiken": "homebrew/core", - "airtable-mcp-server": "homebrew-core", "alejandra": "homebrew/core", "algolia": "homebrew/core", "api-linter": "homebrew/core", - "archgw": "homebrew-core", - "asm-lsp": "homebrew/core", - "attempt-cli": "homebrew/core", - "aws-spiffe-workload-helper": "homebrew-core", "bacon-ls": "homebrew/core", "bom": "homebrew/core", "bombardier": "homebrew/core", "bpmnlint": "homebrew/core", "buffrs": "homebrew/core", "bunster": "homebrew/core", - "cai": "homebrew/core", "cargo-careful": "homebrew/core", "cargo-clone": "homebrew/core", "cargo-component": "homebrew/core", - "cargo-geiger": "homebrew/core", "cargo-sort": "homebrew/core", "cargo-spellcheck": "homebrew/core", "cf-terraforming": "homebrew/core", "cfnctl": "homebrew/core", - "changelogen": "homebrew/core", - "chrome-devtools-mcp": "homebrew-core", - "claude-cmd": "homebrew/core", - "claude-code-templates": "homebrew/core", - "claude-hooks": "homebrew/core", "claudekit": "homebrew/core", "comrak": "homebrew/core", - "config-file-validator": "homebrew/core", "crd2pulumi": "homebrew/core", "darker": "homebrew/core", "dblab": "homebrew/core", "decompose": "homebrew/core", - "devcockpit": "homebrew-core", "diagram": "homebrew/core", "docker-debug": "homebrew/core", "dockerfilegraph": "homebrew/core", - "docmd": "homebrew/core", "domain-check": "homebrew/core", "doxx": "homebrew/core", - "dstp": "homebrew/core", "dyff": "homebrew/core", - "e1s": "homebrew/core", "evans": "homebrew/core", - "fake-gcs-server": "homebrew/core", "fancy-cat": "homebrew/core", - "fastmcp": "homebrew/core", "fiona": "homebrew/core", - "fjira": "homebrew/core", "fortitude": "homebrew/core", "fx-upscale": "homebrew/core", "gersemi": "homebrew/core", @@ -60,28 +40,18 @@ "ggc": "homebrew/core", "ghalint": "homebrew/core", "gitea-mcp-server": "homebrew/core", - "gitlab-ci-pipelines-exporter": "homebrew/core", - "gitlogue": "homebrew/core", "gitmux": "homebrew/core", "go-passbolt-cli": "homebrew/core", - "go-swag": "homebrew-core", - "goclone": "homebrew/core", "gonzo": "homebrew/core", "goodls": "homebrew/core", "gowall": "homebrew/core", - "granted": "homebrew/core", "gtrash": "homebrew/core", "gtree": "homebrew/core", "gut": "homebrew/core", - "hapless": "homebrew/core", - "harbor-cli": "homebrew/core", "hcledit": "homebrew/core", - "hexhog": "homebrew/core", - "hf-mcp-server": "homebrew/core", "hishtory": "homebrew/core", "hub-tool": "homebrew/core", "infisical": "homebrew/core", - "intelli-shell": "homebrew/core", "jenkins-cli": "homebrew/core", "jira-cli": "homebrew/core", "jsrepo": "homebrew/core", @@ -89,44 +59,25 @@ "kafkactl": "homebrew/core", "kapp": "homebrew/core", "kbld": "homebrew/core", - "kekkai": "homebrew/core", "kirimase": "homebrew/core", "koji": "homebrew/core", - "ktea": "homebrew/core", "ktop": "homebrew/core", "kubernetes-mcp-server": "homebrew/core", - "lazycontainer": "homebrew/core", "lazyjj": "homebrew/core", - "lue-reader": "homebrew/core", "mac-cleanup-py": "homebrew/core", - "mail-deduplicate": "homebrew-core", - "mark": "homebrew/core", - "mcat": "homebrew/core", - "mcp-atlassian": "homebrew/core", "mcp-get": "homebrew/core", - "mcp-google-sheets": "homebrew-core", - "mcp-grafana": "homebrew-core", "mcp-proxy": "homebrew/core", - "mcp-server-chart": "homebrew/core", "mcphost": "homebrew/core", "mcptools": "homebrew/core", "md2pdf": "homebrew/core", "melt": "homebrew/core", "mender-cli": "homebrew/core", - "mermaid-cli": "homebrew/core", "mob": "homebrew/core", "moribito": "homebrew/core", "mpremote": "homebrew/core", - "mq": "homebrew/core", - "mufetch": "homebrew/core", "multi-gitter": "homebrew/core", - "n8n-mcp": "homebrew-core", "nak": "homebrew/core", - "nanobot": "homebrew/core", "netfetch": "homebrew/core", - "netscanner": "homebrew/core", - "netshow": "homebrew/core", - "nkt": "homebrew/core", "nom": "homebrew/core", "notion-mcp-server": "homebrew/core", "omnara": "homebrew/core", @@ -134,81 +85,51 @@ "otel-cli": "homebrew/core", "ov": "homebrew/core", "oxen": "homebrew/core", - "parqeye": "homebrew-core", "pdfly": "homebrew/core", "pdtm": "homebrew/core", - "permify": "homebrew/core", "pg-schema-diff": "homebrew/core", - "playwright-mcp": "homebrew-core", "preevy": "homebrew/core", "prefligit": "homebrew/core", "protoc-gen-doc": "homebrew/core", - "pyscn": "homebrew/core", "qnm": "homebrew/core", "qwen-code": "homebrew/core", - "rails-mcp-server": "homebrew/core", "rasterio": "homebrew/core", - "resterm": "homebrew/core", "restish": "homebrew/core", "rulesync": "homebrew/core", "rustywind": "homebrew/core", - "salesforce-mcp": "homebrew-core", - "sarif-tools": "homebrew-core", "sherif": "homebrew/core", - "shimmy": "homebrew/core", - "shortest": "homebrew/core", "shuttle": "homebrew/core", - "slack-mcp-server": "homebrew/core", "snowflake-cli": "homebrew/core", "soft-serve": "homebrew/core", - "spiffe-helper": "homebrew-core", "sql-formatter": "homebrew/core", "sttr": "homebrew/core", "style-dictionary": "homebrew/core", "supabase-mcp-server": "homebrew/core", "tdd-guard": "homebrew/core", - "termsvg": "homebrew-core", "terraform-cleaner": "homebrew/core", "terraform-iam-policy-validator": "homebrew/core", "terraform-mcp-server": "homebrew/core", "terraform-module-versions": "homebrew/core", - "terratag": "homebrew/core", "tf-summarize": "homebrew/core", "tfcmt": "homebrew/core", "tfmcp": "homebrew/core", "tfmv": "homebrew/core", "tfprovidercheck": "homebrew/core", "tfsort": "homebrew/core", - "tfstate-lookup": "homebrew-core", "tgpt": "homebrew/core", "threatcl": "homebrew/core", "tml": "homebrew/core", "todoist": "homebrew/core", - "toktop": "homebrew/core", - "torrra": "homebrew/core", - "tracetest": "homebrew/core", "trdsql": "homebrew/core", - "treemd": "homebrew/core", - "tuios": "homebrew/core", "tun2proxy": "homebrew/core", - "tweakcc": "homebrew/core", "twitch-cli": "homebrew/core", - "ty": "homebrew/core", "typioca": "homebrew/core", "typtea": "homebrew/core", "umka-lang": "homebrew/core", - "vgo": "homebrew/core", - "vibe-log-cli": "homebrew/core", "visidata": "homebrew/core", - "vtcode": "homebrew/core", - "wassette": "homebrew/core", "wishlist": "homebrew/core", "wrkflw": "homebrew/core", - "wuchale": "homebrew/core", - "xleak": "homebrew/core", "yamlfix": "homebrew/core", - "yamlresume": "homebrew-core", "yor": "homebrew/core", - "ytt": "homebrew/core", - "yuque-dl": "homebrew/core" + "ytt": "homebrew/core" }