From 873c2b6b0708c52e4e059d67556690e9feedd41f Mon Sep 17 00:00:00 2001 From: Ben Ford Date: Mon, 9 Feb 2015 08:44:26 +0000 Subject: [PATCH] Nix all the things --- default.nix | 17 +++++++++++++++++ react-haskell.cabal | 11 +++-------- shell.nix | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 default.nix create mode 100644 shell.nix diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..99f6f44 --- /dev/null +++ b/default.nix @@ -0,0 +1,17 @@ +{ cabal, base, deepseq, ghcjsBase, lensFamily, monadsTf +, stdenv, transformers, void +}: +cabal.mkDerivation (self: { + pname = "react-haskell"; + version = "1.3.0.0"; + src = ./.; + buildDepends = [ + base deepseq ghcjsBase lensFamily monadsTf transformers void + ]; + homepage = "https://github.com/joelburget/react-haskell"; + description = "Haskell React bindings"; + meta = { + license = stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/react-haskell.cabal b/react-haskell.cabal index 2deb988..b3bfd1b 100644 --- a/react-haskell.cabal +++ b/react-haskell.cabal @@ -34,7 +34,7 @@ author: Joel Burget maintainer: joelburget@gmail.com category: Web build-type: Simple -cabal-version: >=1.10 +cabal-version: >=1.20 homepage: https://github.com/joelburget/react-haskell bug-reports: https://github.com/joelburget/react-haskell/issues @@ -80,12 +80,7 @@ library monads-tf, deepseq, lens-family, - void == 0.7 - if flag(haste-inst) - build-depends: - haste-lib >= 0.4 && <0.6 - else - build-depends: - haste-compiler + void == 0.7, + ghcjs-base hs-source-dirs: src default-language: Haskell2010 diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..b033283 --- /dev/null +++ b/shell.nix @@ -0,0 +1,18 @@ +{ }: + +with import {}; +let haskellPackages = pkgs.haskellPackages_ghcjs.override { + extension = self: super: { + oHm = self.callPackage ./. {}; + mvc = self.callPackage ./mvc.nix {}; + }; + }; + +in pkgs.callPackage ./. { + cabal = haskellPackages.cabal.override { + extension = self: super: { + buildTools = super.buildTools ++ [ haskellPackages.ghc.ghc.parent.cabalInstall ]; + }; + }; + inherit (haskellPackages) base deepseq ghcjsBase lensFamily monadsTf transformers void; + }