unicorn: 2.0.1.post1 -> 2.1.0 (#344273)
This commit is contained in:
@@ -1,33 +1,34 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, cmake
|
||||
, IOKit
|
||||
, cctools
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
cctools,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
IOKit,
|
||||
pkg-config,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unicorn";
|
||||
version = "2.0.1.post1";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "unicorn-engine";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-Jz5C35rwnDz0CXcfcvWjkwScGNQO1uijF7JrtZhM7mI=";
|
||||
repo = "unicorn";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-o2syI3kBmofC9OFkUbUFCMpXGL5JlGviCLum+9Bi0LQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
cctools
|
||||
];
|
||||
nativeBuildInputs =
|
||||
[
|
||||
cmake
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
cctools
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
IOKit
|
||||
];
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ IOKit ];
|
||||
|
||||
# Ensure the linker is using atomic when compiling for RISC-V, otherwise fails
|
||||
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic";
|
||||
@@ -44,6 +45,9 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://www.unicorn-engine.org";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ thoughtpolice luc65r ];
|
||||
maintainers = with maintainers; [
|
||||
thoughtpolice
|
||||
luc65r
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ailment";
|
||||
version = "9.2.118";
|
||||
version = "9.2.119";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = "ailment";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-wpH3hO5ge6WiUe3DxVMPylzTdTuqrmK4+ky1JkwGBY0=";
|
||||
hash = "sha256-mVzgwCzCba4xNJMbrDTRRHFUQ48tKihm3VGqpFq6Heo=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "angr";
|
||||
version = "9.2.118";
|
||||
version = "9.2.119";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@@ -45,15 +45,22 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = "angr";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-vysSt1YAXjmzhhP6ZYwaxI7K8x844YBSSg9Wp2xH1pI=";
|
||||
hash = "sha256-GwfQj8KU6M5ylgJPN1Blz8Chz2zEDTZayFdvjXXWoHY=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "capstone" ];
|
||||
postPatch = ''
|
||||
# unicorn is also part of build-system
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "unicorn==2.0.1.post1" "unicorn"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
pythonRelaxDeps = [
|
||||
"capstone"
|
||||
"unicorn"
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
ailment
|
||||
archinfo
|
||||
@@ -110,5 +117,7 @@ buildPythonPackage rec {
|
||||
homepage = "https://angr.io/";
|
||||
license = with licenses; [ bsd2 ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
# angr is pining unicorn
|
||||
broken = versionAtLeast unicorn.version "2.0.1.post1";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "archinfo";
|
||||
version = "9.2.118";
|
||||
version = "9.2.119";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = "archinfo";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ravf2/FyPxGw7eThzkVRTLD8zhjX5vUXzb+LVO+KVxU=";
|
||||
hash = "sha256-81vaHTzRCOw8C/KHwFSEMGOWEwpHVK0HicGVi9j4MqU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "claripy";
|
||||
version = "9.2.118";
|
||||
version = "9.2.119";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = "claripy";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-1VIWdKQD6wtYd6LHQ7vW1Ol3W+ZGB+xHhSMZ9EiNev8=";
|
||||
hash = "sha256-dnx5aiZ8ssgC0SFEipYuCXbYbdLt7Ma6xBfN1OlO8Do=";
|
||||
};
|
||||
|
||||
# z3 does not provide a dist-info, so python-runtime-deps-check will fail
|
||||
|
||||
@@ -18,14 +18,14 @@
|
||||
|
||||
let
|
||||
# The binaries are following the argr projects release cycle
|
||||
version = "9.2.118";
|
||||
version = "9.2.119";
|
||||
|
||||
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
|
||||
binaries = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = "binaries";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-3XucYC7FKJ0WQI6fsKxMTCIdROjZcnTKpTi3ZRfiQkU=";
|
||||
hash = "sha256-cIh8ahJGEVzKSylCBVF1RbNftqADjewuiybPiCWfmhw=";
|
||||
};
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
@@ -39,7 +39,7 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = "cle";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-izDaikc4WR/6fdgrc3TJze+DLe7NOtSNWue9HrTz18Q=";
|
||||
hash = "sha256-jOqhwSxdHJsNUZqx/ViPDh09Uk+2hqyxm4p8XwyHZ0k=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyvex";
|
||||
version = "9.2.118";
|
||||
version = "9.2.119";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-LRJSecKAQAg5Axfi8h//cc3xozOiPUkZD49VJIE6shE=";
|
||||
hash = "sha256-c9CaftT7VInEMRsWN7FhDHwXJccma5wkUfiN9EpjUTQ=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From bcc65c0be18fc6ea6ec39da89d0de77544fa18c7 Mon Sep 17 00:00:00 2001
|
||||
From: Mrmaxmeier <Mrmaxmeier@gmail.com>
|
||||
Date: Tue, 9 Jul 2024 17:41:08 +0200
|
||||
Subject: [PATCH] Drop removed `distutils` import in favor of `sysconfig`
|
||||
|
||||
This patch is available online as https://github.com/unicorn-engine/unicorn/pull/1973
|
||||
|
||||
diff --git a/unicorn/unicorn.py b/unicorn/unicorn.py
|
||||
index 2e6a938f43..7204b8215f 100644
|
||||
--- a/unicorn/unicorn.py
|
||||
+++ b/unicorn/unicorn.py
|
||||
@@ -2,7 +2,7 @@
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
import ctypes.util
|
||||
-import distutils.sysconfig
|
||||
+import sysconfig
|
||||
from functools import wraps
|
||||
from typing import Any, Callable, List, Tuple, Union
|
||||
import pkg_resources
|
||||
@@ -85,7 +85,7 @@ def _load_lib(path, lib_name):
|
||||
pkg_resources.resource_filename(__name__, 'lib'),
|
||||
os.path.join(os.path.split(__file__)[0], 'lib'),
|
||||
'',
|
||||
- distutils.sysconfig.get_python_lib(),
|
||||
+ sysconfig.get_path('platlib'),
|
||||
"/usr/local/lib/" if sys.platform == 'darwin' else '/usr/lib64',
|
||||
os.getenv('PATH', '')]
|
||||
|
||||
@@ -9,22 +9,17 @@
|
||||
buildPythonPackage rec {
|
||||
pname = "unicorn";
|
||||
version = lib.getVersion unicorn-emu;
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = unicorn-emu.src;
|
||||
|
||||
sourceRoot = "${src.name}/bindings/python";
|
||||
|
||||
patches = [
|
||||
# Python 3.12 compatibility: Drop removed `distutils` import in favor of `sysconfig`
|
||||
./avoid-distutils-python312.patch
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
ln -s ${unicorn-emu}/lib/libunicorn.* prebuilt/
|
||||
'';
|
||||
|
||||
# needed on non-x86 linux
|
||||
# Needed on non-x86 linux
|
||||
setupPyBuildFlags =
|
||||
lib.optionals stdenv.hostPlatform.isLinux [
|
||||
"--plat-name"
|
||||
@@ -37,7 +32,7 @@ buildPythonPackage rec {
|
||||
"macosx_11_0"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ setuptools ];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
Reference in New Issue
Block a user