From 0918598005195303347d675a75f6ea8540ca806a Mon Sep 17 00:00:00 2001 From: Divam Date: Wed, 1 Sep 2021 17:39:30 +0900 Subject: Remove old ghcjs files --- .../compilers/ghcjs-ng/8.6/dep-overrides.nix | 14 -- pkgs/development/compilers/ghcjs-ng/8.6/git.json | 6 - pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix | 177 --------------------- pkgs/development/compilers/ghcjs-ng/README.md | 21 --- .../compilers/ghcjs-ng/common-overrides.nix | 8 - .../compilers/ghcjs-ng/configured-ghcjs-src.nix | 51 ------ pkgs/development/compilers/ghcjs-ng/default.nix | 109 ------------- pkgs/development/compilers/ghcjs-ng/mk-stage0.nix | 25 --- 8 files changed, 411 deletions(-) delete mode 100644 pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix delete mode 100644 pkgs/development/compilers/ghcjs-ng/8.6/git.json delete mode 100644 pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix delete mode 100644 pkgs/development/compilers/ghcjs-ng/README.md delete mode 100644 pkgs/development/compilers/ghcjs-ng/common-overrides.nix delete mode 100644 pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix delete mode 100644 pkgs/development/compilers/ghcjs-ng/default.nix delete mode 100644 pkgs/development/compilers/ghcjs-ng/mk-stage0.nix diff --git a/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix b/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix deleted file mode 100644 index bbf8a579919f7..0000000000000 --- a/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ haskellLib }: - -let inherit (haskellLib) doJailbreak dontHaddock dontCheck; -in self: super: { - ghcjs = super.ghcjs.override { - shelly = super.shelly_1_8_1; - }; - ghc-api-ghcjs = super.ghc-api-ghcjs.override - { - happy = self.happy_1_19_5; - }; - haddock-library-ghcjs = doJailbreak (dontCheck super.haddock-library-ghcjs); - haddock-api-ghcjs = doJailbreak (dontHaddock super.haddock-api-ghcjs); -} diff --git a/pkgs/development/compilers/ghcjs-ng/8.6/git.json b/pkgs/development/compilers/ghcjs-ng/8.6/git.json deleted file mode 100644 index 1114e1a129052..0000000000000 --- a/pkgs/development/compilers/ghcjs-ng/8.6/git.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "url": "https://github.com/ghcjs/ghcjs", - "rev": "e87195eaa2bc7e320e18cf10386802bc90b7c874", - "sha256": "02mwkf7aagxqi142gcmq048244apslrr72p568akcab9s0fn2gvy", - "fetchSubmodules": true -} diff --git a/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix b/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix deleted file mode 100644 index d6a0509151457..0000000000000 --- a/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix +++ /dev/null @@ -1,177 +0,0 @@ -{ callPackage, configuredSrc }: - -{ - - ghcjs = callPackage - ({ mkDerivation, aeson, array, attoparsec, base, base16-bytestring - , base64-bytestring, binary, bytestring, Cabal, containers - , cryptohash, data-default, deepseq, directory, executable-path - , filepath, ghc-api-ghcjs, ghc-boot, ghc-paths, ghci-ghcjs - , ghcjs-th, haddock-api-ghcjs, hashable, haskell-src-exts - , haskell-src-meta, http-types, HUnit, lens, lifted-base, mtl - , network, optparse-applicative, parallel, parsec, process, random - , regex-posix, safe, shelly, split, lib, stringsearch, syb - , system-fileio, system-filepath, tar, template-haskell - , template-haskell-ghcjs, terminfo, test-framework - , test-framework-hunit, text, time, transformers - , transformers-compat, unix, unix-compat, unordered-containers - , vector, wai, wai-app-static, wai-extra, wai-websockets, warp - , webdriver, websockets, wl-pprint-text, yaml - }: - mkDerivation { - pname = "ghcjs"; - version = "8.6.0.1"; - src = configuredSrc + /.; - isLibrary = true; - isExecutable = true; - enableSeparateDataOutput = true; - setupHaskellDepends = [ - base Cabal containers directory filepath process template-haskell - transformers - ]; - libraryHaskellDepends = [ - aeson array attoparsec base base16-bytestring base64-bytestring - binary bytestring Cabal containers cryptohash data-default deepseq - directory filepath ghc-api-ghcjs ghc-boot ghc-paths ghci-ghcjs - ghcjs-th hashable haskell-src-exts haskell-src-meta lens mtl - optparse-applicative parallel parsec process regex-posix safe split - stringsearch syb template-haskell template-haskell-ghcjs text time - transformers unordered-containers vector wl-pprint-text yaml - ]; - executableHaskellDepends = [ - aeson base binary bytestring Cabal containers directory - executable-path filepath ghc-api-ghcjs ghc-boot haddock-api-ghcjs - lens mtl optparse-applicative process shelly system-fileio - system-filepath tar terminfo text time transformers - transformers-compat unix unix-compat unordered-containers vector - yaml - ]; - testHaskellDepends = [ - aeson base bytestring data-default deepseq directory http-types - HUnit lens lifted-base network optparse-applicative process random - shelly system-fileio system-filepath 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; - }) {}; - - ghc-api-ghcjs = callPackage - ({ mkDerivation, alex, array, base, binary, bytestring, containers - , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghc-heap - , ghci-ghcjs, happy, hpc, process, lib, template-haskell-ghcjs - , terminfo, time, transformers, unix - }: - mkDerivation { - pname = "ghc-api-ghcjs"; - version = "8.6.5"; - src = configuredSrc + /lib/ghc-api-ghcjs; - libraryHaskellDepends = [ - array base binary bytestring containers deepseq directory filepath - ghc-boot ghc-boot-th ghc-heap ghci-ghcjs hpc process - template-haskell-ghcjs terminfo time transformers unix - ]; - libraryToolDepends = [ alex happy ]; - homepage = "http://www.haskell.org/ghc/"; - description = "The GHC API (customized for GHCJS)"; - license = lib.licenses.bsd3; - }) {}; - - ghci-ghcjs = callPackage - ({ mkDerivation, array, base, binary, bytestring, containers - , deepseq, filepath, ghc-boot, ghc-boot-th, ghc-heap, lib - , template-haskell-ghcjs, transformers, unix - }: - mkDerivation { - pname = "ghci-ghcjs"; - version = "8.6.1"; - src = configuredSrc + /lib/ghci-ghcjs; - libraryHaskellDepends = [ - array base binary bytestring containers deepseq filepath ghc-boot - ghc-boot-th ghc-heap template-haskell-ghcjs transformers unix - ]; - description = "The library supporting GHC's interactive interpreter (customized for GHCJS)"; - license = lib.licenses.bsd3; - }) {}; - - ghcjs-th = callPackage - ({ mkDerivation, base, binary, bytestring, containers, ghc-prim - , ghci-ghcjs, lib, template-haskell-ghcjs - }: - mkDerivation { - pname = "ghcjs-th"; - version = "0.1.0.0"; - src = configuredSrc + /lib/ghcjs-th; - libraryHaskellDepends = [ - base binary bytestring containers ghc-prim ghci-ghcjs - template-haskell-ghcjs - ]; - homepage = "https://github.com/ghcjs"; - license = lib.licenses.mit; - }) {}; - - haddock-api-ghcjs = callPackage - ({ mkDerivation, array, base, bytestring, Cabal, containers, deepseq - , directory, filepath, ghc-api-ghcjs, ghc-boot, ghc-paths - , haddock-library-ghcjs, hspec, hspec-discover, QuickCheck, lib - , transformers, xhtml - }: - mkDerivation { - pname = "haddock-api-ghcjs"; - version = "2.20.0"; - src = configuredSrc + /lib/haddock-api-ghcjs; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - array base bytestring Cabal containers deepseq directory filepath - ghc-api-ghcjs ghc-boot ghc-paths haddock-library-ghcjs transformers - xhtml - ]; - testHaskellDepends = [ - array base bytestring Cabal containers deepseq directory filepath - ghc-api-ghcjs ghc-boot ghc-paths haddock-library-ghcjs hspec - QuickCheck transformers xhtml - ]; - testToolDepends = [ hspec-discover ]; - homepage = "http://www.haskell.org/haddock/"; - description = "A documentation-generation tool for Haskell libraries"; - license = lib.licenses.bsd3; - }) {}; - - haddock-library-ghcjs = callPackage - ({ mkDerivation, base, base-compat, bytestring, containers, deepseq - , directory, filepath, haddock-library, hspec, hspec-discover - , optparse-applicative, parsec, QuickCheck, lib, text - , transformers, tree-diff - }: - mkDerivation { - pname = "haddock-library-ghcjs"; - version = "1.6.0"; - src = configuredSrc + /lib/haddock-library-ghcjs; - libraryHaskellDepends = [ - base bytestring containers parsec text transformers - ]; - testHaskellDepends = [ - base base-compat bytestring containers deepseq directory filepath - haddock-library hspec optparse-applicative parsec QuickCheck text - transformers tree-diff - ]; - testToolDepends = [ hspec-discover ]; - homepage = "http://www.haskell.org/haddock/"; - description = "Library exposing some functionality of Haddock"; - license = lib.licenses.bsd3; - }) {}; - - template-haskell-ghcjs = callPackage - ({ mkDerivation, base, ghc-boot-th, pretty, lib }: - mkDerivation { - pname = "template-haskell-ghcjs"; - version = "2.14.0.0"; - src = configuredSrc + /lib/template-haskell-ghcjs; - libraryHaskellDepends = [ base ghc-boot-th pretty ]; - description = "Support library for Template Haskell (customized for GHCJS)"; - license = lib.licenses.bsd3; - }) {}; - -} diff --git a/pkgs/development/compilers/ghcjs-ng/README.md b/pkgs/development/compilers/ghcjs-ng/README.md deleted file mode 100644 index 99ad980c965eb..0000000000000 --- a/pkgs/development/compilers/ghcjs-ng/README.md +++ /dev/null @@ -1,21 +0,0 @@ -New build system for GHCJS 8.2 ---- - -`ghcjs-8.2` reworked the build system, and now comes with its own -small package set of dependencies. This involves autogenerating -several sources and cabal files, based on a GHC -checkout. `callCabal2nix` is off limits, since we don't like "import -from derivation" in nixpkgs. So there is a derivation that builds the -nix expression that should be checked in whenever GHCJS is updated. - -Updating ---- - -``` -$ nix-prefetch-git https://github.com/ghcjs/ghcjs --rev refs/heads/ghc-8.4 \ - | jq '{ url, rev, fetchSubmodules, sha256 }' \ - > 8.4/git.json -$ cat $(nix-build ../../../.. -A haskell.compiler.ghcjs82.genStage0 --no-out-link) > 8.4/stage0.nix -$ cabal2nix --compiler ghcjs git://github.com/ghcjs/ghcjs-base > ghcjs-base.nix -``` - diff --git a/pkgs/development/compilers/ghcjs-ng/common-overrides.nix b/pkgs/development/compilers/ghcjs-ng/common-overrides.nix deleted file mode 100644 index 00a071651edae..0000000000000 --- a/pkgs/development/compilers/ghcjs-ng/common-overrides.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ haskellLib }: - -let inherit (haskellLib) addBuildTools appendConfigureFlag dontHaddock doJailbreak; -in self: super: { - ghcjs = dontHaddock (appendConfigureFlag (doJailbreak super.ghcjs) "-fno-wrapper-install"); - haddock-library-ghcjs = dontHaddock super.haddock-library-ghcjs; - system-fileio = doJailbreak super.system-fileio; -} diff --git a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix deleted file mode 100644 index 943866d5f24e2..0000000000000 --- a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ perl -, autoconf -, automake -, python3 -, gcc -, cabal-install -, runCommand -, lib -, stdenv - -, ghc -, happy -, alex - -, ghcjsSrc -}: - -runCommand "configured-ghcjs-src" { - nativeBuildInputs = [ - perl - autoconf - automake - python3 - ghc - happy - alex - cabal-install - ] ++ lib.optionals stdenv.isDarwin [ - gcc # https://github.com/ghcjs/ghcjs/issues/663 - ]; - inherit ghcjsSrc; -} '' - export HOME=$(pwd) - mkdir $HOME/.cabal - touch $HOME/.cabal/config - cp -r "$ghcjsSrc" "$out" - chmod -R +w "$out" - cd "$out" - - # TODO: Find a better way to avoid impure version numbers - sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac - - # TODO: How to actually fix this? - # Seems to work fine and produce the right files. - touch ghc/includes/ghcautoconf.h - mkdir -p ghc/compiler/vectorise - mkdir -p ghc/utils/haddock/haddock-library/vendor - - patchShebangs . - ./utils/makePackages.sh copy -'' diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix deleted file mode 100644 index 8a04bc0c079c7..0000000000000 --- a/pkgs/development/compilers/ghcjs-ng/default.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ stdenv -, pkgsHostHost -, callPackage -, fetchgit -, ghcjsSrcJson ? null -, ghcjsSrc ? fetchgit (builtins.fromJSON (builtins.readFile ghcjsSrcJson)) -, bootPkgs -, stage0 -, haskellLib -, cabal-install -, nodejs -, makeWrapper -, xorg -, gmp -, pkg-config -, gcc -, lib -, ghcjsDepOverrides ? (_:_:{}) -, haskell -}: - -let - passthru = { - configuredSrc = callPackage ./configured-ghcjs-src.nix { - inherit ghcjsSrc; - inherit (bootPkgs) ghc alex happy; - }; - genStage0 = callPackage ./mk-stage0.nix { inherit (passthru) configuredSrc; }; - bootPkgs = bootPkgs.extend (lib.foldr lib.composeExtensions (_:_:{}) [ - (self: _: import stage0 { - inherit (passthru) configuredSrc; - inherit (self) callPackage; - }) - - (callPackage ./common-overrides.nix { - inherit haskellLib; - }) - ghcjsDepOverrides - ]); - - targetPrefix = ""; - inherit bootGhcjs; - inherit (bootGhcjs) version; - ghcVersion = bootPkgs.ghc.version; - isGhcjs = true; - - enableShared = true; - - socket-io = pkgsHostHost.nodePackages."socket.io"; - - # Relics of the old GHCJS build system - stage1Packages = []; - mkStage2 = { callPackage }: { - # https://github.com/ghcjs/ghcjs-base/issues/110 - # https://github.com/ghcjs/ghcjs-base/pull/111 - ghcjs-base = haskell.lib.dontCheck (haskell.lib.doJailbreak (callPackage ./ghcjs-base.nix {})); - }; - - haskellCompilerName = "ghcjs-${bootGhcjs.version}"; - }; - - bootGhcjs = haskellLib.justStaticExecutables passthru.bootPkgs.ghcjs; - libexec = "${bootGhcjs}/libexec/${builtins.replaceStrings ["darwin" "i686"] ["osx" "i386"] stdenv.buildPlatform.system}-${passthru.bootPkgs.ghc.name}/${bootGhcjs.name}"; - -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; - 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 ${libexec} $out/bin - - wrapProgram $out/bin/ghcjs --add-flags "-B$out/lib/${bootGhcjs.name}" - wrapProgram $out/bin/haddock-ghcjs --add-flags "-B$out/lib/${bootGhcjs.name}" - wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/${bootGhcjs.name}/package.conf.d" - - env PATH=$out/bin:$PATH $out/bin/ghcjs-boot -j1 --with-ghcjs-bin $out/bin - ''; - - # We hard code -j1 as a temporary workaround for - # https://github.com/ghcjs/ghcjs/issues/654 - # enableParallelBuilding = true; - - inherit passthru; - - meta.platforms = passthru.bootPkgs.ghc.meta.platforms; - meta.maintainers = [lib.maintainers.elvishjerricco]; - meta.hydraPlatforms = []; - meta.broken = true; # https://hydra.nixos.org/build/129701778 - } diff --git a/pkgs/development/compilers/ghcjs-ng/mk-stage0.nix b/pkgs/development/compilers/ghcjs-ng/mk-stage0.nix deleted file mode 100644 index f45ebb4511d62..0000000000000 --- a/pkgs/development/compilers/ghcjs-ng/mk-stage0.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ configuredSrc -, runCommand -, cabal2nix -, yq -}: - -runCommand "stage0.nix" { - buildInputs = [cabal2nix yq]; -} '' - ( - printf '{ callPackage, configuredSrc }:\n\n{\n\n' - yq '.packages | .[]' ${configuredSrc}/stack.yaml -r | sed 's|^\.$|./.|' | sed 's|^\.||' | while read f; do - printf ' %s = callPackage\n' \ - "$(find ${configuredSrc}/$f -name "*.cabal" -maxdepth 1 \ - | xargs basename \ - | sed 's/.cabal$//')" - printf '(%s) {};' \ - "$(cabal2nix ${configuredSrc}/$f \ - | sed 's|${configuredSrc}/|configuredSrc + |g')" \ - | sed 's/^/ /' - printf '\n\n' - done - printf '}\n' - ) > $out -'' -- cgit 1.4.1