The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
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.
mplayer project, and the next release after 0.1.10 (the one we're coming
from) was 4.1.1.
libdvdnav (4.1.3)
* an embarassing amount of fixes regarding potential memory and resource leaks
(patches contributed by Erik Hovland)
* added dvdread-config (dvdnav-config's younger brother)
* added pkg-config support
* split dvdread to a separate tree; now you need to check it out
and install it before building libdvdnav.
In order to configure libdvdnav We need the executable dvdread-config
somewhere in the PATH or explicitly specified to configure[2] with
--with-dvdread-config=~/bin/dvdread-config
libdvdnav (4.1.2)
* multiple build system fixes
* added dvdnav_describe_title_chapters(title) to get title and chapters
duration
libdvdnav (4.1.1)
* added dvdnav_audio_stream_channels() to return number of channels
* fixed dvdnav_time_search() in multi-angle dvds (but it still needs
improvements)
* added dvdnav_audio_stream_format() to identify the codec used
in audio streams
* starting DVD playback at specific title/part positions with
dvdnav_{title,part}_play() works again
* removed wrong SPU stream change event filter
(fixes unwanted subtitles in the trailer of "Girl, interrupted", RC2)
* fixed error "Expected NAV packet but none found." occuring sometimes
on resume from menu
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).
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.
libdvdnav is a library that allows easy use of sophisticated DVD navigation
features such as DVD menus, multiangle playback and even interactive DVD
games. All this functionality is provided through a simple API which
provides the DVD playback as a single logical stream of blocks, intermitted
by special dvdnav events to report certain conditions. The main usage of
libdvdnav is a loop regularly calling a function to get the next block,
surrounded by additional calls to tell the library of user interaction.
The whole DVD virtual machine and internal playback states are completely
encapsulated.