head	1.12;
access;
symbols
	pkgsrc-2026Q2:1.12.0.8
	pkgsrc-2026Q2-base:1.12
	pkgsrc-2026Q1:1.12.0.6
	pkgsrc-2026Q1-base:1.12
	pkgsrc-2025Q4:1.12.0.4
	pkgsrc-2025Q4-base:1.12
	pkgsrc-2025Q3:1.12.0.2
	pkgsrc-2025Q3-base:1.12
	pkgsrc-2025Q2:1.11.0.2
	pkgsrc-2025Q2-base:1.11
	pkgsrc-2025Q1:1.10.0.2
	pkgsrc-2025Q1-base:1.10
	pkgsrc-2024Q4:1.9.0.2
	pkgsrc-2024Q4-base:1.9
	pkgsrc-2024Q3:1.8.0.12
	pkgsrc-2024Q3-base:1.8
	pkgsrc-2024Q2:1.8.0.10
	pkgsrc-2024Q2-base:1.8
	pkgsrc-2024Q1:1.8.0.8
	pkgsrc-2024Q1-base:1.8
	pkgsrc-2023Q4:1.8.0.6
	pkgsrc-2023Q4-base:1.8
	pkgsrc-2023Q3:1.8.0.4
	pkgsrc-2023Q3-base:1.8
	pkgsrc-2023Q2:1.8.0.2
	pkgsrc-2023Q2-base:1.8
	pkgsrc-2023Q1:1.6.0.18
	pkgsrc-2023Q1-base:1.6
	pkgsrc-2022Q4:1.6.0.16
	pkgsrc-2022Q4-base:1.6
	pkgsrc-2022Q3:1.6.0.14
	pkgsrc-2022Q3-base:1.6
	pkgsrc-2022Q2:1.6.0.12
	pkgsrc-2022Q2-base:1.6
	pkgsrc-2022Q1:1.6.0.10
	pkgsrc-2022Q1-base:1.6
	pkgsrc-2021Q4:1.6.0.8
	pkgsrc-2021Q4-base:1.6
	pkgsrc-2021Q3:1.6.0.6
	pkgsrc-2021Q3-base:1.6
	pkgsrc-2021Q2:1.6.0.4
	pkgsrc-2021Q2-base:1.6
	pkgsrc-2021Q1:1.6.0.2
	pkgsrc-2021Q1-base:1.6
	pkgsrc-2020Q4:1.4.0.4
	pkgsrc-2020Q4-base:1.4
	pkgsrc-2020Q3:1.4.0.2
	pkgsrc-2020Q3-base:1.4
	pkgsrc-2020Q2:1.3.0.4
	pkgsrc-2020Q2-base:1.3
	pkgsrc-2020Q1:1.3.0.2
	pkgsrc-2020Q1-base:1.3
	pkgsrc-2019Q4:1.2.0.18
	pkgsrc-2019Q4-base:1.2
	pkgsrc-2019Q3:1.2.0.14
	pkgsrc-2019Q3-base:1.2
	pkgsrc-2019Q2:1.2.0.12
	pkgsrc-2019Q2-base:1.2
	pkgsrc-2019Q1:1.2.0.10
	pkgsrc-2019Q1-base:1.2
	pkgsrc-2018Q4:1.2.0.8
	pkgsrc-2018Q4-base:1.2
	pkgsrc-2018Q3:1.2.0.6
	pkgsrc-2018Q3-base:1.2
	pkgsrc-2018Q2:1.2.0.4
	pkgsrc-2018Q2-base:1.2
	pkgsrc-2018Q1:1.2.0.2
	pkgsrc-2018Q1-base:1.2;
locks; strict;
comment	@# @;


1.12
date	2025.09.15.17.35.53;	author adam;	state Exp;
branches;
next	1.11;
commitid	E03UX2NZw52wQPaG;

1.11
date	2025.04.16.12.46.52;	author adam;	state Exp;
branches;
next	1.10;
commitid	YgtsSxYQ5q4n8hRF;

1.10
date	2025.02.14.16.09.21;	author adam;	state Exp;
branches;
next	1.9;
commitid	5PjUMz4yMgNndsJF;

1.9
date	2024.11.04.19.05.18;	author adam;	state Exp;
branches;
next	1.8;
commitid	BB5b1JOUrThSsmwF;

1.8
date	2023.05.11.06.47.11;	author adam;	state Exp;
branches;
next	1.7;
commitid	BDZP9wof5VXMPvoE;

1.7
date	2023.05.10.19.14.50;	author adam;	state Exp;
branches;
next	1.6;
commitid	Ir9nsMx3Aspm0soE;

1.6
date	2021.02.28.13.25.47;	author wiz;	state Exp;
branches;
next	1.5;
commitid	S0GjtKsgtse6PtJC;

1.5
date	2021.02.25.19.47.50;	author leot;	state Exp;
branches;
next	1.4;
commitid	xPHyRcusU0tV18JC;

1.4
date	2020.08.18.00.35.20;	author tnn;	state Exp;
branches;
next	1.3;
commitid	SULrwlP5pwUmNtkC;

1.3
date	2020.01.26.17.31.10;	author rillig;	state Exp;
branches;
next	1.2;
commitid	4fBBvoSLJaGd0eUB;

1.2
date	2018.03.24.17.09.34;	author joerg;	state Exp;
branches;
next	1.1;
commitid	DDSB8lNT3j64wJvA;

1.1
date	2018.02.26.02.25.28;	author khorben;	state Exp;
branches;
next	;
commitid	BSaF53D08KvssjsA;


desc
@@


1.12
log
@unicorn py-unicorn: updated to 2.1.4

2.1.4

bindings/zig: Fix sample_riscv_zig partial writes and logging
Fix physical address truncation on 32-bit systems with addressing extensions
refactor(lib): mark pointers as const where possible
bindings: ruby: fix unexpected uc_query result pointer type
bindings: ruby: fix version identifier to 2.1.3
feat(arm): add an ESR register
fix(rust): watch all source and header files
feat(rust): improve ARM CP register ergonomics
fix(m68k): correct SR register read
fix(python): catch BaseException in wrappers instead of Exception
Remove the size limit for memory read and write (revamped)
Loongarch port
S390x registers
Add from_handle_with_data method
Make Unicorn struct clone-able
Add Display and Error impl for uc_error for Rust bindings
Add edge generated callback
Correctly restore skip_sync_pc_on_exit
Added CFG check and standalone flag for .NET binding
qemu/configure: make strings command can be redefined by ${STRINGS}
fix x86 pc
Patch from Saferewrite
fix incorrect ret of trampoline closure in alloc_code_gen_buffer
reset invalid_error before ram_block_add
add uc_mem_read_virtual
Minor fixes for vmem apis
glib_compat/glib_compact: Clear the buffer in g_hash_table_resize
Enable install for rust bindings
Remove ninja installation from macos runners
Fix read_sprr_perm for Apple real CPUs and GitHub Actions; enable Apple ARM64 wheel builds on PyPI.
Bump cmake minimum required version to 3.10
Add support for clangarm64
Revert "glib_compat/glib_compact: Clear the buffer in g_hash_table_resize"
Python bindings: Use ABI3 wheels
concurrent control
@
text
@# $NetBSD: Makefile.common,v 1.11 2025/04/16 12:46:52 adam Exp $
#
# used by emulators/unicorn/Makefile
# used by emulators/py-unicorn/Makefile

# TODO: on next update, check if patch-bindings_python_pyproject.toml
# still applies; remove it or bump the version in it.
DISTNAME=	unicorn-2.1.4
CATEGORIES=	emulators
MASTER_SITES=	${MASTER_SITE_GITHUB:=unicorn-engine/}
GITHUB_PROJECT=	unicorn

HOMEPAGE=	https://www.unicorn-engine.org/

DISTINFO_FILE=	${.CURDIR}/../../emulators/unicorn/distinfo
PATCHDIR=	${.CURDIR}/../../emulators/unicorn/patches

CHECK_PORTABILITY_SKIP+=	install-cmocka-linux.sh
@


1.11
log
@unicorn py-unicorn: updated to 2.1.3

2.1.3 includes a few fixes for distribution and stability issues. We urge users to update their versions as previous version contains security vulnerabilities.

Fix & Improvements

Several security issues fixes. @@PhilippTakacs
Add alpine workflow and fix several distribution issues. @@Antelox @@disconnect3d
Introduce importlib_resources for py3.8 (EOL already) @@Arusekk @@Antelox
Mips64 improvements. @@OBarronCS
MIPS related fixes and implement a few registers.
x86 default CPU model is changed to UC_CPU_X86_HASWELL and remove a few quirks.
Fix CR4 implementation.
Fix python bindings break changes by adding back ctl_tlb_mode.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.10 2025/02/14 16:09:21 adam Exp $
d8 1
a8 1
DISTNAME=	unicorn-2.1.3
@


1.10
log
@unicorn py-unicorn: updated to 2.1.2

2.1.2

Highlights

macOS arm64 no longer provides binary wheels due to a feature missing from Github Action runners.
py3.8 support is brought back, python2 wheels are built and test as well and we migrate to cibuildwheel! @@Antelox
Several polish to python bindings and implement new API. @@elicn @@droe
Revert previous break changes that return UC_ERR_ARG for non-existing registers. Now this prints a warning. We urge all users relying on this behavior to fix code as soon as possible.
Fix several segment faults, including a few long-standing random segfault issues.
Revive previous unicorn 1 test suite and related refactoring. @@elicn @@Antelox
Optimize memory handling and notdirty writes for faster memory access and snapshots, especially useful for fuzzing. @@PhilippTakacs
RISC-V API updates. @@apparentlymart
fix UC_HOOK_MEM_READ on aarch64. @@glennsec
Support UC_TCG_OP_FLAG_CMP for ARM @@dotCirill
An alternative tag prefixed with "v" is added for golang compatibility.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.9 2024/11/04 19:05:18 adam Exp $
d8 1
a8 1
DISTNAME=	unicorn-2.1.2
@


1.9
log
@unicorn py-unicorn: updated to 2.1.1

Version v2.1.1

This is a small release to fix a few urgent issues.

Remove pkg_resources usage
Fix wheels distribution for x86_64 macos
Fix redundant wheel hacks
Support musllinux distribution


Version v2.1.0
It has been a while since the last release, and 2.1.0 brings several exciting features. Below is the changelog from the latest to the oldest (though not strictly).

Highlights

Revive QEMU logs, now we have -DUNICORN_LOGGING=yes to enable all qemu logs. @@BitMaskMixer
Faster (up to 40x) write performance by not always doing store_helper and cleaning page locks. @@tunz @@boborjan2
Brand new python bindings, with strongly typed and many improvements. @@elicn
Fix to a long-standing MinGW random segfault bug.
We bring python2 compatibility back.
We now fully support M1, both building and a pre-built wheel.
We support snapshot memory now, with a very low overhead copy-on-write fashion. @@PhilippTakacs
An option to bypass MMU is also added, check our FAQ. @@PhilippTakacs
A brand new (and modern) java bindings. We are also working to publish it to maven. @@nneonneo
We have zig integrated. @@kassane @@atipls
Now Unicorn no longer allocates 2GB memory for every instance. The memory will be only committed once used and the upper limit can be adjusted with uc_ctl.
New DotNet binding, with published to both Github and Nuget. @@TSRBerry
The release will attach all binaries, thanks to @@marameref

Fixes & Improvements

RISCV improvements, but we still have a long way to go. @@apparentlymart @@ks0777
cmake improvements @@scribam @@es3n1n
Various python bindings fix and improvements @@bet4it @@rhelmot
Docs. @@gerph @@BitMaskMixer
Rust bindings. @@lockbox @@mlgiraud @@deadash
TCG backend fixes. @@redoste @@StalkR @@dglynos
PPC32 fixes. @@dotCirill
Haiku fixes. @@kallisti5
Improvements to avoid simulator detection.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.8 2023/05/11 06:47:11 adam Exp $
d6 3
a8 1
DISTNAME=	unicorn-2.1.1
@


1.8
log
@unicorn py-unicorn: updated to 2.0.1.post1

Version 2.0.1

Features:

- Support building & running on BE hosts.
- Fix and support `clang-cl` on Windows.
- Fix python `sdist` and add aarch64 Linux wheels. Note `pip` can build Unicorn2 on M1 now!
- C# binding is refined and upgraded to .Net 6.

Fix/Improvements:

- Various bindings improvements.
- Improvements for tests.
- Fail explicitly when VEX.L is set.
- Fix endianness when writing PPC32 CR register.
- Fix a bug in `uc_ctl_set_cpu_model` check.
- Fix Tricore PC not updating.
- Fix the mapping not updated if users modify the mappings in the hooks.
- Handle pathological cases consistently.
- Fix memory leaks in PPC target.
- Fix memory leaks in Tricore target.
- Fix MSVC handling in cmake.
- Fix PC sync-ing problems for `UC_HOOK_BLOCK` hooks.
- Fix PC sync-ed twice when users request a soft restart.
- Prevent overflow with pre-allocated RAM blocks.
- Add FPCR and FPSR registers
- Fix ARM CPU state not deep copied.
- Fix PC not sync-ed for memory operation on aarch64.
- Exit invalid store operations early to avoid the target registers being overwritten.
- Improve the support for ARM BE32.


Version 2.0.0

Features:

- TriCore Support

Fixes/Improvements:

- Build both shared library and static archive as unicorn1 does.
- Misc bindings improvements.
- Make sure setjmp-setjmp-wrapper-win32 participates in the build.
- Improve Rust bindings build logic.
- Fix wrong python binding for UC_CTL_TB_REMOVE_CACHE
- Flush translation blocks when the count hook is removed.
- Fix unicorn crash when nested `uc_emu_start` deletes a hook
- Fix CPU not fully resumed when writing PC.
- Don't quit TB if `uc_mem_protect` doesn't change the protection of current TB memory.
- Add type annotations for python bindings.
- Add CPUID hook for python bindings.
- Don't repeat memory hooks if there is already an unhandled error.
- Support reads and writes over all Arm SIMD registers
- Fix wrong registers range in python bindings.
- Fix uc_mem_protect on mmio regions
- Fix a UAF caused by hook cache.
- Fix the value collision between UC_MODE_ARMBE8 and UC_MODE_ARM926
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.7 2023/05/10 19:14:50 adam Exp $
d6 1
a6 1
DISTNAME=	unicorn-2.0.1.post1
@


1.7
log
@unicorn py-unicorn: updated to 1.0.3

Version 1.0.3

Fix some building issues
- Fix build with LLVM on Powerpc64(le)
- cmake: enable UNICORN_HAS_ARMEB when ARM is on
- Better support MingW building
- Better support FreeBSD host
- Better support VS2008/VS2010
Fix some issues in the core:
- Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT]
- Support querying architecture mode besides arm
- Fix pausing within Thumb2 ITE blocks
Arm:
- Support Arm BE8 mode
X86:
- Fix FPIP & FTST instructions
Bindings:
- Java: remove deprecated javah and build with javac
- Python: handle exceptions raised in hook functions
- Rust binding
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.6 2021/02/28 13:25:47 wiz Exp $
d6 1
a6 1
DISTNAME=	unicorn-1.0.3
@


1.6
log
@unicorn: set GITHUB_PROJECT so downloads work for all users of this file
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.5 2021/02/25 19:47:50 leot Exp $
d3 1
d6 1
a6 1
DISTNAME=	unicorn-1.0.2
@


1.5
log
@{,py-}unicorn: Update to 1.0.2

Changes:
1.0.2
-----
- Fix Java binding compilation
- Enable building for ARM little-endian only (ignore big-endian)
- Add uc_context_free() API
- Fix context saving/retoring API (core & Python binding)
- Add cmake option to build Unicorn as a static library
- Fix error handling of mmap()
- uc_emu_start() can be reentrant
- Fix naming conflicts when built with systemd
- Fix setjmp/longjmp on native Windows
- Fix enabled hooks even after deleting them
- X86:
    - Fix 64bit fstenv
    - Fix IP value of 16bit mode
- ARM:
    - Fix APSR handling
- Python: Remove UC_ERR_TIMEOUT
- No longer require Python to build
- Fix recursive UC_HOOK_MEM callbacks for cross pages access
- Remove UC_ERR_TIMEOUT, so timeout on uc_emu_start() is not considered error
- Added UC_QUERY_TIMEOUT to query exit reason
- Fix UAF when deleting hook while in hook callback
- Ensure that hooks are unaffected by a request to stop emulation.
- Fix block hooks being called twice after an early exit from execution.
- Fix binding install on python2 (MacOS)
- X86:
    - Support read/write STn registers
    - Support read/write X64 base regs
- ARM64:
    - Support some new registers
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.4 2020/08/18 00:35:20 tnn Exp $
d8 1
@


1.4
log
@unicorn: skip portability check for install-cmocka-linux.sh
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.3 2020/01/26 17:31:10 rillig Exp $
d5 1
a5 1
DISTNAME=	unicorn-1.0.1
@


1.3
log
@all: migrate homepages from http to https

pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.2 2018/03/24 17:09:34 joerg Exp $
d13 2
@


1.2
log
@Don't rebuild unicorn locally for the Python binding.

Fix doesn't fix unicorn itself as it still depends on RWX mappings to
work.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.common,v 1.1 2018/02/26 02:25:28 khorben Exp $
d9 1
a9 1
HOMEPAGE=	http://www.unicorn-engine.org/
@


1.1
log
@Package the Python bindings for emulators/unicorn

No functional change intended for Unicorn itself.
Inspired by emulators/keystone and emulators/py-keystone.

Tested on NetBSD/amd64.
@
text
@d1 1
a1 1
# $NetBSD$
d12 1
@

