From a63bfee40731b00850c9a8b4c16b6a51ca2238fe Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 2 Oct 2024 23:26:59 +0300 Subject: [PATCH] umd: dedupe --- pkgs/umd/default.nix | 109 +++++++++++++++++++++---------------------- 1 file changed, 52 insertions(+), 57 deletions(-) diff --git a/pkgs/umd/default.nix b/pkgs/umd/default.nix index f76fe8e..579deec 100644 --- a/pkgs/umd/default.nix +++ b/pkgs/umd/default.nix @@ -13,7 +13,7 @@ let hash = "sha256-Pa6vFjsG30UnGwLKZc/OTmiSMkXs/0sAFwVGojE8IbY="; }; - umd-deps = pkgs.stdenv.mkDerivation { + umd-deps = tt-umd.overrideAttrs (previousAttrs: { name = "tt-umd-deps-${version}.tar.gz"; inherit src; @@ -23,23 +23,14 @@ let outputHash = "sha256-/T7UJ1OCd4T68DXOxHjGLYiiLoEZIRt7PHbT9npT4uk="; outputHashAlgo = "sha256"; - nativeBuildInputs = with pkgs; [ - cmake - git - cacert - python3 - ]; - - ARCH_NAME = "wormhole_b0"; cmakeFlags = [ "-DCPM_DOWNLOAD_ALL=ON" "-DCPM_SOURCE_CACHE=${depsDir}" "-DTT_UMD_BUILD_TESTS=ON" ]; - postPatch = '' - cp ${pkgs.cpm-cmake}/share/cpm/CPM.cmake cmake/CPM.cmake - ''; + # Infinite recursion + postUnpack = ""; installPhase = '' runHook preInstall @@ -54,51 +45,55 @@ let runHook postInstall ''; + + }); + + tt-umd = pkgs.stdenv.mkDerivation { + pname = "tt-umd"; + inherit version src; + + nativeBuildInputs = with pkgs; [ + cmake + git + cacert + ninja + python3 + removeReferencesTo + ]; + + buildInputs = with pkgs; [ + libyamlcpp + boost + fmt + hwloc + ]; + + ARCH_NAME = "wormhole_b0"; + cmakeFlags = [ + "-DCPM_SOURCE_CACHE=${depsDir}" + # libdevice.so + # RUNPATH /build/source/build/_deps/nanomsg-build:/build/source/build/_deps/libuv-build:/nix/store/n1yy5f1754p2d6dhksvg6rwpayymw1fx-tt-umd-unstable-2024-10-01/lib/:... + # TODO: look in to fixing properly if there's a need. + "-DCMAKE_SKIP_BUILD_RPATH=ON" + ]; + + postUnpack = '' + mkdir -p $sourceRoot/build + tar -xf ${umd-deps} -C $sourceRoot/build + ''; + + postPatch = '' + cp ${pkgs.cpm-cmake}/share/cpm/CPM.cmake cmake/CPM.cmake + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/lib + mv lib/libdevice.so $out/lib + runHook postInstall + ''; }; + in -pkgs.stdenv.mkDerivation { - pname = "tt-umd"; - inherit version src; - - nativeBuildInputs = with pkgs; [ - cmake - git - cacert - ninja - python3 - removeReferencesTo - ]; - - buildInputs = with pkgs; [ - libyamlcpp - boost - fmt - hwloc - ]; - - ARCH_NAME = "wormhole_b0"; - cmakeFlags = [ - "-DCPM_SOURCE_CACHE=${depsDir}" - # libdevice.so - # RUNPATH /build/source/build/_deps/nanomsg-build:/build/source/build/_deps/libuv-build:/nix/store/n1yy5f1754p2d6dhksvg6rwpayymw1fx-tt-umd-unstable-2024-10-01/lib/:... - # TODO: look in to fixing properly if there's a need. - "-DCMAKE_SKIP_BUILD_RPATH=ON" - ]; - - postUnpack = '' - mkdir -p $sourceRoot/build - tar -xf ${umd-deps} -C $sourceRoot/build - ''; - - postPatch = '' - cp ${pkgs.cpm-cmake}/share/cpm/CPM.cmake cmake/CPM.cmake - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/lib - mv lib/libdevice.so $out/lib - runHook postInstall - ''; -} +tt-umd