aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQyriad <qyriad@qyriad.me>2024-03-05 16:26:46 -0700
committerQyriad <qyriad@qyriad.me>2024-03-11 04:26:35 -0600
commit4ad3446311de5fc7a1f254dcda7634126d87435c (patch)
tree10c0c8ce8dac0aef05cdf5079e14d34d57635faf
parent875b76d0c7ab596ad26830a80ab63dc2869e83db (diff)
package: migrate testNixVersions
Change-Id: I71845f8a6d7b77c3617d055e726ed4a28cd05fa3
-rw-r--r--flake.nix51
-rw-r--r--package.nix4
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 {
- NIX_DAEMON_PACKAGE = daemon;
- NIX_CLIENT_PACKAGE = client;
- name =
- "nix-tests"
- + optionalString
- (versionAtLeast daemon.version "2.4pre20211005" &&
- versionAtLeast client.version "2.4pre20211005")
+ 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 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;
+ inherit fileset;
+ };
+ in nix.overrideAttrs (prevAttrs: {
+ NIX_DAEMON_PACKAGE = daemon;
+ NIX_CLIENT_PACKAGE = client;
- 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