mirror of
https://github.com/NixOS/nix.git
synced 2024-10-31 14:20:52 +00:00
* Build RPMs, Debs, coverage analysis.
This commit is contained in:
parent
909fbb9de1
commit
9850262a72
208
release.nix
208
release.nix
@ -1,57 +1,125 @@
|
||||
let jobs = rec {
|
||||
let
|
||||
|
||||
jobs = rec {
|
||||
|
||||
|
||||
tarball =
|
||||
{ nix ? {path = ./.; rev = 1234;}
|
||||
, nixpkgs ? {path = ../nixpkgs;}
|
||||
, officialRelease ? false
|
||||
}:
|
||||
tarball =
|
||||
{ nix ? {path = ./.; rev = 1234;}
|
||||
, nixpkgs ? {path = ../nixpkgs;}
|
||||
, officialRelease ? false
|
||||
}:
|
||||
|
||||
with import nixpkgs.path {};
|
||||
|
||||
releaseTools.makeSourceTarball {
|
||||
name = "nix-tarball";
|
||||
src = nix;
|
||||
inherit officialRelease;
|
||||
|
||||
buildInputs = [curl bison flex2533 perl libxml2 libxslt w3m bzip2 jing_tools];
|
||||
|
||||
configureFlags = ''
|
||||
--with-docbook-rng=${docbook5}/xml/rng/docbook
|
||||
--with-docbook-xsl=${docbook5_xsl}/xml/xsl/docbook
|
||||
--with-xml-flags=--nonet
|
||||
'';
|
||||
|
||||
# Include the BDB, ATerm and Bzip2 tarballs in the distribution.
|
||||
preConfigure = ''
|
||||
stripHash ${db45.src}
|
||||
# Remove unnecessary stuff from the Berkeley DB tarball.
|
||||
( mkdir bdb-temp
|
||||
cd bdb-temp
|
||||
tar xfz ${db45.src}
|
||||
cd *
|
||||
rm -rf docs test tcl perl libdb_java java rpc_server build_vxworks \
|
||||
examples_java examples_c examples_cxx dist/tags
|
||||
mkdir test
|
||||
touch test/include.tcl
|
||||
cd ..
|
||||
tar cvfz ../externals/$strippedName *
|
||||
)
|
||||
|
||||
stripHash ${aterm242fixes.src}
|
||||
cp -pv ${aterm242fixes.src} externals/$strippedName
|
||||
|
||||
stripHash ${bzip2.src}
|
||||
cp -pv ${bzip2.src} externals/$strippedName
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
build =
|
||||
{ tarball ? {path = jobs.tarball {};}
|
||||
, nixpkgs ? {path = ../nixpkgs;}
|
||||
, system ? "i686-linux"
|
||||
}:
|
||||
|
||||
with import nixpkgs.path {inherit system;};
|
||||
|
||||
releaseTools.nixBuild {
|
||||
name = "nix-build";
|
||||
src = tarball;
|
||||
|
||||
buildInputs = [curl perl bzip2 openssl];
|
||||
|
||||
configureFlags = ''
|
||||
--disable-init-state
|
||||
--with-bdb=${db45} --with-aterm=${aterm242fixes} --with-bzip2=${bzip2}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
echo "doc manual $out/share/doc/nix/manual" >> $out/nix-support/hydra-build-products
|
||||
echo "doc release-notes $out/share/doc/nix/release-notes" >> $out/nix-support/hydra-build-products
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
coverage =
|
||||
{ tarball ? {path = jobs.tarball {};}
|
||||
, nixpkgs ? {path = ../nixpkgs;}
|
||||
}:
|
||||
|
||||
with import nixpkgs.path {};
|
||||
|
||||
releaseTools.coverageAnalysis {
|
||||
name = "nix-build";
|
||||
src = tarball;
|
||||
|
||||
buildInputs = [
|
||||
curl perl bzip2 openssl
|
||||
# These are for "make check" only:
|
||||
graphviz libxml2 libxslt
|
||||
];
|
||||
|
||||
configureFlags = ''
|
||||
--disable-init-state --disable-shared
|
||||
--with-bdb=${db45} --with-aterm=${aterm242fixes} --with-bzip2=${bzip2}
|
||||
'';
|
||||
|
||||
lcovFilter = ["*/boost/*" "*-tab.*"];
|
||||
|
||||
# We call `dot', and even though we just use it to
|
||||
# syntax-check generated dot files, it still requires some
|
||||
# fonts. So provide those.
|
||||
FONTCONFIG_FILE = texFunctions.fontsConf;
|
||||
};
|
||||
|
||||
|
||||
rpm_fedora9i386 = makeRPM (diskImages: diskImages.fedora9i386) 50;
|
||||
rpm_fedora10i386 = makeRPM (diskImages: diskImages.fedora10i386) 40;
|
||||
rpm_opensuse103i386 = makeRPM (diskImages: diskImages.opensuse103i386) 40;
|
||||
|
||||
|
||||
with import nixpkgs.path {};
|
||||
|
||||
releaseTools.makeSourceTarball {
|
||||
name = "nix-tarball";
|
||||
src = nix;
|
||||
inherit officialRelease;
|
||||
|
||||
buildInputs = [curl bison flex2533 perl libxml2 libxslt w3m bzip2 jing_tools];
|
||||
|
||||
configureFlags = ''
|
||||
--with-docbook-rng=${docbook5}/xml/rng/docbook
|
||||
--with-docbook-xsl=${docbook5_xsl}/xml/xsl/docbook
|
||||
--with-xml-flags=--nonet
|
||||
'';
|
||||
|
||||
# Include the BDB, ATerm and Bzip2 tarballs in the distribution.
|
||||
preConfigure = ''
|
||||
stripHash ${db45.src}
|
||||
# Remove unnecessary stuff from the Berkeley DB tarball.
|
||||
( mkdir bdb-temp
|
||||
cd bdb-temp
|
||||
tar xfz ${db45.src}
|
||||
cd *
|
||||
rm -rf docs test tcl perl libdb_java java rpc_server build_vxworks \
|
||||
examples_java examples_c examples_cxx dist/tags
|
||||
mkdir test
|
||||
touch test/include.tcl
|
||||
cd ..
|
||||
tar cvfz ../externals/$strippedName *
|
||||
)
|
||||
|
||||
stripHash ${aterm242fixes.src}
|
||||
cp -pv ${aterm242fixes.src} externals/$strippedName
|
||||
|
||||
stripHash ${bzip2.src}
|
||||
cp -pv ${bzip2.src} externals/$strippedName
|
||||
'';
|
||||
};
|
||||
deb_debian40i386 = makeDeb (diskImages: diskImages.debian40i386) 30;
|
||||
deb_ubuntu804i386 = makeDeb (diskImages: diskImages.ubuntu804i386) 40;
|
||||
|
||||
|
||||
build =
|
||||
{ tarball ? {path = jobs.tarball {};}
|
||||
, nixpkgs ? {path = ../nixpkgs;}
|
||||
, system ? "i686-linux"
|
||||
}:
|
||||
};
|
||||
|
||||
|
||||
doBuild =
|
||||
{ tarball, nixpkgs, system, coverageAnalysis }:
|
||||
|
||||
with import nixpkgs.path {inherit system;};
|
||||
|
||||
@ -65,12 +133,48 @@ let jobs = rec {
|
||||
--disable-init-state
|
||||
--with-bdb=${db45} --with-aterm=${aterm242fixes} --with-bzip2=${bzip2}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
|
||||
postInstall = if coverageAnalysis then "" else ''
|
||||
echo "doc manual $out/share/doc/nix/manual" >> $out/nix-support/hydra-build-products
|
||||
echo "doc release-notes $out/share/doc/nix/release-notes" >> $out/nix-support/hydra-build-products
|
||||
'';
|
||||
|
||||
inherit coverageAnalysis;
|
||||
};
|
||||
|
||||
|
||||
}; in jobs
|
||||
makeRPM =
|
||||
diskImageFun: prio:
|
||||
{ tarball ? {path = jobs.tarball {};}
|
||||
, nixpkgs ? {path = ../nixpkgs;}
|
||||
}:
|
||||
|
||||
with import nixpkgs.path {};
|
||||
|
||||
releaseTools.rpmBuild rec {
|
||||
name = "nix-rpm-${diskImage.name}";
|
||||
src = tarball;
|
||||
diskImage = diskImageFun vmTools.diskImages;
|
||||
memSize = 1024;
|
||||
meta = { schedulingPriority = toString prio; };
|
||||
};
|
||||
|
||||
|
||||
makeDeb =
|
||||
diskImageFun: prio:
|
||||
{ tarball ? {path = jobs.tarball {};}
|
||||
, nixpkgs ? {path = ../nixpkgs;}
|
||||
}:
|
||||
|
||||
with import nixpkgs.path {};
|
||||
|
||||
releaseTools.debBuild {
|
||||
name = "nix-deb";
|
||||
src = tarball;
|
||||
diskImage = diskImageFun vmTools.diskImages;
|
||||
memSize = 1024;
|
||||
meta = { schedulingPriority = toString prio; };
|
||||
};
|
||||
|
||||
|
||||
in jobs
|
||||
|
Loading…
Reference in New Issue
Block a user