I'm not adding this to pkgs/development/libraries because it somewhat is
strongly tied to Haxe itself, because otherwise you can't compile to C++
and in the event that someone is going to create something like
"haxePackages" someday it is easier to notice when it's residing in the
Haxe folder.
In theory it would also work by using imperative haxelib, but you'll get
precompiled libraries which need to be patched on NixOS systems. That's
the main reason I was packaging this, among from the fact that even when
patching the libraries, it still leads to occasional library hell and
instabilities.
The package has two outputs: One with the library itself, needed for
compile time ($out) and another one ($lib) which is needed at runtime,
so after compiling, the $out path can be safely garbage collected.
Right now, I've set meta.platforms to Linux only, because that's where
I've tested it. In order to get it running on other platforms the
targetArch attribute has to be set accordingly.
We also build everything completely from scratch, even though there are
binaries within the source ZIP file. The main reason is to make smaller
library dependencies by avoiding bundled libraries and using the ones we
already ship with nixpkgs.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Introduces a new environment variable called HAXELIB_PATH and the patch
for haxelib is trying to search that environment variable for other
libraries. If the haxelib path for a particular library isn't found, it
reverts to the normal behaviour of searching the user's home directory
for a file called .haxelib, which in turn points to a repsitory path and
that in turn has .current/.dev files to point it to the right version
number.
This avoids workarounds like this when using Nix to build Haxe projects:
configurePhase = ''
export HOME="$(pwd)"
echo "$(pwd)" > .haxelib
mkdir dependency1
echo dev > dependency1/.current
echo "${dependency1}" > dependency1/.dev
mkdir dependency2
echo dev > dependency2/.current
echo "${dependency2}" > dependency2/.dev
'';
Now every haxelib is expected to be in $out/lib/haxe/$name and whenever
it is listed in buildInputs of another Haxe derivation, HAXELIB_PATH
gets automatically set in the build environment.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This reverts commit a0716f28af.
Starting with r6706, externals now have a fixed revision, so we no longer need
to ignore them.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Conflicts:
pkgs/development/compilers/haxe/default.nix
So, finally, Haxe 3 is stable :-)
An overview of the new features can be found here:
http://haxe.org/manual/haxe3/features
This version now has a new build target "tools", so let's use it.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Now, our builds shouldn't break anymore once there is a new change in ocamllibs.
I've used revision 256 from ocamllibs, because this was approximately the
revision we had back then when Haxe 2.10 got released.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Previously, we installed std by omitting the tools directory. Now, there are
occasions where you actually want to use things like tools.haxelib from within
your project, for example to create something that interfaces with the haxelib
API. So we now just remove all files in there that were created during the main
build in postBuild.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
As well as for neko, we now have way less cruft within the mkDerivation
attribute set. We also now use make to build haxe, which will include haxelib
and haxedoc as well.
The main reason why I was doing this was because the package didn't build and
still was referencing mawercer.de, which does not contain those tarballs
anymore.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
source regions which are substituded by the tool nix-repository-manager.
See http://github.com/MarcWeber/nix-repository-manager/raw/master/README.
sourceByName is called sourceFromHead now.
updates: MPlayerTrunk, haxe, neko, netsurf, cinelerra, ctags
cinelerra does no longer build due to Xorg update
svn path=/nixpkgs/trunk/; revision=18894