Thank you, this fixed all my build problems.
On Tue, Mar 15 2016, Florian Stinglmayr wrote:
> On Mon, Mar 14, 2016 at 06:12:27PM -0500, Matthew Martin wrote:
>> Compiles and works for my ledger file (but I started using ledger after
>> your first mail). Only tests 1, 3, 4, and 5 pass for me; the other 339
>> fail. Is this expected?
>>
>
> Well. The patch below fixes all tests except a handful that need python.
> Readding python breaks the build process however. I will look into this
> further, but for now
>
> NO_TEST = Yes
>
> Regards,
> Florian
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/productivity/ledger/Makefile,v
> retrieving revision 1.14
> diff -u -p -u -r1.14 Makefile
> --- Makefile 7 Aug 2013 21:58:00 -0000 1.14
> +++ Makefile 15 Mar 2016 18:00:03 -0000
> @@ -1,44 +1,51 @@
> # $OpenBSD: Makefile,v 1.14 2013/08/07 21:58:00 naddy Exp $
>
> COMMENT= command line double-entry accounting ledger
> +V= 3.1.1
>
> -DISTNAME= ledger-2.6.3
> -REVISION= 2
> +DISTNAME= ${GH_PROJECT}-${V}
> CATEGORIES= productivity
>
> HOMEPAGE= http://www.ledger-cli.org/
>
> MAINTAINER= Sergey Bronnikov <[email protected]>
>
> -SHARED_LIBS= amounts 0.0
> +SHARED_LIBS= ledger 0.0
>
> # BSD
> PERMIT_PACKAGE_CDROM= Yes
>
> -MASTER_SITES= https://github.com/downloads/jwiegley/ledger/
> +GH_ACCOUNT = ledger
> +GH_PROJECT = ledger
> +GH_TAGNAME = v${V}
> +
> +WANTLIB+= boost_date_time-mt boost_filesystem-mt boost_iostreams-mt
> +WANTLIB+= boost_regex-mt boost_system-mt boost_unit_test_framework-mt
> +WANTLIB+= c estdc++ gmp>=4 m mpfr pthread
> +
> +BUILD_DEPENDS= lang/gcc/4.9,-c++>=4.9 \
> + devel/cmake
> +
> +LIB_DEPENDS= devel/boost \
> + devel/gmp \
> + devel/mpfr \
> + ${MODGCC4_CPPLIBDEP}
>
> -WANTLIB= c gmp>=4 m pcre stdc++
> +MODULES= devel/cmake \
> + gcc4
>
> -LIB_DEPENDS= devel/gmp \
> - devel/pcre
> +MODGCC4_LANGS= c++
> +MODGCC4_ARCHS= *
>
> SEPARATE_BUILD= Yes
>
> +CONFIGURE_ENV= CC=egcc CXX=eg++
> +CONFIGURE_ARGS= -DUSE_PYTHON=OFF -DBUILD_LIBRARY=ON
>
> -CONFIGURE_STYLE=gnu
> -CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
> - LDFLAGS="-L${LOCALBASE}/lib" \
> - EMACS=no
> -CONFIGURE_ARGS= --disable-xml \
> - --disable-ofx
> +NO_TEST = Yes
>
> post-install:
> - ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/ledger
> - ${INSTALL_DATA} ${WRKSRC}/scripts/* ${PREFIX}/share/doc/ledger
> -.for f in ledger.texi ledger.vim
> - ${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/share/doc/ledger
> -.endfor
> ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/ledger
> - ${INSTALL_DATA} ${WRKSRC}/sample.dat ${PREFIX}/share/examples/ledger
> + ${INSTALL_DATA} ${WRKSRC}/test/input/sample.dat
> ${PREFIX}/share/examples/ledger
>
> .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/productivity/ledger/distinfo,v
> retrieving revision 1.5
> diff -u -p -u -r1.5 distinfo
> --- distinfo 18 Jan 2015 03:14:59 -0000 1.5
> +++ distinfo 15 Mar 2016 18:00:03 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (ledger-2.6.3.tar.gz) = s+zQF0o1ALuW/gR2F7HuhwzFGW3rAjA5PZM9zq639xc=
> -SIZE (ledger-2.6.3.tar.gz) = 660752
> +SHA256 (ledger-3.1.1.tar.gz) = kPBlYatpKxktRtZ7wQYVjanGxoE8w4SLUDJDqd/YVIo=
> +SIZE (ledger-3.1.1.tar.gz) = 842364
> Index: patches/patch-src_CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-src_CMakeLists_txt
> diff -N patches/patch-src_CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_CMakeLists_txt 15 Mar 2016 18:00:03 -0000
> @@ -0,0 +1,53 @@
> +$OpenBSD$
> +--- src/CMakeLists.txt.orig Mon Jan 11 16:59:38 2016
> ++++ src/CMakeLists.txt Tue Mar 15 17:26:08 2016
> +@@ -263,21 +263,21 @@ include(GNUInstallDirs)
> +
> + if (BUILD_LIBRARY)
> + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
> +- add_library(libledger SHARED ${LEDGER_SOURCES})
> +- add_ledger_library_dependencies(libledger)
> +- set_target_properties(libledger PROPERTIES
> +- PREFIX ""
> ++ add_library(ledger SHARED ${LEDGER_SOURCES})
> ++ add_ledger_library_dependencies(ledger)
> ++ set_target_properties(ledger PROPERTIES
> + INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
> + VERSION ${Ledger_VERSION_MAJOR}
> + SOVERSION ${Ledger_VERSION_MAJOR})
> +
> +- add_executable(ledger main.cc global.cc)
> +- target_link_libraries(ledger libledger)
> ++ add_executable(ledger-bin main.cc global.cc)
> ++ set_target_properties(ledger-bin PROPERTIES OUTPUT_NAME ledger)
> ++ target_link_libraries(ledger-bin ledger)
> + if (CMAKE_SYSTEM_NAME STREQUAL Darwin AND HAVE_BOOST_PYTHON)
> +- target_link_libraries(ledger ${PYTHON_LIBRARIES})
> ++ target_link_libraries(ledger-bin ${PYTHON_LIBRARIES})
> + endif()
> +
> +- install(TARGETS libledger DESTINATION ${CMAKE_INSTALL_LIBDIR})
> ++ install(TARGETS ledger DESTINATION ${CMAKE_INSTALL_LIBDIR})
> + install(FILES ${LEDGER_INCLUDES}
> + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ledger)
> + else()
> +@@ -308,9 +308,9 @@ print(s.get_python_lib(True, prefix=''))"
> + # execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink ...).
> + # Windows will need a special case due to not supporting symlinks.
> + add_custom_command(
> +- TARGET libledger POST_BUILD
> ++ TARGET ledger POST_BUILD
> + COMMAND ${CMAKE_COMMAND} -E copy_if_different
> +- $<TARGET_FILE:libledger>
> "${CMAKE_BINARY_DIR}/${_ledger_python_module_name}")
> ++ $<TARGET_FILE:ledger-bin>
> "${CMAKE_BINARY_DIR}/${_ledger_python_module_name}")
> + install(
> + FILES "${CMAKE_BINARY_DIR}/${_ledger_python_module_name}"
> + DESTINATION ${PYTHON_SITE_PACKAGES})
> +@@ -319,6 +319,6 @@ print(s.get_python_lib(True, prefix=''))"
> + endif()
> + endif()
> +
> +-install(TARGETS ledger DESTINATION ${CMAKE_INSTALL_BINDIR})
> ++install(TARGETS ledger-bin DESTINATION ${CMAKE_INSTALL_BINDIR})
> +
> + ### CMakeLists.txt ends here
> Index: patches/patch-test_CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-test_CMakeLists_txt
> diff -N patches/patch-test_CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-test_CMakeLists_txt 15 Mar 2016 18:00:03 -0000
> @@ -0,0 +1,30 @@
> +$OpenBSD$
> +--- test/CMakeLists.txt.orig Tue Mar 15 17:27:29 2016
> ++++ test/CMakeLists.txt Tue Mar 15 17:25:38 2016
> +@@ -23,7 +23,7 @@ macro(add_ledger_harness_tests _class)
> + if ((TestFile_IsPythonTest EQUAL -1) OR HAVE_BOOST_PYTHON)
> + add_test(NAME ${_class}Test_${TestFile_Name}
> + COMMAND ${PYTHON_EXECUTABLE}
> ${PROJECT_SOURCE_DIR}/test/RegressTests.py
> +- $<TARGET_FILE:ledger> ${PROJECT_SOURCE_DIR}
> ++ $<TARGET_FILE:ledger-bin> ${PROJECT_SOURCE_DIR}
> + ${TestFile} ${TEST_PYTHON_FLAGS})
> + set_tests_properties(${_class}Test_${TestFile_Name}
> + PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
> +@@ -45,7 +45,7 @@ if (PYTHONINTERP_FOUND)
> + get_filename_component(TestFile_Name ${TestFile} NAME_WE)
> + add_test(NAME ${_class}Test_${TestFile_Name}
> + COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py
> +- --ledger $<TARGET_FILE:ledger> --file ${TestFile})
> ++ --ledger $<TARGET_FILE:ledger-bin> --file ${TestFile})
> + set_tests_properties(${_class}Test_${TestFile_Name}
> + PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
> + set_target_properties(check
> +@@ -58,7 +58,7 @@ if (PYTHONINTERP_FOUND)
> + foreach(_class ${CheckOptions})
> + add_test(NAME ${_class}
> + COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py
> +- --ledger $<TARGET_FILE:ledger> --source ${PROJECT_SOURCE_DIR})
> ++ --ledger $<TARGET_FILE:ledger-bin> --source ${PROJECT_SOURCE_DIR})
> + set_tests_properties(${_class}
> + PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
> + endforeach()
> Index: patches/patch-test_unit_CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-test_unit_CMakeLists_txt
> diff -N patches/patch-test_unit_CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-test_unit_CMakeLists_txt 15 Mar 2016 18:00:03 -0000
> @@ -0,0 +1,10 @@
> +$OpenBSD$
> +--- test/unit/CMakeLists.txt.orig Wed Jan 13 21:53:23 2016
> ++++ test/unit/CMakeLists.txt Wed Jan 13 21:53:33 2016
> +@@ -1,5 +1,5 @@
> + macro(add_ledger_test _name)
> +- target_link_libraries(${_name} libledger)
> ++ target_link_libraries(${_name} ledger)
> + add_test(Ledger${_name} ${PROJECT_BINARY_DIR}/${_name})
> + set_tests_properties(Ledger${_name}
> + PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
> Index: pkg/PFRAG.shared
> ===================================================================
> RCS file: /cvs/ports/productivity/ledger/pkg/PFRAG.shared,v
> retrieving revision 1.1
> diff -u -p -u -r1.1 PFRAG.shared
> --- pkg/PFRAG.shared 14 Oct 2010 00:02:24 -0000 1.1
> +++ pkg/PFRAG.shared 15 Mar 2016 18:00:03 -0000
> @@ -1,4 +0,0 @@
> -@comment $OpenBSD: PFRAG.shared,v 1.1 2010/10/14 00:02:24 jim Exp $
> -@lib lib/libamounts.so.${LIBamounts_VERSION}
> -lib/libledger-2.6.3.so
> -lib/libledger.so
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/productivity/ledger/pkg/PLIST,v
> retrieving revision 1.2
> diff -u -p -u -r1.2 PLIST
> --- pkg/PLIST 14 Oct 2010 00:02:24 -0000 1.2
> +++ pkg/PLIST 15 Mar 2016 18:00:03 -0000
> @@ -1,55 +1,67 @@
> @comment $OpenBSD: PLIST,v 1.2 2010/10/14 00:02:24 jim Exp $
> -%%SHARED%%
> @bin bin/ledger
> include/ledger/
> -include/ledger/acconf.h
> +include/ledger/account.h
> include/ledger/amount.h
> +include/ledger/annotate.h
> include/ledger/balance.h
> -include/ledger/binary.h
> -include/ledger/config.h
> +include/ledger/chain.h
> +include/ledger/commodity.h
> +include/ledger/compare.h
> +include/ledger/context.h
> +include/ledger/convert.h
> include/ledger/csv.h
> -include/ledger/datetime.h
> -include/ledger/debug.h
> -include/ledger/derive.h
> +include/ledger/draft.h
> include/ledger/emacs.h
> include/ledger/error.h
> +include/ledger/expr.h
> +include/ledger/exprbase.h
> +include/ledger/filters.h
> +include/ledger/flags.h
> include/ledger/format.h
> -include/ledger/gnucash.h
> +include/ledger/generate.h
> +include/ledger/global.h
> +include/ledger/history.h
> +include/ledger/item.h
> +include/ledger/iterators.h
> include/ledger/journal.h
> -include/ledger/ledger.h
> +include/ledger/lookup.h
> include/ledger/mask.h
> -include/ledger/ofx.h
> +include/ledger/op.h
> include/ledger/option.h
> +include/ledger/org.h
> +include/ledger/output.h
> include/ledger/parser.h
> -include/ledger/qif.h
> +include/ledger/pool.h
> +include/ledger/post.h
> +include/ledger/precmd.h
> +include/ledger/predicate.h
> +include/ledger/print.h
> +include/ledger/pstream.h
> +include/ledger/ptree.h
> +include/ledger/pyfstream.h
> +include/ledger/pyinterp.h
> +include/ledger/pyutils.h
> +include/ledger/query.h
> include/ledger/quotes.h
> -include/ledger/reconcile.h
> include/ledger/report.h
> -include/ledger/textual.h
> -include/ledger/timing.h
> -include/ledger/util.h
> -include/ledger/valexpr.h
> +include/ledger/scope.h
> +include/ledger/select.h
> +include/ledger/session.h
> +include/ledger/stats.h
> +include/ledger/stream.h
> +include/ledger/strptime.h
> +include/ledger/system.hh
> +include/ledger/temps.h
> +include/ledger/timelog.h
> +include/ledger/times.h
> +include/ledger/token.h
> +include/ledger/unistring.h
> +include/ledger/utils.h
> include/ledger/value.h
> -include/ledger/walk.h
> -include/ledger/xml.h
> -@info info/ledger.info
> -lib/libamounts.a
> -lib/libamounts.la
> -lib/libledger.a
> -lib/libledger.la
> -share/doc/ledger/
> -share/doc/ledger/README
> -share/doc/ledger/bal
> -share/doc/ledger/bal-huquq
> -share/doc/ledger/entry
> -share/doc/ledger/getquote
> -share/doc/ledger/ledger-du
> -share/doc/ledger/ledger.texi
> -share/doc/ledger/ledger.vim
> -share/doc/ledger/report
> -share/doc/ledger/tc
> -share/doc/ledger/ti
> -share/doc/ledger/to
> -share/doc/ledger/trend
> +include/ledger/views.h
> +include/ledger/xact.h
> +@lib lib/libledger.so.${LIBledger_VERSION}
> +@man man/man1/ledger.1
> share/examples/ledger/
> share/examples/ledger/sample.dat