
Zachary, The ghcjs-dom package on nixpkgs is pretty badly broken. This is because cabal2nix doesn't generate nix expressions that are sensitive to ghcjs. Therefore, you have to override derivations before you even begin. To do this create the directory ~/.nixpkgs with file config.nix (~/.nixpkgs/config.nix). Then paste the contents of this config.nix [1] into your local file system, then try the previous script again:
nix-shell -p "haskell.packages.ghcjs.ghcWithPackages (pkgs: with pkgs; [ghcjs-base ghcjs-dom])”
[1] https://gist.github.com/dmjio/380f8d8729f7f81be48ffdddb3fb1de0
Regards,
Dave
On Mon, Oct 31, 2016 at 6:59 AM, Aycan İrican
On 30 Oct 2016, at 21:42, David Johnson
wrote: Zachary,
I highly recommend using the nix package manager for GHCJS projects.
Nix is very easy to install and uninstall (rm -rf /nix).
To install: curl https://nixos.org/nix/install | sh
To be put into a shell where ghcjs exists along with a few dependencies, run, nix-shell -p "haskell.packages.ghcjs.ghcWithPackages (pkgs: with pkgs; [ghcjs-base ghcjs-dom])”
Unfortunately it is failing with:
``` building path(s) ‘/nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4 q6-entropy-0.3.7’ setupCompilerEnvironmentPhase Build with /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0. unpacking sources unpacking source archive /nix/store/86ny46814x0qw0srcgywwgzsz1myhp nn-entropy-0.3.7.tar.gz source root is entropy-0.3.7 setting SOURCE_DATE_EPOCH to timestamp 1434401149 of file entropy-0.3.7/System/EntropyXen.hs patching sources compileBuildDriverPhase setupCompileFlags: -package-db=/tmp/nix-build-entropy-0.3.7.drv-2/package.conf.d -j1 [1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-entropy-0.3.7.drv-2/Main.o ) Linking Setup ... configuring configureFlags: --verbose --prefix=/nix/store/ bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7 --libdir=$prefix/lib/$compiler --libsubdir=$pkgid --with-gcc=gcc --package-db=/tmp/nix-build-entropy-0.3.7.drv-2/package.conf.d --ghc-option=-opt l=-Wl,-rpath=/nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4 q6-entropy-0.3.7/lib/ghcjs-0.2.0/entropy-0.3.7 --enable-split-objs --disable-library-profiling --disable-executable-profiling --enable-shared --enable-library-vanilla --enable-executab le-dynamic --disable-tests --with-hsc2hs=/nix/store/ mcfx2csfnjsqk83h64jw0w1a4df48rwp-ghc-7.10.3/bin/hsc2hs --ghcjs Configuring entropy-0.3.7... Flags chosen: halvm=False Dependency base >=4.3 && <5: using base-4.8.0.0 Dependency bytestring -any: using bytestring-0.10.6.0 Dependency unix -any: using unix-2.7.1.0 Using Cabal-1.22.5.0 compiled by ghc-7.10 Using compiler: ghcjs-0.2.0 Using install prefix: /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7 Binaries installed in: /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/bin Libraries installed in: /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/lib/ghcjs-0. 2.0/entropy-0.3.7 Private binaries installed in: /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/libexec Data files installed in: /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/share/x86_64- linux-ghcjs-0.2.0-ghc7_10_3/entropy-0.3.7 Documentation installed in: /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/share/doc/ x86_64-linux-ghcjs-0.2.0-ghc7_10_3/entropy-0.3.7 Configuration files installed in: /nix/store/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7/etc No alex found Using ar found on system at: /nix/store/d61gfhj50bfrrlvp4jzdxmsap3izsvyc-binutils-2.27/bin/ar No c2hs found No cpphs found Using gcc version 5.4.0 given by user at: /nix/store/wckiwf1m333akbm3d7pyrj57g3i39367-gcc-wrapper-5.4.0/bin/gcc No ghc found No ghc-pkg found Using ghcjs version 0.2.0 found on system at: /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0/bin/ghcjs Using ghcjs-pkg version 7.10.3 found on system at: /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0/bin/ghcjs-pkg No greencard found Using haddock version 2.16.1 found on system at: /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0/bin/haddock-ghcjs No happy found Using haskell-suite found on system at: haskell-suite-dummy-location Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy- location No hmake found No hpc found Using hsc2hs version 0.67 given by user at: /nix/store/mcfx2csfnjsqk83h64jw0w1a4df48rwp-ghc-7.10.3/bin/hsc2hs No hscolour found No jhc found Using ld found on system at: /nix/store/wckiwf1m333akbm3d7pyrj57g3i39367-gcc-wrapper-5.4.0/bin/ld No lhc found No lhc-pkg found No pkg-config found Using strip version 2.27 found on system at: /nix/store/d61gfhj50bfrrlvp4jzdxmsap3izsvyc-binutils-2.27/bin/strip Using tar found on system at: /nix/store/p6jsf52izfpgb758xvdcw19byj644iak-gnutar-1.29/bin/tar No uhc found building Setup: Could not determine C compiler builder for ‘/nix/store/8ig44jskrggpnsqmiwjr3y7kz8aib9jj-entropy-0.3.7.drv’ failed with exit code 1 cannot build derivation ‘/nix/store/658g4wwinrpiy4qc23r9rzf0abab6q13-ghcjs-0.2.0.drv’: 1 dependencies couldn't be built error: build of ‘/nix/store/658g4wwinrpiy4qc23r9rzf0abab6q13-ghcjs-0.2.0.drv’ failed /run/current-system/sw/bin/nix-shell: failed to build all dependencies ```
I also tried it with 16.09 which also failed.
— aycan
-- Cell: 1.630.740.8204