From 2bd0d15c2ac801e491553deb32ee284a0e1ea97e Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Mon, 27 Jul 2015 10:12:25 +0200 Subject: Add makefile to help porting to pharo --- Makefile | 64 ++++++++++++++++++++++++++++++++++++++ pharo-porting/changes_for_pharo.st | 29 +++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 Makefile create mode 100644 pharo-porting/changes_for_pharo.st diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9a0b56f --- /dev/null +++ b/Makefile @@ -0,0 +1,64 @@ + +GST_PACKAGE = gst-package +GST_CONVERT = gst-convert + +CONVERT_RULES = -r'Osmo.LogManager->LogManager' \ + -r'Osmo.LogArea->LogArea' \ + -r'Osmo.LogLevel->LogLevel' \ + -r'Osmo.TimerScheduler->TimerScheduler' \ + -r'Osmo.OsmoUDPSocket->OsmoUDPSocket' \ + -r'Sockets.StreamSocket->SocketStream' \ + -r'Osmo.SIPParser->SIPParser' \ + -r'DateTime->DateAndTime' \ + -r'Character nl->Character lf' \ + -r'(Duration milliseconds: ``@args1) -> (Duration milliSeconds: ``@args1)' \ + -r'PP.PPParser->PPParser' \ + -r'PP.PPCompositeParser->PPCompositeParser' \ + -r'PP.PPCompositeParserTest->PPCompositeParserTest' \ + -r'PP.PPPredicateObjectParser->PPPredicateObjectParser' \ + -r'PP.PPCharSetPredicate->PPCharSetPredicate' \ + -r'Osmo.MessageBuffer->MessageBuffer' \ + -r'SystemExceptions.NotFound->NotFound' \ + -r'(``@object substrings: ``@args1)->(``@object subStrings: ``@args1)' \ + -r'(Dictionary from: ``@args1)->(Dictionary newFrom: ``@args1)' \ + -r'(``@object copyFrom: ``@args1)->(``@object copyFrom: ``@args1 to: ``@object size)' \ + -r'Sockets.SocketAddress->GSTSocketAddress' \ + -r'((Osmo at: \#SIPParser) combineUri: ``@args1)->(SIPParser combineUri: ``@args1)' \ + -r'``@object nl->``@object lf' \ + -r'RecursionLock->Mutex' \ + -r'SystemExceptions.EndOfStream->Exception' \ + -r'Sockets.Datagram->OsmoUDPDatagram' \ + -r'Sockets.DatagramSocket new->Socket newUDP' \ + -r'(``@obj startsWith: ``@arg2 )->(``@obj beginsWith: ``@arg2)' \ + +# Can not be parsed right now.. +# -r'(``@object => ``@args1)->(``@object ==> ``@args1)' + +GRAMMAR = \ + grammar/MGCPGrammar.st \ + grammar/MGCPGrammarTest.st + +CALLAGENT = \ + callagent/MGCPCallAgent.st \ + callagent/MGCPCommands.st \ + callagent/MGCPEndpoint.st \ + callagent/MGCPLogArea.st \ + callagent/MGCPParser.st \ + callagent/MGCPResponse.st \ + callagent/MGCPTransaction.st \ + callagent/MGCPTrunk.st \ + callagent/Tests.st \ + +#PHARO_COMPAT = pharo-porting/compat_for_pharo.st +PHARO_CHANGES = pharo-porting/changes_for_pharo.st + + +all: + $(GST_PACKAGE) --test package.xml + +convert: + $(GST_CONVERT) $(CONVERT_RULES) -F squeak -f gst \ + -o fileout.st $(PHARO_COMPAT) \ + $(GRAMMAR) $(CALLAGENT) \ + $(PHARO_CHANGES) + sed -i s,"=>","==>",g fileout.st diff --git a/pharo-porting/changes_for_pharo.st b/pharo-porting/changes_for_pharo.st new file mode 100644 index 0000000..e469d85 --- /dev/null +++ b/pharo-porting/changes_for_pharo.st @@ -0,0 +1,29 @@ +MGCPDSTrunk extend [ + endpointName: aNr [ + ^'ds/e1-<1p>/<2p>@mgw' + expandMacrosWithArguments: {trunk. aNr} + ] +] + +MGCPVirtualTrunk extend [ + endpointName: aNr [ + ^'<1s>@mgw' expandMacrosWith: (aNr radix: 16) asLowercase. + ] +] + +MGCPGrammar extend [ + MGCPCommand [ + ^self MGCPCommandLine , MGCPParameter star , SDPRecord optional + ] +] + +MGCPCallAgent extend [ + generateTransactionId [ + 1 to: 100 do: [:each | + | ran | + ran := (OsmoSecureRandom rand: 4) asInteger bitAnd: 536870911. + (self transactionIdIsUsed: ran) ifFalse: [ + ^ran]]. + ^self error: 'No free transaction ID.' + ] +] -- cgit v1.2.3