116 lines
3.7 KiB
Ruby
116 lines
3.7 KiB
Ruby
class Ledger < Formula
|
|
desc "Command-line, double-entry accounting tool"
|
|
homepage "http://ledger-cli.org"
|
|
url "https://github.com/ledger/ledger/archive/v3.1.tar.gz"
|
|
sha1 "549aa375d4802e9dd4fd153c45ab64d8ede94afc"
|
|
head "https://github.com/ledger/ledger.git"
|
|
revision 1
|
|
|
|
bottle do
|
|
sha256 "a9caafb67ee6b9bef882d7dff8e24747f3997a84bacb82b456b96c5c6448e899" => :yosemite
|
|
sha256 "7c396585b474187340429297f151435a545c0ab0509f094461599f338eb8d045" => :mavericks
|
|
sha256 "a47cc33ddd2ef9df9921d1ad333eac68e791e32dad86b497c9abbe8bc707a5b2" => :mountain_lion
|
|
end
|
|
|
|
resource "utfcpp" do
|
|
url "https://downloads.sourceforge.net/project/utfcpp/utf8cpp_2x/Release%202.3.4/utf8_v2_3_4.zip"
|
|
sha256 "3373cebb25d88c662a2b960c4d585daf9ae7b396031ecd786e7bb31b15d010ef"
|
|
end
|
|
|
|
deprecated_option "debug" => "with-debug"
|
|
|
|
option "with-debug", "Build with debugging symbols enabled"
|
|
option "with-docs", "Build HTML documentation"
|
|
option "without-python", "Build without python support"
|
|
|
|
depends_on "cmake" => :build
|
|
depends_on "gmp"
|
|
depends_on "mpfr"
|
|
depends_on :python => :recommended if MacOS.version <= :snow_leopard
|
|
|
|
boost_opts = []
|
|
boost_opts << "c++11" if MacOS.version < "10.9"
|
|
depends_on "boost" => boost_opts
|
|
depends_on "boost-python" => boost_opts if build.with? "python"
|
|
|
|
stable do
|
|
# library shouldn't explicitly link a python framework
|
|
# https://github.com/ledger/ledger/pull/415
|
|
patch do
|
|
url "https://github.com/ledger/ledger/commit/5f08e27.diff"
|
|
sha256 "064b0e64d211224455511cd7b82736bb26e444c3af3b64936bec1501ed14c547"
|
|
end
|
|
|
|
# but the executable should
|
|
# https://github.com/ledger/ledger/pull/416
|
|
patch :DATA
|
|
|
|
# boost 1.58 compatibility
|
|
# https://github.com/ledger/ledger/pull/417
|
|
patch do
|
|
url "https://github.com/ledger/ledger/commit/2e02e0.diff"
|
|
sha256 "c1438cbf989995dd0b4bfa426578a8763544f28788ae76f9ff5d23f1b8b17add"
|
|
end
|
|
end
|
|
|
|
needs :cxx11
|
|
|
|
def install
|
|
ENV.cxx11
|
|
|
|
(buildpath/"lib/utfcpp").install resource("utfcpp") unless build.head?
|
|
resource("utfcpp").stage { include.install Dir["source/*"] }
|
|
|
|
flavor = (build.with? "debug") ? "debug" : "opt"
|
|
|
|
args = %W[
|
|
--jobs=#{ENV.make_jobs}
|
|
--output=build
|
|
--prefix=#{prefix}
|
|
--boost=#{Formula["boost"].opt_prefix}
|
|
]
|
|
|
|
args << "--python" if build.with? "python"
|
|
|
|
args += %w[-- -DBUILD_DOCS=1]
|
|
args << "-DBUILD_WEB_DOCS=1" if build.with? "docs"
|
|
|
|
system "./acprep", flavor, "make", *args
|
|
system "./acprep", flavor, "make", "doc", *args
|
|
system "./acprep", flavor, "make", "install", *args
|
|
(share+"ledger/examples").install Dir["test/input/*.dat"]
|
|
(share+"ledger").install "contrib"
|
|
(share+"ledger").install "python/demo.py" if build.with? "python"
|
|
(share/"emacs/site-lisp/ledger").install Dir["lisp/*.el", "lisp/*.elc"]
|
|
end
|
|
|
|
test do
|
|
balance = testpath/"output"
|
|
system bin/"ledger",
|
|
"--args-only",
|
|
"--file", share/"ledger/examples/sample.dat",
|
|
"--output", balance,
|
|
"balance", "--collapse", "equity"
|
|
assert_equal " $-2,500.00 Equity", balance.read.chomp
|
|
assert_equal 0, $?.exitstatus
|
|
|
|
if build.with? "python"
|
|
system "python", "#{share}/ledger/demo.py"
|
|
end
|
|
end
|
|
end
|
|
__END__
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
index a368d37..570a659 100644
|
|
--- a/src/CMakeLists.txt
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -273,6 +273,9 @@ if (BUILD_LIBRARY)
|
|
|
|
add_executable(ledger main.cc global.cc)
|
|
target_link_libraries(ledger libledger)
|
|
+ if (APPLE AND HAVE_BOOST_PYTHON)
|
|
+ target_link_libraries(ledger ${PYTHON_LIBRARIES})
|
|
+ endif()
|
|
|
|
install(TARGETS libledger DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
install(FILES ${LEDGER_INCLUDES}
|