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 ruby22-2.2.9,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.
====
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
With the default options set, ruby is also sometime failing with:
--- loadpath.o ---
loadpath.c:30:2: 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];
Sponsored by: Absolight
lang/ruby2*: correct configure options
Fix readline & libedit configure options after a slight error slipped in
with the patches done in r400142.
PR: 203988
Submitted by: John Hein <z7dr6ut7gs@snkmail.com>
lang/ruby2*: fix readline & libedit configure options
The fixed error(s) were only visible with LOCALBASE not set to /usr/local.
PR: 203988
Submitted by: John Hein <z7dr6ut7gs@snkmail.com>
Remove UNIQUENAME and LATEST_LINK.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
- Fix runtime with OpenSSL after the removal of SSLv2 in head.
- Make the main LOCALBASE/bin files into symlinks to the actual version to
make it simpler to tell which version is default.