git: dcb7376d0007 - main - devel/ikos: update 3.2 → 3.5
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 09 Jan 2025 12:22:12 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=dcb7376d000787b73be2172b761a57308be3bfc3
commit dcb7376d000787b73be2172b761a57308be3bfc3
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-01-09 12:21:56 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-01-09 12:22:08 +0000
devel/ikos: update 3.2 → 3.5
Reported by: portscout
---
devel/ikos/Makefile | 18 +++++++++++++---
devel/ikos/distinfo | 6 +++---
.../files/patch-analyzer_python_ikos_analyzer.py | 12 +++++------
devel/ikos/files/patch-analyzer_script_ikos.py.in | 12 +++++++++++
devel/ikos/files/patch-ar_src_format_text.cpp | 13 ++++++++++++
devel/ikos/pkg-plist | 24 ++++++++++++++++++++++
6 files changed, 73 insertions(+), 12 deletions(-)
diff --git a/devel/ikos/Makefile b/devel/ikos/Makefile
index 1dfea014dc2f..fa5c1c3ae66d 100644
--- a/devel/ikos/Makefile
+++ b/devel/ikos/Makefile
@@ -1,7 +1,6 @@
PORTNAME= ikos
DISTVERSIONPREFIX= v
-DISTVERSION= 3.2
-PORTREVISION= 5
+DISTVERSION= 3.5
CATEGORIES= devel
MAINTAINER= yuri@FreeBSD.org
@@ -32,14 +31,27 @@ LLVM_VERSION= 14 # only llvm-14 is currently supported
CXXFLAGS+= -DNDEBUG # https://github.com/NASA-SW-VnV/ikos/issues/36, it also breaks with assert without NDEBUG
CMAKE_ON= BUILD_SHARED_LIBS
+CMAKE_OFF= INSTALL_PYTHON_VIRTUALENV
CMAKE_ARGS= -DLLVM_CONFIG_EXECUTABLE:PATH=${LOCALBASE}/bin/llvm-config${LLVM_VERSION} \
- -DPYTHON_EXECUTABLE:STRING=${PYTHON_CMD}
+ -DPYTHON_EXECUTABLE:STRING=${PYTHON_CMD} \
+ -DPYTHON_VENV_EXECUTABLE:STRING=${PYTHON_CMD}
PLIST_SUB= PORTVERSION=${PORTVERSION}
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
+post-install:
+ # install the local python module 'ikos'
+ @${MKDIR} ${STAGEDIR}${DATADIR}/python
+ cd ${BUILD_WRKSRC}/analyzer/python && \
+ ${COPYTREE_SHARE} ikos ${STAGEDIR}${DATADIR}/python
+ ${CP} ${WRKSRC}/analyzer/python/ikos/*.py ${STAGEDIR}${DATADIR}/python/ikos
+ cd ${WRKSRC}/analyzer/python/ikos && \
+ ${COPYTREE_SHARE} view ${STAGEDIR}${DATADIR}/python/ikos
+ # expand the token
+ ${REINPLACE_CMD} -i '' -e 's|%%PREFIX%%|${PREFIX}|' ${STAGEDIR}${PREFIX}/bin/ikos
+
# use clang corresponding to the used llvm version
CPP= clang-cpp${LLVM_VERSION}
CC= clang${LLVM_VERSION}
diff --git a/devel/ikos/distinfo b/devel/ikos/distinfo
index 38a6b6e44ddd..5e5d05f8f4f8 100644
--- a/devel/ikos/distinfo
+++ b/devel/ikos/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1703825428
-SHA256 (NASA-SW-VnV-ikos-v3.2_GH0.tar.gz) = 11ab520043523a048f8756d68bd3f6a761870d4ec1a9f240eda8f3b1a11f7aa1
-SIZE (NASA-SW-VnV-ikos-v3.2_GH0.tar.gz) = 1381841
+TIMESTAMP = 1736373858
+SHA256 (NASA-SW-VnV-ikos-v3.5_GH0.tar.gz) = 375b575b715901f47d7884e8ac33e5c4410974011b603f825c5e6eda7d1c74b8
+SIZE (NASA-SW-VnV-ikos-v3.5_GH0.tar.gz) = 1382417
diff --git a/devel/ikos/files/patch-analyzer_python_ikos_analyzer.py b/devel/ikos/files/patch-analyzer_python_ikos_analyzer.py
index 6c98135fc18c..a495f7c9bde5 100644
--- a/devel/ikos/files/patch-analyzer_python_ikos_analyzer.py
+++ b/devel/ikos/files/patch-analyzer_python_ikos_analyzer.py
@@ -1,8 +1,8 @@
---- analyzer/python/ikos/analyzer.py.orig 2018-12-14 07:13:50 UTC
+--- analyzer/python/ikos/analyzer.py.orig 2024-12-31 23:34:34 UTC
+++ analyzer/python/ikos/analyzer.py
-@@ -554,10 +554,10 @@ def clang(bc_path, cpp_path, colors=True
- # For #include <ikos/analyzer/intrinsic.hpp>
- cmd += ['-isystem', settings.INCLUDE_DIR]
+@@ -703,10 +703,10 @@ def clang(
+ if machine_flags:
+ cmd += ['-m%s' % m for m in machine_flags]
- if colors:
- cmd.append('-fcolor-diagnostics')
@@ -13,5 +13,5 @@
+ #else:
+ # cmd.append('-fno-color-diagnostics')
- if cpp_path.endswith('.cpp'):
- cmd.append('-std=c++14') # available because clang >= 4.0
+ if path_ext(cpp_path) in cpp_extensions:
+ cmd.append('-std=c++17') # available because clang >= 7.0
diff --git a/devel/ikos/files/patch-analyzer_script_ikos.py.in b/devel/ikos/files/patch-analyzer_script_ikos.py.in
new file mode 100644
index 000000000000..0745d41049e7
--- /dev/null
+++ b/devel/ikos/files/patch-analyzer_script_ikos.py.in
@@ -0,0 +1,12 @@
+--- analyzer/script/ikos.py.in.orig 2025-01-09 06:36:15 UTC
++++ analyzer/script/ikos.py.in
+@@ -43,6 +43,9 @@ import sys
+ import os.path
+ import sys
+
++# add local python module to sys.path
++sys.path.append('%%PREFIX%%/share/ikos/python')
++
+ if __name__ == '__main__':
+ try:
+ import ikos.analyzer
diff --git a/devel/ikos/files/patch-ar_src_format_text.cpp b/devel/ikos/files/patch-ar_src_format_text.cpp
new file mode 100644
index 000000000000..4473b6a2243a
--- /dev/null
+++ b/devel/ikos/files/patch-ar_src_format_text.cpp
@@ -0,0 +1,13 @@
+- workaround the potential problem in boost: /usr/local/include/boost/move/adl_move_swap.hpp:190:15: error: no member named 'swap' in namespace 'std'
+
+--- ar/src/format/text.cpp.orig 2025-01-08 22:27:38 UTC
++++ ar/src/format/text.cpp
+@@ -41,6 +41,8 @@
+ *
+ ******************************************************************************/
+
++#include <algorithm>
++
+ #include <boost/container/flat_set.hpp>
+
+ #include <ikos/ar/format/text.hpp>
diff --git a/devel/ikos/pkg-plist b/devel/ikos/pkg-plist
index 735129ebe113..1d163f3af5d9 100644
--- a/devel/ikos/pkg-plist
+++ b/devel/ikos/pkg-plist
@@ -165,6 +165,30 @@ include/ikos/frontend/llvm/pass.hpp
lib/libikos-ar.so
lib/libikos-llvm-to-ar.so
lib/libikos-pp.so
+%%DATADIR%%/python/ikos/__init__.py
+%%DATADIR%%/python/ikos/abs_int.py
+%%DATADIR%%/python/ikos/analyzer.py
+%%DATADIR%%/python/ikos/args.py
+%%DATADIR%%/python/ikos/colors.py
+%%DATADIR%%/python/ikos/enums.py
+%%DATADIR%%/python/ikos/filetype.py
+%%DATADIR%%/python/ikos/highlight.py
+%%DATADIR%%/python/ikos/http.py
+%%DATADIR%%/python/ikos/log.py
+%%DATADIR%%/python/ikos/output_db.py
+%%DATADIR%%/python/ikos/report.py
+%%DATADIR%%/python/ikos/scan.py
+%%DATADIR%%/python/ikos/settings/__init__.py
+%%DATADIR%%/python/ikos/stats.py
+%%DATADIR%%/python/ikos/view.py
+%%DATADIR%%/python/ikos/view/static/css/ikos_theme.css
+%%DATADIR%%/python/ikos/view/static/js/ikos_homepage.js
+%%DATADIR%%/python/ikos/view/static/js/ikos_report.js
+%%DATADIR%%/python/ikos/view/template/error.html
+%%DATADIR%%/python/ikos/view/template/homepage.html
+%%DATADIR%%/python/ikos/view/template/not_found.html
+%%DATADIR%%/python/ikos/view/template/report.html
+%%DATADIR%%/python/ikos/view/template/settings.html
%%DATADIR%%/view/static/css/ikos_theme.css
%%DATADIR%%/view/static/js/ikos_homepage.js
%%DATADIR%%/view/static/js/ikos_report.js