Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

elm: add the platform and helpful scripts #9233

Merged
merged 2 commits into from
Aug 17, 2015
Merged

Conversation

abbradar
Copy link
Member

cc @peti -- I haven't integrated this into haskell-modules, instead using overrides to add needed packages. Maybe we want to do this some other way?

TODO:

  • Documentation
  • A way to package elm modules? (don't see any use case for now)

@peti
Copy link
Member

peti commented Aug 14, 2015

This patch looks fine to me. I wonder about two things:

  1. Why don't the packages live underneath pkgs/development/pkgs/development/elm-modules? Putting them underneath the compiler is unusual in Nixpkgs.
  2. What is the reason for duplicating Haskell build expressions like elm-compiler rather than using the ones we already have?

@abbradar
Copy link
Member Author

  1. This is the Elm platform without any Elm packages in Hackage sense (well, there are technically several packages for elm-reactor, but they are isolated), consisting of a compiler, a REPL, a debugger and Cabal-like utilities -- I felt that this is more a "compiler" than "modules".
  2. The upstream has stopped updating Hackage packages and promotes their own build script which checks out specific git tags and builds a sandbox. I'm using a small Ruby script to generate needed packages from their specification. For instance, elm-compiler-0.15.1 is not on Hackage.

EDIT: Elm does have a package library, but I don't see any use case or a way to package it -- it would require changes in their package manager.

@peti
Copy link
Member

peti commented Aug 14, 2015

Thank you for the explanations! I wish the Elm people would deprecate their package on Hackage if they don't intend to maintain it there anymore.

@peti
Copy link
Member

peti commented Aug 14, 2015

Anyway, the code looks fine to me. Merge away if you feel that it's ready. Also, I'm about to push 9e7ce5b to disable the broken Elm variants in the haskellPackages set.

@doshitan
Copy link
Contributor

I came up with my own hack to get the latest Elm stuff before I saw this. Your approach is much better (^_^). My hack is here if you want to take a look. I kept the Elm packages a part of haskellPackages, just providing versions that sourced from GitHub instead of Hackage.

My only suggestion for this pull request is that elm-repl requires both elm-make and nodejs to exist in it's $PATH in order for it to actually work. elm-repl has flags to point it at the specific compiler and interpreter binaries you want to use, but being in $PATH is good enough (it will look for elm-make and node or nodejs binaries to use by default). I just used wrapProgram.

@rehno-lindeque
Copy link
Contributor

@evancz can probably mark the Hackage packages as deprecated

@evancz
Copy link

evancz commented Aug 16, 2015

They are all marked as deprecated.

@rehno-lindeque
Copy link
Contributor

Thanks!

@rehno-lindeque
Copy link
Contributor

Also paging

I just noticed your packages was also marked broken in 9e7ce5b#diff-8f392bd0e4fd42a66d9e0cd4901ec287R919. Are they deprecated?

I'm sure some of these are still actively maintained on Hackage (not part of the Elm platform). elm-bridge was just announced the other day.

These all depend on deprecated packages, so I'm guessing it's safe to mark deprecated:

  • @kylcarte wrt snap-elm (not included in the commit, but is probably broken)
  • @tazjin wrt elm-yesod
  • @maxsnew wrt hakyll-elm

Please mark as deprecated on Hackage if you don't mind.

@JustusAdam
Copy link

elm-init doesn't depend on any elm platform packages.

I personally haven't used any package distribution other than hackage and I'd appreciate if someone could tell me what the canonical way of publishing elm related software is now so I can submit upstream changes to the right place.

@agrafix
Copy link

agrafix commented Aug 16, 2015

@rehno-lindeque elm-bridge does not depend on any elm platform packages and is not deprecated.

@abbradar
Copy link
Member Author

@peti I believe there was a misunderstanding (correct me if I'm wrong!) -- Elm platform consists only of

  • elm-make
  • elm-package
  • elm-repl
  • elm-compiler
  • elm-reactor
  • Elm (deprecated)
  • elm-get (deprecated, too)
  • elm-server (deprecated)

Other packages are not in the platform (nor in my PR) and their authors still release them on Hackage.

EDIT: I've looked though now-broken package list. Those packages do depend on elm-compiler and while we don't know what to do with them we may want to leave them as broken:

  • elm-yesod

  • elm-build-lib

    Also added deprecated platform packages to the list above.

@abbradar
Copy link
Member Author

@doshitan Thanks for your advice! I'll fix this, add some documentation and this should be good to go.

@rehno-lindeque
Copy link
Contributor

@JustusAdam I think it's probably something you can bring up in the elm-discuss mailinglist, we probably want to avoid spamming this PR. (I believe Hackage should be fine as long as you don't depend on Elm platform packages).

abbradar added a commit that referenced this pull request Aug 17, 2015
elm: add the platform and helpful scripts
@abbradar abbradar merged commit 42ea0d3 into NixOS:master Aug 17, 2015
@JoeyEremondi
Copy link

Sorry for the dealy on my part, I just depricated elm-build-lib, it hasn't
been updated in a while, and I'm not sure if anyone is using it.

On Mon, Aug 17, 2015 at 12:32 PM, Nikolay Amiantov <notifications@github.com

wrote:

Merged #9233 #9233.


Reply to this email directly or view it on GitHub
#9233 (comment).

manpages pushed a commit to manpages/nixpkgs-haskell-injection that referenced this pull request Aug 18, 2015
@abbradar abbradar deleted the elm branch December 23, 2021 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.status: work-in-progress This PR isn't done
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants