mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-10 22:00:09 +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.
136 lines
3.6 KiB
Bash
136 lines
3.6 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-2021 Yukihiro Matsumoto"
|
|
LICENSE="Ruby
|
|
BSD (3-clause)"
|
|
REVISION="2"
|
|
SOURCE_URI="https://cache.ruby-lang.org/pub/ruby/2.7/ruby-$portVersion.tar.bz2"
|
|
CHECKSUM_SHA256="bffa8aec9da392eda98f1c561071bb6e71d217d541c617fc6e3282d79f4e7d48"
|
|
SOURCE_DIR="ruby-$portVersion"
|
|
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:libgmp$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:libgmp$secondaryArchSuffix
|
|
devel:libiconv$secondaryArchSuffix
|
|
devel:libncursesw$secondaryArchSuffix
|
|
devel:libssl$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:autoconf
|
|
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
|
|
|
|
PATCH()
|
|
{
|
|
# Hack for ripper build
|
|
sed -i \
|
|
-e "/#define YYLTYPE_IS_DECLARED 1/a #define YYEMPTY -2" \
|
|
-e "/#define YYLTYPE_IS_DECLARED 1/a #define YYUNDEF 257" \
|
|
-e "/#define YYLTYPE_IS_DECLARED 1/a #define YYerror 256" \
|
|
$sourceDir/ext/ripper/ripper.y
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
export CFLAGS="-D_BSD_SOURCE"
|
|
export LDFLAGS="-lssp"
|
|
|
|
autoconf
|
|
|
|
touch parse.c # Otherwise BASERUBY will be required, which results in circular dependency.
|
|
|
|
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
|
|
}
|