mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-10-30 06:01:19 +00:00
* Fix eval-release.nix by testing whether all attributes of a
derivation evaluate inside the tryEval. This catches cases such as aufs2-util, which fails due to an assertion in its dependency aufs2. * Explicitly blacklist "xbursttools" because it gives some evaluation error in cross-OpenSSL. No idea why, probably due to some pass-through attribute. svn path=/nixpkgs/trunk/; revision=23247
This commit is contained in:
parent
12bfda97b8
commit
1ac9dcd24d
@ -6,9 +6,13 @@ let
|
||||
|
||||
lib = (import ../.. {}).lib;
|
||||
|
||||
rel = removeAttrs (import ../../pkgs/top-level/release.nix) ["tarball"];
|
||||
rel = removeAttrs (import ../../pkgs/top-level/release.nix) [ "tarball" "xbursttools" ];
|
||||
|
||||
maybe = x: let y = builtins.tryEval x; in if y.success then y.value else null;
|
||||
strictList = xs: lib.fold (x: xs: lib.seq x xs) xs xs;
|
||||
|
||||
strictAttrs = as: strictList (lib.attrValues as);
|
||||
|
||||
maybe = as: let y = builtins.tryEval (strictAttrs as); in if y.success then y.value else builtins.trace "FAIL" null;
|
||||
|
||||
call = attrs: lib.flip lib.mapAttrs attrs
|
||||
(n: v: builtins.trace n (
|
||||
|
@ -54,7 +54,7 @@ rec {
|
||||
makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
|
||||
deepOverride = newArgs:
|
||||
makeOverridable f (lib.overrideExisting (lib.mapAttrs (deepOverrider newArgs) origArgs) newArgs);
|
||||
origArgs = origArgs;
|
||||
#origArgs = origArgs;
|
||||
};
|
||||
|
||||
deepOverrider = newArgs: name: x: if builtins.isAttrs x then (
|
||||
|
@ -18,4 +18,8 @@ rec {
|
||||
# Flip the order of the arguments of a binary function.
|
||||
flip = f: a: b: f b a;
|
||||
|
||||
# `seq x y' evaluates x, then returns y. That is, it forces strict
|
||||
# evaluation of its first argument.
|
||||
seq = x: y: if x == null then y else y;
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, cmake, gettext, parted, libuuid, qt, kde, perl }:
|
||||
{ stdenv, fetchurl, cmake, gettext, parted, libuuid, qt4, kde, perl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "partitionmanager-1.0.0";
|
||||
@ -9,16 +9,16 @@ stdenv.mkDerivation {
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ cmake gettext parted libuuid qt kde.kdelibs kde.kdebase kde.automoc4 perl kde.phonon ];
|
||||
[ cmake gettext parted libuuid qt4 kde.kdelibs kde.kdebase kde.automoc4 perl kde.phonon ];
|
||||
|
||||
preConfigure = ''
|
||||
export VERBOSE=1
|
||||
cmakeFlagsArray=($cmakeFlagsArray -DGETTEXT_INCLUDE_DIR=${gettext}/include -DCMAKE_INCLUDE_PATH=${qt}/include/QtGui )
|
||||
cmakeFlagsArray=($cmakeFlagsArray -DGETTEXT_INCLUDE_DIR=${gettext}/include -DCMAKE_INCLUDE_PATH=${qt4}/include/QtGui )
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
set -x
|
||||
rpath=`patchelf --print-rpath $out/bin/partitionmanager-bin`:${qt}/lib
|
||||
rpath=`patchelf --print-rpath $out/bin/partitionmanager-bin`:${qt4}/lib
|
||||
for p in $out/bin/partitionmanager-bin; do
|
||||
patchelf --set-rpath $rpath $p
|
||||
done
|
||||
|
@ -1303,7 +1303,8 @@ let
|
||||
inherit stdenv fetchgit autoconf automake libusb confuse;
|
||||
# It needs a cross compiler for mipsel to build the firmware it will
|
||||
# load into the Ben Nanonote
|
||||
gccCross = let
|
||||
gccCross =
|
||||
let
|
||||
pkgsCross = (import ./all-packages.nix) {
|
||||
inherit system;
|
||||
inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
|
||||
@ -4879,7 +4880,8 @@ let
|
||||
windows = rec {
|
||||
w32api = callPackage ../os-specific/windows/w32api {
|
||||
gccCross = gccCrossStageStatic;
|
||||
binutilsCross = binutilsCross; };
|
||||
binutilsCross = binutilsCross;
|
||||
};
|
||||
|
||||
w32api_headers = w32api.override {
|
||||
onlyHeaders = true;
|
||||
@ -5919,7 +5921,6 @@ let
|
||||
|
||||
partitionManager = callPackage ../tools/misc/partition-manager {
|
||||
kde = kde44;
|
||||
qt = qt4;
|
||||
};
|
||||
|
||||
pdftk = callPackage ../tools/typesetting/pdftk { };
|
||||
|
Loading…
Reference in New Issue
Block a user