Cargo downloads your Rust project's dependencies and builds your
project.
The cargoSnapshot derivation simply uses a binary build, because
it's not easy to build cargo from source yet.
In the future, it's expected that we'll also add a derivation for
building cargo from source.
(My OCD kicked in today...)
Remove repeated package names, capitalize first word, remove trailing
periods and move overlong descriptions to longDescription.
I also simplified some descriptions as well, when they were particularly
long or technical, often based on Arch Linux' package descriptions.
I've tried to stay away from generated expressions (and I think I
succeeded).
Some specifics worth mentioning:
* cron, has "Vixie Cron" in its description. The "Vixie" part is not
mentioned anywhere else. I kept it in a parenthesis at the end of the
description.
* ctags description started with "Exuberant Ctags ...", and the
"exuberant" part is not mentioned elsewhere. Kept it in a parenthesis
at the end of description.
* nix has the description "The Nix Deployment System". Since that
doesn't really say much what it is/does (especially after removing
the package name!), I changed that to "Powerful package manager that
makes package management reliable and reproducible" (borrowed from
nixos.org).
* Tons of "GNU Foo, Foo is a [the important bits]" descriptions
is changed to just [the important bits]. If the package name doesn't
contain GNU I don't think it's needed to say it in the description
either.
This includes a lot of fixes for cross-building to Windows and Mac OS X
and could possibly fix things even for non-cross-builds, like for
example OpenSSL on Windows.
The main reason for merging this in 14.04 already is that we already
have runInWindowsVM in master and it doesn't work until we actually
cross-build Cygwin's setup binary as the upstream version is a fast
moving target which gets _overwritten_ on every new release.
Conflicts:
pkgs/top-level/all-packages.nix
Both branches have quite a lot in common, so it's time for a merge and
do the cleanups with respect to both implementations and also generalize
both implementations as much as possible.
This also closes#1876.
Conflicts:
pkgs/development/interpreters/lua-5/5.2.nix
pkgs/development/libraries/SDL/default.nix
pkgs/development/libraries/glew/default.nix
pkgs/top-level/all-packages.nix
For instance, a package can now say:
buildInputs = [ ant jre ecj ];
which would cause the Eclipse compiler to be used with the OpenJRE.
Similarly:
buildInputs = [ ant gcj ];
uses the GNU JVM with the GNU Java compiler.
Also, Ant no longer has a build-time dependency on a particular JDK.
It finds the JDK via $JAVA_HOME or $PATH (by looking up javac). This
way, we don't need to have separate packages like apacheAntOpenJDK and
apacheAntOracleJDK. It also seems reasonable: after all, installing
GNU Make doesn't give you a C compiler either. It does mean that
instead of
buildInputs = [ ant ];
you now need to write something like
buildInputs = [ ant jdk ];
* Remove package name
* Start with upper case letter
* Remove trailing period
Also reword some descriptions and move some long descriptions to
longDescription.
I'm not touching generated packages.
There are many more packages to fix, this is just a start.
Rules:
* Don't repeat the package name (not always that easy...)
* Start with capital letter
* Don't end with full stop
* Don't start with "The ..." or "A ..."
I've also added descriptions to some packages and rewritten others.
Unfortunately, leiningen will now pull in some dependencies via maven (via http) on `lein version' so the test at the end of builder.sh failed. This is okay because leiningen is used only as a interactive tool and no other package in Nixpkgs depends on it.
Signed-off-by: Moritz Ulrich <moritz@tarn-vedra.de>
This breaks some packages (notably liblapack) due to a broken macro
(CTEST_CUSTOM_POST_TEST). See NixOS/nixpkgs#762
This reverts commit ebc424c3ab.
Signed-off-by: Shea Levy <shea@shealevy.com>
The changelog is available at:
http://www.cmake.org/files/v2.8/CMakeChangeLog-2.8.11
I had to create a new patch from scratch, that's why it contains a lot
of differences. CMake developers has rewritten the files
(Modules/Platform/Linux.cmake and Modules/Platform/UnixPaths.cmake) to
comply to their coding style requirements and a lot of elements has
switched from upper to lower case.
Also, the previous patch partially consisted of commenting some
instructions mixed with line removals whereas mine is directlty
removing them in order to avoid useless evaluations and parsing in
resulting files.