mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-27 08:04:14 +00:00
4f0dadbf38
After final improvements to the official formatter implementation, this commit now performs the first treewide reformat of Nix files using it. This is part of the implementation of RFC 166. Only "inactive" files are reformatted, meaning only files that aren't being touched by any PR with activity in the past 2 months. This is to avoid conflicts for PRs that might soon be merged. Later we can do a full treewide reformat to get the rest, which should not cause as many conflicts. A CI check has already been running for some time to ensure that new and already-formatted files are formatted, so the files being reformatted here should also stay formatted. This commit was automatically created and can be verified using nix-builda08b3a4d19
.tar.gz \ --argstr baseRevb32a094368
result/bin/apply-formatting $NIXPKGS_PATH
211 lines
4.0 KiB
Nix
211 lines
4.0 KiB
Nix
{ lib, pkgs }:
|
|
|
|
let
|
|
inherit (lib) optionalString;
|
|
|
|
inherit (pkgs)
|
|
autoconf
|
|
automake
|
|
checkinstall
|
|
clang-analyzer
|
|
cov-build
|
|
enableGCOVInstrumentation
|
|
lcov
|
|
libtool
|
|
makeGCOVReport
|
|
runCommand
|
|
stdenv
|
|
vmTools
|
|
xz
|
|
;
|
|
in
|
|
|
|
rec {
|
|
|
|
sourceTarball =
|
|
args:
|
|
import ./source-tarball.nix (
|
|
{
|
|
inherit
|
|
lib
|
|
stdenv
|
|
autoconf
|
|
automake
|
|
libtool
|
|
;
|
|
}
|
|
// args
|
|
);
|
|
|
|
makeSourceTarball = sourceTarball; # compatibility
|
|
|
|
binaryTarball =
|
|
args:
|
|
import ./binary-tarball.nix (
|
|
{
|
|
inherit lib stdenv;
|
|
}
|
|
// args
|
|
);
|
|
|
|
mvnBuild =
|
|
args:
|
|
import ./maven-build.nix (
|
|
{
|
|
inherit lib stdenv;
|
|
}
|
|
// args
|
|
);
|
|
|
|
nixBuild =
|
|
args:
|
|
import ./nix-build.nix (
|
|
{
|
|
inherit lib stdenv;
|
|
}
|
|
// args
|
|
);
|
|
|
|
coverageAnalysis =
|
|
args:
|
|
nixBuild (
|
|
{
|
|
inherit lcov enableGCOVInstrumentation makeGCOVReport;
|
|
doCoverageAnalysis = true;
|
|
}
|
|
// args
|
|
);
|
|
|
|
clangAnalysis =
|
|
args:
|
|
nixBuild (
|
|
{
|
|
inherit clang-analyzer;
|
|
doClangAnalysis = true;
|
|
}
|
|
// args
|
|
);
|
|
|
|
coverityAnalysis =
|
|
args:
|
|
nixBuild (
|
|
{
|
|
inherit cov-build xz;
|
|
doCoverityAnalysis = true;
|
|
}
|
|
// args
|
|
);
|
|
|
|
rpmBuild =
|
|
args:
|
|
import ./rpm-build.nix (
|
|
{
|
|
inherit lib vmTools;
|
|
}
|
|
// args
|
|
);
|
|
|
|
debBuild =
|
|
args:
|
|
import ./debian-build.nix (
|
|
{
|
|
inherit
|
|
lib
|
|
stdenv
|
|
vmTools
|
|
checkinstall
|
|
;
|
|
}
|
|
// args
|
|
);
|
|
|
|
aggregate =
|
|
{
|
|
name,
|
|
constituents,
|
|
meta ? { },
|
|
}:
|
|
pkgs.runCommand name
|
|
{
|
|
inherit constituents meta;
|
|
preferLocalBuild = true;
|
|
_hydraAggregate = true;
|
|
}
|
|
''
|
|
mkdir -p $out/nix-support
|
|
touch $out/nix-support/hydra-build-products
|
|
echo $constituents > $out/nix-support/hydra-aggregate-constituents
|
|
|
|
# Propagate build failures.
|
|
for i in $constituents; do
|
|
if [ -e $i/nix-support/failed ]; then
|
|
touch $out/nix-support/failed
|
|
fi
|
|
done
|
|
'';
|
|
|
|
/*
|
|
Create a channel job which success depends on the success of all of
|
|
its contituents. Channel jobs are a special type of jobs that are
|
|
listed in the channel tab of Hydra and that can be suscribed.
|
|
A tarball of the src attribute is distributed via the channel.
|
|
|
|
- constituents: a list of derivations on which the channel success depends.
|
|
- name: the channel name that will be used in the hydra interface.
|
|
- src: should point to the root folder of the nix-expressions used by the
|
|
channel, typically a folder containing a `default.nix`.
|
|
|
|
channel {
|
|
constituents = [ foo bar baz ];
|
|
name = "my-channel";
|
|
src = ./.;
|
|
};
|
|
*/
|
|
channel =
|
|
{
|
|
name,
|
|
src,
|
|
constituents ? [ ],
|
|
meta ? { },
|
|
isNixOS ? true,
|
|
...
|
|
}@args:
|
|
stdenv.mkDerivation (
|
|
{
|
|
preferLocalBuild = true;
|
|
_hydraAggregate = true;
|
|
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
patchPhase = optionalString isNixOS ''
|
|
touch .update-on-nixos-rebuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/{tarballs,nix-support}
|
|
|
|
tar cJf "$out/tarballs/nixexprs.tar.xz" \
|
|
--owner=0 --group=0 --mtime="1970-01-01 00:00:00 UTC" \
|
|
--transform='s!^\.!${name}!' .
|
|
|
|
echo "channel - $out/tarballs/nixexprs.tar.xz" > "$out/nix-support/hydra-build-products"
|
|
echo $constituents > "$out/nix-support/hydra-aggregate-constituents"
|
|
|
|
# Propagate build failures.
|
|
for i in $constituents; do
|
|
if [ -e "$i/nix-support/failed" ]; then
|
|
touch "$out/nix-support/failed"
|
|
fi
|
|
done
|
|
'';
|
|
|
|
meta = meta // {
|
|
isHydraChannel = true;
|
|
};
|
|
}
|
|
// removeAttrs args [ "meta" ]
|
|
);
|
|
|
|
}
|