following the recent change to pledge(2) (passing NULL doesn't change
the value).
- Use maybeWith instead of pattern matching to distinguish between
Nothing and Just x.
- Add some minimal documentation.
only one function giving access to the pledge(2) system call:
pledge :: String -> Maybe [FilePath] -> IO ()
Help and testing by semarie@ and abieber@. Thanks!
No bump yet, because there'll be some more churn (so please wait a
little bit for other haskell commits before starting to build it).
It appears that strip --strip-unneeded sometimes strips too much.
For example, if you take libHStf-random-0.5-926BwEbiHzi7pBkp4dTxOe.a
from the hs-tf-random package on i386 and run strip --strip-unneeded
on it, the T Threefish_256_Process_Block symbol (from threefish_block.o)
is stripped, which shouldn't happen. Note: this specific case applies
to i386, not to amd64. But...
doug@ reported a similar problem for the haskell library texmath,
which we don't yet have in the ports tree, and he made some even
more weird observation: texmath contains the two C source files
cbits/{key,val}ToASCII.c, defining the symbols keylookup (in
keyToAscii.c) and toASCIILut (in valToASCII.c), where both are just
some lookup tables. With strip --strip-unneeded enabled, the resulting
libHStexmath-*.a archive is missing keylookup. doug@ then concatenated
both .c files to a new one and changed the .cabal file of texmath
to use that single one instead, and suddenly the symbol keylookup
no longer was removed.
I'll try to make a port for texmath (which would be required anyway
for porting pandoc) so people who want help to debug this don't
have to build all the haskell goo themselves.
In theory, those should never fail, but espie@ frequently noticed failure
of register.sh (with a broken / incomplete ghc package db resulting in
hs libraries like Prelude or Distribution/Simple not found).
No bump yet, because it only adds spam during pkg_add.
Also, use a new(er) bootstrapper; note that we have to use 7.8.3
for this, because if the built ghc and the bootstrapper have identical
versions, things will fail badly. May be it's not the ghc but the
cabal version which is problematic, but at the moment, I really
don'y call about *this* problem.
Still marked as broken. I hope to send promised diffs and new ports
for discussion tomorrow and then enable ghc and haskell-platform
on monday.
stop other people wasting time on updates which should not be done.
ian@ ran into this (while working on devel/hs-aeson and
textproc/hs-attoparsec), and even I didn't notice before trying to
build all Haskell ports (including meta/haskell-platform) with his
diffs.
So let's switch to compiling Setup scripts once more, to give at least
a few more hs packages to be built on i386, until I figure out a fix
for rts/Linker.c.
Unfortunately, the current breakage also affects template haskell,
which still leads to a lot of unbuildable ports, for example
devel/hs-vector.
old-time and time. After comparing all the .hi files before and
after (using ghc --show-iface) I guess this changes had been triggered
by the suseconds_t change some weeks ago (my previous ghc build was
from october 23rd, so just a little bit before that change).
People following -current and using Haskell for serious work should
wait with updates until the new ghc and hs-packages are built and
copied out to the mirrors. Any Haskell additional libraries built
manually (i.e. using cabal something) should be rebuilt. If in
doubt, run ghc-pkg check to see if anything is broken for you.
the 64 bit time_t switch.
If anyone wants to beat me, grab ~kili/ghc-bootstrap.sh from cvs
(or http://openbsd.dead-parrot.de/ghc-bootstrap.sh), *read and try
to understand it*, downgrade the lang/ghc port to the last 7.4.
version (for example, cvs -q up -dP -D 2013-07-09) and then run
ghc-boostrap.sh (but be aware that you'll need a lot of time, disk
space, memory, and alcohol).
This may work or not (it worked for 5.3-current back in may). If
it doesn't work, either wait or go using some real programming
language.