summary refs log tree commit diff
path: root/pkgs/top-level/release.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2009-03-09 17:49:13 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2009-03-09 17:49:13 +0000
commitc94f5f7862833b7882aaca956e967d4a9df5365a (patch)
tree7f53642d9fc8d97bcf5f21c181615dc9064a9c4b /pkgs/top-level/release.nix
parent3979b5359b53a9f36d332dcc50fb21989e2639ec (diff)
downloadnixpkgs-c94f5f7862833b7882aaca956e967d4a9df5365a.tar
nixpkgs-c94f5f7862833b7882aaca956e967d4a9df5365a.tar.gz
nixpkgs-c94f5f7862833b7882aaca956e967d4a9df5365a.tar.bz2
nixpkgs-c94f5f7862833b7882aaca956e967d4a9df5365a.tar.lz
nixpkgs-c94f5f7862833b7882aaca956e967d4a9df5365a.tar.xz
nixpkgs-c94f5f7862833b7882aaca956e967d4a9df5365a.tar.zst
nixpkgs-c94f5f7862833b7882aaca956e967d4a9df5365a.zip
* Put the tarball job in a separate file.
svn path=/nixpkgs/trunk/; revision=14476
Diffstat (limited to 'pkgs/top-level/release.nix')
-rw-r--r--pkgs/top-level/release.nix132
1 files changed, 39 insertions, 93 deletions
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 9436457a09b..7254ea97584 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -2,102 +2,48 @@ let
 
   allPackages = import ./all-packages.nix;
 
-  test = f: {system}: f (allPackages {inherit system;});
-  
-
-  jobs = {
-
-  
-    tarball =
-      { nixpkgs ? {path = (allPackages {}).lib.cleanSource ../..; rev = 1234;}
-      , officialRelease ? false
-      }:
-
-      with import nixpkgs.path {};
-
-      releaseTools.makeSourceTarball {
-        name = "nixpkgs-tarball";
-        src = nixpkgs;
-        inherit officialRelease;
-
-        buildInputs = [
-          lzma
-          libxml2 # Needed for the release notes.
-          libxslt
-          w3m
-          nixUnstable # Needed to check whether the expressions are valid.
-        ];
-    
-        configurePhase = ''
-          eval "$preConfigure"
-          releaseName=nixpkgs-$(cat $src/VERSION)$VERSION_SUFFIX
-          echo "release name is $releaseName"
-          echo $releaseName > relname
-        '';
+  pkgs = allPackages {};
 
-        dontBuild = false;
-                
-        buildPhase = ''
-          echo "building docs..."
-          (cd doc && make docbookxsl=${docbook5_xsl}/xml/xsl/docbook) || false
-          ln -s doc/NEWS.txt NEWS
-        '';
- 
-        doCheck = true;
+  testOn = systems: f: {system}:
+    if pkgs.lib.elem system systems then f (allPackages {inherit system;}) else {};
+        
+  testOnLinux = testOn ["i686-linux" "x86_64-linux"];
 
-        checkPhase = ''
-          # Check that we can fully evaluate build-for-release.nix.
-          header "checking pkgs/top-level/build-for-release.nix"
-          nix-env --readonly-mode -f pkgs/top-level/build-for-release.nix \
-              -qa \* --drv-path --system-filter \* --system
-          stopNest
+  test = testOn ["i686-linux" "x86_64-linux" "i686-darwin" "i686-cygwin"];
 
-          # Check that all-packages.nix evaluates on a number of platforms.
-          for platform in i686-linux x86_64-linux powerpc-linux i686-freebsd powerpc-darwin i686-darwin; do
-              header "checking pkgs/top-level/all-packages.nix on $platform"
-              nix-env --readonly-mode -f pkgs/top-level/all-packages.nix \
-                  --argstr system "$platform" \
-                  -qa \* --drv-path --system-filter \* --system
-              stopNest
-          done
-        '';
+in {
 
-        distPhase = ''
-          ensureDir $out/tarballs
-          mkdir ../$releaseName
-          cp -prd . ../$releaseName
-          (cd .. && tar cfa $out/tarballs/$releaseName.tar.bz2 $releaseName) || false
-          (cd .. && tar cfa $out/tarballs/$releaseName.tar.lzma $releaseName) || false
+  tarball = import ./make-tarball.nix;
 
-          ensureDir $out/release-notes
-          cp doc/NEWS.html $out/release-notes/index.html
-          cp doc/style.css $out/release-notes/
-          echo "doc release-notes $out/release-notes" >> $out/nix-support/hydra-build-products
-
-          ensureDir $out/manual
-          cp doc/manual.html $out/manual/index.html
-          cp doc/style.css $out/manual/
-          echo "doc manual $out/manual" >> $out/nix-support/hydra-build-products
-        '';
-      };
-
-
-      # All the top-level packages that want to build in the build farm.
-      # !!! notation is kinda clumsy
-
-      MPlayer = test (pkgs: pkgs.MPlayer);
-      autoconf = test (pkgs: pkgs.autoconf);
-      bash = test (pkgs: pkgs.bash);
-      firefox3 = test (pkgs: pkgs.firefox3);
-      gcc = test (pkgs: pkgs.gcc);
-      hello = test (pkgs: pkgs.hello);
-      libtool = test (pkgs: pkgs.libtool);
-      pan = test (pkgs: pkgs.pan);
-      perl = test (pkgs: pkgs.perl);
-      python = test (pkgs: pkgs.python);
-      thunderbird = test (pkgs: pkgs.thunderbird);
-      wine = test (pkgs: pkgs.wine);
-              
+  /* All the top-level packages that we want to build in the build
+     farm.  The notation is still kinda clumsy.  We could use some
+     meta-programming.  E.g. we would want to write
+  
+       wine = ["i686-linux"];
+
+     which would be translated to
+
+       wine = testOn ["i686-linux"] (pkgs: pkgs.wine);
+
+     Shouldn't be too hard to make a function that recurses over the
+     attrset and does this for every attribute. */
+
+  MPlayer = testOnLinux (pkgs: pkgs.MPlayer);
+  autoconf = test (pkgs: pkgs.autoconf);
+  bash = test (pkgs: pkgs.bash);
+  firefox3 = testOnLinux (pkgs: pkgs.firefox3);
+  gcc = test (pkgs: pkgs.gcc);
+  hello = test (pkgs: pkgs.hello);
+  libsmbios = testOnLinux (pkgs: pkgs.libsmbios);
+  libtool = test (pkgs: pkgs.libtool);
+  pan = testOnLinux (pkgs: pkgs.pan);
+  perl = test (pkgs: pkgs.perl);
+  python = test (pkgs: pkgs.python);
+  thunderbird = testOnLinux (pkgs: pkgs.thunderbird);
+  wine = testOn ["i686-linux"] (pkgs: pkgs.wine);
+
+  xorg = {
+    libX11 = testOnLinux (pkgs: pkgs.xorg.libX11);    
   };
-
-in jobs
+  
+}