From 5d4eb9dd07ddd589ec03582c3eeb82d490023282 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Nov 2008 01:13:29 +0000 Subject: [PATCH] * Moved the build farm job for building Nix to the Nix tree. --- Makefile.am | 18 ++++--------- configure.ac | 15 +---------- release.nix | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 27 deletions(-) create mode 100644 release.nix diff --git a/Makefile.am b/Makefile.am index 3ea86b164..45664d6a6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,17 +1,11 @@ SUBDIRS = externals src scripts corepkgs doc misc tests EXTRA_DIST = substitute.mk nix.spec nix.spec.in bootstrap.sh \ - svn-revision nix.conf.example NEWS + nix.conf.example NEWS include ./substitute.mk nix.spec: nix.spec.in -rpm: nix.spec dist - rpm $(EXTRA_RPM_FLAGS) -ta $(distdir).tar.gz - -relname: - echo -n $(distdir) > relname - install-data-local: init-state $(INSTALL) -d $(DESTDIR)$(sysconfdir)/nix $(INSTALL_DATA) $(srcdir)/nix.conf.example $(DESTDIR)$(sysconfdir)/nix @@ -44,13 +38,11 @@ init-state: ln -sfn $(localstatedir)/nix/manifests $(DESTDIR)$(localstatedir)/nix/gcroots/manifests else + init-state: + endif -svn-revision: - svnversion . > svn-revision - -all-local: NEWS - -NEWS: doc/manual/NEWS.txt +NEWS: + $(MAKE) -C doc/manual NEWS.txt cp $(srcdir)/doc/manual/NEWS.txt NEWS diff --git a/configure.ac b/configure.ac index c5cd37b66..e666b8c47 100644 --- a/configure.ac +++ b/configure.ac @@ -1,21 +1,8 @@ -AC_INIT(nix, 0.13) +AC_INIT(nix, m4_esyscmd([echo -n 0.13$VERSION_SUFFIX])) AC_CONFIG_SRCDIR(README) AC_CONFIG_AUX_DIR(config) AM_INIT_AUTOMAKE([dist-bzip2 foreign]) -# Change to `1' to produce a `stable' release (i.e., the `preREVISION' -# suffix is not added). -STABLE=0 - -# Put the revision number in the version. -if test "$STABLE" != "1"; then - if REVISION=`test -d $srcdir/.svn && svnversion -n $srcdir 2> /dev/null`; then - VERSION=${VERSION}pre${REVISION} - elif REVISION=`cat $srcdir/svn-revision 2> /dev/null`; then - VERSION=${VERSION}pre${REVISION} - fi -fi - AC_DEFINE_UNQUOTED(NIX_VERSION, ["$VERSION"], [Nix version.]) AC_CANONICAL_HOST diff --git a/release.nix b/release.nix new file mode 100644 index 000000000..6c11ba588 --- /dev/null +++ b/release.nix @@ -0,0 +1,75 @@ +let jobs = rec { + + + 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/manual.html" >> $out/nix-support/hydra-build-products + ''; + }; + + +}; in jobs