1SUMMARY="Robust, somewhat scalable, cross-platform client-server solution" 2DESCRIPTION=" 3The MUSCLE system is a robust, somewhat scalable, cross-platform client-server \ 4solution for dynamic distributed applications for Haiku and other operating \ 5systems. 6It allows (n) client programs (each of which may be running on a \ 7separate computer and/or under a different OS) to communicate with each other \ 8in a many-to-many message-passing style. It employs a central server to which \ 9client programs may connect or disconnect at any time (this design is similar \ 10to other client-server systems such as Quake servers, IRC servers, and Napster \ 11servers, but more general in application). 12In addition to the client-server \ 13system, MUSCLE contains classes to support peer-to-peer message streaming \ 14connections, as well as some handy miscellaneous utility classes. 15" 16HOMEPAGE="https://public.msli.com/lcs/muscle/index.html" 17COPYRIGHT="2000-2009 Meyer Sound Laboratories Inc." 18LICENSE="BSD (3-clause)" 19REVISION="3" 20SOURCE_URI="https://public.msli.com/lcs/muscle/muscle6.00.zip" 21CHECKSUM_SHA256="b12abe12b5cc4aa93126f86ae07a4bcd02ee8d89d692789435debd5becc53437" 22SOURCE_DIR="muscle" 23PATCHES="muscle-6.00.patchset" 24 25#TODO:enable multithreading for the devel package! 26 27ARCHITECTURES="all !x86_gcc2" 28SECONDARY_ARCHITECTURES="x86" 29 30PROVIDES=" 31 muscle$secondaryArchSuffix = $portVersion 32 cmd:muscled$secondaryArchSuffix = $portVersion 33 cmd:muscled_admin$secondaryArchSuffix = $portVersion 34 " 35REQUIRES=" 36 haiku$secondaryArchSuffix 37 " 38 39PROVIDES_devel=" 40 muscle${secondaryArchSuffix}_devel = $portVersion 41 devel:libmuscle$secondaryArchSuffix = $portVersion 42 devel:muscle$secondaryArchSuffix = $portVersion 43 " 44REQUIRES_devel=" 45 muscle$secondaryArchSuffix == $portVersion base 46 " 47 48BUILD_REQUIRES=" 49 haiku${secondaryArchSuffix}_devel 50 devel:libz$secondaryArchSuffix 51 " 52BUILD_PREREQUIRES=" 53 cmd:gcc$secondaryArchSuffix 54 cmd:ld$secondaryArchSuffix 55 cmd:make 56 " 57 58BUILD() 59{ 60 if [ $effectiveTargetArchitecture == x86_64 ]; then 61 CXXFLAGS="-DMUSCLE_64_BIT_PLATFORM" 62 fi 63 export CXXFLAGS="-D_BSD_SOURCE $CXXFLAGS" 64 cd server 65 make $jobArgs all libmuscle.a 66} 67 68INSTALL() 69{ 70 mkdir -p $binDir 71 72 cd server 73 cp muscled $binDir 74 cp admin $binDir/muscled-admin 75 76 mkdir -p $developLibDir 77 mkdir -p $includeDir/muscle 78 79 cp libmuscle.a $developLibDir 80 cd .. 81 #XXX: do we really need all of those? 82 for d in message besupport dataio iogateway reflector regex \ 83 util support syslog system zlib zlib/zlib; do 84 mkdir -p $includeDir/muscle/$d 85 cp $d/*.h $includeDir/muscle/$d 86 done 87 packageEntries devel \ 88 $developDir 89} 90