Skip to content

Commit

Permalink
Merge pull request #47445 from obsidiansystems/ghcjs-no-double-callPa…
Browse files Browse the repository at this point in the history
…ckage

ghcjs-{7.10, 8.0}: Improve overriding situation for 18.09
  • Loading branch information
Ericson2314 committed Sep 27, 2018
2 parents 0f4e117 + 5ba8458 commit 3768913
Show file tree
Hide file tree
Showing 11 changed files with 66 additions and 51 deletions.
50 changes: 50 additions & 0 deletions pkgs/development/compilers/ghcjs/7.10/default.nix
@@ -0,0 +1,50 @@
{ fetchgit, fetchFromGitHub, bootPkgs, cabal-install }:

bootPkgs.callPackage ../base.nix {
version = "0.2.0";

inherit bootPkgs cabal-install;

ghcjsSrc = fetchFromGitHub {
owner = "ghcjs";
repo = "ghcjs";
rev = "689c7753f50353dd05606ed79c51cd5a94d3922a";
sha256 = "076020a9gjv8ldj5ckm43sbzq9s6c5xj6lpd8v28ybpiama3m6b4";
};
ghcjsBootSrc = fetchgit {
url = git://github.com/ghcjs/ghcjs-boot.git;
rev = "8c549931da27ba9e607f77195208ec156c840c8a";
sha256 = "0yg9bnabja39qysh9pg1335qbvbc0r2mdw6cky94p7kavacndfdv";
fetchSubmodules = true;
};

shims = import ./shims.nix { inherit fetchFromGitHub; };
stage1Packages = [
"array"
"base"
"binary"
"bytestring"
"containers"
"deepseq"
"directory"
"filepath"
"ghc-boot"
"ghc-boot-th"
"ghc-prim"
"ghci"
"ghcjs-prim"
"ghcjs-th"
"integer-gmp"
"pretty"
"primitive"
"process"
"rts"
"template-haskell"
"time"
"transformers"
"unix"
];
stage2 = import ./stage2.nix;

patches = [ ./boot.patch ];
}
File renamed without changes.
File renamed without changes.
@@ -1,6 +1,6 @@
{ fetchgit, fetchFromGitHub, bootPkgs, cabal-install }:

bootPkgs.callPackage ./base.nix {
bootPkgs.callPackage ../base.nix {
version = "0.2.020170323";

inherit bootPkgs cabal-install;
Expand All @@ -18,7 +18,7 @@ bootPkgs.callPackage ./base.nix {
fetchSubmodules = true;
};

shims = import ./head_shims.nix { inherit fetchFromGitHub; };
shims = import ./shims.nix { inherit fetchFromGitHub; };
stage1Packages = [
"array"
"base"
Expand All @@ -44,7 +44,7 @@ bootPkgs.callPackage ./base.nix {
"transformers"
"unix"
];
stage2 = import ./head_stage2.nix;
stage2 = import ./stage2.nix;

patches = [ ./ghcjs-head.patch ];
patches = [ ./boot.patch ];
}
46 changes: 6 additions & 40 deletions pkgs/development/compilers/ghcjs/base.nix
Expand Up @@ -37,57 +37,23 @@
, coreutils
, libiconv

, version ? "0.2.0"
, ghcjsSrc ? fetchFromGitHub {
owner = "ghcjs";
repo = "ghcjs";
rev = "689c7753f50353dd05606ed79c51cd5a94d3922a";
sha256 = "076020a9gjv8ldj5ckm43sbzq9s6c5xj6lpd8v28ybpiama3m6b4";
}
, ghcjsBootSrc ? fetchgit {
url = git://github.com/ghcjs/ghcjs-boot.git;
rev = "8c549931da27ba9e607f77195208ec156c840c8a";
sha256 = "0yg9bnabja39qysh9pg1335qbvbc0r2mdw6cky94p7kavacndfdv";
fetchSubmodules = true;
}
, version
, ghcjsSrc
, ghcjsBootSrc
, ghcjsBoot ? import ./ghcjs-boot.nix {
inherit runCommand;
src = ghcjsBootSrc;
}
, shims ? import ./shims.nix { inherit fetchFromGitHub; }
, shims

# This is the list of the Stage 1 packages that are built into a booted ghcjs installation
# It can be generated with the command:
# nix-shell -p haskell.packages.ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^ \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/^\([^_]*\)\(.*\)$/ \"\1\"/'"
, stage1Packages ? [
"array"
"base"
"binary"
"bytestring"
"containers"
"deepseq"
"directory"
"filepath"
"ghc-boot"
"ghc-boot-th"
"ghc-prim"
"ghci"
"ghcjs-prim"
"ghcjs-th"
"integer-gmp"
"pretty"
"primitive"
"process"
"rts"
"template-haskell"
"time"
"transformers"
"unix"
]
, stage1Packages

, stage2 ? import ./stage2.nix

, patches ? [ ./ghcjs.patch ]
, patches

# used for resolving compiler plugins
, ghcLibdir ? null
Expand Down
5 changes: 0 additions & 5 deletions pkgs/development/compilers/ghcjs/default.nix

This file was deleted.

8 changes: 6 additions & 2 deletions pkgs/top-level/haskell-packages.nix
Expand Up @@ -80,13 +80,17 @@ in {
llvmPackages = pkgs.llvmPackages_5;
};
ghcjs = compiler.ghcjs84;
ghcjs710 = packages.ghc7103.callPackage ../development/compilers/ghcjs {
# Use `import` because `callPackage inside`.
ghcjs710 = import ../development/compilers/ghcjs/7.10 {
bootPkgs = packages.ghc7103;
inherit (pkgs) cabal-install;
inherit (buildPackages) fetchgit fetchFromGitHub;
};
ghcjs80 = packages.ghc802.callPackage ../development/compilers/ghcjs/head.nix {
# `import` on purpose; see above.
ghcjs80 = import ../development/compilers/ghcjs/8.0 {
bootPkgs = packages.ghc802;
inherit (pkgs) cabal-install;
inherit (buildPackages) fetchgit fetchFromGitHub;
};
ghcjs82 = callPackage ../development/compilers/ghcjs-ng {
bootPkgs = packages.ghc822;
Expand Down

0 comments on commit 3768913

Please sign in to comment.