Skip to content

Commit

Permalink
WIP Elm 0.19
Browse files Browse the repository at this point in the history
  • Loading branch information
domenkozar committed Aug 26, 2018
1 parent 9e44b46 commit db11c83
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 213 deletions.
57 changes: 8 additions & 49 deletions pkgs/development/compilers/elm/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -40,28 +40,13 @@ let
EOF
'' + lib.concatStrings cmds;

hsPkgs = haskell.packages.ghc802.override {
hsPkgs = haskell.packages.ghc822.override {
overrides = self: super:
let hlib = haskell.lib;
elmRelease = import ./packages/release.nix { inherit (self) callPackage; };
elmPkgs' = elmRelease.packages;
elmPkgs = elmPkgs' // {

elm-reactor = hlib.overrideCabal elmPkgs'.elm-reactor (drv: {
buildTools = drv.buildTools or [] ++ [ self.elm-make ];
preConfigure = makeElmStuff (import ./packages/elm-reactor-elm.nix);
});

elm-repl = hlib.overrideCabal elmPkgs'.elm-repl (drv: {
doCheck = false;
buildTools = drv.buildTools or [] ++ [ makeWrapper ];
postInstall =
let bins = lib.makeBinPath [ nodejs self.elm-make ];
in ''
wrapProgram $out/bin/elm-repl \
--prefix PATH ':' ${bins}
'';
});
elmPkgs = {
elm = hlib.overrideCabal (self.callPackage ./packages/elm.nix { }) {
preConfigure = "export HOME=`pwd`";
};

/*
This is not a core Elm package, and it's hosted on GitHub.
Expand All @@ -72,37 +57,11 @@ let
where foo is a tag for a new version, for example "0.3.1-alpha".
*/
elm-format = self.callPackage ./packages/elm-format.nix { };
elm-interface-to-json = self.callPackage ./packages/elm-interface-to-json.nix {
aeson-pretty = self.aeson-pretty_0_7_2;
either = hlib.overrideCabal self.either (drv :{
jailbreak = true;
version = "4.4.1.1";
sha256 = "1lrlwqqnm6ibfcydlv5qvvssw7bm0c6yypy0rayjzv1znq7wp1xh";
libraryHaskellDepends = drv.libraryHaskellDepends or [] ++ [
self.exceptions self.free self.mmorph self.monad-control
self.MonadRandom self.profunctors self.transformers
self.transformers-base
];
});
};
elm-interface-to-json = self.callPackage ./packages/elm-interface-to-json.nix {};
};
in elmPkgs // {
inherit elmPkgs;
elmVersion = elmRelease.version;
# https://github.com/elm-lang/elm-compiler/issues/1566
indents = hlib.overrideCabal super.indents (drv: {
version = "0.3.3";
#test dep tasty has a version mismatch
doCheck = false;
sha256 = "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn";
libraryHaskellDepends = drv.libraryHaskellDepends ++ [super.concatenative];
});
elmVersion = elmPkgs.elm.version;
};
};
in hsPkgs.elmPkgs // {
elm = lib.hiPrio (buildEnv {
name = "elm-${hsPkgs.elmVersion}";
paths = lib.mapAttrsToList (name: pkg: pkg) hsPkgs.elmPkgs;
pathsToLink = [ "/bin" ];
});
}
in hsPkgs.elmPkgs
41 changes: 0 additions & 41 deletions pkgs/development/compilers/elm/packages/elm-compiler.nix

This file was deleted.

26 changes: 0 additions & 26 deletions pkgs/development/compilers/elm/packages/elm-make.nix

This file was deleted.

39 changes: 0 additions & 39 deletions pkgs/development/compilers/elm/packages/elm-package.nix

This file was deleted.

30 changes: 0 additions & 30 deletions pkgs/development/compilers/elm/packages/elm-repl.nix

This file was deleted.

30 changes: 30 additions & 0 deletions pkgs/development/compilers/elm/packages/elm.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{ mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary
, bytestring, containers, directory, edit-distance, fetchgit
, file-embed, filepath, ghc-prim, haskeline, HTTP, http-client
, http-client-tls, http-types, language-glsl, logict, mtl, network
, parsec, process, raw-strings-qq, scientific, SHA, snap-core
, snap-server, stdenv, template-haskell, text, time
, unordered-containers, utf8-string, vector, zip-archive
}:
mkDerivation {
pname = "elm";
version = "0.19.0";
src = fetchgit {
url = "https://github.com/elm/compiler";
sha256 = "0s93z9vr0vp5w894ghc5s34nsq09sg1msf59zfiba87sid5vgjqy";
rev = "32059a289d27e303fa1665e9ada0a52eb688f302";
};
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
ansi-terminal ansi-wl-pprint base binary bytestring containers
directory edit-distance file-embed filepath ghc-prim haskeline HTTP
http-client http-client-tls http-types language-glsl logict mtl
network parsec process raw-strings-qq scientific SHA snap-core
snap-server template-haskell text time unordered-containers
utf8-string vector zip-archive
];
homepage = "http://elm-lang.org";
description = "The `elm` command line interface";
license = stdenv.lib.licenses.bsd3;
}
28 changes: 0 additions & 28 deletions pkgs/development/compilers/elm/update-elm.rb

This file was deleted.

0 comments on commit db11c83

Please sign in to comment.