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 <iricanaycan@gmail.com> wrote:

> On 30 Oct 2016, at 21:42, David Johnson <djohnson.m@gmail.com> 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/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-entropy-0.3.7’
setupCompilerEnvironmentPhase
Build with /nix/store/nxnnsdk5njk6913z017h0hf6v5f3waah-ghcjs-0.2.0.
unpacking sources
unpacking source archive /nix/store/86ny46814x0qw0srcgywwgzsz1myhpnn-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/bcdkyjdrvx1jmqzkh031h1zz0x3sd4q6-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