From 4ad3446311de5fc7a1f254dcda7634126d87435c Mon Sep 17 00:00:00 2001 From: Qyriad Date: Tue, 5 Mar 2024 16:26:46 -0700 Subject: [PATCH] package: migrate testNixVersions Change-Id: I71845f8a6d7b77c3617d055e726ed4a28cd05fa3 --- flake.nix | 51 ++++++++++++++++++++------------------------------- package.nix | 4 ++-- 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/flake.nix b/flake.nix index a3a395b1c..e547846f8 100644 --- a/flake.nix +++ b/flake.nix @@ -243,51 +243,40 @@ echo "file installer $out/install" >> $out/nix-support/hydra-build-products ''; - testNixVersions = pkgs: client: daemon: with commonDeps { inherit pkgs; }; with pkgs.lib; pkgs.stdenv.mkDerivation { + testNixVersions = pkgs: client: daemon: let + nix = pkgs.callPackage ./package.nix { + pname = + "nix-tests" + + lib.optionalString + (lib.versionAtLeast daemon.version "2.4pre20211005" && + lib.versionAtLeast client.version "2.4pre20211005") + "-${client.version}-against-${daemon.version}"; + + inherit fileset; + }; + in nix.overrideAttrs (prevAttrs: { NIX_DAEMON_PACKAGE = daemon; NIX_CLIENT_PACKAGE = client; - name = - "nix-tests" - + optionalString - (versionAtLeast daemon.version "2.4pre20211005" && - versionAtLeast client.version "2.4pre20211005") - "-${client.version}-against-${daemon.version}"; - inherit version; - src = fileset.toSource { - root = ./.; - fileset = fileset.intersection baseFiles (fileset.unions [ - configureFiles - topLevelBuildFiles - functionalTestFiles - ]); - }; - - VERSION_SUFFIX = versionSuffix; - - nativeBuildInputs = nativeBuildDeps; - buildInputs = buildDeps ++ awsDeps ++ checkDeps; - propagatedBuildInputs = propagatedDeps; - - enableParallelBuilding = true; - - configureFlags = - testConfigureFlags # otherwise configure fails - ++ [ "--disable-build" ]; dontBuild = true; doInstallCheck = true; + configureFlags = prevAttrs.configureFlags ++ [ + # We don't need the actual build here. + "--disable-build" + ]; + installPhase = '' mkdir -p $out ''; - installCheckPhase = (optionalString pkgs.stdenv.hostPlatform.isDarwin '' + installCheckPhase = lib.optionalString pkgs.stdenv.hostPlatform.isDarwin '' export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES - '') + '' + '' + '' mkdir -p src/nix-channel make installcheck -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES ''; - }; + }); binaryTarball = nix: pkgs: let diff --git a/package.nix b/package.nix index f809ae67b..a6933b0ab 100644 --- a/package.nix +++ b/package.nix @@ -178,10 +178,10 @@ in stdenv.mkDerivation (finalAttrs: { mkdir -p $out/lib cp -pd ${boost}/lib/{libboost_context*,libboost_thread*,libboost_system*} $out/lib rm -f $out/lib/*.a - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + '' + lib.optionalString (!finalAttrs.dontBuild && stdenv.hostPlatform.isLinux) '' chmod u+w $out/lib/*.so.* patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.* - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + lib.optionalString (!finalAttrs.dontBuild && stdenv.hostPlatform.isDarwin) '' for LIB in $out/lib/*.dylib; do chmod u+w $LIB install_name_tool -id $LIB $LIB