DTrace support in ruby needs the -xnolibs flag added to the dtrace command
called during build to ensure that dtrace support is enabled even if the dtrace
kernel modules are not loaded at build time.
However, with this dtrace will be enabled on some OS versions where it will not
work, so add logic to disable it where appropriate.
- Fix handling of RDOC option and make it ON by default
- Add DOCS option to OPTIONS_DEFINE
- Add EXAMPLES option
- Add CAPIDOCS option which installs C API documents generated by doxygen
- Other cleanups while here
PR: 189646
Submitted by: Yasuhiro KIMURA <yasu@utahime.org> (based on)
unexpectedly getting readline from ports if it's already installed.
- Add patch to work with newer libreadline
- Provide an option to use libedit from ports, avoiding the libedit in base.
- Note 1: The patch to work with newer libreadline is only applied in the
libreadline case since it actually breaks building with libedit.
- Note 2: libreadline is not BSD licensed and while libedit would be
preferable, it seems to have issues with UTF8 still, see ruby bug 9204. Once
that's resolved, we can make libedit the default.
PR: ports/187928 [1] (based on)
PR: ports/188077 [2] (based on)
Submitted by: Shin-ya Murakami <murashin@gfd-dennou.org> [1]
Submitted by: Christoph Moench-Tegeder <cmt@burggraben.net> [2]
Obtained from: http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/readline/readline.c?r1=43458&r2=45225 (ruby upstream)
MFH: 2014Q2
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
This change is no-op for FreeBSD but is needed for DragonFly support.
It has been run in dports for a year. Also unneeded trailing slashes were
removed from bsd.efl.mk (also tested for a year).
Approved by: portmgr (bapt)
They must be built with the proper prefix, but at install
phase they should be passed --prefix=STAGEDIR. It will
already install to the previously used PREFIX so this
will end up installing into ${STAGEDIR}${PREFIX}
With hat: ruby
This defines a new macros for end users!
DEFAULT_VERSIONS.
This macros is used to end-users to define what version they want to be
the default version for the whole ports tree (for ports allowing that)
Syntax is the following:
DEFAULT_VERSIONS= perl5=5.18 ruby=2.0
Swith bsd.ruby.mk to use it[1], switch Uses/perl5.mk to use it[2]
If you are maintaining settable multi version port, please change it so
it uses DEFAULT_VERSIONS.
Reviewed by: ruby (swills) [1], perl (az) [2]
Approved by: ruby (swills) [1], perl (az) [2]
- Also add the patch for the security issue in the bundled json (CVE-2013-0269)
- Fix an issue with the .pc file by patching configure [1]
Reported by: avg [1]
Security: forthcoming
version supplied is too old for some applications, so we're switching
to using the version from ports.
- Allow ruby-gems installation for ruby 1.9.
Submitted by: swills@ (based on).
revert a part of 1.197 by pgollucci which breaks rake with
ruby 1.9 and switch back to using the ruby 1.9 bundled one.
PR: ports/155539, ports/156217
Submitted by: Ralf Gebhart <gebhart@secnetix.de>, Anonymous <swell.k@gmail.com>
there's already nothing to stop. Only mark the timer thread as stopped.
That fixes spontaneous lockups in ruby popen call.
Reported by: renchap @ FreeNode
- On FreeBSD >= 7.2 allocate the new thread with adequate amount of stack
space to run the main ruby code in. This allows to mitigate problem
when too low stack space available for ruby when running with pthreads
enabled.
- Bump portrevision.
The long version. Before this change we used to link ruby against pthreads
uncoditionally on all versions of FreeBSD. This is indispensable in order
to load the threaded shared objects withing ruby. However, this causes a
dramatic decrease in the stack space available as pthreads only allows
up to several megabytes of stack space for the main application threads.
The only solution to this is to create the new thread immediately after
the program start with rigth stack size attributes set. Nonetheless this
scheme won't work for us on FreeBSD version before 7.2 as malloc implementation
in these versions was not threaded fork safe (i.e. this is impossible to
fork from the threaded program and expect malloc/free functions to work).
Thus the only solution for now can be to disable pthreads entirely on
FreeBSD <= 7.2. This won't cause any performance/usability problems for
users as Ruby 1.8 uses green threads, however it may prevent <= 7.2
users to load shared libraries linked agains pthreads.
Reported by: "François Montel" <seanmullen@gmail.com>
Tested by: Sean Mullen <seanmullen@gmail.com>
we were linking the ruby binary against pthreads, and the default
stack size detection method with getrlimit didn't returned right
values in this case. Now, if threads enabled, it also tries to
determine the stack size via pthreads calls and use this value if
it is smaller than what getrlimit returned. Furthermore, the stack
overflow detection routine now works proactively, generating
exception if there're probability the stack will be exhausted by
the time of the next check (ruby performs checks only in each 256th
call of rb_call0). [1]
- Build pthreads-enabled ruby by default. I have not received any
bug reports for this for years, and this verison will work correctly
with threaded libraries. Also, do not link agains pthreads in non-pthread
case (this breaks stack size detection algorithm), and eliminate the
option to disable pthreads (so only power users who know what they're
doing can disable them).
- Build RDoc by default so it is available in the package.
- Bump portrevision.
PR: ports/132158
Reported by: Eugene Pimenov <libc@libc.st>
been triggered by portupgrade which uses finalizers to remove lockfiles.
- Fix the bug in URI module that smashed uri paths in merge method for
ftp uris. [1]
- Fix segmentation fault when cloning objects with dynamically created
methods (via instance_eval). [2]
PR: ports/131775 [1], ports/135533 [2]
Submitted by: Yoshisato YANAGISAWA <osho@pcc-software.org> [2],
Helmut Schneider <jumper99@gmx.de> [1],
Jaakko Heinonen <jh@saunalahti.fi> [1],
Peter Hofer <ph@desktopbsd.net> [1]
Obtained from: ruby_1_8 svn tree (rev 22679) [2]
This updates also borrows some important bugfixes from Ruby CVS that
is not available in patchlevel 160 yet.
- Drop GC patch support. It is broken with the new ruby version and
seem to require the complete rewriting.