Comments (19)
Almost: commercialhaskell/stack#749
from reflex-platform.
http://lists.science.uu.nl/pipermail/nix-dev/2015-September/018138.html nixpkgs now has LTS. Whenever there is an LTS supporting ghc and ghcjs (should have same library versions for both compilers), it would probably be best to use that.
Then the infrastructure here can probably be cut down a bit, and nix and stack can both be used.
from reflex-platform.
Absolutely. Both of these are great ideas. If anyone has time to test out upgrading nixpkgs to 15.09 or installing reflex-dom with stack, that would be really helpful.
from reflex-platform.
I can confirm reflex-todomvc compiles using latest stack + ghcjs-0.2(improved-base) <3
I'm pretty sure nixpkgs should be currently broken in El Capitan, but with stack
ghcjs dev environment should not be affected \o/ (but I'll wait until someone confirms :P)
for example in reflex-todomvc
repo all you would need to do after having latest stack
installed + a proper stack.yaml
(waiting on thoughts for integration of nixpkgs(lts) + stack before submitting a PR) is
# get some fresh air until booting is done
stack setup
stack build
open $(stack path --local-install-root)/bin/reflex-todomvc.jsexe/index.html
in ghcjs repo improved-base was recently merged into master
@ryantrinkle maybe reflex-* repos should follow for develop branches? :P
lmk if I can help or thoughts
from reflex-platform.
@luigy -- I can't seem to repeat your experience.
ghcjs-0.2 (improved-base) and stack work fine for me, but I get conflicting dependencies when I attempt to build reflex/reflex-dom. (Tried a few different versions of a stack.yaml, to no avail.) Can you share your stack.yaml?
from reflex-platform.
@jasonzoladz I've uploaded a repo with the steps I took
after you have a recent stack
version installed clone my repo and run ./try-stack-reflex
from reflex-platform.
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. Based on http://lists.science.uu.nl/pipermail/nix-dev/2015-October/018270.html and talking on IRC, everyone wants this is and should happen soon. 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.
- 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.
from reflex-platform.
@k0001 I see you have done some work getting reflex and friends working on recent nixpkgs. Tagging you in case you have anything to add.
from reflex-platform.
@Ericson2314, thanks so much for looking into this. That sounds great.
from reflex-platform.
Thanks!
from reflex-platform.
@luigy Thanks! Works great. (The bash script identifies where I went wrong.) I'm a little lightheaded; this new ghcjs-actually-installs-easily-world discombobulates me. Where's U2 a track when you need it?
from reflex-platform.
(sent from my phone, sorry for any typos)
Thanks for copying me here @Ericson2314.
I just wanted to mention that, as of today, reflex-dom (the hammishmack-something branch, I can't remember the name now) builds out of the box in nixpkgs master, using a post improved-base ghcjs. I'm happy to continue keeping this up to date.
I'm all for an lts constrained setup in nixpkgs too, but that won't happen before ghcjs is released to hackage.
I can't comment about try-reflex as I have never used that.
from reflex-platform.
I already opened an issue about getting onto a modern nixpkgs, so I updated my todo list there: #24
from reflex-platform.
FYI, I just sent a pull request with some updates to the GHCJS suite: NixOS/nixpkgs#10234
from reflex-platform.
@luigy Thanks so much for sharing your work! What will it take to get this out of the "custom patching" phase and into the mainstream?
from reflex-platform.
The "custom patching" was required for some version bumps that were not compatible with the Stackage snapshots I was using to test which have been updated by Ryan already (reflex-dom still needs to relax it's bounds for bifunctor package, though)
btw @3noch I've pushed support for stack 1.7 (which now includes Stackage snapshot support for ghcjs builds), and also support for ghcjs old-base... try it out and lmk how it goes :)
The only issue I ran with it is that it currently requires having ghc compiler in your path to build
from reflex-platform.
+1 was able to build reflex todo with your stack project
from reflex-platform.
Closing this since there hasn't been any activity in a couple years. Feel free to reopen if there is an issue that needs resolution here that I've missed.
from reflex-platform.
https://github.com/reflex-frp/reflex-platform/blob/develop/STACK.md
from reflex-platform.
Related Issues (20)
- android build is broken on develop HOT 1
- network-3.1.1.1 and ghcjs HOT 2
- Support for ARM host builds of Android targets? HOT 1
- Issue building frontend on ARM64 Linux. HOT 3
- Adaptive icons for Android Oreo&up
- GHC version support HOT 2
- App Store rejects apk as being not zipalign processed HOT 2
- How to target Android API version 30 HOT 3
- try-reflex reports "cannot connect to socket" and "cannot coerce null to a string" HOT 2
- ListLike-4.7.2 compiling error using ghc_8_10 in develop branch HOT 1
- No ghc-8.10.4 for M1 macOS HOT 2
- Strange Hoogle error on opening a Nix shell HOT 3
- ghcjs-dom-jsffi breaks android builds HOT 2
- Caching for aarch64-linux? HOT 2
- "cannot connect to socket" on macOS aarch64 HOT 4
- Cannot bootstrap GHC on aarch64 HOT 3
- try-reflex script outdated or not setting up properly HOT 2
- Being able to specify `jsaddle-warp` port HOT 1
- If anyone else comes across this thread, I was able to get a `haskell-language-server` with the latest `reflex-platform` (1.1.1.0) (uses ghc 8.10.7 ) by doing the steps mentioned here (btw I'm not using obelisk):
- Can't build `haskell-language-server` on new reflex-platform 1.2.0.0 version HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reflex-platform.