Ruby is the interpreted scripting language for quick and
easy object-oriented programming. It has many features to
process text files and to do system management tasks (as in
Perl). It is simple, straight-forward, and extensible.
Features of Ruby are shown below.
+ Simple Syntax
+ *Normal* Object-Oriented features(ex. class, method calls)
+ *Advanced* Object-Oriented features(ex. Mix-in, Singleton-method)
+ Operator Overloading
+ Exception Handling
+ Iterators and Closures
+ Garbage Collection
+ Dynamic Loading of Object files(on some architecture)
+ Highly Portable(works on many UNIX machines, and on DOS,
Windows, Mac, BeOS etc.)
WWW: https://www.ruby-lang.org/en/
===> The following configuration options are available for ruby23-2.3.8_1,1:
CAPIDOCS=off: Build and install C API documents
DEBUG=off: Build with debugging support
DOCS=on: Build and/or install documentation
EXAMPLES=on: Build and/or install examples
GMP=off: Use GMP to accelerate Bignum operations
RDOC=on: Build and install Rdoc indexes
====> Which line editing lib to use: you have to select exactly one of them
LIBEDIT=on: Use libedit
READLINE=off: Use libreadline
===> Use 'make config' to modify these settings
====
Some of the standard commands are provided as separate ports for ease
of upgrading:
devel/ruby-gems: gem - RubyGems package manager
devel/rubygem-rake: rake - Ruby Make
And some of the standard libraries are provided as separate ports
since they require extra dependencies:
databases/ruby-gdbm: GDBM module
Install them as occasion demands.
====
Remove compatibility code for FreeBSD < 11.2 from all ports.
Simplify some ports where DragonFlyBSD no longer needs to be special-cased.
Submitted by: rene
Reviewed by: bapt, jbeich
Differential Revision: https://reviews.freebsd.org/D17724
lang/ruby2[345]: Improve qsort_r() detection
This change merges the following upstream pull request into the Ruby
interpreter ports:
https://github.com/ruby/ruby/pull/1954
Adding this patch to these ports will ensure that once we patch up
qsort_r() to be compatible with glibc, Ruby will automatically pick them
up. Ruby should also build fine without this patch, but this will cause
it to use its own implementation, which blows up the binary size
slightly.
Poudriere runs seem to pass for 11.x amd64. Logs indicate that this
doesn't negatively affect the existing qsort_r() detection:
checking whether qsort_r is GNU version... no
checking whether qsort_r is BSD version... yes
PR: 231256
Approved by: sunpoet
Differential Revision: https://reviews.freebsd.org/D17157
Mark MAKE_JOBS_UNSAFE
- - - loadpath.o ---
loadpath.c:30:2: error: RUBY_EXEC_PREFIX must be defined
#error RUBY_EXEC_PREFIX must be defined
^
loadpath.c:41:50: error: use of undeclared identifier 'RUBY_LIB_VERSION'
typedef char ruby_lib_version_string[(int)sizeof(RUBY_LIB_VERSION) - 2];
^
loadpath.c:59:33: error: use of undeclared identifier 'RUBY_EXEC_PREFIX'
const char ruby_exec_prefix[] = RUBY_EXEC_PREFIX;
^
loadpath.c:68:5: error: use of undeclared identifier 'RUBY_EXEC_PREFIX'
RUBY_SITE_LIB2 "\0"
^
(Only the first 15 lines of the commit message are shown above )
lang/ruby2{2,3,4}: require libunwind
Since ruby detects this if it's installed, and it's more often installed now
due to other deps, and ruby provides no way to not depend on it if it's found,
pull it in as a dependency unconditionally. While here, fix plist for ruby 2.4
with the CAPIDOCS option on, and restore the MAKE_JOBS_UNSAFE flag when using
that build option since it's not fixed like I thought it was.
PR: 219796
Reported by: Grzegorz Junka <list1@gjunka.com>
Ruby: introduce dependency on modern Doxygen
Otherwise (found with Doxygen 1.8.10) packaging list will be broken
with missing entries like dir_<hexdigits>.html.
Reviewed by: swills@ (part of ruby@)
The output of tools like awk, date, sort, tr,... depends on the current
locale set by the user. Add LANG=C and LC_ALL=C at the beginning of
bsd.port.mk and export them so all commands are executed with the C locale.
LC_ALL=C overrides all other LC_* variables. LANG is used by setlocale(3)
as default value for LC_* variables, so normally it isn't used when LC_ALL
is set, but there's code out there that looks at LANG directly so it's safer
to set it as well. The only commands not captured by this are !=
assignments before any inclusion of bsd.port.*mk.
Introduce USE_LOCALE=<locale> that adds LANG=<locale> and LC_ALL=<locale> to
CONFIGURE_ENV and MAKE_ENV so upstream build systems can be executed with a
different locale (e.g. USE_LOCALE=en_US.UTF-8).
PR: 215882
Exp-run by: antoine
Approved by: portmgr (antoine)
Relax condition to pull GCC from ports which was added in r417665 to fix
the build specifically on powerpc64, while the check included both 32-bit
and 64-bit PowerPC. While here, drop rudimentary support for ia64 which
is long unsupported in base (and hardly ever was in ports).
Tested on: Mac mini G4
- Add ruby23 2.3.0
- Do not silence installation message
- Use . instead of \* for COPYTREE_SHARE
- Use do-test:
- Use MAKE_CMD
- Remove validate:
- Cosmetic change
Differential Revision: https://reviews.FreeBSD.org/D4749
PR: 205774
Exp-run by: antoine
MFH: 2016Q1