Skip to content

Commit

Permalink
mergeAttrsByVersion, versionedDerivation: remove
Browse files Browse the repository at this point in the history
obsolete and ancient
  • Loading branch information
globin committed Aug 11, 2017
1 parent 6c1528c commit f481093
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 48 deletions.
42 changes: 0 additions & 42 deletions lib/deprecated.nix
Expand Up @@ -309,48 +309,6 @@ rec {
mergeAttrsByFuncDefaults = foldl mergeAttrByFunc { inherit mergeAttrBy; };
mergeAttrsByFuncDefaultsClean = list: removeAttrs (mergeAttrsByFuncDefaults list) ["mergeAttrBy"];

# merge attrs based on version key into mkDerivation args, see mergeAttrBy to learn about smart merge defaults
#
# This function is best explained by an example:
#
# {version ? "2.x"}:
#
# mkDerivation (mergeAttrsByVersion "package-name" version
# { # version specific settings
# "git" = { src = ..; preConfigre = "autogen.sh"; buildInputs = [automake autoconf libtool]; };
# "2.x" = { src = ..; };
# }
# { // shared settings
# buildInputs = [ common build inputs ];
# meta = { .. }
# }
# )
#
# Please note that e.g. Eelco Dolstra usually prefers having one file for
# each version. On the other hand there are valuable additional design goals
# - readability
# - do it once only
# - try to avoid duplication
#
# Marc Weber and Michael Raskin sometimes prefer keeping older
# versions around for testing and regression tests - as long as its cheap to
# do so.
#
# Very often it just happens that the "shared" code is the bigger part.
# Then using this function might be appropriate.
#
# Be aware that its easy to cause recompilations in all versions when using
# this function - also if derivations get too complex splitting into multiple
# files is the way to go.
#
# See misc.nix -> versionedDerivation
# discussion: nixpkgs: pull/310
mergeAttrsByVersion = name: version: attrsByVersion: base:
mergeAttrsByFuncDefaultsClean [ { name = "${name}-${version}"; }
base
(maybeAttr version (throw "bad version ${version} for ${name}") attrsByVersion)
];

# sane defaults (same name as attr name so that inherit can be used)
mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; }
listToAttrs (map (n: nameValuePair n lib.concat)
Expand Down
5 changes: 0 additions & 5 deletions pkgs/misc/misc.nix
Expand Up @@ -5,11 +5,6 @@ let inherit (pkgs) stdenv runCommand perl lib;
in

{

# description see mergeAttrsByVersion in lib/misc.nix
versionedDerivation = name: version: attrsByVersion: base:
pkgs.stdenv.mkDerivation (stdenv.lib.mergeAttrsByVersion name version attrsByVersion base);

/*
Usage example creating a derivation installing ruby, sup and a lib:
Expand Down
1 change: 0 additions & 1 deletion pkgs/top-level/all-packages.nix
Expand Up @@ -50,7 +50,6 @@ with pkgs;
inherit lib config;

inherit (lib) lowPrio hiPrio appendToName makeOverridable;
inherit (misc) versionedDerivation;

# Applying this to an attribute set will cause nix-env to look
# inside the set for derivations.
Expand Down

0 comments on commit f481093

Please sign in to comment.