mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
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
|
|
}
|