CVSROOT:        /cvs
Module name:    ports
Changes by:     [email protected]    2015/09/27 14:07:47

Modified files:
        lang/ghc       : Makefile 
Added files:
        lang/ghc/patches: 
                          
patch-libraries_Cabal_Cabal_Distribution_Simple_Program_Strip_hs 

Log message:
Disable stripping of hs libraries in Cabal.

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.

Reply via email to