about summary refs log tree commit diff
path: root/pkgs/development/compilers/neko
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2009-11-30 01:05:07 +0000
committerMarc Weber <marco-oweber@gmx.de>2009-11-30 01:05:07 +0000
commit4a999a3811e528664f025b16efe358f65510378e (patch)
tree0801a4ba53931e4d1b09c16e370a8253e5eb3a77 /pkgs/development/compilers/neko
parentc5b2c2c40a7392fe5ddddf401344fb16f16ca3f1 (diff)
downloadnixlib-4a999a3811e528664f025b16efe358f65510378e.tar
nixlib-4a999a3811e528664f025b16efe358f65510378e.tar.gz
nixlib-4a999a3811e528664f025b16efe358f65510378e.tar.bz2
nixlib-4a999a3811e528664f025b16efe358f65510378e.tar.lz
nixlib-4a999a3811e528664f025b16efe358f65510378e.tar.xz
nixlib-4a999a3811e528664f025b16efe358f65510378e.tar.zst
nixlib-4a999a3811e528664f025b16efe358f65510378e.zip
adding neko
adding repository locations for haxe* and neko repositories

svn path=/nixpkgs/trunk/; revision=18709
Diffstat (limited to 'pkgs/development/compilers/neko')
-rw-r--r--pkgs/development/compilers/neko/default.nix55
-rw-r--r--pkgs/development/compilers/neko/disable-modules.patch59
2 files changed, 114 insertions, 0 deletions
diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix
new file mode 100644
index 000000000000..10b1a85f71dc
--- /dev/null
+++ b/pkgs/development/compilers/neko/default.nix
@@ -0,0 +1,55 @@
+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";
+
+  src = sourceByName "neko";
+
+  # 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
+    sed -i "s@/usr/local@$out@" Makefile
+    ensureDir $out/{bin,lib}
+  '';
+
+  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;
+
+  postInstall = ''
+    wrapProgram "$out/bin/nekoc" \
+      --set "LD_LIBRARY_PATH" $out/lib/neko \
+  
+    wrapProgram "$out/bin/neko" \
+      --set "LD_LIBRARY_PATH" $out/lib/neko \
+  '';
+
+  # TODO make them optional and make them work 
+  patches = [ ./disable-modules.patch ];
+})
diff --git a/pkgs/development/compilers/neko/disable-modules.patch b/pkgs/development/compilers/neko/disable-modules.patch
new file mode 100644
index 000000000000..d4d5a8eb30ee
--- /dev/null
+++ b/pkgs/development/compilers/neko/disable-modules.patch
@@ -0,0 +1,59 @@
+diff --git a/src/tools/install.neko b/src/tools/install.neko
+index 4cffa5e..5702add 100644
+--- a/src/tools/install.neko
++++ b/src/tools/install.neko
+@@ -39,26 +39,6 @@ buffer_string = $loader.loadprim("std@buffer_string",1);
+ // LIBS DATAS
+ 
+ libs = {
+-	mod_neko => {
+-		src => $array("../../vm/stats","mod_neko","cgi"),
+-		inc => "httpd.h",
+-		incname => "Apache 1.3.x"
+-	},
+-	mod_neko2 => {
+-		src => $array("../../vm/stats","mod_neko","cgi"),
+-		inc => $array("httpd.h","apr.h"),
+-		incname => "Apache 2.2.x",
+-		cflags => "-D_LARGEFILE64_SOURCE",
+-		realdir => "mod_neko",
+-		apache2 => true,
+-	},
+-	mysql => {
+-		src => $array("mysql"),
+-		inc => "mysql.h",
+-		incname => "MySQL 4.+"
+-		lib => "libmysqlclient_r.a",
+-		lparams => "-lz -lssl"
+-	},
+ 	mysql5 => {
+ 		src => $array("../common/sha1","../common/socket","my_proto/my_proto","my_proto/my_api","mysql"),
+ 		inc => $array(),
+@@ -83,27 +63,6 @@ libs = {
+ 		incname => "Sqlite 3",
+ 		lparams => "-lsqlite3",
+ 	},
+-	ui => {
+-		src => $array("ui"),
+-		inc => switch system { "Mac" => "Carbon.h" default => "gtk/gtk.h" },
+-		incname => switch system { "Mac" => "Carbon" default => "GTK+2.0" },
+-		cflags => switch system { "Mac" => "" default => "`pkg-config --cflags gtk+-2.0`" },
+-		lparams => switch system { "Mac" => "-framework Carbon" default => "`pkg-config --libs gtk+-2.0` -lgthread-2.0" },
+-	},
+-	mod_tora => {
+-		src => $array("../common/socket","protocol","mod_tora"),
+-		inc => "httpd.h",
+-		incname => "Apache 1.3.x",
+-		cflags => "-I../common",
+-	},
+-	mod_tora2 => {
+-		src => $array("../common/socket","protocol","mod_tora"),
+-		inc => $array("httpd.h","apr.h"),
+-		incname => "Apache 2.2.x",
+-		cflags => "-D_LARGEFILE64_SOURCE -I../common",
+-		realdir => "mod_tora",
+-		apache2 => true,
+-	},
+ }
+ 
+ // PLATFORM