Commit graph

142 commits

Author SHA1 Message Date
tonio
4aad313922 Add PLIST support for natdynlink
This unbreaks make package for darwin and linux
2010-10-28 20:46:07 +00:00
wiz
b58aaf5711 Unlimit stacksize, needed at least on my 5.99.38/amd64. 2010-08-21 15:02:14 +00:00
asau
204621bf62 Update to O'Caml 3.12.0, add test target.
Some of the highlights in release 3.12 are:

  * Polymorphic recursion is supported, using explicit type
    declarations on the recursively-defined identifiers.
  * First-class modules: module expressions can be embedded as
    values of the core language, then manipulated like any other
    first-class value, then projected back to the module level.
  * New operator to modify a signature a posteriori: S with type
    t := tau denotes signature S where the t type component is
    removed and substituted by the type tau elsewhere.
  * New notations for record expressions and record patterns:
    { lbl } as shorthand for { lbl = lbl }, and { ...; _ } marks
    record patterns where some labels were intentionally omitted.
  * Local open let open ... in ... now supported by popular demand.
  * Type variables can be bound as type parameters to functions;
    such types are treated like abstract types within the
    function body, and like type variables (possibly generalized)
    outside.
  * The module type of construct enables to recover the module
    type of a given module.
  * Explicit method override using the method! keyword, with
    associated warnings and errors.
2010-08-19 08:06:53 +00:00
wiz
e51b4bef1e Remove patch that was removed from distinfo during update to 3.11.2. 2010-04-22 07:01:13 +00:00
zafer
68b35a89f3 update ocaml to 3.11.2
Changelog:
Bug fixes:
- PR#4151: better documentation for min and max w.r.t. NaN
- PR#4421: ocamlbuild uses wrong compiler for C files
- PR#4710, PR#4720: ocamlbuild does not use properly configuration information
- PR#4750: under some Windows installations, high start-up times for Unix lib
- PR#4777: problem with scanf and CRLF
- PR#4783: ocamlmklib problem under Windows
- PR#4810: BSD problem with socket addresses, e.g. in Unix.getnameinfo
- PR#4813: issue with parsing of float literals by the GNU assembler
- PR#4816: problem with modules and private types
- PR#4818: missed opportunity for type-based optimization of bigarray accesses
- PR#4821: check for duplicate method names in classes
- PR#4823: build problem on Mac OS X
- PR#4836: spurious errors raised by Unix.single_write under Windows
- PR#4841, PR#4860, PR#4930: problem with ocamlopt -output-obj under Mac OS X
- PR#4847: C compiler error with ocamlc -output-obj under Win64
- PR#4856: ocamlbuild uses ocamlrun to execute a native plugin
- PR#4867, PR#4760: ocamlopt -shared fails on Mac OS X 64bit
- PR#4873: ocamlbuild ignores "thread" tag when building a custom toplevel
- PR#4890: ocamlbuild tries to use native plugin on bytecode-only arch
- PR#4896: ocamlbuild should always pass -I to tools for external libraries
- PR#4900: small bug triggering automatic compaction even if max_overhead = 1M
- PR#4902: bug in %.0F printf format
- PR#4910: problem with format concatenation
- PR#4922: ocamlbuild recompiles too many files
- PR#4923: missing \xff for scanf %S
- PR#4933: functors not handling private types correctly
- PR#4940: problem with end-of-line in DOS text mode, tentative fix
- PR#4953: problem compiling bytecode interpreter on ARM in Thumb mode.
- PR#4955: compiler crash when typing recursive type expression with constraint
- Module Printf: the simple conversion %F (without width indication) was not
           treated properly.
- Makefile: problem with cygwin, flexdll, and symbolic links
- Various build problems with ocamlbuild under Windows with msvc

Feature wishes:
- PR#9: (tentative implementation) make ocamldebug use #linenum annotations
- PR#123, PR#4477: custom exception printers
- PR#3456: Obj.double_field and Obj.set_double_field functions
- PR#4003: destination directory can be given to Filename.[open_]temp_file
- PR#4647: Buffer.blit function
- PR#4685: access to Filename.dir_sep
- PR#4703: support for debugging embedded applications
- PR#4723: "clear_rules" function to empty the set of ocamlbuild rules
- PR#4921: configure option to help cross-compilers
2010-04-21 23:08:49 +00:00
minskim
dfe1d46da1 ocaml's stub libraries are also built on 64-bit Darwin 10. 2009-11-19 03:18:58 +00:00
minskim
053d08687e Let ocaml's configure recognize 64-bit Darwin 10. 2009-11-19 03:05:57 +00:00
tonio
a0676d2f2b Fix PR pkg/42190
Use #ifdef SIN6_LEN to know whether we have a 4.3 bsd or 4.4 bsd sockaddr
structure.
2009-10-18 12:47:53 +00:00
dmcmahill
5164c25eb5 gcc44 fix 2009-10-08 01:24:51 +00:00
tonio
f0243bd501 Fix build with db4 [PR pkg/42061] 2009-09-22 20:19:30 +00:00
sno
2871950077 fix choosing pkgsrc provided compiler 2009-09-19 22:37:03 +00:00
tonio
6a6b0260b9 Remove useless patches, and fix PLIST issues on freebsd x86_64 2009-09-12 18:44:40 +00:00
tonio
39081e1f1a Fix x11/labltk for ocaml 3.11.1 [PR pkg/42017] 2009-09-08 18:35:46 +00:00
tonio
23ea6c6ec0 Update lang/ocaml to 3.11.1 [PR pkg/41695]
(Changes that can break existing programs are marked with a "*"  )
Language features:
- Addition of lazy patterns: "lazy <pat>" matches suspensions whose values,
  after forcing, match the pattern <pat>.
- Introduction of private abbreviation types "type t = private <type-expr>",
  for abstracting the actual manifest type in type abbreviations.
- Subtyping is now allowed between a private abbreviation and its definition,
  and between a polymorphic method and its monomorphic instance.

Compilers:
- The file name for a compilation unit should correspond to a valid
  identifier (Otherwise dynamic linking and other things can fail, and
  a warning is emitted.)
* Revised -output-obj: the output name must now be provided; its
  extension must be one of .o/.obj, .so/.dll, or .c for the
  bytecode compiler. The compilers can now produce a shared library
  (with all the needed -ccopts/-ccobjs options) directly.
- -dtypes renamed to -annot, records (in .annot files) which function calls
  are tail calls.
- All compiler error messages now include a file name and location, for
  better interaction with Emacs' compilation mode.
- Optimized compilation of "lazy e" when the argument "e" is
  already evaluated.
- Optimized compilation of equality tests with a variant constant constructor.
- The -dllib options recorded in libraries are no longer ignored when
  -use_runtime or -use_prims is used (unless -no_auto_link is
  explicitly used).
- Check that at most one of -pack, -a, -shared, -c, -output-obj is
  given on the command line.
- Optimized compilation of private types as regular manifest types
  (e.g. abbreviation to float, float array or record types with only
   float fields).

Native-code compiler:
- New port: Mac OS X / Intel in 64-bit mode (configure with -cc "gcc -m64").
- A new option "-shared" to produce a plugin that can be dynamically
  loaded with the native version of Dynlink.
- A new option "-nodynlink" to enable optimizations valid only for code
  that is never dynlinked (no-op except for AMD64).
- More aggressive unboxing of floats and boxed integers.
- Can select which assembler and asm options to use at configuration time.

Run-time system:
- New implementation of the page table describing the heap (two-level
  array in 32 bits, sparse hashtable in 64 bits), fixes issues with address
  space randomization on 64-bit OS (PR#4448).
- New "generational" API for registering global memory roots with the GC,
  enables faster scanning of global roots.
  (The functions are caml_*_generational_global_root in <caml/memory.h>.)
- New function "caml_raise_with_args" to raise an exception with several
  arguments from C.
- Changes in implementation of dynamic linking of C code:
  under Win32, use Alain Frisch's flexdll implementation of the dlopen
  API; under MacOSX, use dlopen API instead of MacOSX bundle API.
- Programs may now choose a first-fit allocation policy instead of
  the default next-fit.  First-fit reduces fragmentation but is
  slightly slower in some cases.

Standard library:
- Parsing library: new function "set_trace" to programmatically turn
  on or off the printing of a trace during parsing.
- Printexc library: new functions "print_backtrace" and "get_backtrace"
  to obtain a stack backtrace of the most recently raised exception.
  New function "record_backtrace" to turn the exception backtrace mechanism
  on or off from within a program.
- Scanf library: fine-tuning of meta format implementation;
  fscanf behaviour revisited: only one input buffer is allocated for any
  given input channel;
  the %n conversion does not count a lookahead character as read.

Other libraries:
- Dynlink: on some platforms, the Dynlink library is now available in
  native code. The boolean Dynlink.is_native allows the program to
  know whether it has been compiled in bytecode or in native code.
- Bigarrays: added "unsafe_get" and "unsafe_set"
  (non-bound-checking versions of "get" and "set").
- Bigarrays: removed limitation "array dimension < 2^31".
- Labltk: added support for TK 8.5.
- Num: added conversions between big_int and int32, nativeint, int64.
  More efficient implementation of Num.quo_num and Num.mod_num.
- Threads: improved efficiency of mutex and condition variable operations;
  improved interaction with Unix.fork (PR#4577).
- Unix: added getsockopt_error returning type Unix.error.
  Added support for TCP_NODELAY and IPV6_ONLY socket options.
- Win32 Unix: "select" now supports all kinds of file descriptors.
  Improved emulation of "lockf" (PR#4609).

Tools:
- ocamldebug now supported under Windows (MSVC and Mingw ports),
  but without the replay feature.  (Contributed by Dmitry Bely
  and Sylvain Le Gall at OCamlCore with support from Lexifi.)
- ocamldoc: new option -no-module-constraint-filter to include functions
  hidden by signature constraint in documentation.
- ocamlmklib and ocamldep.opt now available under Windows ports.
- ocamlmklib no longer supports the -implib option.
- ocamlnat: an experimental native toplevel (not built by default).

Camlp4:
* programs linked with camlp4lib.cma now also need dynlink.cma.
2009-09-07 21:48:13 +00:00
joerg
76039544d1 Remove @dirrm related logic. 2009-06-14 22:57:58 +00:00
joerg
edbc2fac64 Replace @exec/@unexec with @pkgdir or drop it. 2009-06-14 20:34:12 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
rillig
79a38fed91 cleanup: replaced _PKG_SILENT and _PKG_DEBUG with RUN. 2009-05-16 07:22:01 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
he
ca97e06d2e Add a patch so that this package builds for our powerpc ports
as well.  In this case, we fall into the SYS_elf branch together
with Linux, but we need a few other specifics to access registers
in the sigcontext.
2009-01-22 01:00:33 +00:00
joerg
d8bdf1b388 Fix PLIST of ocaml-graphics for architectures not using the optimiser.
Add amd64 to that list. Bump revision of ocaml-graphics. Make ocaml
itself and ocaml-graphics destdir safe.
2008-12-22 20:04:07 +00:00
wiz
1f79816e33 Update to 3.10.2:
Objective Caml 3.10.2:
----------------------

Bug fixes:
- PR#1217 (partial) Typo in ocamldep man page
- PR#3952 (partial) ocamlopt: allocation problems on ARM
- PR#4339 (continued) ocamlopt: problems on HPPA
- PR#4455 str.mli not installed under Windows
- PR#4473 crash when accessing float array with polymorphic method
- PR#4480 runtime would not compile without gcc extensions
- PR#4481 wrong typing of exceptions with object arguments
- PR#4490 typo in error message
- Random crash on 32-bit when major_heap_increment >= 2^22
- Big performance bug in Weak hashtables
- Small bugs in the make-package-macosx script
- Bug in typing of polymorphic variants (reported on caml-list)
2008-04-25 07:13:39 +00:00
dbj
dc747b8033 include opt and stubs on intel darwin leopard 2008-02-11 00:56:42 +00:00
rillig
a2a1bacc66 Added x86_64-*-solaris to the list of supported platforms. This fixes
PR 37890.
2008-01-29 01:05:13 +00:00
adam
7850bf281d Changes 3.10.1:
* Bug fixes
* New features:
  - made configure script work on PlayStation 3
  - ARM port: brought up-to-date for Debian 4.0 (Etch)
  - many other small changes and bugfixes in camlp4, ocamlbuild, labltk,
    emacs files
2008-01-23 20:42:25 +00:00
joerg
e1b6509e3c Include stub libraries on Linux as well. From PR 37584. 2007-12-21 17:02:53 +00:00
rillig
f93798ba6b Added MAKE_JOBS_SAFE as suggested in PR 37234. 2007-11-03 22:38:12 +00:00
adam
320d962801 Fix for PR#37051. Please test. 2007-10-04 05:19:16 +00:00
dmcmahill
6461be475e Set SHELL explicitly on the install make invocation when on solaris.
By using /bin/ksh (${SH}), we get the desired value of $CWD in on of the
scripts called by the programs install procedure.

Fixes installation under solaris, other platforms unaffected.
2007-09-26 03:10:54 +00:00
adam
84ffc00e61 Changes 3.10.0:
- New language features
- New tools
- Faster type-checking of functor applications.
- Referencing an interface compiled with -rectypes from a module
    not compiled with -rectypes is now an error.
- Revised the "fragile matching" warning.
- Print a stack backtrace on an uncaught exception.
- Stack overflow detection on MS Windows 32 bits.
- Stack overflow detection on MacOS X PPC and Intel.
- Intel/AMD 64 bits: generate position-independent code by default.
- Fixed bug involving -for-pack and missing .cmx files.
- Fixed bug causing duplication of literals.
- C/Caml interface functions take "char const *" arguments
  instead of "char *" when appropriate.
- Faster string comparisons (fast case if strings are ==).
- Other
2007-09-14 15:34:09 +00:00
dmcmahill
b6dae05cef In the configure script match sparc-*-solaris2 instead of sparc-*-solaris2.
since the former is what pkgsrc sets MACHINE_GNU_PLATFORM to.  This fixes
builds on the aformentioned systems.
2007-01-06 00:11:43 +00:00
joerg
5e43280b23 Replace mk/bsd.prefs.mk includes with bsd.fast.prefs.mk includes.
The redundant parsing of bsd.prefs.mk is mostly avoided now and
parse time e.g. for x11/kdebase3 gets reduced by up to 10%.
2006-12-12 21:52:34 +00:00
minskim
566815697e Stub libraries are built on Darwin/powerpc only, not on Darwin/i386. 2006-12-01 04:12:20 +00:00
rillig
3691c228a8 Fixed PKGMANDIR. 2006-10-22 05:49:09 +00:00
adam
4617c32db7 Changes 3.09.3:
Bug fixes:
- ocamldoc: -using modtype constraint to filter module elements displayed in doc
- ocamldoc: error in merging of top dependencies of modules
- ocamldoc: -dot-colors has no effect
- ocamdloc: missing crossref in text from intro files
- compilers: segfault with recursive modules
- compilers: infinite loop when compiling objects
- compilers: bad error message when signature mismatch
- compilers: infinite loop with -rectypes
- compilers: contravariance bug in private rows
- compilers: unsafe cast with polymorphic exception
- native compiler: bad assembly code generated for AMD64
- native compiler: stack alignment problems on MacOSX/i386
- stdlib: crash in marshalling
- stdlib: crash when closing a channel twice
- stdlib: memory leak in Sys.readdir
- C interface: better definition of CAMLreturn
- otherlibs/unix: crash in gethostbyname
- tools: subtle problem with unset in makefile
- camlp4: install pa_o_fast.o
- camlp4: install more modules

New features:
- ocamldoc: name resolution in cross-referencing {!name}: if name is not
    found, then it is searched in the parent module/class, and in the parent
    of the parent, and so on until it is found.
- ocamldoc: new option -short-functors to use a short form to display
    functors in html generator
- ocamlprof: added "-version" option
2006-10-03 21:06:25 +00:00
dmcmahill
06fdc5d4b1 fix PLIST for solaris 2006-10-02 21:19:22 +00:00
joerg
610bedcae9 Include stublibs on FreeBSD as well. Bump revision. 2006-08-26 15:33:28 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
rillig
c6dc5aec0e Fixed pkglint warnings. 2006-05-20 09:10:51 +00:00
joerg
a685ea6200 Add back a patch fragment which got lost during the update.
Bump revision, since the thread support was not built on DragonFly.
2006-04-30 17:03:19 +00:00
hiramatsu
0ba7d34a9d Update lang/ocaml to 3.09.2.
Changes from 3.09.1:
----
Bug fixes:
- Makefile: problem with "make world.opt"
- compilers: problem compiling several modules with one command line
- compilers,ocamldoc: error message that Emacs cannot parse
- compilers: crash when printing type error
- compilers: -dtypes wrong for monomorphic type variables
- compilers: wrong warning on optional arguments
- compilers: crash when wrong use of type constructor in let rec
- compilers: better wording of "statement never returns" warning
- runtime: inefficiency of signal handling
- runtime: crashes with I/O in multithread programs
- camlp4: empty file name in error messages
- camlp4: stack overflow
- otherlibs/labltk: ocamlbrowser ignores its command line options
- otherlibs/unix: Unix.times wrong under Mac OS X
- otherlibs/unix: wrong doc for execvp and execvpe
- otherlibs/win32unix: random crash in Unix.stat
- stdlib: update_mod not found under Windows
- stdlib: Filename.dirname/basename wrong on Win32
- stdlib: incomplete documentation of Pervasives.abs
- stdlib: Printf bugs
- tools/checkstack.c missing include
- yacc: crash when given argument "-"

New features:
- ported to MacOS X on Intel
- configure: added support for GNU Hurd
2006-04-25 04:58:32 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
jlam
7a5f8df6e2 Reorder PLIST components so that directories are removed in the correct
order.  Remove "@unexec rmdir" lines made redundant by the reordering.
Also, use a more succinct way to match ${OPSYS} + ${MACHINE_ARCH} by
just checking ${MACHINE_PLATFORM}.
2006-04-04 14:33:27 +00:00
jlam
12b8b2a420 Ensure that the main PLIST component file is part of PLIST_SRC for
platforms other than i386, powerpc, and sparc.  Problem noted and fix
suggested by Olaf Seibert on pkgsrc-users@.  Bump PKGREVISION for PLIST
changes.
2006-04-04 14:22:48 +00:00
joerg
5911def816 Recursive revision bump / recommended bump for gettext ABI change. 2006-02-05 23:08:03 +00:00
rillig
1ba91f86d9 Added support for dynamic loading on NetBSD. Bumped PKGREVISION.
Fixed almost all pkglint -Wall warnings.
2006-02-02 20:47:26 +00:00
tonio
157eae4b8e Do not use the wrapper for ocaml (the wrapper is incorrect then, it tries to pass -cclib as argument, but this is not an argument for ocaml)
Instead, create a symlink for ocaml
(this was causing problems in coq configure, which runs ocaml to detect its version)
2006-01-27 19:03:16 +00:00
adam
50f21fdec0 Changes 3.09.1:
* Bug fixes
* New features:
- otherlibs/labltk: browser uses menu bars instead of menu buttons


Changes 3.09.0:

Language features:
- Introduction of private row types, for abstracting the row in object
  and variant types.

Type checking:
- Polymorphic variants with at most one constructor [< `A of t] are no
  longer systematically promoted to the exact type [`A of t]. This was
  more confusing than useful, and created problems with private row
  types.

Native-code compiler (ocamlopt):
* Revised implementation of the -pack option (packing of several compilation
  units into one).  The .cmx files that are to be packed with
  "ocamlopt -pack -o P.cmx" must be compiled with "ocamlopt -for-pack P".
  In exchange for this additional constraint, ocamlopt -pack is now
  available on all platforms (no need for binutils).
* Fixed wrong evaluation order for arguments to certain inlined functions.

* Other (see 'Changes')
2006-01-16 09:41:48 +00:00
joerg
eaa963de93 DragonFly needs the stublib PLIST fragment as well. Bump revision.
Fix another place where a ocaml script is installed with
BSD_INSTALL_PROGRAM, which doesn't work on DragonFly, since strip
bails out.
2005-12-22 14:37:17 +00:00