diff --git a/pkgs/build-support/cabal/ghcjs.nix b/pkgs/build-support/cabal/ghcjs.nix index f7fc515432e3..761123c9f459 100644 --- a/pkgs/build-support/cabal/ghcjs.nix +++ b/pkgs/build-support/cabal/ghcjs.nix @@ -188,7 +188,7 @@ in done done - configureFlags+=" --package-db=${ghc.ghc}/share/ghcjs/x86_64-linux-0.1.0-7.8.2/ghcjs/package.conf.d" + configureFlags+=" --package-db=${ghc.ghc}${ghc.ghc.libdir}/ghcjs/package.conf.d" ${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) '' configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}"; diff --git a/pkgs/development/tools/haskell/ghcjs/default.nix b/pkgs/development/tools/haskell/ghcjs/default.nix index 13fe5e61c2ea..19e368b84f83 100644 --- a/pkgs/development/tools/haskell/ghcjs/default.nix +++ b/pkgs/development/tools/haskell/ghcjs/default.nix @@ -8,7 +8,7 @@ , regexPosix, alex, happy, git, gnumake, gcc, autoconf, patch , automake, libtool, cabalInstallGhcjs, gmp, base16Bytestring , cryptohash, executablePath, transformersCompat -, haddock, hspec, xhtml, primitive, cacert +, haddock, hspec, xhtml, primitive, cacert, pkgs, ghc }: cabal.mkDerivation (self: rec { pname = "ghcjs"; @@ -77,16 +77,17 @@ cabal.mkDerivation (self: rec { sed -i -e "s|str = \\[\\]|str = [\"--prefix=$out\", \"--libdir=$prefix/lib/$compiler\", \"--libsubdir=$pkgid\"]|" \ src-bin/Boot.hs ''; + libdir = "/share/ghcjs/${pkgs.stdenv.system}-${version}-${ghc.ghc.version}"; postInstall = '' export HOME=$(pwd) - export GIT_SSL_CAINFO=${cacert}/etc/ca-bundle.crt + export GIT_SSL_CAINFO="${cacert}/etc/ca-bundle.crt" git clone git://github.com/ghcjs/ghcjs-boot.git cd ghcjs-boot git checkout f9f79d0cf40212943bcc1ad2672f2e0a7af2b7c9 git submodule update --init --recursive ( cd boot ; chmod u+w . ; ln -s .. ghcjs-boot ) chmod -R u+w . # because fetchgit made it read-only - local GHCJS_LIBDIR=$out/share/ghcjs/x86_64-linux-0.1.0-7.8.2 + local GHCJS_LIBDIR=$out${libdir} ensureDir $GHCJS_LIBDIR cp -R ${shims} $GHCJS_LIBDIR/shims ${cabalInstallGhcjs}/bin/cabal-js update diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index ef8174810a2e..dab33b3d1ab1 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -3008,7 +3008,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in cabal2nix = callPackage ../development/tools/haskell/cabal2nix {}; # Build a cabal package given a local .cabal file - buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; }, cabal2nix }: let + buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; }, cabal2nix ? self.cabal2nix }: let cabalExpr = pkgs.stdenv.mkDerivation ({ name = "${name}.nix";