* Stop looking for xdr if --disable-dap is used.
* Don't try to run (some) fortran configure tests on machines with no fortran.
* Allow nccopy to rechunk with chunksizes larger than current dimension lengths.
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.
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).
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
Patched version of 3.6.0 to fix potentially serious
bug described at
http://www.unidata.ucar.edu/packages/netcdf/docs/known_problems.html#cdf2-bug
Changes 3.6.0:
Added texinfo source for the documentation.
Added large file tests to Windows directory in distribution.
Modified win32 visual studio project files so that m4
is no longer required to build netcdf under visual studio.
Modified rules.make to use install instead of cp,
fixing install problem for cygwin users.
Modified configure/install stuff to support HP-UX.
Modified configure/install stuff to support G95.
In the f90 interface, applied Arnaud Desitter's fixes
to correct mismatches between scalar and array
arguments, eliminating (legitimate) complaints by the
NAGWare f95 compiler. Also fixed bugs introduced in
3.6.0-beta5 in the mapped array interfaces.
framework. The list of changes include:
* Modify compiler.mk so that "c" is always prepended to USE_LANGUAGES,
so we no longer need to say it in package Makefiles. Packages
should now append to USE_LANGUAGES instead of setting it.
* Create mk/compiler/f2c.mk which implements another pseudo-compiler
"f2c" that may be used with any C compiler backend, e.g.
PKGSRC_COMPILER= f2c ccache gcc
* Teach the various "real" compiler files, e.g., sunpro.mk, mipspro.mk,
etc., to use f2c if the native Fortran compiler isn't present.
Packages that use Fortran should now simply include the line:
USE_LANGUAGES+= fortran
in the package Makefile.
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.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
libstdc++ in gcc3.
when defined, USE_GCC_SHLIB ensures that the correct rpath is passed
to the linker, and a full dependency on the compiler package is
registered.
packages which define USE_GCC_SHLIB should not include
mk/gcc.buildlink2.mk (or gcc{,3}/buildlink2.mk) as it is handled
automatically.
Some relevant changes:
Fixed miswriting of netCDF header when exiting define
mode. Because the header was always written correctly
later, this was only a problem if there was another
reader of the netCDF file.
Fixed explicit synchronizing between netCDF writer and
readers via the nc_sync(), nf_sync(), and ncsync()
functions.
Fixed a number of bugs related to attempts to support
shrinking the header in netCDF files when attributes
are rewritten or deleted. Also fixed the problem that
nc__endef() did not work as intended in reserving
extra space in the file header, since the extra space
would be compacted again on calling nc_close().
Fixed the "redef bug" that occurred when nc_enddef()
or nf_enddef() is called after nc_redef() or
nf_redef(), the file is growing such that the new
beginning of a record variable is in the next "chunk",
and the size of at least one record variable exceeds
the chunk size (see netcdf.3 man page for a
description of this tuning parameter and how to set
it). This bug resulted in corruption of some values
in other variables than the one being added.
The "__" tuning functions for the Fortran interface,
nf__create, nf__open, and nf__enddef, are now
documented in the Fortran interface man pages.
Changed the extension of C++ files from ".cc" to ".cpp".
Renamed the C++ interface header file "netcdfcpp.h"
instead of "netcdf.hh", changing "netcdf.hh" to
include "netcdfcpp.h" for backward compatibility.
Fixed bug in ncdump using same CDL header name when
called with multiple files.
Added new NULL data type NC_NAT (Not A Type) to
facilitate checking whether a variable object has had
its type defined yet, for example when working with
packed values.
Fixed use of compile-time macro NO_NETCDF_2 so it
really doesn't include old netCDF-2 interfaces, as
intended.
Fixed C++ friend declarations to conform to C++ standard.
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.
Add a new USE_LIBTOOL definition that uses the libtool package instead of
pkglibtool which is now considered outdated.
USE_PKGLIBTOOL is available for backwards compatibility with old packages
but is deprecated for new packages.