1
1
mirror of https://github.com/coot/free-category.git synced 2024-08-16 09:30:46 +03:00

Build with ghc881

This commit is contained in:
Marcin Szamotulski 2019-10-06 19:07:50 +01:00
parent 3c599fef5f
commit 15f8c5b0dd
5 changed files with 78 additions and 2 deletions

View File

@ -11,7 +11,7 @@ commands:
- run:
name: "nix"
command: |
nix-channel --add https://nixos.org/channels/nixpkgs-unstable
nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
nix-channel --update
- run:
name: "install"
@ -35,6 +35,19 @@ commands:
name: "cachix push"
command: cachix push free-algebras << parameters.o >>
jobs:
GHC881:
<<: *defaults
steps:
- setup
- run:
name: "GHC 881"
command: |
nix-build -A free-category --argstr compiler ghc881 -o result-fc
nix-build -A examples --argstr compiler ghc881 -o result-ex
- cachix-push:
o: "./result-fc"
- cachix-push:
o: "./result-ex"
GHC865:
<<: *defaults
steps:
@ -92,6 +105,7 @@ jobs:
workflows:
build:
jobs:
- GHC881
- GHC865
- GHC844
- GHC822

View File

@ -0,0 +1,10 @@
{ mkDerivation, base, Cabal, directory, filepath, stdenv }:
mkDerivation {
pname = "cabal-doctest";
version = "1.0.7";
sha256 = "1080ed5f7eca48621853178d701dbee209698eb357957e00a56da6d635a7adec";
libraryHaskellDepends = [ base Cabal directory filepath ];
homepage = "https://github.com/phadej/cabal-doctest";
description = "A Setup.hs helper for doctests running";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -0,0 +1,19 @@
{ mkDerivation, array, base, containers, directory, filepath
, ghc-prim, happy, mtl, pretty, pretty-show, smallcheck, stdenv
, tasty, tasty-golden, tasty-smallcheck
}:
mkDerivation {
pname = "haskell-src-exts";
version = "1.21.1";
sha256 = "2ec911614325f1e5eef7e5bef15c08b8265931d69da3ce566af109d486453e60";
libraryHaskellDepends = [ array base ghc-prim pretty ];
libraryToolDepends = [ happy ];
testHaskellDepends = [
base containers directory filepath mtl pretty-show smallcheck tasty
tasty-golden tasty-smallcheck
];
doCheck = false;
homepage = "https://github.com/haskell-suite/haskell-src-exts";
description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
license = stdenv.lib.licenses.bsd3;
}

26
nix/hedgehog-1.0.1.nix Normal file
View File

@ -0,0 +1,26 @@
{ mkDerivation, ansi-terminal, async, base, bytestring
, concurrent-output, containers, directory, exceptions, fail
, lifted-async, mmorph, monad-control, mtl, pretty-show, primitive
, random, resourcet, semigroups, stdenv, stm, template-haskell
, text, time, transformers, transformers-base, wl-pprint-annotated
}:
mkDerivation {
pname = "hedgehog";
version = "1.0.1";
sha256 = "202ea01fe1f30890307bd8c1ceaa0d24f988472e8371237271636abbf08487e1";
revision = "1";
editedCabalFile = "0dq3ry7py2wsiwxar11zbvm3xmifm92nx4bh61lqxzmpwyyiwnxn";
libraryHaskellDepends = [
ansi-terminal async base bytestring concurrent-output containers
directory exceptions fail lifted-async mmorph monad-control mtl
pretty-show primitive random resourcet semigroups stm
template-haskell text time transformers transformers-base
wl-pprint-annotated
];
testHaskellDepends = [
base containers mmorph mtl pretty-show semigroups text transformers
];
homepage = "https://hedgehog.qa";
description = "Release with confidence";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -5,7 +5,7 @@ let
|| compiler == "ghc822"
|| compiler == "ghc844"
then "722fcbbb80b2142583e9266efe77992f8e32ac4c"
else "81760f32353fa7f309a49fda17d90f43ac1e9a42";
else "57b66eb3f2a0e824c48759f2729370b1b9fd7660";
url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz";
url802 = "https://github.com/NixOS/nixpkgs/archive/${rev802}.tar.gz";
config =
@ -18,6 +18,13 @@ let
in {
haskell = super.haskell // {
packages = super.haskell.packages // {
ghc881 = super.haskell.packages.ghc881.override {
overrides = self: super: {
cabal-doctest = super.callPackage ./cabal-doctest-1.0.7.nix {};
haskell-src-exts = super.callPackage ./haskell-src-exts-1.21.1.nix {};
hedgehog = super.callPackage ./hedgehog-1.0.1.nix {};
};
};
ghc844 = super.haskell.packages.ghc844.override { inherit overrides; };
ghc822 = super.haskell.packages.ghc822.override { inherit overrides; };
ghc802 = super.haskell.packages.ghc802.override {