Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator
framework based on QEMU.
Unicorn offers some unparalleled features:
- Multi-architecture: ARM, ARM64 (ARMv8), M68K, MIPS, SPARC, and X86 (16, 32,
64-bit)
- Clean/simple/lightweight/intuitive architecture-neutral API
- Implemented in pure C language, with bindings for Perl, Rust, Ruby, Python,
Java, MSVC, .NET, Go, Delphi/Free Pascal and Haskell.
- Native support for Windows & *nix (with Mac OSX, Linux, *BSD & Solaris
confirmed)
- High performance via Just-In-Time compilation
- Support for fine-grained instrumentation at various levels
- Thread-safety by design
- Distributed under free software license GPLv2
emulators/unicorn: fix build on powerpc64*
In file included from
/wrkdirs/usr/ports/emulators/unicorn/work/unicorn-2.1.4/qemu/util/bitmap.c:13:
In file included from
/wrkdirs/usr/ports/emulators/unicorn/work/unicorn-2.1.4/qemu/include/qemu/bitops.h:16:
In file included from
/wrkdirs/usr/ports/emulators/unicorn/work/unicorn-2.1.4/qemu/include/qemu/host-utils.h:30:
/wrkdirs/usr/ports/emulators/unicorn/work/unicorn-2.1.4/qemu/include/qemu/int128.h:150:16:
error: typedef redefinition with different types ('Int128' (aka 'struct Int128')
vs '__int128')
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 )
Mark as BROKEN on riscv64 the same as on armv*.
While here, pet portlint (Makevar order).
Approved by: portmgr (tier-2 blanket)
Obtained from: lonesome.com build testing
emulators/unicorn: fix build on powerpc64 elfv2 and powerpc64le
As with other ports, conflicting symbols first need to be undefined before
including altivec.h.
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
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
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, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
For ports that are marked BROKEN on armv6, and also fail to build on
armv7, mark them so.
This is part two of a multipart commit to bring armv7 ports to parity
with armv6.
Approved by: portmgr (tier-2 blanket)
Obtained from: lonesome.com -exp run
Mark some ports failing on power64. In cases where the error message
was a stub, provide a real one.
While here, pet portlint.
Approved by: portmgr (tier-2 blanket)
New port: emulators/unicorn
Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator
framework based on QEMU.
Unicorn offers some unparalleled features:
- Multi-architecture: ARM, ARM64 (ARMv8), M68K, MIPS, SPARC, and X86 (16, 32,
64-bit)
- Clean/simple/lightweight/intuitive architecture-neutral API
- Implemented in pure C language, with bindings for Perl, Rust, Ruby, Python,
Java, MSVC, .NET, Go, Delphi/Free Pascal and Haskell.
- Native support for Windows & *nix (with Mac OSX, Linux, *BSD & Solaris
confirmed)
- High performance via Just-In-Time compilation
- Support for fine-grained instrumentation at various levels
- Thread-safety by design
- Distributed under free software license GPLv2
WWW: http://www.unicorn-engine.org/