mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 12:53:59 +03:00
ocaml-re2: add initial version (112.06.00) to the system
This commit is contained in:
parent
b7ea979a75
commit
59b94c36f8
17
pkgs/development/ocaml-modules/re2/Makefile.patch
Normal file
17
pkgs/development/ocaml-modules/re2/Makefile.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
--- ./lib/Makefile 2014-11-18 08:16:19.000000000 -0800
|
||||||
|
+++ ./lib/Makefile 2015-05-23 14:48:31.000000000 -0700
|
||||||
|
@@ -6,12 +6,12 @@
|
||||||
|
all: libre2_stubs.a dllre2_stubs.so
|
||||||
|
|
||||||
|
dllre2_stubs.so libre2_stubs.a: stubs.o $(LIBRE2)
|
||||||
|
- ocamlmklib -oc re2_stubs stubs.o $(LIBRE2) -lstdc++
|
||||||
|
+ ocamlmklib -oc re2_stubs stubs.o $(LIBRE2) -lc++
|
||||||
|
rm libre2_stubs.a # ocamlmklib just includes $(LIBRE2) inside the stubs archive
|
||||||
|
cp $(LIBRE2) libre2_stubs.a && ar r libre2_stubs.a stubs.o
|
||||||
|
|
||||||
|
stubs.o: stubs.cpp stubs.h util.h enum_x_macro.h
|
||||||
|
- g++ -O2 -DPIC -fPIC -g -pipe -DCAML_NAME_SPACE -Wall -I. -I../../../include \
|
||||||
|
+ $(CXX) -O2 -DPIC -fPIC -g -pipe -DCAML_NAME_SPACE -Wall -I. -I../../../include \
|
||||||
|
-I$(RE2_HOME) -I$(ocaml-version-selected-include-path) -c stubs.cpp
|
||||||
|
|
||||||
|
#stubs.o: %.o: %.cpp %.h
|
29
pkgs/development/ocaml-modules/re2/default.nix
Normal file
29
pkgs/development/ocaml-modules/re2/default.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{stdenv, buildOcaml, fetchurl, ocaml, core, pa_ounit, pa_test,
|
||||||
|
bin_prot, comparelib, sexplib, rsync}:
|
||||||
|
|
||||||
|
buildOcaml rec {
|
||||||
|
name = "re2";
|
||||||
|
version = "112.06.00";
|
||||||
|
|
||||||
|
minimumSupportedOcamlVersion = "4.00";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/janestreet/re2/archive/${version}.tar.gz";
|
||||||
|
sha256 = "a538765872363fcb67f12b95c07455a0afd68f5ae9008b59bb85a996d97cc752";
|
||||||
|
};
|
||||||
|
patches = if stdenv.isDarwin
|
||||||
|
then [./Makefile.patch ./myocamlbuild.patch]
|
||||||
|
else null;
|
||||||
|
|
||||||
|
buildInputs = [ pa_ounit pa_test rsync ];
|
||||||
|
propagatedBuildInputs = [ core bin_prot comparelib sexplib ];
|
||||||
|
|
||||||
|
hasSharedObjects = true;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/janestreet/re2;
|
||||||
|
description = "OCaml bindings for RE2";
|
||||||
|
license = stdenv.lib.licenses.asl20;
|
||||||
|
maintainers = [ maintainers.ericbmerritt ];
|
||||||
|
};
|
||||||
|
}
|
24
pkgs/development/ocaml-modules/re2/myocamlbuild.patch
Normal file
24
pkgs/development/ocaml-modules/re2/myocamlbuild.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
--- ./myocamlbuild.ml 2015-05-23 14:35:18.000000000 -0700
|
||||||
|
+++ ./myocamlbuild.ml 2015-05-23 15:05:24.000000000 -0700
|
||||||
|
@@ -626,16 +626,18 @@
|
||||||
|
rule "Generate lib/options.ml"
|
||||||
|
~prod:"lib/options.ml"
|
||||||
|
~deps:["lib/options.mlp"; "lib/enum_x_macro.h"]
|
||||||
|
- (fun _ _ -> Cmd (S[A"gcc"; A"-E"; A"-P"; A"-x"; A"c";
|
||||||
|
+ (fun _ _ -> Cmd (S[A"cc"; A"-E"; A"-P"; A"-x"; A"c";
|
||||||
|
P"lib/options.mlp"; A"-o"; P"lib/options.ml"]));
|
||||||
|
|
||||||
|
flag ["ocaml"; "link"; "library"; "native"] (S[A"-cclib"; A"-Llib";
|
||||||
|
A"-cclib"; A"-lre2_stubs";
|
||||||
|
- A"-cclib"; A"-lstdc++"]);
|
||||||
|
+ A"-ccopt"; A"--stdlib=libc++";
|
||||||
|
+ A"-cclib"; A"-lc++"]);
|
||||||
|
flag ["ocaml"; "link"; "library"; "byte"] (S[A"-dllib"; A"dllre2_stubs.so";
|
||||||
|
A"-cclib"; A"-Llib";
|
||||||
|
A"-cclib"; A"-lre2_stubs";
|
||||||
|
- A"-cclib"; A"-lstdc++"]);
|
||||||
|
+ A"-ccopt"; A"--stdlib=libc++";
|
||||||
|
+ A"-cclib"; A"-lc++"]);
|
||||||
|
| _ ->
|
||||||
|
()
|
||||||
|
|
@ -4315,6 +4315,8 @@ let
|
|||||||
|
|
||||||
ounit = callPackage ../development/ocaml-modules/ounit { };
|
ounit = callPackage ../development/ocaml-modules/ounit { };
|
||||||
|
|
||||||
|
re2 = callPackage ../development/ocaml-modules/re2 { };
|
||||||
|
|
||||||
tyxml = callPackage ../development/ocaml-modules/tyxml { };
|
tyxml = callPackage ../development/ocaml-modules/tyxml { };
|
||||||
|
|
||||||
ulex = callPackage ../development/ocaml-modules/ulex { };
|
ulex = callPackage ../development/ocaml-modules/ulex { };
|
||||||
|
Loading…
Reference in New Issue
Block a user