2009-11-30 02:05:07 +01:00
|
|
|
args: with args;
|
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
inherit (args.composableDerivation) composableDerivation edf wwf;
|
|
|
|
|
|
|
|
libs = [ mysql apacheHttpd zlib sqlite pcre apr gtk];
|
|
|
|
|
|
|
|
includes = lib.concatMapStrings (x: ''"${x}/include",'' ) libs + ''"{gkt}/include/gtk-2.0",'';
|
|
|
|
|
|
|
|
in
|
|
|
|
|
|
|
|
composableDerivation {} ( fixed : {
|
|
|
|
|
|
|
|
name = "neko-cvs";
|
|
|
|
|
2010-05-29 20:26:45 +02:00
|
|
|
# REGION AUTO UPDATE: { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; groups = "haxe_group"; }
|
|
|
|
src = sourceFromHead "neko-F_16-06-48.tar.gz"
|
|
|
|
(fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_16-06-48.tar.gz"; sha256 = "e952582a26099b7a5568d0798839a6d349331510ffe6d7936b4537d60b6ccf26"; });
|
2009-12-11 14:58:23 +01:00
|
|
|
# END
|
2009-11-30 02:05:07 +01:00
|
|
|
|
2010-05-29 20:26:45 +02:00
|
|
|
# # REGION AUTO UPDATE: { name="neko_git"; type="git"; url=""; }
|
|
|
|
# src = sourceFromHead "neko_git-3abfb2f6d68cc301f9795e10c75734e293b4cfa9.tar.gz"
|
|
|
|
# (throw "source not not published yet: neko_git");
|
|
|
|
# # END
|
|
|
|
|
2009-11-30 02:05:07 +01:00
|
|
|
# optionally remove apache mysql like gentoo does?
|
|
|
|
# they just remove libs/{apache,mod_neko}
|
|
|
|
buildInputs = [boehmgc pkgconfig makeWrapper] ++ libs;
|
|
|
|
# apr should be in apacheHttpd propagatedBuildInputs
|
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
sed -i \
|
|
|
|
-e 's@"/usr/include",@${includes}@' \
|
|
|
|
src/tools/install.neko
|
2010-03-17 00:34:56 +01:00
|
|
|
sed -i "s@/usr/local@$out@" Makefile vm/load.c
|
|
|
|
# make sure that nekotools boot finds the neko executable and not our wrapper:
|
2009-11-30 02:05:07 +01:00
|
|
|
ensureDir $out/{bin,lib}
|
2010-03-17 00:34:56 +01:00
|
|
|
|
|
|
|
sed -i "s@\"neko\"@\".neko-wrapped\"@" src/tools/nekoboot.neko
|
|
|
|
ln -s ./neko bin/.neko-wrapped
|
2009-11-30 02:05:07 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
inherit zlib;
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "Neko is an high-level dynamicly typed programming language";
|
|
|
|
homepage = http://nekovm.org;
|
|
|
|
license = ["GPLv2" ]; # -> docs/license.txt
|
|
|
|
maintainers = [args.lib.maintainers.marcweber];
|
|
|
|
platforms = args.lib.platforms.linux;
|
|
|
|
};
|
|
|
|
|
|
|
|
# if stripping was done neko and nekoc would be the same. ?!
|
|
|
|
dontStrip = 1;
|
|
|
|
|
2010-03-17 00:34:56 +01:00
|
|
|
# neko-wrapped: nekotools boot has to find it. So don't prefix wrapped executable by "."
|
2009-11-30 02:05:07 +01:00
|
|
|
postInstall = ''
|
2010-03-17 00:34:56 +01:00
|
|
|
for prog in nekotools nekoc; do
|
|
|
|
wrapProgram "$out/bin/$prog" \
|
|
|
|
--prefix "LD_LIBRARY_PATH" $out/lib/neko
|
|
|
|
done
|
2009-11-30 02:05:07 +01:00
|
|
|
|
|
|
|
wrapProgram "$out/bin/neko" \
|
2010-03-17 00:34:56 +01:00
|
|
|
--prefix "LD_LIBRARY_PATH" $out/lib/neko
|
|
|
|
|
|
|
|
# create symlink so that nekotools boot finds not wrapped neko-wrapped executable
|
|
|
|
ln -s ln -s ../../bin/.neko-wrapped $out/lib/neko
|
2009-11-30 02:05:07 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
# TODO make them optional and make them work
|
|
|
|
patches = [ ./disable-modules.patch ];
|
|
|
|
})
|