From e05e67e5d51cd14196ee12b80bd36eda50bff3b5 Mon Sep 17 00:00:00 2001 From: GenericNerdyUsername Date: Mon, 21 Aug 2023 00:49:55 +0100 Subject: [PATCH 1/2] lief, python3Packages.lief: 0.12.3 -> 0.13.2 --- pkgs/development/libraries/lief/default.nix | 39 +++++++-------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/pkgs/development/libraries/lief/default.nix b/pkgs/development/libraries/lief/default.nix index e7e8d2032ed..b5e0ac251f0 100644 --- a/pkgs/development/libraries/lief/default.nix +++ b/pkgs/development/libraries/lief/default.nix @@ -3,26 +3,28 @@ , fetchFromGitHub , python , cmake +, ninja }: let - pyEnv = python.withPackages (ps: [ ps.setuptools ]); + pyEnv = python.withPackages (ps: [ ps.setuptools ps.tomli ps.pip ps.setuptools ]); in stdenv.mkDerivation rec { pname = "lief"; - version = "0.12.3"; + version = "0.13.2"; src = fetchFromGitHub { owner = "lief-project"; repo = "LIEF"; rev = version; - sha256 = "sha256-wZgv4AFc7DrMCyxMLKQxO1mUTDAU4klK8aZAySqGJoY="; + sha256 = "sha256-lH4SqwPB2Jp/wUI2Cll67PQbHbwMqpNuLy/ei8roiHg="; }; outputs = [ "out" "py" ]; nativeBuildInputs = [ cmake + ninja ]; # Not a propagatedBuildInput because only the $py output needs it; $out is @@ -31,33 +33,16 @@ stdenv.mkDerivation rec { python ]; - dontUseCmakeConfigure = true; - - buildPhase = '' - runHook preBuild - - substituteInPlace setup.py \ - --replace 'cmake_args = []' "cmake_args = [ \"-DCMAKE_INSTALL_PREFIX=$prefix\" ]" - ${pyEnv.interpreter} setup.py --sdk build --parallel=$NIX_BUILD_CORES - - runHook postBuild + postBuild = '' + pushd /build/source/api/python + ${pyEnv.interpreter} setup.py build --parallel=$NIX_BUILD_CORES + popd ''; - # I was unable to find a way to build the library itself and have it install - # to $out, while also installing the Python bindings to $py without building - # the project twice (using cmake), so this is the best we've got. It uses - # something called CPack to create the tarball, but it's not obvious to me - # *how* that happens, or how to intercept it to just get the structured - # library output. - installPhase = '' - runHook preInstall - - mkdir -p $out $py/nix-support - echo "${python}" >> $py/nix-support/propagated-build-inputs - tar xf build/*.tar.gz --directory $out --strip-components 1 + postInstall = '' + pushd /build/source/api/python ${pyEnv.interpreter} setup.py install --skip-build --root=/ --prefix=$py - - runHook postInstall + popd ''; meta = with lib; { From 940264dc4cc795db53976850bf90ce1bbd79f350 Mon Sep 17 00:00:00 2001 From: GenericNerdyUsername Date: Fri, 25 Aug 2023 18:28:30 +0100 Subject: [PATCH 2/2] lief, python3Packages.lief: add genericnerdyusername as maintainer --- pkgs/development/libraries/lief/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/lief/default.nix b/pkgs/development/libraries/lief/default.nix index b5e0ac251f0..44f82f15852 100644 --- a/pkgs/development/libraries/lief/default.nix +++ b/pkgs/development/libraries/lief/default.nix @@ -50,6 +50,6 @@ stdenv.mkDerivation rec { homepage = "https://lief.quarkslab.com/"; license = [ licenses.asl20 ]; platforms = with platforms; linux ++ darwin; - maintainers = [ maintainers.lassulus ]; + maintainers = with maintainers; [ lassulus genericnerdyusername ]; }; }