From 76fe2bc3bf14fb3f4cbd892e680f61183ff6db83 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 13 Apr 2018 11:42:49 +0200 Subject: Fix build --- Foundation.hs | 8 ++++---- bar.cabal | 18 +++++++++--------- bar.nix | 1 + default.nix | 39 ++++++++++++++++++++++++++------------- shell.nix | 8 ++++---- 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 -- What messages should be logged. The following includes all messages when -- in development, and warnings and errors in production. - shouldLog app _source level = - appShouldLogAll (appSettings app) - || level == LevelWarn - || level == LevelError + shouldLogIO app _source level = return $ or + [ appShouldLogAll (appSettings app) + , level >= LevelWarn + ] makeLogger = return . appLogger diff --git a/bar.cabal b/bar.cabal index 94dfacc..94b5409 100644 --- a/bar.cabal +++ b/bar.cabal @@ -67,11 +67,11 @@ library base >= 4.8.2.0 && < 4.9 || >= 4.9.1.0 && < 5 - , yesod >= 1.4.3 && < 1.5 - , yesod-core >= 1.4.30 && < 1.5 - , yesod-auth >= 1.4.0 && < 1.5 - , yesod-static >= 1.4.0.3 && < 1.6 - , yesod-form >= 1.4.0 && < 1.5 + , yesod >= 1.6.0 && < 1.7 + , yesod-core >= 1.6.2 && < 1.7 + , yesod-auth >= 1.6.2 && < 1.7 + , yesod-static >= 1.6.0 && < 1.7 + , yesod-form >= 1.6.1 && < 1.7 , classy-prelude >= 0.10.2 , classy-prelude-conduit >= 0.10.2 -- version 1.0 had a bug in reexporting Handler, causing trouble @@ -79,8 +79,8 @@ library || >= 1.1 , bytestring >= 0.9 && < 0.11 , text >= 0.11 && < 2.0 - , persistent >= 2.0 && < 2.7 - , persistent-postgresql >= 2.1.1 && < 2.7 + , persistent >= 2.8.1 && < 2.9 + , persistent-postgresql >= 2.8.2 && < 2.9 , persistent-template >= 2.0 && < 2.7 , template-haskell , shakespeare >= 2.0 && < 2.1 @@ -88,11 +88,11 @@ library , monad-control >= 0.3 && < 1.1 , wai-extra >= 3.0 && < 3.1 , yaml >= 0.8 && < 0.9 - , http-conduit >= 2.1 && < 2.3 + , http-conduit >= 2.3.0 && < 2.4 , directory >= 1.1 && < 1.4 , warp >= 3.0 && < 3.3 , data-default - , aeson >= 0.6 && < 1.1 + , aeson >= 1.2.4 && < 1.3 , conduit >= 1.0 && < 2.0 , monad-logger >= 0.3 && < 0.4 , fast-logger >= 2.2 && < 2.5 diff --git a/bar.nix b/bar.nix index 6121182..9849765 100644 --- a/bar.nix +++ b/bar.nix @@ -27,4 +27,5 @@ mkDerivation { executableHaskellDepends = [ base ]; doHaddock = false; license = stdenv.lib.licenses.unfree; + hydraPlatforms = stdenv.lib.platforms.none; } diff --git a/default.nix b/default.nix index 1e631cf..dc8c226 100644 --- a/default.nix +++ b/default.nix @@ -1,14 +1,13 @@ -argumentPackages@{ ... }: - -let - defaultPackages = (import {}).haskellPackages; - haskellPackages = defaultPackages // argumentPackages; +argumentPackages@{ ... }: + +let pkgs = (import {}).pkgs // argumentPackages; - - webshim = with pkgs; stdenv.mkDerivation rec { + haskellPackages = pkgs.haskellPackages // argumentPackages; + pkg = haskellPackages.callPackage ./bar.nix {}; + webshim = pkgs.stdenv.mkDerivation rec { name = "webshim-${version}"; version = "1.16.0"; - src = fetchFromGitHub { + src = pkgs.fetchFromGitHub { owner = "aFarkas"; repo = "webshim"; rev = "1.16.0"; @@ -20,10 +19,24 @@ let cp -r $src/js-webshim/dev/* $out/js/ ''; }; -in pkgs.stdenv.lib.overrideDerivation (haskellPackages.callPackage ./bar.nix {}) (oldAttrs: { - postUnpack = '' - rm -rf bar/static/jquery.js bar/static/webshim - ln -vs ${pkgs.jquery}/js/jquery.js bar/static - ln -vs ${webshim}/js bar/static/webshim + jquery = pkgs.stdenv.mkDerivation rec { + name = "jquery-${version}"; + version = "3.3.1"; + src = pkgs.fetchurl { + url = "https://github.com/jquery/jquery/archive/${version}.tar.gz"; + sha256 = "1d1pilrwiz0yjx27cd7gbn8qar6hw5zgwjhpsyaijcg52z82wi5q"; + }; + + installPhase = '' + mkdir -p $out/js + cp -r dist/jquery.js $out/js/ ''; + }; +in pkgs.stdenv.lib.overrideDerivation pkg (drv: { + postUnpack = '' + cd bar-*/static + rm -rf jquery.js webshim + ln -vs ${jquery}/js/jquery.js . + ln -vs ${webshim}/js webshim + ''; }) diff --git a/shell.nix b/shell.nix index b2b6842..eb6bd17 100644 --- a/shell.nix +++ b/shell.nix @@ -1,13 +1,13 @@ -{ nixpkgs ? import {}, compiler ? "default" }: +{ nixpkgs ? import {}, compiler ? null }: let inherit (nixpkgs) pkgs; - haskellPackages = if compiler == "default" + haskellPackages = if compiler == null then pkgs.haskellPackages - else pkgs.haskell.packages.${compiler}; + else pkgs.haskell.packages."${compiler}"; - drv = haskellPackages.callPackage ./bar.nix {}; + drv = import ./default.nix {}; in pkgs.stdenv.lib.overrideDerivation drv.env (oldAttrs: { nativeBuildInputs = oldAttrs.nativeBuildInputs ++ (with pkgs; [ cabal2nix gup postgresql ]) ++ (with haskellPackages; [ hlint stack yesod-bin alex ]); diff --git a/stack.yaml b/stack.yaml index eeed1bc..dcf0bec 100644 --- a/stack.yaml +++ b/stack.yaml @@ -15,7 +15,7 @@ # resolver: # name: custom-snapshot # location: "./custom-snapshot.yaml" -resolver: ghc-8.0.2 +resolver: ghc-8.2.2 # User packages to be built. # Various formats can be used as shown in the example below. -- cgit v1.2.3