Merge branch 'staging' into modular-stdenv

Conflicts:
	pkgs/development/interpreters/perl/5.10/setup-hook.sh
	pkgs/development/interpreters/perl/5.8/setup-hook.sh
	pkgs/stdenv/linux/default.nix
This commit is contained in:
Vladimír Čunát
2014-09-08 18:24:58 +02:00
1452 changed files with 35052 additions and 23463 deletions
@@ -0,0 +1,23 @@
{stdenv, fetchurl, ocaml, findlib}:
stdenv.mkDerivation {
name = "ocaml-calendar-2.03.2";
src = fetchurl {
url = https://forge.ocamlcore.org/frs/download.php/915/calendar-2.03.2.tar.gz;
sha256 = "04pvhwb664g3s644c7v7419a3kvf5s3pynkhmk5j59dvlfm1yf0f";
};
buildInputs = [ocaml findlib];
createFindlibDestdir = true;
meta = {
homepage = https://forge.ocamlcore.org/projects/calendar/;
description = "An Objective Caml library managing dates and times";
license = "LGPL";
platforms = ocaml.meta.platforms;
maintainers = [
stdenv.lib.maintainers.gal_bolle
];
};
}
@@ -0,0 +1,36 @@
{stdenv, fetchurl, ocaml, findlib, opam}:
let
pname = "cmdliner";
version = "0.9.5";
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in
stdenv.mkDerivation {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
sha256 = "a0e199c4930450e12edf81604eeceddeeb32d55c43438be689e60df282277a7e";
};
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib opam ];
createFindlibDestdir = true;
configurePhase = "ocaml pkg/git.ml";
buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
installPhase = ''
opam-installer --script --prefix=$out ${pname}.install > install.sh
sh install.sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
'';
meta = with stdenv.lib; {
homepage = http://erratique.ch/software/cmdliner;
description = "An OCaml module for the declarative definition of command line interfaces";
license = licenses.bsd3;
platforms = ocaml.meta.platforms;
};
}
@@ -0,0 +1,27 @@
{stdenv, fetchurl, ocaml, findlib}:
stdenv.mkDerivation {
name = "ocaml-csv-1.3.3";
src = fetchurl {
url = "https://forge.ocamlcore.org/frs/download.php/1376/csv-1.3.3.tar.gz";
sha256 = "19qsvw3n7k4xpy0sw7n5s29kzj91myihjljhr5js6xcxwj4cydh2";
};
buildInputs = [ ocaml findlib ];
createFindlibDestdir = true;
configurePhase = "ocaml setup.ml -configure --prefix $out";
buildPhase = "ocaml setup.ml -build";
installPhase = "ocaml setup.ml -install";
meta = {
description = "A pure OCaml library to read and write CSV files";
homepage = "https://forge.ocamlcore.org/projects/csv/";
license = stdenv.lib.licenses.lgpl21;
platforms = ocaml.meta.platforms;
};
}
@@ -0,0 +1,29 @@
{ stdenv, fetchurl, ocaml, findlib, which, ocsigen_server, ocsigen_deriving,
js_of_ocaml, ocaml_react, ocaml_lwt, calendar, cryptokit, tyxml,
ocaml_ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp}:
stdenv.mkDerivation
{
name = "eliom-4.0.0";
src = fetchurl {
url = https://github.com/ocsigen/eliom/archive/4.0.0.tar.gz;
sha256 = "1xf2l6lvngxzwaw6lvr6sgi48rz0wxg65q9lz4jzqjarkp0sx206";
};
buildInputs = [ocaml which ocsigen_server findlib ocsigen_deriving
js_of_ocaml ocaml_react ocaml_lwt calendar
cryptokit tyxml ocaml_ipaddr ocamlnet ocaml_ssl
ocaml_pcre ocaml_optcomp];
preConfigure =
''chmod a+x configure
sed s/deriving-ocsigen/deriving/g -i configure
'';
configureFlags = "--root $(out) --prefix /";
dontAddPrefix = true;
createFindlibDestdir = true;
}
@@ -1,4 +1,4 @@
{stdenv, fetchurl, ocaml, findlib}:
{stdenv, fetchurl, ocaml, findlib, minimal ? true}:
stdenv.mkDerivation {
name = "ocaml-extlib-1.6.1";
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
configurePhase = "true"; # Skip configure
# De facto, option minimal=1 seems to be the default. See the README.
buildPhase = "make minimal=1 build";
installPhase = "make minimal=1 install";
buildPhase = "make ${if minimal then "minimal=1" else ""} build";
installPhase = "make ${if minimal then "minimal=1" else ""} install";
meta = {
homepage = http://code.google.com/p/ocaml-extlib/;
@@ -0,0 +1,9 @@
--- javalib-2.3-orig/Makefile.config.example 2013-10-30 08:35:30.000000000 +0100
+++ javalib-2.3/Makefile.config.example 2014-07-06 17:32:29.799398394 +0200
@@ -1,6 +1,3 @@
-export OCAMLFIND_DESTDIR=$(LOCALDEST)
-export OCAMLPATH=$(LOCALDEST)
-
OCAMLC = $(FINDER) ocamlc $(FLAGS)
OCAMLOPT = $(FINDER) ocamlopt $(OPT_FLAGS)
OCAMLDOC = $(FINDER) ocamldoc
@@ -0,0 +1,11 @@
--- javalib-2.3-orig/configure.sh 2013-10-30 08:35:30.000000000 +0100
+++ javalib-2.3/configure.sh 2014-07-06 17:28:39.025066199 +0200
@@ -44,7 +44,7 @@
DESTDIR=
# The ocamlpath variable for the compiler to locate the locally-installed
# packages (depends on LOCALDEST)
-OCAMLPATH=
+#OCAMLPATH=
# The packages that need to be made in addition to Savalib / Sawja
MAKEDEP=
# The packages that need to be made in addition to Savalib / Sawja
@@ -0,0 +1,42 @@
{stdenv, fetchurl, which, ocaml, findlib, camlzip, extlib}:
let
pname = "javalib";
version = "2.3";
webpage = "http://sawja.inria.fr/";
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/33090/${pname}-${version}.tar.bz2";
sha256 = "1i8djcanzm250mwilm3jfy37cz0k0x7jbnrz8a5vvdi91kyzh52j";
};
buildInputs = [ which ocaml findlib camlzip extlib ];
patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
createFindlibDestdir = true;
preConfigure = "patchShebangs ./configure.sh";
configureScript = "./configure.sh";
dontAddPrefix = "true";
preBuild = ''
make ptrees;
make installptrees;
export OCAMLPATH=$out/lib/ocaml/${ocaml_version}/site-lib/:$OCAMLPATH;
'';
propagatedBuildInputs = [ camlzip extlib ];
meta = {
description = "A library that parses Java .class files into OCaml data structures";
homepage = "${webpage}";
license = stdenv.lib.licenses.lgpl3;
platforms = ocaml.meta.platforms;
};
}
@@ -0,0 +1,41 @@
{stdenv, fetchurl, libev, ocaml, findlib, ocaml_lwt, ocaml_react, zed}:
stdenv.mkDerivation rec {
version = "1.6";
name = "lambda-term-${version}";
src = fetchurl {
url = https://github.com/diml/lambda-term/archive/1.6.tar.gz;
sha256 = "1rhfixdgpylxznf6sa9wr31wb4pjzpfn5mxhxqpbchmpl2afwa09";
};
buildInputs = [ libev ocaml findlib ocaml_lwt ocaml_react ];
propagatedBuildInputs = [ zed ];
createFindlibDestdir = true;
meta = { description = "Terminal manipulation library for OCaml";
longDescription = ''
Lambda-term is a cross-platform library for
manipulating the terminal. It provides an abstraction for keys,
mouse events, colors, as well as a set of widgets to write
curses-like applications.
The main objective of lambda-term is to provide a higher level
functional interface to terminal manipulation than, for example,
ncurses, by providing a native OCaml interface instead of bindings to
a C library.
Lambda-term integrates with zed to provide text edition facilities in
console applications.
'';
homepage = https://github.com/diml/lambda-term;
license = stdenv.lib.licenses.bsd3;
platforms = ocaml.meta.platforms;
maintainers = [
stdenv.lib.maintainers.gal_bolle
];
};
}
+15 -9
View File
@@ -1,21 +1,27 @@
{stdenv, fetchurl, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl}:
{stdenv, fetchgit, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl, libev, pkgconfig, ncurses, ocaml_oasis, ocaml_text, glib}:
let
ocaml_version = (builtins.parseDrvName ocaml.name).version;
version = "2.1.1";
version = "2.4.5";
in
stdenv.mkDerivation {
name = "ocaml-lwt-${version}";
src = fetchurl {
url = "http://ocsigen.org/download/lwt-${version}.tar.gz";
sha256 = "1zjn0sgihryshancn4kna1xslhc8gifliny1qd3a85f72xxxnw0w";
src = fetchgit {
url = git://github.com/ocsigen/lwt;
rev = "refs/tags/${version}";
sha256 = "2bbf4f216dd62eeb765a89413f3b2b6d417a9c289ca49d595bb4d7a0545e343e";
};
buildInputs = [which cryptopp ocaml findlib ocaml_react ocaml_ssl];
buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib glib libev ncurses];
configurePhase = "true";
propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text ];
configureFlags = [ "--enable-all" ];
createFindlibDestdir = true;
meta = {
homepage = http://ocsigen.org/lwt;
@@ -23,7 +29,7 @@ stdenv.mkDerivation {
license = "LGPL";
platforms = ocaml.meta.platforms;
maintainers = [
stdenv.lib.maintainers.z77z
stdenv.lib.maintainers.z77z stdenv.lib.maintainers.gal_bolle
];
};
}
@@ -0,0 +1,15 @@
{ocaml, findlib, stdenv, fetchurl}:
stdenv.mkDerivation {
name = "ocaml-ipaddr-2.4.0";
src = fetchurl {
url = https://github.com/mirage/ocaml-ipaddr/archive/2.4.0.tar.gz;
sha256 = "0g7qg35w3vzcg37798rhbx7iia83286md3gj5gdhs1qgizlg56wx";
};
buildInputs = [ocaml findlib];
createFindlibDestdir = true;
}
@@ -0,0 +1,26 @@
{stdenv, fetchurl, libiconv, ocaml, findlib, ncurses}:
stdenv.mkDerivation {
name = "ocaml-text-0.6";
src = fetchurl {
url = https://forge.ocamlcore.org/frs/download.php/937/ocaml-text-0.6.tar.gz;
sha256 = "0j8gaak0ajnlmn8knvfygqwwzs7awjv5rfn5cbj6qxqbxhjd5m6g";
};
buildInputs = [ocaml findlib libiconv ncurses];
configurePhase = "iconv_prefix=${libiconv} ocaml setup.ml -configure";
createFindlibDestdir = true;
meta = {
homepage = "http://ocaml-text.forge.ocamlcore.org/";
description = "OCaml-Text is a library for dealing with ``text'', i.e. sequence of unicode characters, in a convenient way. ";
license = "BSD";
platforms = ocaml.meta.platforms;
maintainers = [
];
};
}
@@ -0,0 +1,32 @@
{stdenv, fetchgit, ocaml, findlib, ocaml_oasis, ocaml_data_notation, ocaml_optcomp}:
stdenv.mkDerivation {
name = "ocsigen-deriving";
src = fetchgit {
url = "git://github.com/ocsigen/deriving";
rev = "refs/tags/0.6.2";
sha256 = "2b3bf3f4972d0e6eaf075f7353ce482b776726e0cd04947a89b7156384ec0662";
};
buildInputs = [ocaml findlib ocaml_oasis ocaml_data_notation ocaml_optcomp];
configurePhase = ''
make setup-dev.exe
./setup-dev.exe -configure --prefix $out
'';
createFindlibDestdir = true;
meta = {
homepage = https://github.com/ocsigen/deriving;
description = "Extension to OCaml for deriving functions from type declarations";
license = "MIT";
platforms = ocaml.meta.platforms;
maintainers = [
stdenv.lib.maintainers.gal_bolle
];
};
}
@@ -0,0 +1,37 @@
{stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl, ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ocaml_ipaddr, zlib, libev, openssl, ocaml_sqlite3, tree}:
stdenv.mkDerivation {
name = "ocsigenserver-2.4.0";
src = fetchurl {
url = https://github.com/ocsigen/ocsigenserver/archive/2.4.0.tar.gz;
sha256 = "1fjj8g6ivyfsa0446w77rjihhbw0gh5pgx7brywql2shk999riby";
};
buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt ocamlnet ocaml_pcre cryptokit tyxml ocaml_ipaddr zlib libev openssl ocaml_sqlite3 tree];
configureFlags = "--root $(out) --prefix /";
dontAddPrefix = true;
createFindlibDestdir = true;
postFixup =
''
rm -rf $out/var/run
'';
dontPatchShebangs = true;
meta = {
homepage = http://ocsigen.org/ocsigenserver/;
description = "A full featured Web server";
longDescription =''
A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages.
'';
license = "LGPL"; # <- todo: check
platforms = ocaml.meta.platforms;
maintainers = [ stdenv.lib.maintainers.gal_bolle ];
};
}
@@ -0,0 +1,25 @@
{stdenv, fetchurl, ocaml, findlib}:
stdenv.mkDerivation {
name = "ocaml-optcomp";
src = fetchurl {
url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
md5 = "d3587244dba1b8b10f24d0b60a8c700d";
};
createFindlibDestdir = true;
buildInputs = [ocaml findlib];
meta = {
homepage = https://github.com/diml/optcomp;
description = "Optional compilation for OCaml with cpp-like directives";
license = "BSD";
platforms = ocaml.meta.platforms;
maintainers = [
stdenv.lib.maintainers.gal_bolle
];
};
}
@@ -1,11 +1,11 @@
{stdenv, fetchurl, ocaml, findlib, opam}:
stdenv.mkDerivation {
name = "ocaml-react-1.0.1";
name = "ocaml-react-1.1.0";
src = fetchurl {
url = "http://erratique.ch/software/react/releases/react-1.0.1.tbz";
sha256 = "007c9kzl0i6xvxnqj9jny4hgm28v9a1i079q53vl5hfb5f7h1mda";
url = http://erratique.ch/software/react/releases/react-1.1.0.tbz;
sha256 = "1gymn8hy7ga0l9qymmb1jcnnkqvy7l2zr87xavzqz0dfi9ci8dm7";
};
unpackCmd = "tar xjf $src";
@@ -15,8 +15,13 @@ stdenv.mkDerivation {
configurePhase = "ocaml pkg/git.ml";
buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
installPhase = ''
installPhase =
let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
in
''
opam-installer --script --prefix=$out react.install > install.sh
sed -i s!lib/react!lib/ocaml/${ocamlVersion}/site-lib/react! install.sh
sh install.sh
'';
@@ -25,6 +30,6 @@ stdenv.mkDerivation {
description = "Applicative events and signals for OCaml";
license = licenses.bsd3;
platforms = ocaml.meta.platforms;
maintainers = with maintainers; [ z77z vbmithr ];
maintainers = with maintainers; [ z77z vbmithr gal_bolle];
};
}
@@ -0,0 +1,9 @@
--- sawja-1.5-orig/Makefile.config.example 2013-10-30 08:35:29.000000000 +0100
+++ sawja-1.5/Makefile.config.example 2014-07-05 18:54:37.902423482 +0200
@@ -1,6 +1,3 @@
-export OCAMLFIND_DESTDIR=$(LOCALDEST)
-export OCAMLPATH=$(LOCALDEST)
-
RECODE=-charset utf-8
DOCDIR = doc/api
@@ -0,0 +1,11 @@
--- sawja-1.5-orig/configure.sh 2013-10-30 08:35:29.000000000 +0100
+++ sawja-1.5/configure.sh 2014-07-05 18:50:26.833798254 +0200
@@ -39,7 +39,7 @@
DESTDIR=
# The ocamlpath variable for the compiler to locate the locally-installed
# packages (depends on LOCALDEST)
-OCAMLPATH=
+#OCAMLPATH=
# The path to ocamlfind
FINDER=`which ocamlfind`
# The perl executable
@@ -0,0 +1,35 @@
{stdenv, fetchurl, which, perl, ocaml, findlib, javalib }:
let
pname = "sawja";
version = "1.5";
webpage = "http://sawja.inria.fr/";
in
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/33091/${pname}-${version}.tar.bz2";
sha256 = "0i8qgqkw9vgj6k2g6npss268ivxdkzx5qj2a52jbd8ih59rn68cm";
};
buildInputs = [ which perl ocaml findlib javalib ];
patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
createFindlibDestdir = true;
preConfigure = "patchShebangs ./configure.sh";
configureScript = "./configure.sh";
dontAddPrefix = "true";
propagatedBuildInputs = [ javalib ];
meta = {
description = "A library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs";
homepage = "${webpage}";
license = stdenv.lib.licenses.gpl3Plus;
platforms = ocaml.meta.platforms;
};
}
@@ -0,0 +1,23 @@
{stdenv, fetchurl, ocaml, findlib, twt, ocaml_sqlite3 }:
stdenv.mkDerivation {
name = "ocaml-sqlite3EZ-0.1.0";
src = fetchurl {
url = https://github.com/mlin/ocaml-sqlite3EZ/archive/v0.1.0.tar.gz;
sha256 = "8ed2c5d5914a65cbd95589ef11bfb8b38a020eb850cdd49b8adce7ee3a563748";
};
buildInputs = [ ocaml findlib twt ];
propagatedBuildInputs = [ ocaml_sqlite3 ];
createFindlibDestdir = true;
meta = {
homepage = http://github.com/mlin/ocaml-sqlite3EZ;
description = "A thin wrapper for sqlite3-ocaml with a simplified interface";
license = stdenv.lib.licenses.mit;
platforms = ocaml.meta.platforms;
};
}
@@ -0,0 +1,29 @@
{stdenv, fetchurl, ocaml, findlib }:
stdenv.mkDerivation {
name = "ocaml-twt-0.93.2";
src = fetchurl {
url = https://github.com/mlin/twt/archive/v0.93.2.tar.gz;
sha256 = "aec091fbd1e6c4d252cf9664237418b4bc8c7d6b7a17475589be78365397e768";
};
buildInputs = [ ocaml findlib ];
createFindlibDestdir = true;
configurePhase = ''
mkdir $out/bin
'';
dontBuild = true;
installFlags = "PREFIX=$(out)";
meta = {
homepage = http://people.csail.mit.edu/mikelin/ocaml+twt/;
description = "The Whitespace Thing for OCaml";
license = stdenv.lib.licenses.mit;
platforms = ocaml.meta.platforms;
};
}
@@ -0,0 +1,30 @@
{stdenv, fetchurl, ocaml, findlib, ocaml_oasis}:
stdenv.mkDerivation {
name = "tyxml-3.0.0";
src = fetchurl {
url = http://ocsigen.org/download/tyxml-3.0.0.tar.gz;
sha256 = "0cvbmyg4g0lg4f23032cjlxqklisccbjgj47117wm6gva8xi7xa3";
};
buildInputs = [ocaml findlib ocaml_oasis];
createFindlibDestdir = true;
configurePhase = ''
make setup-dev.exe
./setup-dev.exe -configure --prefix $out
'';
meta = {
homepage = http://ocsigen.org/tyxml/;
description = "A library that makes it almost impossible for your OCaml programs to generate wrong XML ouput, using static typing";
license = "LGPL";
platforms = ocaml.meta.platforms;
maintainers = [
stdenv.lib.maintainers.gal_bolle
];
};
}
@@ -0,0 +1,39 @@
{stdenv, fetchurl, ocaml, findlib, opam, xmlm}:
let
pname = "uucd";
version = "2.0.0";
webpage = "http://erratique.ch/software/${pname}";
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz";
sha256 = "12lbrrdjwdxfa99pbg344dfkj51lr5d2ispcj7d7lwsqyxy6h57i";
};
buildInputs = [ ocaml findlib opam xmlm ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src";
buildPhase = "ocaml ./pkg/build.ml native=true native-dynlink=true";
installPhase = ''
opam-installer --script --prefix=$out ${pname}.install > install.sh
sh install.sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
'';
propagatedBuildInputs = [ xmlm ];
meta = {
description = "An OCaml module to decode the data of the Unicode character database from its XML representation";
homepage = "${webpage}";
platforms = ocaml.meta.platforms;
license = stdenv.lib.licenses.bsd3;
};
}
@@ -0,0 +1,37 @@
{stdenv, fetchurl, ocaml, findlib, opam}:
let
pname = "uunf";
version = "0.9.3";
webpage = "http://erratique.ch/software/${pname}";
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz";
sha256 = "16cgjy1m0m61srv1pmlc3gr0y40kd4724clvpagdnz68raz4zmn0";
};
buildInputs = [ ocaml findlib opam ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src";
buildPhase = "./pkg/build true false";
installPhase = ''
opam-installer --script --prefix=$out ${pname}.install > install.sh
sh install.sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
'';
meta = {
description = "An OCaml module for normalizing Unicode text";
homepage = "${webpage}";
platforms = ocaml.meta.platforms;
license = stdenv.lib.licenses.bsd3;
};
}
@@ -0,0 +1,37 @@
{stdenv, fetchurl, ocaml, findlib, opam}:
let
pname = "uutf";
version = "0.9.3";
webpage = "http://erratique.ch/software/${pname}";
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz";
sha256 = "0xvq20knmq25902ijpbk91ax92bkymsqkbfklj1537hpn64lydhz";
};
buildInputs = [ ocaml findlib opam ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src";
buildPhase = "./pkg/build true";
installPhase = ''
opam-installer --script --prefix=$out ${pname}.install > install.sh
sh install.sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
'';
meta = {
description = "Non-blocking streaming Unicode codec for OCaml";
homepage = "${webpage}";
platforms = ocaml.meta.platforms;
license = stdenv.lib.licenses.bsd3;
};
}
@@ -0,0 +1,37 @@
{stdenv, fetchurl, ocaml, findlib, opam}:
let
pname = "xmlm";
version = "1.2.0";
webpage = "http://erratique.ch/software/${pname}";
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz";
sha256 = "1jywcrwn5z3gkgvicr004cxmdaqfmq8wh72f81jqz56iyn5024nh";
};
buildInputs = [ ocaml findlib opam ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src";
buildPhase = "./pkg/build true";
installPhase = ''
opam-installer --script --prefix=$out ${pname}.install > install.sh
sh install.sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
'';
meta = {
description = "An OCaml streaming codec to decode and encode the XML data format";
homepage = "${webpage}";
platforms = ocaml.meta.platforms;
license = stdenv.lib.licenses.bsd3;
};
}
@@ -4,16 +4,18 @@ let
version = "1.1.8";
webpage = "http://mjambon.com/${pname}.html";
in
stdenv.mkDerivation rec {
stdenv.mkDerivation {
name = "${pname}-${version}";
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
url = "http://mjambon.com/releases/${pname}/${pname}-${version}.tar.gz";
sha256 = "0ayx17dimnpavdfyq6dk9xv2x1fx69by85vc6vl3nqxjkcv5d2rv";
};
buildInputs = [ ocaml findlib cppo easy-format biniou ];
buildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ cppo easy-format biniou ];
createFindlibDestdir = true;
@@ -0,0 +1,34 @@
{stdenv, fetchurl, ocaml, findlib, camomile, ocaml_react}:
stdenv.mkDerivation rec {
version = "1.3";
name = "ocaml-zed-${version}";
src = fetchurl {
url = https://github.com/diml/zed/archive/1.3.tar.gz;
sha256 = "1fr9xzf5msdnl2wx279aqj051nqbhs6v9aq1mfpv3r1mrqvrrfwj";
};
buildInputs = [ ocaml findlib ocaml_react];
propagatedBuildInputs = [ camomile ];
createFindlibDestdir = true;
meta = {
description = "Abstract engine for text edition in OCaml";
longDescription = ''
Zed is an abstract engine for text edition. It can be used to write text editors, edition widgets, readlines, ...
Zed uses Camomile to fully support the Unicode specification, and implements an UTF-8 encoded string type with validation, and a rope datastructure to achieve efficient operations on large Unicode buffers. Zed also features a regular expression search on ropes.
To support efficient text edition capabilities, Zed provides macro recording and cursor management facilities.
'';
homepage = https://github.com/diml/zed;
license = stdenv.lib.licenses.bsd3;
platforms = ocaml.meta.platforms;
maintainers = [
stdenv.lib.maintainers.gal_bolle
];
};
}