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: http://www.ruby-lang.org/en/
===> The following configuration options are available for ruby21-2.1.10_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.
====
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
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>
fix Ruby 2.0 and 2.1 header for clang 3.7
2.2 already had this change in upstream
PR: 202660
Submitted by: dim (different version)
Obtained from: Ruby SVN repository (r47996)
- Move *_DEPENDS together
- Add GMP option: libgmp.so is linked if present
- Sort CONFIGURE_ARGS
- Remove duplicate WRKSRC
- Sort USES
- Use pre-install: instead of pre-su-install:
- Convert to new options helper
- Convert to new options target helper
- Change options helper: (copied from ruby22)
- Use CAPIDOCS_CONFIGURE_ENABLE instead of CAPIDOCS_CONFIGURE_OFF
- Use RDOC_CONFIGURE_ENABLE instead of RDOC_CONFIGURE_OFF
- Add regression-test:
- Fix typo
- Cosmetic change
- Pet portlint: fix diff header of patch files
- Bump PORTREVISION for dependency and package change
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.
Change the EDIT option of ruby to use libedit by default now that libedit
from ports is able to handle unicode. Make sure that ruby does not provides its
own function to read the input but let libedit do it itself.
This allows the binary package to by default not be "tainted" by the readline
license.
Differential Revision: https://reviews.freebsd.org/D1547
Reviewed by: swills
Approved by: ruby (swills)
lang/ruby2*: fix dtrace support
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.
lang/ruby21: switch to USES=execinfo
While here, move MAKE_JOBS_UNSAFE to CAPIDOCS option since thats the only place
it seems necessary
PR: 193413
Submitted by: Yasuhiro KIMURA <yasu@utahime.org>
lang/ruby*: remove obsolete patches
Remove no longer needed patches for ftp.
While here, fix the test target for ruby21
PR: 192998
Submitted by: Robert Grimm <rfgrimm@gmail.com>
lang/ruby*: fix docs handling
- 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)
Support LIBS like LDFLAGS.
- Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV.
- Add an option helper for LIBS.
- Adjust all ports that already use LIBS. Also remove references to
PTHREAD_CFLAGS and PTHREAD_LIBS while here.
- Some ports did not support having a LIBS environment variable and
required additional patches.
Somewhat simplified a linker command line looks like:
${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS}
where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and
LIBS can be controlled by us. If possible -L and -l flags need to be
(Only the first 15 lines of the commit message are shown above )
- Force use of libreadline from ports rather than base, in order to avoid
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
- Add patch to fix build on 11-CURRENT after Clang 3.4 import. No need to
conditionalize this on OSVER because the patch is safe everywhere. No bump
because package doesn't change.
Submitted by: antoine (1.9, 2.0 and 2.1 based on)