KLEE is a symbolic virtual machine built on top of the LLVM compiler
infrastructure.
Currently, there are two primary components:
* The core symbolic virtual machine engine; this is responsible for executing
LLVM bitcode modules with support for symbolic values. This is comprised of
the code in lib/.
* A POSIX/Linux emulation layer oriented towards supporting uClibc, with
additional support for making parts of the operating system environment
symbolic.
Additionally, there is a simple library for replaying computed inputs on native
code (for closed programs). There is also a more complicated infrastructure for
replaying the inputs generated for the POSIX/Linux emulation layer, which
handles running native programs in an environment that matches a computed test
input, including setting up files, pipes, environment variables, and passing
command line arguments.
===> The following configuration options are available for klee-3.3:
TCMALLOC=on: Use tcmalloc library for memory management
====> Options available for the multi BACKEND: you have to choose at least one of them
Z3=on: Enable Z3 SMT solver
STP=on: Enable STP SMT solver
===> Use 'make config' to modify these settings
Mk/bsd.commands.mk: Use absolute path to define GMAKE
Same as BSDMAKE variable. It is needed by some ports.
Some ports needed fixes:
- devel/rcs57: Regenerate configure with newer autoconf so it can deal
with MAKE set to an absolute path. While here fix issues with
(un)escaping double quotes. The warnings about this were in
WRKSRC/src/conf.err.
- lang/gnu-cobol: Patch configure.ac so the MAKE environment variable
can contain an absolute path, and define MAKE before it is used in
AM_INIT_AUTOMAKE. Remove post-patch patching of configure. It appears
to have been fixed upstream.
- math/unuran: Remove post-patch, fixed upstream.
- net-mgmt/kismet: Fix post-patch.
PR: 283534
Exp-run by: antoine
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
security/klee: fix build with GCC-based architectures
Add USES=compiler:c++14-lang to fix build on GCC architectures:
Make Error in lib/Basic/CMakeLists.txt:
Target "kleeBasic" requires the language dialect "CXX14" (with compiler
extensions), but CMake does not know the compile flags to use to enable it.
PR: 237623
Approved by: arrowd (maintainer), mat (mentor)
Differential Revision: https://reviews.freebsd.org/D20088
security/klee: Depend on python 3 and py-tabulate. Required for ktest-tool
utility, written in Python.
Reviewed by: mat
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D19770
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
security/klee: arrowd@FreeBSD.org takes maintainership
The original submitter gave up on the klee port.
Also update COMMENT and move -DFREEBSD_STP_STATIC_LIBRARY to the STP option
section.
PR: 219150
Requested by: arrowd (maintainership change)