diff options
-rw-r--r-- | overrides/default.nix | 27 | ||||
-rw-r--r-- | pkgs/default.nix | 1 | ||||
-rw-r--r-- | pkgs/nixops/default.nix | 63 |
3 files changed, 64 insertions, 27 deletions
diff --git a/overrides/default.nix b/overrides/default.nix index a3aa3b44..9ffd43c1 100644 --- a/overrides/default.nix +++ b/overrides/default.nix @@ -85,33 +85,6 @@ let ''; }; - nixops = o: let - master = everything.fetchgit { - url = "git://github.com/NixOS/nixops.git"; - rev = "260af26504027b7ad11a6e38e02e0e4d7a820505"; - sha256 = "0nai6nkccl7qxq1756qip0zy14d68inj60ai7gnn1gd97pxn7yq0"; - }; - release = import "${master}/release.nix" { - officialRelease = true; - }; - build = getAttr o.stdenv.system release.build; - in with everything; build.drvAttrs // { - name = "nixops-1.3git"; - patches = (build.drvAttrs.patches or []) ++ [ - (fetchpatch { - url = "https://github.com/NixOS/nixops/pull/201.diff"; - sha256 = "1i5yycqayxggg3l1i6wk8lp64lqlxw5nmfya9fcrgmck8ls0rxid"; - }) - (fetchpatch rec { - name = "read-write-by-default.diff"; - url = "https://github.com/aszlig/nixops/compare/" - + "NixOS:master...aszlig:${name}"; - sha256 = "0a1jcqrqfi7dfvlha5r0609bzvin7p7nj523xxcrvwpgp6ag0zsa"; - }) - ]; - patchFlags = "--merge -p1"; - }; - zsh = o: { postConfigure = (o.postConfigure or "") + '' sed -i -e '/^name=zsh\/newuser/d' config.modules diff --git a/pkgs/default.nix b/pkgs/default.nix index 3bf91793..a3395f96 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -9,6 +9,7 @@ let axbo = callPackage ./axbo { }; blop = callPackage ./blop { }; grandpa = callPackage ./grandpa { }; + nixops = callPackage ./nixops { }; libCMT = callPackage ./libcmt { }; librxtx_java = callPackage ./librxtx-java { }; lockdev = callPackage ./lockdev { }; diff --git a/pkgs/nixops/default.nix b/pkgs/nixops/default.nix new file mode 100644 index 00000000..14ef683d --- /dev/null +++ b/pkgs/nixops/default.nix @@ -0,0 +1,63 @@ +{ stdenv, runCommand, fetchgit, fetchpatch, git }: + +let + mkRaw = cmd: import (runCommand "genraw.nix" {} '' + (${cmd}) > "$out" + ''); + + mkString = cmd: import (runCommand "genstring.nix" {} '' + echo "\"$(${cmd})\"" > "$out" + ''); + + master = stdenv.mkDerivation rec { + name = "nixops-upstream-patched"; + + src = fetchgit { + url = "git://github.com/NixOS/nixops.git"; + rev = "dd589dcf54f2e9530ec4ee4cd45a8a6474d7ce46"; + sha256 = "0m5rxkggf4rxxwzk9bhffirgla8xjn0vacb8jjh751sn92h07az7"; + leaveDotGit = true; + }; + + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + + patches = [ + (fetchpatch { + url = "https://github.com/NixOS/nixops/pull/201.diff"; + sha256 = "1i5yycqayxggg3l1i6wk8lp64lqlxw5nmfya9fcrgmck8ls0rxid"; + }) + (fetchpatch rec { + name = "read-write-by-default.diff"; + url = "https://github.com/aszlig/nixops/compare/" + + "NixOS:master...aszlig:${name}"; + sha256 = "0a1jcqrqfi7dfvlha5r0609bzvin7p7nj523xxcrvwpgp6ag0zsa"; + }) + ]; + + patchFlags = "--merge -p1"; + + postPatch = '' + sed -i -e '/git ls-files/d' release.nix + ''; + + installPhase = '' + cp -a . "$out" + ''; + }; + + release = import "${master}/release.nix" { + nixopsSrc = { + outPath = master; + inherit (master.src) rev; + revCount = mkRaw '' + # FIXME: It's a shallow clone, so we always get 1. + ${git}/bin/git -C "${master}" rev-list --count HEAD + ''; + + shortRev = mkString '' + ${git}/bin/git -C "${master}" rev-parse --short HEAD + ''; + }; + officialRelease = false; + }; +in stdenv.lib.getAttr stdenv.system release.build |