Coder Social home page Coder Social logo

reflex-frp / reflex-platform Goto Github PK

View Code? Open in Web Editor NEW
714.0 50.0 162.0 4.58 MB

A curated package set and set of tools that let you build Haskell packages so they can run on a variety of platforms. reflex-platform is built on top of the nix package manager.

Home Page: https://reflex-frp.org

License: BSD 3-Clause "New" or "Revised" License

Shell 12.59% Haskell 3.42% Nix 80.40% HTML 0.02% Perl 3.57%
reflex-frp reactive functional-reactive-programming frp haskell ghcjs nix full-stack

reflex-platform's Introduction

Reflex Platform

Reflex Platform is a curated package set and set of tools that let you build Haskell packages so they can run on a variety of platforms. Reflex Platform is built on top of the nix package manager.

There are five main reasons to use Reflex Platform:

  1. It's curated: the core packages in Reflex Platform are known to work together and are tested together.

  2. It's cached: the core packages in Reflex Platform are cached so you can download prebuilt binaries from the public cache instead of building from scratch.

  3. It's consistent: nix locks down dependencies even outside the Haskell ecosystem (e.g., versions of C libraries that the Haskell code depends on), so you get completely reproducible builds.

  4. It's cross-platform: Reflex Platform is designed to target iOS and Android on mobile, JavaScript on the web, and Linux and macOS on desktop. It's Haskell, everywhere.

  5. It's convenient: Reflex Platform comes packaged with tools to make development easier, like a hoogle server that you can run locally to look up definitions.

To get started with Reflex development, follow the instructions below.

Try Reflex lets you set up an environment from which you can use Reflex with GHC or GHCJS.

To use Reflex Platform as a build/development system for your own projects, refer to HACKING.md.

To see what platforms and build targets we support, refer to platform-support.md

To see what has changed since a previous version of Reflex Platform, see ChangeLog.md.

Important Notes

Branches

The default branch for this git repo is develop, but the latest release is master. End-users should prefer to use master, not develop.

The default branch is just develop to ensure new PRs go to the right place by default.

OS Compatibility

If you're using one of these platforms, please take a look at notes before you begin:

If you encounter any problems that may be specific to your platform, please submit an issue or pull request so that we can add a note for future users.

Windows

Reflex Platform will not work on Windows because we rely on Nix to define and construct our environment. You may have some success by using the Windows Subsystem for Linux, but we do not provide support for this platform.

Memory Requirements

GHCJS uses a lot of memory during compilation. 16GB of memory is recommended, with 8GB being pretty close to bare minimum.

Setup

This process will install the Nix package manager. If you prefer to install Nix yourself, you may do so any time prior to step 2.

  1. Clone this repository:

    git clone https://github.com/reflex-frp/reflex-platform
  2. Navigate into the reflex-platform folder and run the try-reflex command. This will install Nix, if you don't have it already, and use it to wrangle all the dependencies you'll need and drop you in an environment from which you can use Reflex. Be warned, this might take a little while the first time (but it shouldn't take more than a few minutes, if your binary cache is configured properly):

    cd reflex-platform
    ./try-reflex
  3. From this nix-shell, you can compile any haskell source files you like. Replace your-source-file.hs with the name of the file you'd like to compile. For the most part, ghcjs supports the same options as ghc:

    • GHC

      ghc --make your-source-file.hs
      ./your-source-file

      Compilation will produce a your-source-file native executable via WebkitGtk. Simply run it to launch your app. Developer tools are available via Inspect Element in the right-click context menu.

    • GHCJS

      ghcjs --make your-source-file.hs

      Compilation will produce a your-source-file.jsexe folder containing an index.html file. Open that in your browser to run your app.

Don't use cabal install to install libraries while inside the try-reflex shell - the resulting libraries may not be found properly by ghc or ghcjs. Using Cabal to configure, build, test, and run a particular package, however, should work just fine.

try-reflex and ghcjs --make are not recommended for real-world projects — just as a quick and easy way to install Nix and experiment with reflex-dom. If you need to use additional Haskell libraries (e.g. from Hackage), we recommend using the tools described in project-development.rst instead.

Haddock

If you've already set up nix, haddock documentation for the versions pinned by your current reflex-plaftorm can be browsed by running

./scripts/docs-for reflex
./scripts/docs-for reflex-dom

Tutorial

In this example, we'll be following Luite Stegemann's lead and building a simple functional reactive calculator to be used in a web browser.

DOM Basics

Reflex's companion library, Reflex-DOM, contains a number of functions used to build and interact with the Document Object Model. Let's start by getting a basic app up and running.

> {-# LANGUAGE OverloadedStrings #-}
> import Reflex.Dom

> main = mainWidget $ el "div" $ text "Welcome to Reflex"

Save this file as source.hs and compile it by running ghcjs source.hs. If you've entered everything correctly, this will produce a folder named source.jsexe in the same directory as source.hs. Navigate to this folder in your file manager and open index.html using your browser. The browser should show a page with the text "Welcome to Reflex".

Most Reflex apps will start the same way: a call to mainWidget with a starting Widget. A Widget is some DOM wrapped up for easy use with Reflex. In our example, we are building the argument to mainWidget, (in other words, our starting Widget) on the same line.

el has the type signature:

el :: DomBuilder t m => Text -> m a -> m a

The first argument to el is a Text, which will become the tag of the html element produced. The second argument is a Widget, which will become the child of the element being produced. We turned on the OverloadedStrings extension so that the literal string in our source file would be interpreted as the appropriate type (Text rather than String).

Sidebar: Interpreting the DomBuilder type

FRP-enabled datatypes in Reflex take an argument t, which identifies the FRP subsystem being used. This ensures that wires don't get crossed if a single program uses Reflex in multiple different contexts. You can think of t as identifying a particular "timeline" of the FRP system. Because most simple programs will only deal with a single timeline, we won't revisit the t parameters in this tutorial. As long as you make sure your Event, Behavior, and Dynamic values all get their t argument, it'll work itself out.

In our example, el "div" $ text "Welcome to Reflex", the first argument to el was "div", indicating that we are going to produce a div element.

The second argument to el was text "Welcome to Reflex". The type signature of text is:

text :: DomBuilder t m => Text -> m ()

text takes a Text and produces a Widget. The Text becomes a text DOM node in the parent element of the text. Of course, instead of a Text, we could have used el here as well to continue building arbitrarily complex DOM. For instance, if we wanted to make a unordered list:

> {-# LANGUAGE OverloadedStrings #-}
> import Reflex.Dom

> main = mainWidget $ el "div" $ do
>  el "p" $ text "Reflex is:"
>  el "ul" $ do
>    el "li" $ text "Efficient"
>    el "li" $ text "Higher-order"
>    el "li" $ text "Glitch-free"

Dynamics and Events

Of course, we want to do more than just view a static webpage. Let's start by getting some user input and printing it.

> {-# LANGUAGE OverloadedStrings #-}
> import Reflex.Dom

> main = mainWidget $ el "div" $ do
>   t <- inputElement def
>   dynText $ _inputElement_value t

Running this in your browser, you'll see that it produces a div containing an input element. When you type into the input element, the text you enter appears inside the div as well.

inputElement is a function with the following type:

inputElement :: DomBuilder t m
  => InputElementConfig er t (DomBuilderSpace m)
  -> m (InputElement er (DomBuilderSpace m) t)

It takes a InputElementConfig (given a default value in our example), and produces a Widget whose result is a InputElement. The InputElement exposes the following functionality:

data InputElement er d t
   = InputElement { _inputElement_value :: Dynamic t Text
                  , _inputElement_checked :: Dynamic t Bool
                  , _inputElement_checkedChange :: Event t Bool
                  , _inputElement_input :: Event t Text
                  , _inputElement_hasFocus :: Dynamic t Bool
                  , _inputElement_element :: Element er d t
                  , _inputElement_raw :: RawInputElement d
                  , _inputElement_files :: Dynamic t [RawFile d]
                  }

Here we are using _inputElement_value to access the Dynamic Text value of the InputElement. Conveniently, dynText takes a Dynamic Text and displays it. It is the dynamic version of text.

A Number Input

A calculator was promised, I know. We'll start building the calculator by creating an input for numbers.

> {-# LANGUAGE OverloadedStrings #-}
> import Reflex
> import Reflex.Dom
> import Data.Map (Map)
> import qualified Data.Map as Map

> main = mainWidget $ el "div" $ do
>   t <- inputElement $ def
>     & inputElementConfig_initialValue .~ "0"
>     & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ ("type" =: "number")
>   dynText $ _inputElement_value t

The code above overrides some of the default values of the InputElementConfig. We provide a Map Text Text value for the inputElementConfig_elementConfig's elementConfig_initialAttributes, specifying the html input element's type attribute to number.

Next, we override the default initial value of the InputElement. We gave it "0". Even though we're making an html input element with the attribute type=number, the result is still a Text. We'll convert this later.

Let's do more than just take the input value and print it out. First, let's make sure the input is actually a number:

> {-# LANGUAGE OverloadedStrings #-}
> import Reflex.Dom
> import Data.Map (Map)
> import qualified Data.Map as Map
> import Data.Text (pack, unpack)
> import Text.Read (readMaybe)

> main = mainWidget $ el "div" $ do
>   x <- numberInput
>   let numberString = fmap (pack . show) x
>   dynText numberString

> numberInput :: DomBuilder t m => m (Dynamic t (Maybe Double))
> numberInput = do
>   n <- inputElement $ def
>     & inputElementConfig_initialValue .~ "0"
>     & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ ("type" =: "number")
>   return . fmap (readMaybe . unpack) $ _inputElement_value n

We've defined a function numberInput that both handles the creation of the InputElement and reads its value. Recall that _inputElement_value gives us a Dynamic Text. The final line of code in numberInput uses fmap to apply the function readMaybe . unpack to the Dynamic value of the InputElement. This produces a Dynamic (Maybe Double). Our main function uses fmap to map over the Dynamic (Maybe Double) produced by numberInput and pack . show the value it contains. We store the new Dynamic Text in numberString and feed that into dynText to actually display the Text

Running the app at this point should produce an input and some text showing the Maybe Double. Typing in a number should produce output like Just 12.0 and typing in other text should produce the output Nothing.

Adding

Now that we have numberInput we can put together a couple inputs to make a basic calculator.

> {-# LANGUAGE OverloadedStrings #-}
> import Reflex
> import Reflex.Dom
> import Data.Map (Map)
> import qualified Data.Map as Map
> import Data.Text (pack, unpack)
> import Text.Read (readMaybe)
>
> main = mainWidget $ el "div" $ do
>   nx <- numberInput
>   text " + "
>   ny <- numberInput
>   text " = "
>   let result = zipDynWith (\x y -> (+) <$> x <*> y) nx ny
>       resultString = fmap (pack . show) result
>   dynText resultString

> numberInput :: DomBuilder t m => m (Dynamic t (Maybe Double))
> numberInput = do
>   n <- inputElement $ def
>     & inputElementConfig_initialValue .~ "0"
>     & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ ("type" =: "number")
>   return . fmap (readMaybe . unpack) $ _inputElement_value n

numberInput hasn't changed here. Our main function now creates two inputs. zipDynWith is used to produce the actual sum of the values of the inputs. The type signature of zipDynWith is:

zipDynWith :: Reflex t => (a -> b -> c) -> Dynamic t a -> Dynamic t b -> Dynamic t c

You can see that it takes a function that combines two pure values and produces some other pure value, and two Dynamics, and produces a Dynamic.

In our case, zipDynWith is combining the results of our two numberInputs (with a little help from <$> and <*>) into a sum.

We use fmap again to apply pack . show to result (a Dynamic (Maybe Double)) resulting in a Dynamic Text. This resultText is then displayed using dynText.

Supporting Multiple Operations

Next, we'll add support for other operations. We're going to add a dropdown so that the user can select the operation to apply. The function dropdown has the type:

dropdown :: (DomBuilder t m, MonadFix m, MonadHold t m, PostBuild t m, Ord k) => k -> Dynamic t (Map k Text) -> DropdownConfig t k -> m (Dropdown t k)

The first argument is the initial value of the Dropdown. The second argument is a Dynamic (Map k Text) that represents the options in the dropdown. The Text values of the Map are the strings that will be displayed to the user. If the initial key is not in the Map, it is added and given a Text value of "". The final argument is a DropdownConfig.

Our supported operations will be:

data Op = Plus | Minus | Times | Divide deriving (Eq, Ord)

ops = Map.fromList [(Plus, "+"), (Minus, "-"), (Times, "*"), (Divide, "/")]

We'll use this as an argument to dropdown:

d <- dropdown Times (constDyn ops) def

We are using constDyn again here to turn our Map of operations into a Dynamic. Using def, we provide the default DropdownConfig. The result, d, will be a Dropdown. We can retrieve the Dynamic selection of a Dropdown by using _dropdown_value.

> {-# LANGUAGE OverloadedStrings #-}
> import Reflex
> import Reflex.Dom
> import Data.Map (Map)
> import qualified Data.Map as Map
> import Data.Text (pack, unpack, Text)
> import Text.Read (readMaybe)
>
> main = mainWidget $ el "div" $ do
>   nx <- numberInput
>   d <- dropdown Times (constDyn ops) def
>   ny <- numberInput
>   let values = zipDynWith (,) nx ny
>       result = zipDynWith (\o (x,y) -> runOp o <$> x <*> y) (_dropdown_value d) values
>       resultText = fmap (pack . show) result
>   text " = "
>   dynText resultText
>
> numberInput :: DomBuilder t m => m (Dynamic t (Maybe Double))
> numberInput = do
>   n <- inputElement $ def
>     & inputElementConfig_initialValue .~ "0"
>     & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ ("type" =: "number")
>   return . fmap (readMaybe . unpack) $ _inputElement_value n
>
> data Op = Plus | Minus | Times | Divide deriving (Eq, Ord)
>
> ops :: Map Op Text
> ops = Map.fromList [(Plus, "+"), (Minus, "-"), (Times, "*"), (Divide, "/")]
>
> runOp :: Fractional a => Op -> a -> a -> a
> runOp s = case s of
>             Plus -> (+)
>             Minus -> (-)
>             Times -> (*)
>             Divide -> (/)

This is our complete program. We've added an uninteresting function runOp that takes an Op and returns an operation. The keys of the Map we used to create the Dropdown had the type Op. When we retrieve the value of Dropdown, we'll use runOp to turn the Dropdown selection into the function we need to apply to our numbers.

After creating the two numberInputs, we combine them using zipDynWith applying (,), making a tuple of type Dynamic (Maybe Double, Maybe Double) and binding it to values.

Next, we call zipDynWith again, combining the _dropdown_value and values. Now, instead of applying (+) to our Double values, we use runOp to select an operation based on the Dynamic value of our Dropdown.

Running the app at this point will give us our two number inputs with a dropdown of operations sandwiched between them. Multiplication should be pre-selected when the page loads.

Dynamic Element Attributes

Let's spare a thought for the user of our calculator and add a little UI styling. Our number input currently looks like this:

numberInput :: DomBuilder t m => m (Dynamic t (Maybe Double))
numberInput = do
  n <- inputElement $ def
    & inputElementConfig_initialValue .~ "0"
    & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ ("type" =: "number")
  return . fmap (readMaybe . unpack) $ _inputElement_value n

Let's give it some html attributes to work with:

numberInput :: DomBuilder t m => m (Dynamic t (Maybe Double))
numberInput = do
  let initAttrs = (("type" =: "number") <> ("style" =: "border-color: blue"))
  n <- inputElement $ def
    & inputElementConfig_initialValue .~ "0"
    & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ initAttrs
  return . fmap (readMaybe . unpack) $ _inputElement_value n

Here, we've used a (Map Text Text). This Map represents the html attributes of our inputs.

Static attributes are useful and quite common, but attributes will often need to change. Instead of just making the InputElement blue, let's change it's color based on whether the input successfully parses to a Double:

{-# LANGUAGE RecursiveDo #-}
import Control.Monad.Fix (MonadFix)

numberInput :: (DomBuilder t m, MonadFix m) => m (Dynamic t (Maybe Double))
numberInput = do
  let initAttrs = ("type" =: "number") <> (style False)
      color error = if error then "red" else "green"
      style error = "style" =: ("border-color: " <> color error)
      styleChange :: Maybe Double -> Map AttributeName (Maybe Text)
      styleChange result = case result of
        (Just _) -> fmap Just (style False)
        (Nothing) -> fmap Just (style True)

  rec
    n <- inputElement $ def
      & inputElementConfig_initialValue .~ "0"
      & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ initAttrs
      & inputElementConfig_elementConfig . elementConfig_modifyAttributes .~ modAttrEv
    let result = fmap (readMaybe . unpack) $ _inputElement_value n
        modAttrEv  = fmap styleChange (updated result)
  return result

Note that we need to add a language pragma here to enable the RecursiveDo language extension, and then we need to import MonadFix. Here style function takes a Bool value, whether input is correct or not, and it gives a Map of attributes with green or red color respectively. The next function styleChange actually produces a Map which tells which attribute to change. If the value of a key in the Map is a Just value then the attribute is either added or modified. If the value of key is Nothing, then that attribute is removed. An Event of this Map is specified in the elementConfig_modifyAttributes.

In the first line of the rec, we have supplied this Event as argument modAttrEv. The Dynamic value of the input is bound to result. The code for parsing this value has not changed.

After we bind result, we use fmap again to apply a switching function to the updated result Event. The switching function checks whether the value was successfully parsed and gives the corresponding Event to modify the attributes.

The complete program now looks like this:

> {-# LANGUAGE OverloadedStrings #-}
> {-# LANGUAGE RecursiveDo       #-}
> import Reflex
> import Reflex.Dom
> import Data.Map (Map)
> import qualified Data.Map as Map
> import Data.Text (pack, unpack, Text)
> import Text.Read (readMaybe)
> import Control.Monad.Fix (MonadFix)
>
> main = mainWidget $ el "div" $ do
>   nx <- numberInput
>   d <- dropdown Times (constDyn ops) def
>   ny <- numberInput
>   let values = zipDynWith (,) nx ny
>       result = zipDynWith (\o (x,y) -> runOp o <$> x <*> y) (_dropdown_value d) values
>       resultText = fmap (pack . show) result
>   text " = "
>   dynText resultText
>
> numberInput :: (DomBuilder t m, MonadFix m) => m (Dynamic t (Maybe Double))
> numberInput = do
>   let initAttrs = ("type" =: "number") <> (style False)
>       color error = if error then "red" else "green"
>       style error = "style" =: ("border-color: " <> color error)
>       styleChange :: Maybe Double -> Map AttributeName (Maybe Text)
>       styleChange result = case result of
>         (Just _) -> fmap Just (style False)
>         (Nothing) -> fmap Just (style True)
>
>   rec
>     n <- inputElement $ def
>       & inputElementConfig_initialValue .~ "0"
>       & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ initAttrs
>       & inputElementConfig_elementConfig . elementConfig_modifyAttributes .~ modAttrEv
>     let result = fmap (readMaybe . unpack) $ _inputElement_value n
>         modAttrEv  = fmap styleChange (updated result)
>   return result
>
> data Op = Plus | Minus | Times | Divide deriving (Eq, Ord)
>
> ops :: Map Op Text
> ops = Map.fromList [(Plus, "+"), (Minus, "-"), (Times, "*"), (Divide, "/")]
>
> runOp :: Fractional a => Op -> a -> a -> a
> runOp s = case s of
>             Plus -> (+)
>             Minus -> (-)
>             Times -> (*)
>             Divide -> (/)

The input border colors will now change depending on their value.

reflex-platform's People

Contributors

3noch avatar adetokunbo avatar alexfmpe avatar ali-abrar avatar alpmestan avatar cardenaso11 avatar cgibbard avatar cidkidnix avatar dfordivam avatar elvishjerricco avatar ericson2314 avatar eskimor avatar fendor avatar hamishmack avatar hectorae avatar hsloan avatar ibizaman avatar ingenieroariel avatar jmininger avatar kmicklas avatar luigy avatar madeline-os avatar matthewbauer avatar plt-amy avatar rsoeldner avatar runeksvendsen avatar ryantrinkle avatar srid avatar tomsmalley avatar vaibhavsagar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reflex-platform's Issues

Unable to build ghcjs-websockets

BTW, I tried to build it on my macbook. Error log attached below:

building
Building ghcjs-websockets-0.3.0.5...
Preprocessing library ghcjs-websockets-0.3.0.5...
[1 of 5] Compiling JavaScript.NoGHCJS ( src/JavaScript/NoGHCJS.hs, dist/build/JavaScript/NoGHCJS.js_o )
[2 of 5] Compiling JavaScript.WebSockets.FFI ( src/JavaScript/WebSockets/FFI.hs, dist/build/JavaScript/WebSockets/FFI.js_o )

src/JavaScript/WebSockets/FFI.hs:28:1: error:
Failed to load interface for ‘GHCJS.Types’
Perhaps you meant
GHC.Types (needs flag -package-key ghc-prim-0.5.0.0)
Use -v to see a list of the files searched for.
builder for ‘/nix/store/1rkk0s1x61w71bshmvd3aci858ng2b52-ghcjs-websockets-0.3.0.5.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/i38m91w4cyx25dw7sjnhgvs28ixxrhz9-ghcjs-0.2.0.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/akr4sjr3n76krnz3sbn64kx11kjsiqkg-shell.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/akr4sjr3n76krnz3sbn64kx11kjsiqkg-shell.drv’ failed

[ReferenceError: h$CCS_SYSTEM is not defined]

Installing the latest reflex-platform on MacOS results in this:

Building reflex-todomvc-0.1...
Preprocessing library reflex-todomvc-0.1...
[1 of 1] Compiling Reflex.TodoMVC   ( src/Reflex/TodoMVC.hs, dist/build/Reflex/TodoMVC.js_o )
Linking Template Haskell ()
Linking Template Haskell (ThRunner1)
[1 of 1] Compiling Reflex.TodoMVC   ( src/Reflex/TodoMVC.hs, dist/build/Reflex/TodoMVC.js_p_o )
Linking Template Haskell ()
Linking Template Haskell (ThRunner1)
[ReferenceError: h$CCS_SYSTEM is not defined]

Segmentation fault when entering reflex sandbox

Nix and the required packages seem to download/install fine, but when entering the sandbox, I always get a segfault:

~/code/reflex-platform(branch:develop) » ./try-reflex
If you have any trouble with this script, please submit an issue at https://github.com/reflex-frp/reflex-platform/issues
Entering the reflex sandbox...
./try-reflex: line 66:  2533 Segmentation fault      nix-shell "$DIR/gc-roots/shell.drv" $NIXOPTS --command "echo \"$INFO\" ; return" "$@"
It looks like a problem occurred.  Please submit an issue at https://github.com/reflex-frp/reflex-platform/issues - include ./try-reflex.log to provide more information

The try-reflex.log does not contain any more information.

Disable the lens test suite

Can you guys make reflex-platform do a dontCheck on lens by default? I know your cache is supposed to handle it (and that has gotten much better recently) but I still seem to pretty regularly end up building lens, and when I do it literally takes something on the order of 30 minutes or more just to run the lens test suite. So from a pragmatic view this is actually a pretty significant obstacle to working on reflex libraries and apps.

Bootstrapper for Windows

The bootstrapper for Reflex is a bash file. Is it possible to provide an alternative for people in Windows?

How to uninstall ?

I'm running ubuntu 15.10 how can i uninstall everything that try-reflex has installed?

I looked at the nix manual

Nix can be uninstalled using rpm -e nix or dpkg -r nix on RPM- and Dpkg-based systems, respectively. After this you should manually remove the Nix store and other auxiliary data, if desired:

$ rm -rf /nix

however i get:

» sudo dpkg -r nix                                                                                                           [3:03:22]
dpkg: warning: ignoring request to remove nix which isn't installed

Nix "still waiting for ... after 5 seconds..."

I am having some problems fetching dependencies with Nix:

$ ./try-reflex

...

download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/4iqi9iwyk9ikccdjybz1ak29q7i4i6hd.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/q4csmsxy898ra37bxfckh9k0hpc4yyfb.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/ffm43iavsvwl3fl2aqa12qiyyaq30vn4.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/5pijlxamj2qzqg3d383bhwhyylp4y0cw.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/vygvskq0ywpng60hah1wj9sswj8cq8ys.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/hq476rdjxv37kzrz6vqvavjc986nmk6r.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/iy4qdn7r9in5mnv7hwmsih7z20x4kgkg.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/fbrl477pzbyhr0izb6sa8219w97zcf1b.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/91bxy0li0gaawa6zcxh4cpvbpl0w52pa.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/hb5xz24rjvqk1a97dds6013w215f0idh.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/59isc594cwv9psibsrjz8k39mh8wjczq.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/6pyjy29jny71q3bfwyzz4f7d5kw48y9m.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/5y54f0g3xxr3r57n1f5r899574pwiggh.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/r708kylp1nb4855xmn0ny9i32bnh0kmm.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/2hl9sdcj3ggp03gamsp5js76jaqw5vdm.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/008205g0qrpgxay3q17wpv76v80dvy65.narinfo’ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/hyk3ynwzvjarqwg3sdp0r8d56sqxvck8.narinfo’ after 5 seconds...
^C error: interrupted by the user

I think that i already stumbled upon this kind of error with Nix, and i fixed it limiting the amount of parallelism used for fetching the sources, but unfortunately i can't retrieve the relevant issue on Nix anymore. I am sure that this is a problem with Nix itself, rather than with anything in try-reflex, anyway i am writing this because you might have met this problem before, or have suggestions on how to modify $NIXOPTIONS, and this might be useful for other users having the same problem

Make the HACKING.md example nix expression something that actually works

The instructions in HACKING.md include this nix expression as an example of something that can be used with the work-on script .

{ reflex-platform, ... }: reflex-platform.ghcjs.override {
  overrides = self: super: {
    some-package = self.callPackage ./some-package {};
  };
}

But when I try using this directly, I get the following error

anonymous function at /path/to/example.nix:1:1 called without required argument ‘reflex-platform’

It would be helpful if this example actually worked.

filesize of hello world example

Reflex looks like an interesting technology. After the trying the hello world example (as described in the readme) i noticed it loads 3 libraries (also a 4th runmain.js 29 bytes). I minified all 3 (http://javascript-minifier.com/) and i noticed its still 1.3MB (1262135 byes) which is quite big! Is there any way to bring this down?

keypress example doesn't work in firefox

The keypress example just prints 0 for every keypress. Not quite sure if there is a way to fix this (in the 5 minutes I have right now I couldn't find out which js function it was calling). If there is it has to be in ghcjs-dom, but until this is fixed there should be a notice that this does not work in firefox.

installation didn't work for me

It thinks that it succeeded and gives me instructions, but I was not dropped in a nix shell.

Here is the end of the output:
try-reflex-end.txt

and the complete output:
try-reflex-output.txt.zip

it did create a /nix and put 4.8G in it so it definitely did something.

so I am not dropped in a nix shell, I am in my normal, shell, attempting to run commands suggested by the installer result in errors like:

Inconsistency detected by ld.so: dl-open.c: 680: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!

Not sure how proceed from there? (EDIT managed to install with https://github.com/luigy/try-stack-reflex)

Binary cache does not sign packages

I'm running on a recent NixOS (i.e. with nix version 1.9), and all the binary packages on ryantrinkle.com (for the master branch of try-reflex) are ignored by default. After setting nix.requireSignedBinaryPackages to false they are pulled in correctly.

GHCJS fails using `work-on`

Hello,

I'm trying to use Reflex with the work-on script, but I'm running into problems. I'm doing this:

  1. Cloning reflex-platform
  2. Running try-reflex works fine, drops me into a shell with both ghcjs and Reflex
  3. Running git/reflex-platform/work-on ghcjs workspace/webapp produces the following error:
teodorlu@nixlap ~ % git/reflex-platform/work-on ghcjs workspace/webapp
If you have any trouble with this script, please submit an issue at https://github.com/reflex-frp/reflex-platform/issues
building path(s) ‘/nix/store/0fq0mki0csjgzryki4ib4p4z3d5fxyaf-cabal2nixResult’
these derivations will be built:
  /nix/store/n8j5aj6pjh03wxakfvrbib89yvlvnzbk-ghcjs-0.2.0.drv
building path(s) ‘/nix/store/hwbai3fcf46cik68zq21i27kr61bm394-ghcjs-0.2.0’
created 104 symlinks in user environment
ghcjs-pkg-0.2.0-8.0.1: /nix/store/hwbai3fcf46cik68zq21i27kr61bm394-ghcjs-0.2.0/lib/ghcjs-0.2.0/package.conf.d/package.cache: you don't have permission to modify this file
builder for ‘/nix/store/n8j5aj6pjh03wxakfvrbib89yvlvnzbk-ghcjs-0.2.0.drv’ failed with exit code 1
error: build of ‘/nix/store/n8j5aj6pjh03wxakfvrbib89yvlvnzbk-ghcjs-0.2.0.drv’ failed
/run/current-system/sw/bin/nix-shell: failed to build all dependencies
It looks like a problem occurred.  Please submit an issue at https://github.com/reflex-frp/reflex-platform/issues - include git/reflex-platform/work-on.log to provide more information

I'm on NixOS 16.03. Content of ~/workspace/webapp is a basic Cabal setup.

Any ideas? Thanks!

Issue running try-reflex on NixOs

make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11

.1.drv-0/fontconfig-2.11.1/fc-glyphname'
Making all in src
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
GEN fcalias.h
27 74.7M 27 20.6M 0 0 10216 0 2:07:54 0:35:20 1:32:34 4915 GEN fcftalias.h
GEN stamp-fcstdint
config.status: executing src/fcstdint.h commands
config.status: creating src/fcstdint.h : _FONTCONFIG_SRC_FCSTDINT_H
config.status: src/fcstdint.h is unchanged
make all-am
make[3]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
CC fcatomic.lo
88 24.6M 88 21.8M 0 0 10655 0 0:40:25 0:35:48 0:04:37 16773 CC fcblanks.lo
CC fccache.lo
65 10.4M 65 7010k 0 0 8808 0 0:20:45 0:13:35 0:07:10 10396 CC fccfg.lo
fccfg.c: In function 'IA__FcConfigFilename':
29 87.7M 29 25.7M 0 0 12587 0 2:01:49 0:35:44 1:26:05 767fccfg.c:2074:37: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
static const FcChar8 *cfPath = "/etc/fonts/2.11/fonts.conf";
^
fccfg.c:2075:6: warning: pointer targets in passing argument 1 of 'access' differ in signedness [-Wpointer-sign]
if (access (cfPath, R_OK) == 0)
^
In file included from fcint.h:41:0,
from fccfg.c:27:
/nix/store/h5cnblzn9zy4nqqh7cb0bdfcvi60iw78-glibc-2.21/include/unistd.h:287:12: note: expected 'const char *' but argument is of type 'const FcChar8 *'
extern int access (const char *__name, int __type) __THROW __nonnull ((1));
^
100 16.2M 0 16.2M 0 0 9345 0 --:--:-- 0:30:25 --:--:-- 0 CC fccharset.lo
88 24.6M 88 21.8M 0 0 10651 0 0:40:26 0:35:48 0:04:38 18431 CC fccompat.lo
CC fcdbg.lo
59 32.1M 59 19.1M 0 0 10824 0 0:51:55 0:30:56 0:20:59 9566 CC fcdefault.lo
82 9801k 82 8127k 0 0 4999 0 0:33:27 0:27:44 0:05:43 268 CC fcdir.lo
29 87.7M 29 25.7M 0 0 12581 0 2:01:52 0:35:45 1:26:07 0 CC fcformat.lo
CC fcfreetype.lo
59 32.1M 59 19.1M 0 0 10825 0 0:51:55 0:30:56 0:20:59 9798 CC fcfs.lo
CC fchash.lo
65 10.4M 65 7014k 0 0 8791 0 0:20:47 0:13:37 0:07:10 1969 CC fcinit.lo
CC fclang.lo
29 87.7M 29 25.7M 0 0 12576 0 2:01:55 0:35:46 1:26:09 0 CC fclist.lo
100 16.2M 0 16.2M 0 0 9335 0 --:--:-- 0:30:27 --:--:-- 0 CC fcmatch.lo
59 32.1M 59 19.1M 0 0 10829 0 0:51:54 0:30:57 0:20:57 10782 CC fcmatrix.lo
CC fcname.lo
65 10.4M 65 7014k 0 0 8780 0 0:20:49 0:13:38 0:07:11 1969 CC fcobjs.lo
CC fcpat.lo
29 87.7M 29 25.7M 0 0 12570 0 2:01:59 0:35:47 1:26:12 0 CC fcserialize.lo
100 16.2M 0 16.2M 0 0 9330 0 --:--:-- 0:30:28 --:--:-- 0 CC fcstat.lo
27 74.7M 27 20.6M 0 0 10205 0 2:08:02 0:35:24 1:32:38 3242 CC fcstr.lo
CC fcxml.lo
82 9801k 82 8130k 0 0 4991 0 0:33:30 0:27:48 0:05:42 563 CC ftglue.lo
CCLD libfontconfig.la
29 87.7M 29 25.7M 0 0 12562 0 2:02:04 0:35:48 1:26:16 333 CC fcarch.o
27 74.7M 27 20.6M 0 0 10204 0 2:08:03 0:35:25 1:32:38 4836 CCLD fcarch
59 32.1M 59 19.2M 0 0 10830 0 0:51:54 0:30:59 0:20:55 12118make[3]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
Making all in fc-cache
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cache'
CC fc-cache.o
88 24.6M 88 21.8M 0 0 10649 0 0:40:27 0:35:53 0:04:34 8435 CCLD fc-cache
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cache'
Making all in fc-cat
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cat'
CC fc-cat.o
65 10.4M 65 7014k 0 0 8759 0 0:20:52 0:13:40 0:07:12 860 CCLD fc-cat
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cat'
Making all in fc-list
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-list'
CC fc-list.o
CCLD fc-list
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-list'
Making all in fc-match
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-match'
CC fc-match.o
CCLD fc-match
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-match'
Making all in fc-pattern
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-pattern'
CC fc-pattern.o
59 32.1M 59 19.2M 0 0 10843 0 0:51:50 0:31:00 0:20:50 18531 CCLD fc-pattern
82 9801k 82 8131k 0 0 4987 0 0:33:32 0:27:49 0:05:43 770make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-pattern'
Making all in fc-query
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-query'
CC fc-query.o
CCLD fc-query
88 24.6M 88 21.8M 0 0 10644 0 0:40:28 0:35:54 0:04:34 7949make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-query'
Making all in fc-scan
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-scan'
CC fc-scan.o
CCLD fc-scan
65 10.4M 65 7014k 0 0 8748 0 0:20:53 0:13:41 0:07:12 0make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-scan'
Making all in fc-validate
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-validate'
CC fc-validate.o
CCLD fc-validate
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-validate'
Making all in conf.d
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make all-am
make[3]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
Making all in test
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
CC test-pthread.o
CCLD test-pthread
CC test-migration.o
27 74.7M 27 20.6M 0 0 10203 0 2:08:04 0:35:27 1:32:37 4213 CCLD test-migration
82 9801k 82 8132k 0 0 4985 0 0:33:33 0:27:50 0:05:43 832make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
running tests
check flags: SHELL=/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash
Making check in fontconfig
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fontconfig'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fontconfig'
Making check in fc-case
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
make check-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
Making check in fc-lang
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
make check-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
Making check in fc-glyphname
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
make check-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
Making check in src
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
make check-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
Making check in fc-cache
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cache'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cache'
Making check in fc-cat
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cat'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cat'
Making check in fc-list
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-list'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-list'
Making check in fc-match
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-match'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-match'
Making check in fc-pattern
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-pattern'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-pattern'
Making check in fc-query
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-query'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-query'
Making check in fc-scan
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-scan'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-scan'
Making check in fc-validate
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-validate'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-validate'
Making check in conf.d
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make check-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
Making check in test
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make test-pthread test-migration run-test.sh
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[2]: 'test-pthread' is up to date.
make[2]: 'test-migration' is up to date.
make[2]: Nothing to be done for 'run-test.sh'.
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make check-TESTS
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[3]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
88 24.6M 88 21.8M 0 0 10630 0 0:40:31 0:35:57 0:04:34 2238PASS: run-test.sh
make[4]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[4]: Nothing to be done for 'all'.

make[4]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'

Testsuite summary for fontconfig 2.11.1

TOTAL: 1

PASS: 1

SKIP: 0

XFAIL: 0

FAIL: 0

XPASS: 0

ERROR: 0

make[3]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
installing
install flags: install SHELL=/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false
Making install in fontconfig
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fontconfig'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fontconfig'
make[2]: Nothing to be done for 'install-exec-am'.
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/include/fontconfig'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 fontconfig.h fcfreetype.h fcprivate.h '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/include/fontconfig'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fontconfig'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fontconfig'
Making install in fc-case
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
make install-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
make[3]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-case'
Making install in fc-lang
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
make install-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
make[3]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-lang'
Making install in fc-glyphname
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
make install-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
make[3]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-glyphname'
Making install in src
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
make install-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
make[3]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c libfontconfig.la '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/libfontconfig.so.1.8.0 /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib/libfontconfig.so.1.8.0
libtool: install: (cd /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib && { ln -s -f libfontconfig.so.1.8.0 libfontconfig.so.1 || { rm -f libfontconfig.so.1 && ln -s libfontconfig.so.1.8.0 libfontconfig.so.1; }; })
libtool: install: (cd /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib && { ln -s -f libfontconfig.so.1.8.0 libfontconfig.so || { rm -f libfontconfig.so && ln -s libfontconfig.so.1.8.0 libfontconfig.so; }; })
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/libfontconfig.lai /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib/libfontconfig.la

libtool: finish: PATH="/nix/store/wsm5q0yvm8dr7n0612pg1z9r83rw9x1d-pkg-config-0.28/bin:/nix/store/cpm5wkj8gywd1wj5caqa4vfzgcswvpxf-expat-2.1.0/bin:/nix/store/2y4hcz6nr2g0smcjyslaiybz6df7j6pn-gcc-wrapper-4.8.4/bin:/nix/store/h44y408nml2qh07bmx9xgb2ic5s4sxjh-patchelf-0.8/bin:/nix/store/zi5x44gzkmdyj623c1sqs1wwysqwjsbm-paxctl-0.9/bin:/nix/store/qhbp3h6axgznlpl4hb63kv1kwmcg4w0s-freetype-2.5.4/bin:/nix/store/5pijlxamj2qzqg3d383bhwhyylp4y0cw-bzip2-1.0.6/bin:/nix/store/pgr2s6wjrvv9gballn7bacwnwh3j3bdl-libpng-1.6.16/bin:/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin:/nix/store/g5qhk55aq1gxl17qh3b5639npb64hi21-findutils-4.4.2/bin:/nix/store/shdb15wl4svmjacvmrwvpijgysq3mr1b-diffutils-3.3/bin:/nix/store/52pid7jsdk3dxq7dkcnp852z7ilbl3bg-gnused-4.2.2/bin:/nix/store/wz3rh584p4l13vnhd14hp8w6lldfvcpv-gnugrep-2.21/bin:/nix/store/9swvrh4kzzm31fq13cjmmq4lqx59gfc8-gawk-4.1.0/bin:/nix/store/6pyjy29jny71q3bfwyzz4f7d5kw48y9m-gnutar-1.27.1/bin:/nix/store/jsay8fixbar24v9csnnqqr0g3jmvdqbx-gzip-1.6/bin:/nix/store/5pijlxamj2qzqg3d383bhwhyylp4y0cw-bzip2-1.0.6/bin:/nix/store/i4lky1gpvj3faxw93nc3bgmadhxh8ygv-gnumake-4.1/bin:/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin:/nix/store/g804cnc383pqz1zihky47irkl02idn6i-patch-2.7.3/bin:/nix/store/j9hfir7j1rdx0mb0i8xa27vy2x08f2zm-xz-5.2.0/bin:/nix/store/fvf49lbbmfn6l2qnckza8fyhdqgy7pxl-gcc-4.8.4/bin:/nix/store/x9dphjpb5439s2fb0z1pki90fc7iilsh-binutils-2.23.1/bin:/nix/store/h5cnblzn9zy4nqqh7cb0bdfcvi60iw78-glibc-2.21/bin:/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin:/sbin" ldconfig -n /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib

Libraries have been installed in:
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:

  • add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    during execution
  • add LIBDIR to the `LD_RUN_PATH' environment variable
    during linking
  • use the `-Wl,-rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for

more information, such as the ld(1) and ld.so(8) manual pages.

make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/src'
Making install in fc-cache
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cache'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cache'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c fc-cache '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/fc-cache /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-cache
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash /tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/install-sh -d "/tmp/nix-build-fontconfig-2.11.1.drv-0/dummy"
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cache'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cache'
Making install in fc-cat
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cat'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cat'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c fc-cat '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/fc-cat /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-cat
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cat'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-cat'
Making install in fc-list
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-list'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-list'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c fc-list '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/fc-list /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-list
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-list'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-list'
Making install in fc-match
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-match'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-match'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c fc-match '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/fc-match /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-match
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-match'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-match'
Making install in fc-pattern
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-pattern'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-pattern'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c fc-pattern '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/fc-pattern /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-pattern
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-pattern'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-pattern'
Making install in fc-query
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-query'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-query'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c fc-query '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/fc-query /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-query
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-query'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-query'
Making install in fc-scan
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-scan'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-scan'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c fc-scan '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/fc-scan /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-scan
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-scan'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-scan'
Making install in fc-validate
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-validate'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-validate'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash ../libtool --mode=install /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c fc-validate '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin'
libtool: install: /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c .libs/fc-validate /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-validate
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-validate'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/fc-validate'
Making install in conf.d
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make install-am
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[3]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[3]: Nothing to be done for 'install-exec-am'.
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/conf.d'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 README '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/conf.d'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 10-autohint.conf 10-no-sub-pixel.conf 10-scale-bitmap-fonts.conf 10-sub-pixel-bgr.conf 10-sub-pixel-rgb.conf 10-sub-pixel-vbgr.conf 10-sub-pixel-vrgb.conf 10-unhinted.conf 11-lcdfilter-default.conf 11-lcdfilter-legacy.conf 11-lcdfilter-light.conf 20-unhint-small-vera.conf 25-unhint-nonlatin.conf 30-urw-aliases.conf 30-metric-aliases.conf 40-nonlatin.conf 45-latin.conf 49-sansserif.conf 50-user.conf 51-local.conf 60-latin.conf 65-fonts-persian.conf 65-khmer.conf 65-nonlatin.conf 69-unifont.conf 70-no-bitmaps.conf 70-yes-bitmaps.conf 80-delicious.conf 90-synthetic.conf '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail'
make install-data-hook
make[4]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
mkdir -p /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/conf.d
cd /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/conf.d
rm -f 10-scale-bitmap-fonts.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf .
rm -f 20-unhint-small-vera.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/20-unhint-small-vera.conf .
rm -f 30-urw-aliases.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/30-urw-aliases.conf .
rm -f 30-metric-aliases.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/30-metric-aliases.conf .
rm -f 40-nonlatin.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/40-nonlatin.conf .
rm -f 45-latin.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/45-latin.conf .
rm -f 49-sansserif.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/49-sansserif.conf .
rm -f 50-user.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/50-user.conf .
rm -f 51-local.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/51-local.conf .
rm -f 60-latin.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/60-latin.conf .
rm -f 65-fonts-persian.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/65-fonts-persian.conf .
rm -f 65-nonlatin.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/65-nonlatin.conf .
rm -f 69-unifont.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/69-unifont.conf .
rm -f 80-delicious.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/80-delicious.conf .
rm -f 90-synthetic.conf; ln -s /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/fontconfig/conf.avail/90-synthetic.conf .
make[4]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[3]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/conf.d'
Making install in test
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/test'
make[1]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
make[2]: Entering directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
make[2]: Nothing to be done for 'install-exec-am'.
sed
-e 's,@FC_CACHEDIR@,/var/cache/fontconfig,g'
-e 's,@FC_DEFAULT_FONTS@,/nix/store/hqdnzach36281mfjy7szasyhwl9q46bb-font-bh-ttf-1.0.3,g'
-e 's,@FC_FONTPATH@,,g'
-e 's,@CONFIGDIR@,conf.d,g'
-e 's,@Package@,fontconfig,g'
-e 's,@Version@,2.11.1,g'
./fonts.conf.in > fonts.conf.tmp &&
mv fonts.conf.tmp fonts.conf
/nix/store/0fmbypn0w29r3lykg5w1glbphz1pdbkz-bash-4.3-p33/bin/bash /tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1/install-sh -d /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts /tmp/nix-build-fontconfig-2.11.1.drv-0/dummy
if [ -f /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf ]; then
echo "backing up existing /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf";
mv /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf.bak;
fi
if [ -f ./fonts.conf ]; then
echo " /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 ./fonts.conf /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf";
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 ./fonts.conf /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf;
else if [ -f fonts.conf ]; then
echo " /nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 fonts.conf /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf";
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 fonts.conf /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf;
fi; fi
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 ./fonts.conf /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/etc/fonts/fonts.conf


*** Warning: fonts.cache not built


*** Generate this file manually on host system using fc-cache


/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib/pkgconfig'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 fontconfig.pc '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib/pkgconfig'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/mkdir -p '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/xml/fontconfig'
/nix/store/nnby7clz3garcxm3jiw4s2sk2hpmzgjk-coreutils-8.23/bin/install -c -m 644 fonts.dtd '/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/share/xml/fontconfig'
make[2]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
make[1]: Leaving directory '/tmp/nix-build-fontconfig-2.11.1.drv-0/fontconfig-2.11.1'
post-installation fixup
patching ELF executables and libraries in /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1
100 16.2M 0 16.2M 0 0 9299 0 --:--:-- 0:30:34 --:--:-- 0/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-validate
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-cache
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-scan
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-cat
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-list
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-query
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-pattern
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin/fc-match
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib/libfontconfig.so.1.8.0
/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib/libfontconfig.la
not an ELF executable
gzipping man pages in /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1
stripping (with flags -S) in /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/bin
strip:/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib/pkgconfig/fontconfig.pc: File format not recognized
strip:/nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1/lib/libfontconfig.la: File format not recognized
patching script interpreter paths in /nix/store/ci1kvnp4dj8sx07cfzvpmkqqx5w0kf08-fontconfig-2.11.1
building path(s) ‘/nix/store/wx505q6s0biq93h05v9yy0qvmd7pz1ix-yaml-0.1.6.tar.gz’
66 10.4M 66 7117k 0 0 8813 0 0:20:44 0:13:46 0:06:58 21642
trying http://tarballs.nixos.org/sha256/0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
29 74.7M 29 22.0M 0 0 10238 0 2:07:37 0:37:42 1:29:55 6030curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 104
error: cannot download openexr-v2.2.0-src from any mirror
builder for ‘/nix/store/ql722k3sbr4267p0g3wr4s62bz1djg3k-openexr-v2.2.0-src.drv’ failed with exit code 1
building path(s) ‘/nix/store/hwi9jqfgmllnbxg8mj1cy1apvhj30r0c-gd-2.0.35’
cannot build derivation ‘/nix/store/i6hcw0757i1fagk1vxgs76iavzhprszs-openexr-2.2.0.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/6wgjz8sw5xhibrssp2wwfvkwc5nnqj2i-libdevil-1.7.8.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/kyp7mn6lxhmgkjcx5hjr56a9lkysam4s-graphviz-2.38.0.drv’: 1 dependencies couldn't be built
building path(s) ‘/nix/store/bak61can4957jbp2f0mn314xbaas0q7l-libXft-2.3.2’
cannot build derivation ‘/nix/store/gnjlv6nx9sb65xbrviw5gyc39w0p1qqc-wayland-1.7.0.drv’: 1 dependencies couldn't be built
killing process 6273
cannot build derivation ‘/nix/store/q2nx12m6aq08l25pyx79dpfxy6ypd30v-gtk+3-3.12.2.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/0ybpkxgzl58kmg34v9i2d8r95503i9pf-mesa-noglu-10.4.5.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/ywgwrs2mn6qnv5gryjgsd7alcjraqq6k-webkitgtk-2.4.6.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/cjax0yvy93rpzp67pdx1382vsqsk75z0-cairo-1.14.0.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/8a3kpggryr9lg798564srpz1vhd4za8w-haskell-gtk3-0.13.6.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/vpgzyk0hgpgpxvs55z95s386blpwlxaj-haskell-webkitgtk3-0.13.1.2.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/gd42wy31rc566xj44sk69cq1gp6h139y-haskell-webkitgtk3-javascriptcore-0.13.0.4.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/m6lf2dhjlbbjf5j4pssq8qkf3kz1p214-ghc-7.10.2.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/m6lf2dhjlbbjf5j4pssq8qkf3kz1p214-ghc-7.10.2.drv’ failed
/run/current-system/sw/bin/nix-shell: failed to build all dependencies

Feature Request: support for ghcjs --interactive

Disclaimer: I am brand new to nix, reflex, ghcjs, ghc, cabal, haskell, and (for all intents and purposes) statically-typed functional programming.

It seems that recent versions of ghcjs support the --interactive flag (commercialhaskell/stack#337), unfortunately I'm having trouble installing ghcjs by itself...

try-reflex worked perfectly for me on the first try (so big thanks for that), but unfortunately the version of ghcjs it is using doesn't seem to support the interactive mode. Is there some way for me to update my dependencies directly (something https://github.com/ryantrinkle/nixpkgs/blob/master/pkgs/development/compilers/ghcjs/default.nix#L18-L36 perhaps)? Can the version be bumped easily?

Ensure that all users are prompted before installing Nix

Although most users will encounter a sudo prompt and have a chance to cancel before a Nix installation begins, users who have recently sudoed or who have NOPROMPT set in the sudoers file will have the installation proceed without warning.

Instead, a prompt should be given asking for permission prior to beginning the Nix installation.

reflex-todomvc doesn't generate jsexe with ghcjs

steps to reproduce:

clone try-reflex

./hack-on reflex-todomvc
./work-on ghcjs reflex-todomvc
ghcjs --make src/Reflex/TodoMVC.hs 
[1 of 1] Compiling Reflex.TodoMVC   ( src/Reflex/TodoMVC.hs, src/Reflex/TodoMVC.js_o )
Linking Template Haskell (ThRunner1)

jsexe doesn't seem to be in the directory
in try-reflex/reflex-todomvc

ls src/Reflex/
TodoMVC.hs         TodoMVC.js_dyn_hi  TodoMVC.js_dyn_o   TodoMVC.js_hi      TodoMVC.js_o

find  . -name "*jsexe"

find returns nothing.

./work-on ghc and running cabal build produces an executable. Don't know what is going on here. Any help would be appreciated.

I'm running nix on top of ubuntu 14.04, that might be why it doesn't work. It worked with 0.2 though.

Failed to download Craft3e packages

Hi ryan,

I tried to put Craft3e (library from the book of Haskell: the craft of functional programming) in my packages.nix.

I already put it on General and GHC only area, but got the same result:

unpacking source archive /nix/store/xjp08mkfrx6l9c4545xai91q485byq0h-Craft3e-0.1.0.10.tar.gz
source root is Craft3e-0.1.0.10
setting SOURCE_DATE_EPOCH to timestamp 1366041199 of file Craft3e-0.1.0.10/white.jpg
patching sources
Run jailbreak-cabal to lift version restrictions on build inputs.
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-Craft3e-0.1.0.10.drv-0/package.conf.d -j1 -threaded
[1 of 1] Compiling Setup            ( Setup.hs, /tmp/nix-build-Craft3e-0.1.0.10.drv-0/Setup.o )
Warning: output was redirected with -o, but no output will be generated
because there is no Main module.
configuring
configureFlags: --verbose --prefix=/nix/store/m3v1jvixhcgcc2g5mjr5hvr6435z06vi-Craft3e-0.1.0.10 --libdir=$prefix/lib/$compiler --libsubdir=$pkgid --with-gcc=gcc --package-db=/tmp/nix-build-Craft3e-0.1.0.10.drv-0/package.conf.d --ghc-option=-optl=-Wl,-rpath=/nix/store/m3v1jvixhcgcc2g5mjr5hvr6435z06vi-Craft3e-0.1.0.10/lib/ghc-7.10.3/Craft3e-0.1.0.10 --enable-split-objs --disable-library-profiling --disable-executable-profiling --enable-shared --enable-library-vanilla --enable-executable-dynamic --enable-tests
/nix/store/zn676by0m8f7z4js1cq4appx2j87gyqc-stdenv/setup: line 853: ./Setup: No such file or directory
builder for ‘/nix/store/2af5a7za1zv2jdrbllllj1zbv9pziq47-Craft3e-0.1.0.10.drv’ failed with exit code 1
killing process 20827
killing process 20822
killing process 20817
killing process 20812
killing process 20802
killing process 20652
killing process 20732
building path(s) ‘/nix/store/sazg3cv5wvkw0bh6qglqhnh99vz0vdqa-HUnit-1.3.1.1’
cannot build derivation ‘/nix/store/pkjrwwy5hldihliw8pn1pdvsvcy7klf4-ghc-7.10.3.drv’: 1 dependencies couldn't be built
building path(s) ‘/nix/store/fzk9jmmf2jdb8xrhxn03x72w2k0fzm0c-random-1.1’
cannot build derivation ‘/nix/store/8dx3q977nh3vmvqk2pqyf87hcgkjswwi-shell.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/8dx3q977nh3vmvqk2pqyf87hcgkjswwi-shell.drv’ failed
It looks like a problem occurred.  Please submit an issue at https://github.com/reflex-frp/reflex-platform/issues - include ./try-reflex.log to provide more information

Thanks,
Rizy

Error when trying to install on OS X 10.11 El Capitan

I got an error when running the try-reflex script on OS X 10.11:

dyld: Library not loaded: /usr/lib/system/libsystem_stats.dylib
Referenced from: /nix/store/04h34n8711qb4njn4fdj3l5spxm39gzq-bootstrap-tools/lib/libSystem.dylib
Reason: image not found
builder for ‘/nix/store/1khb6hz2ri2vzdpx1bihhi4k4qq2iiad-clang-wrapper-9.9.9.drv’ failed due to signal 5 (Trace/BPT trap: 5)
cannot build derivation ‘/nix/store/x3j5qs98s03mgl6ljil7974vdb0ln427-stdenv-darwin-boot-1.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/nizw4rvkn0wb2gvsacz5a7xxrsxh9vin-CF-855.17.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/zzg3xjax3a6g3yhiw5yfjqc6y02hw361-clang-wrapper-9.9.9.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/1bc40iwmx2631w1iz2iayf5frn9kisvc-dyld-239.4.drv’: 1 dependencies couldn't be built
killing process 88156
killing process 88156: Operation not permitted
cannot build derivation ‘/nix/store/d0ndq03w79msf0gkdkxq0ghfw8azhwd5-icu4c-53.1.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/df2a7c4g7qvwyz7pv0r0i80fqqjkcpgm-launchd-842.92.1.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/cq893m7a924n99p0g00qxiqpjyj33c1k-libc++-3.5.0.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/i2lzbxnaz1sj2ikbsszip9jms2hr2x3f-libc++abi-3.5.0.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/q51i9yrzbw6g2vafxph0jb6x7z291n4c-libclosure-63.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/r55aynp7akwpr8yrzcvz9dp2jmx19b41-libdispatch-339.92.1.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/djzb87pwsbxfidk8fsliylxs4lj37aih-openssl-1.0.1m.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/3dcbxsmn8mm9kzn89cdfzdfxcpnv0l6b-zlib-1.2.8.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/0zj191vw0j9v3wka8yhywvlacz31gzpc-stdenv-darwin.drv’: 1 dependencies couldn't be built
killing process 87956
cannot build derivation ‘/nix/store/sibmyad8jbiw7p8qsqb20c392zidfp92-haskell-reflex-todomvc-0.1.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/sibmyad8jbiw7p8qsqb20c392zidfp92-haskell-reflex-todomvc-0.1.drv’ failed
... (lots of lines)
error: build of ‘/nix/store/0zj191vw0j9v3wka8yhywvlacz31gzpc-stdenv-darwin.drv’ failed
/Users/****/.nix-profile/bin/nix-shell: failed to build all dependencies
It looks like a problem occurred. Please submit an issue at https://github.com/ryantrinkle/try-reflex/issues

I looked for the file /usr/lib/system/libsystem_stats.dylib and indeed, it does not exist in that location. I couldn't find it anywhere else on the file system either.

fails building

If you have any trouble with this script, please submit an issue at https://github.com/ryantrinkle/try-reflex/issues
Entering the reflex sandbox...
these derivations will be built:
  /nix/store/n1pqk160vp1fpxpafx96yad8nrjfyvyp-reflex-dom-0.2.drv
  /nix/store/wp3d1g3259p9vzk3dmhgbg0flpz58n57-reflex-todomvc-0.1.drv
  /nix/store/varl8360siaz8098gz1cpgqk1bric0v1-ghc-7.10.2.drv
building path(s) ‘/nix/store/8pb91dwqb5ic8hgw9rvkxim4w65cd9lp-reflex-dom-0.2’
setupCompilerEnvironmentPhase
Build with /nix/store/7hnlpxpmpka84zrhyq7z11bs0q3vgak1-ghc-7.10.2.
unpacking sources
unpacking source archive /nix/store/6qg9531h3z6kpwhyhafmwrlm9w4681ml-h94xchkw7vrgrrkzli8bzqby6pmh1dkh-reflex-dom-4ce94d0
source root is h94xchkw7vrgrrkzli8bzqby6pmh1dkh-reflex-dom-4ce94d0
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-reflex-dom-0.2.drv-0/package.conf.d -j4 -threaded
[1 of 1] Compiling Main             ( Setup.hs, /tmp/nix-build-reflex-dom-0.2.drv-0/Main.o )
Linking Setup ...
configuring
configureFlags: --verbose --prefix=/nix/store/8pb91dwqb5ic8hgw9rvkxim4w65cd9lp-reflex-dom-0.2 --libdir=$prefix/lib/$compiler --libsubdir=$pkgid --with-gcc=gcc --package-db=/tmp/nix-build-reflex-dom-0.2.drv-0/package.conf.d --ghc-option=-optl=-Wl,-rpath=/nix/store/8pb91dwqb5ic8hgw9rvkxim4w65cd9lp-reflex-dom-0.2/lib/ghc-7.10.2/reflex-dom-0.2 --enable-split-objs --disable-library-profiling --disable-executable-profiling --enable-shared --enable-library-vanilla --enable-executable-dynamic --enable-tests --extra-include-dirs=/nix/store/zy7xi64lsmnx0i0d0h8qgqigs4m85crc-glib-2.44.1/include --extra-lib-dirs=/nix/store/zy7xi64lsmnx0i0d0h8qgqigs4m85crc-glib-2.44.1/lib --extra-include-dirs=/nix/store/rgfqh21a4sv0vq75pckd355chfqxbyrg-pcre-8.37/include --extra-lib-dirs=/nix/store/rgfqh21a4sv0vq75pckd355chfqxbyrg-pcre-8.37/lib --extra-include-dirs=/nix/store/31w31mc8immhpnmxvcl4l0fvc3i5iwh0-zlib-1.2.8/include --extra-lib-dirs=/nix/store/31w31mc8immhpnmxvcl4l0fvc3i5iwh0-zlib-1.2.8/lib --extra-include-dirs=/nix/store/a18aaad3l82nqypk4hgky95y69m2d4dy-libffi-3.2.1/include --extra-lib-dirs=/nix/store/a18aaad3l82nqypk4hgky95y69m2d4dy-libffi-3.2.1/lib --extra-include-dirs=/nix/store/hd6km3hscbgl2yw8nx7lr5z9s8h89p04-glibc-2.21/include --extra-lib-dirs=/nix/store/hd6km3hscbgl2yw8nx7lr5z9s8h89p04-glibc-2.21/lib
Configuring reflex-dom-0.2...
Dependency aeson >=0.8 && <0.10: using aeson-0.9.0.1
Dependency base >=4.7 && <4.9: using base-4.8.1.0
Dependency bifunctors >=4.2 && <5.1: using bifunctors-5
Dependency bytestring ==0.10.*: using bytestring-0.10.6.0
Dependency containers ==0.5.*: using containers-0.5.6.2
Dependency data-default ==0.5.*: using data-default-0.5.3
Dependency dependent-map ==0.1.*: using dependent-map-0.1.1.3
Dependency dependent-sum ==0.2.*: using dependent-sum-0.2.1.0
Dependency dependent-sum-template >=0.0.0.4 && <0.1: using
dependent-sum-template-0.0.0.4
Dependency directory ==1.2.*: using directory-1.2.2.0
Dependency exception-transformers ==0.4.*: using
exception-transformers-0.4.0.2
Dependency ghcjs-dom >=0.1.1.3 && <0.2: using ghcjs-dom-0.1.1.3
Dependency glib ==0.13.*: using glib-0.13.2.1
Dependency gtk3 ==0.13.*: using gtk3-0.13.9
Dependency lens >=4.7 && <4.14: using lens-4.12.3
Dependency mtl >=2.1 && <2.3: using mtl-2.2.1
Dependency ref-tf ==0.4.*: using ref-tf-0.4
Dependency reflex ==0.3.*: using reflex-0.3.2
Dependency safe ==0.3.*: using safe-0.3.9
Dependency semigroups ==0.16.*: using semigroups-0.16.2.2
Dependency text ==1.2.*: using text-1.2.1.3
Dependency these >=0.4 && <0.7: using these-0.6.1.0
Dependency time >=1.4 && <1.6: using time-1.5.0.1
Dependency transformers >=0.3 && <0.5: using transformers-0.4.2.0
Dependency webkitgtk3 ==0.13.*: using webkitgtk3-0.13.1.3
Dependency webkitgtk3-javascriptcore ==0.13.*: using
webkitgtk3-javascriptcore-0.13.1.0
Setup: The following installed packages are broken because other packages they
depend on are missing. These broken packages must be rebuilt before they can
be used.
package adjunctions-4.2.2 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package aeson-0.9.0.1 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5,
time-1.5.0.1-962ac4f6f4ca6114bbde156fc38752bb
package attoparsec-0.13.0.0 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
package cairo-0.13.1.0 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5,
utf8-string-1.0.1.1-34502b713602e8a4940574a71c55ec33
package comonad-4.2.7.2 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package data-default-0.5.3 is broken due to missing package
data-default-instances-containers-0.0.1-27d635f4f3e2890b0c17e2354c500c9b
package dependent-map-0.1.1.3 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package ghcjs-dom-0.1.1.3 is broken due to missing package
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
package gio-0.13.1.0 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package glib-0.13.2.1 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5,
utf8-string-1.0.1.1-34502b713602e8a4940574a71c55ec33
package gtk3-0.13.9 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
package hashable-1.2.3.2 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
package kan-extensions-4.2.3 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package lens-4.12.3 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
package pango-0.13.1.0 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea,
directory-1.2.2.0-4c0f5888775a31abf64528422f75531d,
process-1.2.3.0-d24d91bfed41f761f740d8f2deb82317,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
package reflex-0.3.2 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package scientific-0.3.3.3 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
package semigroupoids-5.0.0.4 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package semigroups-0.16.2.2 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
package th-expand-syns-0.3.0.6 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package th-reify-many-0.1.3 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package these-0.6.1.0 is broken due to missing package
containers-0.5.6.2-7a88df79ef535718d24bcf01924e95ea
package webkitgtk3-0.13.1.3 is broken due to missing package
bytestring-0.10.6.0-18c05887c1aaac7adb3350f6a4c6c8ed,
text-1.2.1.3-cebfc698aa176cf71e533b3c4b5444b5
builder for ‘/nix/store/n1pqk160vp1fpxpafx96yad8nrjfyvyp-reflex-dom-0.2.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/varl8360siaz8098gz1cpgqk1bric0v1-ghc-7.10.2.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/varl8360siaz8098gz1cpgqk1bric0v1-ghc-7.10.2.drv’ failed
/home/jchee/.nix-profile/bin/nix-shell: failed to build all dependencies
It looks like a problem occurred.  Please submit an issue at https://github.com/ryantrinkle/try-reflex/issues

work-on fails for basic cabal package

Hi, I'm trying to get a basic cabal package together as a starting point for reflex. I get this, but don't know what JSON string it's looking for.

[07/12 16:48::lally@lstp2 triage-tree]$ ~/src/reflex-platform/work-on ghcjs ~/src/triage-tree --show-trace
If you have any trouble with this script, please submit an issue at https://github.com/reflex-frp/reflex-platform/issues
error: while evaluating ‘workOn’ at /home/lally/src/reflex-platform/default.nix:459:12, called from (string):1:60:
while evaluating ‘overrideCabal’ at /home/lally/src/reflex-platform/default.nix:16:26, called from /home/lally/src/reflex-platform/default.nix:459:22:
while evaluating ‘callPackage’ at /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:47:26, called from (string):1:73:
while evaluating ‘callPackageWithScope’ at /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:41:42, called from /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:47:32:
while evaluating ‘callPackageWith’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/customisation.nix:93:35, called from /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:41:49:
while evaluating ‘makeOverridable’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/customisation.nix:54:24, called from /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/customisation.nix:97:8:
while evaluating anonymous function at /home/lally/src/triage-tree/default.nix:1:1, called from /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/customisation.nix:56:12:
while evaluating anonymous function at /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/generic-builder.nix:5:1, called from /home/lally/src/triage-tree/default.nix:4:1:
while evaluating ‘optionals’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/lists.nix:196:21, called from /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/generic-builder.nix:120:25:
while evaluating ‘versionOlder’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/strings.nix:338:22, called from /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/generic-builder.nix:15:13:
while evaluating the attribute ‘ghc’ at /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:68:9:
while evaluating ‘overrideCabal’ at /home/lally/src/reflex-platform/default.nix:16:26, called from /home/lally/src/reflex-platform/default.nix:384:19:
while evaluating ‘callPackage’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:47:26, called from /home/lally/src/reflex-platform/default.nix:384:34:
while evaluating ‘callPackageWithScope’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:41:42, called from /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:47:32:
while evaluating ‘callPackageWith’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/customisation.nix:93:35, called from /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/default.nix:41:49:
while evaluating ‘makeOverridable’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/customisation.nix:54:24, called from /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/customisation.nix:97:8:
while evaluating anonymous function at /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/compilers/ghcjs/default.nix:1:1, called from /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/customisation.nix:56:12:
while evaluating anonymous function at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/generic-builder.nix:5:1, called from /nix/store/jx3010a6vijaq875sl8r8ar50584rd3w-2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/compilers/ghcjs/default.nix:57:4:
while evaluating ‘optionalAttrs’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/lib/attrsets.nix:316:25, called from /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/development/haskell-modules/generic-builder.nix:317:4:
while evaluating the derivation attribute ‘name’ at /nix/store/2m2xcca3a0wdylfnjb5f1a2ph73zp3dk-nixpkgs-channels-5bb0aa3/pkgs/build-support/trivial-builders.nix:10:14:
expected JSON string
It looks like a problem occurred. Please submit an issue at https://github.com/reflex-frp/reflex-platform/issues - include /home/lally/src/reflex-platform/work-on.log to provide more information

The work-on.log:

[nix-shell:~/src/reflex-platform]$ cat work-on.log
Command: /home/lally/src/reflex-platform/work-on ghcjs /home/lally/src/triage-tree --show-trace
If you have any trouble with this script, please submit an issue at https://github.com/reflex-frp/reflex-platform/issues

[nix-shell:~/src/reflex-platform]$

work-on script fails if path ends with slash

bash autocompletes directories by adding a slash. This makes this failure particularly common, and the error message is unhelpful. It can be fixed by quoting the path or removing the slash.

 $ ~/code/active/ghcjs/try-reflex/work-on ghcjs ../reflex/
/home/bergey/code/active/ghcjs/try-reflex
If you have any trouble with this script, please submit an issue at https://github.com/ryantrinkle/try-reflex/issues
past common-setup.sh
(this.ghcjs.callPackage ../reflex/ {})
--option extra-binary-caches https://ryantrinkle.com:5443/ -j 8
error: value is a set while an integer was expected, at (string):1:83
It looks like a problem occurred.  Please submit an issue at https://github.com/ryantrinkle/try-reflex/issues

Pin nixpkgs to an unmodified upstream LTS revision

From looking at https://nixos.org/wiki/Nix_on_OS_X#The_Pure_Darwin_stdenv, it seems that copumpkin's original pure-darwin branch is dead, but bit-by-bit, the work done in it will get merged into master.

In any event, pure-darwin is now quite out of date, and the versions used in this repo even older. Moving to something newer (and easier to keep up to date) will greatly help those using reflex in conjunction with other libraries.

EDIT: picking up todo list from the stack issue.

So within a few days, I think we can ditch custom nixpkgs and overrides, and just use LTS. Here are some things that should happen first:

  • LTS for ghcjs. I made an issue: NixOS/nixpkgs#10215
  • pure-darwin-stdenv becomes default: NixOS/nixpkgs#10187. Once it is the default, there will be a cache builds for most are dependencies, and thus way less stress on Ryan's build sever. Not strictly necessary we can already use the pure stdenv today.
  • Call cabal2nix as part of the try-reflex infrastructure, so we don't need a default.nix per project that could drift apart from the cabal file. Done in https://github.com/Ericson2314/try-reflex/tree/ghcjs-improved-base

Support for UTF-8

Hi,

reflex & try-reflex is really great. Thanks!

But locale support for UTF-8 is not included in try-reflex. This is the first time I have been in contact with Nix and I have not been able to understand how to modify the environment to support UTF-8.

I could not build reflex-todomvc because of this.

What should I do to use UTF-8?

BR
Pär-Anders

No `source.hs` file

I'm not sure if there's another file I should be compiling, to actually view the app, but in the README it suggests to run ghcjs over source.hs (when nix is finished). However, there is no such file.

Several dependencies fail to build

Here is the output of try-reflex:

francesc@srvfa:/Haskell/try-reflex$ ./try-reflex
If you have any trouble with this script, please submit an issue at https://github.com/ryantrinkle/try-reflex/issues
Entering the reflex sandbox...
these derivations will be built:
/nix/store/1hjg475fzv0xy8ajp8vxnmss0kbbhnx6-th-expand-syns-0.3.0.6.drv
/nix/store/9kc0py6v6xb054scvr9kpdvb9aqg490g-tagged-0.8.2.drv
/nix/store/mx66qci9vv76i1xg04wlc4r8hqlr0jm2-semigroups-0.18.0.1.drv
/nix/store/s6hv6i20p4xbsmf4iimic5xvi4ranybx-void-0.7.1.drv
/nix/store/sxg1wx7xqdvvamizf6naqbf40nkpa21q-transformers-compat-0.4.0.4.drv
/nix/store/20bqjljzsqjggdp21qx37r1a9z9848hv-contravariant-1.3.3.drv
/nix/store/c6ymwh98wxcf835x9mibqy8izjgdmalv-th-extras-0.0.0.2.drv
/nix/store/2ajliadck669fj3nfigjc4blhgv8s5cc-dependent-sum-template-0.0.0.4.drv
/nix/store/41zzns4q6mplgsx8s4h0iip95xfnw8n2-bifunctors-5.1.drv
/nix/store/446w8s059mxsr2skq9a8assfl4rd62j2-exceptions-0.8.1.drv
/nix/store/479jg64w5f67lvmiga4mlhr2655d3iv8-haskell-src-exts-1.16.0.1.drv
/nix/store/6azfx08m4z515mik0hgs2nsd7sr8zpf5-distributive-0.4.4.drv
/nix/store/xriqsxv82fff0kfsbqm6d3c5fh6q8ck7-comonad-4.2.7.2.drv
/nix/store/aa5b8pfphhg11a52mngmk4f81gz0a1bh-semigroupoids-5.0.0.4.drv
/nix/store/cn95f8d8fwl1zy4lhvzma2rnng0h0vqh-profunctors-5.1.2.drv
/nix/store/886j87lxikrfkwkcabsc0xqmki21a8kx-these-0.6.2.0.drv
/nix/store/cvffvyhjxxc0sppdgvpv8b5c3b3sd7k1-free-4.12.2.drv
/nix/store/xzw65blpa2xmlh03ivbj28f6x9jqp5hh-adjunctions-4.2.2.drv
/nix/store/b5d7gpnkqr66nwfy2x67rgyq835lihm7-kan-extensions-4.2.3.drv
/nix/store/j3m0i7301k4asfgfzdywhvl5scl4x7vz-th-lift-0.7.5.drv
/nix/store/xjqx9pbh15jwbqpjk331ddfw7y0y6bsf-th-reify-many-0.1.3.drv
/nix/store/s8rgxc1v0qdbmc2nybrb01d5iljp9qn9-th-orphans-0.13.0.drv
/nix/store/f1m0my3hz1whi0l04hrfsvn3y97858wr-haskell-src-meta-0.6.0.13.drv
/nix/store/gwxb7lqmj0i8kf5xbyj3iawnj4py4zc5-lens-4.13.drv
/nix/store/kcvswx8qr9w339hpwrkj9vbnilpv8g8h-ghcjs-dom-0.2.3.1.drv
/nix/store/plya6n29jaxz3vbz9fxp82cifw4rfrwy-exception-transformers-0.4.0.2.drv
/nix/store/pnjmix9l8zcclpqvng1ihpv1nr7msn47-reflex-0.4.0.drv
/nix/store/phr3j3q9svb8s9wzk3p4yarqa213zb9w-reflex-dom-0.3.drv
/nix/store/zzxi9nm1f1h4hs933n83lnq5fc01i4qw-reflex-todomvc-0.1.drv
building path(s) ‘/nix/store/x5dbr6dl27ic5h2w2zhhhkmzw32pgybq-ghcjs-dom-0.2.3.1’
building path(s) ‘/nix/store/sk7h31swi3k5pmv4cbcgi3hs4w4m30xx-haskell-src-exts-1.16.0.1’
building path(s) ‘/nix/store/praldxg9qxvcp9g05w2y395rc45g9kfh-tagged-0.8.2’
building path(s) ‘/nix/store/ndpcf8wxnh154j43qzcjnlww397xf94l-th-extras-0.0.0.2’
building path(s) ‘/nix/store/zcz1w1wd8qrpk582d6npvf7lniwk1w42-transformers-compat-0.4.0.4’
building path(s) ‘/nix/store/cnvz4kpnnbz3baaji6pxqmhfjqcmc1kl-th-lift-0.7.5’
building path(s) ‘/nix/store/nadbilyamxb47lkmnr2cylsd31c7np6y-th-expand-syns-0.3.0.6’
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
setupCompilerEnvironmentPhase
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking source archive /nix/store/9khlk5qk2fc9gjidyvhm95xws2sp8ai1-haskell-src-exts-1.16.0.1.tar.gz
unpacking source archive /nix/store/8vkbhfac1dbvz4l78b0bfxsfx3cpwxww-ghcjs-dom-0.2.3.1.tar.gz
unpacking source archive /nix/store/ic0fa6ab8b4qrcjndaz3qiybk41is8ad-th-lift-0.7.5.tar.gz
unpacking source archive /nix/store/hxwh9akki7spiccyya7m5fsxv5bz416d-transformers-compat-0.4.0.4.tar.gz
unpacking source archive /nix/store/143kkm2cqgcy7lrn17v529vy8y3gwpzi-th-expand-syns-0.3.0.6.tar.gz
unpacking source archive /nix/store/8z7achcb537h9dnv2fg20nyzrxzskdxj-tagged-0.8.2.tar.gz
unpacking source archive /nix/store/s68cz99yxg0xg6f9h8wxp1xbsw9aczwc-th-extras-0.0.0.2.tar.gz
source root is th-expand-syns-0.3.0.6
source root is tagged-0.8.2
source root is th-extras-0.0.0.2
source root is th-lift-0.7.5
source root is transformers-compat-0.4.0.4
patching sources
patching sources
patching sources
patching sources
patching sources
compileBuildDriverPhase
compileBuildDriverPhase
compileBuildDriverPhase
compileBuildDriverPhase
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-transformers-compat-0.4.0.4.drv-0/package.conf.d -j16
setupCompileFlags: -package-db=/tmp/nix-build-th-lift-0.7.5.drv-0/package.conf.d -j16
setupCompileFlags: -package-db=/tmp/nix-build-th-expand-syns-0.3.0.6.drv-0/package.conf.d -j16
setupCompileFlags: -package-db=/tmp/nix-build-th-extras-0.0.0.2.drv-0/package.conf.d -j16
setupCompileFlags: -package-db=/tmp/nix-build-tagged-0.8.2.drv-0/package.conf.d -j16
source root is ghcjs-dom-0.2.3.1
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-ghcjs-dom-0.2.3.1.drv-0/package.conf.d -j16
source root is haskell-src-exts-1.16.0.1
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-haskell-src-exts-1.16.0.1.drv-0/package.conf.d -j16
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-th-extras-0.0.0.2.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-tagged-0.8.2.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-th-lift-0.7.5.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-haskell-src-exts-1.16.0.1.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-th-expand-syns-0.3.0.6.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-ghcjs-dom-0.2.3.1.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-transformers-compat-0.4.0.4.drv-0/Main.js_o )
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
/nix/store/d9v0p46kj9hlb0m03z6s5ff70f5lhciv-stdenv/setup: line 841: 28409 Killed ghcjs $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
builder for ‘/nix/store/j3m0i7301k4asfgfzdywhvl5scl4x7vz-th-lift-0.7.5.drv’ failed with exit code 137
killing process 27993
cannot build derivation ‘/nix/store/s8rgxc1v0qdbmc2nybrb01d5iljp9qn9-th-orphans-0.13.0.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/f1m0my3hz1whi0l04hrfsvn3y97858wr-haskell-src-meta-0.6.0.13.drv’: 1 dependencies couldn't be built
killing process 27988
cannot build derivation ‘/nix/store/pnjmix9l8zcclpqvng1ihpv1nr7msn47-reflex-0.4.0.drv’: 1 dependencies couldn't be built
killing process 27987
killing process 27991
killing process 27990
killing process 27989
cannot build derivation ‘/nix/store/zzxi9nm1f1h4hs933n83lnq5fc01i4qw-reflex-todomvc-0.1.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/zzxi9nm1f1h4hs933n83lnq5fc01i4qw-reflex-todomvc-0.1.drv’ failed
download-from-binary-cache.pl: still waiting for ‘https://cache.nixos.org/5rabxksrblyadnvwx7bfliwcbh2mhayh.narinfo’ after 5 seconds...
these derivations will be built:
/nix/store/qw5z6lxf3cj8n73y8j9ny9i6165gm26m-xextproto-7.3.0.drv
/nix/store/0419xicbw3plpj5qb80fw5i05dz7k7m0-fixesproto-5.0.drv
/nix/store/4bs2hdkjn2gxbrnxkkq2c1b6vc57spbx-xf86bigfontproto-1.2.0.drv
/nix/store/dlxr13myr55hqgzm5gbw7iahsfh1r2z6-xtrans-1.3.5.drv
/nix/store/jainb12q3vqjmijpp364f27wgqhpd2bz-xproto-7.0.28.drv
/nix/store/bvk0mswmqixnmyc1f1bssxb9ivggfsab-libXdmcp-1.1.2.drv
/nix/store/kig3cbq6sv2b8f1pda3drwa28lc63knj-libXau-1.0.8.drv
/nix/store/kpyvg4h7ksz7lcn2s1jx9pg2mr6r2cc8-xcb-proto-1.11.drv
/nix/store/klmmsmqjp7pyb1isxfxbrr4azl3jnh2q-libxcb-1.11.1.drv
/nix/store/h8zryv4vnss34y2k6jlgzzgj6hyr884p-libX11-1.6.3.drv
/nix/store/2pbhj240c4vznn7sgvvn546048l5pdr0-libXrender-0.9.9.drv
/nix/store/18r91ify4nxa1g666zcg7s0gbd2kj8xr-systemd-228.drv
/nix/store/19q63pabycpg96a2i3l89nq0jzqayjci-libxshmfence-1.2.drv
/nix/store/wrgzwxjnrliqcjv19brhwi87nl851xn3-libICE-1.0.9.drv
/nix/store/gw6qplkqbzn61i00qpkkg1217q8lqx18-libSM-1.2.2.drv
/nix/store/5i4p6rbfs48dd9d06hipaqms130xgk0c-libXt-1.1.5.drv
/nix/store/law0zzr05ylpcbq8zydyyzjn9pi6nrdw-videoproto-2.3.2.tar.bz2.drv
/nix/store/bwl0sdb8fckjksknhig7hjafb3vxa9j5-videoproto-2.3.2.drv
/nix/store/dk5ay493lcamabdl8fds0kr9x05n56h2-libXext-1.3.3.drv
/nix/store/19xh9cl6kwifrk90h7dac9g2fj624y95-libXv-1.0.10.drv
/nix/store/6017s6y1d834df3crhby6kqi9jsaza8a-libXvMC-1.0.9.drv
/nix/store/6a4akcz4m77jgdkaymvbqsx0fxds2ckc-makedepend-1.0.5.drv
/nix/store/pifgiapd5m8qaacgc25lrrzc5j16mqz9-xf86vidmodeproto-2.3.1.tar.bz2.drv
/nix/store/zvqxgidvqhf6cv9n06ym6qfanmqs3x8d-xf86vidmodeproto-2.3.1.drv
/nix/store/9q71znvai6sadx1gimypwkigxr8byci6-libXxf86vm-1.1.4.drv
/nix/store/dm60zzggw74gs4q6sngglhr1d7vfx79r-dlopen-absolute-paths.diff.drv
/nix/store/bp480b40mjmbjg60zccz0z0jqf9wjl2p-wayland-1.9.0.tar.xz.drv
/nix/store/f50j1hrn25hpkv4fxh6zlg5xvfwbbiwf-wayland-1.9.0.drv
/nix/store/iyw160zcsr2vjpikn2c5xpxc5igk60s3-libdrm-2.4.65.drv
/nix/store/qaj047hxfnl2m4n83df06nbvwic3fis4-sharutils-4.11.1.drv
/nix/store/a73sz1ldl7dkbivqshspznfv2mw0wyv3-libarchive-3.1.2.drv
/nix/store/9g2cg1n0iwzwmhwhc7liyhdabd3g6cyx-cmake-3.4.0.drv
/nix/store/l3fdbr8514jsdncrrsa8ydlw5g5dq8zw-llvm-3.7.0.drv
/nix/store/piwxz119sjhz8vhvcb8hrv11asaiv3bb-libXfixes-5.0.1.drv
/nix/store/q2r23m2mcnnmxm3lm1vgfx4026hlih0q-libvdpau-1.1.1.drv
/nix/store/vkwdf6dj900cniwl3l23s42162w19nxj-libXdamage-1.1.4.drv
/nix/store/hnlv1a2pyw9836hf76c463n4dnhlbdj5-unittest2-1.1.0.tar.gz.drv
/nix/store/72a138yl388qplbv2am17jbcrfi237jc-traceback2-1.4.0.tar.gz.drv
/nix/store/s35q7s2x3hv48pwb6siynsgjrk2dmlpn-python2.7-traceback2-1.4.0.drv
/nix/store/m1p6ffrbq0qyq5kmffnh79yl2f77qyym-python2.7-unittest2-1.1.0.drv
/nix/store/sjckqy3h8h2id150wyi9jl4apl87rr5x-python2.7-funcsigs-0.4.drv
/nix/store/kiz0h57rrlp95afdlzwclsi5657xhz2w-python2.7-mock-1.3.0.drv
/nix/store/lp7rpak2jx9ai5lir7arjr6gccp92kx0-python2.7-coverage-4.0.1.drv
/nix/store/hw8a10h2n74w04lzwq6r0yn9jhcbvlh7-python2.7-nose-1.3.4.drv
/nix/store/yya6mxiwm9r2xmj9c0dnp3mckrpmj04s-python2.7-Mako-1.0.2.drv
/nix/store/5hw1frn5jlwriq5i5qqxpcmnd37pak40-mesa-noglu-11.0.8.drv
/nix/store/pkw17b99vv9fn1bpgr7yw6bq49higr48-libfontenc-1.1.3.drv
/nix/store/q2k5dk67lzw6xpz1ldpisv1lnrsilypq-mkfontscale-1.1.2.drv
/nix/store/a09y9a95dn0if9nsakk0jrjwxiyxnphq-mkfontdir-1.0.7.drv
/nix/store/ifacs3gvyq9sf26da641libskk6yjx0j-font-bh-ttf-1.0.3.drv
/nix/store/r47891xhwhj7vkg4ksa2i3xnc1kbqwqj-fontconfig-2.11.1.drv
/nix/store/8hiddi0ln8ji13lyg51kf1pdlqc5r309-libXft-2.3.2.drv
/nix/store/9gqz7awyrjsmkvhrz05lz8bnq95nv1pq-xlibs-wrapper.drv
/nix/store/zp4jrnpn5drbzzfsp3lnbsifh1wbfjgp-xcb-util-0.4.0.tar.bz2.drv
/nix/store/mbsgplvx6pnmd5wdd6hxnifqsqcy2l3l-xcb-util-0.4.0.drv
/nix/store/2gmgxpfj6pcw0ahi1iyfqlvkq13z26pl-cairo-1.14.4.drv
/nix/store/79lynnz05ba2jkgd0dh3wxl95v6rn77l-graphite2-1.2.4.drv
/nix/store/x49yj9h2czcain3xzddw5xrg1413qwa5-harfbuzz-1.0.6.drv
/nix/store/1p6ixcfxcqqcx633209ajmf9psdrp4q4-pango-1.38.0.drv
/nix/store/872pais6pypfky3j3k2p0n481y0ryqhp-libXrandr-1.5.0.drv
/nix/store/87rahk2mka4jrv37kibc8bmgcyxpxsv5-compositeproto-0.4.2.drv
/nix/store/9ss5cak754f104526sqlkz6whxkbbj68-libXcomposite-0.4.4.drv
/nix/store/xwabikvkaz0l8mqy1z40zg4pi1q1z21i-util-macros-1.19.0.tar.bz2.drv
/nix/store/i23zaa0wgkssg2bw3sz6azpgy3y58jqx-util-macros-1.19.0.drv
/nix/store/sj25pfkwyrn8nx4k501d3kcf5f69fnga-glu-9.0.0.drv
/nix/store/p3136slaka1iraw4vsdjyr6zxn4k962y-mesa-11.0.8.drv
/nix/store/akf8hdw5h44xns7p73zk5ls4zz9441j6-epoxy-1.3.1.drv
/nix/store/kq2vbc46a83ccnfjkgwdr50lgrm5p5wj-tiff-4.0.6.tar.gz.drv
/nix/store/60ppyln422r5f4aaiqvqjbgvrvj70gv5-libtiff-4.0.6.drv
/nix/store/cyc44kdpms6syprfn0qpazhi8jva0wz0-gdk-pixbuf-2.32.1.drv
/nix/store/mzxy75y5kd9q3c4j36c4rjqgzz12q1pc-dbus-libs-1.8.20.drv
/nix/store/kxr6kxb6l2az2f011531cg3prhs3jf5b-avahi-0.6.31.drv
/nix/store/vaci59imq0n45niibqcxs6pzv9d9hmpi-libusb-1.0.19.drv
/nix/store/g3vlkaxy1lrw0yil3kq64n6fihx7hykd-guile-2.0.11.drv
/nix/store/a4ac65w17b8yklplpaayi6g97f0jmv8d-autogen-5.18.6.drv
/nix/store/h4bdsaxad7r7wbrbl76xna6qmx9wn5d1-unbound-1.5.3.tar.gz.drv
/nix/store/zyly8ggcxm8xk4d9yfzy9a3gpsnv2z2y-unbound-1.5.3.drv
/nix/store/xwmydkw504q5ypwb66rd93pvb31giba1-gnutls-3.4.6.drv
/nix/store/j4plprb1ay8pg16f3w1ab0n9qkvzmn5x-cups-2.0.4.drv
/nix/store/13ma178973rqyybddq3z9p51ljhabfpi-dbus-glib-0.104.drv
/nix/store/z985a4s9hqphn29ywrhbc9sfs02mw9di-libXi-1.7.5.drv
/nix/store/lwbl0356k70ljhhsmd8civn920nwzyl7-libXtst-1.2.2.drv
/nix/store/ciiardsb61ziqffb5hds96fqjjhf671l-at-spi2-core-2.18.0.drv
/nix/store/jzy9qnlafhaxd59hxp9m5z1hy68qnmvn-at-spi2-atk-2.18.0.drv
/nix/store/sf0xcsyrszcsyhns5hkjidndxy4r43bh-xkeyboard-config-2.15.tar.bz2.drv
/nix/store/hv802vkc25hjfn2z4rcygml5vhhvdk9b-xkeyboard-config-2.15.drv
/nix/store/qc86s669d6vby3dl5hl2g2d5icmzbf8v-libxkbcommon-0.5.0.drv
/nix/store/mvaj08c2k28h9xir0nvk9fi4k77q3qwd-xineramaproto-1.2.1.drv
/nix/store/s8a1rj370n8akvmirw7n83d57l5hw9x1-libXinerama-1.1.3.drv
/nix/store/wsbpnc8jrlxsbg9sxnmnzdfs6sw090mq-libXcursor-1.1.14.drv
/nix/store/0aiyq7hhc9qs398rshpwy2vaz25qid93-gtk+3-3.18.5.drv
/nix/store/71h912sshjvpdcw63l2cdm2a6wr07h73-utf8-string-1.0.1.1-r1.cabal.drv
/nix/store/k23pjbg1sx4gcvhhyvd6nn4cbhnagjrb-utf8-string-1.0.1.1.drv
/nix/store/0qvwlzara3n79abcdzyphh0ndx67jhd4-hackage-db-1.22.drv
/nix/store/43cmq478zhrhwhxnfczs83abikpsng5c-glib-0.13.2.2.drv
/nix/store/8kgf899x3ayg9z87qasrjrxzjn77nx5h-cairo-0.13.1.1.drv
/nix/store/39j19432d9qgwgx20l74ppcyn9ajbzkw-pango-0.13.1.1.drv
/nix/store/bal3j80xd762rfjnjyy9cn7xbszbpiw3-sqlite-3.9.2.drv
/nix/store/74db130kyapih2b4gs3zap0k1gjhpnvn-libsoup-2.50.0.drv
/nix/store/dc8jpmybvqd5j05cp725r89kqx6kqw50-libwebp-0.4.3.drv
/nix/store/fvc3999hlblz4c30iza5jsrv2fz0708z-gtk+-2.24.28.drv
/nix/store/n03jlw4jjdl9bl28l34bq2fgnhmg0cvl-webkitgtk-2.4.9.tar.xz.drv
/nix/store/nd1lfblxbwkbzbmv3pp38962s27bjqxl-gst-plugins-base-1.6.1.drv
/nix/store/mf7m2n7r6j8mals8dhvxam3cm89fh0fh-ruby-2.2.3-p0.drv
/nix/store/w4iwy46196h6z3k1fylfjpfxy1pqdlif-ruby-2.2.3-p0.drv
/nix/store/w5rp20aig8kp0sqwra8y7jf3ks8445k2-harfbuzz-1.0.6.drv
/nix/store/q44p1gnpgn4bplchdz53x1jv1drmd027-webkitgtk-2.4.9.drv
/nix/store/ybkq1gbg94civz4452vnrx5ddnmdmag0-gio-0.13.1.1.drv
/nix/store/y374mh3bhll5z8lkps7cv73m3p025f0a-gtk3-0.14.2.drv
/nix/store/z18w12678ca4gjih3rdg0dywm95w16wk-webkitgtk3-0.14.1.1.tar.gz.drv
/nix/store/51dcdzzlk1y8hbbync33an6qhcs0v5sm-webkitgtk3-0.14.1.1.drv
/nix/store/1951cg9vjx61crwkiaglgb7jhj9ss2h2-ghcjs-dom-0.2.3.1.drv
/nix/store/1hjg475fzv0xy8ajp8vxnmss0kbbhnx6-th-expand-syns-0.3.0.6.drv
/nix/store/9kc0py6v6xb054scvr9kpdvb9aqg490g-tagged-0.8.2.drv
/nix/store/mx66qci9vv76i1xg04wlc4r8hqlr0jm2-semigroups-0.18.0.1.drv
/nix/store/s6hv6i20p4xbsmf4iimic5xvi4ranybx-void-0.7.1.drv
/nix/store/sxg1wx7xqdvvamizf6naqbf40nkpa21q-transformers-compat-0.4.0.4.drv
/nix/store/20bqjljzsqjggdp21qx37r1a9z9848hv-contravariant-1.3.3.drv
/nix/store/c6ymwh98wxcf835x9mibqy8izjgdmalv-th-extras-0.0.0.2.drv
/nix/store/2ajliadck669fj3nfigjc4blhgv8s5cc-dependent-sum-template-0.0.0.4.drv
/nix/store/41zzns4q6mplgsx8s4h0iip95xfnw8n2-bifunctors-5.1.drv
/nix/store/446w8s059mxsr2skq9a8assfl4rd62j2-exceptions-0.8.1.drv
/nix/store/479jg64w5f67lvmiga4mlhr2655d3iv8-haskell-src-exts-1.16.0.1.drv
/nix/store/6azfx08m4z515mik0hgs2nsd7sr8zpf5-distributive-0.4.4.drv
/nix/store/xriqsxv82fff0kfsbqm6d3c5fh6q8ck7-comonad-4.2.7.2.drv
/nix/store/aa5b8pfphhg11a52mngmk4f81gz0a1bh-semigroupoids-5.0.0.4.drv
/nix/store/cn95f8d8fwl1zy4lhvzma2rnng0h0vqh-profunctors-5.1.2.drv
/nix/store/886j87lxikrfkwkcabsc0xqmki21a8kx-these-0.6.2.0.drv
/nix/store/cvffvyhjxxc0sppdgvpv8b5c3b3sd7k1-free-4.12.2.drv
/nix/store/xzw65blpa2xmlh03ivbj28f6x9jqp5hh-adjunctions-4.2.2.drv
/nix/store/b5d7gpnkqr66nwfy2x67rgyq835lihm7-kan-extensions-4.2.3.drv
/nix/store/j3m0i7301k4asfgfzdywhvl5scl4x7vz-th-lift-0.7.5.drv
/nix/store/xjqx9pbh15jwbqpjk331ddfw7y0y6bsf-th-reify-many-0.1.3.drv
/nix/store/s8rgxc1v0qdbmc2nybrb01d5iljp9qn9-th-orphans-0.13.0.drv
/nix/store/f1m0my3hz1whi0l04hrfsvn3y97858wr-haskell-src-meta-0.6.0.13.drv
/nix/store/gwxb7lqmj0i8kf5xbyj3iawnj4py4zc5-lens-4.13.drv
/nix/store/kcvswx8qr9w339hpwrkj9vbnilpv8g8h-ghcjs-dom-0.2.3.1.drv
/nix/store/plya6n29jaxz3vbz9fxp82cifw4rfrwy-exception-transformers-0.4.0.2.drv
/nix/store/pnjmix9l8zcclpqvng1ihpv1nr7msn47-reflex-0.4.0.drv
/nix/store/phr3j3q9svb8s9wzk3p4yarqa213zb9w-reflex-dom-0.3.drv
/nix/store/zzxi9nm1f1h4hs933n83lnq5fc01i4qw-reflex-todomvc-0.1.drv
/nix/store/1k3vhpi2d7nflmj24sg077xbanahz1mc-ghcjs-0.2.0.drv
/nix/store/4an02x74150x884qnyhm46hr10l807x9-webkitgtk3-javascriptcore-0.13.1.1.tar.gz.drv
/nix/store/v8q5zs853lr3cbv0kia2wzwjh1w94awy-these-0.6.2.0.drv
/nix/store/688zmfjxds9mi4afzq5hrjfxg2gqc3sq-reflex-0.4.0.drv
/nix/store/pdl98q2bp3lss943qah2nx8b5y3q7s2q-webkitgtk3-javascriptcore-0.13.1.1.drv
/nix/store/ay7x18p838bldrgjxzpn3qzs6f253n2m-th-extras-0.0.0.2.drv
/nix/store/qr44gcrlsznh505dih36nz0x3ng04kma-dependent-sum-template-0.0.0.4.drv
/nix/store/6qm68v0p5sw33snbzj18dn21cd7hfsgs-reflex-dom-0.3.drv
/nix/store/7ql6vpp6i4kp125x63fwk7zp9s1hkrqm-subversion-1.9.3.drv
/nix/store/php8ymrx4sdy8h191qxv8bmy8argyalk-python2.7-dulwich-0.10.1a.drv
/nix/store/gixm30m2xdwrv20npv7bq36w54k9n9zn-python2.7-hg-git-0.8.2.drv
/nix/store/9y9bkgjnyyyf4ahr4sqv6lsqv5bmi901-mercurial-3.5.1.drv
/nix/store/dg5fz9vibbssvx8qwif0jgz3rvif33d6-nix-prefetch-svn.drv
/nix/store/gcb060rzwpwl1pch8l260j2jmc7pc684-terminal-size-0.3.2.1.drv
/nix/store/i70pisy2lcifc0gdcgnzj1pjpgv1mx1c-bazaar-2.6.0.drv
/nix/store/q2w6hv4fna8zsc9i1vakyya9qj17q79g-reflex-todomvc-0.1.drv
/nix/store/kzca9vfjpb2hmnqhgz59y9fznw3wgzz4-ghc-7.10.2.drv
/nix/store/l1k0zrbygagdg3q1cvrif9nwalfihpxg-distribution-nixpkgs-1.drv
/nix/store/qq9a08afc6c6i1rqhsn895z9syhfdpgm-nix-prefetch-hg.drv
/nix/store/vqjzl9f1zp35y6g12rqgr70niswgbgbk-nix-prefetch-bzr.drv
/nix/store/pvx911f6blb2s43wmalc0a5ld61i4wrr-nix-prefetch-scripts.drv
/nix/store/r5f24nhch73vrpz3r0hvikry5xh64z4l-ghcid-0.5.drv
/nix/store/y6m9cibszp272yhpsia0r0jwn0y7dg1q-cabal2nix-20151217.drv
building path(s) ‘/nix/store/x5dbr6dl27ic5h2w2zhhhkmzw32pgybq-ghcjs-dom-0.2.3.1’
building path(s) ‘/nix/store/sk7h31swi3k5pmv4cbcgi3hs4w4m30xx-haskell-src-exts-1.16.0.1’
building path(s) ‘/nix/store/praldxg9qxvcp9g05w2y395rc45g9kfh-tagged-0.8.2’
building path(s) ‘/nix/store/hlig6wwhpdai9i5r47y8iz0rcj0cr0v0-terminal-size-0.3.2.1’
building path(s) ‘/nix/store/nadbilyamxb47lkmnr2cylsd31c7np6y-th-expand-syns-0.3.0.6’
building path(s) ‘/nix/store/fs0xbic6fc0rrif31ykkznm620lhz51a-th-extras-0.0.0.2’
building path(s) ‘/nix/store/ndpcf8wxnh154j43qzcjnlww397xf94l-th-extras-0.0.0.2’
building path(s) ‘/nix/store/cnvz4kpnnbz3baaji6pxqmhfjqcmc1kl-th-lift-0.7.5’
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
setupCompilerEnvironmentPhase
Build with /nix/store/k8dwz1wl67q05kywxsy5sp4xrclkn940-ghc-7.10.2.
setupCompilerEnvironmentPhase
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/k8dwz1wl67q05kywxsy5sp4xrclkn940-ghc-7.10.2.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
setupCompilerEnvironmentPhase
Build with /nix/store/j9yz874pjnz3chlj0qzw4y0lw361lsgd-ghcjs-0.2.0.
unpacking sources
unpacking sources
unpacking source archive /nix/store/s68cz99yxg0xg6f9h8wxp1xbsw9aczwc-th-extras-0.0.0.2.tar.gz
unpacking source archive /nix/store/azbsjqxmla7xr1v8w5arbj9fr0rxnahx-terminal-size-0.3.2.1.tar.gz
source root is th-extras-0.0.0.2
source root is terminal-size-0.3.2.1
patching sources
patching sources
compileBuildDriverPhase
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-th-extras-0.0.0.2.drv-0/package.conf.d -j16 -threaded
setupCompileFlags: -package-db=/tmp/nix-build-terminal-size-0.3.2.1.drv-0/package.conf.d -j16 -threaded
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-terminal-size-0.3.2.1.drv-0/Main.o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-th-extras-0.0.0.2.drv-0/Main.o )
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking source archive /nix/store/8z7achcb537h9dnv2fg20nyzrxzskdxj-tagged-0.8.2.tar.gz
unpacking source archive /nix/store/8vkbhfac1dbvz4l78b0bfxsfx3cpwxww-ghcjs-dom-0.2.3.1.tar.gz
unpacking source archive /nix/store/9khlk5qk2fc9gjidyvhm95xws2sp8ai1-haskell-src-exts-1.16.0.1.tar.gz
unpacking source archive /nix/store/s68cz99yxg0xg6f9h8wxp1xbsw9aczwc-th-extras-0.0.0.2.tar.gz
unpacking source archive /nix/store/ic0fa6ab8b4qrcjndaz3qiybk41is8ad-th-lift-0.7.5.tar.gz
unpacking source archive /nix/store/143kkm2cqgcy7lrn17v529vy8y3gwpzi-th-expand-syns-0.3.0.6.tar.gz
source root is th-extras-0.0.0.2
patching sources
compileBuildDriverPhase
source root is tagged-0.8.2
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-tagged-0.8.2.drv-0/package.conf.d -j16
setupCompileFlags: -package-db=/tmp/nix-build-th-extras-0.0.0.2.drv-1/package.conf.d -j16
source root is th-expand-syns-0.3.0.6
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-th-expand-syns-0.3.0.6.drv-0/package.conf.d -j16
source root is th-lift-0.7.5
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-th-lift-0.7.5.drv-0/package.conf.d -j16
source root is ghcjs-dom-0.2.3.1
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-ghcjs-dom-0.2.3.1.drv-0/package.conf.d -j16
source root is haskell-src-exts-1.16.0.1
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-haskell-src-exts-1.16.0.1.drv-0/package.conf.d -j16
Linking Setup ...
Linking Setup ...
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-th-lift-0.7.5.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-haskell-src-exts-1.16.0.1.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-ghcjs-dom-0.2.3.1.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-tagged-0.8.2.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-th-extras-0.0.0.2.drv-1/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-th-expand-syns-0.3.0.6.drv-0/Main.js_o )
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
/nix/store/d9v0p46kj9hlb0m03z6s5ff70f5lhciv-stdenv/setup: line 841: 29560 Killed ghcjs $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
/nix/store/d9v0p46kj9hlb0m03z6s5ff70f5lhciv-stdenv/setup: line 841: 29515 Killed ghcjs $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
builder for ‘/nix/store/479jg64w5f67lvmiga4mlhr2655d3iv8-haskell-src-exts-1.16.0.1.drv’ failed with exit code 137
killing process 28966
killing process 28969
killing process 28962
killing process 28964
builder for ‘/nix/store/c6ymwh98wxcf835x9mibqy8izjgdmalv-th-extras-0.0.0.2.drv’ failed with exit code 137
building path(s) ‘/nix/store/1fr1kxzrydl7xqhg7xak2qcxgndk7wgm-bazaar-2.6.0’
cannot build derivation ‘/nix/store/1k3vhpi2d7nflmj24sg077xbanahz1mc-ghcjs-0.2.0.drv’: 1 dependencies couldn't be built
killing process 28965
killing process 28967
killing process 30156
error: build of ‘/nix/store/1k3vhpi2d7nflmj24sg077xbanahz1mc-ghcjs-0.2.0.drv’ failed
/home/francesc/.nix-profile/bin/nix-shell: failed to build all dependencies
It looks like a problem occurred. Please submit an issue at https://github.com/ryantrinkle/try-reflex/issues
francesc@srvfa:
/Haskell/try-reflex$

Many thanks in advance.

Yours truly,

Cesc.

how to use ghc-mod ?

How does one add ghc-mod to be used with reflex projects using the try-reflex nix config ?

Build error "hPutBuf: resource vanished (Broken pipe)"

I'm using Vagrant virtual machine to build Reflex in. Here is error that I get:

$ ./try-reflex 
If you have any trouble with this script, please submit an issue at https://github.com/ryantrinkle/try-reflex/issues
Entering the reflex sandbox...
these derivations will be built:
  /nix/store/0c139hl2dgj684g1zzd34cwgnsv3xhjw-haskell-reflex-dom-0.1.drv
  /nix/store/s7j443jkzckzcz6wsdiajqkfv48a1m23-ghcjs-0.1.0.drv
building path(s) ‘/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1’
setupCompilerEnvironmentPhase
Building with /nix/store/1lk3z2pl934qx87ycycvkk5kxcwyn7kd-ghcjs-0.1.0.
unpacking sources
unpacking source archive /nix/store/1rg75kbqiylr26j792f18vv75yjwz9vp-reflex-dom
source root is reflex-dom
patching sources
jailbreakPhase
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-haskell-reflex-dom-0.1.drv-0/package.conf.d -j1
[1 of 1] Compiling Main             ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /tmp/nix-build-haskell-reflex-dom-0.1.drv-0/Main.o )
Linking Setup ...
configuring
configureFlags: --verbose --prefix=/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1 --libdir=$prefix/lib/$compiler --libsubdir=$pkgid --with-gcc=gcc --package-db=/tmp/nix-build-haskell-reflex-dom-0.1.drv-0/package.conf.d --ghc-option=-optl=-Wl,-rpath=/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1/lib/ghcjs-0.1.0/reflex-dom-0.1 --enable-split-objs --disable-library-profiling --enable-shared --enable-library-vanilla --enable-executable-dynamic --disable-tests --with-hsc2hs=/nix/store/vj4h3n3bz210ww28wyzd3z4vp4hnhzr3-ghc-7.10.0.20150123/bin/hsc2hs --ghcjs
Configuring reflex-dom-0.1...
Dependency aeson -any: using aeson-0.8.0.2
Dependency base -any: using base-4.8.0.0
Dependency bytestring -any: using bytestring-0.10.6.0
Dependency containers -any: using containers-0.5.6.2
Dependency data-default -any: using data-default-0.5.3
Dependency dependent-map -any: using dependent-map-0.1.1.2
Dependency dependent-sum -any: using dependent-sum-0.2.1.0
Dependency ghcjs-base -any: using ghcjs-base-0.1.0.0
Dependency ghcjs-dom -any: using ghcjs-dom-0.1.1.3
Dependency lens -any: using lens-4.7
Dependency mtl -any: using mtl-2.2.1
Dependency reflex -any: using reflex-0.1.1
Dependency safe -any: using safe-0.3.8
Dependency semigroups -any: using semigroups-0.16.1
Dependency text -any: using text-1.2.0.3
Dependency these -any: using these-0.4.2
Dependency transformers -any: using transformers-0.4.2.0
Using Cabal-1.22.1.0 compiled by ghc-7.10
Using compiler: ghcjs-0.1.0
Using install prefix:
/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1
Binaries installed in:
/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1/bin
Libraries installed in:
/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1/lib/ghcjs-0.1.0/reflex-dom-0.1
Private binaries installed in:
/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1/libexec
Data files installed in:
/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1/share/x86_64-linux-ghcjs-0.1.0-ghc7_10_0_20150123/reflex-dom-0.1
Documentation installed in:
/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1/share/doc/x86_64-linux-ghcjs-0.1.0-ghc7_10_0_20150123/reflex-dom-0.1
Configuration files installed in:
/nix/store/7f89yzl00z4q0804171mdsi4la59m21b-haskell-reflex-dom-0.1/etc
No alex found
Using ar found on system at:
/nix/store/gipm9dqr74cwnqch7049dlmw87wm471a-binutils-2.23.1/bin/ar
No c2hs found
No cpphs found
Using gcc version 4.8.4 given by user at:
/nix/store/fdgy3nkc0cal0705l34wmbs1cscbrgsi-gcc-wrapper-4.8.4/bin/gcc
No ghc found
No ghc-pkg found
Using ghcjs version 0.1.0 found on system at:
/nix/store/1lk3z2pl934qx87ycycvkk5kxcwyn7kd-ghcjs-0.1.0/bin/ghcjs
Using ghcjs-pkg version 0.1.0 found on system at:
/nix/store/1lk3z2pl934qx87ycycvkk5kxcwyn7kd-ghcjs-0.1.0/bin/ghcjs-pkg
No greencard found
Using haddock version 2.16.0 found on system at:
/nix/store/1lk3z2pl934qx87ycycvkk5kxcwyn7kd-ghcjs-0.1.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/vj4h3n3bz210ww28wyzd3z4vp4hnhzr3-ghc-7.10.0.20150123/bin/hsc2hs
No hscolour found
No jhc found
Using ld found on system at:
/nix/store/fdgy3nkc0cal0705l34wmbs1cscbrgsi-gcc-wrapper-4.8.4/bin/ld
No lhc found
No lhc-pkg found
No pkg-config found
Using strip version 2.23 found on system at:
/nix/store/gipm9dqr74cwnqch7049dlmw87wm471a-binutils-2.23.1/bin/strip
Using tar found on system at:
/nix/store/lmn3m4jd2by93wk4hixa0xj0k2ccc4w3-gnutar-1.27.1/bin/tar
No uhc found
building
Building reflex-dom-0.1...
Preprocessing library reflex-dom-0.1...
[1 of 7] Compiling Reflex.Dom.Class ( src/Reflex/Dom/Class.hs, dist/build/Reflex/Dom/Class.js_o )
[2 of 7] Compiling Reflex.Dom.Internal ( src/Reflex/Dom/Internal.hs, dist/build/Reflex/Dom/Internal.js_o )
Linking Template Haskell ()
fd:11: hPutBuf: resource vanished (Broken pipe)
builder for ‘/nix/store/0c139hl2dgj684g1zzd34cwgnsv3xhjw-haskell-reflex-dom-0.1.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/s7j443jkzckzcz6wsdiajqkfv48a1m23-ghcjs-0.1.0.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/s7j443jkzckzcz6wsdiajqkfv48a1m23-ghcjs-0.1.0.drv’ failed
/home/vagrant/.nix-profile/bin/nix-shell: failed to build all dependencies
It looks like a problem occurred.  Please submit an issue at https://github.com/ryantrinkle/try-reflex/issues

Installing additional Haskell packages? Use newer ghc?

Questions:

  1. Should I build new reflex-dom sites from the try-reflex shell?
  2. If so, how do I install packages in the try-reflex shell, and install a newer Haskell version?

I want to create a site with reflex-dom, so I went through this try-reflex tutorial. My page builds with ghcjs --make just fine. Now I'd like to use a new library, HaskellForMaths.

There's no cabal in the try-reflex, as HACKING.md states. It seems like reflect's dependencies are installed by specifying them in reflex/default.nix, so I added HaskellForMaths to the list at the top and under buildDepends. Running ./try-reflex attempts to install HaskellForMaths, but it fails with:

Math/Algebras/VectorSpace.hs:54:34:
    Ambiguous occurrence ‘*>’
    It could refer to either ‘Math.Algebras.VectorSpace.*>’,
                             defined at Math/Algebras/VectorSpace.hs:101:1
                          or ‘Prelude.*>’,
                             imported from ‘Prelude’ at Math/Algebras/VectorSpace.hs:7:8-32
                             (and originally defined in ‘GHC.Base’)

Since it builds outside the try-reflex shell under cabal 1.22.2.0 and ghc 7.8.1, I think maybe I need a newer version of ghc in the try-reflex shell? But I can't figure out where to specify one.

Is Nix a replacement for Stack?

I don't think this issue is related to reflex-platform, per se, but from a newbies perspective, I'm wondering why this isn't using Stack? Or is it using Stack along with Nix? Why is Nix required? Is Nix only a development time dependency, or will I need to install it on my production servers as well? Also, if I have a Haskell app which works with Stack, how do I build the UI in reflex? Do I need to "Nix-ify" my entire project?

Consider requestAnimationFrame doc explanation

In considering reflex DOM, I'd really like to know if you use requestAnimationFrame to batch your updates, or if you do them directly. I have an app which uses ClojureScript, Reagent and therefore ReactJS, and Reagent uses a requestAnimationFrame batching for efficiency reasons.

Have you done performance tests with thousands of components passing data on the same page? My app has this context.

It's my aim to migrate the app that runs our content management system to purely be written in Haskell, but I'd like to know whether it'll run performantly in Reflex-DOM before I consider it.

Also what's the debugging story like in Reflex-DOM? (Meaning, if something odd happens in the DOM, does it report error messages nicely so that one can track down which component has done something weird if that's the case? Or are these kinds of errors just not an issue?)

Nix version conflicts.

My older version of nix (1.7) caused ./try-reflex to fail. Although it returned a very clear message about upgrading you might, for the sake of usibility, want to include a note about how to upgrade nix if needed.

nix-env --upgrade

Calling to/from JavaScript

Can JavaScript fire and consume Reflex events, or is there a lower-level mechanism for communicating with JavaScript? I'm looking for a way to use third-party, event-driven JavaScript libraries.

Caculator Example type error.

Hello, I'm getting an error when trying to compile the Calculator. It compiles normally in the previous steps, only when I try to make it dynamic I get:

Couldn't match type `(->) (TextInputConfig t0)'
                   with `Widget
                           Spider
                           (Gui
                              Spider
                              (WithWebView SpiderHost)
                              (Reflex.Host.Class.HostFrame Spider))'
    Expected type: Widget
                     Spider
                     (Gui
                        Spider
                        (WithWebView SpiderHost)
                        (Reflex.Host.Class.HostFrame Spider))
                     ()
      Actual type: TextInputConfig t0 -> ()
    In the second argument of `($)', namely
      `el "div"
       $ do { t <- textInput;
              dynText $ _textInput_value t }'
    In the expression:
      mainWidget
      $ el "div"
        $ do { t <- textInput;
               dynText $ _textInput_value t }
    In an equation for `main':
        main
          = mainWidget
            $ el "div"
              $ do { t <- textInput;
                     dynText $ _textInput_value t }

The code i'm running is simply the one from the example:

import Reflex.Dom

main = mainWidget $ el "div" $ do
  t <- textInput
  dynText $ _textInput_value t

Shell install script not working on Archlinux (zsh)

Not sure what's going on but it does not seem to work on archlinux (zsh shell). The prompt for the password has never come up and I have got the following error:

./try-reflex 
If you have any trouble with this script, please submit an issue at https://github.com/ryantrinkle/try-reflex/issues
In order to continue, ./try-reflex must install the Nix package manager.  This requires root access, so you will be prompted for your password.  If you do not wish to continue, just hit Ctrl-C at the password prompt.
unpacking Nix binary tarball for x86_64-linux from `https://nixos.org/releases/nix/nix-1.8/nix-1.8-x86_64-linux.tar.bz2'...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 68.9M  100 68.9M    0     0   339k      0  0:03:27  0:03:27 --:--:--  338k
performing a single-user installation of Nix...
directory /nix does not exist; creating it by running ‘mkdir -m 0755 /nix && chown pierre /nix’ using sudo
copying Nix to /nix/store..........................
initialising Nix database...
error: couldn't change to directory of ‘/nix/var/nix/daemon-socket/socket’: No such file or directory
nix-binary-tarball-unpack/nix-1.8-x86_64-linux/install: unable to register valid paths
./try-reflex: line 31: /home/pierre/.nix-profile/etc/profile.d/nix.sh: No such file or directory

FWIW, I also had a go with a pre-installed nix from arch (AUR) and ran in other issues:

If you have any trouble with this script, please submit an issue at https://github.com/ryantrinkle/try-reflex/issues
Entering the reflex sandbox...
error: file ‘nixpkgs’ was not found in the Nix search path (add it using $NIX_PATH or -I)
error: cannot start daemon worker: the group ‘nixbld’ specified in ‘build-users-group’ does not exist
(use ‘--show-trace’ to show detailed location information)
error: cannot start daemon worker: the group ‘nixbld’ specified in ‘build-users-group’ does not exist
(use ‘--show-trace’ to show detailed location information)

Cheers

FFI for other libraries

I was considering to use this library with one of the examples in the D3 gallery. However it seems that a lot of them use SVG which is not in the same namespace as html 1 2 3. So i doubt it's possible to create SVG with reflex directly. Would it be easier to add that functionality to reflex or is it possible to have a foreign function interface so that variables can be passed to functions from other libraries?

nixOs build fails

i got this error.. i added snap in the packages.nix

Preprocessing library reflex-dom-0.3...
[ 1 of 17] Compiling Reflex.Dom.Xhr.ResponseType ( src/Reflex/Dom/Xhr/ResponseType.hs, dist/build/Reflex/Dom/Xhr/ResponseType.js_o )
[ 2 of 17] Compiling Reflex.Dom.Xhr.Exception ( src/Reflex/Dom/Xhr/Exception.hs, dist/build/Reflex/Dom/Xhr/Exception.js_o )
[ 3 of 17] Compiling Reflex.Dom.Xhr.Foreign ( src-ghcjs/Reflex/Dom/Xhr/Foreign.hs, dist/build/Reflex/Dom/Xhr/Foreign.js_o )

src-ghcjs/Reflex/Dom/Xhr/Foreign.hs:18:1-52: Warning:
The import of ‘GHCJS.DOM.JSFFI.XMLHttpRequest’ is redundant
except perhaps to import instances from ‘GHCJS.DOM.JSFFI.XMLHttpRequest’
To import instances alone, use: import GHCJS.DOM.JSFFI.XMLHttpRequest()
[ 4 of 17] Compiling Reflex.Dom.WebSocket.Foreign ( src-ghcjs/Reflex/Dom/WebSocket/Foreign.hs, dist/build/Reflex/Dom/WebSocket/Foreign.js_o )
[ 5 of 17] Compiling Reflex.Dom.Internal.Foreign ( src-ghcjs/Reflex/Dom/Internal/Foreign.hs, dist/build/Reflex/Dom/Internal/Foreign.js_o )
[ 6 of 17] Compiling Reflex.Dom.Location ( src/Reflex/Dom/Location.hs, dist/build/Reflex/Dom/Location.js_o )
[ 7 of 17] Compiling Reflex.Dom.Class ( src/Reflex/Dom/Class.hs, dist/build/Reflex/Dom/Class.js_o )
[ 8 of 17] Compiling Reflex.Dom.Internal ( src/Reflex/Dom/Internal.hs, dist/build/Reflex/Dom/Internal.js_o )
Linking Template Haskell ()
fd:11: hPutBuf: resource vanished (Broken pipe)
builder for ‘/nix/store/33cqj2bfxzh204bl3vx13aidv7q89ipr-reflex-dom-0.3.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/72y71wp2d5ibkax2p26frgvkmi58cjns-reflex-todomvc-0.1.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/72y71wp2d5ibkax2p26frgvkmi58cjns-reflex-todomvc-0.1.drv’ failed
these derivations will be built:
/nix/store/krrg2a6zqff2gqaa6s7nxmhpj4cz95g3-extensible-exceptions-0.1.1.4.drv
/nix/store/89nxvd0fk43xwc1rqkjhv9sxgiw485r7-hostname-1.0.drv
/nix/store/lvwif74vs382aa73pz5va805nh1ymprh-test-framework-0.8.1.1-r1.cabal.drv
/nix/store/z3q4jdvbvzv96ca83i1y1fjcrsbdflva-xml-1.3.14.drv
/nix/store/mvffp5zqy13dcpi10hlapczpcgg88i88-test-framework-0.8.1.1.drv
/nix/store/4ab5vd5sqn52dyvzb2cimb92ypg0afir-test-framework-quickcheck2-0.3.0.3.drv
/nix/store/4qz5qa9d05mlbwlnkzf61pamir864wz5-test-framework-hunit-0.3.0.2.drv
/nix/store/g8nh3fac1b3ws6lgv7kiz2nhsh0waf6m-base64-bytestring-1.0.0.1.drv
/nix/store/01ldffcbhwh6sjn1ydiknczfwgkd6z5k-pwstore-fast-2.4.4.drv
/nix/store/0591bhh89m1vfh7i9dn3c4rfcsjflqy7-bytestring-mmap-0.2.2.drv
/nix/store/ibi2praz1fmwlrcpzdr6xg175gg4ckfc-Cabal-1.23.0.0.drv
/nix/store/4lh36xbvhrbxdcns6v3nr5ilcpbbma9w-jailbreak-cabal-1.3.drv
/nix/store/095annypbw25yc22n1dz0kd8pzxr95j4-HsOpenSSL-0.11.1.1.drv
/nix/store/xbg7d73sh62d1ij00i4c5jrlid1a6ghp-clock-0.6.0.1.tar.gz.drv
/nix/store/5gvc467dyx47csszmkksz0j5z56wh6mb-clock-0.6.0.1.drv
/nix/store/7s66961vqg7n2bxfqdaa08mb7i8hwc6c-regex-tdfa-rc-1.1.8.3.drv
/nix/store/8a4f1900s3vm08hc08s7sdad55k57ci3-unbounded-delays-0.1.0.9.drv
/nix/store/kyw3frfdlralp9fspd8w88w9567y0ipn-tasty-0.11.0.2.drv
/nix/store/0qjw0yl1lgvz5jjaz13c0jfrj8ia69yl-tasty-hunit-0.9.2.drv
/nix/store/gsx68xdwfh43il64mrfsfs3jssys314n-memory-0.11.drv
/nix/store/xajixl3fvqga5abnms71mac5l6finhha-byteable-0.1.1.drv
/nix/store/0v6a6vjr1cqm1slh58h7w09cbzyh3200-securemem-0.1.9.drv
/nix/store/13y5j8v9hq0baxkml2ca059idg3bac6q-snap-0.14.0.6-r3.cabal.drv
/nix/store/1lqcmixi5z6nysg255lfiaf79465rnf2-pcre-light-0.4.0.4.drv
/nix/store/d0v5s1armdmv4664476xa9z1fmzza9n9-tasty-quickcheck-0.8.4.drv
/nix/store/27mk7xh5mncl866gcpdmdr4wj4zbzhm7-memory-0.11.drv
/nix/store/id63k9k2jvgy0ysyxm7biyv06qhq6269-securemem-0.1.9.drv
/nix/store/8ab7kl1wrrxc02nlahsgchbm5sqmn62k-crypto-cipher-types-0.0.9.drv
/nix/store/54d45la6g8k4xp7qr2wx8jy7i5w1d8kx-cipher-aes-0.2.11.drv
/nix/store/pd9r7h5y62jlmjb8qh276rx22wc6m9wp-crypto-random-0.0.9.drv
/nix/store/1ajx40pqffcyaqv16f5p52z65bc46zz3-cprng-aes-0.6.1.drv
/nix/store/8spydny6cgx59wcf9kfliv1f0ymivqb7-entropy-0.3.7.drv
/nix/store/n8kqnz7phrgm6jbd59sb58jm30j1qjj0-cereal-0.4.1.1.drv
/nix/store/1cfxxhznay181fzi32ddkgnaxi9l441z-crypto-api-0.13.2.drv
/nix/store/1n2lfynn9g960nnxxwvaq8lqpsf2y02a-zlib-bindings-0.1.1.5.drv
/nix/store/24pf6mrkib6bws262g2l1fsg59x8f0cd-MemoTrie-0.6.4.drv
/nix/store/8124yx85cvyyf4knq4qy3ssqghdi1j96-blaze-builder-0.4.0.1.drv
/nix/store/rnn0973h4q1vg60h5kxzb1kcvkd909i8-enumerator-0.4.20.drv
/nix/store/aimg2ykm809lsp8fa278zmdmxj1cfv2n-attoparsec-enumerator-0.3.4.drv
/nix/store/fpyywgjzqbm7rjshy48cvxf2rq790a0p-monads-tf-0.1.0.2.drv
/nix/store/hficia3da77vqfvh7mvw3vzhvabn7261-MonadCatchIO-transformers-0.3.1.3.drv
/nix/store/ld2rafm49csbai62fnw77wg1a7zj95cg-zlib-enum-0.2.3.1.drv
/nix/store/ggjm6bj68f6fwavmy3jhc7qc8wp8858y-streaming-commons-0.1.15.drv
/nix/store/zlzi6p778ibmhpcj4dh20llsrnh4x85s-bytestring-builder-0.10.6.0.0.drv
/nix/store/m1zy67gxj6vw2nxxsb7a157m3sggmf6r-blaze-builder-enumerator-0.2.1.0.drv
/nix/store/mz5rw51mp4yac1i7rknp96x0hbgihri2-bytestring-mmap-0.2.2.drv
/nix/store/xb0avqx11vy17cf38isj2yiyzdia8sv7-case-insensitive-1.2.0.5.drv
/nix/store/266yx1q833mzzwx7cilfiyzwp1g4appf-snap-core-0.9.8.0.drv
/nix/store/2iz1cxzpiq4hmxv2w60ifhh9ryg26izs-snap-server-0.9.5.1.drv
/nix/store/grynkx65h6fv5083aw8ahvm4zxlpzjzm-cereal-0.4.1.1.drv
/nix/store/vwr9j06iw9zhw0sq3kz2sdklfi6n32jb-entropy-0.3.7.drv
/nix/store/2lcbzx74s1laia2b5kyian4yvj9x04km-crypto-api-0.13.2.drv
/nix/store/2pkxj2cjdq2apan4gy348r4pkr7sh78z-blaze-builder-0.4.0.1.drv
/nix/store/2p8qj5gfqhxbl7wfz4w6gikf471885is-blaze-markup-0.7.0.3.drv
/nix/store/dhmyqnx003f4xixwjiv24zhsjf62nbxv-bytestring-builder-0.10.6.0.0.drv
/nix/store/dpg1fqqa8fw3bjag328i2dz64p3lhfnd-enumerator-0.4.20.drv
/nix/store/8924hj64pk76y7yvrxyhsxdiwrvb79nc-random-1.1.drv
/nix/store/q32nrjd4fqr1r7h6apx3l12ybwgy04zb-network-2.6.2.1.drv
/nix/store/41nh855hwg3viv8vl32m2nbpifqzz7zz-zlib-0.6.1.1.tar.gz.drv
/nix/store/h592wjqx3vdbggql53ikaalbapqhm55r-zlib-0.6.1.1-r3.cabal.drv
/nix/store/w3xxxrw20ijr5xvrlcfl9ifdvldnfc2a-zlib-0.6.1.1.drv
/nix/store/riiriipy0yy3rmwgkvakqkx70mcsp0wi-streaming-commons-0.1.15.drv
/nix/store/2w0x3l1swypmycn6wmjyc2qgjmwlm9mi-blaze-builder-enumerator-0.2.1.0.drv
/nix/store/33cqj2bfxzh204bl3vx13aidv7q89ipr-reflex-dom-0.3.drv
/nix/store/fqqh7np7fay36r8zf8dxdvi0ww3s7ysn-MonadRandom-0.4.1.drv
/nix/store/4a59y9hpwccp8jj7vdvambskshz4y67n-either-4.4.1.drv
/nix/store/dbx264b3yj7m5qhi6aqzbr762szfg8ml-reflex-0.4.0.drv
/nix/store/v9s67nk86hcaj8m476kyqz26wlglkj9c-reflex-dom-0.3.drv
/nix/store/4dcsa1ajzh6n9z0hb4xk5nfhzdqjnvxy-reflex-todomvc-0.1.drv
/nix/store/4dh5bra1wmka3kzjwv113m6xzqwlj5zj-mwc-random-0.13.3.2.drv
/nix/store/4kcngw49yi77dvrgqr1gm0xmix60q987-mmorph-1.0.4.drv
/nix/store/57vjrpymgg91yj7kp246lm3wqq67a8r8-mwc-random-0.13.3.2.drv
/nix/store/5wl75fnx4kvzcnk76xsis1z937l5mcrs-logict-0.6.0.2.drv
/nix/store/5z04ibrwwk2mpp91d7y5q27bnvn07zvp-map-syntax-0.2.drv
/nix/store/64pszr6rp8p93ivc65l12xsi5n3rhgcz-directory-tree-0.12.0.drv
/nix/store/6gafm89jmcri2pfx71lfg6f2plnm80p4-blaze-html-0.8.1.1.drv
/nix/store/w5saihng3p0g4vlkh0c4dfsh8crrcamw-monads-tf-0.1.0.2.drv
/nix/store/ad8zny1mjgis98h4nnhlwwj8kldl7ir7-MonadCatchIO-transformers-0.3.1.3.drv
/nix/store/ir2dyx7vn2b0l7w9nfxfh0kgx7r6l3j6-HsOpenSSL-0.11.1.1.drv
/nix/store/kpdai0hy6472ff6cjqk33wn8sva2pjnm-attoparsec-enumerator-0.3.4.drv
/nix/store/vp9bs2ssp52y64fdg87jpd3g3n2dd5zg-unix-compat-0.4.1.4.drv
/nix/store/9cgc2z0rzj1rkspb5zapdcc4g212rv5s-HUnit-1.3.1.0.drv
/nix/store/bbnv6gk4ffjd9gc225jh0ql0jizh20ah-regex-base-0.93.2.drv
/nix/store/caqgvjxbhyiari5q172alx9xyf69h237-regex-posix-0.95.2.drv
/nix/store/7fszv7z7b2liq7y9fcn83vhcazm9a4wj-zlib-bindings-0.1.1.5.drv
/nix/store/h2ils1acdfqwnar6cm9024pn1bln027w-zlib-enum-0.2.3.1.drv
/nix/store/zpshvdbfsp0irk5zh95mc36xd0gpqmd3-snap-core-0.9.8.0.drv
/nix/store/6hchazwddwjf9wwzvrgb2mjdn78giw6p-snap-server-0.9.5.1.drv
/nix/store/6jd9w90pjj8rm832x6g0wqn50gijq5m8-crypto-cipher-types-0.0.9.drv
/nix/store/72y71wp2d5ibkax2p26frgvkmi58cjns-reflex-todomvc-0.1.drv
/nix/store/73ibzkvy0rmbgvsnshdj5gqcn2jqlxal-configurator-0.3.0.0.drv
/nix/store/7x56xj46hzjk4kl11cckicq69yj807jf-cipher-aes-0.2.11.drv
/nix/store/851p39rxl3kqd9amic8mkmfl1lcc5dmi-crypto-random-0.0.9.drv
/nix/store/9d1klc3ahlsjpkjqbjv41mp7np7n934m-skein-1.0.9.4.tar.gz.drv
/nix/store/jii18nksbjx2b32igc1qai3hfjpi6xfh-skein-1.0.9.4.drv
/nix/store/lxgpx8j7pva3q0r57mshvpxjhgvm352i-cprng-aes-0.6.1.drv
/nix/store/qjnvw9d7mg3m3wf6851rbz8gh8sp7hmk-base64-bytestring-1.0.0.1.drv
/nix/store/zhdznjxz6gslmin0d5f7ldg85gfzhnpl-setenv-0.1.1.3.drv
/nix/store/861nj7kyxnjr0agpd2cav5yb3zjcgl2g-clientsession-0.9.1.1.drv
/nix/store/88mm2h6a44dcn23ngpkqmy1w7rd6r19j-transformers-base-0.4.4.drv
/nix/store/9iy3vc328s6w9i18x0sq94p4m2pdrf5l-logict-0.6.0.2.drv
/nix/store/aqq9pvvcjl1kcl748z6gr5hws75nrfl9-parsec-3.1.9.drv
/nix/store/b7mk2qp3nyrg18n4mhlnfbhxsrxpz7af-xmlhtml-0.2.3.4.drv
/nix/store/gd63w5czmjcfla508fv3mk1vc33cqgbb-directory-tree-0.12.0.drv
/nix/store/gd3ylg3r60lgcix9hvg4h1h0fiv2ihnz-map-syntax-0.2.drv
/nix/store/ic4rdp5c1yk58r3gcszjbfb9y99b77ga-MonadRandom-0.4.1.drv
/nix/store/nxdvf9xi4f179imj76bqz9gjyipfdcqj-monad-control-1.0.0.4.drv
/nix/store/hp0y8566c7ckddh9k40dq9zzr9m60ay6-either-4.4.1.drv
/nix/store/hlwllxhr46pplw8phgp8sfik8ik0pbd8-heist-0.14.1.1.drv
/nix/store/m4jj9lhabfkszd9si4vl5kfmsz1la9fh-configurator-0.3.0.0.drv
/nix/store/mj8jgliv2s7w7w3l6y9vdm5grsypd3dn-vector-algorithms-0.7.0.1.drv
/nix/store/vw54x7cd1057022l8jfxxyhzz4bv88iz-cryptohash-0.11.6.drv
/nix/store/vzjjksg9kpy4l06w399bvkflh32sn1x0-pwstore-fast-2.4.4.drv
/nix/store/b7vdfk2bwgscvpz35qrz4dncmn76xpkq-snap-0.14.0.6.drv
/nix/store/7gmqbcx6x3463fylffhza4740vrc1fdk-ghcjs-0.2.0.drv
/nix/store/g3mfck06i18pzsgk3k7xls5xh845dm5w-blaze-markup-0.7.0.3.drv
/nix/store/h8gqnckv1x98nn9a93jddnaj81h1ga9w-blaze-html-0.8.1.1.drv
/nix/store/lnf6b95ghvxb07awsga6j88d240gifp7-xmlhtml-0.2.3.4.drv
/nix/store/87ymmzyyshxksqjibp3lff67n7rx515v-heist-0.14.1.1.drv
/nix/store/bmw044ik79kir5n8c2z31nzcklr9b0h9-vector-algorithms-0.7.0.1.drv
/nix/store/vhrx6spdmf4sn8bb5h1g3rhnqd9lp1rg-skein-1.0.9.4.drv
/nix/store/s3k36zbp00bdygrvhw4qf8hy02lxcdd9-clientsession-0.9.1.1.drv
/nix/store/ivv351wfzd14z7nhivdf5m7fhfpqsv7g-snap-0.14.0.6.drv
/nix/store/afim7y4gaa0qdll1vpilmpa76636j8az-ghc-7.10.2.drv
these paths will be fetched (0.00 MiB download, 395.86 MiB unpacked):
/nix/store/068ra77qqd9ybj68mkc3jlnbdqgrwwkj-gtk3-0.14.2
/nix/store/1cmwpaybzfbyd5v86apam7sdfzymsh7z-ghcjs-dom-0.2.3.1
/nix/store/6dabaynw9cky2z0xzriwcgi2jjphk6sq-gtk+-2.24.28
/nix/store/6g4wry8zvnv2vamq0bpmqs36vciink1i-webkitgtk-2.4.9
/nix/store/8x9cxvd3pzlfnp88pbd1a4p3gg2qrcsz-pango-1.38.0
/nix/store/9whqi6c6rhb28gjhnpxdx3ppnx56c248-cairo-0.13.1.1
/nix/store/a2nqxzkbrv7qib05xhm3wc0mpcyr6qm6-harfbuzz-1.0.6
/nix/store/aiczb8v8apdv0way4rwslqmgkwl31j19-harfbuzz-1.0.6
/nix/store/fhjhfcq5ybfwlspbgmxarffia12h2nd1-webkitgtk3-0.14.1.1
/nix/store/jalm2d59ybkhhick1ml4hz2r3l5g58c9-gst-plugins-base-1.6.1
/nix/store/lcznmff1285plpgwxaln0ji6drgii497-pango-0.13.1.1
/nix/store/sbkaf0kp7g6ard66jmsxibh719i8d40a-webkitgtk3-javascriptcore-0.13.1.1
/nix/store/v30d5zcjnykxmfzqxh4grxzhv6ph5hpx-gtk+3-3.18.5
/nix/store/zfgiirz7ljmsmb8a305vzncrr6dakdz4-cairo-1.14.4
fetching path ‘/nix/store/zfgiirz7ljmsmb8a305vzncrr6dakdz4-cairo-1.14.4’...
building path(s) ‘/nix/store/bgapijfk3q3b7hgbr1xz7cvdf89daj99-HUnit-1.3.1.0’
building path(s) ‘/nix/store/rnbs8wlaxzjzqyc42dxq451n3fwv0c4f-MonadRandom-0.4.1’
building path(s) ‘/nix/store/7xp28cqd5wjc1278r4d7mhpd7b4sw6an-base64-bytestring-1.0.0.1’
building path(s) ‘/nix/store/qj41b1y1m98jnn5k3fhfs1f8z4z0ni3s-blaze-builder-0.4.0.1’
building path(s) ‘/nix/store/j79wsvxfanfiz0bd8drj1pz376i1snpd-byteable-0.1.1’
building path(s) ‘/nix/store/bkcbhal4jhmg3dym255nnsaq02rkihxs-bytestring-builder-0.10.6.0.0’
building path(s) ‘/nix/store/7bkmls8bjjxwiwq7jyh7n7vr46vvarcg-bytestring-builder-0.10.6.0.0’
setupCompilerEnvironmentPhase
Build with /nix/store/sdhg71mriryj63d4s5h7ghw833czxsh5-ghcjs-0.2.0.
setupCompilerEnvironmentPhase
Build with /nix/store/x90sc7agqnqf1jmmy91778b38p6g68xz-ghc-7.10.2.
setupCompilerEnvironmentPhase
Build with /nix/store/sdhg71mriryj63d4s5h7ghw833czxsh5-ghcjs-0.2.0.
setupCompilerEnvironmentPhase
Build with /nix/store/sdhg71mriryj63d4s5h7ghw833czxsh5-ghcjs-0.2.0.
setupCompilerEnvironmentPhase
Build with /nix/store/sdhg71mriryj63d4s5h7ghw833czxsh5-ghcjs-0.2.0.
setupCompilerEnvironmentPhase
Build with /nix/store/sdhg71mriryj63d4s5h7ghw833czxsh5-ghcjs-0.2.0.
setupCompilerEnvironmentPhase
Build with /nix/store/x90sc7agqnqf1jmmy91778b38p6g68xz-ghc-7.10.2.

*** Downloading ‘ryantrinklecom:5443/nar/zfgiirz7ljmsmb8a305vzncrr6dakdz4.nar.bz2’ (signed by ‘ryantrinkle.com-1’) to ‘/nix/store/zfgiirz7ljmsmb8a305vzncrr6dakdz4-cairo-1.14.4’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0unpacking sources
unpacking source archive /nix/store/g5p9df8hkyrp8qlxkzashja72b7ij6na-bytestring-builder-0.10.6.0.0.tar.gz
source root is bytestring-builder-0.10.6.0.0
patching sources
unpacking sources
unpacking source archive /nix/store/z2vknl50nmn26f42fggxl7j9hap7x2qi-MonadRandom-0.4.1.tar.gz
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-bytestring-builder-0.10.6.0.0.drv-1/package.conf.d -j1 -threaded
source root is MonadRandom-0.4.1
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-MonadRandom-0.4.1.drv-0/package.conf.d -j1 -threaded
100 746k 0 746k 0 0 1034k 0 --:--:-- --:--:-- --:--:-- 1035k

building path(s) ‘/nix/store/dsvgx1m8d3yig3infzxnj3yk7n3prb5w-Cabal-1.23.0.0’
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-bytestring-builder-0.10.6.0.0.drv-1/Main.o )
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-MonadRandom-0.4.1.drv-0/Main.o )
setupCompilerEnvironmentPhase
Build with /nix/store/x90sc7agqnqf1jmmy91778b38p6g68xz-ghc-7.10.2.
Linking Setup ...
Linking Setup ...
unpacking sources
unpacking source archive /nix/store/x12ps5nc26v2zay45axnfwkqfl7kl062-cabal-fe7b8784ac0a5848974066bdab76ce376ba67277-src
source root is cabal-fe7b8784ac0a5848974066bdab76ce376ba67277-src
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-Cabal-1.23.0.0.drv-0/package.conf.d -j1 -threaded
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking sources
unpacking source archive /nix/store/75im0c38d5da44kd1lcp7l95x703v0pd-base64-bytestring-1.0.0.1.tar.gz
unpacking source archive /nix/store/z36ss6a9y2vvfk70pgri0pliagbqy8wh-blaze-builder-0.4.0.1.tar.gz
unpacking source archive /nix/store/kc8cd3pk3qkakxzpamcr4f81vp95hmf2-byteable-0.1.1.tar.gz
unpacking source archive /nix/store/87gscjyic9q1raafcrzbrqygp2jgwhml-HUnit-1.3.1.0.tar.gz
unpacking source archive /nix/store/g5p9df8hkyrp8qlxkzashja72b7ij6na-bytestring-builder-0.10.6.0.0.tar.gz
source root is base64-bytestring-1.0.0.1
source root is byteable-0.1.1
source root is HUnit-1.3.1.0
source root is bytestring-builder-0.10.6.0.0
patching sources
patching sources
source root is blaze-builder-0.4.0.1
patching sources
patching sources
compileBuildDriverPhase
patching sources
compileBuildDriverPhase
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-base64-bytestring-1.0.0.1.drv-0/package.conf.d -j1
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-byteable-0.1.1.drv-0/package.conf.d -j1
setupCompileFlags: -package-db=/tmp/nix-build-HUnit-1.3.1.0.drv-0/package.conf.d -j1
compileBuildDriverPhase
setupCompileFlags: -package-db=/tmp/nix-build-bytestring-builder-0.10.6.0.0.drv-0/package.conf.d -j1
setupCompileFlags: -package-db=/tmp/nix-build-blaze-builder-0.4.0.1.drv-0/package.conf.d -j1
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-byteable-0.1.1.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-bytestring-builder-0.10.6.0.0.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-base64-bytestring-1.0.0.1.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.lhs, /tmp/nix-build-HUnit-1.3.1.0.drv-0/Main.js_o )
[1 of 1] Compiling Main ( Setup.hs, /tmp/nix-build-blaze-builder-0.4.0.1.drv-0/Main.js_o )
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
Linking Setup.jsexe (Main)
[ 1 of 81] Compiling Distribution.Lex ( Distribution/Lex.hs, /tmp/nix-build-Cabal-1.23.0.0.drv-0/Distribution/Lex.o )
[ 2 of 81] Compiling Distribution.Simple.Program.Internal ( Distribution/Simple/Program/Internal.hs, /tmp/nix-build-Cabal-1.23.0.0.drv-0/Distribution/Simple/Program/Internal.o )
[ 3 of 81] Compiling Distribution.GetOpt ( Distribution/GetOpt.hs, /tmp/nix-build-Cabal-1.23.0.0.drv-0/Distribution/GetOpt.o )
ghcjs-0.2.0-7.10.2.bin: ghcjs-0.2.0-7.10.2.bin: ghcjs-0.2.0-7.10.2.bin: ghcjs-0.2.0-7.10.2.bin: ghcjs-0.2.0-7.10.2.bin: out of memory (requested 1048576 bytes)out of memory (requested 1048576 bytes)out of memory (requested 2097152 bytes)out of memory (requested 1048576 bytes)out of memory (requested 1048576 bytes)

collect2: error: ld terminated with signal 9 [Killed]
[ 4 of 81] Compiling Distribution.Compat.Binary ( Distribution/Compat/Binary.hs, /tmp/nix-build-Cabal-1.23.0.0.drv-0/Distribution/Compat/Binary.o )
builder for ‘/nix/store/2pkxj2cjdq2apan4gy348r4pkr7sh78z-blaze-builder-0.4.0.1.drv’ failed with exit code 1
fetching path ‘/nix/store/9whqi6c6rhb28gjhnpxdx3ppnx56c248-cairo-0.13.1.1’...
fetching path ‘/nix/store/a2nqxzkbrv7qib05xhm3wc0mpcyr6qm6-harfbuzz-1.0.6’...
fetching path ‘/nix/store/aiczb8v8apdv0way4rwslqmgkwl31j19-harfbuzz-1.0.6’...
building path(s) ‘/nix/store/g2hj4grrccj8h9rrijiyp6wlnbwzcb0y-MemoTrie-0.6.4’
building path(s) ‘/nix/store/n5h11w9ng54ahz66mn4ja1bh5gvv1jji-bytestring-mmap-0.2.2’
cannot build derivation ‘/nix/store/7gmqbcx6x3463fylffhza4740vrc1fdk-ghcjs-0.2.0.drv’: 1 dependencies couldn't be built
killing process 9682
killing process 9681
killing process 9680
error: build of ‘/nix/store/7gmqbcx6x3463fylffhza4740vrc1fdk-ghcjs-0.2.0.drv’ failed
/run/current-system/sw/bin/nix-shell: failed to build all dependencies
It looks like a problem occurred. Please submit an issue at

Nix setup problem, ghcjs is not exposed?

$ ./try-reflex                          
If you have any trouble with this script, please submit an issue at https://github.com/reflex-frp/reflex-platform/issues
Entering the reflex sandbox...

$ ghcjs
ghcjs: command not found

Any ideas why the ghcjs is not exposed?

Doesn't add dependency for ruby?

This is using nixos 16.09

Command:  ./try-reflex
If you have any trouble with this script, please submit an issue at https://github.com/reflex-frp/reflex-platform/issues
Entering the reflex sandbox...
download-from-binary-cache.pl: binary cache ‘https://nixcache.reflex-frp.org’ is not trusted (please add it to ‘trusted-binary-caches’ in /etc/nix/nix.conf)
building path(s) ‘/nix/store/a7zbgbalgzzv7q6i56z8hv35pdhmc268-stage2.nix’
/tmp/nix-build-stage2.nix.drv-0/.attr-0: /nix/store/vm4kk8235hk5l43fg85g8591imx6ii6z-vl9rw5abqv10s0pymifiba64kwnjapnb-nixpkgs-channels-26d25774fae5b60c0c5ddbf37bae163c9569e4ff-src/pkgs/development/compilers/ghcjs/gen-stage2.rb: /usr/bin/env: bad interpreter: No such file or directory
builder for ‘/nix/store/iagqnifrbn4ljyzn7s3dnv99r1hmj9c9-stage2.nix.drv’ failed with exit code 126
error: build of ‘/nix/store/iagqnifrbn4ljyzn7s3dnv99r1hmj9c9-stage2.nix.drv’ failed
(use ‘--show-trace’ to show detailed location information)
download-from-binary-cache.pl: binary cache ‘https://nixcache.reflex-frp.org’ is not trusted (please add it to ‘trusted-binary-caches’ in /etc/nix/nix.conf)
building path(s) ‘/nix/store/a7zbgbalgzzv7q6i56z8hv35pdhmc268-stage2.nix’
/tmp/nix-build-stage2.nix.drv-0/.attr-0: /nix/store/vm4kk8235hk5l43fg85g8591imx6ii6z-vl9rw5abqv10s0pymifiba64kwnjapnb-nixpkgs-channels-26d25774fae5b60c0c5ddbf37bae163c9569e4ff-src/pkgs/development/compilers/ghcjs/gen-stage2.rb: /usr/bin/env: bad interpreter: No such file or directory
builder for ‘/nix/store/iagqnifrbn4ljyzn7s3dnv99r1hmj9c9-stage2.nix.drv’ failed with exit code 126
error: build of ‘/nix/store/iagqnifrbn4ljyzn7s3dnv99r1hmj9c9-stage2.nix.drv’ failed
(use ‘--show-trace’ to show detailed location information)
It looks like a problem occurred.  Please submit an issue at https://github.com/reflex-frp/reflex-platform/issues - include ./try-reflex.log to provide more information

Using cabal inside the sandbox

I can see that you recently added cabal install to the sandbox, which is great. I am trying to build the reflex-todomvc from inside the sandbox using cabal and it is failing. I added file-embed to packages.nix to no avail.

# from inside the sandbox
[nix-shell:~/Programming/try-reflex]$ cd reflex-todomvc
[nix-shell:~/Programming/try-reflex/reflex-todomvc]$ cabal configure --ghcjs
Resolving dependencies...
Configuring reflex-todomvc-0.1...

[nix-shell:~/Programming/try-reflex/reflex-todomvc]$ cabal build
Building reflex-todomvc-0.1...
Preprocessing executable 'reflex-todomvc' for reflex-todomvc-0.1...
<command line>: cannot satisfy -package-id file-embed-0.0.8.2-66ad5167ec0e9648ab66cf75960deb01
    (use -v for more information)

I would really like to not have to build manually using ghcjs, since cabal support seems to exist. Can you help somehow?

servant-client fails to install

Hello,
I'm trying to use reflex-dom in the same project with a servant api. I'd like to use the servant-client library to make typed calls from the reflex-dom UI to the server.

When I add "servant" to packages.nix ./try-reflex seems to work, but when I add the additional "servant-client", it fails.

pkgAndLog.zip

installing try-reflex on Windows 7/Cygwin 64

When trying to install try-reflex on cygwin, under Windows 7, I got error message: sorry, there is no binary distribution of Nix for your platform
It looks like a problem occurred..

Is there an installation for windows or Cygwin? I am somewhat of a newbie in Haskell environment, so please excuse if this is an obvious/dumb question.

/homeless-shelter exists

If you have any trouble with this script, please submit an issue at https://github.com/ryantrinkle/try-reflex/issues
Entering the reflex sandbox...
It looks like a problem occurred.  Please submit an issue at https://github.com/ryantrinkle/try-reflex/issues

The short bit output to stderr is

these derivations will be built:
  /nix/store/nd0m8rm4v5gfkds004i761c1j61vqylk-ghcjs-0.1.0.drv
these paths will be fetched (0.00 MiB download, 5.14 MiB unpacked):
  /nix/store/ph5xpv2d2rqf7vcl37199ylw1ljmr8m9-cabal-install-1.22.0.0
building path(s) ‘/nix/store/381d44agq83ph8i3zn6pzlndb5mixj0z-ghcjs-0.1.0’
error: directory ‘/homeless-shelter’ exists; please remove it
/Users/tel/.nix-profile/bin/nix-shell: failed to build all dependencies

I can get more information, even a fresh rebuild, if useful, too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.