[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Update: opencm-0.1.2alpha5pl2



http://todd.fries.net/ports/opencm-0.1.2alpha5pl2.tgz

SHA1 (opencm-0.1.2alpha5pl2.tgz) = 076494521e605d4bb2bc18150522310fd9571cf4

(extracts to ./opencm/Makefile ./opencm/pkg etc ...)

I've updated opencm to the latest 'test release' available.  Until some
issues with boehm-gc get worked out, there are two flavors both with
major caveats, neither of which I recommend for production use.

Please let me know if this update 'looks ok', it 'works ok here', but I feel
I have jumped some hoops to get multi packages and flavors and pseudo flavors
to work in the same port, and expect that I could have made a mistake anywhere.


Caveat 1: boehm-gc

I would like to clearly state that boehm-gc is quite broken for current
elf OpenBSD platforms, and other platforms are not much better.  Anyone
with interest in resolving this should look at the code, and even see
if you can get 'make regress' in the 'boehm-gc' port to work.  This is
effecting not only opencm, but also gcj and w3m.  In general, after 0 seconds
of cpu time, the app aborts with 'Memory fault'.  This _is_ a call for
help in fixing boehm-gc.

Caveat 2: nogc flavor

First of all, the 'nogc' flavor enables a set of diffs I myself have
developed.  It is not code from the opencm folks.  However, it removes
the dependency of opencm on the garbage collector.  This is good.  On
the other hand, since opencm almost never calls free() and relies entirely
on the garbage collector, there are few places I could clearly add calls
to free().  I'm told by art that the exceptions framework needs ripped
out in order to properly do free()'ing, which would be an even more
invasive set of diffs.  It is very true I do not get 'Memory fault' errors
when running this flavor, and it does work just fine, but expect it
to eat memory for breakfast.  You have been warned.

In addition to the above caveats, I've made a few changes, which I would
like to bring to people's attention:

To set an example for other ports, I've 'built everything' by default
and have 'no*' for disabling things.  This means that the '-docs'
multi-package which depends on teTeX, is built by default.  This particular
mechanism of building everything by default and using multi packages
where a program _can_ build everything by default instead of multiple
flavors is the general concensus.  (Aka ports without mutually exclusive
flavors).  This concept has several advantages:

	1) everything gets built each build cycle, hence
	2) breakage is easier to spot than with flavors
	3) it takes less time on ports build machines (minor, but noteworthy)

There is a 'no_docs' pseudo flavor that disables the -docs multi-package
from being built, and consequently the dependency on teTeX.

There is a new 'nogc' flavor.  See caveat 2 above.

Thanks,
-- 
Todd Fries .. todd@fries.net


Free Daemon Consulting, LLC                    Land: 405-748-4596
http://FreeDaemonConsulting.com              Mobile: 405-203-6124
"..in support of free software solutions."

Key fingerprint: 37E7 D3EB 74D0 8D66 A68D  B866 0326 204E 3F42 004A
            Key: http://todd.fries.net/pgp.txt

(last updated 2003/03/13 07:14:10)