homebrew-core/Formula/spigot.rb

69 lines
3.4 KiB
Ruby

class Spigot < Formula
desc "Command-line streaming exact real calculator"
homepage "https://www.chiark.greenend.org.uk/~sgtatham/spigot/"
url "https://www.chiark.greenend.org.uk/~sgtatham/spigot/spigot-20210527.7dd3cfd.tar.gz"
version "20210527"
sha256 "1014b79607cbb6cc8143c9b3a093f266144124d9a4552785e5779c1a072faadc"
license "MIT"
livecheck do
url :homepage
regex(/href=.*?spigot[._-]v?(\d+(?:\.\d+)*)(?:[._-][\da-z]+)?\.t/i)
end
bottle do
sha256 cellar: :any_skip_relocation, arm64_big_sur: "ea601301d75ed829ff918c22884199fef4a35afcffbdc03da464d7051b55d3e1"
sha256 cellar: :any_skip_relocation, big_sur: "daf9a73394d08cdfc2b5746b367112ea1790f924169d36e2ec288b201433b148"
sha256 cellar: :any_skip_relocation, catalina: "7a78a2d6416a800148fbd44f269865c3baacf150164f757459f9dbf622b41fa9"
sha256 cellar: :any_skip_relocation, mojave: "f7f31fcf972afaecdb231e4b7e413a98a7ec8f05f7d3e4717cc9128c7cae0fab"
sha256 cellar: :any_skip_relocation, x86_64_linux: "b0e15ff42ceacf124df8655ee07bebb44dcb0ee0a5f8785ab4da5c8b27ea1467"
end
depends_on "cmake" => :build
uses_from_macos "ncurses"
on_linux do
depends_on "gmp"
end
def install
mkdir "build" do
system "cmake", "..", *std_cmake_args
system "make", "install"
end
end
test do
# Get Ramanujan's number of decimal places of Tau in base10
expected = <<~EOS
6.28318530717958647692528676655900576839433879875021164194988918461563281
2572417997256069650684234135964296173026564613294187689219101164463450718
8162569622349005682054038770422111192892458979098607639288576219513318668
9225695129646757356633054240381829129713384692069722090865329642678721452
0498282547449174013212631176349763041841925658508183430728735785180720022
6610610976409330427682939038830232188661145407315191839061843722347638652
2358621023709614892475992549913470377150544978245587636602389825966734672
4881313286172042789892790449474381404359721887405541078434352586353504769
3496369353388102640011362542905271216555715426855155792183472743574429368
8180244990686029309917074210158455937851784708403991222425804392172806883
6319627259549542619921037414422699999996745956099902119463465632192637190
0489189106938166052850446165066893700705238623763420200062756775057731750
6641676284123435533829460719650698085751093746231912572776470757518750391
5563715561064342453613226003855753222391818432840397876190514402130971726
5577318723067636559364606039040706037059379915472451988277824994435505669
5826303114971448490830139190165906623372345571177815019676350927492987863
8510120801855403342278019697648025716723207127415320209420363885911192397
8935356748988965107595494536942080950692924160933685181389825866273540579
7830420950432411393204811607630038702250676486007117528049499294652782839
8545208539845593564709563272018683443282439849172630060572365949111413499
6770109891771738539913818544215950186059106423306899744055119204729613309
9823976366959550713273961485308505572510363683514934578195554558760016329
4120032290498384346434429544700282883947137096322722314705104266951483698
9368770466478147882866690955248337250379671389711241
EOS
assert_equal shell_output("#{bin}/spigot -d1729 tau").strip,
expected.delete!("\n")
end
end