0
0
Fork 0
haikuports/net-misc/muscle/muscle-6.70.recipe

89 lines
2.6 KiB
Bash

SUMMARY="Robust, somewhat scalable, cross-platform client-server solution"
DESCRIPTION="The MUSCLE system is a robust, somewhat scalable, cross-platform \
client-server solution for dynamic distributed applications for Haiku and \
other operating systems.
It allows (n) client programs (each of which may be running on a \
separate computer and/or under a different OS) to communicate with each other \
in a many-to-many message-passing style. It employs a central server to which \
client programs may connect or disconnect at any time (this design is similar \
to other client-server systems such as Quake servers, IRC servers, and Napster \
servers, but more general in application).
In addition to the client-server \
system, MUSCLE contains classes to support peer-to-peer message streaming \
connections, as well as some handy miscellaneous utility classes."
HOMEPAGE="https://public.msli.com/lcs/muscle/"
COPYRIGHT="2000-2009 Meyer Sound Laboratories Inc.
2000-2017 Jeremy Friesner"
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://public.msli.com/lcs/muscle/muscle$portVersion.zip"
CHECKSUM_SHA256="125f65ad90a8352f46135697365eca87c8ac0a636c1e4e737e19835a609b586b"
SOURCE_DIR="muscle"
PATCHES="muscle-$portVersion.patchset"
#TODO:enable multithreading for the devel package!
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
muscle$secondaryArchSuffix = $portVersion
cmd:muscled$secondaryArchSuffix = $portVersion
cmd:muscled_admin$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
muscle${secondaryArchSuffix}_devel = $portVersion
devel:muscle$secondaryArchSuffix = $portVersion
devel:libmuscle$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
muscle$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
"
BUILD()
{
if [ $effectiveTargetArchitecture == x86_64 ]; then
CXXFLAGS="-DMUSCLE_64_BIT_PLATFORM"
fi
export CXXFLAGS="-D_BSD_SOURCE $CXXFLAGS"
cd server
make $jobArgs all libmuscle.a
}
INSTALL()
{
mkdir -p $binDir
cd server
cp muscled $binDir
cp admin $binDir/muscled-admin
mkdir -p $developLibDir
mkdir -p $includeDir/muscle
cp libmuscle.a $developLibDir
cd ..
#XXX: do we really need all of those?
for d in message besupport dataio iogateway reflector regex \
util support syslog system zlib zlib/zlib; do
mkdir -p $includeDir/muscle/$d
cp $d/*.h $includeDir/muscle/$d
done
packageEntries devel \
$developDir
}