Date: Thu, 21 Jun 2018 11:06:10 +0000 (UTC) From: Kurt Jaeger <pi@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r472970 - in head/math: . cvc4 cvc4/files Message-ID: <201806211106.w5LB6A90040673@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: pi Date: Thu Jun 21 11:06:10 2018 New Revision: 472970 URL: https://svnweb.freebsd.org/changeset/ports/472970 Log: New port: math/cvc4 An efficient open-source automatic theorem prover for satisfiability modulo theories (SMT) problems. It can be used to prove the validity (or, dually, the satisfiability) of first-order formulas in a large number of built-in logical theories and their combination. WWW: https://cvc4.cs.stanford.edu/web/ PR: 227702 Submitted by: Greg V <greg@unrelenting.technology> Added: head/math/cvc4/ head/math/cvc4/Makefile (contents, props changed) head/math/cvc4/distinfo (contents, props changed) head/math/cvc4/files/ head/math/cvc4/files/patch-src_base_configuration.cpp (contents, props changed) head/math/cvc4/files/patch-src_main_portfolio.cpp (contents, props changed) head/math/cvc4/pkg-descr (contents, props changed) head/math/cvc4/pkg-plist (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Thu Jun 21 09:37:13 2018 (r472969) +++ head/math/Makefile Thu Jun 21 11:06:10 2018 (r472970) @@ -166,6 +166,7 @@ SUBDIR += crlibm SUBDIR += cryptominisat SUBDIR += cvc3 + SUBDIR += cvc4 SUBDIR += diehard SUBDIR += dieharder SUBDIR += djbfft Added: head/math/cvc4/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/cvc4/Makefile Thu Jun 21 11:06:10 2018 (r472970) @@ -0,0 +1,74 @@ +# $FreeBSD$ + +PORTNAME= cvc4 +PORTVERSION= 1.5 +CATEGORIES= math java +MASTER_SITES= https://cvc4.cs.stanford.edu/downloads/builds/src/ + +MAINTAINER= greg@unrelenting.technology +COMMENT= Automatic theorem prover for SMT (Satisfiability Modulo Theories) + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/COPYING + +LIB_DEPENDS= libantlr3c.so:devel/libantlr3c \ + libboost_system.so:devel/boost-libs +BUILD_DEPENDS= gexpr:sysutils/coreutils \ + bash:shells/bash \ + antlr3:devel/antlr3 + +USES= compiler:c++11-lang pkgconfig gmake libtool shebangfix localbase +USE_JAVA= yes +JAVA_BUILD= yes + +GNU_CONFIGURE= yes +CONFIGURE_ARGS+= --disable-dependency-tracking \ + --with-swig=${LOCALBASE}/bin/swig3.0 \ + ANTLR=${LOCALBASE}/bin/antlr3 +CONFIGURE_SHELL= ${LOCALBASE}/bin/bash +USE_LDCONFIG= yes +SHEBANG_FILES= src/mk* src/theory/mk* src/base/mk* src/expr/mk* src/options/mk* test/regress/run_regression + +OPTIONS_DEFINE= JAVA READLINE DEBUG +OPTIONS_RADIO= NUMLIB +OPTIONS_RADIO_NUMLIB= GMP CLN +OPTIONS_DEFAULT= READLINE CLN +OPTIONS_SUB= yes + +GMP_DESC= Use GMP numeric library +CLN_DESC= Use CLN numeric library (disables portfolio mode) + +JAVA_CONFIGURE_ON= --enable-language-bindings=c,c++,java \ + JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/freebsd" \ + JAVAC=${JAVAC} JAVAH=${JAVAH} JAR=${JAR} +JAVA_CONFIGURE_OFF= --enable-language-bindings=c,c++ +JAVA_BUILD_DEPENDS= swig3.0:devel/swig30 + +READLINE_CONFIGURE_WITH= readline +READLINE_USES= readline + +GMP_CONFIGURE_WITH= gmp +GMP_CONFIGURE_ON= --with-portfolio +GMP_LIB_DEPENDS= libgmp.so:math/gmp \ + libboost_thread.so:devel/boost-libs +# note: CVC4 already depends on boost-libs, so portfolio mode is "free" in terms of pkg dependencies + +CLN_CONFIGURE_WITH= cln +CLN_LIB_DEPENDS= libcln.so:math/cln \ + libgmp.so:math/gmp + +DEBUG_CONFIGURE_ON= --with-build=debug +DEBUG_CONFIGURE_OFF= --with-build=production +DEBUG_INSTALL_TARGET_OFF= install-strip + +post-patch: + ${REINPLACE_CMD} -e 's|expr |gexpr |g' ${WRKSRC}/src/options/mkoptions + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MREADLINE} || ${PORT_OPTIONS:MCLN} +LICENSE= GPLv3 +CONFIGURE_ARGS+= --enable-gpl +.endif + +.include <bsd.port.mk> Added: head/math/cvc4/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/cvc4/distinfo Thu Jun 21 11:06:10 2018 (r472970) @@ -0,0 +1,3 @@ +TIMESTAMP = 1524235369 +SHA256 (cvc4-1.5.tar.gz) = 5d6b4f8ee8420f85e3f804181341cedf6ea32342c48f355a5be87754152b14e9 +SIZE (cvc4-1.5.tar.gz) = 8059968 Added: head/math/cvc4/files/patch-src_base_configuration.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/cvc4/files/patch-src_base_configuration.cpp Thu Jun 21 11:06:10 2018 (r472970) @@ -0,0 +1,11 @@ +--- src/base/configuration.cpp.orig 2018-04-22 17:53:43 UTC ++++ src/base/configuration.cpp +@@ -291,7 +291,7 @@ std::string Configuration::getCompiler() { + } + + std::string Configuration::getCompiledDateTime() { +- return __DATE__ " " __TIME__; ++ return "(timestamp removed for reproducible builds)"; + } + + }/* CVC4 namespace */ Added: head/math/cvc4/files/patch-src_main_portfolio.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/cvc4/files/patch-src_main_portfolio.cpp Thu Jun 21 11:06:10 2018 (r472970) @@ -0,0 +1,24 @@ +--- src/main/portfolio.cpp.orig 2018-04-22 17:42:48 UTC ++++ src/main/portfolio.cpp +@@ -18,6 +18,9 @@ + #include <boost/bind.hpp> + #include <boost/thread/condition.hpp> + #include <boost/exception_ptr.hpp> ++#ifdef __FreeBSD__ ++#include <pthread_np.h> ++#endif + + #include "base/output.h" + #include "options/options.h" +@@ -100,7 +103,11 @@ std::pair<int, S> runPortfolio(int numThreads, + void *stackaddr; + size_t stacksize; + pthread_attr_t attr; ++#ifdef __linux__ + pthread_getattr_np(threads[t].native_handle(), &attr); ++#elif __FreeBSD__ ++ pthread_attr_get_np(threads[t].native_handle(), &attr); ++#endif + pthread_attr_getstack(&attr, &stackaddr, &stacksize); + Chat() << "Created worker thread " << t << " with stack size " << stacksize << std::endl; + } Added: head/math/cvc4/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/cvc4/pkg-descr Thu Jun 21 11:06:10 2018 (r472970) @@ -0,0 +1,6 @@ +An efficient open-source automatic theorem prover for satisfiability modulo +theories (SMT) problems. It can be used to prove the validity (or, dually, the +satisfiability) of first-order formulas in a large number of built-in logical +theories and their combination. + +WWW: https://cvc4.cs.stanford.edu/web/ Added: head/math/cvc4/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/cvc4/pkg-plist Thu Jun 21 11:06:10 2018 (r472970) @@ -0,0 +1,130 @@ +bin/cvc4 +bin/lfsc-checker +%%GMP%%bin/pcvc4 +include/cvc4/base/configuration.h +include/cvc4/base/exception.h +include/cvc4/base/listener.h +include/cvc4/base/modal_exception.h +include/cvc4/base/ptr_closer.h +include/cvc4/base/tls.h +include/cvc4/bindings/compat/c/c_interface.h +include/cvc4/bindings/compat/c/c_interface_defs.h +include/cvc4/compat/cvc3_compat.h +include/cvc4/context/cdhashmap_forward.h +include/cvc4/context/cdhashset_forward.h +include/cvc4/context/cdinsert_hashmap_forward.h +include/cvc4/context/cdlist_forward.h +include/cvc4/context/cdtrail_hashmap_forward.h +include/cvc4/cvc4.h +include/cvc4/cvc4_private.h +include/cvc4/cvc4_private_library.h +include/cvc4/cvc4_public.h +include/cvc4/cvc4parser_private.h +include/cvc4/cvc4parser_public.h +include/cvc4/expr/array.h +include/cvc4/expr/array_store_all.h +include/cvc4/expr/ascription_type.h +include/cvc4/expr/chain.h +include/cvc4/expr/datatype.h +include/cvc4/expr/emptyset.h +include/cvc4/expr/expr.h +include/cvc4/expr/expr_iomanip.h +include/cvc4/expr/expr_manager.h +include/cvc4/expr/expr_manager_template.h +include/cvc4/expr/expr_stream.h +include/cvc4/expr/expr_template.h +include/cvc4/expr/kind.h +include/cvc4/expr/kind_template.h +include/cvc4/expr/pickler.h +include/cvc4/expr/predicate.h +include/cvc4/expr/record.h +include/cvc4/expr/symbol_table.h +include/cvc4/expr/type.h +include/cvc4/expr/uninterpreted_constant.h +include/cvc4/expr/variable_type_map.h +include/cvc4/options/argument_extender.h +include/cvc4/options/arith_heuristic_pivot_rule.h +include/cvc4/options/arith_propagation_mode.h +include/cvc4/options/arith_unate_lemma_mode.h +include/cvc4/options/language.h +include/cvc4/options/option_exception.h +include/cvc4/options/options.h +include/cvc4/options/printer_modes.h +include/cvc4/options/quantifiers_modes.h +include/cvc4/options/set_language.h +include/cvc4/options/simplification_mode.h +include/cvc4/options/theoryof_mode.h +include/cvc4/parser/input.h +include/cvc4/parser/parser.h +include/cvc4/parser/parser_builder.h +include/cvc4/parser/parser_exception.h +include/cvc4/proof/unsat_core.h +include/cvc4/smt/command.h +include/cvc4/smt/logic_exception.h +include/cvc4/smt/smt_engine.h +include/cvc4/smt_util/lemma_channels.h +include/cvc4/smt_util/lemma_input_channel.h +include/cvc4/smt_util/lemma_output_channel.h +include/cvc4/theory/logic_info.h +include/cvc4/theory/theory_test_utils.h +include/cvc4/util/abstract_value.h +include/cvc4/util/bitvector.h +include/cvc4/util/bool.h +include/cvc4/util/cardinality.h +include/cvc4/util/channel.h +include/cvc4/util/divisible.h +include/cvc4/util/floatingpoint.h +include/cvc4/util/gmp_util.h +include/cvc4/util/hash.h +include/cvc4/util/integer.h +include/cvc4/util/integer_cln_imp.h +include/cvc4/util/integer_gmp_imp.h +include/cvc4/util/proof.h +include/cvc4/util/rational.h +include/cvc4/util/rational_cln_imp.h +include/cvc4/util/rational_gmp_imp.h +include/cvc4/util/regexp.h +include/cvc4/util/resource_manager.h +include/cvc4/util/result.h +include/cvc4/util/sexpr.h +include/cvc4/util/statistics.h +include/cvc4/util/subrange_bound.h +include/cvc4/util/tuple.h +include/cvc4/util/unsafe_interrupt_exception.h +%%JAVA%%lib/jni/libcvc4compatjni.so +%%JAVA%%lib/jni/libcvc4compatjni.so.4 +%%JAVA%%lib/jni/libcvc4compatjni.so.4.0.0 +%%JAVA%%lib/jni/libcvc4jni.so +%%JAVA%%lib/jni/libcvc4jni.so.4 +%%JAVA%%lib/jni/libcvc4jni.so.4.0.0 +lib/libcvc4.so +lib/libcvc4.so.4 +lib/libcvc4.so.4.0.0 +lib/libcvc4bindings_c_compat.so +lib/libcvc4bindings_c_compat.so.4 +lib/libcvc4bindings_c_compat.so.4.0.0 +lib/libcvc4compat.so +lib/libcvc4compat.so.4 +lib/libcvc4compat.so.4.0.0 +lib/libcvc4parser.so +lib/libcvc4parser.so.4 +lib/libcvc4parser.so.4.0.0 +man/man1/cvc4.1.gz +%%GMP%%man/man1/pcvc4.1.gz +man/man3/SmtEngine.3cvc.gz +man/man3/libcvc4.3.gz +man/man3/libcvc4compat.3.gz +man/man3/libcvc4parser.3.gz +man/man3/options.3cvc.gz +man/man5/cvc4.5.gz +%%DATADIR%%/sat.plf +%%DATADIR%%/smt.plf +%%DATADIR%%/th_arrays.plf +%%DATADIR%%/th_base.plf +%%DATADIR%%/th_bv.plf +%%DATADIR%%/th_bv_bitblast.plf +%%DATADIR%%/th_bv_rewrites.plf +%%DATADIR%%/th_int.plf +%%DATADIR%%/th_real.plf +%%JAVA%%share/java/CVC4.jar +%%JAVA%%share/java/CVC4compat.jar
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806211106.w5LB6A90040673>