(Resending since my mailer appeared to eat the original)
On 2014-10-23 3:45 PM, Ted Bullock wrote:
https://github.com/tbullock/freeswitch-openbsd
Some further status:
Notably mod_sofia builds and loads as well as a good shwack of
additional freeswitch modules. Many of them just compile when presented
with a makefile instructing them to do so. Since libsofia is drastically
patched from the out of date official upstream version, I've extracted
all the relevant .c files and just made them a staticly linked part of
mod_sofia.
You could probably use it to make a phone call now.
I'm currently making my way through the application modules turning them
on one at a time. I'm not great at estimating how long things take to
get going when it comes to software projects (especially since I get
distracted at the drop of a hat), but it really doesn't look like a lot
of additional work to get from where I am currently to an actual
installable port of freeswitch that could be acceptable.
Excising the upstream build system and just using a handful of makefiles
is excellent for build times. Currently the port compiles in less than 3
minutes on my i386 vm running on a first gen intel i5 laptop. This is
compared to between 30-40 minutes when using the ridiculous upstream
build script in a comparable linux vm.
I'm going to continue to plink away at the port, I'd appreciate some
feedback from anyone who cares.
Some errata:
- I am mostly following the upstream version 1.2 stable branch; 1.4 does
some things I consider stupid and don't care about (websockets?)
- The upstream hashing function uses internal sqlite API calls which I
think is dumb; I tried to use the APR hashing api (which at least is
public api) but I've done something bad and its segfaulting when exiting
the daemon, so I should probably fix that.
- For the modules, I'm currently building static module binaries as well
as the shared equivalents, really I only want to build the shared
libraries, but I'm currently not competent enough with the base openbsd
makefiles to know if there is already a mechanism to tell it to just
build the shared libraries (regarding bsd.lib.mk).