119 lines
3.2 KiB
Bash
119 lines
3.2 KiB
Bash
SUMMARY="A programming language focused on simplicity and productivity"
|
|
DESCRIPTION="Ruby is a dynamic, reflective, object-oriented, general-purpose \
|
|
programming language. It was designed and developed in the mid-1990s \
|
|
by Yukihiro 'Matz' Matsumoto in Japan.
|
|
|
|
Ruby embodies syntax inspired by Perl with Smalltalk-like features and \
|
|
was also influenced by Eiffel and Lisp. It supports multiple \
|
|
programming paradigms, including functional, object oriented, and \
|
|
imperative. It also has a dynamic type system and automatic memory \
|
|
management. Therefore, it is similar in varying degrees to, Smalltalk, \
|
|
Python, Perl, Lisp, Dylan, and CLU."
|
|
HOMEPAGE="https://www.ruby-lang.org/"
|
|
COPYRIGHT="1993-2019 Yukihiro Matsumoto"
|
|
LICENSE="Ruby
|
|
BSD (3-clause)"
|
|
REVISION="3"
|
|
SOURCE_URI="https://cache.ruby-lang.org/pub/ruby/${portVersion%.*}/ruby-$portVersion.tar.xz"
|
|
CHECKSUM_SHA256="27d350a52a02b53034ca0794efe518667d558f152656c2baaf08f3d0c8b02343"
|
|
PATCHES="ruby-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
libVersion="$portVersion"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%.*}"
|
|
|
|
PROVIDES="
|
|
ruby$secondaryArchSuffix = $libVersionCompat
|
|
cmd:bundle = $libVersionCompat
|
|
cmd:bundler = $libVersionCompat
|
|
cmd:erb = $libVersionCompat
|
|
cmd:gem = $libVersionCompat
|
|
cmd:irb = $libVersionCompat
|
|
cmd:racc = $libVersionCompat
|
|
cmd:racc2y = $libVersionCompat
|
|
cmd:rake = $libVersionCompat
|
|
cmd:rdoc = $libVersionCompat
|
|
cmd:ri = $libVersionCompat
|
|
cmd:ruby = $libVersionCompat
|
|
cmd:testrb = $libVersionCompat
|
|
cmd:y2racc = $libVersionCompat
|
|
lib:libruby$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libcrypto$secondaryArchSuffix
|
|
lib:libedit$secondaryArchSuffix
|
|
lib:libffi$secondaryArchSuffix
|
|
lib:libiconv$secondaryArchSuffix
|
|
lib:libncursesw$secondaryArchSuffix
|
|
lib:libssl$secondaryArchSuffix
|
|
lib:libssp$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
ruby${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libruby$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
ruby$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libcrypto$secondaryArchSuffix
|
|
devel:libedit$secondaryArchSuffix
|
|
devel:libffi$secondaryArchSuffix
|
|
devel:libiconv$secondaryArchSuffix
|
|
devel:libncursesw$secondaryArchSuffix
|
|
devel:libssl$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:autoreconf
|
|
cmd:bison
|
|
cmd:g++$secondaryArchSuffix
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:git
|
|
cmd:libtoolize$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
"
|
|
|
|
defineDebugInfoPackage ruby$secondaryArchSuffix \
|
|
"$libDir"/libruby.so.$libVersion
|
|
|
|
BUILD()
|
|
{
|
|
export CFLAGS="-D_BSD_SOURCE"
|
|
export LDFLAGS="-lssp"
|
|
autoreconf -i
|
|
runConfigure --omit-dirs binDir ./configure \
|
|
--enable-shared \
|
|
--disable-silent-rules \
|
|
--enable-debug-env \
|
|
--bindir=$prefix/bin
|
|
|
|
# The build process needs to run ruby, and without this it fails to find
|
|
# libruby.so.
|
|
export LIBRARY_PATH=$LIBRARY_PATH:%A
|
|
make $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
export LIBRARY_PATH=$LIBRARY_PATH:%A
|
|
make install
|
|
prepareInstalledDevelLib libruby
|
|
fixPkgconfig
|
|
packageEntries devel $developDir
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
export LIBRARY_PATH=$LIBRARY_PATH:%A
|
|
make check
|
|
}
|