class Freeling < Formula desc "Suite of language analyzers" homepage "http://nlp.lsi.upc.edu/freeling/" url "https://github.com/TALP-UPC/FreeLing/releases/download/4.2/FreeLing-src-4.2.tar.gz" sha256 "f96afbdb000d7375426644fb2f25baff9a63136dddce6551ea0fd20059bfce3b" license "AGPL-3.0-only" revision 3 bottle do sha256 arm64_big_sur: "c0857913542156ed8eb7ea65fcd8bb5b07f0ca37c6d188e0eded904a6cc42d87" sha256 big_sur: "f6760d014830eefcee51bd7ab4ef0e966f887bf716ad27ed90381fee71a8a583" sha256 catalina: "8d531505078e4e6e5fa07c3ba16a06fe003b6dedcde6864099840d46ad296838" sha256 mojave: "17538a9c8c90936cfda768deaec8104c2e8961de283a3919d4ce6b353439a54c" end depends_on "cmake" => :build depends_on "boost" depends_on "icu4c" conflicts_with "dynet", because: "freeling ships its own copy of dynet" conflicts_with "eigen", because: "freeling ships its own copy of eigen" conflicts_with "foma", because: "freeling ships its own copy of foma" conflicts_with "hunspell", because: "both install 'analyze' binary" def install # Allow compilation without extra data (more than 1 GB), should be fixed # in next release # https://github.com/TALP-UPC/FreeLing/issues/112 inreplace "CMakeLists.txt", "SET(languages \"as;ca;cs;cy;de;en;es;fr;gl;hr;it;nb;pt;ru;sl\")", "SET(languages \"en;es;pt\")" inreplace "CMakeLists.txt", "SET(variants \"es/es-old;es/es-ar;es/es-cl;ca/balear;ca/valencia\")", "SET(variants \"es/es-old;es/es-ar;es/es-cl\")" mkdir "build" do system "cmake", "..", *std_cmake_args system "make", "install" end libexec.install "#{bin}/fl_initialize" inreplace "#{bin}/analyze", ". $(cd $(dirname $0) && echo $PWD)/fl_initialize", ". #{libexec}/fl_initialize" end test do expected = <<~EOS Hello hello NN 1 world world NN 1 EOS assert_equal expected, pipe_output("#{bin}/analyze -f #{pkgshare}/config/en.cfg", "Hello world").chomp end end