git.iko.soy/typeable/nixpkgs-stackage
on master help sign in
Add stackage lib
commit51a05b4829bf51a3cc86e6983eade1ed2905e6d4 authorDmitry Bushev <bushevdv@gmail.com> dateThu 11 Jan 2018, 15:50 (9 years ago) parent954de18
4 files changed+19−13
default.nix+3−1 release.nix+4−3 supported-stackage-releases.txt+1−1 update.nix+11−8
default.nix+3−1
@@ -12,7 +12,9 @@ let
1212in {
1313 haskell = super.haskell // {
1414 packages = super.haskell.packages // {
15− stackage = super.callPackage ./stackage {};
15+ stackage = super.callPackage ./stackage {} // {
16+ lib = super.callPackage ./stackage2nix/lib.nix {};
17+ };
1618 };
1719 };
1820
release.nix+4−3
@@ -15,9 +15,10 @@ let
1515 if supportedReleases == null
1616 then
1717 lib.unique
18− (builtins.filter (x: x != "")
19− (lib.splitString "\n"
20− (builtins.readFile ./supported-stackage-releases.txt)))
18+ (map (builtins.replaceStrings ["."] [""])
19+ (builtins.filter (x: x != "")
20+ (lib.splitString "\n"
21+ (builtins.readFile ./supported-stackage-releases.txt))))
2122 else
2223 supportedReleases;
2324
supported-stackage-releases.txt+1−1
@@ -1 +1 @@
1−lts-100
1+lts-10.0
update.nix+11−8
@@ -1,10 +1,9 @@
1−{ nixpkgs ? import <nixpkgs> {}
1+{ nixpkgs ? import ./nixpkgs.nix {}
22, cacheVersion ? "0" }:
33
4−let
5− pkgs = import ./default.nix { inherit nixpkgs; };
6− lib = pkgs.callPackage ./stackage2nix/lib.nix { inherit cacheVersion; };
7−in pkgs.stdenv.mkDerivation rec {
4+with nixpkgs; let
5+ lib = haskell.packages.stackage.lib.override { inherit cacheVersion; };
6+in stdenv.mkDerivation rec {
87 name = "nixpkgs-typeable-update-script";
98
109 buildCommand = ''
@@ -12,24 +11,28 @@ in pkgs.stdenv.mkDerivation rec {
1211 exit 1
1312 '';
1413
14+ # generate missing stackage/lts-xx packages
1515 updateLtsSh = ''
1616 pushd stackage
1717 # iterate through stackage-lts configs
18− for conf in ${lib.stackage-lts}/*.yaml; do
18+ for conf in $(find ${lib.stackage-lts} -type f -name '*.yaml' | sort --version-sort); do
1919 resolver=$(basename --suffix='.yaml' $conf)
2020 if [ ! -d $resolver ]; then
2121 mkdir $resolver
2222 pushd $resolver
2323 # generate stackage release
24− (set -x; time ${pkgs.stackage2nix}/bin/stackage2nix --resolver $resolver)
24+ (set -x; time ${stackage2nix}/bin/stackage2nix --resolver $resolver)
2525 # update supported releases
2626 popd
27− echo "''${resolver//.}" >> ../supported-stackage-releases.txt
27+ echo $resolver >> ../supported-stackage-releases.txt
2828 fi
2929 done
3030 popd # stackage
31+
32+ sort --version-sort -o supported-stackage-releases.txt supported-stackage-releases.txt
3133 '';
3234
35+ # update stackage/default.nix
3336 updateStackageSh = ''
3437 pushd stackage
3538 echo '{ callPackage }:' > default.nix