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>
The compiler should not expect to have dynamic versions of all libraries
available, because that configuration doesn't play along nicely with statically
linked libraries.
Fixes https://github.com/NixOS/nixpkgs/issues/6399.
lldb-3.6 is working (just waiting on a staging fix to merge), so let's just
mark this broken until we decide to nuke 3.5 all together.
Fixes#6636 refs #6668
* Don't "externalize url/rev/sha256 to permit easier override".
Just override 'src' itself. Then you can get the source from anywhere,
not just git. I needed to touch this anyway, because I want to use
fetchzip instead of fetchgit for releases (no need to clone repo).
* Latest release has "make install" improvements, simplifying our
install.
The compiler should not expect to have dynamic versions of all libraries
available, because that configuration doesn't play along nicely with statically
linked libraries.
Fixes https://github.com/NixOS/nixpkgs/issues/6399.
(A Scheme subset for Atmel microcontrollers.)
Use of the actual git HEAD because the actual tarball compiles but
segfault at runtime.
Upload the BLINK.ms sample on arduino board (/dev/ttyACM0):
```sh
$ sudo ./result/bin/microscheme -m UNO -d /dev/ttyACM0 -auc ~/repo/perso/microscheme/examples/BLINK.ms
Microscheme 0.8, (C) Ryan Suchocki
>> Treeshaker: After 4 rounds: 84 globals purged! 22 bytes will be
reserved.
>> 18 lines compiled OK
>> Assembling...
>> Uploading...
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100%
0.00s
avrdude: Device signature = 0x1e950f
avrdude: reading input file
"/home/tony/repo/perso/microscheme/examples/BLINK.hex"
avrdude: writing flash (2080 bytes):
Writing | ################################################## | 100%
0.35s
avrdude: 2080 bytes of flash written
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
avrdude done. Thank you.
>> Cleaning Up...
>> Finished.
```
This is to bring the julia version information into accordance with
section 7.3.2 of the nixpkgs manual:
The version in the filename should leave out unnecessary detail.
For instance, if we keep the latest Firefox 2.0.x and 3.5.x
versions in Nixpkgs, they should be named firefox/2.0.nix and
firefox/3.5.nix, respectively (which, at a given point, might
contain versions 2.0.0.20 and 3.5.4).
Julia uses semantic versioning (http://semver.org), so the third
digit (the patch level) represents backwards-compatible bug fixes
only.
It was mentioned in PR #5842 that Julia's testsuite fails under nixpkgs.
This PR enables the testsuite for Julia 0.3.X to demonstrate that it
works.
Since Julia is numerical software, I think it is a great idea to
merge this current PR so that Julia will always be tested in the
future.
I was unable to get the tests to pass on the 0.2.X branch. However,
this branch is dead (its latest commit was Aug 8) and will receive
no more releases.
This includes updates to elm -compiler, -make, -package and -reactor.
-repl's test suite currently breaks.
The build for elm-reactor could be more concise, but it's clean. The
final build step for elm-reactor ultimately relies on elm-package
downloading some libraries, so anything radically better would probably
need nix to step in and somehow emulate elm-package. That would take
more knowledge about elm & nix than I have...
These versions have been removed:
- 6.4.2-binary.nix
- 6.4.2.nix
- 6.6.1.nix
- 6.8.2.nix
- 6.8.3.nix
- 6.10.1-binary.nix
- 6.10.1.nix
- 6.10.2.nix
- 6.10.3.nix
- 6.11.nix
- 6.12.1-binary.nix
- 6.12.1.nix
- 6.12.2.nix
- 7.0.1.nix
- 7.0.2.nix
- 7.0.3.nix
- 7.2.1.nix
- 7.4.1.nix
- 7.6.1.nix
- 7.6.2.nix
- 7.8.3-binary.nix
As a rule of thumb, we keep the latest version in every major release. If
someone feels up to the task of fixing versions 6.4.x, 6.6.x, and 6.8.x, then
please don't hesitate to revive those builds.
Fixes https://github.com/NixOS/nixpkgs/issues/5630.