This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
Changes in 6.8.3:
* The arguments to ghc-pkg now understand lists and wildcards, and
there is a new command ghc-pkg find-module.
* The filename completion in ghci is now more intelligent.
* We now look for GHCi config files in these locations:
./.ghci
$HOME/.ghc/ghci.conf
$HOME/.ghci
* You can now give multiple -e options to GHC.
* You can now use the -prof and -threaded flags together, although
you cannot also use +RTS -N2.
* SCC names are no longer allowed to contain spaces, as some of the
profiling tools break if they do.
* Various changes have been made to GHC's internals, so there are some
differences in the API exposed by the ghc package. Most notably,
checkAndLoadModule has now been implemented.
The major changes in this release are adding Haskell Program Coverage (hpc)
support to the compiler, adding a debugger to GHCi, the first phase of the
base package split, and pointer tagging in the code generator (which should
mean most code improves by 10-15%, and as a result the compiler is also
faster).
Most of this upgrade was done by Paulo Matias in pkgsrc-wip.
Many, many bugs have been fixed relative to 6.6. Far too many to list here.
The other changes in this release are:
* GHC works on Windows Vista.
* GHC can now be used to compile C++ files.
* There is an --install-signal-handlers=<yes|no> RTS flag. The main use is
to stop GHC installing signal handlers when you are putting your code in
a DLL.
* Newtypes can now be defined using GADT syntax.
* Linear implicit parameters are no longer accepted.
* There is a manpage for ghc and ghci.
* The building guide has been moved to the wiki.
* GHC now comes with the filepath library.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
that "gmp" is registered as a direct dependency for any package that
includes ghc/buildlink3.mk to get ghc as a build dependency. This is
needed since software built by ghc requires routines from the "gmp"
shared library. This fixes PR pkg/33100.
Remove the workaround in devel/darcs and x11/wxhaskell.
"6.4.1 is a bugfix release over 6.4. No library APIs have changed, so code
that worked with 6.4 should continue to work with 6.4.1.
Many, many bugs have been fixed relative to 6.4. Far too many to list here."
Fixes PR pkg/31751.
around at either build-time or at run-time is:
USE_TOOLS+= perl # build-time
USE_TOOLS+= perl:run # run-time
Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.