about summary refs log tree commit diff
path: root/pkgs/development/compilers/ghcjs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/ghcjs')
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/common-overrides.nix20
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/configured-ghcjs-src.nix67
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/default.nix128
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/generate_host_version.hs54
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/git.json6
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/stage0.nix77
-rw-r--r--pkgs/development/compilers/ghcjs/ghcjs-base.nix33
7 files changed, 0 insertions, 385 deletions
diff --git a/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix b/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix
deleted file mode 100644
index 8f791b73abff..000000000000
--- a/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ haskellLib, fetchpatch, buildPackages }:
-
-let inherit (haskellLib) addBuildTools appendConfigureFlag dontHaddock doJailbreak markUnbroken overrideCabal;
-in self: super: {
-  ghcjs = overrideCabal (drv: {
-    # Jailbreak and patch can be dropped after https://github.com/ghcjs/ghcjs/pull/833
-    jailbreak = true;
-    patches = drv.patches or [] ++ [
-      (fetchpatch {
-        name = "ghcjs-aeson-2.0.patch";
-        url = "https://github.com/ghcjs/ghcjs/commit/9ef1f92d740e8503d15d91699f57db147f0474cc.patch";
-        sha256 = "0cgxcy6b5870bv4kj54n3bzcqinh4gl4w4r78dg43h2mblhkzbnj";
-      })
-    ];
-  }) (super.ghcjs.overrideScope (self: super: {
-    # Allow transformers-compat >= 0.7
-    optparse-applicative = doJailbreak self.optparse-applicative_0_15_1_0;
-    ansi-wl-pprint = self.ansi-wl-pprint_0_6_9;
-  }));
-}
diff --git a/pkgs/development/compilers/ghcjs/8.10/configured-ghcjs-src.nix b/pkgs/development/compilers/ghcjs/8.10/configured-ghcjs-src.nix
deleted file mode 100644
index c9e6d2f09cf7..000000000000
--- a/pkgs/development/compilers/ghcjs/8.10/configured-ghcjs-src.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ perl
-, autoconf
-, automake
-, python3
-, gcc
-, cabal-install
-, runCommand
-, fetchpatch
-
-, ghc
-, happy
-, alex
-
-, ghcjsSrc
-, version
-}:
-
-runCommand "configured-ghcjs-src" {
-  nativeBuildInputs = [
-    perl
-    autoconf
-    automake
-    python3
-    ghc
-    happy
-    alex
-    cabal-install
-    gcc
-  ];
-
-  inherit ghcjsSrc;
-
-  ctimePatch = fetchpatch {
-    name = "ghcjs-base-ctime-64-bit.patch";
-    url = "https://github.com/ghcjs/ghcjs/commit/b7711fbca7c3f43a61f1dba526e6f2a2656ef44c.patch";
-    hash = "sha256-zZ3l8/5gbIGtvu0s2Xl92fEDhkhJ2c2w+5Ql5qkvr3s=";
-  };
-} ''
-  export HOME=$(pwd)
-  mkdir $HOME/.cabal
-  touch $HOME/.cabal/config
-  cp -r "$ghcjsSrc" "$out"
-  chmod -R +w "$out"
-  cd "$out"
-
-  patch -p1 -i "$ctimePatch"
-
-  # TODO: Find a better way to avoid impure version numbers
-  sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac
-
-  # These files are needed by ghc-boot package, and these are generated by the
-  # make/hadrian build system when compiling ghc. Since we dont have access to
-  # the generated code of the ghc while it got built, here is a little hack to
-  # generate these again.
-  runhaskell ${./generate_host_version.hs}
-  mkdir -p utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Platform
-  mv Host.hs utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs
-  mv Version.hs utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Version.hs
-
-  # The ghcjs has the following hardcoded paths of lib dir in its code. Patching
-  # these to match the path expected by the nixpkgs's generic-builder, etc.
-  sed -i 's/libSubDir = "lib"/libSubDir = "lib\/ghcjs-${version}"/' src-bin/Boot.hs
-  sed -i 's@let libDir = takeDirectory haddockPath </> ".." </> "lib"@let libDir = takeDirectory haddockPath </> ".." </> "lib/ghcjs-${version}"@' src-bin/HaddockDriver.hs
-
-  patchShebangs .
-  ./utils/makePackages.sh copy
-''
diff --git a/pkgs/development/compilers/ghcjs/8.10/default.nix b/pkgs/development/compilers/ghcjs/8.10/default.nix
deleted file mode 100644
index 4363dc32c21e..000000000000
--- a/pkgs/development/compilers/ghcjs/8.10/default.nix
+++ /dev/null
@@ -1,128 +0,0 @@
-{ stdenv
-, pkgsHostHost
-, callPackage
-, fetchgit
-, fetchpatch
-, ghcjsSrcJson ? null
-, ghcjsSrc ? fetchgit (lib.importJSON ghcjsSrcJson)
-, bootPkgs
-, stage0
-, haskellLib
-, cabal-install
-, nodejs
-, makeWrapper
-, xorg
-, gmp
-, pkg-config
-, gcc
-, lib
-, ghcjsDepOverrides ? (_:_:{})
-, haskell
-, linkFarm
-, buildPackages
-}:
-
-let
-  passthru = {
-    configuredSrc = callPackage ./configured-ghcjs-src.nix {
-      inherit ghcjsSrc;
-      inherit (bootPkgs) ghc alex;
-      inherit (bootGhcjs) version;
-      happy = bootPkgs.happy_1_19_12;
-    };
-    bootPkgs = bootPkgs.extend (lib.foldr lib.composeExtensions (_:_:{}) [
-      (self: _: import stage0 {
-        inherit (passthru) configuredSrc;
-        inherit (self) callPackage;
-      })
-
-      (callPackage ./common-overrides.nix {
-        inherit haskellLib fetchpatch buildPackages;
-      })
-      ghcjsDepOverrides
-    ]);
-
-    targetPrefix = "";
-    inherit bootGhcjs;
-    inherit (bootGhcjs) version;
-    isGhcjs = true;
-
-    llvmPackages = null;
-    enableShared = true;
-
-    socket-io = pkgsHostHost.nodePackages."socket.io";
-
-    haskellCompilerName = "ghcjs-${bootGhcjs.version}";
-  };
-
-  bootGhcjs = haskellLib.justStaticExecutables passthru.bootPkgs.ghcjs;
-
-  # This provides the stuff we need from the emsdk
-  emsdk = linkFarm "emsdk" [
-    { name = "upstream/bin"; path = buildPackages.clang + "/bin";}
-    { name = "upstream/emscripten"; path = buildPackages.emscripten + "/bin"; }
-  ];
-
-in stdenv.mkDerivation {
-    name = bootGhcjs.name;
-    src = passthru.configuredSrc;
-    nativeBuildInputs = [
-      bootGhcjs
-      passthru.bootPkgs.ghc
-      cabal-install
-      nodejs
-      makeWrapper
-      xorg.lndir
-      gmp
-      pkg-config
-    ] ++ lib.optionals stdenv.isDarwin [
-      gcc # https://github.com/ghcjs/ghcjs/issues/663
-    ];
-    dontConfigure = true;
-    dontInstall = true;
-
-    # Newer versions of `config.sub` reject the `js-ghcjs` host string, but the
-    # older `config.sub` filed vendored within `ghc` still works
-    dontUpdateAutotoolsGnuConfigScripts = true;
-
-    buildPhase = ''
-      export HOME=$TMP
-      mkdir $HOME/.cabal
-      touch $HOME/.cabal/config
-      cd lib/boot
-
-      mkdir -p $out/bin
-      mkdir -p $out/lib/${bootGhcjs.name}
-      lndir ${bootGhcjs}/bin $out/bin
-      chmod -R +w $out/bin
-      rm $out/bin/ghcjs-boot
-      cp ${bootGhcjs}/bin/ghcjs-boot $out/bin
-      rm $out/bin/haddock
-      cp ${bootGhcjs}/bin/haddock $out/bin
-      cp ${bootGhcjs}/bin/private-ghcjs-hsc2hs $out/bin/ghcjs-hsc2hs
-
-      wrapProgram $out/bin/ghcjs-boot --set ghcjs_libexecdir $out/bin
-
-      wrapProgram $out/bin/ghcjs --add-flags "-B$out/lib/${bootGhcjs.name}"
-      wrapProgram $out/bin/haddock --add-flags "-B$out/lib/${bootGhcjs.name}"
-      wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/${bootGhcjs.name}/package.conf.d"
-      wrapProgram $out/bin/ghcjs-hsc2hs --add-flags "-I$out/lib/${bootGhcjs.name}/include --template=$out/lib/${bootGhcjs.name}/include/template-hsc.h"
-
-      env PATH=$out/bin:$PATH $out/bin/ghcjs-boot --with-emsdk=${emsdk} --no-haddock
-    '';
-
-    enableParallelBuilding = true;
-
-    inherit passthru;
-
-    meta = {
-      platforms = with lib.platforms; linux ++ darwin;
-
-      # Hydra limits jobs to only outputting 1 gigabyte worth of files.
-      # GHCJS outputs over 3 gigabytes.
-      # https://github.com/NixOS/nixpkgs/pull/137066#issuecomment-922335563
-      hydraPlatforms = lib.platforms.none;
-
-      maintainers = with lib.maintainers; [ obsidian-systems-maintenance ];
-    };
-  }
diff --git a/pkgs/development/compilers/ghcjs/8.10/generate_host_version.hs b/pkgs/development/compilers/ghcjs/8.10/generate_host_version.hs
deleted file mode 100644
index 8bf2583d238c..000000000000
--- a/pkgs/development/compilers/ghcjs/8.10/generate_host_version.hs
+++ /dev/null
@@ -1,54 +0,0 @@
--- Generate the Host.hs and Version.hs as done by hadrian/src/Rules/Generate.hs
-
-import GHC.Platform.Host
-import GHC.Version
-
-main = do
-  writeFile "Version.hs" versionHs
-  writeFile "Host.hs" platformHostHs
-
--- | Generate @Version.hs@ files.
-versionHs :: String
-versionHs = unlines
-        [ "module GHC.Version where"
-        , ""
-        , "import Prelude -- See Note [Why do we import Prelude here?]"
-        , ""
-        , "cProjectGitCommitId   :: String"
-        , "cProjectGitCommitId   = " ++ show cProjectGitCommitId
-        , ""
-        , "cProjectVersion       :: String"
-        , "cProjectVersion       = " ++ show cProjectVersion
-        , ""
-        , "cProjectVersionInt    :: String"
-        , "cProjectVersionInt    = " ++ show cProjectVersionInt
-        , ""
-        , "cProjectPatchLevel    :: String"
-        , "cProjectPatchLevel    = " ++ show cProjectPatchLevel
-        , ""
-        , "cProjectPatchLevel1   :: String"
-        , "cProjectPatchLevel1   = " ++ show cProjectPatchLevel1
-        , ""
-        , "cProjectPatchLevel2   :: String"
-        , "cProjectPatchLevel2   = " ++ show cProjectPatchLevel2
-        ]
-
--- | Generate @Platform/Host.hs@ files.
-platformHostHs :: String
-platformHostHs = unlines
-        [ "module GHC.Platform.Host where"
-        , ""
-        , "import GHC.Platform"
-        , ""
-        , "cHostPlatformArch :: Arch"
-        , "cHostPlatformArch = " ++ show cHostPlatformArch
-        , ""
-        , "cHostPlatformOS   :: OS"
-        , "cHostPlatformOS   = " ++ show cHostPlatformOS
-        , ""
-        , "cHostPlatformMini :: PlatformMini"
-        , "cHostPlatformMini = PlatformMini"
-        , "  { platformMini_arch = cHostPlatformArch"
-        , "  , platformMini_os = cHostPlatformOS"
-        , "  }"
-        ]
diff --git a/pkgs/development/compilers/ghcjs/8.10/git.json b/pkgs/development/compilers/ghcjs/8.10/git.json
deleted file mode 100644
index 18804d84acb1..000000000000
--- a/pkgs/development/compilers/ghcjs/8.10/git.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "url": "https://github.com/obsidiansystems/ghcjs",
-  "rev": "9fc935f2c3ba6c33ec62eb83afc9f52a893eb68c",
-  "sha256": "sha256:063dmir39c4i1z8ypnmq86g1x2vhqndmdpzc4hyzsy5jjqcbx6i3",
-  "fetchSubmodules": true
-}
diff --git a/pkgs/development/compilers/ghcjs/8.10/stage0.nix b/pkgs/development/compilers/ghcjs/8.10/stage0.nix
deleted file mode 100644
index d173d5a2e557..000000000000
--- a/pkgs/development/compilers/ghcjs/8.10/stage0.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-{ callPackage, configuredSrc }:
-
-{
-
-  ghcjs = callPackage
-    ({ mkDerivation, aeson, alex, array, attoparsec, base, base16-bytestring
-     , base64-bytestring, binary, bytestring, Cabal, containers
-     , cryptohash, data-default, deepseq, directory, executable-path
-     , filepath, ghc-boot, ghc-boot-th, ghc-compact, ghc-heap, ghc-paths
-     , ghci, happy, hashable, hpc, http-types, HUnit, lens, lib
-     , lifted-base, mtl, network, optparse-applicative, parallel, parsec
-     , process, random, safe, shelly, split, stringsearch, syb, tar
-     , template-haskell, terminfo, test-framework, test-framework-hunit
-     , text, time, transformers, unix, unix-compat, unordered-containers
-     , vector, wai, wai-app-static, wai-extra, wai-websockets, warp
-     , webdriver, websockets, wl-pprint-text, xhtml, yaml
-     }:
-     mkDerivation {
-       pname = "ghcjs";
-       version = "8.10.7";
-       src = configuredSrc + /.;
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson array attoparsec base base16-bytestring base64-bytestring
-         binary bytestring Cabal containers cryptohash data-default deepseq
-         directory filepath ghc-boot ghc-boot-th ghc-compact ghc-heap
-         ghc-paths ghci hashable hpc lens mtl optparse-applicative parallel
-         parsec process safe split stringsearch syb template-haskell
-         terminfo text time transformers unix unordered-containers vector
-         wl-pprint-text yaml
-       ];
-       libraryToolDepends = [ alex happy ];
-       executableHaskellDepends = [
-         aeson array base binary bytestring Cabal containers deepseq
-         directory executable-path filepath ghc-boot lens mtl
-         optparse-applicative parsec process tar terminfo text time
-         transformers unix unix-compat unordered-containers vector xhtml
-         yaml
-       ];
-       testHaskellDepends = [
-         aeson base bytestring data-default deepseq directory filepath
-         http-types HUnit lens lifted-base network optparse-applicative
-         process random shelly test-framework test-framework-hunit text time
-         transformers unordered-containers wai wai-app-static wai-extra
-         wai-websockets warp webdriver websockets yaml
-       ];
-       description = "Haskell to JavaScript compiler";
-       license = lib.licenses.mit;
-     }) {};
-
-  ghcjs-th = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, ghc-prim
-    , ghci, lib, template-haskell
-    }:
-    mkDerivation {
-      pname = "ghcjs-th";
-      version = "0.1.0.0";
-      src = configuredSrc + /lib/ghcjs-th;
-      libraryHaskellDepends = [
-        base binary bytestring containers ghc-prim ghci template-haskell
-      ];
-      homepage = "https://github.com/ghcjs";
-      license = lib.licenses.mit;
-    }) {};
-
-  ghcjs-prim = callPackage
-    ({ mkDerivation, base, ghc-prim, lib }:
-    mkDerivation {
-      pname = "ghcjs-prim";
-      version = "0.1.1.0";
-      src = ./.;
-      libraryHaskellDepends = [ base ghc-prim ];
-      homepage = "https://github.com/ghcjs";
-      license = lib.licenses.mit;
-    }) {};
-}
diff --git a/pkgs/development/compilers/ghcjs/ghcjs-base.nix b/pkgs/development/compilers/ghcjs/ghcjs-base.nix
deleted file mode 100644
index 9c09412b027e..000000000000
--- a/pkgs/development/compilers/ghcjs/ghcjs-base.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ mkDerivation, aeson, array, attoparsec, base, binary, bytestring
-, containers, deepseq, directory, dlist, fetchFromGitHub, ghc-prim
-, ghcjs-prim, hashable, HUnit, integer-gmp, primitive, QuickCheck
-, quickcheck-unicode, random, scientific, test-framework
-, test-framework-hunit, test-framework-quickcheck2, text, time
-, transformers, unordered-containers, vector
-, lib
-}:
-mkDerivation {
-  pname = "ghcjs-base";
-  version = "0.2.1.0";
-  # This is the release 0.2.1.0, but the hackage release misses test source files,
-  # so lets use github https://github.com/ghcjs/ghcjs-base/issues/132
-  src = fetchFromGitHub {
-    owner = "ghcjs";
-    repo = "ghcjs-base";
-    rev = "fbaae59b05b020e91783df122249095e168df53f";
-    sha256 = "sha256-x6eCAK1Hne0QkV3Loi9YpxbleNHU593E4AO8cbk2vUc=";
-  };
-  libraryHaskellDepends = [
-    aeson attoparsec base binary bytestring containers deepseq dlist
-    ghc-prim ghcjs-prim hashable integer-gmp primitive scientific text
-    time transformers unordered-containers vector
-  ];
-  testHaskellDepends = [
-    array base bytestring deepseq directory ghc-prim ghcjs-prim HUnit
-    primitive QuickCheck quickcheck-unicode random test-framework
-    test-framework-hunit test-framework-quickcheck2 text
-  ];
-  homepage = "https://github.com/ghcjs/ghcjs-base";
-  description = "base library for GHCJS";
-  license = lib.licenses.mit;
-}