diff options
Diffstat (limited to 'dev-ml/labltk')
-rw-r--r-- | dev-ml/labltk/Manifest | 7 | ||||
-rw-r--r-- | dev-ml/labltk/files/findlib.patch | 20 | ||||
-rw-r--r-- | dev-ml/labltk/files/ocaml405.patch | 382 | ||||
-rw-r--r-- | dev-ml/labltk/labltk-8.06.2.ebuild | 44 | ||||
-rw-r--r-- | dev-ml/labltk/labltk-8.06.3.ebuild | 43 | ||||
-rw-r--r-- | dev-ml/labltk/metadata.xml | 8 |
6 files changed, 504 insertions, 0 deletions
diff --git a/dev-ml/labltk/Manifest b/dev-ml/labltk/Manifest new file mode 100644 index 000000000000..ba4715006732 --- /dev/null +++ b/dev-ml/labltk/Manifest @@ -0,0 +1,7 @@ +AUX findlib.patch 645 BLAKE2B 63c8dc3a2b332129bf90af98b908e1ade5a15381a903ec9591973b6a2c3843fe254fb0001ce627ec831df5d4c6885d01de679f3d7b74e6538692de08a1fcf608 SHA512 4f5172bc7d603375bda331d40708ad14e7e9e7374f97cbd11da56473ca704421f7c801559dbcc753fe8004a809b80142158974a1c5c469eb2894580121cc9442 +AUX ocaml405.patch 13731 BLAKE2B 36ce4825b8e004720d966d7a7c1a769c84e4e3b044c07ce8112ee456acd819315a21625acb33a8423ad317d026bb03ddffa2b3dcba63dec1549254815c14d7e7 SHA512 a246af35b932e773e0c58b745d3885f98162892945f359dc4781489d76715c0564efa2ea985a43808e431fb8fd4225d4ad7b6a753abd54a8f12dc65ae43cfa9d +DIST labltk-8.06.2.tar.gz 369508 BLAKE2B df0a5fb1cf352c52bf3177e83be2cadde961c2a7ba0496f45dc515141931d13715b4c253f74e5f280f9a6c310488236e6bc598c0ceffc408028ef5f524f2bcf2 SHA512 d9342d49ba8769edd7a4ed051844f6ae5d3e62a7c2c76e895bfd1162d0433c4ea54f2314b29b708551fba63daec1123553b56f0abb6412807ab00d7bb40b73d6 +DIST labltk-8.06.3.tar.gz 369924 BLAKE2B fa8b974572826abccc42eb2b07cdc28e1d611178d683b3f5b270051602cc940d1281d15d93c02a56bb15cdba0580c1371c91f2516e6ebb72e4e824f9d3877622 SHA512 c2002d519c1fcfdd2b13ae6d5836880273dac2660f07f6ee0e7bb932e3fec6f5cc959202efdf712758a17d24dbe50c3f6697c7b125e3123fa8153130d7ece979 +EBUILD labltk-8.06.2.ebuild 1118 BLAKE2B 896c6960f693e0763aa394140918700d66e7eecdc01a536893625707941cc73a062a42527b08c26013e72d062d7cf26477b911784eef7c2e6f48fd7aedbffb1d SHA512 387bcab89c39ed0ed80dac5e878bbf4f1dc4e62dd6b8384db9b3a68a57ab5f360e095ff05e41b5785b44c773dde25ef8f6941b64d0935473410067a9c4e48baa +EBUILD labltk-8.06.3.ebuild 1044 BLAKE2B d2f44add0331c745c83ecb1a6f38316b207a751c5d6b1dc9afb4ee30c7449dec4b299a7ea84ea1c40c2915b15a0c1e1615808ed3725488f811bfb3edd1b2b5f4 SHA512 eb8948252b7aa811219bc2980a436d8d7b1cb5121d3025a908f32cf6cab3105982560509397fd65d09e93fb93c036644f4e5906f1c17292fd7bdaa01d95e3d56 +MISC metadata.xml 243 BLAKE2B 010ca240ae06e9a9f6d7ba213eb06df36d9ba862ff2d2458d98a9fea1a1e7f3026d13832a73bce1b3ad9345029425e6abfae9e03bf126f2329b3f030ed3753fd SHA512 1c5b4b2163017e496999d1f87e5c9c5ac6c11b2e9187450ccfb3df258f34e54d278972f04ee0e8429476c6f87e091a869ac2a28c6e8c8e6d20678c3e74061449 diff --git a/dev-ml/labltk/files/findlib.patch b/dev-ml/labltk/files/findlib.patch new file mode 100644 index 000000000000..9b9a63bdede8 --- /dev/null +++ b/dev-ml/labltk/files/findlib.patch @@ -0,0 +1,20 @@ +Index: labltk-8.06.0/lib/Makefile +=================================================================== +--- labltk-8.06.0.orig/lib/Makefile ++++ labltk-8.06.0/lib/Makefile +@@ -84,7 +84,7 @@ install-script: $(LIBNAME) + install-batch: + cp labltk.bat $(INSTALLBINDIR) + +-ifeq ($USE_FINDLIB,yes) ++ifeq ($(USE_FINDLIB),yes) + install: + ocamlfind install labltk -add $(LIBNAME).cma $(LIBNAME)top$(EXE) + chmod 755 $(INSTALLDIR)/$(LIBNAME)top$(EXE) +@@ -114,4 +114,4 @@ installopt: + cd $(INSTALLDIR); $(RANLIB) $(LIBNAME).$(A) + chmod 644 $(INSTALLDIR)/$(LIBNAME).cmxa + chmod 644 $(INSTALLDIR)/$(LIBNAME).$(A) +-endif +\ No newline at end of file ++endif diff --git a/dev-ml/labltk/files/ocaml405.patch b/dev-ml/labltk/files/ocaml405.patch new file mode 100644 index 000000000000..8503646f71ec --- /dev/null +++ b/dev-ml/labltk/files/ocaml405.patch @@ -0,0 +1,382 @@ +Index: labltk-8.06.2/support/cltkCaml.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkCaml.c ++++ labltk-8.06.2/support/cltkCaml.c +@@ -39,7 +39,7 @@ int CamlCBCmd(ClientData clientdata, Tcl + int id; + if (Tcl_GetInt(interp, argv[1], &id) != TCL_OK) + return TCL_ERROR; +- callback2(*handler_code,Val_int(id), ++ caml_callback2(*handler_code,Val_int(id), + copy_string_list(argc - 2,(char **)&argv[2])); + /* Never fails (OCaml would have raised an exception) */ + /* but result may have been set by callback */ +@@ -65,7 +65,7 @@ CAMLprim value camltk_return (value v) + /* Note: raise_with_string WILL copy the error message */ + CAMLprim void tk_error(const char *errmsg) + { +- raise_with_string(*tkerror_exn, errmsg); ++ caml_raise_with_string(*tkerror_exn, errmsg); + } + + +Index: labltk-8.06.2/support/cltkDMain.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkDMain.c ++++ labltk-8.06.2/support/cltkDMain.c +@@ -56,7 +56,7 @@ void invoke_pending_caml_signals (client + /* Rearm timer */ + Tk_CreateTimerHandler(SIGNAL_INTERVAL, invoke_pending_caml_signals, NULL); + signal_events = 1; +- leave_blocking_section(); ++ caml_leave_blocking_section(); + } + /* The following is taken from byterun/startup.c */ + header_t atom_table[256]; +@@ -222,10 +222,10 @@ int Caml_Init(interp) + strcat(f, RCNAME); + if (0 == access(f,R_OK)) + if (TCL_OK != Tcl_EvalFile(cltclinterp,f)) { +- stat_free(f); ++ caml_stat_free(f); + tk_error(Tcl_GetStringResult(cltclinterp)); + }; +- stat_free(f); ++ caml_stat_free(f); + } + } + +Index: labltk-8.06.2/support/cltkEval.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkEval.c ++++ labltk-8.06.2/support/cltkEval.c +@@ -45,7 +45,7 @@ value copy_string_list(int argc, char ** + for (i = argc-1; i >= 0; i--) { + oldres = res; + str = tcl_string_to_caml(argv[i]); +- res = alloc(2, 0); ++ res = caml_alloc(2, 0); + Field(res, 0) = str; + Field(res, 1) = oldres; + } +@@ -71,7 +71,7 @@ CAMLprim value camltk_tcl_eval(value str + Tcl_ResetResult(cltclinterp); + cmd = caml_string_to_tcl(str); + code = Tcl_Eval(cltclinterp, cmd); +- stat_free(cmd); ++ caml_stat_free(cmd); + + switch (code) { + case TCL_OK: +@@ -143,8 +143,8 @@ int fill_args (char **argv, int where, v + fill_args(tmpargv,0,Field(v,0)); + tmpargv[size] = NULL; + merged = Tcl_Merge(size,(const char *const*)tmpargv); +- for(i = 0; i<size; i++){ stat_free(tmpargv[i]); } +- stat_free((char *)tmpargv); ++ for(i = 0; i<size; i++){ caml_stat_free(tmpargv[i]); } ++ caml_stat_free((char *)tmpargv); + /* must be freed by stat_free */ + argv[where] = (char*)caml_stat_alloc(strlen(merged)+1); + strcpy(argv[where], merged); +@@ -227,10 +227,10 @@ CAMLprim value camltk_tcl_direct_eval(va + + /* Free the various things we allocated */ + for(i=0; i< size; i ++){ +- stat_free((char *) allocated[i]); ++ caml_stat_free((char *) allocated[i]); + } +- stat_free((char *)argv); +- stat_free((char *)allocated); ++ caml_stat_free((char *)argv); ++ caml_stat_free((char *)allocated); + + switch (result) { + case TCL_OK: +Index: labltk-8.06.2/support/cltkEvent.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkEvent.c ++++ labltk-8.06.2/support/cltkEvent.c +@@ -49,6 +49,6 @@ CAMLprim value camltk_dooneevent(value f + + CheckInit(); + +- ret = Tk_DoOneEvent(convert_flag_list(flags, event_flag_table)); ++ ret = Tk_DoOneEvent(caml_convert_flag_list(flags, event_flag_table)); + return Val_int(ret); + } +Index: labltk-8.06.2/support/cltkFile.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkFile.c ++++ labltk-8.06.2/support/cltkFile.c +@@ -33,7 +33,7 @@ + + void FileProc(ClientData clientdata, int mask) + { +- callback2(*handler_code,Val_int(clientdata),Val_int(0)); ++ caml_callback2(*handler_code,Val_int(clientdata),Val_int(0)); + } + + /* Map Unix.file_descr values to Tcl file handles */ +Index: labltk-8.06.2/support/cltkImg.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkImg.c ++++ labltk-8.06.2/support/cltkImg.c +@@ -47,7 +47,7 @@ CAMLprim value camltk_getimgdata (value + + code = Tk_PhotoGetImage(ph,&pib); /* never fails ? */ + size = pib.width * pib.height * pib.pixelSize; +- res = alloc_string(size); ++ res = caml_alloc_string(size); + + /* no holes, default format ? */ + if ((pib.pixelSize == 3) && +Index: labltk-8.06.2/support/cltkMain.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkMain.c ++++ labltk-8.06.2/support/cltkMain.c +@@ -51,11 +51,11 @@ int signal_events = 0; /* do we have a p + void invoke_pending_caml_signals (ClientData clientdata) + { + signal_events = 0; +- enter_blocking_section(); /* triggers signal handling */ ++ caml_enter_blocking_section(); /* triggers signal handling */ + /* Rearm timer */ + Tk_CreateTimerHandler(SIGNAL_INTERVAL, invoke_pending_caml_signals, NULL); + signal_events = 1; +- leave_blocking_section(); ++ caml_leave_blocking_section(); + } + + /* Now the real Tk stuff */ +@@ -77,7 +77,7 @@ CAMLprim value camltk_opentk(value argv) + tmp = Val_unit; + + if ( argv == Val_int(0) ){ +- failwith("camltk_opentk: argv is empty"); ++ caml_failwith("camltk_opentk: argv is empty"); + } + argv0 = String_val( Field( argv, 0 ) ); + +@@ -91,7 +91,7 @@ CAMLprim value camltk_opentk(value argv) + /* Register cltclinterp for use in other related extensions */ + value *interp = caml_named_value("cltclinterp"); + if (interp != NULL) +- Store_field(*interp,0,copy_nativeint((intnat)cltclinterp)); ++ Store_field(*interp,0,caml_copy_nativeint((intnat)cltclinterp)); + } + + if (Tcl_Init(cltclinterp) != TCL_OK) +@@ -128,7 +128,7 @@ CAMLprim value camltk_opentk(value argv) + args = Tcl_Merge(argc, (const char *const*)tkargv); /* args must be freed by Tcl_Free */ + Tcl_SetVar(cltclinterp, "argv", args, TCL_GLOBAL_ONLY); + Tcl_Free(args); +- stat_free( tkargv ); ++ caml_stat_free( tkargv ); + } + } + if (Tk_Init(cltclinterp) != TCL_OK) +@@ -164,10 +164,10 @@ CAMLprim value camltk_opentk(value argv) + strcat(f, RCNAME); + if (0 == access(f,R_OK)) + if (TCL_OK != Tcl_EvalFile(cltclinterp,f)) { +- stat_free(f); ++ caml_stat_free(f); + tk_error(Tcl_GetStringResult(cltclinterp)); + }; +- stat_free(f); ++ caml_stat_free(f); + } + } + +Index: labltk-8.06.2/support/cltkMisc.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkMisc.c ++++ labltk-8.06.2/support/cltkMisc.c +@@ -41,12 +41,12 @@ CAMLprim value camltk_splitlist (value v + { value res = copy_string_list(argc,argv); + Tcl_Free((char *)argv); /* only one large block was allocated */ + /* argv points into utf: utf must be freed after argv are freed */ +- stat_free( utf ); ++ caml_stat_free( utf ); + return res; + } + case TCL_ERROR: + default: +- stat_free( utf ); ++ caml_stat_free( utf ); + tk_error(Tcl_GetStringResult(cltclinterp)); + } + } +@@ -54,7 +54,7 @@ CAMLprim value camltk_splitlist (value v + /* Copy an OCaml string to the C heap. Should deallocate with stat_free */ + char *string_to_c(value s) + { +- int l = string_length(s); ++ int l = caml_string_length(s); + char *res = caml_stat_alloc(l + 1); + memmove (res, String_val (s), l); + res[l] = '\0'; +Index: labltk-8.06.2/support/cltkTimer.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkTimer.c ++++ labltk-8.06.2/support/cltkTimer.c +@@ -26,7 +26,7 @@ + /* Basically the same thing as FileProc */ + void TimerProc (ClientData clientdata) + { +- callback2(*handler_code,Val_long(clientdata),Val_int(0)); ++ caml_callback2(*handler_code,Val_long(clientdata),Val_int(0)); + } + + CAMLprim value camltk_add_timer(value milli, value cbid) +Index: labltk-8.06.2/support/cltkUtf.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkUtf.c ++++ labltk-8.06.2/support/cltkUtf.c +@@ -76,14 +76,14 @@ value tcl_string_to_caml( const char *s + char *str; + + str = utf_to_external( s ); +- res = copy_string(str); +- stat_free(str); ++ res = caml_copy_string(str); ++ caml_stat_free(str); + CAMLreturn(res); + } + + #else + + char *caml_string_to_tcl(value s){ return string_to_c(s); } +-value tcl_string_to_caml(char *s){ return copy_string(s); } ++value tcl_string_to_caml(char *s){ return caml_copy_string(s); } + + #endif +Index: labltk-8.06.2/support/cltkVar.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkVar.c ++++ labltk-8.06.2/support/cltkVar.c +@@ -35,7 +35,7 @@ CAMLprim value camltk_getvar(value var) + stable_var = string_to_c(var); + s = (char *)Tcl_GetVar(cltclinterp,stable_var, + TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG); +- stat_free(stable_var); ++ caml_stat_free(stable_var); + + if (s == NULL) + tk_error(Tcl_GetStringResult(cltclinterp)); +@@ -57,11 +57,11 @@ CAMLprim value camltk_setvar(value var, + utf_contents = caml_string_to_tcl(contents); + s = (char *)Tcl_SetVar(cltclinterp,stable_var, utf_contents, + TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG); +- stat_free(stable_var); ++ caml_stat_free(stable_var); + if( s == utf_contents ){ + tk_error("camltk_setvar: Tcl_SetVar returned strange result. Call the author of mlTk!"); + } +- stat_free(utf_contents); ++ caml_stat_free(utf_contents); + + if (s == NULL) + tk_error(Tcl_GetStringResult(cltclinterp)); +@@ -84,7 +84,7 @@ static char * tracevar(clientdata, inter + Tcl_UntraceVar2(interp, name1, name2, + TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, + tracevar, clientdata); +- callback2(*handler_code,Val_int(clientdata),Val_unit); ++ caml_callback2(*handler_code,Val_int(clientdata),Val_unit); + return (char *)NULL; + } + +@@ -103,10 +103,10 @@ CAMLprim value camltk_trace_var(value va + tracevar, + (ClientData) (Long_val(cbid))) + != TCL_OK) { +- stat_free(cvar); ++ caml_stat_free(cvar); + tk_error(Tcl_GetStringResult(cltclinterp)); + }; +- stat_free(cvar); ++ caml_stat_free(cvar); + return Val_unit; + } + +@@ -123,6 +123,6 @@ CAMLprim value camltk_untrace_var(value + TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, + tracevar, + (ClientData) (Long_val(cbid))); +- stat_free(cvar); ++ caml_stat_free(cvar); + return Val_unit; + } +Index: labltk-8.06.2/support/cltkWait.c +=================================================================== +--- labltk-8.06.2.orig/support/cltkWait.c ++++ labltk-8.06.2/support/cltkWait.c +@@ -54,8 +54,8 @@ static void WaitVisibilityProc(clientDat + Tk_DeleteEventHandler(vis->win, VisibilityChangeMask, + WaitVisibilityProc, clientData); + +- stat_free((char *)vis); +- callback2(*handler_code,cbid,Val_int(0)); ++ caml_stat_free((char *)vis); ++ caml_callback2(*handler_code,cbid,Val_int(0)); + } + + /* Sets up a callback upon Visibility of a window */ +@@ -65,7 +65,7 @@ CAMLprim value camltk_wait_vis(value win + (struct WinCBData *)caml_stat_alloc(sizeof(struct WinCBData)); + vis->win = Tk_NameToWindow(cltclinterp, String_val(win), cltk_mainWindow); + if (vis -> win == NULL) { +- stat_free((char *)vis); ++ caml_stat_free((char *)vis); + tk_error(Tcl_GetStringResult(cltclinterp)); + }; + vis->cbid = Int_val(cbid); +@@ -79,9 +79,9 @@ static void WaitWindowProc(ClientData cl + if (eventPtr->type == DestroyNotify) { + struct WinCBData *vis = clientData; + value cbid = Val_int(vis->cbid); +- stat_free((char *)clientData); ++ caml_stat_free((char *)clientData); + /* The handler is destroyed by Tk itself */ +- callback2(*handler_code,cbid,Val_int(0)); ++ caml_callback2(*handler_code,cbid,Val_int(0)); + } + } + +@@ -92,7 +92,7 @@ CAMLprim value camltk_wait_des(value win + (struct WinCBData *)caml_stat_alloc(sizeof(struct WinCBData)); + vis->win = Tk_NameToWindow(cltclinterp, String_val(win), cltk_mainWindow); + if (vis -> win == NULL) { +- stat_free((char *)vis); ++ caml_stat_free((char *)vis); + tk_error(Tcl_GetStringResult(cltclinterp)); + }; + vis->cbid = Int_val(cbid); +Index: labltk-8.06.2/browser/searchpos.ml +=================================================================== +--- labltk-8.06.2.orig/browser/searchpos.ml ++++ labltk-8.06.2/browser/searchpos.ml +@@ -782,7 +782,7 @@ and search_pos_expr ~pos exp = + search_pos_expr exp' ~pos + end; + search_pos_expr exp ~pos +- | Texp_function (_, l, _) -> ++ | Texp_function { arg_label = _; param = _ ; cases = l; partial = _; } -> + List.iter l ~f:(search_case ~pos) + | Texp_apply (exp, l) -> + List.iter l ~f:(fun (_, x) -> Misc.may (search_pos_expr ~pos) x); +Index: labltk-8.06.2/jpf/fileselect.ml +=================================================================== +--- labltk-8.06.2.orig/jpf/fileselect.ml ++++ labltk-8.06.2/jpf/fileselect.ml +@@ -55,7 +55,7 @@ let myentry_create p ~variable = + let subshell cmd = + let r,w = pipe () in + match fork () with +- 0 -> close r; dup2 ~src:w ~dst:stdout; ++ 0 -> close r; dup2 ~cloexec:false ~src:w ~dst:stdout; + execv ~prog:"/bin/sh" ~args:[| "/bin/sh"; "-c"; cmd |] + | id -> + close w; diff --git a/dev-ml/labltk/labltk-8.06.2.ebuild b/dev-ml/labltk/labltk-8.06.2.ebuild new file mode 100644 index 000000000000..8181f906cb12 --- /dev/null +++ b/dev-ml/labltk/labltk-8.06.2.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit findlib eutils + +DESCRIPTION="OCaml interface to the Tcl/Tk GUI framework" +HOMEPAGE="https://forge.ocamlcore.org/projects/labltk/" +SRC_URI="https://forge.ocamlcore.org/frs/download.php/1628/${P}.tar.gz" + +LICENSE="QPL-1.0 LGPL-2" +SLOT="0/${PV}" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="+ocamlopt X" + +RDEPEND=">=dev-lang/tk-8.0.3:= + >=dev-lang/ocaml-4.04:=[ocamlopt?,X?]" +DEPEND="${RDEPEND} + >=dev-ml/findlib-1.5.5-r1" + +src_prepare() { + epatch "${FILESDIR}/findlib.patch" + has_version '>=dev-lang/ocaml-4.05.0_beta' && epatch "${FILESDIR}/ocaml405.patch" +} + +src_configure() { + ./configure --use-findlib --verbose $(use X || echo "--tk-no-x11") || die "configure failed!" +} + +src_compile() { + emake -j1 + use ocamlopt && emake -j1 opt +} + +src_install() { + findlib_src_preinst + dodir /usr/bin + emake \ + INSTALLDIR="${D}$(ocamlc -where)/labltk" \ + INSTALLBINDIR="${ED}/usr/bin/" \ + install + dodoc Changes README.mlTk +} diff --git a/dev-ml/labltk/labltk-8.06.3.ebuild b/dev-ml/labltk/labltk-8.06.3.ebuild new file mode 100644 index 000000000000..7bf520571181 --- /dev/null +++ b/dev-ml/labltk/labltk-8.06.3.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit findlib eutils + +DESCRIPTION="OCaml interface to the Tcl/Tk GUI framework" +HOMEPAGE="https://forge.ocamlcore.org/projects/labltk/" +SRC_URI="https://forge.ocamlcore.org/frs/download.php/1701/${P}.tar.gz" + +LICENSE="QPL-1.0 LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="+ocamlopt X" + +RDEPEND=">=dev-lang/tk-8.0.3:= + >=dev-lang/ocaml-4.04:=[ocamlopt?,X?]" +DEPEND="${RDEPEND} + >=dev-ml/findlib-1.5.5-r1" + +src_prepare() { + epatch "${FILESDIR}/findlib.patch" +} + +src_configure() { + ./configure --use-findlib --verbose $(use X || echo "--tk-no-x11") || die "configure failed!" +} + +src_compile() { + emake -j1 + use ocamlopt && emake -j1 opt +} + +src_install() { + findlib_src_preinst + dodir /usr/bin + emake \ + INSTALLDIR="${D}$(ocamlc -where)/labltk" \ + INSTALLBINDIR="${ED}/usr/bin/" \ + install + dodoc Changes README.mlTk +} diff --git a/dev-ml/labltk/metadata.xml b/dev-ml/labltk/metadata.xml new file mode 100644 index 000000000000..ffac4d7ebc01 --- /dev/null +++ b/dev-ml/labltk/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>ml@gentoo.org</email> + <name>Gentoo ML Project</name> +</maintainer> +</pkgmetadata> |