diff options
-rw-r--r-- | Foundation.hs | 8 | ||||
-rw-r--r-- | bar.cabal | 18 | ||||
-rw-r--r-- | bar.nix | 1 | ||||
-rw-r--r-- | default.nix | 39 | ||||
-rw-r--r-- | shell.nix | 8 | ||||
-rw-r--r-- | stack.yaml | 2 |
6 files changed, 45 insertions, 31 deletions
diff --git a/Foundation.hs b/Foundation.hs index 444547b..22e5d49 100644 --- a/Foundation.hs +++ b/Foundation.hs | |||
@@ -108,10 +108,10 @@ instance Yesod App where | |||
108 | 108 | ||
109 | -- What messages should be logged. The following includes all messages when | 109 | -- What messages should be logged. The following includes all messages when |
110 | -- in development, and warnings and errors in production. | 110 | -- in development, and warnings and errors in production. |
111 | shouldLog app _source level = | 111 | shouldLogIO app _source level = return $ or |
112 | appShouldLogAll (appSettings app) | 112 | [ appShouldLogAll (appSettings app) |
113 | || level == LevelWarn | 113 | , level >= LevelWarn |
114 | || level == LevelError | 114 | ] |
115 | 115 | ||
116 | makeLogger = return . appLogger | 116 | makeLogger = return . appLogger |
117 | 117 | ||
@@ -67,11 +67,11 @@ library | |||
67 | base >= 4.8.2.0 && < 4.9 | 67 | base >= 4.8.2.0 && < 4.9 |
68 | || >= 4.9.1.0 && < 5 | 68 | || >= 4.9.1.0 && < 5 |
69 | 69 | ||
70 | , yesod >= 1.4.3 && < 1.5 | 70 | , yesod >= 1.6.0 && < 1.7 |
71 | , yesod-core >= 1.4.30 && < 1.5 | 71 | , yesod-core >= 1.6.2 && < 1.7 |
72 | , yesod-auth >= 1.4.0 && < 1.5 | 72 | , yesod-auth >= 1.6.2 && < 1.7 |
73 | , yesod-static >= 1.4.0.3 && < 1.6 | 73 | , yesod-static >= 1.6.0 && < 1.7 |
74 | , yesod-form >= 1.4.0 && < 1.5 | 74 | , yesod-form >= 1.6.1 && < 1.7 |
75 | , classy-prelude >= 0.10.2 | 75 | , classy-prelude >= 0.10.2 |
76 | , classy-prelude-conduit >= 0.10.2 | 76 | , classy-prelude-conduit >= 0.10.2 |
77 | -- version 1.0 had a bug in reexporting Handler, causing trouble | 77 | -- version 1.0 had a bug in reexporting Handler, causing trouble |
@@ -79,8 +79,8 @@ library | |||
79 | || >= 1.1 | 79 | || >= 1.1 |
80 | , bytestring >= 0.9 && < 0.11 | 80 | , bytestring >= 0.9 && < 0.11 |
81 | , text >= 0.11 && < 2.0 | 81 | , text >= 0.11 && < 2.0 |
82 | , persistent >= 2.0 && < 2.7 | 82 | , persistent >= 2.8.1 && < 2.9 |
83 | , persistent-postgresql >= 2.1.1 && < 2.7 | 83 | , persistent-postgresql >= 2.8.2 && < 2.9 |
84 | , persistent-template >= 2.0 && < 2.7 | 84 | , persistent-template >= 2.0 && < 2.7 |
85 | , template-haskell | 85 | , template-haskell |
86 | , shakespeare >= 2.0 && < 2.1 | 86 | , shakespeare >= 2.0 && < 2.1 |
@@ -88,11 +88,11 @@ library | |||
88 | , monad-control >= 0.3 && < 1.1 | 88 | , monad-control >= 0.3 && < 1.1 |
89 | , wai-extra >= 3.0 && < 3.1 | 89 | , wai-extra >= 3.0 && < 3.1 |
90 | , yaml >= 0.8 && < 0.9 | 90 | , yaml >= 0.8 && < 0.9 |
91 | , http-conduit >= 2.1 && < 2.3 | 91 | , http-conduit >= 2.3.0 && < 2.4 |
92 | , directory >= 1.1 && < 1.4 | 92 | , directory >= 1.1 && < 1.4 |
93 | , warp >= 3.0 && < 3.3 | 93 | , warp >= 3.0 && < 3.3 |
94 | , data-default | 94 | , data-default |
95 | , aeson >= 0.6 && < 1.1 | 95 | , aeson >= 1.2.4 && < 1.3 |
96 | , conduit >= 1.0 && < 2.0 | 96 | , conduit >= 1.0 && < 2.0 |
97 | , monad-logger >= 0.3 && < 0.4 | 97 | , monad-logger >= 0.3 && < 0.4 |
98 | , fast-logger >= 2.2 && < 2.5 | 98 | , fast-logger >= 2.2 && < 2.5 |
@@ -27,4 +27,5 @@ mkDerivation { | |||
27 | executableHaskellDepends = [ base ]; | 27 | executableHaskellDepends = [ base ]; |
28 | doHaddock = false; | 28 | doHaddock = false; |
29 | license = stdenv.lib.licenses.unfree; | 29 | license = stdenv.lib.licenses.unfree; |
30 | hydraPlatforms = stdenv.lib.platforms.none; | ||
30 | } | 31 | } |
diff --git a/default.nix b/default.nix index 1e631cf..dc8c226 100644 --- a/default.nix +++ b/default.nix | |||
@@ -1,14 +1,13 @@ | |||
1 | argumentPackages@{ ... }: | 1 | argumentPackages@{ ... }: |
2 | 2 | ||
3 | let | 3 | let |
4 | defaultPackages = (import <nixpkgs> {}).haskellPackages; | ||
5 | haskellPackages = defaultPackages // argumentPackages; | ||
6 | pkgs = (import <nixpkgs> {}).pkgs // argumentPackages; | 4 | pkgs = (import <nixpkgs> {}).pkgs // argumentPackages; |
7 | 5 | haskellPackages = pkgs.haskellPackages // argumentPackages; | |
8 | webshim = with pkgs; stdenv.mkDerivation rec { | 6 | pkg = haskellPackages.callPackage ./bar.nix {}; |
7 | webshim = pkgs.stdenv.mkDerivation rec { | ||
9 | name = "webshim-${version}"; | 8 | name = "webshim-${version}"; |
10 | version = "1.16.0"; | 9 | version = "1.16.0"; |
11 | src = fetchFromGitHub { | 10 | src = pkgs.fetchFromGitHub { |
12 | owner = "aFarkas"; | 11 | owner = "aFarkas"; |
13 | repo = "webshim"; | 12 | repo = "webshim"; |
14 | rev = "1.16.0"; | 13 | rev = "1.16.0"; |
@@ -20,10 +19,24 @@ let | |||
20 | cp -r $src/js-webshim/dev/* $out/js/ | 19 | cp -r $src/js-webshim/dev/* $out/js/ |
21 | ''; | 20 | ''; |
22 | }; | 21 | }; |
23 | in pkgs.stdenv.lib.overrideDerivation (haskellPackages.callPackage ./bar.nix {}) (oldAttrs: { | 22 | jquery = pkgs.stdenv.mkDerivation rec { |
24 | postUnpack = '' | 23 | name = "jquery-${version}"; |
25 | rm -rf bar/static/jquery.js bar/static/webshim | 24 | version = "3.3.1"; |
26 | ln -vs ${pkgs.jquery}/js/jquery.js bar/static | 25 | src = pkgs.fetchurl { |
27 | ln -vs ${webshim}/js bar/static/webshim | 26 | url = "https://github.com/jquery/jquery/archive/${version}.tar.gz"; |
27 | sha256 = "1d1pilrwiz0yjx27cd7gbn8qar6hw5zgwjhpsyaijcg52z82wi5q"; | ||
28 | }; | ||
29 | |||
30 | installPhase = '' | ||
31 | mkdir -p $out/js | ||
32 | cp -r dist/jquery.js $out/js/ | ||
28 | ''; | 33 | ''; |
34 | }; | ||
35 | in pkgs.stdenv.lib.overrideDerivation pkg (drv: { | ||
36 | postUnpack = '' | ||
37 | cd bar-*/static | ||
38 | rm -rf jquery.js webshim | ||
39 | ln -vs ${jquery}/js/jquery.js . | ||
40 | ln -vs ${webshim}/js webshim | ||
41 | ''; | ||
29 | }) | 42 | }) |
@@ -1,13 +1,13 @@ | |||
1 | { nixpkgs ? import <nixpkgs> {}, compiler ? "default" }: | 1 | { nixpkgs ? import <nixpkgs> {}, compiler ? null }: |
2 | 2 | ||
3 | let | 3 | let |
4 | inherit (nixpkgs) pkgs; | 4 | inherit (nixpkgs) pkgs; |
5 | 5 | ||
6 | haskellPackages = if compiler == "default" | 6 | haskellPackages = if compiler == null |
7 | then pkgs.haskellPackages | 7 | then pkgs.haskellPackages |
8 | else pkgs.haskell.packages.${compiler}; | 8 | else pkgs.haskell.packages."${compiler}"; |
9 | 9 | ||
10 | drv = haskellPackages.callPackage ./bar.nix {}; | 10 | drv = import ./default.nix {}; |
11 | in | 11 | in |
12 | pkgs.stdenv.lib.overrideDerivation drv.env (oldAttrs: { | 12 | pkgs.stdenv.lib.overrideDerivation drv.env (oldAttrs: { |
13 | nativeBuildInputs = oldAttrs.nativeBuildInputs ++ (with pkgs; [ cabal2nix gup postgresql ]) ++ (with haskellPackages; [ hlint stack yesod-bin alex ]); | 13 | nativeBuildInputs = oldAttrs.nativeBuildInputs ++ (with pkgs; [ cabal2nix gup postgresql ]) ++ (with haskellPackages; [ hlint stack yesod-bin alex ]); |
@@ -15,7 +15,7 @@ | |||
15 | # resolver: | 15 | # resolver: |
16 | # name: custom-snapshot | 16 | # name: custom-snapshot |
17 | # location: "./custom-snapshot.yaml" | 17 | # location: "./custom-snapshot.yaml" |
18 | resolver: ghc-8.0.2 | 18 | resolver: ghc-8.2.2 |
19 | 19 | ||
20 | # User packages to be built. | 20 | # User packages to be built. |
21 | # Various formats can be used as shown in the example below. | 21 | # Various formats can be used as shown in the example below. |