diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 98c0e8b6aa9..0e91e69d35d 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { # Perl is needed for `cg_annotate'. # GDB is needed to provide a sane default for `--db-command'. - buildInputs = [ perl gdb ]; + buildInputs = [ perl ] ++ stdenv.lib.optional (!stdenv.isDarwin) gdb; configureFlags = if stdenv.system == "x86_64-linux" then ["--enable-only64bit"] else []; @@ -37,5 +37,9 @@ stdenv.mkDerivation rec { ''; license = "GPLv2+"; + + maintainers = [ stdenv.lib.maintainers.eelco ]; + + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.cygwin; }; } diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index fd8f7c4be96..63f5c4a5109 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -29,5 +29,7 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/gdb/; license = "GPLv3+"; + + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.cygwin; }; } diff --git a/pkgs/lib/platforms.nix b/pkgs/lib/platforms.nix index c63544ce59d..f66b594f889 100644 --- a/pkgs/lib/platforms.nix +++ b/pkgs/lib/platforms.nix @@ -1,12 +1,12 @@ -let - lists = import ./lists.nix; -in +let lists = import ./lists.nix; in + rec { - gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */ + gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */ linux = ["i686-linux" "x86_64-linux" "powerpc-linux"]; darwin = ["i686-darwin" "powerpc-darwin"]; freebsd = ["i686-freebsd" "x86_64-freebsd" "powerpc-freebsd"]; cygwin = ["i686-cygwin"]; + unix = linux ++ darwin ++ freebsd; all = linux ++ darwin ++ cygwin ++ freebsd; allBut = platform: lists.filter (x: platform != x) all; mesaPlatforms = linux ++ darwin ++ freebsd; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 72217ec3b15..30072c40ad2 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -33,8 +33,10 @@ let (pkgs.lib.getAttrFromPath path pkgs); in testOn job.systems getPkg); - selectMaintained = attrSet: - if builtins ? tryEval then + /* Find all packages that have a meta.platforms field listing the + supported platforms. */ + packagesWithMetaPlatform = attrSet: + if builtins ? tryEval then let pairs = pkgs.lib.concatMap (x: let val = builtins.tryEval (processPackage (builtins.getAttr x attrSet)); in if val.success && val.value != [] then [{name=x; value=val.value;}] else []) @@ -42,17 +44,15 @@ let in builtins.listToAttrs pairs else {}; - # May fail as much as it wishes, we will catch the error + + # May fail as much as it wishes, we will catch the error. processPackage = attrSet: if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then - selectMaintained attrSet + packagesWithMetaPlatform attrSet else - if attrSet.meta.maintainers != [] then - (if builtins.hasAttr "platforms" attrSet.meta - then builtins.getAttr "platforms" attrSet.meta - else pkgs.lib.platforms.all) - else - []; + if builtins.hasAttr "platforms" attrSet.meta + then builtins.getAttr "platforms" attrSet.meta + else []; /* Common platform groups on which to test packages. */ inherit (pkgs.lib.platforms) linux darwin cygwin allBut all; @@ -66,7 +66,7 @@ in { tarball = import ./make-tarball.nix; -} // (mapTestOn ((selectMaintained pkgs) // rec { +} // (mapTestOn ((packagesWithMetaPlatform pkgs) // rec { MPlayer = linux; abcde = linux; @@ -161,7 +161,6 @@ in { gcc43_multi = ["x86_64-linux"]; gcc44 = linux; gcj44 = linux; - gdb = all; ghostscript = linux; ghostscriptX = linux; gimp = linux; @@ -375,7 +374,6 @@ in { utillinux = linux; utillinuxCurses = linux; uzbl = linux; - valgrind = linux; viking = linux; vice = linux; vim = linux;