From owner-svn-ports-all@freebsd.org Fri Dec 14 17:34:04 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EE77D133CD78; Fri, 14 Dec 2018 17:34:03 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 93E538822A; Fri, 14 Dec 2018 17:34:03 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 872D82A1E; Fri, 14 Dec 2018 17:34:03 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id wBEHY361091147; Fri, 14 Dec 2018 17:34:03 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id wBEHY2oJ091139; Fri, 14 Dec 2018 17:34:02 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <201812141734.wBEHY2oJ091139@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Fri, 14 Dec 2018 17:34:02 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r487452 - in head/devel: . ikos ikos/files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/devel: . ikos ikos/files X-SVN-Commit-Revision: 487452 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 93E538822A X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.69 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-0.85)[-0.851,0]; NEURAL_HAM_SHORT(-0.96)[-0.959,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-0.88)[-0.878,0] X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Dec 2018 17:34:04 -0000 Author: yuri Date: Fri Dec 14 17:34:01 2018 New Revision: 487452 URL: https://svnweb.freebsd.org/changeset/ports/487452 Log: New port: devel/ikos: Static analyzer for C/C++ based on theory of abstract interpretation Added: head/devel/ikos/ head/devel/ikos/Makefile (contents, props changed) head/devel/ikos/distinfo (contents, props changed) head/devel/ikos/files/ head/devel/ikos/files/patch-analyzer_python_ikos_analyzer.py (contents, props changed) head/devel/ikos/pkg-descr (contents, props changed) head/devel/ikos/pkg-plist (contents, props changed) Modified: head/devel/Makefile Modified: head/devel/Makefile ============================================================================== --- head/devel/Makefile Fri Dec 14 17:30:47 2018 (r487451) +++ head/devel/Makefile Fri Dec 14 17:34:01 2018 (r487452) @@ -1232,6 +1232,7 @@ SUBDIR += ignition-plugin SUBDIR += ignition-tools SUBDIR += ignition-transport + SUBDIR += ikos SUBDIR += imake SUBDIR += inastemp SUBDIR += include-what-you-use Added: head/devel/ikos/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/ikos/Makefile Fri Dec 14 17:34:01 2018 (r487452) @@ -0,0 +1,35 @@ +# $FreeBSD$ + +PORTNAME= ikos +DISTVERSIONPREFIX= v +DISTVERSION= 2.1 +CATEGORIES= devel + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Static analyzer for C/C++ based on theory of abstract interpretation + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.pdf + +BUILD_DEPENDS= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} +LIB_DEPENDS= libboost_system.so:devel/boost-libs \ + libgmp.so:math/gmp + +USES= cmake:outsource python sqlite +USE_GITHUB= yes +GH_ACCOUNT= NASA-SW-VnV + +CXXFLAGS+= -DNDEBUG # https://github.com/NASA-SW-VnV/ikos/issues/36, it also breaks with assert without NDEBUG + +CMAKE_ARGS= -DLLVM_CONFIG_EXECUTABLE:PATH=${LOCALBASE}/bin/llvm-config${LLVM_DEFAULT} \ + -DPYTHON_EXECUTABLE:STRING=${PYTHON_CMD} + +post-configure: # workaround for the problem that --color-diagnostics gets into the linker command lines + @${REINPLACE_CMD} 's|-Wl,--color-diagnostics| |' ${BUILD_WRKSRC}/build.ninja + +# use clang corresponding to the used llvm version +CPP= clang-cpp${LLVM_DEFAULT} +CC= clang${LLVM_DEFAULT} +CXX= clang++${LLVM_DEFAULT} + +.include Added: head/devel/ikos/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/ikos/distinfo Fri Dec 14 17:34:01 2018 (r487452) @@ -0,0 +1,3 @@ +TIMESTAMP = 1544771357 +SHA256 (NASA-SW-VnV-ikos-v2.1_GH0.tar.gz) = bd5e75a2a94fafc3d1cd01eb6541da458a10c7674e7ae29eb211642c526f1407 +SIZE (NASA-SW-VnV-ikos-v2.1_GH0.tar.gz) = 1042131 Added: head/devel/ikos/files/patch-analyzer_python_ikos_analyzer.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/ikos/files/patch-analyzer_python_ikos_analyzer.py Fri Dec 14 17:34:01 2018 (r487452) @@ -0,0 +1,17 @@ +--- analyzer/python/ikos/analyzer.py.orig 2018-12-14 07:13:50 UTC ++++ analyzer/python/ikos/analyzer.py +@@ -554,10 +554,10 @@ def clang(bc_path, cpp_path, colors=True + # For #include + cmd += ['-isystem', settings.INCLUDE_DIR] + +- if colors: +- cmd.append('-fcolor-diagnostics') +- else: +- cmd.append('-fno-color-diagnostics') ++ #if colors: ++ # cmd.append('-fcolor-diagnostics') ++ #else: ++ # cmd.append('-fno-color-diagnostics') + + if cpp_path.endswith('.cpp'): + cmd.append('-std=c++14') # available because clang >= 4.0 Added: head/devel/ikos/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/ikos/pkg-descr Fri Dec 14 17:34:01 2018 (r487452) @@ -0,0 +1,13 @@ +IKOS (Inference Kernel for Open Static Analyzers) is a static analyzer for C/C++ +based on the theory of Abstract Interpretation. + +IKOS provides a generic and efficient implementation of state-of-the-art +Abstract Interpretation data structures and algorithms, such as control-flow +graphs, fixpoint iterators, numerical abstract domains, etc. IKOS is independent +of a particular programming language. + +IKOS also provides a C and C++ static analyzer based on LLVM. It implements +scalable analyses for detecting and proving the absence of runtime errors in C +and C++ programs. + +WWW: https://github.com/NASA-SW-VnV/ikos Added: head/devel/ikos/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/ikos/pkg-plist Fri Dec 14 17:34:01 2018 (r487452) @@ -0,0 +1,212 @@ +bin/ikos +bin/ikos-analyzer +bin/ikos-config +bin/ikos-import +bin/ikos-pp +bin/ikos-report +bin/ikos-scan +bin/ikos-scan-c++ +bin/ikos-scan-cc +bin/ikos-view +include/ikos/analyzer/intrinsic.h +include/ikos/ar/format/dot.hpp +include/ikos/ar/format/formatter.hpp +include/ikos/ar/format/namer.hpp +include/ikos/ar/format/text.hpp +include/ikos/ar/pass/add_loop_counters.hpp +include/ikos/ar/pass/name_values.hpp +include/ikos/ar/pass/pass.hpp +include/ikos/ar/pass/simplify_cfg.hpp +include/ikos/ar/pass/simplify_upcast_comparison.hpp +include/ikos/ar/pass/unify_exit_nodes.hpp +include/ikos/ar/semantic.hpp +include/ikos/ar/semantic/bundle.hpp +include/ikos/ar/semantic/code.hpp +include/ikos/ar/semantic/context.hpp +include/ikos/ar/semantic/data_layout.hpp +include/ikos/ar/semantic/function.hpp +include/ikos/ar/semantic/intrinsic.hpp +include/ikos/ar/semantic/statement.hpp +include/ikos/ar/semantic/statement_visitor.hpp +include/ikos/ar/semantic/type.hpp +include/ikos/ar/semantic/type_visitor.hpp +include/ikos/ar/semantic/value.hpp +include/ikos/ar/semantic/value_visitor.hpp +include/ikos/ar/support/assert.hpp +include/ikos/ar/support/cast.hpp +include/ikos/ar/support/flags.hpp +include/ikos/ar/support/iterator.hpp +include/ikos/ar/support/number.hpp +include/ikos/ar/support/string_ref.hpp +include/ikos/ar/support/traceable.hpp +include/ikos/ar/verify/frontend.hpp +include/ikos/ar/verify/type.hpp +include/ikos/core/adt/patricia_tree/map.hpp +include/ikos/core/adt/patricia_tree/set.hpp +include/ikos/core/adt/patricia_tree/utils.hpp +include/ikos/core/adt/small_vector.hpp +include/ikos/core/adt/string_ref.hpp +include/ikos/core/domain/abstract_domain.hpp +include/ikos/core/domain/discrete_domain.hpp +include/ikos/core/domain/domain_product.hpp +include/ikos/core/domain/exception/abstract_domain.hpp +include/ikos/core/domain/exception/exception.hpp +include/ikos/core/domain/lifetime/abstract_domain.hpp +include/ikos/core/domain/lifetime/dummy.hpp +include/ikos/core/domain/lifetime/lifetime.hpp +include/ikos/core/domain/machine_int/abstract_domain.hpp +include/ikos/core/domain/machine_int/congruence.hpp +include/ikos/core/domain/machine_int/dummy.hpp +include/ikos/core/domain/machine_int/interval.hpp +include/ikos/core/domain/machine_int/interval_congruence.hpp +include/ikos/core/domain/machine_int/numeric_domain_adapter.hpp +include/ikos/core/domain/machine_int/operator.hpp +include/ikos/core/domain/machine_int/polymorphic_domain.hpp +include/ikos/core/domain/machine_int/separate_domain.hpp +include/ikos/core/domain/memory/abstract_domain.hpp +include/ikos/core/domain/memory/dummy.hpp +include/ikos/core/domain/memory/value.hpp +include/ikos/core/domain/memory/value/cell_set.hpp +include/ikos/core/domain/memory/value/mem_loc_to_cell_set.hpp +include/ikos/core/domain/memory/value/mem_loc_to_pointer_set.hpp +include/ikos/core/domain/nullity/abstract_domain.hpp +include/ikos/core/domain/nullity/dummy.hpp +include/ikos/core/domain/nullity/nullity.hpp +include/ikos/core/domain/numeric/abstract_domain.hpp +include/ikos/core/domain/numeric/apron.hpp +include/ikos/core/domain/numeric/congruence.hpp +include/ikos/core/domain/numeric/constant.hpp +include/ikos/core/domain/numeric/dbm.hpp +include/ikos/core/domain/numeric/domain_product.hpp +include/ikos/core/domain/numeric/equality_congruence_solver.hpp +include/ikos/core/domain/numeric/gauge.hpp +include/ikos/core/domain/numeric/gauge_interval_congruence.hpp +include/ikos/core/domain/numeric/interval.hpp +include/ikos/core/domain/numeric/interval_congruence.hpp +include/ikos/core/domain/numeric/linear_interval_solver.hpp +include/ikos/core/domain/numeric/octagon.hpp +include/ikos/core/domain/numeric/operator.hpp +include/ikos/core/domain/numeric/separate_domain.hpp +include/ikos/core/domain/numeric/union.hpp +include/ikos/core/domain/numeric/var_packing_dbm.hpp +include/ikos/core/domain/numeric/var_packing_dbm_congruence.hpp +include/ikos/core/domain/numeric/var_packing_domain.hpp +include/ikos/core/domain/pointer/abstract_domain.hpp +include/ikos/core/domain/pointer/dummy.hpp +include/ikos/core/domain/pointer/operator.hpp +include/ikos/core/domain/pointer/pointer.hpp +include/ikos/core/domain/pointer/solver.hpp +include/ikos/core/domain/separate_domain.hpp +include/ikos/core/domain/uninitialized/abstract_domain.hpp +include/ikos/core/domain/uninitialized/dummy.hpp +include/ikos/core/domain/uninitialized/uninitialized.hpp +include/ikos/core/example/machine_int/variable_factory.hpp +include/ikos/core/example/muzq.hpp +include/ikos/core/example/variable_factory.hpp +include/ikos/core/exception.hpp +include/ikos/core/fixpoint/fixpoint_iterator.hpp +include/ikos/core/fixpoint/fwd_fixpoint_iterator.hpp +include/ikos/core/fixpoint/wto.hpp +include/ikos/core/legacy/adt/mergeable_map.hpp +include/ikos/core/legacy/adt/patricia_tree.hpp +include/ikos/core/legacy/common/type.hpp +include/ikos/core/legacy/domain/array_graph.hpp +include/ikos/core/legacy/domain/cpa.hpp +include/ikos/core/legacy/domain/dataflow_domain.hpp +include/ikos/core/legacy/domain/reaching.hpp +include/ikos/core/legacy/domain/summary.hpp +include/ikos/core/legacy/domain/uninitialized_array.hpp +include/ikos/core/legacy/example/muaz.hpp +include/ikos/core/legacy/expression.hpp +include/ikos/core/linear_constraint.hpp +include/ikos/core/linear_expression.hpp +include/ikos/core/literal.hpp +include/ikos/core/number.hpp +include/ikos/core/number/bound.hpp +include/ikos/core/number/compatibility.hpp +include/ikos/core/number/dummy_number.hpp +include/ikos/core/number/exception.hpp +include/ikos/core/number/machine_int.hpp +include/ikos/core/number/q_number.hpp +include/ikos/core/number/signedness.hpp +include/ikos/core/number/supported_integral.hpp +include/ikos/core/number/z_number.hpp +include/ikos/core/semantic/dumpable.hpp +include/ikos/core/semantic/graph.hpp +include/ikos/core/semantic/indexable.hpp +include/ikos/core/semantic/machine_int/variable.hpp +include/ikos/core/semantic/memory/cell.hpp +include/ikos/core/semantic/memory/variable.hpp +include/ikos/core/semantic/memory_location.hpp +include/ikos/core/semantic/pointer/variable.hpp +include/ikos/core/semantic/variable.hpp +include/ikos/core/support/assert.hpp +include/ikos/core/support/cast.hpp +include/ikos/core/support/compiler.hpp +include/ikos/core/support/mpl.hpp +include/ikos/core/value/lifetime.hpp +include/ikos/core/value/machine_int/congruence.hpp +include/ikos/core/value/machine_int/constant.hpp +include/ikos/core/value/machine_int/interval.hpp +include/ikos/core/value/machine_int/interval_congruence.hpp +include/ikos/core/value/nullity.hpp +include/ikos/core/value/numeric/congruence.hpp +include/ikos/core/value/numeric/constant.hpp +include/ikos/core/value/numeric/gauge.hpp +include/ikos/core/value/numeric/interval.hpp +include/ikos/core/value/numeric/interval_congruence.hpp +include/ikos/core/value/pointer/pointer.hpp +include/ikos/core/value/pointer/pointer_set.hpp +include/ikos/core/value/pointer/points_to_set.hpp +include/ikos/core/value/uninitialized.hpp +include/ikos/frontend/llvm/import.hpp +include/ikos/frontend/llvm/import/exception.hpp +include/ikos/frontend/llvm/import/importer.hpp +include/ikos/frontend/llvm/import/source_location.hpp +include/ikos/frontend/llvm/pass.hpp +lib/libikos-ar.a +lib/libikos-llvm-to-ar.a +lib/libikos-pp.a +%%PYTHON_SITELIBDIR%%/ikos-2.1-py%%PYTHON_VER%%.egg-info +%%PYTHON_SITELIBDIR%%/ikos/__init__.py +%%PYTHON_SITELIBDIR%%/ikos/__init__.pyc +%%PYTHON_SITELIBDIR%%/ikos/abs_int.py +%%PYTHON_SITELIBDIR%%/ikos/abs_int.pyc +%%PYTHON_SITELIBDIR%%/ikos/analyzer.py +%%PYTHON_SITELIBDIR%%/ikos/analyzer.pyc +%%PYTHON_SITELIBDIR%%/ikos/args.py +%%PYTHON_SITELIBDIR%%/ikos/args.pyc +%%PYTHON_SITELIBDIR%%/ikos/colors.py +%%PYTHON_SITELIBDIR%%/ikos/colors.pyc +%%PYTHON_SITELIBDIR%%/ikos/enums.py +%%PYTHON_SITELIBDIR%%/ikos/enums.pyc +%%PYTHON_SITELIBDIR%%/ikos/filetype.py +%%PYTHON_SITELIBDIR%%/ikos/filetype.pyc +%%PYTHON_SITELIBDIR%%/ikos/highlight.py +%%PYTHON_SITELIBDIR%%/ikos/highlight.pyc +%%PYTHON_SITELIBDIR%%/ikos/html.py +%%PYTHON_SITELIBDIR%%/ikos/html.pyc +%%PYTHON_SITELIBDIR%%/ikos/http.py +%%PYTHON_SITELIBDIR%%/ikos/http.pyc +%%PYTHON_SITELIBDIR%%/ikos/log.py +%%PYTHON_SITELIBDIR%%/ikos/log.pyc +%%PYTHON_SITELIBDIR%%/ikos/output_db.py +%%PYTHON_SITELIBDIR%%/ikos/output_db.pyc +%%PYTHON_SITELIBDIR%%/ikos/report.py +%%PYTHON_SITELIBDIR%%/ikos/report.pyc +%%PYTHON_SITELIBDIR%%/ikos/scan.py +%%PYTHON_SITELIBDIR%%/ikos/scan.pyc +%%PYTHON_SITELIBDIR%%/ikos/settings/__init__.py +%%PYTHON_SITELIBDIR%%/ikos/settings/__init__.pyc +%%PYTHON_SITELIBDIR%%/ikos/stats.py +%%PYTHON_SITELIBDIR%%/ikos/stats.pyc +%%PYTHON_SITELIBDIR%%/ikos/view.py +%%PYTHON_SITELIBDIR%%/ikos/view.pyc +%%DATADIR%%/view/static/css/ikos_theme.css +%%DATADIR%%/view/static/js/ikos_homepage.js +%%DATADIR%%/view/static/js/ikos_report.js +%%DATADIR%%/view/template/error.html +%%DATADIR%%/view/template/homepage.html +%%DATADIR%%/view/template/not_found.html +%%DATADIR%%/view/template/report.html +%%DATADIR%%/view/template/settings.html