diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/ghcjs/base.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/ghcjs/base.nix | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs/base.nix b/nixpkgs/pkgs/development/compilers/ghcjs/base.nix deleted file mode 100644 index ba0bbb1962b..00000000000 --- a/nixpkgs/pkgs/development/compilers/ghcjs/base.nix +++ /dev/null @@ -1,161 +0,0 @@ -{ mkDerivation -, lib -, broken ? false -, test-framework -, test-framework-hunit -, data-default -, ghc-paths -, haskell-src-exts -, haskell-src-meta -, optparse-applicative -, system-fileio -, system-filepath -, text-binary -, unordered-containers -, cabal-install -, wl-pprint-text -, base16-bytestring -, executable-path -, transformers-compat -, haddock-api -, regex-posix - -, bootPkgs, gmp - -, runCommand -, nodejs, stdenv, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm -, time -, zlib, aeson, attoparsec, bzlib, hashable -, lens -, parallel, safe, shelly, split, stringsearch, syb -, tar, terminfo -, vector, yaml -, alex, happy, git, gnumake, autoconf, patch -, automake, libtool -, cryptohash -, haddock, hspec, xhtml, pkgs -, coreutils -, libiconv - -, version -, ghcjsSrc -, ghcjsBootSrc -, ghcjsBoot ? import ./ghcjs-boot.nix { - inherit runCommand; - src = ghcjsBootSrc; - } -, 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 - -, stage2 ? import ./stage2.nix - -, patches - -# used for resolving compiler plugins -, ghcLibdir ? null -}: -let - inherit (bootPkgs) ghc; - -in mkDerivation ({ - pname = "ghcjs"; - inherit version; - src = ghcjsSrc; - isLibrary = true; - isExecutable = true; - jailbreak = true; - doHaddock = false; - doCheck = false; - buildDepends = [ - filepath HTTP mtl network random stm time zlib aeson attoparsec - bzlib data-default ghc-paths hashable haskell-src-exts haskell-src-meta - lens optparse-applicative parallel safe shelly split - stringsearch syb system-fileio system-filepath tar terminfo text-binary - unordered-containers vector wl-pprint-text yaml - alex happy git gnumake autoconf automake libtool patch gmp - base16-bytestring cryptohash executable-path haddock-api - transformers-compat QuickCheck haddock hspec xhtml - regex-posix libiconv - ]; - buildTools = [ nodejs git ]; - testDepends = [ - HUnit test-framework test-framework-hunit - ]; - inherit patches; - postPatch = '' - substituteInPlace Setup.hs \ - --replace "/usr/bin/env" "${coreutils}/bin/env" - - substituteInPlace src/Compiler/Info.hs \ - --replace "@PREFIX@" "$out" \ - --replace "@VERSION@" "${version}" - - substituteInPlace src-bin/Boot.hs \ - --replace "@PREFIX@" "$out" \ - --replace "@CC@" "${stdenv.cc}/bin/cc" - ''; - preBuild = '' - export HOME="$TMP" - - local topDir=$out/lib/ghcjs-${version} - mkdir -p $topDir - - cp -r ${ghcjsBoot} $topDir/ghcjs-boot - chmod -R u+w $topDir/ghcjs-boot - - cp -r ${shims} $topDir/shims - chmod -R u+w $topDir/shims - - # Make the patches be relative their corresponding package's directory. - # See: https://github.com/ghcjs/ghcjs-boot/pull/12 - for patch in "$topDir/ghcjs-boot/patches/"*.patch; do - echo "fixing patch: $patch" - sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch - done - ''; - # We build with --quick so we can build stage 2 packages separately. - # This is necessary due to: https://github.com/haskell/cabal/commit/af19fb2c2d231d8deff1cb24164a2bf7efb8905a - # Cabal otherwise fails to build: http://hydra.nixos.org/build/31824079/nixlog/1/raw - postInstall = '' - PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp.out}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \ - env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \ - --dev \ - --quick \ - --with-cabal ${cabal-install}/bin/cabal \ - --with-gmp-includes ${gmp.dev}/include \ - --with-gmp-libraries ${gmp.out}/lib - '' + lib.optionalString (ghcLibdir != null) '' - printf '%s' '${ghcLibdir}' > "$out/lib/ghcjs-${version}/ghc_libdir" - ''; - passthru = { - inherit bootPkgs; - ghcVersion = ghc.version; - isCross = true; - isGhcjs = true; - inherit nodejs ghcjsBoot; - socket-io = pkgs.nodePackages."socket.io"; - haskellCompilerName = "ghcjs-${version}"; - - # let us assume ghcjs is never actually cross compiled - targetPrefix = ""; - - enableShared = true; - - inherit stage1Packages; - mkStage2 = stage2 { - inherit ghcjsBoot; - }; - }; - - homepage = https://github.com/ghcjs/ghcjs; - description = "A Haskell to JavaScript compiler that uses the GHC API"; - license = stdenv.lib.licenses.bsd3; - platforms = ghc.meta.platforms; - maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan dmjio elvishjerricco ]; - hydraPlatforms = if broken then [] else ghc.meta.platforms; - inherit broken; -}) |