mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-28 14:22:50 +03:00
zydis: split zycore
into separate derivation
This commit splits the Zycore dependency that was previously pulled in via `fetchSubmodules` into a separate derivation. The package previously didn't install the Zycore headers and CMake configs, making it impossible to actually compile any code that uses Zydis because Zydis includes Zycore headers.
This commit is contained in:
parent
b799bb34ee
commit
5ce55991d5
@ -1,9 +1,16 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, callPackage
|
||||
, cmake
|
||||
, python3
|
||||
}:
|
||||
|
||||
let
|
||||
zycore = callPackage ./zycore.nix {
|
||||
inherit stdenv fetchFromGitHub cmake;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zydis";
|
||||
version = "4.0.0";
|
||||
@ -12,14 +19,29 @@ stdenv.mkDerivation rec {
|
||||
owner = "zyantific";
|
||||
repo = "zydis";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-WSBi8HUVj/JR0/0pBoEaUKD0kOk41gSW5ZW74fn8b4k=";
|
||||
hash = "sha256-/no/8FNa5LlwhZMSMao4/cwZk6GlamLjqr+isbh6tEI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ zycore ];
|
||||
cmakeFlags = [
|
||||
"-DZYAN_SYSTEM_ZYCORE=ON"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ python3 ];
|
||||
checkPhase = ''
|
||||
pushd ../tests
|
||||
python3 ./regression.py test ../build/ZydisInfo
|
||||
python3 ./regression_encoder.py \
|
||||
../build/Zydis{Fuzz{ReEncoding,Encoder},TestEncoderAbsolute}
|
||||
popd
|
||||
'';
|
||||
|
||||
passthru = { inherit zycore; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://zydis.re/";
|
||||
description = "Fast and lightweight x86/x86-64 disassembler library";
|
||||
|
25
pkgs/development/libraries/zydis/zycore.nix
Normal file
25
pkgs/development/libraries/zydis/zycore.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zycore";
|
||||
version = "1.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zyantific";
|
||||
repo = "zycore-c";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-kplUgrYecymGxz92tEU6H+NNtcN/Ao/tmmqdVo2c7HA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
# The absolute paths set by the Nix CMake build manager confuse
|
||||
# Zycore's config generation (which appends them to the package path).
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
||||
];
|
||||
}
|
Loading…
Reference in New Issue
Block a user