about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2008-11-26T01·13+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2008-11-26T01·13+0000
commit5d4eb9dd07ddd589ec03582c3eeb82d490023282 (patch)
treecad3a0f498e5105461f105215bc9fbb0aaca1f69
parent0c478d2f4d7459c4af4e7608ed45ae3b2f09c7dc (diff)
* Moved the build farm job for building Nix to the Nix tree.
-rw-r--r--Makefile.am18
-rw-r--r--configure.ac15
-rw-r--r--release.nix75
3 files changed, 81 insertions, 27 deletions
diff --git a/Makefile.am b/Makefile.am
index 3ea86b1649..45664d6a68 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
+init-state:
 
-all-local: NEWS
+endif
 
-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 c5cd37b661..e666b8c474 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 0000000000..6c11ba588e
--- /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