I'm glad to report that there are some encouraging results, achieved in the development of build system for Ur/Web. Nix[1] is both a general purpose package manager and a functional language designed to describe dependencies between packages. Luckily, it also can do all the things, GNU Make normally does. The idea was to develop a set of Nix combinators, which would allow user to build Ur/Web applications as easy as possible.
The project location is https://github.com/grwlf/urweb-build Currently, the only nixified application is Oilprice [2]. Originally, it was a hard task for user to build it, because Oilprice depends on 5 Ur/Web libraries which have their own dependencies too. Also, don't forget about Ur/Web itself. More often than not we are to compile it manually. Urweb-build makes it possible to obtain the sources and immediately build the application with a single command: $ git clone https://github.com/grwlf/oilprice; cd oilprice; git submodule update --init --recursive $ nix-build build.nix ... $ ls -l result result -> /nix/store/36axkqc83wfg4bx4bvh4vvm7g0s1wfi5-urweb-urp-Oilprice $ ./result/Oilprice.exe Note, that the only prerequisites for this operation are Urweb-build and Nix package manager. nix-build takes care of urweb and all its dependencies including Postgres. It comes with NixOS Linux distribution. For other distributions one may install it as usual. [1] - http://nixos.org/nixos/about.html [2] - https://github.com/grwlf/oilprice Regards, Sergey PS I had another build tool Cake (Haskell-based) which is deprecated now. urweb-build still depends on it, but soon this dependency will gone. _______________________________________________ Ur mailing list [email protected] http://www.impredicative.com/cgi-bin/mailman/listinfo/ur
